.replay-viewer{--replay-lime:#e8ff47;background:#0b1019;border:1px solid #34404e;border-radius:12px;overflow:hidden;color:#f4f5f7}
.replay-viewer [hidden]{display:none!important}
.replay-view-modes{display:flex;gap:6px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid #344151}
.replay-view-modes button{border:1px solid #58677b;color:#dce4ef;background:#142031;border-radius:6px;min-height:44px;padding:8px 12px;font:600 11px Inter,sans-serif;cursor:pointer}
.replay-view-modes [aria-pressed=true]{color:#e8ff47;border-color:#aab653;background:#e8ff4714}
.replay-caption small{display:block;color:#adbed1;font-size:10px;line-height:1.6;margin-top:7px}
.replay-text-feed{padding:10px 20px;max-height:55vh;overflow:auto;font-size:12px;line-height:1.8}
.replay-text-feed p{border-bottom:1px solid #263648;padding-bottom:12px}
.replay-diagnostics{padding:12px 20px;color:#b4c3d3;font-size:11px;line-height:1.6}
.replay-diagnostics summary{cursor:pointer;min-height:28px}
#live-courtside{margin-bottom:20px}.live-coaching{align-self:start}
.alpha-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.alpha-grid>.panel{padding:22px}.alpha-grid h3{margin:6px 0 12px}.alpha-grid p{font-size:13px;line-height:1.7;color:var(--muted)}
.alpha-step{display:block;padding:12px 0;line-height:1.7;font-size:13px}.alpha-step input{width:18px;height:18px;margin-right:8px;vertical-align:middle}.alpha-grid textarea{width:100%;min-height:130px;margin:12px 0;padding:12px;background:#101925;color:white;border:1px solid #526074;border-radius:8px}
@media(max-width:700px){.replay-view-modes{padding:10px 12px}.replay-view-modes button{flex:1;font-size:10px}.replay-transport .button{min-height:44px}.replay-playlist button{min-height:44px}.replay-diagnostics summary{min-height:44px}}
.replay-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;background:linear-gradient(100deg,#172332,#0f1722)}
.replay-kicker{font:700 9px Inter,sans-serif;letter-spacing:.18em;color:#b5c3d3}.replay-heading h2{font:800 27px/1.1 'Barlow Condensed',sans-serif;margin:7px 0 0;letter-spacing:.02em}.replay-beta{padding:6px 8px;border:1px solid #66703d;border-radius:4px;color:var(--replay-lime);font:700 9px Inter,sans-serif;white-space:nowrap}
.replay-stage{position:relative;width:100%;height:480px;isolation:isolate;background:radial-gradient(ellipse at 50% 60%,#24344a,#080c13)}
.replay-canvas{position:absolute;inset:0}.replay-canvas canvas{display:block;width:100%;height:100%}.replay-scorebug{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1fr 74px 1fr;align-items:center;gap:18px;min-width:290px;padding:10px 18px;background:#0c1523ed;border:1px solid #5c6c7b77;border-radius:7px;box-shadow:0 10px 30px #0005;pointer-events:none}
.replay-scorebug>b{font:800 24px 'Barlow Condensed',sans-serif;white-space:nowrap}.replay-scorebug>b:last-child{text-align:right}.replay-scorebug>span{display:grid;justify-items:center;gap:2px}.replay-scorebug small{font:700 8px Inter,sans-serif;color:var(--replay-lime);letter-spacing:.12em}.replay-scorebug strong{font:700 14px 'Barlow Condensed',sans-serif}
.replay-watermark{position:absolute;top:22px;right:18px;color:#b7c5d4;font:700 8px Inter,sans-serif;letter-spacing:.12em}.replay-watermark i{display:inline-block;width:5px;height:5px;margin-left:4px;border-radius:50%;background:var(--replay-lime)}
.replay-player-tag{position:absolute;transform:translate(-50%,-100%);padding:5px 8px;border:1px solid #aaba8355;background:#0b1825df;border-radius:4px;color:#fff;font:700 9px Inter,sans-serif;white-space:nowrap;pointer-events:none;box-shadow:0 3px 10px #0005}
.replay-moment{position:absolute;bottom:22px;left:24px;right:24px;pointer-events:none;text-shadow:0 3px 12px #000}.replay-moment small{display:block;font:700 9px Inter,sans-serif;letter-spacing:.2em;color:var(--replay-lime);margin-bottom:4px}.replay-moment b{font:800 30px/1 'Barlow Condensed',sans-serif;letter-spacing:.015em}
.replay-loading{position:absolute;inset:0;z-index:4;display:grid;place-content:center;text-align:center;padding:40px;background:#0b1422eb;color:#d5dce6;font:500 14px/1.6 Inter,sans-serif}.replay-loading[hidden]{display:none}
.replay-caption{padding:16px 24px;border-top:1px solid #344151;background:#14202d}.replay-caption>span{font:700 9px Inter,sans-serif;color:var(--replay-lime);letter-spacing:.11em}.replay-caption p{margin:6px 0 0;font-size:12px;line-height:1.65;color:#e3e8ee}
.replay-transport{display:flex;align-items:center;gap:10px;padding:16px 20px 10px}.replay-transport .button{min-height:40px}.replay-transport span{font:600 11px Inter,sans-serif;color:#a6b6c8}.replay-transport input{flex:1;min-width:60px;accent-color:var(--replay-lime);cursor:pointer}.replay-transport [data-action=play]{min-width:112px}
.replay-options{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:10px 20px 20px;border-bottom:1px solid #273342}.replay-options label{font:600 10px Inter,sans-serif;color:#a6b6c8}.replay-options select{display:block;margin-top:5px;min-height:34px;font-size:11px;max-width:135px}.replay-auto{display:flex;align-items:center;gap:6px;padding-bottom:8px}.replay-auto input{accent-color:var(--replay-lime);width:16px;min-height:16px}.replay-options>.button{margin-left:auto}
.replay-playlist{display:flex;gap:8px;overflow-x:auto;padding:16px 20px;scrollbar-width:thin}.replay-playlist button{flex:0 0 auto;border:1px solid #39485b;border-radius:5px;padding:10px;color:#b8c9da;background:#142031;font:700 9px Inter,sans-serif;cursor:pointer}.replay-playlist button.active{background:#e8ff4714;color:var(--replay-lime);border-color:#9ead46}.replay-disclaimer{margin:0;padding:0 20px 18px;font:400 10px/1.5 Inter,sans-serif;color:#8395a9}.replay-empty{padding:35px;text-align:center;color:#acb9ca}
.replay-viewer button:focus-visible,.replay-viewer select:focus-visible,.replay-viewer input:focus-visible{outline:2px solid var(--replay-lime);outline-offset:3px}
.replay-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.replay-library article{padding:20px}.replay-library h3{margin:8px 0}.replay-library small{color:var(--acid)}.replay-library .button{margin-top:12px}
.replay-benchmarks{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:22px 0}.replay-benchmarks .button{min-height:44px}
@media(max-width:700px){.replay-heading{padding:16px}.replay-heading h2{font-size:22px}.replay-beta{font-size:7px}.replay-stage{height:390px}.replay-scorebug{top:14px;min-width:250px;gap:8px;padding:8px 12px;grid-template-columns:1fr 58px 1fr}.replay-scorebug>b{font-size:21px}.replay-watermark{top:80px;right:12px}.replay-moment{left:16px;bottom:20px}.replay-moment b{font-size:25px}.replay-player-tag{font-size:8px}.replay-caption{padding:14px 16px}.replay-transport{padding:12px;gap:8px;flex-wrap:wrap}.replay-transport input{order:6;flex-basis:100%;min-height:30px}.replay-options{padding:10px 12px 16px;gap:8px}.replay-options select{font-size:16px;max-width:130px;min-height:44px}.replay-options label{flex:1 1 30%}.replay-options .replay-auto{flex:1 1 50%;margin-top:7px}.replay-options>.button{min-height:44px}.replay-library{grid-template-columns:1fr}}
.replay-stage{height:clamp(270px,43vh,420px)}
#game-dialog:has(.replay-viewer)>.dialog-close{position:sticky;right:8px;top:8px;float:none;display:block;margin:8px 8px -48px auto;min-width:40px;min-height:40px;z-index:6}
@media(max-width:700px){.replay-stage{height:330px}.replay-demo-note{padding-right:50px}.replay-heading{padding-top:14px;padding-bottom:14px}.replay-scorebug{min-width:235px}}
@media(max-width:430px){.replay-options label{flex:1 1 44%}.replay-options select{width:100%;max-width:none}}
