:root{--bg-dark:#0f111a;--bg-surface:#1e212c99;--bg-surface-hover:#2b2f3ccc;--glass-border:#ffffff14;--pill-bg:#0000002e;--ctrl-bg-soft:#ffffff08;--ctrl-bg:#ffffff0d;--ctrl-hover:#ffffff12;--ctrl-track:#ffffff1f;--primary:#0067b9;--primary-glow:#0067b966;--secondary:#0088d1;--success:#10b981;--error:#ef4444;--text-main:#f8fafc;--text-muted:#94a3b8;--radius:16px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--transport-badge-bg:#0067b938;--transport-badge-color:#0067b9;--transport-badge-border:#0067b966;--titlebar-height:34px}html[data-theme=light]{--bg-dark:#eef2ff;--bg-surface:#ffffffdb;--bg-surface-hover:#f7fafff2;--glass-border:#0f172a26;--pill-bg:#0f172a0f;--ctrl-bg-soft:#0f172a05;--ctrl-bg:#0f172a09;--ctrl-hover:#0f172a0d;--ctrl-track:#0f172a1f;--text-main:#0f172a;--text-muted:#475569;--transport-badge-bg:#0067b91a;--transport-badge-color:#0056a0;--transport-badge-border:#0067b94d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text-main);background-image:radial-gradient(at 0 0,#0067b929 0,#0000 50%),radial-gradient(at 100% 100%,#0088d121 0,#0000 50%);background-attachment:fixed;min-height:100vh;font-family:Inter,sans-serif;overflow:hidden}h1,h2,h3{font-family:Outfit,sans-serif}.app-container{flex-direction:column;gap:.45rem;max-width:1600px;height:100vh;margin:0 auto;padding:.65rem;display:flex}.app-container.desktop-host{padding-top:.3rem}.desktop-titlebar{min-height:var(--titlebar-height);border:1px solid var(--glass-border);border-radius:calc(var(--radius) - 2px);-webkit-backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff0b,#ffffff05);justify-content:space-between;align-items:center;gap:.55rem;padding:.18rem .35rem .12rem;display:none;box-shadow:0 4px 20px #00000029}.desktop-host .desktop-titlebar{display:flex}.desktop-titlebar__drag{flex:auto;align-items:center;gap:.5rem;min-width:0;display:flex}.desktop-titlebar__drag.electron-drag{-webkit-app-region:drag}.desktop-titlebar__drag.electron-drag *{-webkit-app-region:no-drag;cursor:grab;-webkit-app-region:no-drag;-webkit-user-select:none;user-select:none}.desktop-titlebar__drag:active{cursor:grabbing}.desktop-titlebar__drag *{pointer-events:none}.desktop-titlebar__wordmark{letter-spacing:-.1px;background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;font-family:Outfit,sans-serif;font-size:.84rem;font-weight:500}.desktop-titlebar__badge{border:1px solid var(--glass-border);background:var(--pill-bg);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.14rem .38rem;font-size:.62rem;font-weight:600;display:inline-flex}.desktop-titlebar__controls{-webkit-app-region:no-drag;flex:none;align-items:center;gap:.22rem;display:inline-flex}.desktop-titlebar__btn{border:1px solid var(--glass-border);width:28px;height:24px;color:var(--text-muted);font:inherit;cursor:pointer;transition:var(--transition);background:#ffffff0a;border-radius:6px;justify-content:center;align-items:center;font-size:.82rem;line-height:1;display:inline-flex}.desktop-titlebar__btn:hover{color:var(--text-main);background:#ffffff14;border-color:#ffffff24}.desktop-titlebar__btn--close:hover{color:#fff;background:#ef4444d1;border-color:#ef444473}.desktop-titlebar__btn:focus-visible{outline-offset:2px;outline:2px solid #0067b980}.desktop-titlebar__btn:disabled{opacity:.45;cursor:default;pointer-events:none}.glass-header{display:none}.glass-panel{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:.9rem;box-shadow:0 4px 30px #0003}.glass-header{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);border-radius:var(--radius);flex-shrink:0;justify-content:space-between;align-items:center;padding:.45rem .7rem;transition:padding .2s;display:flex}.logo h1{letter-spacing:-.2px;background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.15rem;font-weight:700}.status-bar{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.status-indicator{border:1px solid var(--glass-border);background:var(--pill-bg);color:var(--text-muted);border-radius:999px;flex-shrink:0;align-items:center;gap:.45rem;padding:.25rem .55rem;font-size:.8rem;line-height:1;display:inline-flex}.transport-badge{border:1px solid var(--transport-badge-border);background:var(--transport-badge-bg);color:var(--transport-badge-color);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.btn-header-sweep{box-sizing:border-box;width:84px;min-width:84px;height:30px;box-shadow:0 3px 10px var(--primary-glow);flex-shrink:0;padding:.35rem .8rem;font-size:.82rem;line-height:1}.theme-toggle{justify-content:center;align-items:center;width:30px;min-width:30px;height:28px;padding:0;font-size:.9rem;display:inline-flex}.dot{border-radius:50%;width:10px;height:10px}.dot.connected{background:var(--success);box-shadow:0 0 10px var(--success)}.dot.disconnected{background:var(--error);box-shadow:0 0 10px var(--error)}.dot.connected.warn{background:var(--warn,#e0a44c);box-shadow:0 0 10px var(--warn,#e0a44c)}.dashboard{flex:1;grid-template-columns:clamp(290px,26vw,340px) minmax(0,1fr);gap:.9rem;height:100%;min-height:0;transition:grid-template-columns .3s ease-out;display:grid}.dashboard.settings-collapsed{grid-template-columns:74px minmax(0,1fr)}.controls-panel{flex-direction:row;align-items:stretch;gap:.45rem;display:flex;overflow:hidden}.panel-header-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sidebar-footer{border-top:1px solid var(--glass-border);margin-top:auto;padding-top:.75rem}.sidebar-footer .theme-toggle{justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.sidebar-footer .theme-label{font-size:.85rem}.stats-spacer{flex:auto}.btn-reboot{margin-right:1rem;padding:.25rem .5rem;font-size:.75rem}.panel-title{color:var(--text-main);border-bottom:1px solid var(--glass-border);margin-bottom:.55rem;padding-bottom:.5rem;font-size:1.2rem}.btn-small{padding:.35rem .6rem;font-size:.8rem}.icon-toggle-btn{justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;padding:0;font-size:1rem;font-weight:700;display:flex}.controls-panel.collapsed .panel-title,.controls-panel.collapsed .accordion,.controls-panel.collapsed .divider,.controls-panel.collapsed .action-row{display:none}.controls-panel.collapsed{justify-content:center;align-items:flex-start;padding:.3rem .4rem;overflow:hidden}.controls-panel.collapsed .sidebar-icons{margin:0 auto;padding-top:2.55rem}.controls-panel.collapsed .panel-header-row{justify-content:center;width:100%}.sidebar-icons{flex-direction:column;flex:0 0 40px;align-items:center;gap:.5rem;width:40px;min-width:40px;padding:.15rem 0;display:none}.controls-panel.collapsed .sidebar-icons{display:flex}.controls-panel:not(.collapsed) .sidebar-icons{display:none}.sidebar-icons-spacer{flex:auto}#sidebar-content{flex-direction:column;flex:auto;min-width:0;height:100%;display:flex;overflow:hidden}.controls-panel.collapsed #sidebar-content{display:none}.sidebar-icon-btn{border:1.5px solid var(--glass-border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex;position:relative}.sidebar-icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;width:18px;height:18px}.sidebar-icon-btn:hover{border-color:var(--primary);color:var(--primary);background:#0067b914}.sidebar-icon-btn.active{border-color:var(--primary);color:var(--primary);background:#0067b926}.sidebar-icon-btn[title]{cursor:pointer}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.accordion{flex:1 1 0;min-height:0;padding-right:.5rem;overflow-y:auto}.accordion::-webkit-scrollbar{width:6px}.accordion::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.accordion-item{border:1px solid var(--glass-border);background:var(--ctrl-bg-soft);border-radius:8px;margin-bottom:.35rem;overflow:hidden}.accordion-header{text-align:left;width:100%;color:var(--text-main);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:space-between;padding:.7rem .8rem;font-size:.95rem;font-weight:600;display:flex}.accordion-header:hover{background:var(--ctrl-hover)}.accordion-item.active .accordion-header{color:var(--primary);border-bottom:1px solid var(--glass-border);background:#0067b91a}.accordion-header span{transition:transform .3s}.accordion-item.active .accordion-header span{transform:rotate(180deg)}.accordion-icon{opacity:.8;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-right:.5rem;display:inline-flex}.accordion-item.active .accordion-icon{opacity:1}.accordion-body{max-height:0;padding:0 .7rem;transition:max-height .3s ease-out,padding .3s;overflow:hidden}.accordion-item.active .accordion-body{max-height:800px;padding:.35rem .5rem}.header-with-tabs{border-bottom:1px solid var(--glass-border);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;padding-bottom:.35rem;transition:max-height .2s,opacity .2s;display:flex}.header-with-tabs.collapsed{opacity:0;max-height:0;margin-bottom:0;padding-bottom:0;overflow:hidden}.header-left{flex-wrap:nowrap;flex:auto;align-items:center;gap:.75rem;min-width:0;display:flex;overflow-x:auto}.app-wordmark{letter-spacing:-.1px;background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500}.desktop-host .app-wordmark{display:none}.header-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.header-with-tabs .panel-title{border:none;margin:0;padding:0}.tab-list{gap:.5rem;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:500}.tab-btn:hover{background:#ffffff1a}.tab-btn.active{color:var(--primary);background:#0067b926}.tab-content{visibility:hidden;pointer-events:none;height:100%;position:absolute;inset:0}.tab-content.active{visibility:visible;pointer-events:auto}.control-group{margin-bottom:.3rem}.control-group label{color:var(--text-muted);margin-bottom:.25rem;font-size:.85rem;font-weight:500;display:block}.val-display{color:var(--primary);float:right;font-family:monospace}.modern-slider{-webkit-appearance:none;background:var(--ctrl-track);border-radius:2px;outline:none;width:100%;height:4px}.modern-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);cursor:pointer;width:18px;height:18px;box-shadow:0 0 10px var(--primary-glow);transition:var(--transition);border-radius:50%}.modern-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.modern-select{background:var(--ctrl-bg);border:1px solid var(--glass-border);width:100%;color:var(--text-main);transition:var(--transition);border-radius:6px;outline:none;padding:.5rem;font-family:inherit}.modern-select:focus,.modern-input:focus,.modern-input-small:focus{border-color:var(--primary)}.modern-input{background:var(--ctrl-bg);border:1px solid var(--glass-border);width:100%;color:var(--text-main);transition:var(--transition);border-radius:6px;outline:none;padding:.5rem;font-family:inherit}.combo-group{flex-direction:column;display:flex}.combo-inputs{align-items:center;gap:10px;display:flex}.modern-input-small{background:var(--ctrl-bg);border:1px solid var(--glass-border);width:70px;color:var(--text-main);text-align:right;transition:var(--transition);border-radius:4px;outline:none;padding:.25rem .5rem;font-family:monospace;font-size:.85rem}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.btn{cursor:pointer;transition:var(--transition);border:none;border-radius:6px;outline:none;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;box-shadow:0 4px 15px var(--primary-glow);width:100%}.btn-primary.btn-header-sweep{width:84px}.btn-primary:hover{box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.btn-outline{border:1px solid var(--glass-border);color:var(--text-main);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:#ffffff0d}.btn-danger{color:#fff;background:#ef4444;border:1px solid #dc2626}.btn-danger:hover{background:#dc2626;border-color:#b91c1c}.btn-danger:disabled{opacity:.6;cursor:not-allowed;background:#6b7280;border-color:#4b5563}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.taper-buttons{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.action-row{flex-direction:column;gap:.6rem;margin-top:.5rem;display:flex}.calibration-feedback{flex-direction:column;gap:.35rem;margin-top:.55rem;display:flex}.calibration-status-pill{border:1px solid var(--glass-border);background:var(--pill-bg);border-radius:999px;align-self:flex-start;align-items:center;gap:.32rem;padding:.2rem .52rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.calibration-status-pill.idle{color:var(--text-muted)}.calibration-status-pill.running{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b66}.calibration-status-pill.running:before{content:"";border:2px solid #f59e0b59;border-top-color:#f59e0b;border-radius:50%;width:.58rem;height:.58rem;animation:.85s linear infinite cal-spin}.calibration-status-pill.ok{color:#10b981;background:#10b9811a;border-color:#10b98166}.calibration-status-pill.error{color:#ef4444;background:#ef44441a;border-color:#ef444466}.calibration-status-text{min-height:1.05rem;color:var(--text-muted);white-space:pre-wrap;font-family:Consolas,Courier New,monospace;font-size:.74rem;line-height:1.32}@keyframes cal-spin{to{transform:rotate(360deg)}}.toggle-container{cursor:pointer;color:var(--text-muted);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.toggle-container input{display:none}.checkmark{background:var(--ctrl-track);width:36px;height:18px;transition:var(--transition);border-radius:9px;flex-shrink:0;position:relative}.checkmark:after{content:"";width:14px;height:14px;transition:var(--transition);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle-container input:checked~.checkmark{background:var(--primary)}.toggle-container input:checked~.checkmark:after{left:20px}.toggle-container.compact{gap:.4rem;font-size:.75rem}.toggle-container.compact .checkmark{border-radius:7px;width:28px;height:14px}.toggle-container.compact .checkmark:after{width:10px;height:10px}.toggle-container.compact input:checked~.checkmark:after{left:16px}.divider{background:var(--glass-border);border:none;height:1px;margin:.55rem 0}.lab-presets-list{flex-direction:column;gap:.4rem;display:flex}.lab-presets-list .lab-btn{text-align:left;align-items:center;gap:.6rem;padding:.4rem .6rem;display:flex}.lab-num{width:1.4rem;height:1.4rem;color:var(--primary);background:#0067b926;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.sliders-list{flex-direction:column;gap:.5rem;display:flex}.dense-list{gap:.18rem}#elements-gain-container{grid-template-columns:1fr;gap:.18rem;display:grid}#elements-gain-container .element-row,#elements-phase-container .element-row{gap:.6rem;padding:.28rem .5rem}.element-row{background:var(--ctrl-bg);border:1px solid var(--glass-border);border-radius:6px;grid-template-columns:30px 1fr;align-items:center;gap:1rem;padding:.4rem .75rem;display:grid}.element-header{width:25px;height:25px;color:var(--primary);background:#ffffff0d;border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.graph-panel{flex-direction:column;min-height:0;display:flex}.plots-stack{flex:auto;height:0;min-height:0;position:relative}.chart-wrapper{width:100%;height:100%;min-height:0;position:absolute;inset:0}.logs-pane{flex-direction:column;gap:.45rem;height:100%;min-height:0;display:flex}.logs-toolbar{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.logs-title{color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase;font-size:.82rem}.log-console{border:1px solid var(--glass-border);min-height:0;color:var(--text-main);background:#00000038;border-radius:8px;flex:1;padding:.5rem;font-family:Consolas,Courier New,monospace;font-size:.76rem;line-height:1.35;overflow:auto}.log-line{white-space:pre-wrap;word-break:break-word;margin-bottom:.22rem}.log-line:last-child{margin-bottom:0}.log-line.warn{color:#fcd34d}.log-line.error{color:#f44;text-shadow:0 0 1px #ff444480;font-weight:600}.cal-log{border:1px solid var(--glass-border);min-height:56px;max-height:140px;color:var(--text-muted);white-space:pre-wrap;background:#0003;border-radius:6px;padding:.5rem;font-family:monospace;font-size:.78rem;overflow:auto}.flex-grow{flex-grow:1}.chart-stats{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.7rem;display:flex}.stat-box{background:var(--pill-bg);border:1px solid var(--glass-border);text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:.55rem .8rem;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.8rem}.stat-value{color:var(--success);font-family:monospace;font-size:1.05rem;font-weight:700}.stat-box.compact{border-radius:8px;padding:.35rem .6rem}.stat-box.compact .stat-label{letter-spacing:.5px;font-size:.65rem}.stat-box.compact .stat-value{font-size:.9rem}.backend-status-pill{border:1px solid var(--glass-border);background:var(--pill-bg);color:var(--text-muted);border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.backend-status-pill.state-starting{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b66}.backend-status-pill.state-ready{color:#10b981;background:#10b9811a;border-color:#10b98166}.backend-status-pill.state-error{color:#ef4444;background:#ef44441a;border-color:#ef444466}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal{border-radius:16px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;padding:1.25rem;display:flex;box-shadow:0 25px 50px -12px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-title{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:600}.modal-body{flex:1;overflow-y:auto}.modal-footer{border-top:1px solid var(--glass-border);justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.cal-status-indicator{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.cal-spinner{border:3px solid var(--glass-border);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:none}.cal-spinner.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cal-status-text{color:var(--text-main);font-size:1rem}.cal-status-text.success{color:#10b981}.cal-status-text.error{color:#ef4444}.cal-output{border:1px solid var(--glass-border);color:var(--text-muted);white-space:pre-wrap;word-break:break-word;background:#0003;border-radius:8px;max-height:200px;padding:.75rem;font-family:Consolas,Monaco,monospace;font-size:.8rem;overflow-y:auto}.cal-output:empty{display:none}.mode-tabs{background:var(--ctrl-bg);border:1px solid var(--glass-border);box-sizing:border-box;border-radius:999px;grid-template-columns:1fr 1fr;height:40px;margin-bottom:.65rem;padding:3px;display:grid;position:relative}.mode-tabs:before{content:"";background:var(--primary);width:calc(50% - 3px);box-shadow:0 3px 10px var(--primary-glow);border-radius:999px;transition:transform .2s;position:absolute;top:3px;bottom:3px;left:3px}.mode-tabs[data-mode=fmcw]:before{transform:translate(100%)}.mode-tab{z-index:1;color:var(--text-muted);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:999px;font-family:inherit;font-size:.9rem;font-weight:600;transition:color .2s;position:relative}.mode-tab.active{color:#fff}.mode-tab:hover:not(.active):not(:disabled){color:var(--text-main)}.mode-tab:disabled{cursor:not-allowed}.mode-tabs:has(.mode-tab:disabled){opacity:.6}.controls-panel.collapsed .mode-tabs{display:none}.taper-buttons .btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.fmcw-capability{color:var(--text-muted);font-size:.78rem;line-height:1.35}.fmcw-capability.ok{color:var(--success)}.fmcw-capability.unavailable{color:var(--error)}.stat-box.set-disabled .stat-value{color:var(--text-muted)}.tab-btn[hidden],.stat-box[hidden]{display:none}.set-disabled{opacity:.45;cursor:help}.set-row{grid-template-columns:minmax(0, 1fr) var(--set-ctrl-width,150px);align-items:center;column-gap:.5rem;min-height:32px;margin-top:.4rem;display:grid}.set-row>label:first-child{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;margin:0;font-size:.85rem;overflow:hidden}.set-ctrl{box-sizing:border-box;background:var(--ctrl-bg);border:1px solid var(--glass-border);width:100%;height:30px;color:var(--text-main);border-radius:6px;outline:none;padding:0 .5rem;font-family:inherit;font-size:.85rem}input.set-ctrl{text-align:right;font-family:monospace}.set-ctrl:focus{border-color:var(--primary)}.set-switch{justify-self:end}.set-slider-row{grid-template-columns:minmax(0,1fr) 70px;grid-template-areas:"label label""slider box";gap:.15rem 10px}.set-slider-row>label:first-child{grid-area:label}.set-slider-row>.set-slider{grid-area:slider;width:100%;margin:0}.set-slider-row>.set-ctrl{grid-area:box}.taper-buttons.taper-3{grid-template-columns:repeat(3,1fr)}.btn-block{width:100%;display:block}.cal-steps{color:var(--text-main);margin:0 0 1rem 1.25rem;padding:0;line-height:1.6}.cal-readout{border:1px solid var(--glass-border);border-radius:8px;gap:.35rem;padding:.75rem;font-size:.9rem;display:grid}.cal-readout>div{justify-content:space-between;display:flex}.cal-readout>div>span:last-child{font-variant-numeric:tabular-nums;font-weight:600}.cal-hint{min-height:1.2em;color:var(--text-muted,#94a3b8);margin:.75rem 0 0;font-size:.85rem}.cal-footer>.btn{white-space:nowrap;flex:1 1 0}.btn-hold-fill{background:var(--hold-fill);pointer-events:none;border-radius:inherit;width:0;transition:width linear;position:absolute;top:0;bottom:0;left:0}.btn-hold.holding .btn-hold-fill{width:100%;transition:width var(--hold-ms) linear}.btn-hold.flash{animation:.24s ease-out btn-hold-flash}@keyframes btn-hold-flash{0%{background:#ef444466}to{background:0 0}}.status-indicator.btn-hold{--hold-ms:2s;--hold-fill:#ef44448c;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.status-indicator.btn-hold>.dot,.status-indicator.btn-hold>span:not(.btn-hold-fill){z-index:1;position:relative}.status-indicator.btn-hold:focus-visible{outline-offset:2px;outline:2px solid #ef4444cc}.status-indicator:not(.btn-hold)>.btn-hold-fill{display:none}.set-ctrl.set-invalid{border-color:var(--error)}
