*{box-sizing:border-box}body{margin:0;background:#0b0e14;color:#edf2f9;font:14px/1.5 system-ui}main{max-width:1440px;margin:auto;padding:14px}.simulation-label{color:#b7c5db;font-weight:600;margin:0 0 12px}.saved-setup-strip{display:flex;flex-wrap:wrap;align-items:end;gap:12px;background:#191919;border:1px solid #2a2f39;border-radius:16px;padding:16px}.saved-setup-strip>div{flex:1;min-width:135px}.saved-setup-strip small{display:block;color:#999;font-weight:750;margin-bottom:7px}.saved-setup-strip strong{display:block;border:1px solid #343a46;background:#1b2638;padding:12px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-setup-strip [data-saved-run]{margin-bottom:4px;border-radius:40px;padding:13px 23px;background:#111;color:white;font-size:16px;font-weight:750}button{background:#20252e;color:#fff;border:1px solid #485367;border-radius:8px;padding:10px 16px;cursor:pointer;font:600 14px system-ui}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:3px solid #facc15;outline-offset:2px}.saved-score{padding:12px 2px;font-size:17px;font-weight:700}.sim-shell{background:#111;border:1px solid #2a2f39;border-radius:14px;overflow:hidden}.player-shell{position:relative;line-height:0}.player-shell canvas{display:block;width:100%;height:auto;aspect-ratio:3/2}.lineup-surface{display:block;width:100%;height:auto;aspect-ratio:5/3}.player-shell [data-saved-fullscreen]{position:absolute;right:10px;top:10px;background:#111c}.saved-commentary{min-height:45px;padding:12px;text-align:center;font-weight:650;background:#090909;line-height:1.4}.saved-playback{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.saved-note,[data-saved-status]{font-size:12px;color:#b2c0d4}.saved-note{margin-bottom:4px}.saved-note a,[data-saved-status] a{color:#9abeff}[hidden]{display:none!important}.is-error{color:#ffc0c0!important}.sim-shell:fullscreen{display:flex;flex-direction:column;justify-content:center}.sim-shell:fullscreen .player-shell{max-height:calc(100vh - 55px)}.sim-shell:fullscreen canvas,.sim-shell:fullscreen svg{height:calc(100vh - 55px);width:100%;object-fit:contain}@media(max-width:600px){main{padding:8px}.saved-setup-strip{padding:10px;gap:8px}.saved-setup-strip>div{min-width:110px}.saved-setup-strip strong{padding:9px;font-size:12px}.saved-score{font-size:14px}}

.saved-buffer{position:absolute;left:16px;right:16px;bottom:16px;z-index:3;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;border:1px solid #415376;border-radius:9px;background:#162640;font-weight:650}
.saved-buffer progress{width:160px;max-width:40%}.saved-batch{margin-top:24px;padding:16px;border:1px solid #2b303a;border-radius:12px;background:#11141a}
.saved-batch h2{margin:0 0 8px;font-size:20px}.saved-batch p{font-size:13px;line-height:1.5}.saved-batch button{background:#165cf2}.saved-batch button:disabled{background:#20252d}
.saved-batch progress{width:100%;margin:8px 0}.batch-table{max-width:100%;overflow:auto}.batch-table table{border-collapse:collapse;width:100%;font-size:12px}.batch-table th,.batch-table td{padding:9px 7px;text-align:left;border-bottom:1px solid #2b303a;white-space:nowrap}.batch-trials{max-height:240px}.saved-batch details summary{cursor:pointer;font-size:13px;padding:9px 0}.saved-batch a{color:#9abeff}
@media(max-width:600px){.saved-batch{padding:10px}.saved-buffer{font-size:12px;gap:6px}.saved-batch h2{font-size:18px}}

/* Saved-match panels share the dashboard's navy surface, blue actions and compact type. */
:root{--saved-panel:#11141a;--saved-panel-alt:#181c24;--saved-line:#2b303a;--saved-muted:#aebbd0;--saved-text:#edf2f9;--saved-accent:#165cf2}
.saved-setup-strip{background:var(--saved-panel);border-color:var(--saved-line);border-radius:12px;padding:12px}
.saved-setup-strip strong{background:var(--saved-panel-alt);padding:10px;border-color:var(--saved-line)}
.saved-setup-strip [data-saved-run]{background:var(--saved-accent);border-color:#4d83f9;border-radius:8px;font-size:14px}
.saved-setup-strip [data-saved-run]:disabled{background:#181c24;border-color:var(--saved-line)}
.saved-match-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.saved-match-layout>*{min-width:0}.sim-shell{background:var(--saved-panel);border-color:var(--saved-line)}
.saved-phase-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px 12px;background:var(--saved-panel);border-bottom:1px solid var(--saved-line)}
.saved-phase-strip>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.saved-phase-strip>div:last-child{justify-content:flex-end;text-align:right}
.saved-phase-strip strong{font-size:12px;overflow-wrap:anywhere}.match-phase{display:inline-block;max-width:100%;padding:3px 7px;border-radius:6px;border:1px solid var(--phase-color);background:var(--phase-bg);color:#f8fafc;font-size:10px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.phase-neutral{--phase-color:#64748b;--phase-bg:#181c24}.phase-build{--phase-color:#38bdf8;--phase-bg:#082f49}.phase-progression{--phase-color:#93c5fd;--phase-bg:#1f2937}
.phase-combination{--phase-color:#5eead4;--phase-bg:#0f766e}.phase-transition{--phase-color:#c4b5fd;--phase-bg:#4c1d95}.phase-defense{--phase-color:#fca5a5;--phase-bg:#3f0a0a}
.phase-press{--phase-color:#f87171;--phase-bg:#7f1d1d}.phase-finish{--phase-color:#fbbf24;--phase-bg:#78350f}.phase-attack{--phase-color:#34d399;--phase-bg:#0b3b2e}
.saved-commentary{background:#101722;font-size:12px;min-height:42px}.saved-score{font-size:16px;padding:10px 0}
.saved-insights{background:var(--saved-panel);border:1px solid var(--saved-line);border-radius:12px;padding:14px;line-height:1.5;font-size:12px}
.saved-insights h2{font-size:16px;margin:0}.saved-insights header span{font-size:11px;color:var(--saved-muted)}
.saved-insights h3{font-size:12px;margin:16px 0 8px}.match-state{color:var(--saved-muted);font-size:11px;margin:8px 0}
.match-stat-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.match-stat-table th,.match-stat-table td{padding:7px 2px;border-bottom:1px solid var(--saved-line);text-align:center;overflow-wrap:anywhere}
.match-stat-table tbody th{font-weight:500;color:var(--saved-muted);width:50%}.match-stat-table td{font-variant-numeric:tabular-nums;font-weight:650}
.insight-note,.insight-empty{font-size:11px;color:var(--saved-muted);line-height:1.5}.phase-history{padding:0;margin:0;list-style:none}
.phase-history li{display:flex;gap:7px;align-items:center;padding:6px 0;border-top:1px solid var(--saved-line)}.phase-history time{font-variant-numeric:tabular-nums;color:var(--saved-muted);font-size:10px}.phase-history-team{flex:1;min-width:0;font-size:11px;overflow-wrap:anywhere}
.insight-styles summary{cursor:pointer;margin-top:12px}.insight-styles h4{margin:10px 0 2px}.insight-styles p{margin:0;color:var(--saved-muted)}
@media(min-width:1000px){.saved-match-layout{grid-template-columns:minmax(0,1fr) 280px}}
/* Compact home/away phase cards: no nested scrolling, all starters visible. */
.saved-player-phases{margin-top:16px;padding:0;background:transparent;border:0;border-radius:0}
.player-phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.player-phase-card{min-width:0;background:var(--saved-panel);border:1px solid var(--saved-line);border-radius:12px;padding:12px}
.player-phase-card header{margin-bottom:10px}.player-phase-card h3{font-size:13px;font-weight:650;margin:0 0 3px;color:var(--saved-text)}
.player-phase-card h3 span{font-weight:500}.player-phase-card header p{font-size:10px;color:var(--saved-muted);margin:0;line-height:1.4}
.player-phase-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;min-width:0}
.player-phase-list{list-style:none;padding:0;margin:0;min-width:0}
.player-phase-item{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:29px;padding:5px 3px;border-bottom:1px solid #2b303a70;min-width:0;line-height:1.3}
.player-phase-item:last-child{border-bottom:0}.player-phase-item:hover,.player-phase-item:focus-visible{background:var(--saved-panel-alt);border-radius:4px}
.player-phase-item:focus-visible{outline:2px solid #8db9ff;outline-offset:1px}
.phase-player-label{display:flex;align-items:center;gap:5px;min-width:0;color:var(--saved-text);font-size:10.5px;font-weight:600}
.phase-player-number{flex:none;color:var(--saved-muted);font-size:9px;font-variant-numeric:tabular-nums;min-width:17px;font-weight:500}
.phase-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.phase-player-badge{flex:none;max-width:57%;padding:2px 6px;border-radius:999px;font-size:8.5px;letter-spacing:.025em;text-transform:uppercase;line-height:1.3;text-align:center;white-space:normal;overflow-wrap:anywhere}
.saved-player-phases>.insight-note{font-size:10px;margin:7px 2px 0}
@media(max-width:999px){.player-phase-grid{grid-template-columns:minmax(0,1fr)}.phase-player-label{font-size:11px}.phase-player-badge{font-size:9px}}
@media(max-width:519px){.player-phase-columns{grid-template-columns:minmax(0,1fr)}.player-phase-card{padding:10px}.player-phase-list:first-child>.player-phase-item:last-child{border-bottom:1px solid #2b303a70}.player-phase-item{min-height:29px}.phase-player-badge{max-width:55%}}
.saved-buffer{left:12px;right:12px;bottom:12px;margin:0;padding:10px 12px;background:#11141aee;border:1px solid #486181;box-shadow:0 4px 15px #0003;align-items:center;font-size:12px}
.saved-buffer strong{display:block;font-size:12px}.saved-buffer span{display:block;font-size:11px;font-weight:400;color:var(--saved-muted)}
.saved-buffer progress{width:130px;max-width:32%;height:5px;accent-color:var(--saved-accent)}
.saved-playback-health{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 12px;margin-top:12px;border:1px solid var(--saved-line);border-radius:9px;background:var(--saved-panel)}
.saved-playback-health strong{display:block;font-size:12px}.saved-playback-health span{display:block;font-size:11px;color:var(--saved-muted);font-variant-numeric:tabular-nums}
.saved-playback-health progress{display:block;width:100%;height:4px;margin-top:8px;accent-color:var(--saved-accent)}
.saved-buffer progress,.saved-playback-health progress{transition:none}.saved-buffer progress::-webkit-progress-bar,.saved-playback-health progress::-webkit-progress-bar{background:#2b303a;border-radius:5px}.saved-buffer progress::-webkit-progress-value,.saved-playback-health progress::-webkit-progress-value{background:#3677ff;border-radius:5px;transition:none}
.saved-playback [data-saved-status]:empty{display:none}.saved-playback{gap:8px}.saved-playback button{background:var(--saved-panel-alt);border-color:var(--saved-line);font-size:12px;padding:8px 14px}
@media(max-width:639px){.player-phase-grid,.saved-playback-health{grid-template-columns:minmax(0,1fr)}.saved-insights{padding:12px}.saved-player-phases>summary span{display:block;margin:4px 0 0}.saved-phase-strip{padding:8px;gap:6px}.saved-phase-strip strong{font-size:11px}.saved-buffer{padding:8px;left:8px;right:8px;bottom:8px}.saved-buffer strong{font-size:11px}.saved-buffer span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.saved-buffer,.match-phase{animation:none;transition:none}}

/* Keep the viewport width and header geometry stable as the replay gains data. */
html{scrollbar-gutter:stable}body{overflow-anchor:none}.saved-score{min-height:44px;line-height:24px}.saved-phase-strip{min-height:44px}.saved-insights{overflow-anchor:none}
@media(max-width:639px){.saved-score{min-height:68px}.saved-phase-strip{min-height:66px}}
