:root{--ink:#f1f5ef;--muted:#9ba79e;--faint:#6f7c73;--surface:#111713;--surface-raised:#171e19;--surface-soft:#1c251f;--line:#29342c;--green:#b9f34b;--green-dark:#25370d;--amber:#f4c35d;--red:#f17878;--max-width:1400px}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b0f0c}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 80% -10%,#b9f34b12,#0000 34rem),#0b0f0c;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b0f0ce6;border-bottom:1px solid #ffffff12;position:sticky;top:0}.header-inner{width:min(calc(100% - 48px), var(--max-width));grid-template-columns:1fr auto 1fr;align-items:center;height:72px;margin:0 auto;display:grid}.brand{letter-spacing:.17em;align-items:center;gap:11px;width:fit-content;font-size:.82rem;font-weight:800;display:inline-flex}.brand-mark{border:1px solid var(--green);width:30px;height:30px;color:var(--green);letter-spacing:0;border-radius:8px;place-items:center;display:grid}nav{align-items:center;gap:8px;display:flex}.nav-link{color:var(--muted);border-radius:8px;padding:9px 15px;font-size:.88rem;font-weight:650}.nav-link.active{background:var(--surface-soft);color:var(--ink)}.nav-link.disabled{opacity:.4;cursor:default}.prototype-label{color:var(--faint);justify-self:end;align-items:center;gap:8px;font-size:.76rem;display:flex}.prototype-label span{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #b9f34ba6}.page-shell{width:min(calc(100% - 48px), var(--max-width));margin:0 auto;padding:64px 0 88px}.page-intro{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:68px;display:flex}.eyebrow{color:var(--green);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:.7rem;font-weight:800;display:block}h1,h2,p{margin-top:0}h1{letter-spacing:-.055em;margin-bottom:12px;font-size:clamp(2.4rem,5vw,4.5rem);line-height:.98}.page-intro p{color:var(--muted);margin-bottom:0;font-size:1.05rem}.primary-button,.secondary-button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:45px;padding:0 18px;font-weight:750;transition:transform .15s,background .15s;display:inline-flex}.primary-button{background:var(--green);color:#11170a}.primary-button:hover{background:#c7fa62;transform:translateY(-1px)}.secondary-button{border-color:var(--line);background:var(--surface-raised);color:var(--ink)}.secondary-button:disabled{color:var(--muted);cursor:not-allowed}.secondary-button span{border-left:1px solid var(--line);color:var(--faint);text-transform:uppercase;letter-spacing:.08em;padding-left:8px;font-size:.7rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.section-heading h2{letter-spacing:-.025em;margin-bottom:0;font-size:1.4rem}.record-count{color:var(--faint);font-size:.8rem}.games-heading{border-bottom:1px solid var(--line);padding-bottom:15px}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.game-card{border:1px solid var(--line);background:linear-gradient(145deg, var(--surface-raised), #101611);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:310px;padding:25px;transition:border-color .16s,transform .16s;display:flex}.game-card-main{flex-direction:column;flex:1;justify-content:space-between;gap:20px;display:flex}.game-card-actions{justify-content:flex-end;align-items:center;margin-top:16px;display:flex}.game-card-delete{color:var(--muted);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;font-size:.8rem;text-decoration:underline}.game-card-delete:hover{color:#f4a49a}.game-card-delete:disabled{cursor:wait;opacity:.6}.game-card:hover{border-color:#4a5b4e;transform:translateY(-2px)}.game-card-topline,.game-card-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.game-card h2{letter-spacing:-.045em;margin:0;font-size:clamp(1.6rem,3vw,2.45rem)}.game-versus{color:var(--faint);text-transform:uppercase;margin-bottom:5px;font-size:.8rem}.game-card-meta{border-top:1px solid var(--line);color:var(--muted);padding-top:17px;font-size:.84rem}.game-card-link{color:var(--green);align-self:flex-end;font-size:.82rem;font-weight:750}.status-badge{width:fit-content;color:var(--muted);white-space:nowrap;background:#202821;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-complete{background:var(--green-dark);color:var(--green)}.status-processing{color:var(--amber);background:#302817}.status-error{color:var(--red);background:#321d1d}.game-page{width:min(100% - 48px,1680px);padding-top:38px}.back-link{color:var(--muted);margin-bottom:38px;font-size:.82rem;display:inline-block}.back-link:hover{color:var(--ink)}.game-hero{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px;display:flex}.game-hero h1{margin-bottom:20px;font-size:clamp(2.2rem,4vw,4rem)}.hero-meta,.hero-status{color:var(--muted);align-items:center;gap:10px;font-size:.82rem;display:flex}.hero-meta{text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.scope-note{color:var(--muted);background:#b9f34b0b;border:1px solid #334127;border-radius:9px;align-items:center;gap:12px;margin-bottom:28px;padding:12px 15px;font-size:.8rem;display:flex}.scope-note strong{color:var(--green);white-space:nowrap}.game-workspace{gap:18px;display:grid}.plays-section,.play-panel,.empty-state{border:1px solid var(--line);background:var(--surface);border-radius:14px}.plays-section{min-width:0;padding:22px}.play-correction-controls{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;font-size:.8rem;display:flex}.correction-target{color:var(--green);flex-basis:100%;font-weight:700}.play-correction-controls label{align-items:center;gap:7px;display:flex}.play-correction-controls input{border:1px solid var(--line);background:var(--surface);width:92px;color:var(--text);border-radius:6px;padding:8px}.play-correction-controls [role=alert]{color:#e9a49e}.edit-confirm-backdrop{z-index:100;background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.edit-confirm{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:min(100%,480px);padding:24px;box-shadow:0 18px 55px #0006}.edit-confirm h2{margin:0 0 12px;font-size:1.2rem}.edit-confirm p{white-space:pre-line;margin:0 0 20px;line-height:1.5}.edit-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.view-grouping-controls{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 16px;padding:11px 13px;font-size:.78rem;display:flex}.view-grouping-controls>div{flex-wrap:wrap;flex:350px;align-items:center;gap:8px;display:flex}.view-grouping-controls strong{color:var(--green)}.view-grouping-controls span{color:var(--muted)}.play-script-toolbar{flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 14px;display:flex}.play-script-toolbar-note{color:var(--muted);font-size:.76rem}.play-script-unsaved{color:var(--green);font-size:.8rem;font-weight:700}.play-script-apply-message{color:var(--muted);margin:0 0 12px;font-size:.8rem}.play-script-apply-message[role=alert]{color:#e9a49e}.play-script-columns-control{align-items:center;gap:10px;margin:0 0 9px;display:flex;position:relative}.play-script-column-options{z-index:9;border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:repeat(2,minmax(150px,1fr));gap:5px 14px;width:min(390px,90vw);max-height:360px;padding:12px;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 12px 30px #00000059}.play-script-column-options label{align-items:center;gap:6px;font-size:.74rem;display:flex}.play-script-column-options input{accent-color:var(--green)}.play-script-paste-error{color:#e9a49e;font-size:.75rem}.play-script-top-scroll{height:18px;margin-bottom:6px;overflow:auto hidden}.play-script-top-scroll:focus-visible{outline:2px solid var(--green);outline-offset:2px}.play-script-top-spacer{height:1px}.play-script-scroll{border:1px solid var(--line);border-radius:9px;max-height:min(70vh,720px);overflow:auto}.play-script-scroll:focus-visible{outline:2px solid var(--green);outline-offset:2px}.play-script-table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.76rem}.play-script-table th{z-index:2;border-bottom:1px solid var(--line);height:37px;color:var(--faint);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#0e130f;padding:8px;font-size:.63rem;font-weight:750;position:sticky;top:0}.play-script-table th:first-child{z-index:5;left:0}.play-script-table th:nth-child(2){left:var(--play-number-width);z-index:5}.play-script-table th:nth-child(3){left:calc(var(--play-number-width) + var(--down-width));z-index:5}.play-script-table td{border-bottom:1px solid var(--line);background:var(--surface);min-width:0;height:45px;padding:4px 6px}.play-script-table td:nth-child(-n+3){z-index:3;background:#151c16;position:sticky}.play-script-table td:first-child{left:0}.play-script-table td:nth-child(2){left:var(--play-number-width)}.play-script-table td:nth-child(3){left:calc(var(--play-number-width) + var(--down-width));box-shadow:1px 0 var(--line)}.play-script-table tbody tr:hover td{background:var(--surface-soft)}.play-script-table tbody tr.selected td{background:#243020}.play-script-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 var(--green), 1px 0 var(--line)}.play-script-table td.play-script-dirty{box-shadow:inset 0 -2px #77ad52;background:#263423!important}.play-script-table td:has(.play-script-cell-button.active){background:#1d2c1f}.play-script-table td:has(.play-script-input){background:#15261a}.play-script-table td:has([aria-invalid=true]){outline:1px solid var(--red);outline-offset:-2px}.play-script-cell{align-items:center;gap:4px;min-width:0;display:flex}.play-script-table td:first-child .play-script-cell{flex-wrap:wrap}.play-script-group-id{color:var(--faint);overflow-wrap:anywhere;flex-basis:100%;font-size:.62rem}.play-script-review-reasons{color:var(--amber);overflow-wrap:anywhere;font-size:.62rem}.play-script-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.play-script-cell-button{min-width:0;height:29px;color:var(--text);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:cell;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;padding:4px 6px;display:block;overflow:hidden}.play-script-cell-button.active,.play-script-cell-button:focus-visible{border-color:var(--green);outline:2px solid var(--green);outline-offset:-1px;background:#203222}.play-script-cell-button[aria-invalid=true]{border-color:var(--red)}.play-script-dirty-mark{background:var(--green);border-radius:50%;flex:none;width:5px;height:5px}.play-script-cell-error{color:#e9a49e;font-size:.61rem;line-height:1.2;display:block}.play-script-views{gap:8px;display:flex}.play-script-view-control{flex:1;gap:3px;min-width:0;display:grid}.play-script-view-control button{text-align:left}.play-script-segment-identity{color:var(--faint);font-size:.62rem;line-height:1.25}.play-script-view-control select{background:var(--surface);min-width:0;color:var(--text);border:1px solid var(--line);border-radius:5px;font-size:.68rem}.play-script-editor{flex:1;min-width:0}.play-script-input{width:100%;min-width:0;height:29px;color:var(--ink);font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 6px}.play-script-input:hover{border-color:#435046}.play-script-input:focus{border-color:var(--green);outline:1px solid var(--green);background:#101811}.play-script-input[aria-invalid=true]{border-color:var(--red)}.play-script-input::placeholder{color:var(--faint)}.play-script-clip-button{width:25px;height:27px;color:var(--green);cursor:pointer;background:#202b1c;border:1px solid #465539;border-radius:5px;flex:none;padding:0;font-size:.62rem}.play-script-clip-button:hover,.play-script-clip-button:focus-visible{background:#304424}.play-script-status{color:var(--amber);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;line-height:1.2;display:block;overflow:hidden}.play-script-status.saved{color:var(--green)}.play-script-status.error{color:var(--red)}.play-script-error{align-items:center;gap:4px;min-width:0;display:flex}.play-script-error .play-script-status{flex:1;min-width:0}.play-script-retry{color:var(--green);cursor:pointer;font:inherit;background:0 0;border:0;flex:none;padding:0;font-size:.6rem;text-decoration:underline}.play-panel{padding:22px}.play-panel-content{grid-template-columns:minmax(0,1.9fr) minmax(300px,.9fr);align-items:start;gap:24px;display:grid}.play-panel-media,.play-panel-details{min-width:0}.play-panel-media .clip-video{display:block}.play-panel-details section+section{margin-top:20px}.play-panel-details h3,.play-panel-timing h3{color:var(--muted);margin:0 0 9px;font-size:.74rem;font-weight:750}.play-panel-tag-note{color:var(--faint);margin:-4px 0 9px;font-size:.67rem}.play-panel-viewer{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.play-panel-video{min-width:0}.film-player{border:1px solid var(--line);background:#0c120e;border-radius:10px;min-width:0;padding:7px}.film-player:focus-visible,.film-player .clip-video:focus-visible{outline:2px solid var(--green);outline-offset:2px}.film-player-context{color:var(--faint);justify-content:space-between;gap:8px;margin:8px 2px 6px;font-size:.69rem;display:flex}.film-player-context span:first-child{color:var(--green);font-weight:700}.film-player-timeline{align-items:center;height:24px;margin:0 2px;display:flex;position:relative}.film-player-timeline input{z-index:1;width:100%;accent-color:var(--green);cursor:pointer;margin:0;position:relative}.film-player-timeline input:disabled{cursor:default}.film-player-timeline input:focus-visible,.film-player-speed select:focus-visible,.film-player-controls button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.film-player-marker{background:var(--amber);pointer-events:none;width:2px;height:21px;position:absolute;top:1px}.film-player-controls{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.film-player-controls button{border:1px solid var(--line);min-height:29px;color:var(--ink);cursor:pointer;font:inherit;background:#172119;border-radius:5px;padding:4px 7px;font-size:.72rem}.film-player-controls button:hover:not(:disabled){border-color:var(--green)}.film-player-controls button:disabled{opacity:.45;cursor:default}.film-player-clock{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0 auto 0 5px;font-size:.72rem}.film-player-speed{color:var(--faint);align-items:center;gap:5px;font-size:.67rem;display:flex}.film-player-speed select{border:1px solid var(--line);color:var(--ink);font:inherit;background:#172119;border-radius:5px;padding:4px}.film-player-shortcuts{color:var(--faint);margin:7px 2px 0;font-size:.61rem;line-height:1.35}.film-player-message{color:#e9a49e;margin:7px 2px 0;font-size:.7rem}.play-panel-arrow{border:1px solid var(--line);height:54px;color:var(--green);cursor:pointer;font:inherit;background:#142017;border-radius:8px;font-size:2rem;line-height:1}.play-panel-arrow:hover:not(:disabled),.play-panel-arrow:focus-visible{border-color:var(--green);background:#26361f}.play-panel-arrow:disabled{color:var(--faint);cursor:default;opacity:.5}.play-panel-timing{margin:16px 46px 0}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.panel-heading h2{margin:0;font-size:1.45rem}.play-panel-segment-id{color:var(--faint);margin-top:5px;font-size:.72rem;display:block}.play-panel-view-switch{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.play-panel-view-switch button{border:1px solid var(--line);min-height:36px;color:var(--muted);cursor:pointer;font:inherit;background:#111a12;border-radius:7px;align-items:baseline;gap:8px;padding:7px 12px;font-size:.78rem;font-weight:700;display:flex}.play-panel-view-switch button span{color:var(--faint);font-size:.67rem;font-weight:500}.play-panel-view-switch button.active{border-color:var(--green);color:var(--green);background:#26361f}.play-panel-view-switch button:disabled{opacity:.55;cursor:default}.play-panel-view-switch button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.pending-pill{border:1px solid var(--line);color:var(--faint);text-transform:uppercase;letter-spacing:.08em;border-radius:6px;padding:6px 8px;font-size:.65rem}.play-analysis{border:1px solid var(--line);border-left:3px solid var(--green);background:#0d120e;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 14px;display:grid;overflow:hidden}.play-analysis>.play-panel-tag-field{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:9px 10px}.play-analysis>.play-panel-tag-field:nth-child(3n){border-right:0}.play-panel-tag-label{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.61rem;font-weight:750;display:block}.play-panel-tag-field .play-script-input{background:#111a12;border-color:#2d3a30;font-size:.8rem}.play-panel-tag-value{color:var(--ink);font-size:.8rem;font-weight:700}.play-panel-confidence{color:var(--faint);margin-top:4px;font-size:.62rem;display:block}.video-placeholder,.clip-video{aspect-ratio:16/9;background:#080b09;border-radius:9px;width:100%}.video-placeholder{color:var(--muted);text-align:center;border:1px solid #202820;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex}.video-placeholder p{color:var(--ink);margin:12px 0 5px;font-size:.86rem;font-weight:700}.video-placeholder span{max-width:260px;color:var(--faint);font-size:.71rem;line-height:1.45}.play-icon{width:40px;height:40px;color:var(--green);border:1px solid #3b493e;border-radius:50%;place-items:center;padding-left:2px;font-size:.78rem;display:grid}.play-stats{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.play-stats div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px}.play-stats dt{color:var(--faint);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;font-size:.65rem}.play-stats dd{color:var(--ink);margin:0;font-size:.82rem;font-weight:700}.play-stats .wide-stat{grid-column:1/-1}.empty-state{text-align:center;padding:72px 24px}.empty-state-mark{color:var(--green);margin-bottom:12px;font-size:2rem;display:block}.empty-state h2{margin-bottom:10px}.empty-state p{max-width:520px;color:var(--muted);margin:0 auto;line-height:1.6}.state-action{margin-top:24px}.record-id{color:var(--faint);margin:14px 0 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.refresh-error{color:var(--amber);margin:-12px 0 28px;font-size:.8rem}.loading-state{margin-top:40px}.loading-dot{background:var(--green);border-radius:50%;width:10px;height:10px;margin:0 auto 18px;animation:1.2s ease-in-out infinite loading-pulse;display:block;box-shadow:0 0 18px #b9f34bb3}@keyframes loading-pulse{50%{opacity:.35;transform:scale(.75)}}.narrow-page{max-width:760px}.placeholder-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:18px;padding:70px}.placeholder-card h1{margin:12px auto 18px;font-size:clamp(2rem,5vw,3.5rem)}.placeholder-card p{max-width:540px;color:var(--muted);margin:0 auto 28px;line-height:1.65}.upload-mark{background:var(--green-dark);width:48px;height:48px;color:var(--green);border-radius:12px;place-items:center;margin:0 auto 24px;font-size:1.4rem;display:grid}@media (max-width:980px){.play-panel-content{grid-template-columns:1fr}.play-script-scroll{max-height:560px}}@media (max-width:680px){.header-inner,.page-shell,.game-page{width:min(calc(100% - 28px), var(--max-width))}.header-inner{grid-template-columns:1fr auto}.header-inner nav{display:none}.prototype-label{font-size:0}.page-shell{padding-top:42px}.page-intro,.game-hero{flex-direction:column;align-items:flex-start}.games-grid{grid-template-columns:1fr}.game-card{min-height:275px}.scope-note{flex-direction:column;align-items:flex-start}.placeholder-card{padding:48px 22px}.play-analysis{grid-template-columns:repeat(2,minmax(0,1fr))}.play-analysis>.play-panel-tag-field:nth-child(3n){border-right:1px solid var(--line)}.play-analysis>.play-panel-tag-field:nth-child(2n){border-right:0}.play-stats{grid-template-columns:repeat(2,1fr)}}
