:root{--bg: #f6f8fb;--surface: #ffffff;--surface-2: #eef2f7;--surface-3: #e3e9f1;--border: #d7dee8;--border-strong: #b6c3d4;--text: #0f1b2d;--text-muted: #4a5b72;--text-subtle: #56657a;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-soft: #dbeafe;--success: #15803d;--success-bg: #dcfce7;--danger: #b91c1c;--danger-bg: #fee2e2;--warn: #b45309;--warn-bg: #fef3c7;--shadow: 0 1px 2px rgba(15, 27, 45, .06), 0 4px 12px rgba(15, 27, 45, .06);--radius-sm: 8px;--radius: 10px;--radius-lg: 14px;--elev-1: 0 2px 8px rgba(15, 27, 45, .08), 0 1px 2px rgba(15, 27, 45, .06);--elev-2: 0 8px 24px rgba(15, 27, 45, .1), 0 2px 6px rgba(15, 27, 45, .06);--control-h: 44px;--state-hover: color-mix(in srgb, var(--accent) 8%, var(--surface-2));--state-press: color-mix(in srgb, var(--accent) 14%, var(--surface-3));--ring: 0 0 0 2px var(--accent), 0 0 0 4px var(--surface);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--z-raised: 10;--z-sticky: 100;--z-drawer: 1000;--z-overlay: 2000;--z-modal: 3000;--z-toast: 4000;--z-drag: 5000;--dur-fast: .15s;--dur-base: .2s;--dur-slow: .3s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--tap-min: 44px;--nl-measure-body-max: min(32vh, 220px);--brand-mark: #3B82F6;--hdr-line: 1px;--hdr-clear: transparent;--hdr-zero: 0;--hdr-icon: 20px;--hdr-mark: 32px;--hdr-mark-small: 18px;--hdr-lab-mark: 28px;--hdr-lab-hero: 32px;--hdr-mobile-logo: 20px;--hdr-title: 20px;--hdr-title-hero: 22px;--hdr-mobile-title: 14px;--hdr-weight: 600;--hdr-bold: 700;--hdr-regular: 500;--hdr-leading: 1.25;--hdr-focus-offset: 2px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b1220;--surface: #121a2b;--surface-2: #1a2438;--surface-3: #223049;--border: #26334a;--border-strong: #36476a;--text: #e6edf7;--text-muted: #a3b3c9;--text-subtle: #7d8ca3;--accent: #60a5fa;--accent-strong: #93c5fd;--accent-soft: #172a4a;--success: #4ade80;--success-bg: #0f2e1d;--danger: #f87171;--danger-bg: #3a1414;--warn: #fbbf24;--warn-bg: #3a2a08;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .3);--elev-1: 0 2px 10px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .25);--elev-2: 0 10px 28px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);--state-hover: color-mix(in srgb, var(--accent) 12%, var(--surface-2));--state-press: color-mix(in srgb, var(--accent) 18%, var(--surface-3));--ring: 0 0 0 2px var(--accent), 0 0 0 4px var(--bg);--brand-mark: #60A5FA;color-scheme:dark}}[data-theme=dark]{--bg: #0b1220;--surface: #121a2b;--surface-2: #1a2438;--surface-3: #223049;--border: #26334a;--border-strong: #36476a;--text: #e6edf7;--text-muted: #a3b3c9;--text-subtle: #7d8ca3;--accent: #60a5fa;--accent-strong: #93c5fd;--accent-soft: #172a4a;--success: #4ade80;--success-bg: #0f2e1d;--danger: #f87171;--danger-bg: #3a1414;--warn: #fbbf24;--warn-bg: #3a2a08;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .3);--radius-sm: 8px;--radius-lg: 14px;--elev-1: 0 2px 10px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .25);--elev-2: 0 10px 28px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);--control-h: 44px;--state-hover: color-mix(in srgb, var(--accent) 12%, var(--surface-2));--state-press: color-mix(in srgb, var(--accent) 18%, var(--surface-3));--ring: 0 0 0 2px var(--accent), 0 0 0 4px var(--bg);--brand-mark: #60A5FA;color-scheme:dark}:where(button,a,[role=tab],input,select,textarea,[tabindex]):focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--ring)}@media(forced-colors:active){:where(button,a,[role=tab],input,select,textarea,[tabindex]):focus-visible{outline-color:Highlight}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button{touch-action:manipulation}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}:where(button,input,select,textarea){font-family:inherit}:where(p){line-height:1.5}.action-btn{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);padding:8px 14px;cursor:pointer;border-radius:6px;font-size:13px;transition:all var(--dur-base) var(--ease-out);font-family:var(--font-sans)}.action-btn:has(>svg){display:inline-flex;align-items:center;justify-content:center;gap:6px}.action-btn>svg{flex-shrink:0}.action-btn:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--surface-3);transform:translateY(-1px)}.action-btn:active:where(:not(:disabled,[aria-disabled=true])){transform:translateY(0)}.action-btn--danger{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.action-btn--danger:hover:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--danger) 8%,var(--danger-bg))}.action-btn--success{background:var(--success-bg);border-color:var(--success);color:var(--success)}.action-btn--success:hover:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--success) 8%,var(--success-bg));color:color-mix(in srgb,var(--success) 75%,var(--text))}.action-btn--primary{font-weight:700;border-width:1px}.action-btn--primary:disabled,.action-btn--primary[aria-disabled=true]{opacity:.45;filter:none;background:var(--surface-3);border-color:var(--border-strong);color:var(--text-muted)}.action-btn--quiet-danger{background:var(--surface);border:1px solid var(--border);color:var(--danger)}.action-btn--quiet-danger:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--danger-bg)}.action-btn--quiet-danger svg{color:var(--danger)}.action-btn--ghost{background:transparent;border-color:transparent}.action-btn--ghost:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--state-hover)}.action-btn--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.action-btn:disabled,.action-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.action-btn:disabled:hover,.action-btn:disabled:active,.action-btn[aria-disabled=true]:hover,.action-btn[aria-disabled=true]:active{transform:none}.action-btn--quiet-danger:disabled,.action-btn--quiet-danger[aria-disabled=true]{color:var(--text-subtle);background:var(--surface)}.action-btn--quiet-danger:disabled:hover,.action-btn--quiet-danger[aria-disabled=true]:hover{background:var(--surface)}.action-btn--quiet-danger:disabled svg,.action-btn--quiet-danger[aria-disabled=true] svg{color:var(--text-subtle)}.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;min-width:var(--tap-min);min-height:var(--tap-min);padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:var(--hdr-regular) var(--fs-sm) / var(--hdr-leading) var(--font-sans);cursor:pointer;touch-action:manipulation}.header-icon-btn:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--state-hover)}.header-icon-btn:active:where(:not(:disabled,[aria-disabled=true])){background:var(--state-press)}.header-icon-btn:disabled,.header-icon-btn[aria-disabled=true]{color:var(--text-subtle);cursor:not-allowed}.nl-header-actions .action-btn.header-icon-btn:not(.nl-header-cta){border:0;background:transparent;transform:none}.nl-header-actions .action-btn.header-icon-btn:not(.nl-header-cta):hover:where(:not(:disabled,[aria-disabled=true])){background:var(--state-hover);transform:none}.nl-header-actions .action-btn.header-icon-btn:not(.nl-header-cta):active:where(:not(:disabled,[aria-disabled=true])){background:var(--state-press);transform:none}.nl-header-actions .action-btn.header-icon-btn.nl-header-cta{color:var(--accent-strong);background:var(--accent-soft);padding-inline:var(--space-4)}.nl-header-actions .action-btn.header-icon-btn.nl-header-cta:hover:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--accent) 12%,var(--accent-soft));transform:none}.nl-header-actions .action-btn.header-icon-btn.nl-header-cta:active:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--accent) 18%,var(--accent-soft));transform:none}.nl-header{box-sizing:border-box;display:flex;align-items:center;gap:var(--space-7);flex-shrink:0;padding:var(--space-5) var(--space-6);background:var(--surface);color:var(--text);border-bottom:var(--hdr-line) solid var(--accent);font-family:var(--font-sans)}.nl-header-brand{min-width:0;flex:1 1 auto}.nl-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;flex-wrap:nowrap;margin-inline-start:auto}.nl-header-actions .header-btn-label{white-space:nowrap}.nl-header-cta{color:var(--accent-strong);background:var(--accent-soft);padding-inline:var(--space-4)}.nl-header-cta:hover:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--accent) 12%,var(--accent-soft))}@media(max-width:599px){.nl-header-cta{background:transparent;padding-inline:var(--space-2)}}.nl-metric{display:inline-flex;align-items:center;gap:var(--space-2);margin-inline-end:var(--space-3);padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;touch-action:manipulation}.nl-metric:hover:where(:not(:disabled)){background:var(--state-hover)}.nl-metric:focus-visible{outline:2px solid transparent;box-shadow:var(--ring)}.nl-metric>svg{display:block;width:var(--hdr-icon);height:var(--hdr-icon);flex-shrink:0}.nl-metric-value{font-size:var(--fs-lg);font-weight:var(--hdr-weight);color:var(--text);font-variant-numeric:tabular-nums}.nl-metric--running .nl-metric-value{color:var(--success)}.nl-brand{display:grid;grid-template-columns:var(--hdr-lab-hero) minmax(0,1fr);column-gap:var(--space-3);row-gap:var(--space-1);align-items:center;min-width:0;margin:0}.nl-brand-logo{grid-column:1;grid-row:1 / 3;width:var(--hdr-lab-hero);height:var(--hdr-lab-hero);display:block;flex:none;object-fit:contain}.nl-brand-title{grid-column:2;grid-row:1;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--hdr-title-hero);font-weight:var(--hdr-bold);line-height:var(--hdr-leading);color:var(--text)}.nl-brand-endorse{grid-column:2;grid-row:2;display:flex;align-items:center;gap:var(--space-2);margin:0;min-width:0;font-size:var(--fs-xs);line-height:var(--hdr-leading);color:var(--text-muted)}.nl-brand-mark{color:var(--brand-mark);flex:none}.nl-brand-parent{font-weight:var(--hdr-regular);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:599px){.nl-brand{grid-template-columns:var(--hdr-lab-mark) minmax(0,1fr);column-gap:var(--space-2)}.nl-brand-logo{width:var(--hdr-lab-mark);height:var(--hdr-lab-mark)}.nl-brand-title{font-size:var(--hdr-mobile-title)}}@media(max-width:379px){.nl-brand-title{font-size:var(--hdr-mobile-title)}}.nl-bench-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;color:var(--text)}.nl-bench-title{margin:0;margin-inline-end:auto;font:700 var(--fs-lg)/1.4 var(--font-sans)}.nl-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;color:var(--text);font-family:var(--font-sans)}.nl-empty>svg{display:block;flex:none;width:40px;height:40px;color:var(--text-subtle)}.nl-empty-title{margin:0;font-size:var(--fs-lg);line-height:1.4;font-weight:600;color:var(--text)}.nl-empty-sub{max-width:42ch;margin:0;margin-inline:auto;color:var(--text-muted);font-size:var(--fs-md);line-height:1.6}.nl-empty{z-index:var(--z-raised)}.nl-empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);pointer-events:auto}.nl-pill-btn,.nl-chip,.nl-card,.nl-tab,.nl-dialog-close{box-sizing:border-box;min-height:var(--tap-min);min-width:var(--tap-min);font-family:var(--font-sans);font-size:var(--fs-sm);cursor:pointer;touch-action:manipulation;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.nl-pill-btn{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--accent);border-radius:var(--space-8);background:var(--surface);color:var(--accent-strong);line-height:1.4;font-weight:600}.nl-pill-btn>svg,.nl-chip>svg,.nl-tab>svg,.nl-panel-hint>svg,.nl-dialog-close>svg{display:block;width:var(--space-5);height:var(--space-5);flex:none}.nl-chip-row{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2);scroll-padding-inline:var(--space-2);scrollbar-width:thin}.nl-chip-row[data-fade-start]{-webkit-mask-image:linear-gradient(to right,transparent,currentColor var(--space-4));mask-image:linear-gradient(to right,transparent,currentColor var(--space-4))}.nl-chip-row[data-fade-end]{-webkit-mask-image:linear-gradient(to left,transparent,currentColor var(--space-4));mask-image:linear-gradient(to left,transparent,currentColor var(--space-4))}.nl-chip-row[data-fade-start][data-fade-end]{-webkit-mask-image:linear-gradient(to right,transparent,currentColor var(--space-4),currentColor calc(100% - var(--space-4)),transparent);mask-image:linear-gradient(to right,transparent,currentColor var(--space-4),currentColor calc(100% - var(--space-4)),transparent)}.nl-chip{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--space-8);background:var(--surface);color:var(--text-muted);white-space:nowrap}.nl-chip-count{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.nl-chip[aria-selected=true],.nl-chip[aria-pressed=true]{color:var(--text);background:var(--accent-soft);border-color:var(--accent);font-weight:700}.nl-card{display:flex;align-items:center;gap:var(--space-3);min-height:44px;width:100%;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-align:start;line-height:1.4}.nl-card-media{width:32px;height:32px;display:grid;place-items:center;flex:none}.nl-card-media--sm{width:20px;height:20px}.nl-card-media>svg,.nl-card-media>img{display:block;width:100%;height:100%;object-fit:contain}.nl-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.nl-card-title{display:flex;align-items:center;gap:var(--space-2);min-width:0;margin:0;font-weight:600;line-height:1.3}.nl-card-title>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-width:0}.nl-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);min-width:0}.nl-card-check{margin-left:auto;width:16px;height:16px;display:block;flex:none}.nl-card--tile{flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:104px}.nl-card--tile>.nl-card-body{flex:none;width:100%}.nl-card--tile .nl-card-title{justify-content:center;min-height:2.6em}.nl-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.nl-card[data-dragging=true]{border-style:dashed;border-color:var(--accent);box-shadow:var(--elev-1);opacity:.7;transform:translateY(calc(-1 * var(--space-1)));cursor:grabbing}.nl-panel-title{margin:0;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-sans);line-height:1.5}.nl-panel-hint{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-4);color:var(--text-muted);font:400 var(--fs-sm)/1.6 var(--font-sans)}.nl-panel-section{padding-block:var(--space-3);border-bottom:1px solid var(--border);color:var(--text)}.nl-panel-section>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--tap-min);cursor:pointer;list-style:none;border-radius:var(--radius-sm)}.nl-panel-section>summary::-webkit-details-marker{display:none}.nl-panel-section>summary>svg{width:var(--space-4);height:var(--space-4);transition:transform var(--dur-base) var(--ease-out)}.nl-panel-section[open]>summary>svg{transform:rotate(180deg)}.nl-tabbar{display:flex;min-height:56px;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border-strong);z-index:var(--z-sticky)}.nl-tabbar .nl-tab>svg{width:20px;height:20px}.nl-tab{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1);border:0;border-top:2px solid transparent;background:transparent;color:var(--text-muted);text-decoration:none;font-size:var(--fs-xs);line-height:1.4}.nl-tab[aria-current=page]{color:var(--accent-strong);border-top-color:var(--accent);background:var(--accent-soft);font-weight:600}.nl-tabbar .nl-tab[aria-current=page]{border-top-width:3px}.nl-dialog{box-sizing:border-box;width:min(36rem,calc(100% - var(--space-6)));max-height:calc(100dvh - var(--space-8));margin:auto;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--elev-2);font:400 var(--fs-md)/1.6 var(--font-sans);z-index:var(--z-modal)}.nl-dialog[open]{display:flex;flex-direction:column}.nl-dialog::backdrop{background:color-mix(in srgb,var(--bg) 75%,transparent)}.nl-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.nl-dialog-title{margin:0;font-size:var(--fs-xl);line-height:1.4}.nl-dialog-close{display:grid;place-items:center;flex:none;padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted)}.nl-dialog-body{padding:var(--space-4);overflow:auto;min-height:0}.nl-dialog-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.nl-pill-btn:focus-visible,.nl-chip:focus-visible,.nl-card:focus-visible,.nl-tab:focus-visible,.nl-dialog-close:focus-visible,.nl-panel-section>summary:focus-visible,.nl-brand-title:focus-visible,.nl-card[data-preview=focus]{outline:2px solid transparent;box-shadow:var(--ring)}@media(hover:hover){.nl-pill-btn:hover:not(:disabled),.nl-chip:hover:not(:disabled),.nl-card:hover:not(:disabled),.nl-tab:hover:not(:disabled),.nl-dialog-close:hover{background:var(--state-hover)}}.nl-card[data-preview=hover]{background:var(--state-hover)}.nl-pill-btn:active:not(:disabled),.nl-chip:active:not(:disabled),.nl-card:active:not(:disabled),.nl-tab:active:not(:disabled),.nl-dialog-close:active,.nl-card[data-preview=active]{background:var(--state-press);transform:translateY(1px)}.nl-pill-btn:disabled,.nl-chip:disabled,.nl-card:disabled,.nl-tab:disabled,.nl-dialog-close:disabled{opacity:.45;cursor:not-allowed;transform:none}@media(prefers-reduced-motion:reduce){.nl-pill-btn,.nl-chip,.nl-card,.nl-tab,.nl-dialog-close,.nl-panel-section>summary>svg{transition:none}.nl-pill-btn:active,.nl-chip:active,.nl-card:active,.nl-tab:active,.nl-dialog-close:active,.nl-card[data-dragging],.nl-card[data-preview=active]{transform:none}}@media(max-width:599px){.nl-empty-actions{flex-direction:column;align-items:center;width:100%}.nl-empty-actions .nl-pill-btn{width:100%;max-width:320px}}.nl-module-header{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.nl-module-heading{display:flex;align-items:center;gap:16px;min-width:0}.nl-module-heading>.nl-brand{flex:none}.nl-module-switch{position:relative;display:flex;flex:none;align-items:stretch;box-sizing:border-box;min-height:var(--tap-min);gap:var(--space-1);background:transparent}.nl-module-switch>button{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;min-height:var(--tap-min);min-width:var(--tap-min);padding:0 var(--space-3);border:0;border-radius:var(--hdr-zero);border-bottom:var(--hdr-focus-offset) solid var(--hdr-clear);background:transparent;color:var(--text-muted);font:var(--hdr-regular) var(--fs-sm)/1.4 var(--font-sans);white-space:nowrap;cursor:pointer;touch-action:manipulation}.nl-module-switch>button[aria-pressed=true]{color:var(--accent-strong);font-weight:var(--hdr-weight);border-bottom-color:var(--accent);background:var(--hdr-clear)}.nl-module-switch>button>svg{display:block;width:16px;height:16px;flex:none}.nl-module-switch>button:focus-visible{outline:2px solid transparent;box-shadow:var(--ring)}.nl-module-header>.nl-module-actions{display:flex;align-items:center;gap:8px;margin-inline-start:auto;flex:none}@media(min-width:600px)and (not (min-width:900px)){.nl-module-heading{flex:1;flex-wrap:wrap;gap:12px 16px}}@media not (min-width:600px){.nl-module-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px}.nl-module-heading{display:contents}.nl-module-heading>.nl-brand{grid-column:1;grid-row:1}.nl-module-header>.nl-module-actions{grid-column:2;grid-row:1}.nl-module-switch{grid-column:1 / -1;grid-row:2;width:100%}.nl-module-switch>button{flex:1 1 0;min-width:0;padding-inline:4px}}.header-menu-wrap{position:relative}.header-overflow-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:60;min-width:min(92vw,280px);background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:4px}.header-overflow-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:var(--surface-2);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px;cursor:pointer;text-align:left}.header-overflow-item select{margin-left:auto;max-width:140px;font-size:13px}.header-overflow-timer{font-family:var(--font-mono);justify-content:flex-start}.nl-measure-dock{display:flex;flex-direction:column;flex:0 0 auto;min-height:0;margin-top:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.nl-measure-dock--collapsed{flex:0 0 auto}.nl-measure-dock:not(.nl-measure-dock--collapsed):not(.nl-measure-dock--tab){flex:0 1 auto}.nl-measure-dock--tab{flex:1 1 auto;min-height:0;margin-top:0;border:0;display:flex;flex-direction:column}.nl-measure-dock-header{flex:none}.nl-measure-dock-toggle{position:relative;display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--space-2) var(--space-3);border:0;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer}.nl-measure-dock-title{flex:none;min-width:0;font-size:var(--fs-sm);font-weight:600}.nl-measure-dock-title--tab{padding:var(--space-2) var(--space-3)}.nl-measure-dock-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:400;color:var(--text-muted)}.nl-measure-dock-toggle-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nl-measure-dock-body{flex:0 1 auto;min-height:0;max-height:var(--nl-measure-body-max);overflow:auto;padding:var(--space-2) var(--space-3)}.nl-measure-dock--tab .nl-measure-dock-body{max-height:none;flex:1 1 auto}.nl-measure-empty{margin:0;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5}@media not (min-width:600px){.nl-header:not(:has(.nl-module-switch)),.nl-header:has(.nl-module-switch){display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:var(--space-3) var(--space-2);padding:var(--space-3)}.nl-header:not(:has(.nl-module-switch)) .nl-header-brand,.nl-header:has(.nl-module-switch) .nl-header-brand{grid-column:1;grid-row:1;min-width:0}.nl-header:not(:has(.nl-module-switch)) .nl-header-actions,.nl-header:has(.nl-module-switch) .nl-header-actions{grid-column:2;grid-row:1;margin-inline-start:0;flex-wrap:nowrap;gap:0}.nl-header:not(:has(.nl-module-switch)) .nl-header-actions .header-icon-btn,.nl-header:has(.nl-module-switch) .nl-header-actions .header-icon-btn{flex-shrink:0;padding:0}.nl-header:has(.nl-module-switch) .nl-module-switch{grid-column:1 / -1;grid-row:2;width:100%;min-width:0}.nl-header:has(.nl-module-switch) .nl-module-switch>button{flex:1 1 0;min-width:0;padding-inline:4px}}:root{--glass-edge: #56708f;--glass-body: rgba(205, 222, 243, .45);--glass-wall: rgba(86, 112, 143, .22);--glass-hl: rgba(255, 255, 255, .95);--glass-shade-k: .85;--glass-mark: #2f4560;--glass-mark-halo: rgba(255, 255, 255, .85);--bench-shadow-k: .22;--stopcock: #3d5675;--glass-fill: var(--glass-body);--glass-stroke: var(--glass-edge);--bench-surface: #e9eef5;--vessel-card-w: 11rem;--vfx-flame-outer: #ff8a30;--vfx-flame-inner: #4ad4ff;--vfx-steam: #b8d4e8;--vfx-bubble-highlight: #ffffff;--organic-immiscible-fill: #f5f5f0;--cup-body: #f4f2ee;--cup-edge: #6a6258;--cup-stripe: rgba(60, 55, 48, .18);--cup-inner-shadow: rgba(40, 36, 32, .08);--mirror-silver: #c8cdd8;--mirror-silver-bright: #eef2f8;--mirror-silver-dim: #9aa3b0;--mirror-silver-edge: #a8b0bc;--nichrome-wire: #8a8a94;--lcd-bg: #0e1624;--lcd-fg: #3dd68c;--lcd-dim: #4a6278;--group-process-bg: color-mix(in srgb, var(--warn) 18%, var(--surface));--group-process-fg: #9a3412;--group-process-icon: var(--warn);--group-test-bg: color-mix(in srgb, #7c3aed 14%, var(--surface));--group-test-fg: #5b21b6;--group-test-icon: #7c3aed;--group-measure-bg: color-mix(in srgb, var(--success) 14%, var(--surface));--group-measure-fg: #166534;--group-measure-icon: var(--success);--group-electro-bg: color-mix(in srgb, var(--accent) 14%, var(--surface));--group-electro-fg: var(--accent-strong);--group-electro-icon: var(--accent);--status-pill-text: #334155;--obs-line-text: #3d4f66;--obs-count-fg: #334155;--obs-count-bg: #dce3ec;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--glass-edge: #8aa4c8;--glass-body: rgba(150, 185, 230, .1);--glass-wall: rgba(138, 164, 200, .2);--glass-hl: rgba(225, 238, 255, .7);--glass-shade-k: .6;--glass-mark: #c5d5ea;--glass-mark-halo: rgba(15, 26, 45, .9);--bench-shadow-k: .65;--stopcock: #9fb4cf;--glass-fill: var(--glass-body);--glass-stroke: var(--glass-edge);--bench-surface: #0f1726;--vfx-flame-outer: #ff9f50;--vfx-flame-inner: #5ee0ff;--vfx-steam: #c8dce8;--vfx-bubble-highlight: #f0f8ff;--mirror-silver: #6a7384;--mirror-silver-bright: #b8c4d8;--mirror-silver-dim: #4a5568;--mirror-silver-edge: #7a8494;--cup-body: #d9d6cf;--cup-edge: #a89f94;--cup-stripe: rgba(255, 255, 255, .12);--cup-inner-shadow: rgba(0, 0, 0, .15);--status-pill-text: #e2e8f0;--obs-line-text: #cbd5e1;--obs-count-fg: #e2e8f0;--obs-count-bg: #2a3a52;--lcd-bg: #060b14;--lcd-fg: #4ade80;--lcd-dim: #64748b;--group-process-fg: #fdba74;--group-test-fg: #c4b5fd;--group-test-icon: #a78bfa;--group-measure-fg: #86efac;--group-electro-fg: var(--accent);color-scheme:dark}}:root[data-theme=dark]{--glass-edge: #8aa4c8;--glass-body: rgba(150, 185, 230, .1);--glass-wall: rgba(138, 164, 200, .2);--glass-hl: rgba(225, 238, 255, .7);--glass-shade-k: .6;--glass-mark: #c5d5ea;--glass-mark-halo: rgba(15, 26, 45, .9);--bench-shadow-k: .65;--stopcock: #9fb4cf;--glass-fill: var(--glass-body);--glass-stroke: var(--glass-edge);--bench-surface: #0f1726;--vfx-flame-outer: #ff9f50;--vfx-flame-inner: #5ee0ff;--vfx-steam: #c8dce8;--vfx-bubble-highlight: #f0f8ff;--mirror-silver: #6a7384;--mirror-silver-bright: #b8c4d8;--mirror-silver-dim: #4a5568;--mirror-silver-edge: #7a8494;--cup-body: #d9d6cf;--cup-edge: #a89f94;--cup-stripe: rgba(255, 255, 255, .12);--cup-inner-shadow: rgba(0, 0, 0, .15);--status-pill-text: #e2e8f0;--obs-line-text: #cbd5e1;--obs-count-fg: #e2e8f0;--obs-count-bg: #2a3a52;--lcd-bg: #060b14;--lcd-fg: #4ade80;--lcd-dim: #64748b;--group-process-bg: color-mix(in srgb, var(--warn) 16%, var(--surface));--group-process-fg: #fdba74;--group-test-bg: color-mix(in srgb, #a78bfa 14%, var(--surface));--group-test-fg: #c4b5fd;--group-test-icon: #a78bfa;--group-measure-bg: color-mix(in srgb, var(--success) 12%, var(--surface));--group-measure-fg: #86efac;--group-electro-bg: color-mix(in srgb, var(--accent) 14%, var(--surface));--group-electro-fg: var(--accent);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{height:100%;overflow:hidden}body{margin:0;min-width:320px;height:100dvh;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}select,input[type=number],input[type=text],input[type=checkbox],textarea{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-muted);padding:6px 10px;border-radius:4px;font-family:var(--font-sans);font-size:14px}select:focus,input:focus,textarea:focus{border-color:var(--accent)}option{background:var(--surface)}:where(button,select,input,textarea,[role=button],[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);padding:8px 20px;cursor:pointer;transition:all .2s;font-family:var(--font-sans);font-size:15px;letter-spacing:.5px}.tab-btn:hover{background:var(--surface-2);color:var(--text)}.tab-btn.active{background:var(--accent-soft);color:var(--text);border-color:var(--accent)}.vessel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;cursor:pointer;transition:all .2s;margin-bottom:8px;box-shadow:var(--shadow)}.vessel-card:hover{border-color:var(--accent);background:var(--accent-soft)}.vessel-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow),0 0 12px color-mix(in srgb,var(--accent) 30%,transparent)}.chem-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);padding:6px 10px;cursor:pointer;transition:all .15s;font-size:12px;border-radius:4px;text-align:left;width:100%;font-family:var(--font-sans)}.chem-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.chem-btn.selected{background:var(--accent-soft);border-color:var(--accent-strong)}.obs-box{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:12px;font-family:var(--font-mono);font-size:12px;color:var(--group-measure-fg);line-height:1.6;white-space:pre-wrap}.log-entry{border-bottom:1px solid var(--border);padding:6px 0;font-size:12px;font-family:var(--font-mono)}.log-entry:last-child{border-bottom:none}.q-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow)}.q-header{background:var(--surface-2);padding:14px 18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.q-body{padding:18px}.score-bar{height:20px;background:var(--surface-2);border-radius:10px;overflow:hidden}.score-fill{height:100%;border-radius:10px;transition:width 1s ease;background:var(--success)}.vessel-visual{width:60px;height:80px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-size:36px;position:relative}.vessel-liquid{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:40px;height:20px;border-radius:0 0 8px 8px;transition:background .5s}@keyframes reactionFlash{0%{box-shadow:0 0 0 transparent;border-color:var(--border)}25%{box-shadow:0 0 22px color-mix(in srgb,var(--success) 75%,transparent);border-color:var(--success)}60%{box-shadow:0 0 14px color-mix(in srgb,var(--success) 40%,transparent);border-color:var(--success)}to{box-shadow:0 0 0 transparent;border-color:var(--border)}}@keyframes heatGlow{0%{box-shadow:0 0 0 transparent;border-color:var(--border)}25%{box-shadow:0 0 22px color-mix(in srgb,var(--warn) 80%,transparent);border-color:var(--warn)}60%{box-shadow:0 0 14px color-mix(in srgb,var(--warn) 40%,transparent);border-color:var(--warn)}to{box-shadow:0 0 0 transparent;border-color:var(--border)}}@keyframes stirShake{0%{transform:rotate(0) scale(1)}20%{transform:rotate(-3deg) scale(1.02)}40%{transform:rotate(3deg) scale(1.02)}60%{transform:rotate(-2deg) scale(1.01)}80%{transform:rotate(2deg) scale(1.01)}to{transform:rotate(0) scale(1)}}@keyframes obsSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes nudgeRight{0%{transform:translate(0)}50%{transform:translate(3px)}to{transform:translate(0)}}.vessel-reaction{animation:reactionFlash .9s ease-out}.vessel-heat{animation:heatGlow .9s ease-out}.vessel-stir{animation:stirShake .55s ease-in-out}.obs-animate{animation:obsSlideIn .35s ease-out}.palette-panel{position:relative;width:252px;border-right:1px solid var(--border);overflow-y:auto;min-height:0;padding:8px 8px 24px;flex-shrink:0;background:var(--surface)}.palette-panel.palette-panel--inline{width:var(--left-col-w, 252px);min-width:220px}.palette-panel.palette-panel--inline .chem-palette-grid{grid-template-columns:minmax(0,1fr)}.palette-heading{font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:1.8px;color:var(--text-subtle);padding:4px 6px 6px;margin-top:4px}.palette-group-hdr{display:flex;align-items:center;gap:5px;width:100%;background:none;border:none;padding:5px 6px;cursor:pointer;border-radius:4px;transition:background .15s;margin-bottom:2px}.palette-group-hdr:hover{background:var(--surface-2)}.palette-chevron{font-size:12px;color:var(--grp-color, var(--accent));width:12px;flex-shrink:0;line-height:1}.palette-group-label{font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.5px;line-height:1}.palette-count{margin-left:auto;font-size:12px;color:var(--text-subtle);font-family:var(--font-mono)}.palette-items{padding:0 0 4px 4px}.equip-card{display:flex;align-items:center;gap:8px;width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;margin-bottom:3px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.equip-card:hover{background:var(--surface-3);border-color:var(--border-strong);transform:translate(3px);box-shadow:var(--shadow)}.equip-card:active{transform:translate(1px) scale(.98)}.equip-icon{font-size:17px;flex-shrink:0;line-height:1}.equip-label{font-size:12.5px;font-family:var(--font-sans);color:var(--text-muted);flex:1;text-align:left}.equip-add{font-size:14px;color:var(--text-subtle);opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.equip-card:hover .equip-add{opacity:1;color:var(--accent)}.equip-card--needs-vessel{opacity:.5}.equip-card--needs-vessel:hover{opacity:.65}.chem-card{display:flex;align-items:stretch;width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:3px;cursor:pointer;overflow:hidden;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;text-align:left}.chem-card:hover{background:var(--surface-3);border-color:var(--border-strong);transform:translate(3px);box-shadow:var(--shadow)}.chem-card:active{transform:translate(1px) scale(.98)}.chem-card.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 20%,transparent)}.chem-swatch{width:14px;flex-shrink:0;border-radius:5px 0 0 5px;transition:box-shadow .2s;box-shadow:inset -1px 0 color-mix(in srgb,var(--text) 25%,transparent);outline:1px solid var(--border);outline-offset:-1px}.chem-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:5px 8px;min-width:0}.chem-name{font-size:12.5px;font-family:var(--font-sans);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.chem-card:hover .chem-name,.chem-card.selected .chem-name{color:var(--text)}.chem-detail{display:block;font-size:12px;font-family:var(--font-mono);color:var(--text-subtle);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chem-card:hover .chem-detail{color:var(--text-muted)}.chem-card.selected .chem-detail{color:var(--accent)}.fa-card,.fa-card:hover,.fa-card.selected{border-color:var(--warn)!important;background:var(--warn-bg)!important}.fa-swatch{width:5px!important;min-height:32px!important;background:repeating-linear-gradient(135deg,var(--warn) 0px,var(--warn) 3px,var(--warn-bg) 3px,var(--warn-bg) 6px)!important}.fa-label{font-size:13px!important;font-weight:700!important;letter-spacing:.04em;color:var(--warn)!important;font-family:var(--font-mono)!important}.fa-card.selected .fa-label{color:var(--warn)!important}.fa-card-known{background:var(--warn-bg)!important;border-color:var(--border-strong)!important;opacity:.85}.fa-card-known:hover,.fa-card-known.selected{border-color:var(--warn)!important;opacity:1}.fa-card-known .fa-label,.fa-card-known.selected .fa-label{color:var(--warn)!important}.fa-swatch-known{background:repeating-linear-gradient(135deg,var(--warn) 0px,var(--warn) 3px,var(--warn-bg) 3px,var(--warn-bg) 6px)!important;opacity:.7}.chem-check{width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--success)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:4px}.action-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .18s,transform .15s,border-color .18s,box-shadow .18s;font-family:var(--font-sans)}.action-tile:hover{background:var(--surface-3);border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow)}.action-tile:active{transform:translateY(0) scale(.97)}.action-tile.danger,.action-tile.danger:hover{background:var(--danger-bg);border-color:var(--danger)}.action-tile-icon{font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.action-tile-label{font-size:12px;color:var(--text-muted);text-align:center;line-height:1.2}.app-header-brand{min-width:0;flex:1 1 auto}.app-header-subtitle a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.app-header-subtitle{font-size:12px;color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-shell{--left-col-w: 252px;--right-col-w: 260px;display:flex;flex:1;min-height:0;overflow:hidden}.bench-column{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:12px;background:var(--bench-surface)}.bench-column-inner{display:flex;flex-direction:column;flex:1 1 0;min-height:0;gap:8px}.obs-dock{flex:0 0 auto;max-height:min(38vh,260px);min-height:0;display:flex;flex-direction:column;gap:8px;margin-top:8px;min-height:min(96px,28vh);overflow-y:auto}.obs-section{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.obs-section--all{flex:1 1 auto;min-height:0;overflow:hidden}.obs-box--latest{max-height:7.5em;overflow-y:auto;flex-shrink:0}.obs-dock--with-equation{min-height:min(120px,32vh)}.obs-equation-block{font-family:var(--font-sans);flex-shrink:0;display:flex;flex-direction:column;gap:6px}.obs-equation-block--multi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.obs-equation-block--multi .obs-equation-note{grid-column:1 / -1}.obs-equation-note{margin:0;font-size:12px;color:var(--text-muted)}.bench-vessel-equations{margin-top:8px;text-align:left}.bench-vessel-equations-title{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.bench-vessel-equation-item{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.chem-eq-card{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-left:4px solid var(--accent);background:var(--accent-soft);font-family:var(--font-sans)}.chem-eq-card--ionic{border-color:color-mix(in srgb,var(--success) 35%,var(--border));border-left-color:var(--success);background:var(--success-bg)}.chem-eq-badge{flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:999px;color:var(--accent-strong);background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border))}.chem-eq-card--ionic .chem-eq-badge{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.chem-eq{display:inline-flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:2px;font-size:15px;font-weight:500;line-height:1.5;color:var(--text)}.chem-eq--plain{display:inline}.chem-eq-species{white-space:nowrap}.chem-eq-coef{font-weight:800;margin-right:1px}.chem-eq-plus{color:var(--text-muted)}.chem-eq-state{font-weight:800;margin-left:1px}.chem-eq-state--precipitate{color:var(--group-process-fg)}.chem-eq-state--gas{color:var(--accent-strong)}.chem-eq-arrow{position:relative;display:inline-flex;align-items:center;margin:0 2px}.chem-eq-cond{position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;color:var(--text-muted)}.chem-eq-arrow-glyph{display:block;color:var(--text)}.chem-eq:has(.chem-eq-cond){padding-top:6px}.bench-vessel-equations .chem-eq{font-size:14px}.bench-vessel-popover:not(.bench-vessel-popover--dock){width:max-content;max-width:var(--popover-max-w, 260px)}.bench-vessel-popover--dock .bench-vessel-equations .chem-eq-card{flex-direction:column;align-items:flex-start;padding:6px 10px;gap:4px}.obs-box--all{flex:1 1 auto;overflow-y:auto;min-height:0;max-height:min(30vh,260px)}.obs-summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.obs-summary::-webkit-details-marker{display:none}.obs-summary:before{content:"▸";color:var(--text-subtle);margin-right:2px}.obs-section--all[open]>.obs-summary:before{content:"▾"}.obs-count{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--obs-count-fg);background:var(--obs-count-bg);border-radius:999px;padding:0 8px}.obs-line{margin-bottom:6px;color:var(--obs-line-text)}.obs-repeat{margin-left:8px;font-size:12px;color:var(--text-subtle);background:var(--surface-3);border-radius:999px;padding:0 6px}.bench-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.bench-toolbar-title{display:flex;align-items:center;gap:6px;font-family:var(--font-sans);font-weight:700;color:var(--text);font-size:15px;flex-shrink:0;white-space:nowrap}.bench-toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto}.bench-empty-hint{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-subtle);pointer-events:none;gap:8px;padding:16px;text-align:center}.bench-empty-title{font-family:var(--font-sans);font-weight:700;font-size:16px;color:var(--text)}.bench-empty-sub{font-size:13px;color:var(--text-muted)}.bench-section-heading{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin-bottom:6px;font-family:var(--font-sans);font-weight:700}.palette-tray-drop-host{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:100%;overflow:hidden}.palette-tray-drop-host>.palette-panel--drawer{flex:1 1 auto;min-height:0;overflow-y:auto;touch-action:pan-y}.palette-panel--drawer{width:100%;border:none;padding:0;background:transparent}.lab-side-panel{position:relative;width:260px;border-left:1px solid var(--border);overflow-y:auto;min-height:0;padding:12px;flex-shrink:0;background:var(--surface)}.lab-side-panel.lab-side-panel--inline{width:var(--right-col-w, 260px);max-width:none}.column-resizer{position:relative;flex:0 0 6px;width:6px;min-width:6px;cursor:col-resize;background:var(--border);transition:background .15s,box-shadow .15s;touch-action:none;z-index:2}.column-resizer:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:24px;transform:translate(-50%)}@media(pointer:coarse){.column-resizer:before{width:44px}}.column-resizer--horizontal{flex:0 0 6px;width:100%;height:6px;min-height:6px;min-width:0;cursor:row-resize}.column-resizer--horizontal:before{inset:50% 0 auto;width:auto;height:24px;transform:translateY(-50%)}@media(pointer:coarse){.column-resizer--horizontal:before{width:auto;height:44px}}.skip-link{position:absolute;left:8px;top:8px;z-index:100;padding:8px 12px;border-radius:8px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);font-size:13px;font-weight:600;text-decoration:none;transform:translateY(-140%);transition:transform .15s}.skip-link:focus{transform:translateY(0);outline:2px solid var(--accent);outline-offset:2px}.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}.panel-heading{margin:0;font-family:var(--font-sans);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.panel-heading--inline{font-size:15px;letter-spacing:0;text-transform:none;color:var(--text)}.panel-heading--sm{font-size:13px;margin-bottom:8px}.panel-subheading{font-size:12px;font-weight:600;color:var(--text-muted)}.volt-salt-bridge-checkbox{width:20px;height:20px;flex-shrink:0}.column-resizer:hover,.column-resizer:focus-visible{background:var(--accent);outline:none;box-shadow:0 0 0 2px var(--accent-soft)}.equipment-tray{flex-shrink:0;transition:transform .2s ease,max-height .2s ease}.equipment-tray--collapsed{transform:translateY(0)}.nl-bench-toolbar>.bench-toolbar-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.nl-bench-toolbar>.bench-toolbar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-inline-start:auto}.equipment-tray:not(.equipment-tray--collapsed){flex-shrink:0;margin-top:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden;--tray-floor-header: 52px ;--tray-floor-tab: 22px ;--tray-floor-tabs: calc(6px + var(--tray-floor-tab));--tray-floor-card: 104px;--tray-floor-scroll-pad: 14px ;--tray-floor-border: 2px}@media(min-width:900px){.lab-shell:not(.layout-phone) .equipment-tray:not(.equipment-tray--collapsed){flex-shrink:1;min-height:calc(var(--tray-floor-header) + var(--tray-floor-tabs) + var(--tray-floor-card) + var(--tray-floor-scroll-pad) + var(--tray-floor-border))}}.equipment-tray:not(.equipment-tray--collapsed){display:flex;flex-direction:column;min-height:0;height:var(--tray-height, var(--tray-rest-height, auto))}.equipment-tray--multi-row{overflow:hidden}.equipment-tray--multi-row .equipment-tray-scroll{overflow-x:hidden;overflow-y:auto;padding-left:10px;padding-right:10px}.equipment-tray--multi-row .equipment-tray-scroll{height:100%;box-sizing:border-box}.equipment-tray--multi-row .equipment-tray-items{display:grid;grid-template-columns:repeat(var(--tray-cols, 6),minmax(0,1fr));grid-auto-rows:auto;align-items:stretch;gap:8px}.equipment-tray--multi-row .equipment-tray-card{width:auto;min-width:0;max-width:none;height:100%;min-height:var(--tray-card-h, 64px)}.equipment-tray--multi-row .equipment-tray-card-label{font-size:13px}.equipment-tray:not(.equipment-tray--multi-row) .equipment-tray-items{width:max-content;min-width:100%}.equipment-tray:not(.equipment-tray--multi-row) .equipment-tray-card{flex:1 0 88px;max-width:none}.equipment-tray-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 4px 12px;background:var(--surface-2)}.equipment-tray-header{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;padding:8px;border:none;background:transparent;cursor:pointer;gap:8px}.equipment-tray-title{margin:0;flex:1;text-align:left}.equipment-tray-body{flex:1;min-height:0;display:flex;flex-direction:column}.equipment-tray-body[hidden]{display:none}.equipment-tray-group-tabs{display:flex;flex-wrap:nowrap;gap:6px;padding:6px 10px 0}.equipment-tray-group-tab{border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px;line-height:1;font-weight:600;background:var(--surface);color:var(--text-muted);cursor:pointer;flex-shrink:0}.equipment-tray-group-tab--active{border-color:var(--group-color, var(--accent));color:var(--group-color, var(--accent));background:color-mix(in srgb,var(--group-color, var(--accent-soft)) 12%,var(--surface))}.equipment-tray-scroll-wrap{position:relative;flex:1;min-height:0}.equipment-tray-scroll-wrap--fade-left:before,.equipment-tray-scroll-wrap--fade-right:after{content:"";position:absolute;top:0;bottom:0;width:28px;pointer-events:none;z-index:2}.equipment-tray-scroll-wrap--fade-left:before{left:0;background:linear-gradient(to right,var(--surface),transparent)}.equipment-tray-scroll-wrap--fade-right:after{right:0;background:linear-gradient(to left,var(--surface),transparent)}.equipment-tray-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:32px;height:32px;border-radius:999px;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow)}.equipment-tray-scroll-btn--left{left:4px}.equipment-tray-scroll-btn--right{right:4px}.equipment-tray-scroll{overflow-x:auto;overflow-y:hidden;padding:6px 36px 8px;scrollbar-width:thin}.equipment-tray-items{display:flex;flex-direction:row;gap:8px;align-items:stretch}.equipment-tray-group{display:flex;flex-direction:row;align-items:center;gap:6px;flex-shrink:0}.equipment-tray-group-label{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding-right:4px;flex-shrink:0}.equipment-tray-items{display:flex;flex-direction:row;gap:6px}.equipment-tray-card{min-width:72px;max-width:96px;margin-bottom:0;overflow:visible;min-height:104px;height:auto}.equipment-tray-card .equip-add{display:none}.equipment-tray-card-label,.equipment-tray-card .equip-label{flex:0 0 auto;font-size:12px;line-height:1.2;text-align:center;max-width:100%;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.stop-clock-readout{font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:.06em;text-align:center;padding:8px 4px 10px;color:var(--text)}.slide-drawer-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--text) 35%,transparent);opacity:0;pointer-events:none;transition:opacity .2s;z-index:40}.slide-drawer-backdrop.open{opacity:1;pointer-events:auto}.slide-drawer{position:fixed;top:0;bottom:0;width:min(92vw,300px);max-width:300px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:50;display:flex;flex-direction:column;transition:transform .22s ease}.slide-drawer--left{left:0;transform:translate(-105%)}.slide-drawer--right{right:0;transform:translate(105%)}.slide-drawer.open{transform:translate(0)}.slide-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid var(--border);flex-shrink:0}.slide-drawer-title{margin:0;font-size:14px;font-weight:700;color:var(--text)}.slide-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:8px 8px 24px}.slide-drawer-close{border:none;background:var(--surface-2);color:var(--text-muted);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.touch-target{min-width:44px;min-height:44px}@media(max-width:1199px){.touch-target,.action-btn,.action-tile,.palette-group-hdr,.equip-card,.chem-card,select,input[type=number],input[type=text]{min-height:44px}.action-btn,.palette-group-hdr,.equip-card,.chem-card{min-width:44px}.app-header-actions .header-btn-label,.palette-panel--inline{display:none}.action-grid{gap:8px;margin-bottom:8px}.action-tile{gap:8px}.palette-group-hdr{gap:8px;margin-bottom:8px}.equip-card,.chem-card{margin-bottom:8px}.bench-section-heading{gap:8px;margin-bottom:8px}.bench-toolbar-title{gap:8px}}@media(max-width:899px){.lab-side-panel--inline{display:none}.bench-column{padding:8px}}@media(min-width:1200px){.bench-drawer-trigger{display:none}}.lab-side-panel--inline .vessel-detail--in-actions.bench-vessel-detail-panel{max-height:none;overflow:visible;box-shadow:none;border:none;margin-top:4px;padding:0 2px 8px;box-sizing:border-box;width:100%;min-width:0}.lab-side-panel--inline .vessel-detail--in-actions *{min-width:0;max-width:100%;box-sizing:border-box}.bench-vessel-wrap{width:auto;max-width:min(var(--vessel-card-w),100%);z-index:2;overflow:visible;border:2px solid transparent;border-radius:10px;padding:2px;background:transparent;transition:border-color .15s,background .15s,box-shadow .15s}.bench-vessel-wrap.is-detail,.bench-vessel-wrap.selected{border-color:var(--accent);background:var(--accent-soft)}.bench-vessel-wrap.drop-valid,.bench-vessel-wrap.selected.drop-valid{border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.bench-vessel-wrap.drop-invalid{border-color:var(--danger)}.bench-vessel-foot{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:12px;font-weight:600;color:var(--text-muted);max-width:var(--vessel-card-w);margin-top:2px;line-height:1.2}.bench-vessel-foot-name{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bench-vessel-foot-amount{white-space:normal;overflow:visible;text-overflow:clip}.bench-vessel-drag-handle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box}.bench-vessel-icon,.bench-drag-overlay-tool{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.bench-drag-overlay-content{flex-shrink:0}.bench-vessel-popover{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%);z-index:5;min-width:180px;max-width:260px;padding:6px 8px 8px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);box-shadow:var(--shadow);text-align:center}.bench-vessel-popover--bottom{bottom:auto;top:calc(100% + 4px)}.bench-vessel-popover--right{left:calc(100% + 4px);right:auto;bottom:auto;top:50%}.bench-vessel-popover--left{right:calc(100% + 4px);left:auto;bottom:auto;top:50%}.bench-vessel-popover--overlay{bottom:auto}.bench-vessel-popover--viewport{position:fixed;inset:0 auto auto 0;transform:none;z-index:45}.bench-vessel-notice{font-size:12px;color:var(--danger);margin-top:4px}.bench-vessel-notice-pin{position:absolute;left:50%;transform:translate(-50%);top:calc(100% + 2px);z-index:5;max-width:200px;font-size:12px;line-height:1.3;color:var(--danger);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;padding:4px 8px;box-shadow:var(--shadow);pointer-events:none}.bench-vessel-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:4px;max-width:100%}.bench-vessel-chip{display:inline-flex;align-items:baseline;min-width:0;font-size:12px;line-height:1.2;padding:2px 5px;border-radius:4px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);max-width:100%;white-space:nowrap}.bench-vessel-chip-amt{margin-left:3px;color:var(--text-subtle);flex-shrink:0;white-space:nowrap}.bench-vessel-chip-more{font-weight:600}.bench-vessel-temp{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--text-muted);margin-top:4px}.bench-vessel-remove{position:absolute;top:2px;right:2px;border:none;background:var(--surface);color:var(--text-muted);border-radius:4px;padding:2px;cursor:pointer;line-height:0}.bench-vessel-remove:hover{color:var(--danger);background:var(--danger-bg)}.vfx-liquid-fill,.vfx-liquid-meniscus{transition:fill .5s ease}@keyframes vfx-pour-stream{0%{opacity:0;transform:translateY(-6px)}20%{opacity:1}to{opacity:0;transform:translateY(18px)}}.vfx-pour{animation:vfx-pour-stop .65s forwards}@keyframes vfx-pour-stop{0%,90%{opacity:1}to{opacity:0}}.vfx-pour line{animation:vfx-pour-stream .6s ease-out forwards}@keyframes vfx-bubble-rise{0%{opacity:.2;transform:translateY(0)}40%{opacity:.9}to{opacity:0;transform:translateY(calc(-1 * var(--rise, 42px)))}}.vfx-bubble{animation:vfx-bubble-rise var(--vfx-bubble-rise, var(--vfx-bubble-dur, 1.4s)) ease-in 3;animation-delay:var(--vfx-delay, 0s)}@keyframes vfx-bubble-pop{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.vfx-bubble-pop{animation:vfx-bubble-pop .55s ease-out forwards;animation-delay:var(--vfx-delay, 0s)}.vfx-gas{animation:vfx-gas-stop var(--vfx-gas-duration, 2s) forwards}@keyframes vfx-gas-stop{0%,85%{opacity:1}to{opacity:0}}@keyframes vfx-precipitate-drop{0%{opacity:.4;transform:translateY(0)}80%{opacity:1;transform:translateY(38px)}to{opacity:0;transform:translateY(38px)}}.vfx-precipitate-particle{animation:vfx-precipitate-drop 1.2s ease-out forwards;animation-delay:var(--vfx-delay, 0s)}.vfx-precipitate-layer{opacity:0;animation:vfx-precipitate-layer 1.2s ease-out .9s forwards}@keyframes vfx-precipitate-layer{0%{opacity:.35}to{opacity:1}}@keyframes vfx-flame-flicker{0%,to{opacity:.65;transform:scaleY(.9)}50%{opacity:1;transform:scaleY(1.05)}}.vfx-flame-outer,.vfx-flame-inner{transform-origin:center bottom;animation:vfx-flame-flicker .35s ease-in-out 7}.vfx-heat{animation:vfx-heat-stop 1.5s forwards}.vfx-bunsen-flame{opacity:1}.vfx-bunsen-flame--fade-out{opacity:0;transition:opacity .2s ease-out}.vfx-bunsen-flame .vfx-flame-outer,.vfx-bunsen-flame .vfx-flame-inner{animation:vfx-flame-flicker .35s ease-in-out 12}@keyframes vfx-heat-stop{0%,80%{opacity:1}to{opacity:0}}@keyframes vfx-steam-rise{0%{opacity:0;transform:translateY(0)}30%{opacity:.75}to{opacity:0;transform:translateY(-16px)}}.vfx-steam-wisp{animation:vfx-steam-rise 1.6s ease-out 2;animation-delay:var(--vfx-delay, 0s)}.vfx-steam{animation:vfx-steam-stop 2s forwards}@keyframes vfx-steam-stop{0%,85%{opacity:1}to{opacity:0}}@keyframes vfx-flame-test-pulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.vfx-flame-test{animation:vfx-flame-test-stop 1.2s forwards}@keyframes vfx-flame-test-stop{0%,85%{opacity:1}to{opacity:0}}.vfx-flame-test-outer,.vfx-flame-test-core{transform-box:fill-box;transform-origin:center;animation:vfx-flame-test-pulse .4s ease-in-out 3}@keyframes vfx-burn-flash{0%,to{opacity:.4}40%{opacity:1}70%{opacity:.55}}.vfx-burn{animation:vfx-burn-stop 1.5s forwards}@keyframes vfx-burn-stop{0%,80%{opacity:1}to{opacity:0}}.vfx-burn-halo,.vfx-burn-core{animation:vfx-burn-flash .35s ease-in-out 4}@keyframes vfx-stir-spin{0%{opacity:.2;transform:scale(.6)}50%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}.vfx-stir{animation:vfx-stir-stop .85s forwards}@keyframes vfx-stir-stop{0%,90%{opacity:1}to{opacity:0}}.vfx-stir-ring{transform-origin:center;animation:vfx-stir-spin .8s ease-out forwards}@keyframes vfx-color-diffuse-spread{0%{transform:scale(.12);opacity:.95}to{transform:scale(1);opacity:0}}.vfx-color-diffuse--animate .vfx-color-diffuse-circle{transform-box:fill-box;transform-origin:center;animation:vfx-color-diffuse-spread .7s ease-out forwards}@keyframes vfx-droplet-fall{0%{opacity:0;transform:translateY(0)}30%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(var(--vfx-drop-fall, 18px))}}.vfx-droplet-fall{animation:vfx-droplet-fall .42s ease-in forwards}@keyframes vfx-droplet-ripple-expand{0%{opacity:.55;transform:scale(.5)}to{opacity:0;transform:scale(1.4)}}.vfx-droplet-ripple{transform-box:fill-box;transform-origin:center;opacity:0;animation:vfx-droplet-ripple-expand .5s ease-out .4s forwards}@keyframes vfx-shimmer-wisp{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:.5;transform:translateY(-2px)}}.vfx-shimmer-wisp{animation:vfx-shimmer-wisp .9s ease-in-out 4;animation-delay:var(--vfx-delay, 0s)}@keyframes bench-wiring-electron{0%{offset-distance:0%}to{offset-distance:100%}}.bench-wiring-electron{animation:bench-wiring-electron var(--vfx-electron-speed, 1.6s) linear 6}.vfx-static-final{animation:none!important}@media(prefers-reduced-motion:reduce){[class*=vfx-],[class*=vfx-] *{animation:none!important;transition:none!important}.vfx-pour,.vfx-stir,.vfx-gas,.vfx-steam,.vfx-precipitate-particle,.vfx-steam-wisp,.vfx-stir-ring,.vfx-bubble,.vfx-bubble-pop,.vfx-droplet-fall,.vfx-droplet-ripple,.vfx-color-diffuse--animate{display:none!important}.vfx-heat{animation:none!important}.vfx-bunsen-flame,.vfx-bunsen-flame .vfx-flame-outer,.vfx-bunsen-flame .vfx-flame-inner,.vfx-rust,.vfx-metal-deposit,.vfx-precipitate-layer{display:block!important;opacity:.9!important;animation:none!important;transform:none!important}.vfx-flame-test,.vfx-burn{opacity:1!important;display:block!important}.vfx-flame-test-outer,.vfx-flame-test-core,.vfx-burn-halo,.vfx-burn-core{opacity:.9!important;transform:none!important}.vfx-precipitate-layer{display:block;opacity:.9}}.palette-drag-inner{display:contents}.nl-card--tile>.palette-drag-inner>.nl-card-body{flex:none;width:100%}.selected-vessel-thumb{flex:0 0 28px;width:28px;height:36px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.selected-vessel-thumb svg{max-width:28px;max-height:36px;width:auto;height:100%}.bench-vessel-chip-name{min-width:0;max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-phone .nl-header,.layout-compact-header .nl-header{min-height:44px;padding-block:var(--space-3);padding-inline:var(--space-3)}.layout-phone .nl-header-actions,.layout-compact-header .nl-header-actions{gap:0;min-width:0}.header-icon-only{padding:0;min-width:44px;width:44px;justify-content:center}.layout-phone.lab-shell{flex-direction:column;position:relative;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.layout-phone.lab-shell--focus{padding-bottom:env(safe-area-inset-bottom,0px)}.layout-phone .bench-column{flex:1;min-height:0;padding:6px 8px 0}.layout-phone .bench-column-inner{min-height:max(200px,55%)}.layout-phone .bench-toolbar{justify-content:flex-end}.layout-phone .obs-dock{max-height:28%}.bottom-tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:stretch;min-height:56px;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border)}.bottom-tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:44px;min-height:44px;padding:4px 0;border:none;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer}.bottom-tab-bar-item.is-active{color:var(--accent-strong);background:var(--accent-soft)}.bottom-tab-bar-label{line-height:1.1;max-width:100%;overflow:visible;white-space:nowrap;padding:0 1px}.slide-drawer--bottom{inset:auto 0 0;width:100%;max-width:none;height:50vh;max-height:90vh;border-radius:12px 12px 0 0;transform:translateY(105%);border-left:none;border-right:none;border-bottom:none}.slide-drawer--bottom.open{transform:translateY(0)}body:has(.layout-phone) .slide-drawer--bottom{bottom:calc(56px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 68px - env(safe-area-inset-bottom,0px))}.slide-drawer--bottom.slide-drawer--expanded{height:90vh}body:has(.layout-phone) .slide-drawer--bottom.slide-drawer--expanded{height:min(90vh,calc(100vh - 68px - env(safe-area-inset-bottom,0px)))}body:has(.layout-phone) #lab-phone-equipment.slide-drawer--bottom:not(.slide-drawer--expanded){height:min(32vh,260px)}body:has(.layout-phone) #lab-phone-chemicals.slide-drawer--bottom:not(.slide-drawer--expanded){height:min(40vh,320px)}#lab-phone-actions.slide-drawer--bottom:not(.slide-drawer--expanded){height:60vh}.lab-side-panel--drawer .burner-control{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;padding-top:8px}.lab-side-panel--drawer .burner-control-heading{flex:0 0 auto}.lab-side-panel--drawer .burner-control-toggle{flex:0 0 auto;width:auto;min-height:44px;padding:0 12px}.lab-side-panel--drawer .burner-control-slider-wrap{flex:1 1 120px;grid-template-rows:auto}.lab-side-panel--drawer .burner-control-slider-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lab-side-panel--drawer .action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-side-panel--drawer .action-grid--process{grid-template-columns:repeat(4,minmax(0,1fr))}.lab-side-panel--drawer{width:100%;max-width:none;border-left:none;padding:0 4px 12px}.bottom-sheet-handle{display:flex;justify-content:center;width:100%;border:none;background:transparent;padding:8px 0 4px;cursor:grab}.bottom-sheet-handle-bar{width:40px;height:4px;border-radius:999px;background:var(--border-strong)}.chem-search-wrap{display:flex;align-items:center;gap:8px;min-height:40px;margin:0 4px 8px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-subtle)}.chem-search-wrap:focus-within{box-shadow:var(--ring)}.chem-search{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font-size:14px;outline:none;padding:0}.chem-search:focus-visible{box-shadow:none}.chem-search-no-match{margin:0 8px 8px;font-size:13px;color:var(--text-muted)}.layout-phone .chem-search-wrap{min-height:var(--control-h)}.phone-toast{position:fixed;left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:55;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;font-size:13px;box-shadow:var(--shadow);text-align:center}.phone-source-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-subtle)}.phone-source-footer a{color:var(--accent);display:inline-flex;align-items:center;min-height:44px}.phone-vessel-detail-dock{flex-shrink:0;padding:0 8px 8px;z-index:30}.layout-phone .phone-vessel-detail-dock .bench-vessel-popover--dock{position:relative;inset:auto;transform:none;max-width:none;width:100%;box-sizing:border-box}.amount-drop-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--text) 25%,transparent);display:flex;align-items:center;justify-content:center;z-index:2000;pointer-events:none}.amount-drop-overlay--sheet{align-items:flex-end;justify-content:center;padding-bottom:env(keyboard-inset-height,0px)}.amount-drop-dialog{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;min-width:280px;box-shadow:0 8px 24px color-mix(in srgb,var(--text) 15%,transparent)}.amount-drop-dialog--sheet{width:100%;max-width:100%;border-radius:12px 12px 0 0;margin-bottom:env(safe-area-inset-bottom,0px)}body:has(.layout-phone) .amount-drop-dialog--sheet{margin-bottom:calc(56px + env(safe-area-inset-bottom,0px))}body:has(.layout-phone) .slide-drawer-backdrop.open{pointer-events:none}.amount-drop-actions{display:flex;gap:8px;justify-content:flex-end}.amount-drop-actions .action-btn{min-height:44px;min-width:44px}@media(max-height:499px){.layout-compact-header .bench-column-inner{min-height:max(200px,45%)}}.layout-phone .bench-vessel-drag-handle svg{width:auto;height:auto;max-height:118px}.layout-phone .phone-vessel-detail-dock .bench-vessel-popover--dock{min-height:52px;display:flex;align-items:center;gap:8px}.bench-vessel-empty{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-subtle);min-width:0}.bench-vessel-empty-name{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-tabs-root{display:flex;flex-direction:column;gap:8px;min-height:0;container-type:inline-size;container-name:action-tabs}.action-tabs-title{margin-bottom:0}.action-sticky-strip{position:sticky;top:0;z-index:2;background:var(--surface);padding-bottom:6px;border-bottom:1px solid var(--border);margin:0 -4px 4px;padding-left:4px;padding-right:4px}.action-sticky-row{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;font-size:12px}.action-sticky-row--hint:not(.nl-panel-hint){color:var(--warn)}.nl-panel-hint.action-sticky-row--hint{color:var(--text-muted)}.nl-panel-hint.action-sticky-row--hint>svg{color:var(--text-subtle)}.action-sticky-heat-hint{font-size:12px;color:var(--text-muted);margin:4px 0 0}.action-sticky-vessel-name{font-weight:600;color:var(--success);min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-sticky-chem{color:var(--text-muted);flex:0 1 auto;max-width:35%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-sticky-add{flex:0 0 auto;min-height:44px;padding:0 10px}.action-sticky-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.action-sticky-strip{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px}.action-sticky-strip>.action-sticky-row{flex:1 1 220px;min-width:0}.action-sticky-strip>.action-sticky-heat-hint{flex:1 1 100%}.action-sticky-strip>.action-sticky-chips{flex:0 0 auto;margin-top:0}.action-context-chip{font-size:12px;padding:10px 14px;min-height:44px;box-sizing:border-box;border-radius:999px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--text)}.action-tablist{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;margin-bottom:4px}.action-tab{flex:1 0 auto;min-width:0;min-height:44px;padding:6px 8px;font-size:12px;font-weight:600;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-muted);position:relative}.action-tab[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.action-tab-hint-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--accent-strong)}.action-tabpanel{min-height:0}.action-tabpanel[hidden]{display:none}.action-transfer-block{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.action-transfer-compact{display:grid;grid-template-columns:1fr 72px auto;gap:6px;align-items:center}.action-measure-block{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.action-burette-steps{display:flex;flex-wrap:wrap;gap:4px}.action-burette-step{min-width:44px;padding:4px 8px;font-size:12px}.action-burette-row{display:flex;gap:6px;align-items:center}.action-burette-row input{flex:1;min-width:0}.action-precision-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;margin-top:10px}.action-precision-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.action-precision-item{font-size:12px;background:var(--surface-2);border-radius:4px;padding:4px 8px;border:1px solid var(--border)}.action-precision-item-hdr{display:flex;justify-content:space-between}.action-precision-reading{font-family:var(--font-mono);color:var(--accent)}.action-precision-note{color:var(--text-subtle)}.action-electro-accordion{border:1px solid var(--border);border-radius:6px;margin-bottom:8px;overflow:hidden}.action-electro-accordion-hdr{width:100%;display:flex;align-items:center;gap:6px;padding:8px 10px;min-height:44px;background:var(--surface-2);border:none;text-align:left}.action-electro-accordion-body[hidden]{display:none}.action-electro-accordion-body{padding:8px 10px 10px}.bench-vessel-action-more-group-label{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-subtle);padding:6px 10px 2px}.bench-wiring-layer-wrap{position:absolute;inset:0;pointer-events:none;z-index:1}.bench-wiring-layer{display:block;pointer-events:none}@media(min-width:600px)and (max-width:899px){.layout-narrow .nl-header-brand,.layout-medium .nl-header-brand{flex:1 1 auto;min-width:0}.layout-narrow .nl-header-actions,.layout-medium .nl-header-actions{flex-shrink:0;flex-wrap:nowrap}}@container action-tabs (max-width: 300px){.action-tablist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.action-tab{flex-direction:column;justify-content:center;min-height:var(--tap-min)}.action-tab span:not(.action-tab-icon):not(.sr-only){font-size:var(--fs-xs);font-weight:600}}.action-transfer-stack{display:flex;flex-direction:column;gap:8px}.action-transfer-stack .control-select{width:100%;min-width:0}.action-transfer-stack .action-sticky-vessel-name,.action-sticky-row--vessel{flex-wrap:wrap;align-items:flex-start;min-width:0}.action-sticky-vessel-name{white-space:normal;word-break:break-word;min-width:0;flex:1 1 8rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.action-sticky-row--vessel .action-sticky-add{flex:0 0 auto;margin-inline-start:auto;align-self:flex-end}.lab-side-panel--inline.action-tabs-root{min-width:0;overflow-x:hidden}.action-sticky-chem{white-space:normal;word-break:break-word;min-width:3rem;flex:1 1 5rem}.action-sticky-add-hint{flex:1 1 100%;margin:0;font-size:12px;color:var(--text-muted)}.action-gas-source-block{margin-bottom:8px}.action-gas-source-select{width:100%}.bench-vessel-detail-panel{position:relative;padding-top:8px;padding-right:8px}.bench-vessel-detail-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px;z-index:2}.bench-vessel-detail-actions .bench-vessel-remove{position:static}.bench-vessel-detail-actions .bench-vessel-remove,.bench-vessel-detail-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:6px;padding:0;cursor:pointer;line-height:0}.bench-vessel-detail-close:hover{color:var(--text);background:var(--surface-2)}.bench-vessel-detail-panel:has(.bench-vessel-detail-actions)>.bench-vessel-detail-title,.bench-vessel-detail-panel:has(.bench-vessel-detail-actions)>.bench-vessel-chips{padding-inline-end:92px}.column-resizer--horizontal:before{right:52px}.equipment-tray-header-row{position:relative;z-index:3}@media(max-width:599px){.lab-side-panel--drawer .burner-control,.lab-side-panel--sheet .burner-control{flex-direction:column;align-items:stretch}.lab-side-panel--drawer .burner-control-slider-wrap,.lab-side-panel--sheet .burner-control-slider-wrap{width:100%}.lab-side-panel--drawer .burner-control-slider-label,.lab-side-panel--sheet .burner-control-slider-label{position:static;width:auto;height:auto;clip:auto;white-space:normal}}.feedback-type-btn,.header-overflow-source a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px}.header-overflow-source a{width:100%;box-sizing:border-box}.amount-drop-hint{font-size:12px;color:var(--text-muted);margin:0 0 10px}:root{--status-precipitate: #4a90d9;--status-gas: #6b9bd1;--status-heat: #e07a3a;--status-color: #9b6bcc;--status-none: #8a9199}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--status-precipitate: #6eb0ff;--status-gas: #8bb8e8;--status-heat: #f59a5c;--status-color: #b894e8;--status-none: #9aa3ad}}[data-theme=dark]{--status-precipitate: #6eb0ff;--status-gas: #8bb8e8;--status-heat: #f59a5c;--status-color: #b894e8;--status-none: #9aa3ad}[data-theme=light]{--status-precipitate: #4a90d9;--status-gas: #6b9bd1;--status-heat: #e07a3a;--status-color: #9b6bcc;--status-none: #8a9199}.bench-surface{--bench-scale: 1;box-sizing:border-box;border:2px dashed var(--border);border-radius:12px;background:var(--stage-lab-bg);overflow:hidden;min-height:120px}.bench-surface.bench-surface--scroll{overflow-x:hidden;overflow-y:auto}.bench-surface-content{position:relative;width:100%;box-sizing:border-box}.bench-vessel-wrap{max-width:min(calc(var(--vessel-card-w, 11rem) * var(--bench-scale, 1)),100%);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;transition:box-shadow .15s ease,outline-color .15s ease}.bench-vessel-wrap .bench-vessel-foot{max-width:100%}.bench-vessel-wrap.vessel-card--dragging{z-index:12}.bench-drag-lift{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.bench-drag-overlay-inner{display:flex;align-items:center;justify-content:center;transform-origin:center;filter:drop-shadow(0 6px 10px color-mix(in srgb,#0f172a 22%,transparent))}.bench-vessel-wrap.drop-valid{outline:2px solid var(--success);outline-offset:2px}.bench-vessel-wrap.drop-invalid{outline:2px solid var(--danger);outline-offset:2px;animation:bench-drop-shake .28s ease}@keyframes bench-drop-shake{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 3px),-50%)}75%{transform:translate(calc(-50% + 3px),-50%)}}.action-tabs-root .action-grid{animation:action-tab-fade .15s ease}@keyframes action-tab-fade{0%{opacity:.6}to{opacity:1}}.bench-vessel-wrap.vessel-card--placed{animation:bench-vessel-place .2s ease-out}@keyframes bench-vessel-place{0%{transform:translate(-50%,calc(-50% - 6px));opacity:.85}to{transform:translate(-50%,-50%);opacity:1}}.bench-vessel-foot{max-width:calc(var(--vessel-card-w, 11rem) * var(--bench-scale, 1))}.bench-vessel-wrap .bench-vessel-drag-handle{overflow:visible}.bench-surface .bench-vessel-drag-handle svg{overflow:visible;filter:saturate(1.14) contrast(1.06)}.bench-vessel-wrap .vessel-status-pill{position:absolute;left:50%;transform:translate(-50%);bottom:calc(100% + 2px);z-index:4;pointer-events:none;max-width:calc(100% - 4px);box-sizing:border-box}.vessel-status-pill{display:inline-flex;align-items:center;gap:5px;max-width:220px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.25;color:var(--status-pill-text);background:color-mix(in srgb,var(--surface) 88%,var(--border));border:1px solid var(--border);white-space:nowrap;text-align:center}.vessel-status-pill>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.vessel-status-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--status-none)}.vessel-status-dot--precipitate{background:var(--status-precipitate)}.vessel-status-dot--gas{background:var(--status-gas)}.vessel-status-dot--heat{background:var(--status-heat)}.vessel-status-dot--color{background:var(--status-color)}.vessel-status-dot--none{background:var(--status-none)}.bench-vessel-detail-panel .bench-vessel-detail-title{font-size:12px;font-weight:700;color:var(--text);line-height:1.3;word-break:break-word;overflow-wrap:anywhere;max-width:100%;margin-bottom:2px}.bench-ph-section{margin-top:6px;font-size:12px;color:var(--text-muted, var(--text))}.bench-ph-section-title{font-weight:600;margin-bottom:2px}.bench-ph-table{width:100%;border-collapse:collapse;margin-bottom:4px}.bench-ph-table th,.bench-ph-table td{padding:1px 4px;text-align:left;border-bottom:1px solid var(--border-subtle, rgba(0, 0, 0, .08))}.bench-ph-chart-line{stroke:var(--accent);stroke-width:1.5}.bench-ph-chart-neutral{stroke:var(--border-subtle, rgba(0, 0, 0, .15));stroke-width:1;stroke-dasharray:3 2}.bench-ph-chart-dot{fill:var(--accent)}.bench-universal-strip{display:flex;flex-wrap:wrap;gap:1px;margin-top:6px;align-items:flex-end}.bench-universal-cell{flex:1 1 0;min-width:8px;height:10px;border-radius:1px;position:relative}.bench-universal-cell-active{outline:1px solid var(--text);outline-offset:1px}.bench-universal-mark{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);font-size:12px;line-height:1;color:var(--text)}.bench-universal-legend{width:100%;font-size:12px;text-align:center;margin-top:2px;color:var(--text-muted, var(--text))}.bench-vessel-popover,.bench-vessel-popover--dock{min-width:200px;max-width:min(320px,calc(100vw - 24px))}.bench-vessel-popover .bench-vessel-chip,.bench-vessel-popover--dock .bench-vessel-chip{white-space:normal;overflow:visible;text-overflow:unset;max-width:none}.bench-vessel-popover .bench-vessel-chip-name,.bench-vessel-popover--dock .bench-vessel-chip-name{max-width:none;overflow:visible;text-overflow:unset;white-space:normal}.bench-vessel-popover .bench-vessel-empty-name,.bench-vessel-popover--dock .bench-vessel-empty-name{overflow:visible;text-overflow:unset;white-space:normal;word-break:break-word}.bench-vessel-chips{justify-content:center}:root{--stage-lab-bg: var(--bench-surface);--stage-gauge-bg: color-mix(in srgb, var(--surface) 92%, var(--border));--stage-gauge-text: var(--text);--stage-gauge-muted: var(--text-muted);--stage-action-bg: var(--surface);--stage-action-border: var(--border-strong)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--stage-lab-bg: var(--bench-surface)}}[data-theme=dark],[data-theme=light]{--stage-lab-bg: var(--bench-surface)}.bench-stage-root[data-stage=dark]{--stage-lab-bg: #0a1628;--stage-gauge-bg: #132238;--stage-gauge-text: #e8f0fa;--stage-gauge-muted: #a8bdd4;--stage-action-bg: #152a45;--stage-action-border: #3d5a7a}.bench-stage-root[data-stage=dark] .bench-surface{background:var(--stage-lab-bg);border-color:color-mix(in srgb,var(--stage-action-border) 70%,transparent)}.bench-stage-root[data-stage=dark] .bench-vessel-action-dock,.bench-stage-root[data-stage=dark] .bench-vessel-action-more-menu{color:var(--stage-gauge-text)}.bench-stage-root[data-stage=dark] .bench-vessel-wrap.selected,.bench-stage-root[data-stage=dark] .bench-vessel-wrap.is-detail{border-color:color-mix(in srgb,var(--stage-gauge-text) 85%,#fff);background:color-mix(in srgb,var(--stage-lab-bg) 55%,var(--glass-hl));box-shadow:0 0 0 1px color-mix(in srgb,var(--stage-gauge-text) 35%,transparent),0 4px 16px color-mix(in srgb,#000 45%,transparent)}.bench-stage-root[data-stage=dark] .bench-vessel-wrap.drop-valid{border-color:var(--success)}.bench-stage-root[data-stage=dark] .bench-vessel-wrap.drop-invalid{border-color:var(--danger)}.bench-stage-root[data-stage=dark] .bench-vessel-wrap.selected .bench-vessel-foot,.bench-stage-root[data-stage=dark] .bench-vessel-wrap.is-detail .bench-vessel-foot{color:var(--stage-gauge-text)}.bench-stage-root[data-stage=dark] .bench-vessel-foot,.bench-stage-root[data-stage=dark] .vessel-status-pill{color:var(--stage-gauge-muted);background:color-mix(in srgb,var(--stage-gauge-bg) 88%,#000);border-color:var(--stage-action-border)}.bench-quick-start{pointer-events:auto;margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 65%,var(--surface));color:var(--accent-strong);font-size:13px;font-weight:600;cursor:pointer}.bench-stage-root[data-stage=dark] .bench-quick-start{background:#1a3352;color:#93c5fd;border-color:#4a7ab8}.bench-area-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.bench-column-inner--dock-reserve,.bench-column-inner--dock-reserve .bench-area-wrap{min-height:0;overflow:hidden}.bench-column-inner--dock-reserve .bench-surface{min-height:0!important;overflow-x:hidden;overflow-y:auto}.lab-shell:not(.layout-phone) .bench-column-inner--dock-reserve{min-height:min-content}.lab-shell:not(.layout-phone) .bench-column-inner--dock-reserve .bench-area-wrap{flex:1 1 0px;min-height:min(var(--bench-content-min, 0px),max(var(--bench-dock-min, 0px),100vh - 480px))}.lab-shell:not(.layout-phone) .obs-dock{flex-shrink:100}.lab-shell:not(.layout-phone) .bench-column:has(>.nl-measure-dock:not(.nl-measure-dock--collapsed)) .bench-area-wrap{min-height:var(--bench-dock-min, 0px)}.lab-shell:not(.layout-phone) .bench-column:has(>.nl-measure-dock:not(.nl-measure-dock--collapsed)) .obs-dock{min-height:min(64px,12vh)}.bench-vessel-action-dock{position:absolute;z-index:12;left:12px;right:12px;bottom:12px;width:fit-content;margin-inline:auto;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:8px 12px;border-radius:var(--radius-lg);border:1px solid var(--stage-action-border, var(--border-strong));background:var(--stage-action-bg, var(--surface));box-shadow:var(--elev-2);overflow:visible;color:var(--stage-gauge-text, var(--text))}.bench-vessel-action-dock-lcd{flex-shrink:0}.bench-vessel-action-dock-readout{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;flex:0 0 auto;min-width:0;font-size:12px;font-weight:600}.bench-vessel-action-dock-title{flex:1 1 auto;min-width:3em;font-weight:700;white-space:nowrap}.bench-vessel-action-dock--hide-metrics .bench-vessel-action-dock-metrics{display:none}.bench-vessel-action-dock--hide-metrics .bench-vessel-action-dock-title{overflow:hidden;text-overflow:ellipsis;max-width:min(200px,42vw)}.bench-vessel-action-dock-metrics{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px;flex-shrink:0;min-width:0}.bench-vessel-action-dock--compact-actions .bench-vessel-action-btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.bench-vessel-action-dock--compact-actions .bench-vessel-action-btn{min-width:44px}.bench-vessel-action-dock-sep{flex-shrink:0;color:var(--stage-gauge-muted, var(--text-muted));font-weight:500}.bench-vessel-action-dock-metric{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;white-space:nowrap}.bench-vessel-action-dock-metric--amount{font-weight:600;color:var(--stage-gauge-muted, var(--text-muted))}.bench-vessel-action-dock-thermo{width:5px;height:22px;border-radius:3px;border:1px solid var(--stage-action-border, var(--border));background:color-mix(in srgb,var(--stage-action-bg, var(--surface)) 70%,var(--border));display:flex;align-items:flex-end;overflow:hidden}.bench-vessel-action-dock-thermo-fill{width:100%;background:linear-gradient(to top,var(--status-heat),color-mix(in srgb,var(--status-heat) 65%,var(--surface)));min-height:2px}.bench-vessel-action-dock-divider{flex-shrink:0;width:1px;align-self:stretch;margin:2px 0;background:var(--stage-action-border, var(--border));opacity:.65}.bench-vessel-action-dock-buttons{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:thin}.bench-vessel-action-btn{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;min-width:52px;border:none;border-radius:8px;background:transparent;color:var(--stage-gauge-text, var(--text));font-size:12px;font-weight:600;cursor:pointer}.bench-vessel-action-btn:hover,.bench-vessel-action-btn:focus-visible{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.bench-vessel-action-btn-label{max-width:72px;line-height:1.15;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bench-vessel-action-more-wrap{position:relative}.bench-vessel-action-more-menu{position:absolute;right:0;bottom:calc(100% + 4px);top:auto;min-width:160px;max-width:min(280px,90vw);max-height:min(560px,65vh);overflow-y:auto;padding:4px;border-radius:8px;border:1px solid var(--stage-action-border, var(--border));background:var(--stage-action-bg, var(--surface));box-shadow:var(--shadow);z-index:14}.bench-vessel-action-more-portal .bench-vessel-action-more-menu{z-index:60}.bench-vessel-action-more-item{display:flex;width:100%;align-items:flex-start;flex-wrap:wrap;gap:8px;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:inherit;font-size:12px;text-align:left;cursor:pointer}.bench-vessel-action-more-item:hover,.bench-vessel-action-more-item:focus-visible{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}.layout-phone .bench-vessel-action-dock{display:none}.burner-control{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.burner-control-heading{font-family:var(--font-sans);font-weight:700;font-size:13px;color:var(--text-muted);letter-spacing:.04em}.burner-control-slider-wrap{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 8px;align-items:center}.burner-control-slider-label{font-size:12px;color:var(--text-subtle);grid-column:1 / -1}.burner-control-slider{width:100%;grid-column:1}.burner-control-pct{font-size:12px;font-family:var(--font-mono);color:var(--text-muted)}.burner-control--compact{display:inline-flex;flex-direction:row;align-items:center;gap:4px;margin:0;padding:0;border:none}.burner-control-toggle-compact--on{color:var(--success)}.burner-control-toggle-compact-label{max-width:56px}.burner-control-popover-wrap{position:relative}.burner-control-popover{position:absolute;right:0;bottom:calc(100% + 6px);min-width:200px;padding:8px 10px;border-radius:8px;border:1px solid var(--stage-action-border, var(--border));background:var(--stage-action-bg, var(--surface));box-shadow:var(--shadow);z-index:16}.burner-control-popover-portal .burner-control-popover{z-index:60}.bench-vessel-action-dock .burner-control{margin-top:0;padding-top:0;border-top:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.bench-vessel-action-dock .burner-control-heading{display:none}.bench-vessel-wrap.vessel-card--burner-on{position:relative}.bench-vessel-wrap.vessel-card--burner-on:after{content:"";position:absolute;left:50%;bottom:-4px;transform:translate(-50%);width:70%;height:14px;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--status-heat) 75%,transparent) 0%,transparent 72%);pointer-events:none;z-index:2;animation:burner-glow 1.2s ease-in-out infinite alternate}@keyframes burner-glow{0%{opacity:.55;transform:translate(-50%) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1.05)}}[data-stage=dark] .bench-vessel-wrap.vessel-card--burner-on:after{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--status-heat) 90%,#ff6b1a) 0%,transparent 70%)}.bench-ph-chart-axis{stroke:var(--text-muted);stroke-width:1}.bench-ph-chart-tick{fill:var(--text-muted);font-size:12px}.lab-shell--focus .palette-panel--inline,.lab-shell--focus .column-resizer,.lab-shell--focus .equipment-tray,.lab-shell--focus .lab-side-panel--inline{display:none!important}.lab-shell--focus .bench-column{flex:1 1 100%;max-width:100%}.layout-phone.lab-shell--focus .bottom-tab-bar{display:none}.bench-vessel-wrap{-webkit-user-select:none;user-select:none}.bench-vessel-popover{-webkit-user-select:text;user-select:text}.bench-vessel-popover button:not(:disabled){cursor:pointer}.chem-tabs-scroll{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;margin-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.chem-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.chem-tab--active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.chem-tab-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.chem-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.palette-panel--phone-chem .chem-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:600px){.palette-panel--phone-chem .chem-palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.chem-palette-grid .chem-card{max-height:none;position:relative}.chem-card-formula{font-family:var(--font-sans);font-size:15px;font-weight:700;line-height:1.2;letter-spacing:0;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chem-card-meta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;min-width:0}.chem-card-name{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 4em;line-height:1.25}.chem-card-chip{white-space:normal;word-break:break-word;flex-shrink:0}.chem-card-check{color:var(--accent)}.chem-group-hdr{display:flex;align-items:center;gap:6px;margin:10px 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--text-muted)}.chem-group-hdr .palette-count{margin-left:auto}.header-overflow-source{font-size:12px;color:var(--text-subtle);padding:8px 12px;border-top:1px solid var(--border);margin-top:4px}.header-overflow-source a{color:var(--accent)}.help-dialog-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:color-mix(in srgb,var(--bg) 40%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.help-dialog{width:min(440px,100%);max-height:min(90dvh,640px);overflow:auto;padding:20px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);box-shadow:0 12px 40px color-mix(in srgb,var(--text) 12%,transparent)}.help-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.help-dialog-title{margin:0;font-size:18px;font-weight:700}.help-dialog-close{border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;padding:4px}.help-dialog-steps{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px}.help-dialog-steps li{display:flex;gap:10px;align-items:flex-start}.help-step-icon{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.help-dialog-footer{margin:0 0 14px;font-size:11px;color:var(--text-muted);line-height:1.45}.help-dialog-actions{display:flex;flex-direction:column;gap:8px}@media(min-width:380px){.help-dialog-actions{flex-direction:row;flex-wrap:wrap}.help-dialog-primary,.help-dialog-secondary{flex:1 1 auto;min-width:8rem}}.help-step-title{font-weight:600;font-size:13px;margin-bottom:2px}.help-step-body{margin:0;font-size:12px;color:var(--text-muted);line-height:1.45}.help-legend{border-top:1px solid var(--border);padding-top:12px;margin-bottom:16px}.help-legend-title{font-size:12px;font-weight:700;margin-bottom:8px;color:var(--text-muted)}.help-legend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:12px}.help-legend-list li{display:flex;align-items:center;gap:8px}.help-legend-list .vessel-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid var(--border-strong);background:var(--surface-2)}.help-guide-dialog{width:min(560px,100%);max-height:min(92dvh,720px);display:flex;flex-direction:column}.help-guide-body{flex:1;min-height:0;overflow:auto;margin-bottom:12px}.help-observe-legend-row{display:flex;align-items:center;gap:8px}.help-observe-legend-row .vessel-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid var(--border-strong)}.action-add-hint{flex:1 1 100%;width:100%;margin:0;font-size:12px;color:var(--text-muted)}.action-tiles-need-vessel{margin:0 0 8px;font-size:12px;color:var(--text-muted)}.help-guide-groups{display:flex;flex-direction:column;gap:6px}.help-guide-group{border:1px solid var(--border);border-radius:8px;background:var(--surface-2, var(--surface))}.help-guide-summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none;font-weight:600;font-size:13px}.help-guide-summary::-webkit-details-marker{display:none}.help-guide-group-icon{color:var(--accent);display:flex}.help-guide-items{margin:0;padding:0 12px 10px 44px;font-size:12px;line-height:1.5;color:var(--text-muted)}.help-guide-items li{margin-bottom:6px}.help-guide-items strong{color:var(--text);font-weight:600}.help-guide-close-btn{width:100%}.feedback-form{display:flex;flex-direction:column;gap:16px}.feedback-field{display:flex;flex-direction:column;gap:8px}.feedback-label{font-size:13px;font-weight:600;color:var(--text-muted)}.feedback-types{display:flex;flex-wrap:wrap;gap:8px}.feedback-type-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);min-height:44px;padding:8px 14px;cursor:pointer;font-family:inherit;font-size:15px;transition:background .2s,border-color .2s,color .2s}.feedback-type-btn:hover:not(.feedback-type-btn--selected){background:color-mix(in srgb,var(--surface-2) 85%,var(--text) 15%);color:var(--text)}.feedback-type-btn--selected{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.feedback-type-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feedback-textarea{width:100%;min-height:140px;resize:vertical;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;font-size:15px;color:var(--text);box-sizing:border-box}.feedback-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.feedback-count{text-align:right;font-size:12px;color:var(--text-subtle)}.feedback-count--high{color:var(--danger)}.feedback-privacy-link{display:block;margin-top:6px;padding:0;border:none;background:none;font-size:12px;font-family:inherit;color:var(--text-subtle);text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:right}.feedback-privacy-link:hover{color:var(--text)}.feedback-privacy-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.privacy-dialog-sections{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.5;overflow-y:auto;max-height:min(50dvh,420px)}.privacy-dialog-section{margin:0}.privacy-dialog-section strong{font-weight:600}.feedback-msg{margin:0;font-size:14px}.feedback-msg--error{color:var(--danger)}.feedback-msg--ok{color:var(--success)}.feedback-actions{display:flex;justify-content:flex-end;gap:8px}.feedback-send{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 18px;font-weight:600;font-size:15px;font-family:inherit;cursor:pointer;transition:background .2s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .feedback-send{color:#0b1220}}[data-theme=dark] .feedback-send{color:#0b1220}.feedback-send:hover:not(:disabled){background:var(--accent-strong)}.feedback-send:disabled{opacity:.5;cursor:not-allowed}.feedback-send:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:480px){.feedback-actions .action-btn,.feedback-actions .feedback-send{flex:1}}@media(prefers-reduced-motion:reduce){.chem-card,.action-tile,.action-tab,.equipment-tray-card,.bench-vessel-action-btn{transition:none!important}.chem-card:hover,.chem-card:active,.action-tile:hover,.action-tile:active,.equipment-tray-card:hover,.bench-vessel-action-btn:hover,.bench-vessel-action-btn:active{transform:none!important}}.chem-palette-grid .chem-card{min-height:52px;max-height:none;align-items:center;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.chem-palette-grid .chem-card:hover{box-shadow:var(--elev-1);border-color:var(--border-strong);background:var(--state-hover);transform:none}.chem-palette-grid .chem-card:active{transform:scale(.98)}.chem-palette-grid .chem-card.selected{border:2px solid var(--accent);background:var(--accent-soft);box-shadow:var(--elev-1)}.chem-card-vial{flex-shrink:0}.chem-card-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;min-width:0}.chem-card-chip{font-size:12px;line-height:1.2;padding:1px 6px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.chem-card-chip--state{color:var(--text-subtle)}.chem-card-formula{font-size:16px}.chem-card-name{font-size:13px;flex:1 1 100%}.chem-card-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--surface)}.action-tab{border-radius:var(--radius-sm);transition:background .16s,border-color .16s,box-shadow .16s}.action-tab:focus-visible{box-shadow:var(--ring);outline:none}.action-tab--process[aria-selected=true]{background:var(--group-process-bg);border-color:color-mix(in srgb,var(--group-process-icon) 55%,var(--border));color:var(--text);box-shadow:inset 0 -3px 0 var(--group-process-icon)}.action-tab--test[aria-selected=true]{background:var(--group-test-bg);border-color:color-mix(in srgb,var(--group-test-icon) 55%,var(--border));box-shadow:inset 0 -3px 0 var(--group-test-icon)}.action-tab--measure[aria-selected=true]{background:var(--group-measure-bg);border-color:color-mix(in srgb,var(--group-measure-icon) 55%,var(--border));box-shadow:inset 0 -3px 0 var(--group-measure-icon)}.action-tab--electro[aria-selected=true]{background:var(--group-electro-bg);border-color:color-mix(in srgb,var(--group-electro-icon) 55%,var(--border));box-shadow:inset 0 -3px 0 var(--group-electro-icon)}.action-tab{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.action-tab-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.action-tab-icon--process{background:var(--group-process-bg);color:var(--group-process-fg)}.action-tab-icon--test{background:var(--group-test-bg);color:var(--group-test-fg)}.action-tab-icon--measure{background:var(--group-measure-bg);color:var(--group-measure-fg)}.action-tab-icon--electro{background:var(--group-electro-bg);color:var(--group-electro-fg)}.action-tab:hover:not([aria-selected=true]){background:var(--state-hover)}.action-tab:active{background:var(--state-press)}.action-grid--process .action-tile-icon{background:var(--group-process-bg);color:var(--group-process-fg)}.action-grid--test .action-tile-icon{background:var(--group-test-bg);color:var(--group-test-fg)}.action-grid--measure .action-tile-icon{background:var(--group-measure-bg);color:var(--group-measure-fg)}.action-tile-icon{width:36px;height:36px;border-radius:50%;flex-shrink:0}.action-tile-label{font-size:13px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-width:100%}.action-tile{min-height:var(--control-h);border-radius:var(--radius-sm)}.action-tile:focus-visible{box-shadow:var(--ring);outline:none}.control-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--elev-1);overflow:hidden;margin-bottom:8px}.control-panel__head{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:700;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-2)}.control-panel__head-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.control-panel--process .control-panel__head-icon{background:var(--group-process-bg);color:var(--group-process-fg)}.control-panel--measure .control-panel__head-icon{background:var(--group-measure-bg);color:var(--group-measure-fg)}.control-panel--electro .control-panel__head-icon{background:var(--group-electro-bg);color:var(--group-electro-fg)}.control-panel__body{padding:10px;display:flex;flex-direction:column;gap:8px}.control-field-label{display:block;font-size:12px;color:var(--text-subtle);margin-bottom:4px}.control-select,.control-input{width:100%;box-sizing:border-box;min-height:var(--control-h);padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:14px}.control-select:focus-visible,.control-input:focus-visible{outline:none;box-shadow:var(--ring)}.control-btn-row{display:flex;gap:8px}.control-btn-row .action-btn{flex:1;min-height:var(--control-h)}.lcd-readout{font-family:var(--font-mono);background:var(--lcd-bg);color:var(--lcd-fg);border-radius:var(--radius-sm);padding:10px 12px;text-align:center;min-height:var(--control-h);display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:inset 0 2px 6px color-mix(in srgb,var(--lcd-bg) 40%,var(--text))}.lcd-readout__value{font-size:28px;font-weight:700;letter-spacing:.04em;line-height:1}.lcd-readout__sign{font-size:20px;font-weight:600;color:var(--lcd-fg)}.lcd-readout__unit{font-size:14px;font-weight:600;color:var(--lcd-dim);align-self:flex-end;margin-bottom:2px}.lcd-readout--sm .lcd-readout__value{font-size:14px}.lcd-readout--sm{padding:4px 8px;min-height:28px}.stop-clock-readout.lcd-readout .lcd-readout__value{font-size:28px}.burner-control-toggle.action-btn{min-height:var(--control-h);border-radius:var(--radius-sm)}.burner-control--panel{margin-top:0;padding-top:0;border-top:none}.burner-control--panel .control-panel__head{border-bottom:1px solid var(--border)}.burner-control--panel .burner-control-heading{margin:0;font-family:var(--font-sans);font-weight:700;font-size:13px;color:var(--text-muted);letter-spacing:.04em}.control-panel>.burner-control--panel{border:none;box-shadow:none;background:transparent}.burner-control-toggle-compact--on{background:color-mix(in srgb,var(--vfx-flame-outer) 26%,transparent)!important;color:var(--group-process-fg)!important}.burner-control-toggle-compact--on svg{color:var(--vfx-flame-outer)}.vessel-status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);box-shadow:var(--elev-1);font-size:12px;font-weight:600;color:var(--status-pill-text)}.bench-vessel-chip{align-items:center;gap:6px;border-radius:999px;padding:3px 8px;font-size:12px}.bench-vessel-chip-vial{flex-shrink:0}.bench-vessel-popover{border-radius:var(--radius);box-shadow:var(--elev-2)}.equipment-tray-card{transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease;border-radius:var(--radius-sm)}.equipment-tray-card:hover{box-shadow:var(--elev-1);border-color:var(--accent)}.equipment-tray-card:focus-visible{box-shadow:var(--ring);outline:none}.bench-vessel-action-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.bench-vessel-action-btn--process .bench-vessel-action-btn-icon{background:var(--group-process-bg);color:var(--group-process-fg)}.bench-vessel-action-btn--test .bench-vessel-action-btn-icon{background:var(--group-test-bg);color:var(--group-test-fg)}.bench-vessel-action-btn--measure .bench-vessel-action-btn-icon{background:var(--group-measure-bg);color:var(--group-measure-fg)}.bench-vessel-action-btn:focus-visible{outline:none;box-shadow:var(--ring)}.action-electro-accordion{margin-bottom:8px}.action-electro-accordion-hdr.control-panel__head{width:100%;border:none;cursor:pointer;text-align:left;font:inherit}.action-electro-accordion-body.control-panel__body .control-panel__body--embedded{padding:0}.burner-control-toggle.action-btn--success,.burner-control-toggle.action-btn[aria-pressed=true]{background:color-mix(in srgb,var(--vfx-flame-outer) 28%,var(--surface));border-color:var(--vfx-flame-outer);color:var(--group-process-fg)}.burner-control-toggle.action-btn[aria-pressed=true] .burner-control-toggle-label,.burner-control-toggle.action-btn[aria-pressed=true]{color:color-mix(in srgb,var(--vfx-flame-outer) 75%,var(--text))}.action-electro-accordion-hdr:focus-visible{outline:none;box-shadow:var(--ring)}.action-btn--primary.btn-group-process{background:var(--group-process-icon);border-color:color-mix(in srgb,var(--group-process-icon) 85%,var(--text));color:var(--surface)}.action-btn--primary.btn-group-process:hover:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--group-process-icon) 88%,var(--text))}.action-btn--primary.btn-group-test{background:var(--group-test-icon);border-color:color-mix(in srgb,var(--group-test-icon) 85%,var(--text));color:var(--surface)}.action-btn--primary.btn-group-test:hover:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--group-test-icon) 88%,var(--text))}.action-btn--primary.btn-group-measure{background:var(--group-measure-icon);border-color:color-mix(in srgb,var(--group-measure-icon) 85%,var(--text));color:var(--surface)}.action-btn--primary.btn-group-measure:hover:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--group-measure-icon) 88%,var(--text))}.action-btn--primary.btn-group-electro{background:var(--group-electro-icon);border-color:color-mix(in srgb,var(--group-electro-icon) 85%,var(--text));color:var(--surface)}.action-btn--primary.btn-group-electro:hover:where(:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb,var(--group-electro-icon) 88%,var(--text))}.scenario-dialog-overlay{position:fixed;inset:0;z-index:1200;background:color-mix(in srgb,var(--text) 35%,transparent);display:flex;align-items:center;justify-content:center;padding:12px}.scenario-dialog{width:min(920px,100%);max-height:min(90dvh,720px);display:flex;flex-direction:column;background:var(--surface);color:var(--text);border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-lg, 0 12px 40px rgba(0, 0, 0, .2))}.scenario-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.scenario-dialog-title{margin:0;font-size:1.125rem;font-weight:600}.scenario-dialog-toolbar{padding:10px 16px;display:flex;flex-direction:column;gap:10px}.scenario-tablist{display:flex;flex-wrap:wrap;gap:6px}.scenario-tab{min-height:44px;padding:6px 12px;font-size:12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.scenario-tab[aria-selected=true]{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent);font-weight:600}.scenario-search-wrap{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-subtle)}.scenario-search-wrap:focus-within{box-shadow:var(--ring)}.scenario-search{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font-size:14px;outline:none;padding:0}.scenario-search:focus-visible{box-shadow:none}.scenario-grid{flex:1;overflow:auto;padding:0 16px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:max-content;align-content:start;gap:12px}.scenario-card{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);min-height:44px;font-size:12px}.scenario-card-title{font-size:14px;font-weight:600;line-height:1.3}.scenario-card-chips{display:flex;flex-wrap:wrap;gap:6px}.scenario-chip{font-size:12px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid var(--border)}.scenario-card-goal{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;color:color-mix(in srgb,var(--text) 85%,transparent)}.scenario-card-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.scenario-card-open{margin-top:auto;min-height:44px;font-size:14px}.scenario-confirm{padding:16px;display:flex;flex-direction:column;gap:12px}.scenario-goal-card{position:absolute;left:8px;right:8px;top:8px;z-index:3;max-width:420px;max-height:min(42vh,240px);overflow-y:auto;margin:0 auto;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:12px;box-shadow:var(--shadow-md, 0 4px 16px rgba(0, 0, 0, .12));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.scenario-goal-card .scenario-card-title{position:sticky;top:0;z-index:1;padding-bottom:4px;margin-bottom:4px;background:color-mix(in srgb,var(--surface) 96%,transparent)}.scenario-goal-card--collapsed{max-width:fit-content;margin:0;left:8px;right:auto}.scenario-goal-chip{min-height:44px;padding:8px 12px;font-size:12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.scenario-goal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.vessel-tag-chip{position:absolute;top:-6px;right:-4px;font-size:12px;padding:1px 6px;border-radius:6px;background:var(--surface);border:1px solid var(--border);max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:2}.vessel-tag-chip--inline{position:static;display:inline-block;margin-left:6px;vertical-align:middle}.bench-scenario-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}.bench-vessel-detail-panel{max-height:min(70vh,520px);overflow-y:auto}.bench-vessel-popover .bench-vessel-detail-panel{max-height:min(520px,var(--popover-max-h, 70vh))}.bench-vessel-popover .particle-magnifier-toggle{position:sticky;top:0;z-index:1}.layout-phone .phone-vessel-detail-dock .bench-vessel-popover--dock{flex-wrap:wrap;max-height:min(60vh,520px)}.layout-phone .phone-vessel-detail-dock .particle-magnifier,.layout-phone .phone-vessel-detail-dock .bench-vessel-equations,.layout-phone .phone-vessel-detail-dock .bench-ph-section{flex:1 1 100%;min-width:0}.particle-magnifier{margin-top:8px;contain:inline-size;min-width:200px;font-size:12px;color:var(--text-muted, var(--text))}.particle-magnifier-toggle{cursor:pointer;width:100%;display:flex;align-items:center;gap:6px;text-align:left;font-size:12px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm, 6px);padding:8px 10px}.particle-magnifier-toggle-label{flex:1 1 auto}.particle-magnifier-chevron{transition:transform .15s ease}.particle-magnifier-toggle[aria-expanded=true] .particle-magnifier-chevron{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.particle-magnifier-chevron{transition:none}}.particle-magnifier-body{margin-top:8px;display:flex;flex-direction:column;gap:8px;align-items:center}.particle-mode-group{display:flex;flex-wrap:wrap;gap:6px;width:100%;justify-content:center}.particle-mode-btn{font-size:12px;padding:6px 10px;border-radius:var(--radius-sm, 6px);border:1px solid var(--border);background:var(--surface);color:var(--text)}.particle-mode-btn[aria-checked=true]{border-color:var(--accent);background:var(--surface-2)}.particle-canvas{width:176px;height:176px;border-radius:50%;display:block}.particle-legend{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%}.particle-legend-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px}.particle-legend-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.particle-note{font-size:12px;line-height:1.35;margin:0;text-align:center;color:var(--text-muted, var(--text))}.particle-count-table{width:100%;border-collapse:collapse;font-size:12px}.particle-count-table th,.particle-count-table td{padding:2px 4px;text-align:left;border-bottom:1px solid var(--border)}.particle-count-table th{font-weight:600;color:var(--text)}
