*{margin:0;padding:0}html,body,#root{height:100%}:root{--ink:#1b1d24;--chassis:#262a33;--chassis-edge:#31374a;--screen-bg:#d7decf;--screen-line:#bfc7af;--screen-ink:#242f1e;--amber:#e8a33d;--teal:#4fa98c;--key-face:#3a3f4c;--key-face-hi:#454b5b;--key-op:#4a5063;--key-mod:#2f333f;--steel:#9aa2b4}*{box-sizing:border-box}body{background:var(--ink);color:#edeae0;justify-content:center;align-items:center;height:100dvh;margin:0;font-family:JetBrains Mono,Courier New,monospace;display:flex;overflow:hidden}.wrap{flex-direction:column;width:50vw;height:96dvh;padding:1dvh 1vw;display:flex}.brand{flex-shrink:0;justify-content:space-between;align-items:baseline;margin-bottom:1dvh;padding:0 .5vw;display:flex}.brand h1{margin:0;font-family:Georgia,serif;font-size:2.5vw;font-weight:700}.brand span{color:var(--steel);letter-spacing:1.2px;text-transform:uppercase;font-size:1vw}.device{background:var(--chassis);border:1px solid var(--chassis-edge);border-radius:20px;flex-direction:column;flex:1;min-height:0;padding:2dvh 1.5vw;display:flex;position:relative;box-shadow:0 24px 60px -24px #000c}.screen-wrap{flex-shrink:0;position:relative}.screen{background:var(--screen-bg);border-radius:6px;flex-direction:column;height:26dvh;padding:1dvh 1vw;display:flex}.screen-status{letter-spacing:.5px;color:var(--screen-ink);opacity:.65;flex-shrink:0;gap:1vw;margin-bottom:.5dvh;font-size:1.2dvh;display:flex}.screen-status .on{opacity:1;font-weight:700}.screen-status .dot{opacity:.35}.mathfield{--contains-highlight-background-color:transparent;background:0 0;border:none;flex:1;width:100%;min-height:0;font-family:JetBrains Mono,Courier New,monospace;font-size:2.8dvh;overflow:hidden}.display-row{flex-shrink:0;align-items:center;gap:.5vw;margin-top:.5dvh;display:flex}.display-toggles{flex-direction:column;flex-shrink:0;gap:.3dvh;display:flex}.disp-toggle{border:1px solid var(--screen-ink);color:var(--screen-ink);cursor:pointer;opacity:.5;background:0 0;border-radius:3px;padding:.1dvh .4vw;font-family:inherit;font-size:1dvh}.disp-toggle:hover{opacity:.85}.disp-toggle.active{opacity:1;border-color:var(--teal);color:var(--teal)}.complex-toggle{border:1px solid var(--screen-ink);color:var(--screen-ink);cursor:pointer;opacity:.6;background:0 0;border-radius:3px;flex-shrink:0;padding:.1dvh .4vw;font-family:inherit;font-size:1dvh}.complex-toggle:hover{opacity:1}.display-line{color:var(--screen-ink);text-align:right;white-space:pre;text-overflow:ellipsis;flex:1;min-height:4dvh;font-size:3dvh;font-weight:500;line-height:1.4;overflow:hidden}.display-line.has-error{color:#a32d2d;white-space:nowrap;font-size:1.6dvh}.display-line.is-matrix{text-align:right;font-size:1.5dvh}.display-line.is-confirm{font-size:1.8dvh}.confirm-hint{color:var(--steel);margin-top:.3dvh;font-size:1.1dvh}.history-wrap{flex-shrink:0;margin:.4dvh 0}.history-header{justify-content:space-between;align-items:center;margin-bottom:.2dvh;padding:0 .3vw;display:flex}.history-label{color:var(--steel);letter-spacing:1px;text-transform:uppercase;font-size:.9dvh}.history-clear{border:1px solid var(--steel);color:var(--steel);cursor:pointer;letter-spacing:.5px;background:0 0;border-radius:3px;padding:.15dvh .5vw;font-family:inherit;font-size:.9dvh}.history-clear:hover{border-color:var(--amber);color:var(--amber)}.history-strip{flex-direction:column;gap:.1dvh;max-height:7dvh;display:flex;overflow-y:auto}.history-entry{cursor:pointer;color:var(--steel);border-radius:3px;justify-content:space-between;align-items:baseline;gap:1vw;padding:.2dvh .5vw;font-size:1.1dvh;display:flex}.history-entry:hover{background:#ffffff0a}.he-idx{color:var(--screen-line);flex-shrink:0;min-width:2.5vw;font-size:.9dvh}.he-expr{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.he-result{color:var(--amber);flex-shrink:0;font-weight:500}.keys{flex-direction:column;flex:1;gap:.6dvh;min-height:0;margin-top:1.2dvh;display:flex}.krow{flex:1;grid-template-columns:repeat(5,1fr);gap:.5vw;min-height:0;display:grid}.krow:first-child{grid-template-columns:repeat(5,1fr)}.krow:last-child{grid-template-columns:repeat(6,1fr)}button.key{background:var(--key-face);color:#f2f0e8;cursor:pointer;border:1px solid #454b5c;border-radius:8px;height:100%;padding:0;font-family:inherit;font-size:1.8dvh;position:relative;overflow:hidden}button.key:hover{background:var(--key-face-hi)}button.key:active{transform:scale(.96)}button.key.mod{background:var(--key-mod);font-size:1.4dvh}button.key.wide{grid-column:span 2}button.key.active-shift{outline:1.5px solid var(--amber)}button.key.active-alpha{outline:1.5px solid var(--teal)}.leg{pointer-events:none;justify-content:space-between;font-size:.9dvh;line-height:1;display:flex;position:absolute;top:1px;left:.3vw;right:.3vw}.leg .sh{color:var(--amber)}.leg .al{color:var(--teal)}.overlay{z-index:5;background:#14161cf5;border-radius:20px;padding:1.5dvh 1.5vw;position:absolute;inset:0;overflow-y:auto}.ov-head{justify-content:space-between;align-items:center;margin-bottom:1dvh;display:flex}.ov-head h3{letter-spacing:1px;text-transform:uppercase;color:var(--amber);margin:0;font-size:1.3dvh;font-weight:700}.ov-close{color:#edeae0;cursor:pointer;background:0 0;border:1px solid #454b5c;border-radius:4px;padding:.3dvh .8vw;font-size:1.2dvh}.ov-tabs{flex-wrap:wrap;gap:.5vw;margin-bottom:1dvh;display:flex}.ov-tabs button{background:var(--key-mod);color:var(--steel);cursor:pointer;border:1px solid #3a3f4e;border-radius:4px;padding:.4dvh .6vw;font-family:inherit;font-size:1.1dvh}.ov-tabs button.active{background:var(--teal);color:#0c231c;border-color:var(--teal);font-weight:700}.ov-list{flex-direction:column;gap:.5dvh;display:flex}.ov-item{cursor:pointer;background:#20232b;border:1px solid #33384a;border-radius:5px;justify-content:space-between;gap:1vw;padding:.6dvh .8vw;font-size:1.3dvh;display:flex}.ov-item:hover{border-color:var(--teal)}.ov-item .sym{color:var(--amber);min-width:3vw;font-weight:700}.ov-item .val{color:var(--steel);margin-left:auto;font-size:1.1dvh}.ov-row{align-items:center;gap:.5vw;margin-bottom:1dvh;display:flex}.ov-row select,.ov-row input{color:#edeae0;background:#20232b;border:1px solid #3a3f4e;border-radius:4px;flex:1;min-width:0;padding:.5dvh .5vw;font-family:inherit;font-size:1.3dvh}.ov-result{color:var(--amber);text-align:right;margin:.8dvh 0;font-size:2dvh;font-weight:700}.ov-note{color:var(--steel);margin-top:.5dvh;font-size:1.1dvh;line-height:1.5}table.iter{border-collapse:collapse;width:100%;margin-top:.8dvh;font-size:1.2dvh}table.iter th,table.iter td{text-align:right;border-bottom:1px solid #33384a;padding:.3dvh .5vw}table.iter th:first-child,table.iter td:first-child{text-align:left;color:var(--steel)}.mode-list{flex-direction:column;gap:.6dvh;display:flex}.mode-item{cursor:pointer;color:#edeae0;text-align:left;background:#20232b;border:1px solid #33384a;border-radius:5px;align-items:center;gap:1vw;padding:.8dvh 1vw;font-family:inherit;display:flex}.mode-item:hover:not(:disabled){border-color:var(--teal)}.mode-item-disabled{opacity:.4;cursor:default}.mode-item-danger:hover:not(:disabled){border-color:#c0392b}.mode-item-danger .mode-label{color:#e74c3c}.mode-num{color:var(--amber);min-width:1.5vw;font-size:1.6dvh;font-weight:700}.mode-label{min-width:8vw;font-size:1.3dvh;font-weight:700}.mode-desc{color:var(--steel);font-size:1.1dvh}.mat-slots{gap:.5vw;margin-bottom:1dvh;display:flex}.mat-slot-btn{background:var(--key-mod);color:var(--steel);cursor:pointer;border:1px solid #3a3f4e;border-radius:4px;flex-direction:column;flex:1;align-items:center;gap:.1dvh;padding:.4dvh 0;font-family:inherit;font-size:1.3dvh;display:flex}.mat-slot-btn.active{background:var(--teal);color:#0c231c;border-color:var(--teal);font-weight:700}.mat-slot-btn.has-data{border-color:var(--amber)}.mat-slot-btn.active.has-data{background:var(--teal);border-color:var(--teal)}.mat-slot-dim{opacity:.7;font-size:.8dvh}.mat-size-row{align-items:center;gap:.5vw;margin-bottom:.8dvh;font-size:1.2dvh;display:flex}.mat-size-label{color:var(--amber);min-width:1vw;font-weight:700}.mat-size-x{color:var(--steel)}.mat-size-row select{color:#edeae0;background:#20232b;border:1px solid #3a3f4e;border-radius:4px;padding:.2dvh .3vw;font-family:inherit;font-size:1.2dvh}.mat-btn-sm{margin-left:auto;padding:.2dvh .5vw;font-size:1dvh}.mat-grid{gap:.4vw;margin-bottom:.8dvh;display:grid}.mat-cell{color:#edeae0;text-align:center;background:#20232b;border:1px solid #3a3f4e;border-radius:4px;width:100%;min-width:0;padding:.3dvh .3vw;font-family:inherit;font-size:1.3dvh}.mat-cell:focus{border-color:var(--teal);outline:none}.mat-store-btn{background:var(--teal);color:#0c231c;cursor:pointer;border:none;border-radius:4px;width:100%;margin-bottom:.8dvh;padding:.6dvh 0;font-family:inherit;font-size:1.3dvh;font-weight:700}.mat-store-btn:hover{opacity:.9}.mat-hint{color:var(--steel);margin-bottom:1dvh;font-size:1.1dvh;line-height:1.6}.mat-hint-label{color:var(--amber);font-weight:700}.mat-stored-list{border-top:1px solid #33384a;flex-direction:column;gap:.4dvh;padding-top:.8dvh;display:flex}.mat-stored-item{justify-content:space-between;align-items:baseline;gap:1vw;font-size:1.1dvh;display:flex}.mat-stored-name{color:var(--amber);flex-shrink:0;font-weight:700}.mat-stored-preview{color:var(--steel);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eq-degree-row{flex-wrap:wrap;align-items:center;gap:.5vw;margin-bottom:1dvh;display:flex}.eq-label{color:var(--amber);min-width:3vw;font-size:1.2dvh;font-weight:700}.eq-deg-btn{background:var(--key-mod);color:var(--steel);cursor:pointer;border:1px solid #3a3f4e;border-radius:4px;padding:.3dvh .7vw;font-family:inherit;font-size:1.2dvh}.eq-deg-btn.active{background:var(--teal);color:#0c231c;border-color:var(--teal);font-weight:700}.eq-coeffs{flex-direction:column;gap:.5dvh;margin-bottom:1dvh;display:flex}.eq-coeff-row{align-items:center;gap:.8vw;display:flex}.eq-coeff-label{color:var(--steel);text-align:right;min-width:3vw;font-size:1.2dvh}.eq-coeff-input{color:#edeae0;background:#20232b;border:1px solid #3a3f4e;border-radius:4px;flex:1;padding:.4dvh .5vw;font-family:inherit;font-size:1.3dvh}.eq-coeff-input:focus{border-color:var(--teal);outline:none}.eq-solve-btn{background:var(--teal);color:#0c231c;cursor:pointer;border:none;border-radius:4px;width:100%;margin-bottom:1dvh;padding:.6dvh 0;font-family:inherit;font-size:1.3dvh;font-weight:700}.eq-solve-btn:hover{opacity:.9}.eq-error{color:#e06c75;margin-bottom:.5dvh;font-size:1.2dvh}.eq-results{border-top:1px solid #33384a;flex-direction:column;gap:.5dvh;padding-top:.8dvh;display:flex}.eq-result-row{align-items:baseline;gap:1vw;font-size:1.3dvh;display:flex}.eq-result-label{color:var(--amber);min-width:2vw;font-weight:700}.eq-result-val{color:#edeae0}.eq-aug-note{color:var(--steel);margin-bottom:.8dvh;font-size:1.1dvh}.eq-aug-table{flex-direction:column;gap:.4dvh;margin-bottom:1dvh;display:flex}.eq-aug-row{align-items:center;gap:.4vw;display:flex}.eq-aug-cell{color:#edeae0;text-align:center;background:#20232b;border:1px solid #3a3f4e;border-radius:4px;flex:1;min-width:0;padding:.4dvh .4vw;font-family:inherit;font-size:1.3dvh}.eq-aug-cell:focus{border-color:var(--teal);outline:none}.eq-aug-sep{color:var(--steel);padding:0 .2vw;font-size:1.4dvh}.stat-model-row{gap:.4vw;margin-bottom:.8dvh;display:flex}.stat-model-btn{background:var(--key-mod);color:var(--steel);cursor:pointer;border:1px solid #3a3f4e;border-radius:4px;flex:1;padding:.3dvh 0;font-family:inherit;font-size:1.1dvh}.stat-model-btn.active{background:var(--teal);color:#0c231c;border-color:var(--teal);font-weight:700}.stat-data-header{color:var(--steel);align-items:center;gap:.4vw;margin-bottom:.3dvh;font-size:1dvh;display:flex}.stat-hdr-num{flex-shrink:0;width:2vw}.stat-hdr-cell{text-align:center;flex:1}.stat-hdr-del{flex-shrink:0;width:1.6vw}.stat-data-list{flex-direction:column;gap:.3dvh;max-height:22dvh;margin-bottom:.6dvh;display:flex;overflow-y:auto}.stat-row{align-items:center;gap:.4vw;display:flex}.stat-row-num{width:2vw;color:var(--steel);text-align:right;flex-shrink:0;font-size:1dvh}.stat-cell{color:#edeae0;text-align:center;background:#20232b;border:1px solid #3a3f4e;border-radius:4px;flex:1;min-width:0;padding:.35dvh .4vw;font-family:inherit;font-size:1.2dvh}.stat-cell:focus{border-color:var(--teal);outline:none}.stat-row-del{width:1.6vw;color:var(--steel);cursor:pointer;background:0 0;border:1px solid #3a3f4e;border-radius:3px;flex-shrink:0;padding:0;font-size:.9dvh;line-height:1}.stat-row-del:disabled{opacity:.2;cursor:default}.stat-add-btn{width:100%;color:var(--steel);cursor:pointer;background:0 0;border:1px dashed #3a3f4e;border-radius:4px;margin-bottom:.6dvh;padding:.4dvh 0;font-family:inherit;font-size:1.1dvh}.stat-add-btn:hover{border-color:var(--teal);color:var(--teal)}.stat-compute-btn{background:var(--teal);color:#0c231c;cursor:pointer;border:none;border-radius:4px;width:100%;margin-bottom:.8dvh;padding:.6dvh 0;font-family:inherit;font-size:1.3dvh;font-weight:700}.stat-compute-btn:hover{opacity:.9}.stat-results{border-top:1px solid #33384a;flex-direction:column;gap:.4dvh;padding-top:.8dvh;display:flex}.stat-result-eq{color:var(--amber);margin-bottom:.4dvh;font-size:1.3dvh;font-weight:700}.stat-result-row{align-items:baseline;gap:.3vw;font-size:1.2dvh;display:flex}.stat-result-label{color:var(--steel);flex-shrink:0}.stat-result-leader{border-bottom:1px dotted #3a3f4e;flex:1;min-width:1vw;margin-bottom:.25dvh}.stat-result-val{color:#edeae0;flex-shrink:0}.stat-pct-header{color:var(--amber);text-transform:uppercase;letter-spacing:1px;border-top:1px solid #33384a;margin-top:.6dvh;padding-top:.6dvh;font-size:1dvh}.stat-pct-custom-row{align-items:center;gap:.4vw;margin-top:.3dvh;font-size:1.2dvh;display:flex}.stat-pct-p-label{color:var(--steel);align-items:center;gap:.2vw;min-width:6vw;display:flex}.stat-pct-custom-row .stat-result-val{text-align:right;flex:1}.stat-pct-input{color:#edeae0;text-align:center;background:#20232b;border:1px solid #3a3f4e;border-radius:3px;width:3.5vw;padding:.2dvh .3vw;font-family:inherit;font-size:1.1dvh}.stat-pct-input:focus{border-color:var(--teal);outline:none}.stat-pct-del{color:var(--steel);cursor:pointer;background:0 0;border:1px solid #3a3f4e;border-radius:3px;flex-shrink:0;padding:.1dvh .3vw;font-size:.9dvh}.stat-pct-del:hover{color:#e06c75;border-color:#e06c75}.stat-pct-add{width:100%;color:var(--steel);cursor:pointer;background:0 0;border:1px dashed #3a3f4e;border-radius:4px;margin-top:.4dvh;padding:.4dvh 0;font-family:inherit;font-size:1.1dvh}.stat-pct-add:hover{border-color:var(--teal);color:var(--teal)}.dist-section-label{color:var(--amber);text-transform:uppercase;letter-spacing:1px;margin:.8dvh 0 .3dvh;font-size:.9dvh}.dist-field{align-items:center;gap:.5vw;margin-bottom:.4dvh;display:flex}.dist-field-label{color:var(--steel);flex-shrink:0;width:8vw;font-size:1.1dvh}.dist-field-input{color:#edeae0;background:#1e2029;border:1px solid #3a3f4e;border-radius:3px;flex:1;padding:.3dvh .4vw;font-family:inherit;font-size:1.2dvh}.dist-field-input:focus{border-color:var(--teal);outline:none}.dist-fn-row{gap:.4vw;margin-bottom:.3dvh;display:flex}.dist-fn-btn{color:var(--steel);cursor:pointer;background:#2f333f;border:1px solid #3a3f4e;border-radius:4px;flex:1;padding:.4dvh 0;font-family:inherit;font-size:1.2dvh}.dist-fn-btn.active{background:var(--teal);border-color:var(--teal);color:#0c231c;font-weight:700}.dist-fn-btn:not(.active):hover{border-color:var(--teal);color:var(--teal)}.dist-fn-desc{color:var(--steel);min-height:1.4dvh;margin-bottom:.6dvh;font-size:1dvh}.dist-result{border-left:2px solid var(--teal);background:#1e2029;border-radius:4px;margin-top:.8dvh;padding:.6dvh .6vw}.dist-result-complement{border-left-color:#3a3f4e;margin-top:.3dvh}.dist-result-label{color:var(--steel);margin-bottom:.2dvh;font-size:1dvh}.dist-result-value{color:#edeae0;font-size:1.5dvh;font-weight:700}.base-flag{color:var(--teal)!important}.sto-flag{color:var(--amber)!important}.rcl-flag{color:#7eb8cc!important}.mem-flag{color:#7eb8cc!important;font-size:1dvh!important}.bn-kp-wrap{flex-direction:column;height:100%;display:flex;overflow:hidden}.bn-kp-status{letter-spacing:1px;border-bottom:1px solid #2a2d38;flex-shrink:0;align-items:center;gap:.4vw;padding:.5dvh 1vw;font-size:1dvh;font-weight:700;display:flex}.bn-kp-base-btn{color:var(--steel);cursor:pointer;letter-spacing:1px;background:#2a2d38;border:1px solid #3a3f4e;border-radius:4px;padding:.3dvh .7vw;font-family:inherit;font-size:1dvh;font-weight:700}.bn-kp-base-btn.active{background:var(--teal);border-color:var(--teal);color:#0c231c}.bn-kp-base-btn:not(.active):hover{border-color:var(--teal);color:var(--teal)}.bn-kp-spacer{flex:1}.bn-kp-screen{background:#14161c;border-bottom:1px solid #2a2d38;flex-direction:column;flex-shrink:0;justify-content:flex-end;min-height:10dvh;padding:.6dvh 1vw .4dvh;display:flex}.bn-kp-expr{color:#edeae0;text-align:right;background:0 0;border:none;border-bottom:1px solid #3a3f4e;outline:none;width:100%;margin-bottom:.4dvh;padding:.3dvh 0;font-family:inherit;font-size:2dvh}.bn-kp-expr::placeholder{color:#333745;text-align:left;font-size:1.1dvh}.bn-kp-error{color:#e07070;text-align:right;font-size:1.1dvh}.bn-kp-result-block{flex-direction:column;gap:0;display:flex}.bn-kp-result-row{align-items:baseline;gap:.5vw;padding:.1dvh 0;display:flex}.bn-kp-result-row.active .bn-kp-rval{color:var(--amber);font-size:1.6dvh;font-weight:700}.bn-kp-result-row.active .bn-kp-rlabel{color:var(--amber)}.bn-kp-rlabel{color:var(--steel);flex-shrink:0;min-width:2.5vw;font-size:.85dvh}.bn-kp-rval{color:#edeae0;letter-spacing:.04em;word-break:break-all;text-align:right;flex:1;font-size:1.15dvh}.bn-kp-keys{flex-direction:column;flex:1;gap:.3dvh;min-height:0;padding:.3dvh .4vw;display:flex}.bn-kp-row{flex:1;gap:.3vw;min-height:0;display:flex}.bn-kp-btn{color:#edeae0;cursor:pointer;background:#22252f;border:1px solid #3a3f4e;border-radius:5px;flex:1;justify-content:center;align-items:center;min-height:0;font-family:inherit;font-size:1.3dvh;display:flex}.bn-kp-btn:hover:not(:disabled){border-color:#555b6e}.bn-kp-btn:disabled{opacity:.2;cursor:default}.bn-kp-eval{background:var(--amber);color:#1c1500;border-color:var(--amber);font-size:1.4dvh;font-weight:700}.bn-kp-eval:hover:not(:disabled){opacity:.9}.bn-kp-util{color:var(--steel);background:#2a2d38}.bn-kp-hex{color:#7eb8cc;background:#1e2535;border-color:#2a3a4a;font-weight:700}.bn-kp-hex:hover:not(:disabled){color:#a0d4e8;border-color:#7eb8cc}.bn-kp-bit{color:#7eb8cc;background:#1c2530;border-color:#2a3a4a;font-size:1.05dvh}.bn-kp-bit:hover:not(:disabled){border-color:#7eb8cc}.bn-kp-op{color:var(--amber);background:#252830;border-color:#383320;font-weight:700}.bn-kp-op:hover:not(:disabled){border-color:var(--amber)}.kmap-flat-wrap{max-height:30dvh;margin:.4dvh 0;overflow-y:auto}.kmap-flat-row{align-items:center;gap:.2vw;margin-bottom:.2dvh;display:flex}.kmap-flat-row-label{color:var(--steel);text-align:right;flex-shrink:0;min-width:2.5vw;font-size:.9dvh}.kmap-flat-cell{width:1.8vw;height:2.4dvh;color:var(--steel);cursor:pointer;background:#22252f;border:1px solid #3a3f4e;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.95dvh;display:flex}.kmap-flat-cell:hover{border-color:var(--teal)}.bn-section-label{color:var(--amber);text-transform:uppercase;letter-spacing:1px;margin:.8dvh 0 .3dvh;font-size:.9dvh}.bn-base-row{gap:.4vw;margin-bottom:.3dvh;display:flex}.bn-base-btn{color:var(--steel);cursor:pointer;background:#2f333f;border:1px solid #3a3f4e;border-radius:4px;flex:1;padding:.4dvh 0;font-family:inherit;font-size:1.2dvh}.bn-base-btn.active{background:var(--teal);border-color:var(--teal);color:#0c231c;font-weight:700}.bn-base-btn:not(.active):hover{border-color:var(--teal);color:var(--teal)}.bn-input{box-sizing:border-box;color:#edeae0;background:#1e2029;border:1px solid #3a3f4e;border-radius:3px;width:100%;margin-bottom:.3dvh;padding:.4dvh .5vw;font-family:inherit;font-size:1.3dvh}.bn-input:focus{border-color:var(--teal);outline:none}.bn-op-row{flex-wrap:wrap;gap:.4vw;margin-bottom:.3dvh;display:flex}.bn-op-btn{min-width:3vw;color:var(--steel);cursor:pointer;background:#2f333f;border:1px solid #3a3f4e;border-radius:4px;flex:1;padding:.4dvh 0;font-family:inherit;font-size:1.2dvh}.bn-op-btn.active{background:var(--amber);border-color:var(--amber);color:#1c1500;font-weight:700}.bn-op-btn:not(.active):hover{border-color:var(--amber);color:var(--amber)}.bn-op-hint{color:var(--steel);margin-bottom:.4dvh;font-size:.95dvh;line-height:1.4}.bn-display{background:#1e2029;border-radius:4px;margin:.4dvh 0;padding:.5dvh .6vw}.bn-row{align-items:baseline;gap:.5vw;padding:.15dvh 0;display:flex}.bn-row.bn-row-active .bn-value{color:var(--amber);font-size:1.5dvh;font-weight:700}.bn-row.bn-row-active .bn-base-label{color:var(--amber)}.bn-base-label{color:var(--steel);flex-shrink:0;min-width:2.5vw;font-size:.9dvh}.bn-value{color:#edeae0;letter-spacing:.05em;word-break:break-all;font-size:1.2dvh}.bn-error{color:#e07070;margin-top:.5dvh;font-size:1.1dvh}.kmap-wrap{margin:.6dvh 0;overflow-x:auto}.kmap-table{border-collapse:collapse;font-size:1.1dvh}.kmap-th{color:var(--steel);text-align:center;background:#252830;border:1px solid #3a3f4e;padding:.4dvh .6vw;font-weight:600}.kmap-th-corner{background:#252830;border:1px solid #3a3f4e;min-width:3vw;padding:.2dvh .4vw;position:relative}.kmap-corner-row{color:var(--steel);text-align:left;font-size:.9dvh;display:block}.kmap-corner-col{color:var(--steel);text-align:right;font-size:.9dvh;display:block}.kmap-cell{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--steel);border:1px solid #3a3f4e;padding:.6dvh .9vw;transition:background .1s}.kmap-cell:hover{border-color:var(--teal)}.kmap-cell-one{color:var(--teal);background:#1c3028;font-weight:700}.kmap-cell-dc{color:var(--amber);background:#2a2010;font-weight:700}.bn-kmap-legend{color:var(--steel);gap:1vw;margin:.3dvh 0;font-size:1dvh;display:flex}.kmap-cell-zero-inline{border:1px solid #3a3f4e;border-radius:2px;padding:0 .3vw;display:inline-block}.kmap-cell-one-inline{border:1px solid var(--teal);color:var(--teal);background:#1c3028;border-radius:2px;padding:0 .3vw;display:inline-block}.kmap-cell-dc-inline{border:1px solid var(--amber);color:var(--amber);background:#2a2010;border-radius:2px;padding:0 .3vw;display:inline-block}.bn-kmap-result{margin-top:.6dvh}.bn-kmap-expr{color:#edeae0;border-left:2px solid var(--teal);letter-spacing:.04em;background:#1e2029;border-radius:4px;padding:.5dvh .6vw;font-size:1.6dvh}.tbl-mode-badge{color:var(--teal);border:1px solid var(--teal);border-radius:3px;margin-right:auto;padding:.1dvh .4vw;font-size:1dvh}.tbl-label{color:var(--steel);flex-shrink:0;font-size:1.1dvh}.tbl-input{flex:1;min-width:0}.tbl-num{flex-shrink:0;width:4.5vw}.tbl-go{flex-shrink:0}.tbl-error{color:#e07070}.tbl-hint{margin-bottom:.3dvh;font-size:1dvh}.tbl-scroll{flex:1;max-height:55dvh;margin-top:.3dvh;overflow-y:auto}.tbl-table{border-collapse:collapse;width:100%;font-size:1.2dvh}.tbl-table th{border-bottom:1px solid var(--teal);text-align:right;color:var(--teal);background:#14161cf7;padding:.3dvh .6vw;font-weight:700;position:sticky;top:0}.tbl-table th:first-child{text-align:left}.tbl-table td{text-align:right;color:#edeae0;border-bottom:1px solid #2a2d38;padding:.25dvh .6vw}.tbl-table td:first-child{text-align:left;color:var(--steel)}.tbl-table tr:hover td{background:#1e2029}.tbl-val{cursor:pointer}.tbl-val:hover{color:var(--teal)}.tbl-copied{color:var(--amber)!important}.graph-overlay{flex-direction:column;gap:0;display:flex;overflow:hidden}.graph-fns{flex-direction:column;gap:.4dvh;margin-bottom:.6dvh;display:flex}.graph-fn-row{align-items:center;gap:.5vw;display:flex}.graph-fn-label{flex-shrink:0;min-width:3.5vw;font-size:1.2dvh;font-weight:700}.graph-fn-input{color:#edeae0;background:#20232b;border:1px solid #3a3f4e;border-radius:4px;flex:1;padding:.35dvh .5vw;font-family:inherit;font-size:1.2dvh}.graph-fn-input:focus{border-color:var(--teal);outline:none}.graph-fn-hidden{opacity:.4}.graph-fn-eye{color:var(--steel);cursor:pointer;background:0 0;border:1px solid #3a3f4e;border-radius:3px;flex-shrink:0;padding:.2dvh .35vw;font-size:.9dvh;line-height:1}.graph-fn-eye.active{border-color:var(--teal);color:var(--teal)}.graph-fn-remove{color:var(--steel);cursor:pointer;background:0 0;border:1px solid #3a3f4e;border-radius:3px;flex-shrink:0;padding:.2dvh .4vw;font-size:1.2dvh;line-height:1}.graph-fn-remove:hover{color:#e06c75;border-color:#e06c75}.graph-fn-add{color:var(--steel);cursor:pointer;background:0 0;border:1px dashed #3a3f4e;border-radius:4px;width:100%;margin-top:.2dvh;padding:.3dvh 0;font-family:inherit;font-size:1.1dvh}.graph-fn-add:hover{border-color:var(--teal);color:var(--teal)}.graph-fn-tip{color:#455069;margin:.3dvh 0 0;font-size:1dvh;font-style:italic;line-height:1.3}.graph-win{flex-wrap:wrap;align-items:center;gap:.4vw;margin-bottom:.6dvh;display:flex}.graph-win-field{color:var(--steel);align-items:center;gap:.25vw;font-size:1.1dvh;display:flex}.graph-win-field span{flex-shrink:0}.graph-win-field .tbl-num{width:4vw}.graph-view-toggle{border:1px solid #3a3f4e;border-radius:4px;flex-shrink:0;display:flex;overflow:hidden}.graph-view-btn{color:var(--steel);cursor:pointer;background:0 0;border:none;padding:.3dvh .5vw;font-family:inherit;font-size:1dvh}.graph-view-btn.active{background:var(--teal);color:#0c231c;font-weight:700}.graph-trace-btn{letter-spacing:.5px;border-left:1px solid #3a3f4e}.graph-trace-btn.active{background:var(--amber);color:#1a1200;font-weight:700}.graph-canvas-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.graph-canvas{background:#0f1117;border-radius:6px;flex:1;width:100%;min-height:0;display:block}.graph-crosshair-overlay{pointer-events:none;border-radius:inherit;width:100%;height:100%;position:absolute;top:0;left:0}.graph-crosshair-hint{color:#555b6e;white-space:nowrap;flex-shrink:0;align-self:center;font-size:1dvh}.graph-split-grid{flex:1;grid-auto-rows:20dvh;gap:4px;min-height:0;display:grid;overflow-y:auto}.graph-subplot{flex-direction:column;display:flex;position:relative}.graph-subplot-canvas-wrapper{flex:1;min-height:0;position:relative}.graph-subplot-canvas{background:#0f1117;border-radius:4px;width:100%;height:100%;display:block}.graph-subplot-label{z-index:1;pointer-events:none;text-shadow:0 0 6px #000;font-family:JetBrains Mono,monospace;font-size:1dvh;position:absolute;top:4px;left:6px}.graph-dim-toggle{border:1px solid #3a3f4e;border-radius:4px;flex-shrink:0;display:flex;overflow:hidden}.graph-dim-btn{color:var(--steel);cursor:pointer;letter-spacing:.5px;background:0 0;border:none;padding:.3dvh .6vw;font-family:inherit;font-size:1dvh}.graph-dim-btn.active{background:var(--teal);color:#0c231c;font-weight:700}.graph3d-canvas-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.graph3d-canvas{background:#0f1117;border-radius:6px;flex:1;width:100%;min-height:0;display:block}.graph3d-computing{color:var(--teal);letter-spacing:1px;pointer-events:none;text-shadow:0 0 12px #2cc7a099;z-index:2;font-size:1.2dvh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.graph3d-zinfo{color:#555b6e;padding:0 0 .3dvh;font-size:1dvh}
