.game-playback-settings{font:inherit;font-size:.78rem;border:1px solid #78938c66;border-radius:999px;padding:.38rem .7rem;background:#17332ee8;color:#e2eee7;cursor:pointer}.game-playback-menu{position:fixed;z-index:2147483647;min-width:180px;padding:7px;background:#17302bf5;color:#edf4e8;border:1px solid #9bbcaf80;border-radius:12px;box-shadow:0 8px 28px #0005;font:14px/1.4 system-ui}.game-playback-menu[hidden]{display:none}.game-playback-menu-label{padding:5px 10px;color:#b6ccbf;font-size:12px}.game-playback-menu button{display:block;width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.game-playback-menu button:hover,.game-playback-menu button:focus-visible{background:#c5e0cd22;outline:2px solid #b7d9bf}.game-playback-menu [aria-checked=true]::before{content:'✓ ';color:#bfe3bd}
.game-playback-settings{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.game-playback-settings>svg{display:block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
/* Replay player bar: one transport, scrubber and chapter language for the gallery cards (light) and the enlarged player (dark). */
.game-replay-timeline{--tl-surface:#f5f8ee;--tl-line:#dde5d0;--tl-ink:#2f4630;--tl-muted:#667a5d;--tl-track:#d3dcc5;--tl-fill:#a24f31;--tl-thumb:#fffef8;--tl-btn:#1f3d37;--tl-btn-ink:#fff6dc;--tl-hover:#e3ebd7;--tl-chip-on:#a24f31;--tl-chip-on-ink:#fff8ea;--tl-focus:#a24f31;box-sizing:border-box;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;grid-template-areas:"lead chapters track time tools";align-items:center;column-gap:8px;min-width:0;padding:0 8px;border-top:1px solid var(--tl-line);background:var(--tl-surface);color:var(--tl-ink);font:600 11px/1.2 var(--font-body,system-ui,sans-serif);font-variant-numeric:tabular-nums;text-align:left}
.game-replay-timeline>*{min-width:0}
.game-replay-timeline__lead{grid-area:lead;display:flex;align-items:center;gap:4px}
.game-replay-timeline__stage{grid-area:label;display:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tl-ink)}
.game-replay-timeline__time{grid-area:time;color:var(--tl-muted);white-space:nowrap}
.game-replay-timeline__tools{grid-area:tools;display:flex;align-items:center;gap:2px}
.game-replay-timeline__chapters{grid-area:chapters;display:none;align-items:center;gap:2px}
.game-replay-timeline__track{grid-area:track;position:relative;display:flex;align-items:center;height:32px}
.game-replay-timeline__seek{appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;width:100%;height:32px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;touch-action:none}
.game-replay-timeline__seek:disabled{cursor:default;opacity:.5}
.game-replay-timeline__seek::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--tl-fill) calc(8px + var(--replay-fraction,0) * (100% - 16px)),var(--tl-track) 0)}
.game-replay-timeline__seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:16px;height:16px;margin-top:-5px;border:3px solid var(--tl-fill);border-radius:50%;background:var(--tl-thumb);box-shadow:0 1px 4px #0003}
.game-replay-timeline__seek::-moz-range-track{height:6px;border-radius:3px;background:var(--tl-track)}
.game-replay-timeline__seek::-moz-range-progress{height:6px;border-radius:3px;background:var(--tl-fill)}
.game-replay-timeline__seek::-moz-range-thumb{box-sizing:border-box;width:16px;height:16px;border:3px solid var(--tl-fill);border-radius:50%;background:var(--tl-thumb)}
.game-replay-timeline__markers{position:absolute;left:8px;right:8px;top:50%;height:6px;margin-top:-3px;pointer-events:none}
.game-replay-timeline__markers i{position:absolute;top:0;width:2px;height:6px;margin-left:-1px;background:var(--tl-surface)}
.game-replay-timeline button.game-replay-timeline__button,.game-replay-timeline button.game-playback-settings{box-sizing:border-box;display:grid;place-items:center;flex:none;width:30px;height:30px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--tl-ink);font:inherit;font-size:0;cursor:pointer;transition:background .15s,transform .15s}
.game-replay-timeline button.game-playback-settings{color:var(--tl-muted)}
.game-replay-timeline button.game-replay-timeline__button>svg{display:block;width:17px;height:17px;fill:currentColor}
.game-replay-timeline button.game-playback-settings>svg{width:18px;height:18px}
.game-replay-timeline .game-playback-settings-label{display:none}
.game-replay-timeline__button svg .line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.game-replay-timeline__button svg .spin{transform-origin:12px 12px;animation:game-timeline-spin .9s linear infinite}
@keyframes game-timeline-spin{to{transform:rotate(360deg)}}
.game-replay-timeline button.game-replay-timeline__button:hover,.game-replay-timeline button.game-playback-settings:hover,.game-replay-timeline button.game-playback-settings[aria-expanded=true]{background:var(--tl-hover);color:var(--tl-ink)}
.game-replay-timeline button.game-replay-timeline__play{background:var(--tl-btn);color:var(--tl-btn-ink)}
.game-replay-timeline button.game-replay-timeline__play:hover{background:var(--tl-btn);color:var(--tl-btn-ink);transform:scale(1.08)}
.game-replay-timeline button:disabled{opacity:.4;cursor:default}
.game-replay-timeline button.game-replay-timeline__play:disabled{opacity:.7}
.game-replay-timeline button.game-replay-timeline__chapter{box-sizing:border-box;min-width:24px;height:24px;min-height:0;margin:0;padding:0 6px;border:0;border-radius:12px;background:transparent;color:var(--tl-muted);font:700 11px/1 var(--font-body,system-ui,sans-serif);cursor:pointer}
.game-replay-timeline button.game-replay-timeline__chapter:hover{background:var(--tl-hover);color:var(--tl-ink)}
.game-replay-timeline button.game-replay-timeline__chapter[aria-current]{background:var(--tl-chip-on);color:var(--tl-chip-on-ink)}
.game-replay-timeline button.game-replay-timeline__chapter:disabled{text-decoration:line-through}
.game-benchmark__preview:not(.has-replay) .game-replay-timeline button.game-replay-timeline__chapter[aria-current]{background:transparent;color:var(--tl-muted)}
.game-replay-timeline :is(button,input):focus-visible{outline:2px solid var(--tl-focus);outline-offset:2px}

/* Dark enlarged player: scrubber on top, chapters aligned under their segments, transport below. */
.game-player .game-replay-timeline{--tl-surface:#142f35;--tl-line:#ffffff1f;--tl-ink:#eef2e0;--tl-muted:#a9bfb6;--tl-track:#ffffff2b;--tl-fill:#e6c27a;--tl-thumb:#fff4d2;--tl-btn:#e6c27a;--tl-btn-ink:#203b36;--tl-hover:#ffffff17;--tl-chip-on:#e6c27a2e;--tl-chip-on-ink:#ffe2a0;--tl-focus:#f5cb75;position:relative;flex:none;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"track time" "chapters ." "lead tools";column-gap:14px;row-gap:2px;padding:12px 16px 10px;border:1px solid #ffffff1f;border-radius:12px;font-size:12px}
.game-player .game-replay-timeline__time{font-size:12px}
.game-player .game-replay-timeline__chapters{display:flex;gap:0;padding:0 8px}
.game-player .game-replay-timeline button.game-replay-timeline__chapter{flex:var(--chapter-weight,1) 1 0;min-width:0;height:28px;padding:0;border-radius:8px;font-size:12px}
.game-player .game-replay-timeline__lead{gap:6px;margin-top:4px}.game-player .game-replay-timeline__tools{margin-top:4px}
.game-player .game-replay-timeline button.game-replay-timeline__button,.game-player .game-replay-timeline button.game-playback-settings{width:38px;height:38px;border:0;background:transparent;font-size:0}
.game-player .game-replay-timeline button.game-replay-timeline__button>svg{width:19px;height:19px}.game-player .game-replay-timeline button.game-playback-settings>svg{width:21px;height:21px}
.game-player .game-replay-timeline button.game-replay-timeline__play{width:46px;height:46px;background:var(--tl-btn)}
.game-player .game-replay-timeline button.game-replay-timeline__play>svg{width:22px;height:22px}
.game-player .game-replay-timeline button.game-replay-timeline__button:hover,.game-player .game-replay-timeline button.game-playback-settings:hover{background:var(--tl-hover)}
.game-player .game-replay-timeline button.game-replay-timeline__play:hover{background:var(--tl-btn)}
/* Wide screens fit the transport on the scrubber row, so the bar stays two rows tall. */
@media(min-width:761px){
.game-player .game-replay-timeline{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"lead track time tools" ". chapters . .";column-gap:12px;row-gap:0;padding:10px 16px 8px}
.game-player .game-replay-timeline__lead,.game-player .game-replay-timeline__tools{margin-top:0}
.game-player .game-replay-timeline__chapters{padding:0 8px}
}
@media(max-width:600px){
.game-player .game-replay-timeline{padding:8px 10px 10px}
.game-player .game-replay-timeline__chapters{display:none}
.game-player .game-replay-timeline button.game-replay-timeline__button,.game-player .game-replay-timeline button.game-playback-settings{width:44px;height:44px}
.game-player .game-replay-timeline button.game-replay-timeline__play{width:52px;height:52px}
.game-player .game-replay-timeline__lead{gap:2px;margin-top:2px}.game-player .game-replay-timeline__tools{margin-top:2px}
.game-player .game-replay-timeline__seek,.game-player .game-replay-timeline__track{height:40px}
}
@media(hover:none){.game-replay-timeline__seek,.game-replay-timeline__track{height:44px}.game-replay-timeline button.game-replay-timeline__button,.game-replay-timeline button.game-playback-settings{width:44px;height:44px}.game-replay-timeline button.game-replay-timeline__chapter{min-width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.game-replay-timeline button.game-replay-timeline__button,.game-replay-timeline button.game-playback-settings{transition:none}.game-replay-timeline button.game-replay-timeline__play:hover{transform:none}.game-replay-timeline__button svg .spin{animation:none}}
/* Level outcome marks: one small, shape-coded mark per level (check, cross, bar) shared by chapters, cards and the enlarged player. */
.game-outcome{--oc:#b9772a;--glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' fill='none' stroke='%23000' stroke-width='3.8' stroke-linecap='round'/%3E%3C/svg%3E");position:relative;display:inline-block;flex:none;box-sizing:border-box;width:14px;height:14px;border-radius:50%;background:var(--oc);vertical-align:middle}
.game-outcome::before{content:'';position:absolute;inset:2px;background:#fffdf4;-webkit-mask:var(--glyph) center/contain no-repeat;mask:var(--glyph) center/contain no-repeat}
.game-outcome[data-outcome=cleared]{--oc:#3d7d4a;--glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.5 12.8l4.4 4.4L18.5 7.6' fill='none' stroke='%23000' stroke-width='3.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.game-outcome[data-outcome=ended-early]{--oc:#5f7a8f;--glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4.5v15' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M8 5.5h9.5l-2.7 3.7 2.7 3.8H8z' fill='%23000' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E")}
.game-outcome[data-outcome=no-valid-move]{--oc:#b3342b;--glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12h12' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E")}
.game-outcome[data-outcome=none]{background:transparent;border:1.5px solid #a9b59d}.game-outcome[data-outcome=none]::before{display:none}
.game-replay-timeline button.game-replay-timeline__chapter{display:inline-flex;align-items:center;justify-content:center;gap:4px}
.game-replay-timeline__chapter .game-outcome{width:11px;height:11px}
.game-replay-timeline button.game-replay-timeline__chapter[aria-current] .game-outcome{box-shadow:0 0 0 1.5px var(--tl-chip-on-ink)}
.game-replay-timeline button.game-replay-timeline__chapter:disabled .game-outcome{opacity:.5}
