:root{color-scheme:dark;--bg:#050706;--panel:#111612;--line:#303a32;--text:#f1f5ed;--muted:#a8b6a9;--green:#c3ef70}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:16px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,sans-serif;overflow-wrap:anywhere}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit;min-height:46px}button{border:1px solid var(--line);border-radius:8px;padding:11px 15px;background:#1b241d;color:var(--text);cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--green)}button:disabled{opacity:.4;cursor:not-allowed}.primary,button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#152106}input,select{width:100%;min-width:0;max-width:100%;padding:10px;border:1px solid #53644f;border-radius:7px;color:var(--text);background:#090d09;margin-top:5px}label{display:block;font-size:14px;color:#d1dccb}input[type=checkbox]{width:23px;min-height:23px;margin:0}.check{display:flex;gap:12px;align-items:center;min-height:46px}header,footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4vw;border-bottom:1px solid var(--line)}header a{text-decoration:none}header nav{display:flex;gap:20px}.brand{font-weight:850;font-size:23px;letter-spacing:-1px}.brand span{font-weight:400;color:var(--green)}.badge{font-size:11px;letter-spacing:1px;border:1px solid var(--line);padding:7px 10px;border-radius:30px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:20;background:#000;padding:10px}:focus-visible{outline:3px solid var(--green);outline-offset:3px}main{max-width:1450px;padding:0 4vw;margin:auto}.intro{padding:45px 0 20px;max-width:850px}h1{font-size:clamp(40px,6vw,76px);letter-spacing:-2px;line-height:1.06;margin:18px 0}h1 em{font-style:normal;color:var(--green)}h2{font-size:clamp(24px,3vw,34px);line-height:1.2;margin:0 0 20px;letter-spacing:-.7px}h3{font-size:19px;line-height:1.3;margin:0 0 12px}.eyebrow{font-size:12px;color:var(--green);letter-spacing:2px;font-weight:700}.panel{border:1px solid var(--line);background:var(--panel);padding:24px;border-radius:12px;margin:24px 0}.fieldrow{display:flex;flex-wrap:wrap;gap:15px;margin:15px 0}.fieldrow>label{flex:1;min-width:120px}.fieldrow>label:has(input){min-width:190px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.muted{color:var(--muted);font-size:13px}.sectionline{display:flex;align-items:center;justify-content:space-between;gap:15px}.game{padding:35px 0}.playgrid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:20px}.boardcolumn,aside{min-width:0}.videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tile{position:relative;display:grid;place-items:center;aspect-ratio:16/10;min-width:0;background:radial-gradient(circle,#253128,#0c110e 70%);border:1px solid var(--line);border-radius:10px;overflow:hidden}.tile.active{grid-column:1/-1;border-color:var(--green)}.tile video{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.placeholder{text-align:center;color:#8b9f89;padding:10px;font-size:13px}.caption{position:absolute;left:0;right:0;bottom:0;padding:8px 10px;background:#000c;display:flex;justify-content:space-between;font-size:12px;gap:10px}.active .caption{color:var(--green)}.scores{display:grid;gap:8px}.score{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:var(--panel);padding:12px 16px;border-radius:8px;gap:10px}.score.active{border-color:var(--green)}.score strong{font-size:40px;line-height:1.2}.score small{display:block;color:var(--muted)}.entry{margin:15px 0}.multipliers{display:flex;gap:6px}.multipliers button{flex:1;padding:10px 5px}.numbers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0}.numbers button{padding:9px 0}.candidate{border-color:var(--green);margin:15px 0;background:#182311}.notice{background:#202b12;border:1px solid var(--green);border-radius:8px;padding:16px}.notice p{margin:7px 0}.calibration-view{position:relative;aspect-ratio:4/3;width:100%;max-width:640px;background:#030403;border:1px solid var(--line);border-radius:10px;overflow:hidden}.calibration-view video{width:100%;height:100%;object-fit:contain}.calibration-view canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;touch-action:manipulation;cursor:crosshair}.video-label{position:absolute;bottom:0;left:0;background:#000b;padding:5px 10px;font-size:10px;pointer-events:none}#camera-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-size:45px;color:#869c7e;pointer-events:none}#camera-empty span{font-size:14px}#overlay[hidden]{display:none}.statgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.statgrid>div{border:1px solid var(--line);padding:18px;border-radius:8px;background:var(--panel)}.statgrid strong{display:block;font-size:32px;color:var(--green)}.statgrid span{font-size:13px;color:var(--muted)}.archive-row{border-bottom:1px solid var(--line);padding:14px 0}.archive-row strong{color:var(--green)}details{margin-top:18px;padding:16px 0;border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600;min-height:35px}#game-status,#vision-status,#network-status{color:var(--green)}#game-status{font-size:15px}#downloads a{display:block;margin:10px 0}footer{border:0;color:var(--muted);font-size:13px;flex-wrap:wrap;padding-bottom:max(22px,env(safe-area-inset-bottom))}[hidden]{display:none!important}@media(min-width:1000px){.camera-setup .calibration-view{max-width:560px}.intro p:not(.eyebrow){max-width:680px}}@media(max-width:950px){.playgrid{grid-template-columns:1fr}.game .boardcolumn{position:relative}.statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry{padding:18px}.camera-setup{padding:18px}}@media(max-width:600px){header{padding:16px 5vw;flex-wrap:wrap;gap:10px}.brand{font-size:20px}header nav{gap:16px;font-size:13px}header .badge{display:none}main{padding:0 4vw}.intro{padding-top:28px}.intro h1{font-size:43px}.panel{padding:18px;margin:18px 0}.fieldrow{gap:10px}.fieldrow>label{min-width:100px}.fieldrow>label:has(input){min-width:100%}.toolbar>button{flex:1 1 140px}.rules label{min-width:85px}.sectionline{align-items:start}.sectionline .badge{max-width:130px}.sectionline h2{font-size:25px}.videos{grid-template-columns:repeat(2,minmax(0,1fr))}.tile.active{aspect-ratio:4/3}.score{padding:9px 12px}.score strong{font-size:35px}.scores{grid-template-columns:repeat(2,minmax(0,1fr))}.score{align-items:start;flex-direction:column}.numbers button{min-height:49px}.statgrid>div{padding:14px}.statgrid strong{font-size:29px}.calibration-view{aspect-ratio:4/3;max-height:none}.game{padding-top:20px}.entry .toolbar button{font-size:13px}.candidate{padding:16px}.camera-setup>h2{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#analysis-view,.review-canvas{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;cursor:crosshair;touch-action:manipulation}#analysis-values{font-size:14px}#analysis-alternatives{font-size:14px;color:#ffda82}.analysis-warning{color:#ffda82}.review-stage{position:relative;aspect-ratio:4/3;width:100%;max-width:760px;background:#000}.review-stage video,.review-stage img,.review-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.review-stage canvas{cursor:crosshair;touch-action:manipulation}.review-stage img[hidden]{display:none}.review-controls{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.review-controls input[type=range]{flex:1;min-width:150px}

.tile.no-video,.tile.active.no-video{aspect-ratio:auto;min-height:94px;padding-bottom:32px}.tile.no-video video{visibility:hidden}

.tile.no-video{display:none}.playgrid.without-video{grid-template-columns:minmax(0,1fr)}.without-video .boardcolumn{display:contents}.without-video .videos{display:none}.without-video #downloads:empty{display:none}
