:root{--bg:#0b0e13;--chrome:#0f1318;--panel:#12161d;--panel-2:#181d26;--border:#222934;--border-strong:#333c4a;--text:#d7dce4;--muted:#7d8796;--accent:#3fb6ff;--accent-2:#1d7fc4;--accent-soft:#3fb6ff24;--danger:#ff5a6a;--danger-text:#ffb3bc;--warn:#ffb44c;--success:#8fd43a;--trigger:#ff9d2e;--text-2:#b9c1cd;--text-strong:#fff;--hover:#1e2430;--hover-soft:#1b212b;--field:#0d1016;--plot-bg:#05070a;--overview-bg:#0a0d12;--tool-group-bg:#0a0d11;--float-bg:#141921e6;--float-bg-solid:#141921f7;--float-border:#3a4454;--readout-bg:#1e242ee6;--toast-bg:#1c222c;--error-bg:#3a1219;--error-text:#ffd6db;--key-text:#8fb8de;--swatch-ring:#fff;--landing-glow:#13202e;--drop-border:#34506b;--drop-bg:#0a1e32bf;--busy-bg:#00000080;--backdrop:#0009;--shadow:#00000080;--shadow-strong:#0009;--scroll-thumb:#3a4351;--scroll-thumb-hover:#566274;--mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--rail-w:44px;--sidebar-w:320px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px}:root[data-theme=light]{--bg:#eef1f5;--chrome:#f8f9fb;--panel:#fff;--panel-2:#f1f3f6;--border:#d9dee6;--border-strong:#b8c0cc;--text:#1d2430;--muted:#5d6776;--accent:#1673b8;--accent-2:#1d7fc4;--accent-soft:#1673b81f;--danger:#d0283c;--danger-text:#a3192b;--warn:#9a5b00;--success:#2f7d1e;--trigger:#c4691a;--text-2:#3d4654;--text-strong:#000;--hover:#e6eaf0;--hover-soft:#eceff4;--field:#fff;--plot-bg:#fff;--overview-bg:#f6f7f9;--tool-group-bg:#e9edf2;--float-bg:#fffffff0;--float-bg-solid:#fffffffa;--float-border:#b8c0cc;--readout-bg:#ffffffeb;--toast-bg:#fff;--error-bg:#fde8eb;--error-text:#8a1626;--key-text:#1f5f96;--swatch-ring:#1d2430;--landing-glow:#dbe9f6;--drop-border:#8fb3d4;--drop-bg:#e1eefacc;--busy-bg:#eef1f5b3;--backdrop:#141e2d59;--shadow:#141e2d2e;--shadow-strong:#141e2d40;--scroll-thumb:#c3cad4;--scroll-thumb-hover:#a3acb9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}:hover{scrollbar-color:var(--scroll-thumb-hover) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}html,body,#root{background:var(--bg);height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;padding:5px 11px}button:hover:not(:disabled){border-color:var(--border-strong);background:var(--hover)}button:disabled{opacity:.4;cursor:default}button.active{background:var(--accent-2);border-color:var(--accent);color:#fff}button.text-btn{color:var(--accent);background:0 0;border:none;padding:2px 4px}button.text-btn.danger{color:var(--danger)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input,select{background:var(--field);border:1px solid var(--border);border-radius:5px;min-width:0;padding:4px 6px}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}input[type=color]{cursor:pointer;background:0 0;border:none;width:26px;height:22px;padding:0}input[type=checkbox]{accent-color:var(--accent)}textarea{resize:vertical;background:var(--field);border:1px solid var(--border);border-radius:5px;width:100%;padding:5px 7px}kbd{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--border-strong);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:11px}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--muted)}.spacer{flex:1}.icon-btn{min-width:30px;height:30px;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 7px;display:inline-flex;position:relative}.icon-btn:hover:not(:disabled){background:var(--hover-soft);color:var(--text);border-color:#0000}.icon-btn.active,.icon-btn.active:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:#0000}.icon-btn.with-label{padding:0 9px 0 8px}.icon-badge{background:var(--accent-2);color:#fff;border-radius:8px;min-width:15px;height:15px;padding:0 4px;font-size:10px;line-height:15px;position:absolute;top:1px;right:1px}.landing{background:radial-gradient(ellipse at 50% 30%, var(--landing-glow) 0%, var(--bg) 60%);place-items:center;height:100%;padding:16px;display:grid}.landing-card{flex-direction:column;gap:18px;width:min(560px,100%);display:flex}.landing-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.landing-card p.legal{font-size:12px}.landing-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.landing-card p.legal a,.help-popover .version a{color:inherit}.brand{letter-spacing:.02em;color:var(--accent);align-items:center;gap:8px;font-weight:600;display:flex}.brand.big{color:var(--text);font-size:26px}.logo{color:var(--accent)}.drop-target{border:1.5px dashed var(--drop-border);background:#3fb6ff0a;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:48px 16px;font-size:15px;display:flex}.drop-target span{color:var(--muted);font-size:13px}.formats{margin:0;padding-left:18px;line-height:1.8}code{font-family:var(--mono);background:var(--panel-2);border-radius:4px;padding:1px 5px}.error{color:var(--danger);background:#ff5a6a1a;border:1px solid #ff5a6a59;border-radius:6px;padding:8px 12px}.scope{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.topbar{background:var(--chrome);border-bottom:1px solid var(--border);align-items:center;gap:4px;min-width:0;height:44px;padding:0 8px;display:flex}.topbar .brand{padding:0 6px 0 4px}.file-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:260px;margin-left:2px;overflow:hidden}.sep{background:var(--border);width:1px;height:22px;margin:0 4px}.tool-group{background:var(--tool-group-bg);border:1px solid var(--border);border-radius:8px;gap:1px;margin:0 2px;padding:2px;display:flex}.tool-group .icon-btn{height:26px}.menu{position:relative}.menu-list{background:var(--panel);border:1px solid var(--border-strong);min-width:230px;box-shadow:0 10px 30px var(--shadow);z-index:40;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu-list button{text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:7px 9px;display:flex}.menu-list button:hover:not(:disabled){background:var(--hover)}.menu-list.left{left:0;right:auto}.menu-list small{color:var(--muted);margin-left:auto}.context-menu{z-index:90;background:var(--panel);border:1px solid var(--border-strong);min-width:220px;max-width:320px;max-height:calc(100vh - 8px);box-shadow:0 10px 30px var(--shadow);-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:fixed;overflow-y:auto}.context-menu:focus{outline:none}.context-menu .cm-item{text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:5px 8px 5px 6px;display:flex}.context-menu .cm-item:hover:not(:disabled),.context-menu .cm-item:focus{background:var(--hover);outline:none}.context-menu .cm-item:focus-visible{box-shadow:inset 0 0 0 1px var(--accent)}.context-menu .cm-item.danger{color:var(--danger)}.cm-icon{width:16px;color:var(--muted);flex:none;display:inline-flex}.cm-item:hover:not(:disabled) .cm-icon,.cm-item:focus .cm-icon{color:var(--text)}.cm-item.danger .cm-icon{color:inherit}.cm-label{text-overflow:ellipsis;flex:1;overflow:hidden}.context-menu kbd{color:var(--muted);border-color:var(--border);background:0 0;margin-left:12px}.cm-heading{letter-spacing:.03em;color:var(--muted);align-items:center;gap:2px;padding:6px 8px 3px;font-size:11px;font-weight:600;display:flex}.cm-heading .dot{flex:none}.cm-heading-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cm-heading small{color:var(--text);white-space:nowrap;margin-left:auto;padding-left:12px;font-weight:400}.cm-choices{align-items:center;gap:8px;padding:4px 6px 4px 30px;display:flex}.cm-choices-label{color:var(--muted);min-width:52px}.cm-options{flex-wrap:wrap;gap:4px;display:flex}.cm-options button:not(.swatch){border-radius:5px;padding:2px 8px;font-size:12px}.cm-options button:focus{outline:1px solid var(--accent);outline-offset:1px}.cm-options .swatch{width:16px;height:16px}.cm-options .swatch:focus{border-color:var(--swatch-ring);outline:none}.workspace{grid-template-columns:minmax(0,1fr) auto auto;min-height:0;display:grid;position:relative}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.plot-area{background:var(--plot-bg);touch-action:none;-webkit-user-select:none;user-select:none;flex:1 1 0;min-height:120px;position:relative;overflow:hidden}.cursor-readout{background:var(--readout-bg);border:1px solid var(--float-border);width:260px;font-family:var(--mono);pointer-events:none;border-radius:4px;grid-template-columns:1fr 1fr;gap:2px 10px;padding:6px 10px;font-size:11px;display:grid;position:absolute;top:22px}.hover-time{font-family:var(--mono);color:var(--muted);pointer-events:none;font-size:11px;position:absolute;bottom:28px;right:70px}.offscreen-callouts{z-index:3;border-color:var(--float-border);background:var(--float-bg);color:var(--text);border-radius:8px;padding:0 7px;font-size:11px;line-height:15px;position:absolute;top:2px}.offscreen-callouts.left{left:4px}.offscreen-callouts:hover:not(:disabled){border-color:var(--accent);background:var(--float-bg-solid);color:var(--accent)}.drag-readout{z-index:2;background:var(--float-bg);border:1px solid var(--float-border);font-family:var(--mono);white-space:nowrap;pointer-events:none;border-radius:4px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;display:flex;position:absolute}.hover-readout{z-index:2;background:var(--float-bg);border:1px solid var(--float-border);white-space:nowrap;pointer-events:none;border-radius:4px;grid-template-columns:auto auto auto;align-items:center;gap:1px 7px;padding:5px 9px 6px;font-size:11px;display:grid;position:absolute}.hr-time{color:var(--text);grid-column:1/-1;margin-bottom:2px}.hr-row{display:contents}.hr-row .dot{width:7px;height:7px;margin:0}.hr-name{color:var(--muted)}.hr-label{text-overflow:ellipsis;vertical-align:bottom;max-width:90px;margin-left:5px;display:inline-block;overflow:hidden}.hr-value{text-align:right;color:var(--text-2)}.hr-row.near .hr-name,.hr-row.near .hr-value{color:var(--text-strong);font-weight:600}.tool-hint{color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;max-width:calc(100% - 140px);box-shadow:0 4px 14px var(--shadow);background:#1d7fc4eb;border-radius:14px;padding:5px 12px;font-size:12px;position:absolute;bottom:34px;left:50%;overflow:hidden;transform:translate(-50%)}.rail{width:var(--rail-w);background:var(--chrome);border-left:1px solid var(--border);flex-direction:column;align-items:center;gap:4px;padding:8px 0;display:flex}.rail .icon-btn{width:32px;height:32px}.rail-sep{background:var(--border);width:22px;height:1px;margin:4px 0}.sidebar{width:var(--sidebar-w);background:var(--panel);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.sidebar-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 6px 6px 12px;display:flex}.sidebar-head h3{margin:0;font-size:13px;font-weight:600}.panel-body{flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.panel-body>*{flex-shrink:0}.panel-body h4{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 0;font-size:12px;font-weight:600}.hint{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.row{justify-content:space-between;align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap;justify-content:flex-start}.switch{align-items:center;gap:6px;font-weight:600;display:flex}.popover{z-index:40;background:var(--panel);border:1px solid var(--border-strong);box-shadow:0 12px 34px var(--shadow);border-radius:8px;padding:10px;position:absolute}.help{position:relative}.help-popover{width:380px;bottom:0;right:calc(100% + 8px)}.help-popover h4{margin:0 0 8px;font-size:13px}.help-popover dl{flex-direction:column;gap:5px;margin:0;display:flex}.help-popover dl>div{grid-template-columns:150px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.help-popover dt{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.help-popover dt kbd{white-space:normal;max-width:100%}.help-popover .version{border-top:1px solid var(--border);color:var(--muted);margin:10px 0 0;padding-top:8px;font-size:11px}.help-popover dd{color:var(--muted);margin:0}.channel-bar{background:var(--chrome);border-top:1px solid var(--border);align-items:stretch;gap:8px;min-width:0;padding:5px 8px;display:flex}.badges-wrap{flex:0 auto;min-width:0;display:flex;position:relative}.badges{scrollbar-width:none;min-width:0;overflow:auto hidden}.badges::-webkit-scrollbar{display:none}.badges-track{gap:5px;width:max-content;height:100%;display:flex}.badges-scroll{z-index:1;width:34px;color:var(--text);border:none;border-radius:0;align-items:center;padding:0 2px;display:flex;position:absolute;top:0;bottom:0}.badges-scroll.left{background:linear-gradient(to right, var(--chrome) 40%, transparent);justify-content:flex-start;left:0}.badges-scroll.right{background:linear-gradient(to left, var(--chrome) 40%, transparent);justify-content:flex-end;right:0}.badges-scroll.left:hover:not(:disabled){color:var(--accent);background:linear-gradient(to right, var(--chrome) 40%, transparent)}.badges-scroll.right:hover:not(:disabled){color:var(--accent);background:linear-gradient(to left, var(--chrome) 40%, transparent)}.badge-actions{flex:none;gap:5px;display:flex}.ch-badge{border:1px solid var(--border);border-top:3px solid var(--ch);background:var(--panel-2);border-radius:5px;flex:none;display:flex;position:relative}.ch-badge.selected{border-color:var(--ch);box-shadow:0 0 0 1px var(--ch) inset}.ch-badge.off:not(.selected){border-color:color-mix(in srgb, var(--border) 60%, transparent);border-top-color:color-mix(in srgb, var(--ch) 45%, transparent)}.ch-badge.off .ch-main,.ch-badge.off .ch-eye{opacity:.45}.ch-main{text-align:left;background:0 0;border:none;border-radius:0;grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:baseline;column-gap:8px;padding:3px 4px 3px 8px;display:grid}.ch-main:hover:not(:disabled){background:0 0}.ch-name{color:var(--ch);font-weight:700}.ch-scale{font-size:11.5px}.ch-label{text-overflow:ellipsis;max-width:110px;color:var(--muted);grid-column:1/-1;font-size:11.5px;overflow:hidden}.ch-eye{color:var(--muted);background:0 0;border:none;border-radius:0 5px 5px 0;padding:0 6px}.ch-eye:hover:not(:disabled){color:var(--text);background:var(--hover)}.info-box{border-left:1px solid var(--border);flex:none;grid-template-columns:auto;align-content:center;padding:2px 10px;line-height:1.3;display:grid}.info-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10.5px}.info-main{font-size:12.5px}.info-sub{color:var(--muted);font-size:11px}.info-box.trigger .info-main{color:var(--trigger)}.channel-settings{flex-direction:column;gap:9px;width:310px;display:flex}.channel-head{align-items:center;gap:6px;display:flex}.chip{background:var(--ch);color:#000;white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:600}.label-input{flex:1}.channel-grid,.form-grid{color:var(--muted);grid-template-columns:62px 1fr;align-items:center;gap:6px 8px;font-size:12px;display:grid}.stepper{color:var(--text);align-items:center;gap:4px;display:flex}.stepper button{padding:1px 8px}.stepper>.mono:not(input){text-align:center;min-width:90px}.stepper input.num{text-align:right;width:70px}.stepper input.num.wide{width:110px}.unit{color:var(--muted)}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);padding:4px 10px}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table th{color:var(--muted);background:var(--panel);font-size:12px;font-weight:500;position:sticky;top:0}.data-table.compact th,.data-table.compact td{padding:3px 4px}.dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.x{color:var(--muted);visibility:hidden;background:0 0;border:none;padding:0 0 0 4px}th:hover .x{visibility:visible}.readout-grid{color:var(--muted);grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:4px 8px;padding:6px 0;display:grid}.readout-grid b{color:var(--text);font-weight:500}.measure{background:var(--panel);border-top:1px solid var(--border);flex-direction:column;flex:0 auto;min-height:90px;display:flex;position:relative}.resize-handle{cursor:ns-resize;z-index:3;touch-action:none;height:8px;position:absolute;top:-4px;left:0;right:0}.resize-handle:hover{background:linear-gradient(transparent 3px, var(--accent) 3px, var(--accent) 5px, transparent 5px)}.measure-bar{flex-wrap:wrap;align-items:center;gap:10px;padding:4px 6px 4px 10px;display:flex}.section-title{font-weight:600}.segmented{display:flex}.segmented button{border-radius:0;margin-left:-1px;padding:3px 10px;font-size:12px}.segmented button:first-child{border-radius:5px 0 0 5px}.segmented button:last-child{border-radius:0 5px 5px 0}.measure-scroll{flex:1;min-height:0;overflow:auto}.info-list{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.info-list dt{color:var(--muted)}.info-list dd{word-break:break-word;margin:0}.screenshot{border:1px solid var(--border);cursor:zoom-in;border-radius:4px;width:100%}.modal{z-index:50;cursor:zoom-out;background:#000000d9;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal img{max-width:100%;max-height:100%}.search{width:100%}.setup-list{background:var(--field);border:1px solid var(--border);border-radius:5px;max-height:min(420px,60vh);padding:6px;font-size:11px;line-height:1.5;overflow:auto}.setup-list .k{color:var(--key-text)}.setup-list .v{word-break:break-all}.overview{background:var(--overview-bg);border-bottom:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;flex:none;overflow:hidden}.callout-layer{pointer-events:none;position:absolute;top:0;left:0;overflow:hidden}.callout-editor{background:var(--float-bg-solid);border:1px solid var(--float-border);width:250px;box-shadow:0 6px 24px var(--shadow);cursor:default;z-index:5;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute}.callout-editor-row{align-items:center;gap:5px;display:flex}.callout-values{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.measure-pills{flex-wrap:wrap;gap:3px;display:flex}button.pill{color:var(--muted);border-radius:10px;padding:1px 7px;font-size:11.5px}button.pill.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.callout-editor-hint{color:var(--muted);font-size:11px}.swatch{border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0}.swatch.active,.swatch:hover:not(:disabled){border-color:var(--swatch-ring)}.callout-search{align-items:center;gap:8px;display:flex}.callout-search input{flex:1}.callout-search .muted{white-space:nowrap;font-size:12px}.callout-tools{gap:6px;display:flex}.callout-tools button{flex:1}.callout-card{border:1px solid var(--border);border-left:3px solid var(--co);background:var(--panel-2);cursor:pointer;border-radius:6px;flex-direction:column;gap:6px;padding:7px 8px;display:flex}.callout-card.selected{border-color:var(--co);box-shadow:0 0 0 1px var(--co) inset}.callout-card-head{align-items:center;gap:8px;display:flex}.callout-icon{color:var(--co);font-size:14px}.empty{color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:6px;padding:18px 0}.drop-overlay,.busy-overlay{background:var(--drop-bg);border:3px dashed var(--accent);z-index:100;pointer-events:none;place-items:center;font-size:22px;display:grid;position:fixed;inset:0}.busy-overlay{background:var(--busy-bg);border:none}.toast{background:var(--error-bg);border:1px solid var(--danger);color:var(--error-text);z-index:100;cursor:pointer;border-radius:6px;padding:10px 16px;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.ch-badge-inner{display:flex}.ch-badge.error{border-top-color:var(--danger)}.ch-badge.error .ch-scale{color:var(--danger)}.add-math{border:1px dashed var(--border-strong);color:var(--muted);background:0 0;flex:none;align-self:stretch;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.add-math:hover:not(:disabled){color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.math-editor{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:8px 0 4px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px}.expr-row{gap:4px;display:flex}.expr-row .expr{flex:1;padding:5px 7px;font-size:13px}.expr.invalid{border-color:var(--danger);outline-color:var(--danger)}.expr-msg{color:var(--muted);align-items:center;gap:4px;font-size:11.5px;display:flex}.expr-msg.error{color:var(--danger)}.operands{gap:10px;display:flex}.operands label{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.presets{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.presets button{padding:3px 4px;font-size:12px}.math-foot{align-items:center;gap:6px;margin-top:2px;display:flex}.math-foot .text-btn{align-items:center;gap:3px;display:inline-flex}.unit-field{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.unit-field input{width:64px}.th-btn{color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.th-btn svg{opacity:.45}.col-dragging{-webkit-user-select:none;user-select:none}.col-dragging th,.col-dragging .th-btn{cursor:grabbing}.data-table th.dragging{opacity:.45}.data-table th.drop-before{box-shadow:inset 2px 0 0 var(--accent)}.data-table th.drop-after{box-shadow:inset -2px 0 0 var(--accent)}.th-btn:hover:not(:disabled){color:var(--accent);background:0 0}.th-btn:hover svg{opacity:1}.measure-info{flex-direction:column;gap:6px;display:flex}.measure-info p{color:var(--text-2);margin:0;line-height:1.45}.measure-info p.lead{color:var(--text)}.measure-info-head{align-items:center;gap:8px;font-size:14px;display:flex}.measure-info.compact p:last-child{font-size:12px}.tag{text-transform:uppercase;letter-spacing:.05em;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:10.5px}.measure-figure{background:var(--plot-bg);border:1px solid var(--border);border-radius:5px;width:100%;height:auto;font-family:system-ui,sans-serif}.formula code{font-size:11.5px}.add-list{flex-direction:column;gap:2px;display:flex}.add-group{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:6px 6px 2px;font-size:11px}.add-item{text-align:left;white-space:normal;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:5px 6px;display:flex}.add-item span{color:var(--muted);font-size:12px}.add-item:hover:not(:disabled){background:var(--hover)}.segmented.full{width:100%}.segmented.full button{flex:1}.note-card{border:1px solid var(--border);background:var(--panel-2);border-radius:6px;padding:8px 10px}.note-card p{color:var(--text-2);margin:4px 0 0;line-height:1.45}.note-card .examples code{font-size:11.5px}.ref-item{border-bottom:1px solid var(--border);padding:10px 0}.ref-item.focused{background:var(--accent-soft);margin:0 -10px;padding:10px}.op-list{flex-direction:column;gap:4px;margin:6px 0 0;display:flex}.op-list>div{grid-template-columns:110px 1fr;align-items:baseline;gap:8px;display:grid}.op-list dd{color:var(--text-2);margin:0}.fn-item{border-bottom:1px solid var(--border);padding:7px 0}.fn-item p{margin:3px 0 0;line-height:1.4}.fn-item .sig{color:var(--accent);font-size:12.5px}.menu-divider{background:var(--border);height:1px;margin:4px 2px}.menu-entry>button{text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:7px 9px;display:flex}.menu-entry>button:hover:not(:disabled){background:var(--hover)}.save-status{color:var(--muted);background:0 0;border:none;align-items:center;gap:4px;padding:2px 6px;font-size:12px;display:inline-flex}.save-status.error{color:var(--danger)}.modal-backdrop{z-index:60;background:var(--backdrop);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--border-strong);width:min(720px,100%);max-height:calc(100vh - 32px);box-shadow:0 20px 60px var(--shadow-strong);border-radius:10px;flex-direction:column;display:flex}.dialog-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;display:flex}.dialog-head h3{margin:0;font-size:14px}.dialog-body{grid-template-columns:190px minmax(0,1fr);min-height:0;display:grid;overflow:auto}.dialog-nav{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:8px;display:flex}.dialog-nav button{text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:7px 9px;display:flex}.dialog-nav button span{flex-direction:column;display:flex}.dialog-nav small{color:var(--muted);font-size:11px}.dialog-nav button.active{background:var(--accent-soft);color:var(--accent)}.dialog-options{flex-direction:column;gap:12px;padding:12px 16px;display:flex}.dialog-options fieldset{border:none;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:0;display:flex}.dialog-options legend{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;padding:0;font-size:11px}.check{align-items:center;gap:6px;width:100%;display:flex}.check.disabled{opacity:.45}.check-grid{grid-template-columns:1fr 1fr;gap:4px 12px;width:100%;display:grid}.field{align-items:center;gap:10px;display:flex}.field>span{width:70px;color:var(--muted);flex:none;font-size:12px}.field input,.field select{flex:1}.field.column{align-items:flex-start}.hint.warn{color:var(--warn)}.success{color:var(--success)}.dialog-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.dialog-foot button{align-items:center;gap:6px;display:inline-flex}button.primary{background:var(--accent-2);border-color:var(--accent);color:#fff}.storage{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.button-row{flex-wrap:wrap;gap:6px;display:flex}.button-row button{align-items:center;gap:5px;display:inline-flex}@media (width<=700px){.dialog-body{grid-template-columns:1fr}.dialog-nav{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap}}.toast-stack{z-index:70;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.undo-toast{pointer-events:auto;background:var(--toast-bg);border:1px solid var(--border-strong);box-shadow:0 8px 24px var(--shadow);border-radius:8px;align-items:center;gap:10px;padding:6px 6px 6px 14px;display:flex}.undo-toast.notice{pointer-events:none;padding:7px 14px}.undo-toast .text-btn{align-items:center;gap:6px;font-weight:600;display:inline-flex}.crash h2{color:var(--danger);align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.crash pre{white-space:pre-wrap;word-break:break-word;background:var(--panel);border:1px solid var(--border);color:var(--danger-text);border-radius:6px;margin:0;padding:10px 12px}.install-hint{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.install-hint button{align-items:center;gap:7px;display:inline-flex}.pwa-toast{z-index:80;background:var(--toast-bg);border:1px solid var(--border-strong);max-width:min(520px,100vw - 32px);box-shadow:0 8px 24px var(--shadow);border-radius:8px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex;position:fixed;bottom:84px;right:16px}.pwa-toast>svg{color:var(--accent);flex:none}.recent-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.recent-list li{border-radius:6px;align-items:center;gap:2px;display:flex}.recent-list li.current{background:var(--accent-soft)}.recent-open{text-align:left;white-space:normal;background:0 0;border:1px solid #0000;flex:1;align-items:center;gap:9px;min-width:0;padding:5px 7px;display:flex}.recent-open:hover:not(:disabled){background:var(--hover-soft);border-color:#0000}.recent-open:disabled{opacity:1;cursor:default}.recent-open>svg{color:var(--muted);flex:none}.recent-text{flex-direction:column;flex:1;min-width:0;display:flex}.recent-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.recent-text .muted{font-size:11.5px}.recent-action{color:var(--accent);opacity:0;flex:none;font-size:12px}.recent-open:hover .recent-action,.recent-open:focus-visible .recent-action{opacity:1}.keep-files{font-size:12.5px}.storage-usage{margin:-2px 0 0 22px}.landing .recent h4{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;font-size:12px;font-weight:600}.landing .recent.hidden{display:none}.palette-backdrop{z-index:70;background:var(--backdrop);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.palette{background:var(--panel);border:1px solid var(--border-strong);width:min(620px,100%);max-height:min(560px,76vh);box-shadow:0 20px 60px var(--shadow-strong);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.palette-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.palette-input input,.palette-input input:focus{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-size:14px}.palette-list{margin:0;padding:4px;list-style:none;overflow-y:auto}.palette-list li{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.palette-list li.active{background:var(--hover)}.cmd-icon{width:16px;color:var(--muted);flex:none;justify-content:center;display:inline-flex}.palette-list li.active .cmd-icon{color:var(--text)}.cmd-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmd-group{color:var(--muted);flex:none;font-size:12px}.palette-empty{text-align:center;color:var(--muted);padding:18px 12px}.palette-foot{border-top:1px solid var(--border);color:var(--muted);padding:6px 12px;font-size:11.5px}@media (width<=1250px){.btn-label{display:none}.icon-btn.with-label{padding:0 7px}}@media (width<=900px){.sidebar{top:0;bottom:0;right:var(--rail-w);width:min(var(--sidebar-w), calc(100vw - var(--rail-w) - 16px));z-index:30;box-shadow:-8px 0 24px var(--shadow);position:absolute}.file-name,.topbar .sep,.info-box .info-sub{display:none}}.spectrum{background:var(--panel);border-top:1px solid var(--border);flex-direction:column;flex:0 auto;min-height:0;display:flex;position:relative}.spectrum-bar{flex-wrap:wrap;align-items:center;gap:8px 10px;padding:4px 6px 4px 10px;display:flex}.spec-chips{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.spec-chip{border:1px solid var(--border);border-left:3px solid var(--ch);background:var(--panel-2);border-radius:5px;align-items:center;gap:1px;padding:1px 2px 1px 3px;display:flex}.spec-chip.off{opacity:.5}.spec-chip select{background:0 0;border:none;padding:2px;font-size:12px}.spec-chip select:first-child{color:var(--ch);font-weight:700}.spec-chip select option{background:var(--panel);color:var(--text)}.chip-btn{color:var(--muted);background:0 0;border:none;align-items:center;padding:3px 4px;display:inline-flex}.chip-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.inline-field{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.inline-field select{padding:2px 4px;font-size:12px}.spectrum-body{flex:0 auto;min-height:0;display:flex}.spectrum-plot{background:var(--plot-bg);touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-width:0;position:relative;overflow:hidden}.spec-readout{background:var(--readout-bg);border:1px solid var(--float-border);white-space:nowrap;pointer-events:none;border-radius:4px;flex-direction:column;gap:2px;padding:5px 9px;display:flex;position:absolute;top:8px}.spec-readout .mono{font-size:11px}.spec-readout .dot{width:7px;height:7px}.spec-empty{color:var(--muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.spec-side{border-left:1px solid var(--border);flex-direction:column;flex:none;gap:10px;width:232px;padding:6px 8px;display:flex;overflow-y:auto}.spec-block.off{opacity:.55}.spec-block-head{align-items:center;gap:6px;display:flex}.spec-block-head .dot{margin-right:0}.spec-meta{color:var(--muted);margin:2px 0 3px;font-size:11px}.data-table.peaks td{padding:2px 4px;font-size:11.5px}.small{font-size:11.5px}button.toggle-btn{align-items:center;gap:5px;padding:2px 9px;font-size:12px;display:inline-flex}button.toggle-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.window-table{margin-top:4px}.range-select{padding:2px 4px;font-size:12px}.spectrum-body{container-type:inline-size}@media (width<=700px){.main{overflow-y:auto}.plot-area{flex-basis:auto;min-height:240px}.spectrum,.measure{flex-shrink:0}}@container (width<=620px){.spec-side{display:none}}.spec-options{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-left:auto;display:flex}
