/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
.views-align-left{text-align:left;}.views-align-right{text-align:right;}.views-align-center{text-align:center;}.views-view-grid .views-col{float:left;}.views-view-grid .views-row{float:left;clear:both;width:100%;}.views-display-link + .views-display-link{margin-left:0.5em;}
.addtoany{display:inline;}.addtoany_list{display:inline;line-height:16px;}.addtoany_list > a,.addtoany_list a img,.addtoany_list a > span{vertical-align:middle;}.addtoany_list > a{border:0;display:inline-block;font-size:16px;padding:0 4px;}.addtoany_list.a2a_kit_size_32 > a{font-size:32px;}.addtoany_list .a2a_counter img{float:left;}.addtoany_list a span.a2a_img{display:inline-block;height:16px;opacity:1;overflow:hidden;width:16px;}.addtoany_list a span{display:inline-block;float:none;}.addtoany_list.a2a_kit_size_32 a > span{border-radius:4px;height:32px;line-height:32px;opacity:1;width:32px;}.addtoany_list a:hover:hover img,.addtoany_list a:hover span{opacity:.7;}.addtoany_list a.addtoany_share_save img{border:0;width:auto;height:auto;}.addtoany_list a .a2a_count{position:relative;}
:root{--bg-card:var(--bs-primary);--bg-raised:rgb(0,0,0,0.2);--bg-input:rgb(0,0,0,0.5);--border:rgb(var(--bs-secondary-rgb),0.5);--border-glow:var(--bs-info);--text:var(--bs-light);--text-muted:var(--bs-light);--text-dim:var(--bs-gray);--accent:var(--bs-cyan);--accent-glow:var(--bs-blue);--accent-alt:var(--bs-cyan);--green:var(--bs-green);--orange:var(--bs-orange);--red:var(--bs-red);--purple:var(--bs-purple);--pink:var(--bs-pink);--shadow:0 4px 24px #00000066;--radius:12px;--radius-sm:8px;--font-mono:var(--bs-font-monospace);--font-disp:var(--bs-font-sans-serif);--transition:0.22s cubic-bezier(.4,0,.2,1);}.card-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color var(--transition);}.card-panel:focus-within{border-color:var(--border-glow);}.section-label{font-family:var(--font-disp);font-size:0.65rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;display:flex;align-items:center;gap:8px;}.section-label::after{content:'';flex:1;height:1px;background:var(--border);}.converter-grid{display:flex;flex-direction:column;gap:12px;}.swap-col{display:flex;justify-content:center;}.swap-btn{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-muted);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;font-size:1.1rem;transition:all var(--transition);flex-shrink:0;}.swap-btn:hover{border-color:var(--accent);color:var(--accent);transform:rotate(180deg);}.base-select-wrap{display:flex;gap:6px;align-items:center;}.base-chip{font-family:var(--font-mono);font-size:0.7rem;font-weight:600;padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);cursor:pointer;transition:all var(--transition);user-select:none;}.base-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;}.base-chip:hover:not(.active){border-color:var(--accent);color:var(--accent);}input.num-input{font-family:var(--font-mono);font-size:1.6rem;font-weight:600;background:var(--bg-input);background-color:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:14px 16px;width:100%;transition:border-color var(--transition),box-shadow var(--transition);letter-spacing:0.04em;}input.num-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);}input.num-input.is-error{border-color:var(--red) !important;box-shadow:0 0 0 3px #ef444422 !important;}input.num-input.is-valid{border-color:var(--green);}.input-feedback{font-size:0.7rem;min-height:18px;transition:opacity 0.2s;padding-left:4px;}.input-feedback.error{color:var(--red);}.input-feedback.hint{color:var(--text-muted);}.input-group-custom{display:flex;flex-direction:column;gap:8px;}.result-box{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;font-family:var(--font-mono);font-size:1.6rem;font-weight:600;color:var(--accent);min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;letter-spacing:0.04em;word-break:break-all;}.result-box .result-val{flex:1;}.result-notation{font-size:0.7rem;color:var(--text-muted);font-weight:400;margin-left:4px;}.copy-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:5px 9px;font-size:0.75rem;cursor:pointer;transition:all var(--transition);white-space:nowrap;flex-shrink:0;}.copy-btn:hover{border-color:var(--accent);color:var(--accent);}.copy-btn.copied{border-color:var(--green);color:var(--green);}.direction-badge{display:inline-flex;align-items:center;gap:8px;font-size:0.72rem;color:var(--text-muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:20px;padding:4px 12px;margin:10px 0;}.direction-badge .db-arrow{color:var(--accent);}.examples-row{display:flex;flex-wrap:wrap;gap:6px;}.example-btn{font-family:var(--font-mono);font-size:0.7rem;background:var(--bg-raised);border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:4px 12px;cursor:pointer;transition:all var(--transition);}.example-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);}.all-bases-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}@media (max-width:640px){.all-bases-grid{grid-template-columns:repeat(2,1fr);}}.base-result-cell{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;transition:border-color var(--transition);}.base-result-cell.highlighted{border-color:var(--accent);}.brc-label{font-size:0.6rem;font-weight:700;letter-spacing:0.1em;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;}.brc-value{font-size:1rem;font-weight:600;color:var(--text);word-break:break-all;}.brc-value.accent{color:var(--accent);}.viz-container{position:relative;overflow:hidden;}.viz-placeholder{text-align:center;padding:40px 20px;color:var(--text-dim);font-size:0.8rem;}.viz-placeholder i{font-size:2.5rem;display:block;margin-bottom:12px;}.step-table-wrap{overflow-x:auto;margin:12px 0;border-radius:var(--radius-sm);}table.step-table{width:100%;border-collapse:collapse;font-size:0.8rem;--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:var(--border);--bs-table-striped-bg:transparent;--bs-table-hover-bg:transparent;}table.step-table th{border:none !important;background:var(--bg-raised);background-color:var(--bg-raised);color:var(--text-muted);font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:8px 12px;text-align:left;border-bottom:1px solid var(--border) !important;;}table.step-table td{border:none !important;padding:8px 12px;border-bottom:1px solid var(--border) !important;background-color:var(--bg-card);color:var(--text);transition:background 0.2s;}table.step-table tr.highlight-row td{background:var(--accent-glow) !important;}table.step-table tr{animation:rowFadeIn 0.3s ease forwards;opacity:0;}@keyframes rowFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}.cell-mono{font-family:var(--font-mono);}.cell-accent{color:var(--accent);font-weight:600;}.cell-green{color:var(--green);font-weight:600;}.cell-orange{color:var(--orange);font-weight:600;}.cell-purple{color:var(--purple);font-weight:600;}.cell-muted{color:var(--text-muted);}.positional-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;}.pos-cell{display:flex;flex-direction:column;align-items:center;gap:2px;animation:cellPop 0.3s ease forwards;opacity:0;}@keyframes cellPop{from{opacity:0;transform:scale(0.7);}to{opacity:1;transform:scale(1);}}.pos-digit{font-family:var(--font-mono);font-size:1.2rem;font-weight:700;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;width:42px;height:42px;display:grid;place-items:center;}.pos-digit.d-accent{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);}.pos-power{font-size:0.6rem;color:var(--text-muted);font-family:var(--font-mono);}.pos-value{font-size:0.65rem;color:var(--orange);font-family:var(--font-mono);}.formula-line{color:var(--text);font-family:var(--font-mono);font-size:0.82rem;line-height:1.8;padding:12px 14px;background:var(--bg-raised);border-radius:var(--radius-sm);border:1px solid var(--border);word-break:break-word;animation:fadeSlideUp 0.35s ease forwards;}@keyframes fadeSlideUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}.step-heading{font-family:var(--font-disp);font-size:0.75rem;font-weight:700;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase;margin:18px 0 8px;}.step-heading:first-child{margin-top:0;}.summary-box{display:flex;align-items:center;gap:12px;background:var(--accent-glow);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:12px 16px;margin-top:14px;font-family:var(--font-mono);font-size:0.85rem;animation:fadeSlideUp 0.4s ease forwards;}.summary-box i{color:var(--accent);font-size:1.2rem;}.summary-box .sum-text{color:var(--text);}.summary-box strong{color:var(--accent);}.history-list{display:flex;flex-direction:column;gap:6px;}.history-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);animation:fadeSlideUp 0.25s ease forwards;}.history-item:hover{border-color:var(--accent);background:var(--accent-glow);}.hi-from{color:var(--text);font-size:0.8rem;font-weight:600;}.hi-arrow{color:var(--text-dim);font-size:0.75rem;}.hi-to{font-size:0.8rem;color:var(--accent);font-weight:600;}.hi-bases{font-size:0.65rem;color:var(--text-muted);margin-left:auto;}.history-empty{color:var(--text-dim);font-size:0.75rem;text-align:center;padding:20px;}.base-badge{display:inline-block;font-size:0.6rem;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--bg-raised);border:1px solid var(--border);color:var(--text-muted);letter-spacing:0.06em;}.base-badge.b2{border-color:var(--green);color:var(--text);background:rgb(var(--bs-success-rgb),0.5);}.base-badge.b8{border-color:var(--orange);color:var(--text);background:rgb(var(--bs-warning-rgb),0.5);}.base-badge.b10{border-color:var(--accent);color:var(--text);background:rgb(var(--bs-info-rgb),0.5);}.base-badge.b16{border-color:var(--red);color:var(--text);background:rgb(var(--bs-danger-rgb),0.5);}.autodetect-banner{font-size:0.68rem;color:var(--accent-alt);display:none;align-items:center;gap:6px;margin-top:4px;}.autodetect-banner.show{display:flex;}::-webkit-scrollbar{width:6px;height:6px;}::-webkit-scrollbar-track{background:var(--orange);}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}::-webkit-scrollbar-thumb:hover{background:var(--text-dim);}.text-accent{color:var(--accent) !important;}.text-green{color:var(--green) !important;}.text-orange{color:var(--orange) !important;}.text-purple{color:var(--purple) !important;}.text-muted-c{color:var(--text-muted) !important;}.fw-600{font-weight:600;}.font-mono{font-family:var(--font-mono);}.gap-subtle{gap:4px;}.card-panel{animation:panelIn 0.4s ease both;}@keyframes panelIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}.skip-link{position:absolute;top:-100%;left:8px;background:var(--accent);color:#000;padding:8px 16px;border-radius:0 0 var(--radius-sm) var(--radius-sm);font-size:0.875rem;font-weight:700;z-index:9999;text-decoration:none;}.skip-link:focus{top:0;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px;}input.num-input:focus-visible{outline:none;}button.history-item{font-family:var(--font-mono);font-size:inherit;width:100%;text-align:left;}input.num-input.is-error{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ef4444' viewBox='0 0 16 16'%3E%3Cpath d='M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5m.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:44px;}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}
