:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f7f7f6;--card:#fff;--ink:#1c1c1c;--muted:#74736e;--line:#e5e5e2;--hatch:#d4d4d0;--tick:#1c1c1c;--accent:#3e6a93;--accent-hover:#335a7e;--accent-soft:#dfe8f1;--slash:#7992aa;--good:#0f9488;--bad:#e11d48;--none:#d9d9d5;--v-bg:#1b1b1b;--v-bar:#232323;--v-line:#333;--v-ink:#e9e9e6;--v-muted:#9b9a95;--v-none:#3e3e3b;--sans:Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"DM Mono", ui-monospace, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#121211;--card:#1a1a19;--ink:#f0efec;--muted:#a3a29a;--line:#2d2d2b;--hatch:#3a3a37;--tick:#f0efec;--accent:#7fa6cc;--accent-hover:#93b5d6;--accent-soft:#22303d;--none:#3a3a37}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#121211;--card:#1a1a19;--ink:#f0efec;--muted:#a3a29a;--line:#2d2d2b;--hatch:#3a3a37;--tick:#f0efec;--accent:#7fa6cc;--accent-hover:#93b5d6;--accent-soft:#22303d;--none:#3a3a37}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--page);color:var(--ink);font:14px/1.55 var(--sans);margin:0;overflow-x:clip}body.capture{background:#000;overflow:hidden}canvas{display:block}a{color:inherit}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--muted)}.rail{border-inline:1px solid var(--line);max-width:1200px;margin:0 auto;padding:0 40px;position:relative}.credit{z-index:10;border:1px solid var(--line);background:color-mix(in srgb, var(--page) 85%, transparent);color:var(--muted);border-radius:4px;margin:0;padding:6px;font-size:11px;line-height:1.35;position:fixed;bottom:6px;left:6px}.top{border-bottom:1px solid var(--line);background:var(--card)}.top-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:64px;padding:0 24px;display:grid}.brand{letter-spacing:-.02em;cursor:default;align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.mark{background:var(--ink);flex:none;width:20px;height:20px;-webkit-mask:url(/mark.svg) 50%/contain no-repeat;mask:url(/mark.svg) 50%/contain no-repeat}nav{align-items:center;gap:4px;display:flex}nav .pages,nav .links{display:contents}nav a{border-radius:999px;padding:6px 12px;text-decoration:none}nav a:hover{background:var(--accent-soft)}nav a.on{background:var(--accent-soft);color:var(--accent)}h1{letter-spacing:-.035em;margin:0 0 12px;font-size:48px;font-weight:500;line-height:1.05}.hatch{border-block:1px solid var(--line);background:repeating-linear-gradient(135deg, transparent 0 7px, var(--hatch) 7px 8px);height:56px}.hatch .rail{height:100%}.hatch .rail:before,.hatch .rail:after{background:linear-gradient(var(--tick), var(--tick)) top / 7px 7px no-repeat, linear-gradient(var(--tick), var(--tick)) bottom / 7px 7px no-repeat;content:"";width:7px;height:calc(100% + 8px);position:absolute;top:-4px}.hatch .rail:before{left:-4px}.hatch .rail:after{right:-4px}@media (width<=1210px){.hatch .rail:before{left:0}.hatch .rail:after{right:0}}.section{padding-top:56px;padding-bottom:64px}.eyebrow{color:var(--accent);letter-spacing:.01em;text-transform:uppercase;margin:0 0 8px;font-weight:500}.eyebrow span{color:var(--slash);margin-right:6px}h2{letter-spacing:-.03em;margin:0 0 12px;font-size:36px;font-weight:500;line-height:1.1}.lede{max-width:680px;color:var(--muted);margin:0 0 28px;font-size:16px}.card{border:1px solid var(--line);background:var(--card);border-radius:12px;box-shadow:0 1px 2px #00000008}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding:16px 20px;display:flex}.card-head>div{overflow-wrap:anywhere;min-width:0}.card-title{font-size:16px;font-weight:500}.stats{flex-wrap:wrap;gap:8px 32px;display:flex}.stats div{flex-direction:column;display:flex}.stats span{color:var(--muted);font-size:12px}.stats b{font-variant-numeric:tabular-nums;font-size:16px;font-weight:500}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:var(--muted);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:500}th small{font-family:var(--mono);letter-spacing:0;text-transform:none;display:block}td{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;padding:11px 14px}.matrix td.name{align-items:center;gap:10px;display:flex}.matrix td.name small{color:var(--muted);font-family:var(--mono);font-size:11px;line-height:1.2;display:block}.matrix td.best{color:var(--good);font-weight:600}.matrix tr.total td{border-top:2px solid var(--line)}.ring{background:conic-gradient(var(--good) calc(var(--p) * 1%), var(--line) 0);border-radius:50%;flex:none;width:16px;height:16px;-webkit-mask:radial-gradient(circle,#0000 4.5px,#000 5px);mask:radial-gradient(circle,#0000 4.5px,#000 5px)}.viewer{border:1px solid var(--v-line);background:var(--v-bg);color:var(--v-ink);border-radius:8px;overflow:hidden}.viewer-bar{border-bottom:1px solid var(--v-line);background:var(--v-bar);color:var(--v-muted);justify-content:space-between;gap:12px;padding:6px 10px;font-size:12px;display:flex}.viewer-bar .label{color:var(--v-ink);align-items:center;gap:6px;display:flex}.viewer-bar .label i{border:1.5px solid var(--v-ink);border-radius:2px;width:10px;height:10px}.viewport{aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.viewport canvas{position:absolute;inset:0}#boxes div{pointer-events:none;position:absolute}#boxes .truth{border:2px dashed #fff;box-shadow:0 0 0 1px #00000073}#boxes .det{border:2px solid #fc3}#boxes .det span{color:#111;font:11px/1.5 var(--mono);white-space:nowrap;background:#fc3;padding:0 4px;position:absolute;bottom:100%;left:-2px}.timeline{border-top:1px solid var(--v-line);padding:8px 10px 10px}.controls{align-items:center;gap:4px;margin-bottom:8px;display:flex}.controls button{border:1px solid var(--v-line);background:var(--v-bar);min-width:28px;height:24px;color:var(--v-ink);cursor:pointer;border-radius:4px;font-size:12px}.controls button:hover{border-color:var(--v-muted)}#frame-info{color:var(--v-muted);text-overflow:ellipsis;white-space:nowrap;margin-left:8px;overflow:hidden}.strips-wrap{margin-left:120px;position:relative}.strip-row{margin-bottom:5px;position:relative}.strip-row>span{width:110px;color:var(--v-muted);font:11px/14px var(--mono);text-align:right;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:0;right:calc(100% + 10px);overflow:hidden}.strip-row.on>span{color:var(--v-ink)}.strip{gap:1px;height:14px;display:flex}.strip button{cursor:pointer;border:0;border-radius:1px;flex:1;min-width:2px;padding:0}.strip button.current{outline-offset:1px;outline:2px solid #fff}.playhead{pointer-events:none;background:#fc3;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.hit{background:var(--good)}.miss{background:var(--bad)}.out{background:var(--v-none)}.legend{color:var(--v-muted);flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.legend i.truth{border:1.5px dashed #fff}.legend i.det{border:1.5px solid #fc3}.bands td,.bands th{padding:8px 10px}.bands tr.on td{background:var(--accent-soft)}body.sim{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.stage{background:#000;flex:1;min-height:0;position:relative}.stage canvas{position:absolute;inset:0}#hud{width:max(340px, var(--inset-w,0px));max-height:calc(100% - var(--inset-h,0px) - 44px);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);color:#f4f4f0;scrollbar-width:thin;background:#16161894;border:1px solid #ffffff24;border-radius:12px;gap:10px;padding:12px;font-size:13px;display:grid;position:absolute;top:16px;right:16px;overflow-y:auto;box-shadow:0 12px 32px #00000047}body.doorbell #hud{max-height:calc(100% - 32px)}.hud-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.hud-title{letter-spacing:-.01em;font-size:14px;font-weight:600}#hud-toggle{color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-family:inherit;display:flex}#hud-toggle .chevron{color:#fff9;transition:transform .15s;display:none}#help{color:#ffffffbf;width:20px;height:20px;font:600 11px/1 var(--sans);cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:50%;flex:none;place-items:center;padding:0;transition:background-color .12s,color .12s;display:grid}#help:hover,#help[aria-expanded=true]{color:#fff;background:#ffffff29;border-color:#ffffff80}#help-panel{z-index:5;-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);color:#f4f4f0;background:#161618d1;border:1px solid #ffffff29;border-radius:10px;width:280px;padding:12px 14px;font-size:12px;position:absolute;top:54px;right:22px;box-shadow:0 12px 32px #00000059}#help-panel[hidden]{display:none}.help-title{color:#fff9;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-size:10.5px;font-weight:500}#help-panel dl{grid-template-columns:auto 1fr;gap:6px 10px;margin:0 0 14px;display:grid}#help-panel dt{white-space:nowrap}#help-panel dd{color:#ffffffd9;margin:0}#help-icons{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;padding:0;list-style:none;display:grid}#help-icons li{align-items:center;gap:8px;display:flex}#help-icons svg,#axes .icon{color:#fff9;flex:none}kbd{min-width:16px;font:500 10px/14px var(--mono);text-align:center;border:1px solid #ffffff40;border-bottom-width:2px;border-radius:4px;padding:0 4px;display:inline-block}#axes{gap:5px;display:grid}#axes .axis{grid-template-columns:24px 1fr;align-items:center;gap:8px;display:grid}#axes .icon{place-items:center;display:grid}#axes .options{flex-wrap:wrap;gap:4px;display:flex}#axes button{color:#ffffffe0;height:22px;font:inherit;cursor:pointer;background:#ffffff17;border:0;border-radius:6px;padding:0 9px;font-size:12px;transition:background-color .12s,color .12s}#axes button:hover{background:#ffffff2e}#axes button:focus-visible,#hud-toggle:focus-visible,#inset:focus-visible{outline-offset:1px;outline:2px solid #ffffffb3}#axes button.on{color:#111;background:#f4f4f0;font-weight:500}#inset{font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff59;padding:0;transition:border-color .12s;position:absolute}#inset:hover{border-color:#ffffffd9}#inset span,#view-label{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f4f4f0;white-space:nowrap;background:#16161880;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:500;position:absolute;top:8px;left:8px}#inset em,#view-label em{color:#fff9;font-style:normal;font-weight:400}#inset em{display:none}#inset:hover em{display:inline}#view-label{pointer-events:none;display:none;top:16px;left:16px}body.doorbell #view-label{display:block}body.doorbell .stage canvas{cursor:pointer}body.doorbell #inset{display:none}@media (width<=760px){#hud{width:max-content;max-width:calc(100% - 16px);max-height:calc(100% - var(--inset-h,0px) - 32px);padding:12px;top:8px;right:8px}#hud-toggle{cursor:pointer;flex:1;margin:-8px 0;padding:8px 0}#hud-toggle .chevron{display:block}#hud.open #hud-toggle .chevron{transform:rotate(180deg)}#hud:not(.open) #axes{display:none}#help-panel{top:46px;right:14px}}.detail{margin-bottom:48px}.detail-body{gap:12px;padding:16px;display:grid}@media (width<=760px){.top-inner{grid-template-columns:1fr auto;grid-template-areas:"brand out""pages pages";gap:8px 12px;min-height:0;padding:10px 16px 12px}.brand{white-space:nowrap;grid-area:brand;font-size:17px}.top-inner nav{display:contents}nav .pages{border:1px solid var(--line);background:var(--page);border-radius:999px;grid-area:pages;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;display:grid}nav .pages a{text-align:center;padding:5px 0}nav .links{grid-area:out;gap:2px;display:flex}nav .links a{color:var(--muted);text-transform:capitalize;padding:4px 8px;font-size:13px}nav .links a:hover{color:var(--ink)}nav .links .view{display:none}}@media (width<=600px){.rail{padding:0 16px}h1{font-size:34px}.viewer-bar .mono{display:none}.strips-wrap{margin-left:0}.strip-row>span{text-align:left;width:auto;display:block;position:static}}
