:root{
  color-scheme:dark;
  --bg:#090f16;--panel:#111e29;--panel-deep:#0d1822;--panel-hi:#162532;
  --edge:#294252;--edge-soft:#223644;--ink:#eaf3f7;--muted:#9fb4c1;
  --aqua:#73e3d0;--amber:#efb36d;--purple:#c5a4fc;--blue:#98baf9;
  --warn:#f0bb70;--bad:#f0a2a1;--good:#9ce9b7;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:radial-gradient(ellipse 85% 420px at 92% 1%,#183748 0%,transparent 78%),var(--bg);color:var(--ink);font:15px/1.57 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,select,input,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.4;cursor:not-allowed}
a{color:var(--aqua)}
.wrap{max-width:1370px;margin:auto;padding-left:clamp(16px,3vw,44px);padding-right:clamp(16px,3vw,44px)}
.site-nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--edge-soft)}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-size:.78rem;font-weight:850;letter-spacing:.16em;text-decoration:none;line-height:1.28}
.brand small{display:block;font-size:.62rem;letter-spacing:.13em;color:var(--muted);margin-top:3px}
.mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid #517779;border-radius:12px;background:#143038;letter-spacing:-.09em;font-size:1.12rem}
.dot{color:var(--aqua)}
.nav-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:flex-end}
.badge{border:1px solid #3f6b62;background:#173b35;color:#b4ffe9;border-radius:6px;padding:5px 9px;font:bold .64rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.075em}
.back-link{font-size:.8rem;font-weight:720;text-decoration:none;color:#d3e5ed}
.back-link:hover,.brand:hover{color:var(--aqua)}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:66px 0 62px}
.hero-copy{max-width:760px}
.eyebrow,.panel-kicker{font:bold .7rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.135em;color:var(--aqua)}
.green-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 4px #25443d;vertical-align:middle;margin-right:8px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2.95rem,7.3vw,6rem);line-height:.98;letter-spacing:-.077em;margin:18px 0 25px;font-weight:850}
h1 em{font-style:normal;color:var(--aqua)}
h2{font-size:clamp(1.25rem,2.4vw,1.9rem);letter-spacing:-.045em;line-height:1.18;font-weight:770;margin:10px 0 19px}
h3{font-size:1rem;letter-spacing:-.01em;margin:10px 0}
.hero-lede{font-size:clamp(1rem,1.65vw,1.16rem);color:#bdced8;line-height:1.65;max-width:720px}
.hero-lede strong{color:var(--ink)}
.scope-note{max-width:690px;font-size:.85rem;color:#a5b6c3;line-height:1.55;border-left:2px solid #4b786e;padding-left:14px;margin-top:21px;margin-bottom:0}
.chain{display:flex;align-items:center;gap:5px;border:1px solid var(--edge);border-radius:14px;padding:14px;background:#11212bc9;margin-bottom:10px;flex-shrink:0}
.chain div{display:grid;gap:3px;padding:8px 9px;text-align:center;min-width:74px}
.chain div strong{font-size:1rem;line-height:1;color:var(--aqua);font-family:ui-monospace,Consolas,monospace}
.chain div span{font-size:.65rem;font-weight:730;line-height:1.35;letter-spacing:.04em;color:#d9e3e7}
.chain i{font-style:normal;font-size:1.5rem;color:#688899}
.mode-tabs{display:flex;gap:0;border-bottom:1px solid var(--edge);margin:0 0 26px}
.mode-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#9db2c0;min-height:58px;padding:13px 24px 15px;font-weight:780;letter-spacing:-.01em;text-align:left}
.mode-tabs button:hover{color:var(--ink)}
.mode-tabs button.active{color:var(--aqua);border-color:var(--aqua);background:#15313b71}
.tab-num{color:#8daab8;font:700 .72rem ui-monospace,Consolas,monospace;margin-right:7px}
.columns{display:grid;grid-template-columns:minmax(285px,.74fr) minmax(0,1.65fr);gap:20px;align-items:start}
.panel{background:var(--panel);border:1px solid var(--edge);border-radius:14px;min-width:0;padding:24px}
.controls{position:sticky;top:12px}
.workspace{display:grid;gap:20px;min-width:0}
.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:6px}
.panel-heading h2{margin-bottom:9px}
.data-label{font:bold .63rem ui-monospace,SFMono-Regular,Consolas,monospace;border:1px solid var(--edge);color:#b1c1c9;padding:6px 9px;white-space:nowrap;letter-spacing:.04em;border-radius:6px}
.controls label:not(.check-line),.slider-title label{display:block;margin:15px 0 7px;color:#dbe9ef;font-size:.81rem;font-weight:740}
select,textarea,input[type="file"],input[type="text"]{width:100%;background:#0b1620;border:1px solid #385568;border-radius:8px;color:var(--ink);padding:11px;min-height:42px;outline-offset:2px}
select:focus-visible,textarea:focus-visible,input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}
textarea{resize:vertical;min-height:80px}
input[type=file]{font-size:.78rem}
input[type=file]::file-selector-button{border:1px solid #467c76;border-radius:6px;background:#173e38;color:#eaf9f4;padding:6px 10px;margin-right:8px;cursor:pointer}
input[type=range]{accent-color:var(--aqua);width:100%;cursor:pointer;display:block}
output{color:var(--aqua)}
.field-hint{color:#a1b7c3;font-size:.81rem;line-height:1.5;margin:8px 0 15px}
.slider-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:12px 0 4px}
.slider-title label{margin:0}
.slider-title output{font:bold .81rem ui-monospace,Consolas,monospace;white-space:nowrap}
.separator{height:1px;background:var(--edge);margin:24px 0}
.check-line{display:flex;align-items:flex-start;gap:8px;margin:15px 0 8px;font-size:.85rem;font-weight:580;color:#d7e7e9;cursor:pointer}
.check-line input{accent-color:var(--aqua);margin-top:5px}
.actor-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 8px}
.actor-card{--actor:#73e3d0;background:#0e1b25;border:1px solid #324956;color:#d6e4e9;padding:12px 5px 10px;display:flex;flex-direction:column;align-items:center;border-radius:9px;min-height:145px;gap:6px;min-width:0}
.actor-card .actor-name{font-weight:820;font-size:.74rem;margin-top:2px}
.actor-card .actor-role{font-size:.62rem;color:#9fb1bc;text-align:center;line-height:1.3}
.actor-card.active{border:2px solid var(--actor);padding:11px 4px 9px;background:color-mix(in srgb,var(--actor) 12%,#0e1b25)}
.actor-card[aria-pressed=false]{opacity:.58}
.actor-card.active .actor-name{color:var(--actor)}
.actor-figure{height:68px;width:55px;display:block;position:relative;margin-top:4px}
.actor-figure .head{width:19px;height:19px;background:var(--actor);border-radius:50%;position:absolute;left:18px;top:0}
.actor-figure .torso{width:24px;height:29px;background:var(--actor);border-radius:7px 7px 5px 5px;position:absolute;left:15px;top:22px}
.actor-figure .arms{position:absolute;left:3px;top:25px;width:50px;height:7px;background:var(--actor);border-radius:5px;transform:rotate(-8deg)}
.actor-figure .legs{position:absolute;left:15px;top:48px;width:24px;height:20px;border-left:8px solid var(--actor);border-right:8px solid var(--actor);border-radius:0 0 3px 3px}
.actor-card:not(.active) .actor-figure{filter:saturate(.55)}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:13px 0 15px}
.metric{padding:17px 15px;background:#0b1720;border:1px solid var(--edge-soft);border-radius:11px;display:flex;flex-direction:column;gap:3px}
.metric span{font-size:.76rem;font-weight:720;color:#bdd0d8}
.metric strong{font-size:clamp(1.85rem,3.2vw,2.5rem);letter-spacing:-.06em;line-height:1.2;color:#e8f7f6;font-variant-numeric:tabular-nums}
.metric small{font-size:.7rem;color:#99adba}
.metric-loss strong{color:var(--warn)}
.statement{border-left:3px solid var(--aqua);padding:14px 16px;background:#12353073;border-radius:5px;font-size:.91rem;color:#d7e8e7;line-height:1.57}
.statement strong{color:var(--aqua)}
.secondary-metrics{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;padding-top:13px;border-top:1px solid var(--edge)}
.secondary-metrics span{font-size:.78rem;color:#abbecb}
.secondary-metrics strong{margin-left:5px;color:#ebf6f6;font-variant-numeric:tabular-nums}
.timeline-panel{overflow:hidden}
.timeline-scroll{width:100%;overflow-x:auto;margin:2px 0}
.timeline-scroll svg{display:block;min-width:570px;width:100%;height:auto}
.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:3px;margin-bottom:16px}
.legend span{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:#bcced6}
.legend-dot{width:9px;height:9px;border-radius:2px;display:inline-block}
.legend-dot.known{background:var(--aqua)}
.legend-dot.observed{background:var(--amber)}
.legend-dot.recorded{background:var(--blue)}
.row-buttons{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:11px 0}
button.primary,button.secondary,button.ghost{display:inline-flex;gap:8px;justify-content:center;align-items:center;border:1px solid #408275;border-radius:8px;padding:11px 14px;font-weight:720;line-height:1.3}
button.primary{background:#1b7567;color:white;border-color:#33a38f}
button.primary:hover:not(:disabled){background:#218777}
button.secondary{background:#1a3445;border-color:#456a7c;color:#e5f1f6}
button.secondary:hover:not(:disabled){background:#254458}
button.ghost{background:#101f2b;border-color:#355365;color:#b9d0d8}
button.ghost:hover:not(:disabled){background:#26394a}
button.small{font-size:.81rem;padding:9px 12px}
.comparison-empty{background:#101e29;border:1px dashed #38515e;padding:16px;border-radius:9px;color:#acbfc9;font-size:.85rem}
.comparison-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.comparison-table th,.comparison-table td{padding:9px 7px;text-align:right;border-bottom:1px solid var(--edge)}
.comparison-table th:first-child,.comparison-table td:first-child{text-align:left;color:#bdd0d9}
.comparison-table thead{color:var(--aqua);font-size:.73rem}
.footer{margin-top:55px;padding:24px 0 40px;border-top:1px solid var(--edge-soft);display:flex;align-items:start;justify-content:space-between;gap:20px;color:#9fb4c0;font:bold .66rem ui-monospace,Consolas,monospace;letter-spacing:.065em}
.footer p{max-width:590px;font:400 .78rem/1.5 system-ui,sans-serif;margin:0;color:#9eb2bd}
.footer-accent{color:var(--aqua)}
[hidden]{display:none!important}
.review-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.review-intro p{font-size:.89rem;color:#acbfcc;max-width:640px;margin-bottom:0}
.privacy-tag{border:1px solid #41695c;border-radius:7px;color:#b4eccc;padding:10px 13px;white-space:nowrap;font-size:.69rem;font-weight:780;letter-spacing:.065em}
.playback-panel,.review-results{min-width:0}
.video-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:240px;aspect-ratio:16/9;background:#050b11;overflow:hidden;border:1px solid #2a4050;border-radius:10px}
.video-stage video{display:block;width:100%;height:100%;max-height:520px;object-fit:contain;background:#05090d}
.video-empty{position:absolute;inset:0;display:flex;gap:10px;flex-direction:column;align-items:center;justify-content:center;color:#b3c5cf;pointer-events:none}
.video-empty span{font-size:3rem;color:#365866}
.video-empty strong{font-weight:770}
.video-empty small{font-size:.82rem;color:#8eacbb}
.mask-layer{position:absolute;inset:0;z-index:4;pointer-events:none;touch-action:none}
.mask-layer.drawing{pointer-events:auto;cursor:crosshair;background:#07151c18}
.roi-rect{position:absolute;border:2px solid var(--actor,#73e3d0);background:color-mix(in srgb,var(--actor,#73e3d0) 25%,transparent);box-shadow:0 0 0 9999px #02080d4a;pointer-events:none;border-radius:5px}
.roi-rect span{position:absolute;top:0;left:0;background:var(--actor,#73e3d0);color:#071019;font-weight:850;font-size:.66rem;white-space:nowrap;padding:3px 7px;letter-spacing:.06em}
.roi-rect.provisional{border-style:dashed;background:color-mix(in srgb,var(--actor,#73e3d0) 14%,transparent);box-shadow:0 0 0 9999px #02080d35}
.roi-rect.provisional span{background:#27464d;color:#d6f7ef;border:1px solid var(--actor,#73e3d0)}
.tracking-status{padding:10px 12px;border:1px solid #356f63;border-left:3px solid var(--aqua);border-radius:6px;background:#132d30;color:#c0eee1;font-size:.8rem;line-height:1.48;margin:12px 0}
.tracking-status.warn{border-color:#90694b;border-left-color:var(--amber);background:#3a2b22;color:#ffe0bb}
.tracking-status.lost{border-color:#94494a;border-left-color:var(--bad);background:#3b2328;color:#ffcbce}
.polygon-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;--poly-color:#73e3d0}
.polygon-overlay polygon{fill:color-mix(in srgb,var(--poly-color) 24%,transparent);stroke:var(--poly-color);stroke-width:4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.polygon-overlay.provisional polygon{fill:color-mix(in srgb,var(--poly-color) 12%,transparent);stroke-dasharray:10 6;stroke-width:3}
.polygon-overlay polyline{fill:color-mix(in srgb,var(--poly-color) 12%,transparent);stroke:var(--poly-color);stroke-width:4;stroke-dasharray:7 4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.polygon-handle{fill:#09151d;stroke:var(--poly-color);stroke-width:5;vector-effect:non-scaling-stroke}


.transport{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 3px}
.time-readout{font:800 .94rem ui-monospace,Consolas,monospace;white-space:nowrap}
.review-status{background:#112d32;border:1px solid #32645d;border-radius:8px;padding:10px 12px;font-size:.82rem;color:#bce4dc;margin-top:10px}
.review-status.warn{background:#392c21;border-color:#75573d;color:#ffd9a4}
.review-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 18px}
.review-counts div{border:1px solid var(--edge);background:#0d1a24;border-radius:9px;padding:12px}
.review-counts span{font-size:.73rem;color:#b8c9d2;display:block;line-height:1.4;min-height:36px}
.review-counts strong{font-size:1.75rem;color:#eaf5fa;font-weight:800;letter-spacing:-.05em;display:block}
.marker-list{display:grid;gap:8px;margin:18px 0;max-height:330px;overflow-y:auto}
.marker-entry{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:12px;border:1px solid var(--edge);border-radius:8px;background:#0a1721}
.marker-entry .mark-time{font:750 .89rem ui-monospace,Consolas,monospace;color:var(--aqua)}
.marker-entry p{font-size:.79rem;color:#adbec8;line-height:1.45;margin:2px 0}
.marker-entry .marker-kind{font-size:.69rem;font-weight:730;color:#e7eef4}
.marker-entry button{padding:5px 8px;font-size:.73rem;border:1px solid #365464;background:transparent;color:#c4d1d7;border-radius:5px;cursor:pointer}
.marker-entry button:hover{border-color:var(--bad);color:var(--bad)}
.action-cycle-panel{border-color:#3d675f;background:linear-gradient(135deg,#142e32 0%,var(--panel) 50%)}
.action-cycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.action-cycle-grid label,.action-cycle-panel>label{display:block;margin:10px 0 7px;font-size:.82rem;font-weight:720;color:#dbe9ef}
.action-cycle-panel textarea{min-height:65px}
.action-cycle-buttons{margin-top:15px;margin-bottom:14px}
.action-cycle-buttons button{flex:1 1 128px;min-height:44px;white-space:normal}
.action-cycle-counts{margin:18px 0 15px}
.cycle-counted{color:#a9edb5!important}
.cycle-uncertain{color:#f7c894!important}
@media(max-width:480px){.action-cycle-grid{grid-template-columns:1fr}}

@media(max-width:1120px){.hero{align-items:flex-start;flex-direction:column}.chain{margin-top:0}.columns{grid-template-columns:minmax(255px,.75fr) minmax(0,1.25fr)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.columns{grid-template-columns:1fr}.controls{position:static}.hero{padding:42px 0}.review-intro{align-items:flex-start;flex-direction:column}.actor-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.site-nav{align-items:flex-start;flex-direction:column;justify-content:center;padding-top:12px;padding-bottom:12px}.nav-actions{justify-content:flex-start}.mode-tabs button{flex:1;padding:11px 8px;text-align:center;font-size:.82rem}.mode-tabs .tab-num{display:none}.panel{padding:17px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.review-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{flex-direction:column}.privacy-tag{white-space:normal}.chain{width:100%;justify-content:center}.chain div{min-width:60px;padding:6px}.hero h1{font-size:clamp(2.85rem,13vw,5rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v0.7 mask evaluation overlays: purple model prediction, white reference. */
.mask-track-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:5}
.track-eval-panel{border-color:#5c6483}
.track-eval-panel>label{display:block;margin:10px 0 7px;font-size:.82rem;font-weight:720;color:#dbe9ef}
.track-metrics strong{font-size:clamp(1.3rem,2vw,1.85rem)}
.track-eval-panel .check-line{font-weight:520}
