:root{color-scheme:dark;--bg: #161411;--surface: #1e1b17;--surface-2: #26221d;--surface-open: #1e1b17;--border: #383329;--text: #e5dfd3;--muted: #8c8478;--note: #b0a89a;--accent: #b8923f;--accent-strong: #d4a843;--accent-strong-hover: #e3bc55;--on-accent: #222019;--logo-fill: #2a2620;--logo-eye: #f2c84b;--danger: #d97252;--danger-strong: #b84f34;--danger-text: #f0c9b8;--danger-border: #6e4034;--danger-soft: rgba(217, 114, 82, .14);--ok: #6aab7e;--error: #e08a72;--hover: #302c26;--stage: #0f0d0b;--stage-well: #181512;--menu: #1e1b17;--menu-border: #383329;--scrollbar: #4a443c;--control-hover-border: #524c43;--accent-soft: rgba(212, 168, 67, .22);--accent-softer: rgba(212, 168, 67, .12);--accent-strong-soft: rgba(242, 200, 75, .32);--track-inset: rgba(0, 0, 0, .22);--progress-end: #e8c96a;--status-busy-border: #5a5038;--status-ok-border: #3d5a46;--status-error-border: #6e4034;--tp: #6aab7e;--tp-border: #3d6b4a;--fp: #c9922a;--fp-border: #7a5a18;--fn: #d97252;--fn-border: #7a4030;--tn: #8c8478;--tn-border: #383329;--chip-alley: #6a94c4;--chip-forbidden: #d97252;--overlay-ink: #161411;--overlay-label: #e5dfd3;--grid-stroke: rgba(184, 146, 63, .75);--shadow: 0 14px 36px rgba(0, 0, 0, .42);--select-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c8478' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");--select-mark: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4a843' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5 9.5 17 19 7.5'/></svg>");--radius: 2px;--radius-panel: 2px;--font-display: "Fraunces", Georgia, serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--control-h: 36px;--font: "Inter", ui-sans-serif, system-ui, sans-serif}:root[data-theme=light]{color-scheme:light;--bg: #f6f0e6;--surface: #fbf7f0;--surface-2: #efe7d8;--surface-open: #fbf7f0;--border: #d8d1c3;--text: #222019;--muted: #5c574c;--note: #36332b;--accent: #6e5312;--accent-strong: #f2c84b;--accent-strong-hover: #e6b62e;--on-accent: #222019;--logo-fill: #f6f0e6;--logo-eye: #f2c84b;--danger: #c45132;--danger-strong: #a34128;--danger-text: #8e3a24;--danger-border: #e7c4b6;--danger-soft: rgba(224, 123, 76, .14);--ok: #2f6a45;--error: #b5442c;--hover: #e7dfd0;--stage: #e6ddd0;--stage-well: #f3ede4;--menu: #fbf7f0;--menu-border: #d8d1c3;--scrollbar: #c9c0b0;--control-hover-border: #b7ad9c;--accent-soft: rgba(242, 200, 75, .38);--accent-softer: rgba(242, 200, 75, .22);--accent-strong-soft: rgba(242, 200, 75, .55);--track-inset: rgba(34, 32, 25, .08);--progress-end: #f8e7a8;--status-busy-border: #e4d3a4;--status-ok-border: #b7d4c2;--status-error-border: #efc8bc;--tp: #2f6a45;--tp-border: #9cc9ae;--fp: #8a5a12;--fp-border: #e2c48a;--fn: #b5442c;--fn-border: #efc4b6;--tn: #5c574c;--tn-border: #d8d1c3;--chip-alley: #4a7fb8;--chip-forbidden: #c45132;--overlay-ink: #222019;--overlay-label: #222019;--grid-stroke: rgba(110, 83, 18, .55);--shadow: 0 12px 32px rgba(34, 32, 25, .08);--select-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c574c' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");--select-mark: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e5312' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5 9.5 17 19 7.5'/></svg>");--radius: 2px;--radius-panel: 2px;--font: "Inter", ui-sans-serif, system-ui, sans-serif;--font-display: "Fraunces", Georgia, serif}html,body,#app{height:100%}body{margin:0;overflow:hidden;font:14px/1.45 var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);height:100%;min-height:0}.shell.is-rail-collapsed{grid-template-columns:76px minmax(0,1fr)}.rail{display:flex;flex-direction:column;gap:var(--space-4);min-height:0;padding:var(--space-4) var(--space-3);background:var(--surface);border-right:1px solid var(--border)}.rail nav{min-height:0;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 var(--space-2)}.brand-mark{display:flex;align-items:center;height:28px;flex:none;color:var(--text)}.brand-mark .logo{display:block;height:28px;width:auto}.brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-name{position:relative;display:inline-block;width:fit-content;font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:900;letter-spacing:-.01em;line-height:1}.brand-name:after{content:"";position:absolute;right:.039em;top:.068em;width:.26em;height:.26em;border-radius:999px;background:var(--logo-eye)}.brand-sub{color:var(--muted);font-size:12px}.icon{display:block;width:18px;height:18px;flex:none}.rail nav{display:flex;flex-direction:column;gap:var(--space-1)}a.nav{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);text-decoration:none}a.nav:hover{background:var(--surface-2)}a.nav.active{background:var(--accent-softer);box-shadow:inset 2px 0 0 var(--accent-strong)}.nav-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.nav-label{font-weight:600}.nav-sub{color:var(--muted);font-size:12px}.rail-foot{display:flex;gap:4px;margin-top:auto}.lang-picker-trigger,.rail-toggle,.theme-toggle{align-self:flex-start;display:grid;place-items:center;width:36px;min-width:36px;height:var(--control-h);padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.lang-picker-current{font-size:11px;font-weight:650;letter-spacing:.06em;font-variant-numeric:tabular-nums}.lang-picker-trigger:hover,.rail-toggle:hover,.theme-toggle:hover{background:var(--surface-2);color:var(--text)}.lang-picker-trigger.is-open,.lang-picker-trigger.is-open:hover{background:var(--surface-open);border-color:var(--accent);color:var(--text)}.lang-picker-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lang-picker-menu{padding:4px}.lang-picker-option{width:100%;justify-content:flex-start;gap:10px;border:0;background:transparent;text-align:left}.lang-picker-option.is-focused{background:var(--hover)}.lang-picker-option.is-active{background:var(--accent-softer)}.lang-picker-option.is-active .lang-picker-code{color:var(--accent-strong)}.lang-picker-code{flex:none;width:1.6rem;font-size:11px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--muted)}.lang-picker-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:450;color:var(--text)}.shell.is-rail-collapsed .rail{align-items:center;padding-left:10px;padding-right:10px}.shell.is-rail-collapsed .brand{padding:0}.shell.is-rail-collapsed .brand-text,.shell.is-rail-collapsed .nav-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell.is-rail-collapsed a.nav{justify-content:center;padding:10px}.shell.is-rail-collapsed .rail-foot{flex-direction:column;align-items:center}.shell.is-rail-collapsed .lang-picker-trigger,.shell.is-rail-collapsed .rail-toggle,.shell.is-rail-collapsed .theme-toggle{align-self:center}.shell.is-rail-collapsed .rail-toggle .icon{transform:rotate(180deg)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.topbar label.field{flex-direction:row;align-items:center;width:auto;max-width:100%;height:var(--control-h);gap:8px;margin:0;color:var(--text);font-size:13px}.topbar label.field .select{flex:none;width:15.5rem;max-width:min(15.5rem,100%)}.scope-note{display:flex;align-items:center;gap:var(--space-4);height:var(--control-h);margin:0;color:var(--muted);font-size:13px;line-height:1.2}.scope-pair{display:inline-flex;align-items:baseline;gap:6px}.scope-note .scope-pair>span{color:var(--text);font-weight:600}.topbar{display:flex;flex-wrap:wrap;flex-shrink:0;gap:var(--space-3) var(--space-4);align-items:center;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--bg)}.workspace{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:auto;padding:var(--space-4) var(--space-5) var(--space-3)}.workspace>*{flex-shrink:0}.workspace>.compare-grid{flex-shrink:1}.workspace-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-4)}.help{grid-column:2;grid-row:1;max-width:36rem;color:var(--muted);font-size:13px}.help summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text);font-weight:600;list-style:none}.help summary::-webkit-details-marker{display:none}.help p{margin:var(--space-2) 0 0}.help[open]{grid-column:1 / -1;grid-row:2;max-width:none;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}h1{margin:0;font-family:var(--font-display);font-size:22px;font-weight:560;letter-spacing:-.03em}#note{margin:var(--space-3) 0 0;color:var(--note)}#note:empty{display:none}.hint{margin:var(--space-3) 0 0;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:8px;height:var(--control-h);max-width:min(32rem,100%);margin-left:auto;padding:0 12px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;line-height:1.2;white-space:nowrap}.status:before{content:"";width:6px;height:6px;flex:none;border-radius:99px;background:currentColor}.status-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.status:empty{display:none}.status.is-busy{color:var(--accent);border-color:var(--status-busy-border)}.status.is-ok{color:var(--ok);border-color:var(--status-ok-border)}.status.is-error{color:var(--error);border-color:var(--status-error-border)}.stage-slot:has(.stage:not([hidden])),.stage-slot:has(#stage:not([hidden])),#app.is-empty .stage-slot{display:flex;flex:1 1 0;align-items:flex-start;min-height:0;margin-top:var(--space-3);container-type:size}.stage-slot.is-review:has(.stage),.stage-slot.is-review:has(#stage){min-height:min(62vh,720px)}.stage-slot.is-zoomed{overflow:hidden;border-radius:var(--radius-panel);background:var(--stage)}.stage-empty{display:none;place-items:center;flex:1;width:100%;min-height:0;margin:0;padding:var(--space-5);border:1px dashed var(--border);border-radius:var(--radius-panel);background:var(--surface);text-align:center}#app.is-empty .stage-empty{display:grid}#app.is-empty .stage-slot{align-items:stretch}.stage-empty p{margin:0;max-width:26rem;color:var(--muted);font-size:15px}@media(max-width:860px){.shell,.shell.is-rail-collapsed{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.rail{flex-direction:row;align-items:center;gap:var(--space-2);border-right:0;border-bottom:1px solid var(--border);padding:10px 12px}.rail nav{flex-direction:row;flex:1;min-width:0}.nav-sub,.brand-sub{display:none}.rail-foot{margin-top:0;margin-left:auto}.topbar,.workspace{padding-left:var(--space-4);padding-right:var(--space-4)}.status{margin-left:0}}:root[data-theme=light] a.nav.active{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent-strong)}button,select,input{box-sizing:border-box;height:var(--control-h);font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:0 12px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.2;cursor:pointer}button:hover{background:var(--hover)}button.primary{background:var(--accent-strong);border:1px solid color-mix(in srgb,var(--text) 22%,transparent);color:var(--on-accent);font-weight:600;box-shadow:0 1px color-mix(in srgb,var(--on-accent) 8%,transparent)}:root[data-theme=light] button.primary{border-color:var(--text);box-shadow:2px 2px 5px #22201924}:root:not([data-theme=light]) button.primary{border-color:color-mix(in srgb,var(--accent-strong-hover) 45%,var(--border));box-shadow:0 1px #00000040}:root[data-theme=light] input[type=checkbox]{accent-color:var(--text)}button.primary:hover{background:var(--accent-strong-hover)}button.danger{background:transparent;border-color:var(--danger-border);color:var(--danger-text)}button.danger:hover{background:var(--danger-soft)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible,a.nav:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox]{width:1rem;height:1rem;flex:none;padding:0;accent-color:var(--accent-strong)}label.field{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);color:var(--muted);font-size:12px;font-weight:600}label.field input{color:var(--text);font-weight:450;min-width:8.5rem}label.field input[type=number]{width:6.5rem;min-width:0}label.field input[type=text]{width:14rem;min-width:0}label.check{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h);color:var(--text);font-size:13px}.tools{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:stretch;margin-top:var(--space-4)}.tool-group,.tools.panel,.review-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.tool-group{flex:0 1 auto}.sample-progress{flex:1 0 100%;margin:0;color:var(--accent);font-size:13px;line-height:1.4}.detect-progress{display:grid;gap:8px}.detect-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;font-size:12px;line-height:1.3}.detect-progress-title{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--text);font-weight:600}.detect-progress-title>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detect-progress-step{flex:none;padding:1px 7px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-variant-numeric:tabular-nums;font-weight:650}.detect-progress-detail{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}.detect-progress-track{position:relative;height:8px;overflow:hidden;border-radius:99px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--track-inset)}.detect-progress-fill{position:absolute;top:0;bottom:0;left:0;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent-strong),var(--progress-end));transition:width .45s cubic-bezier(.22,1,.36,1)}.detect-progress-fill.is-pending{width:32%;animation:detect-slide 1.35s cubic-bezier(.4,0,.2,1) infinite}@keyframes detect-slide{0%{transform:translate(-120%)}to{transform:translate(340%)}}.tools.panel{flex-direction:column;align-items:stretch}.tool-row,.compare-panel,.pager,.ft-actions,.swatches,.check-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.pager,.swatches,label.check{align-items:center;min-height:var(--control-h)}.group-label{flex:1 0 100%;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.chip{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.chip:before{content:"";width:8px;height:8px;border-radius:99px;background:currentColor}.chip.alley:before{background:var(--chip-alley)}.chip.forbidden:before{background:var(--chip-forbidden)}.check-row label{display:inline-flex;gap:6px;align-items:center;min-height:var(--control-h);color:var(--text);font-size:13px;font-weight:450}#review-pos{min-width:7rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}.ft-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);align-items:end;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.ft-form label.field input{width:100%}.ft-running{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:11rem;overflow:hidden;border:0;background:var(--danger-strong);color:var(--on-accent)}button.ft-running:hover{background:var(--danger)}#ft-running-bar{position:absolute;inset:0 auto 0 0;width:0;background:var(--danger)}#ft-running-label{position:relative;color:var(--on-accent)}select:not(.select-native){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-color:var(--surface-2);background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 10px center;background-size:16px;text-overflow:ellipsis;cursor:pointer}select:not(.select-native):hover{border-color:var(--control-hover-border);background-color:var(--hover)}.select{position:relative;display:inline-flex;min-width:10.5rem;max-width:18rem;vertical-align:bottom}.topbar .select,.ft-form .select{display:flex;width:100%;min-width:0;max-width:none}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:auto;flex:1 1 auto;min-width:0;height:var(--control-h);padding:0 10px 0 12px;box-sizing:border-box;background:var(--surface-2);text-align:left;font-weight:450;transition:border-color .12s ease,background .12s ease}.select-trigger:hover:not(:disabled){border-color:var(--control-hover-border);background:var(--hover)}.select-trigger.is-open,.select-trigger.is-open:hover{border-color:var(--accent);background:var(--surface-open)}.select-trigger.is-placeholder .select-value{color:var(--muted)}.select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-chevron{display:grid;flex:none;place-items:center;color:var(--muted)}.select-chevron .icon{width:16px;height:16px;transition:transform .14s ease}.select-trigger.is-open .select-chevron{color:var(--accent)}.select-trigger.is-open .select-chevron .icon{transform:rotate(180deg)}select.select-native{position:absolute;width:1px;height:1px;min-width:0;min-height:0;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;pointer-events:none}.select-menu{position:fixed;z-index:40;display:flex;flex-direction:column;width:max-content;max-width:min(28rem,calc(100vw - 16px));max-height:min(320px,calc(100vh - 16px));padding:4px;box-sizing:border-box;overflow:hidden;background:var(--menu);border:1px solid var(--menu-border);border-radius:var(--radius-panel);box-shadow:var(--shadow);animation:select-in .12s ease-out}.select-filter{flex:none;width:calc(100% - 8px);min-height:32px;margin:4px 4px 6px;padding:6px 10px;box-sizing:border-box;background:var(--bg);border-color:transparent;font-size:13px}.select-filter:focus-visible{border-color:var(--accent)}.select-options{position:relative;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}.select-options::-webkit-scrollbar{width:10px}.select-options::-webkit-scrollbar-thumb{background:var(--scrollbar);border:2px solid transparent;border-radius:99px;background-clip:padding-box}.select-option{display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 8px 6px 10px;border-radius:6px;color:var(--text);font-size:13px;font-weight:450;line-height:1.3;cursor:pointer;-webkit-user-select:none;user-select:none}.select-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.select-option:after{content:"";width:14px;height:14px;flex:none;margin-left:auto}.select-option[aria-selected=true]{background:var(--accent-soft)}.select-option[aria-selected=true]:after{background:center / 14px 14px no-repeat var(--select-mark)}.select-option.is-active{background:var(--hover)}.select-option[aria-selected=true].is-active{background:var(--accent-strong-soft)}.select-option[aria-disabled=true]{color:var(--muted);cursor:default;pointer-events:none}.select-empty{margin:0;padding:10px 8px;color:var(--muted);font-size:13px;text-align:center}@keyframes select-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.events-page{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.events-page>.tool-row{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.events-page>.detect-progress{padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.events-config{max-width:52rem;gap:12px}.events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:start}.events-card{flex-direction:column;align-items:stretch;gap:var(--space-3)}.events-card .hint,.trial-detector .hint{margin:0}.events-card .select{display:flex;width:100%;max-width:none}.card-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:var(--space-3);align-items:end}.card-fields label.field input{width:100%;min-width:0}.events-config .events-card{flex-wrap:nowrap;gap:0;padding:0}.events-config .events-card>h2{padding:13px 20px;border-bottom:1px solid var(--border)}.events-config .card-body{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:16px 20px 18px}.events-config .card-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}@media(max-width:640px){.events-config .card-fields{grid-template-columns:1fr}}.events-config .card-fields label.field{gap:6px}.events-config .card-fields label.field input[type=number]{width:100%}.events-config .card-notes{display:flex;flex-direction:column;gap:6px}.events-config .hint{margin:0;max-width:40rem;font-size:13px;line-height:1.45}.events-config>.events-actions,.events-config>.detect-progress,.events-config>.events-result,.events-config>.events-alert{padding:16px 20px}.events-config>.events-result,.events-config>.events-alert{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.events-config>.events-actions{align-items:flex-end}.events-config .events-video{width:100%}.events-card h2{margin:0;font-size:14px;font-weight:650}.events-verdict{margin:0;font-weight:650}.events-verdict.is-ok{color:var(--ok)}.events-verdict.is-bad{color:var(--error)}.events-result{display:flex;flex-direction:column;gap:var(--space-3)}.events-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface)}.events-table{width:100%;border-collapse:collapse;font-size:13px}.events-table th,.events-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.events-table th{color:var(--muted);font-weight:600}.events-table tr.is-duplicate td{color:var(--danger-text)}.events-video{width:min(100%,960px);border-radius:var(--radius-panel);background:var(--stage)}.trial-detector{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3);padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface)}.trial-detector-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:14px}.trial-detector-title strong{font-weight:650}.trial-detector-title span{color:var(--muted)}.trial-detector .hint{margin:0}.trial-stats{display:flex;flex-wrap:wrap;gap:var(--space-3)}.trial-stat{display:flex;flex-direction:column;gap:2px;min-width:9rem;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface)}.trial-stat strong{font-size:18px;font-weight:650}.trial-stat span{color:var(--muted);font-size:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.batch-days{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:16rem;overflow:auto}.batch-days li{display:flex;justify-content:space-between;gap:var(--space-3);padding:6px 8px;border-radius:6px;color:var(--muted)}.batch-days li.is-in{color:var(--text);background:color-mix(in srgb,var(--accent) 16%,transparent)}.batch-servers{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.batch-note{margin:var(--space-2) 0 0;color:var(--muted)}.auth-wait,.login-screen,.denied-screen{box-sizing:border-box;min-height:100%}.auth-wait{display:grid;place-items:center;margin:0;color:var(--muted)}.login-screen,.denied-screen{display:grid;place-items:center;padding:var(--space-5);background:radial-gradient(ellipse at top,var(--accent-softer),transparent 58%),var(--bg)}.login-tools{position:fixed;top:var(--space-4);right:var(--space-4);display:flex;gap:4px}.login-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);width:min(100%,24rem);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow)}.login-card h1{margin:0;font-family:var(--font-display);font-size:32px;font-weight:560;letter-spacing:-.03em}.login-card .brand-mark{color:var(--text)}.login-lead{margin:0 0 var(--space-2);color:var(--note)}.login-card .field input{width:100%}.login-error{margin:0;color:var(--error)}.login-or{display:flex;align-items:center;gap:12px;margin:0;color:var(--note);font-size:13px}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--border)}button.login-ssh{width:100%}.readonly-note,.users-note{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);background:var(--accent-softer);color:var(--note)}.workspace.is-locked button.primary,.workspace.is-locked button.danger{pointer-events:none;opacity:.45}.account{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.account-name{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.account-logout{background:transparent}.users-layout{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);gap:var(--space-4);align-items:start}.users-list,.users-form{display:flex;flex-direction:column;gap:var(--space-2)}.user-row{display:flex;justify-content:space-between;gap:var(--space-2);width:100%;height:auto;min-height:var(--control-h);padding:8px 12px;text-align:left;background:transparent}.user-row span:last-child{color:var(--muted);font-size:12px}.user-row.is-selected{border-color:var(--accent);background:var(--accent-softer)}.users-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.users-identity .field input{width:100%}.users-form .check{display:flex;align-items:center;gap:var(--space-2);font-weight:600}.users-hint,.users-empty{margin:0;color:var(--muted)}.preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.preset-row>span{color:var(--muted);font-size:12px;font-weight:600}.rights{width:100%;border-collapse:collapse}.rights th,.rights td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}.rights td{width:5rem;text-align:center}.users-actions,.users-password{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-2)}@media(max-width:860px){.users-layout,.users-identity{grid-template-columns:1fr}}[hidden]{display:none!important}#stage,.stage{position:relative;display:inline-block;max-width:100%;max-height:100%;border-radius:var(--radius-panel);overflow:hidden;background:var(--stage);box-shadow:var(--shadow);cursor:crosshair;-webkit-user-select:none;user-select:none;line-height:0}.stage-frame-error{display:grid;place-items:center;box-sizing:border-box;width:min(100cqi,36rem);min-height:16rem;margin:0;padding:var(--space-5);line-height:1.45;color:var(--error);font-size:15px;text-align:center}#frame,.frame{display:block;width:auto;height:auto;max-width:100cqi;max-height:100cqh;pointer-events:none;-webkit-user-drag:none}#overlay,.overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:all;touch-action:none}.overlay.is-readonly{pointer-events:none}.results{margin-top:var(--space-4)}.verdict{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-3);min-height:1.4em;color:var(--text)}.verdict:empty,.ft-stats:empty,.table-wrap:not(:has(tbody tr)){display:none}.eval-set{margin:0 0 var(--space-2);color:var(--accent)}.badge{display:inline-block;padding:2px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-weight:600;letter-spacing:.02em}.badge.tp,td.tp,.outcome-link.tp{color:var(--tp);border-color:var(--tp-border)}.badge.fp,td.fp,.outcome-link.fp{color:var(--fp);border-color:var(--fp-border)}.badge.fn,td.fn,.outcome-link.fn{color:var(--fn);border-color:var(--fn-border)}.badge.tn,td.tn,.outcome-link.tn{color:var(--tn);border-color:var(--tn-border)}button.outcome-link{min-height:0;padding:1px 8px;background:transparent;border:1px solid currentColor;border-radius:4px;font-weight:600}button.outcome-link:hover{background:var(--hover)}.table-wrap{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface)}#scores{width:100%;margin:0;border-collapse:separate;border-spacing:0}#scores th,#scores td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;font-variant-numeric:tabular-nums}#scores th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.03em}#scores tr:last-child td{border-bottom:0}#scores tr.winner td{background:var(--accent-softer);color:var(--text)}#scores tr.winner td:first-child{color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.ft-stats,.ft-live{max-width:960px;margin-top:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);color:var(--text)}.ft-stats p{margin:.4em 0}.ft-stats p:first-child{margin-top:0}.ft-stats p:last-child{margin-bottom:0}#ft-live-caption{margin:0 0 var(--space-2)}.ft-progress{height:8px;margin:0 0 var(--space-3);overflow:hidden;border-radius:99px;background:var(--surface-2)}.ft-progress>span{display:block;width:0;height:100%;background:var(--accent)}:root[data-theme=light] .ft-progress>span{background:var(--accent-strong)}:root[data-theme=light] #scores tr.winner td:first-child{box-shadow:inset 2px 0 0 var(--accent-strong)}.ft-chart{width:100%;max-width:760px;height:240px;background:var(--stage-well);border:1px solid var(--border);border-radius:var(--radius)}.ft-legend{display:flex;flex-wrap:wrap;gap:14px;margin:var(--space-2) 0 var(--space-3);color:var(--muted);font-size:12px}.ft-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px}.ft-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.ft-previews figure{margin:0}.ft-previews img{width:100%;max-height:320px;object-fit:contain;background:var(--stage);border-radius:var(--radius)}.ft-previews figcaption{margin-top:var(--space-1);color:var(--muted);font-size:12px}.ground-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:var(--space-3);align-items:start;margin-top:var(--space-3)}.ground-work .stage-slot:has(#stage){display:block;flex:none;height:auto;min-height:auto;margin-top:0;container-type:normal}.ground-work #frame{max-width:100%;max-height:min(72vh,760px)}.ground-side{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0;overflow:auto}.ground-rect,.ground-nadir{margin:0}.ground-note{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.ground-note.is-error{color:var(--error)}.ground-table{max-height:none;flex:1 1 auto}.pair-table{width:100%;border-collapse:separate;border-spacing:0}.pair-table th,.pair-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:12px;font-variant-numeric:tabular-nums;vertical-align:middle}.pair-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-weight:650}.pair-table tr.is-selected td{background:var(--accent-soft)}.pair-table input{width:4.75rem;height:32px;padding:0 8px}.pair-table button.pair-remove{min-height:0;padding:2px 8px;background:transparent}@media(max-width:980px){.ground-work{grid-template-columns:1fr}}.compare-picks{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.compare-group .hint{margin:var(--space-2) 0 0}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);flex:1 1 0;min-height:16rem;margin-top:var(--space-3)}.compare-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.compare-caption{margin:0 0 var(--space-2);color:var(--muted);font-size:12px;font-weight:650}.compare-pane .stage{cursor:default}.compare-pane .stage-slot{flex:1 1 0;min-height:0}.results td.delta-up{color:var(--ok)}.results td.delta-down{color:var(--error)}.results tr.winner td{background:var(--accent-softer)}@media(max-width:980px){.compare-picks,.compare-grid{grid-template-columns:1fr}}
