:root{color-scheme:dark;--bg:#101318;--panel:#181d24;--line:#303742;--muted:#a1acbc;--ink:#f0f3f7;--accent:#caf48e;--second:#9bb6fa;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.3;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1{font-size:2.75rem;letter-spacing:-.055em;font-weight:650;line-height:1.2}h2{font-size:1.125rem;letter-spacing:-.025em;font-weight:600}h3{font-size:.875rem;font-weight:500;color:var(--muted)}.masthead{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 max(28px,calc((100vw - 1344px)/2));gap:20px}.brand{font-size:.875rem;font-weight:750;letter-spacing:.13em;display:flex;align-items:center;gap:12px}.mark{font-size:2rem;line-height:1;color:var(--accent)}.freshness{font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}.freshness.live:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--accent);border-radius:50%}main{max-width:1400px;margin:auto;padding:32px 28px 20px}.page-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;gap:24px}.eyebrow{font:500 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:var(--muted);margin-bottom:8px}.games{display:flex;gap:4px;border:1px solid var(--line);padding:5px;border-radius:10px;background:var(--panel)}.games button{padding:9px 19px;border-radius:6px;font-size:.875rem;color:var(--muted)}.games button.active{background:#303b2c;color:var(--accent)}.desk{display:grid;grid-template-columns:minmax(330px, .82fr) minmax(560px,1.55fr);gap:24px;align-items:start}.standings-column{display:grid;gap:20px}.panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.panel-heading{padding:22px 24px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.badge{font:500 .6875rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);letter-spacing:.06em;border:1px solid #48515e;padding:5px 7px;border-radius:4px}.leader-controls{padding:0 24px 19px;display:flex;justify-content:space-between;align-items:center;gap:12px}.segmented{display:flex;background:#0f141a;border-radius:6px;padding:3px;gap:3px}.segmented button{font-size:.8125rem;padding:7px 12px;border-radius:4px;color:var(--muted)}.segmented button.active{background:#2b333e;color:var(--ink)}.elo-help{position:relative;font-size:.8125rem;color:var(--muted)}.elo-help summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px}.elo-help summary::-webkit-details-marker{display:none}.elo-help div{position:absolute;right:-8px;top:30px;padding:18px;z-index:20;width:290px;background:#252e39;box-shadow:0 14px 40px #0007;border:1px solid #485463;border-radius:8px;line-height:1.6;color:var(--ink)}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th{font-weight:400;color:var(--muted);text-align:left;font-size:.75rem;padding:10px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}th:nth-child(2){padding:10px 4px;white-space:nowrap}td{padding:20px 24px;border-bottom:1px solid #30374280;font-size:.875rem}td:nth-child(2){padding:20px 4px;white-space:nowrap;color:#c0cad6;font-size:.8125rem}td.number,th.number{text-align:right}td.number{font:500 1.625rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.05em}td.number small{display:block;font:400 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:5px;letter-spacing:0;color:var(--muted)}.up{color:var(--accent)!important}.down{color:#e4a0a0!important}.player-label{display:flex;gap:12px;align-items:center}.rank{color:var(--muted);font:400 .8125rem ui-monospace,SFMono-Regular,Menlo,monospace}.player-label strong{font-weight:600;display:block;line-height:1.4}.player-label small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px;line-height:1.4}.panel-note{font-size:.8125rem;color:var(--muted);line-height:1.6;padding:14px 24px 18px}.small{font-size:.8125rem;color:var(--muted);line-height:1.5}.chart-panel .panel-heading{padding-bottom:10px}#rating-chart{padding:0 20px}#rating-chart svg{display:block;width:100%;height:176px}.chart-legend{padding:6px 24px 22px;display:flex;gap:18px;font-size:.8125rem;color:var(--muted)}.chart-legend span:before{content:"";display:inline-block;width:14px;height:3px;margin:0 7px 3px 0;background:var(--legend);border-radius:2px}.series-button{display:block;width:100%;text-align:left;padding:18px 24px;border-top:1px solid var(--line)}.series-button.active{border-left:3px solid var(--accent);padding-left:21px;background:#1e262c}.series-button strong{font-size:.9375rem;font-weight:600;display:block;margin-bottom:8px}.series-button small{font-size:.8125rem;color:var(--muted);line-height:1.5}.series-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.series-score{font:500 1.25rem ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.series-bottom{margin-top:8px;display:flex;justify-content:space-between;gap:12px}.tag{color:#d7cba1;font-size:.75rem}.replay-panel .panel-heading{padding-bottom:16px}.replay-panel .small{margin-top:5px}.status{font-size:.8125rem;background:#242e37;color:#c1cbd7;padding:7px 10px;border-radius:5px;white-space:nowrap}.status.active{background:#303b2c;color:var(--accent)}.round-tabs{display:flex;gap:8px;padding:0 24px 22px;overflow:auto}.round-tabs button{padding:9px 14px;border:1px solid #3b4451;border-radius:6px;font-size:.8125rem;color:var(--muted);white-space:nowrap}.round-tabs button.active{border-color:var(--accent);color:var(--accent);background:#242e23}.round-tabs button small{font:400 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;color:inherit;margin-left:10px}.player-strip{padding:13px 24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;font-size:.875rem}.player-strip strong{font-weight:600}.player-strip .rating{margin-left:auto;color:var(--muted);font:400 .875rem ui-monospace,SFMono-Regular,Menlo,monospace}.seat-disc{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #95a1ae;flex-shrink:0}.seat-disc.white{background:#e5ebf0}.seat-disc.black{background:#0c1015}.player-strip .seat-label{font-size:.75rem;color:var(--muted)}.replay-body{display:grid;grid-template-columns:minmax(0,1fr) 146px;gap:20px;padding:18px 24px 8px}.board-column{min-width:0}.board{aspect-ratio:1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-radius:3px;overflow:hidden;background:#e4e9ec}.square{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#dce4e7;color:#1a2824}.square.dark{background:#52786c;color:#eff5ef}.square.highlight{box-shadow:inset 0 0 0 3px #bff58a;background:#e0edc7}.square.dark.highlight{background:#799b58}.piece{font-family:"Arial Unicode MS","DejaVu Sans","Apple Symbols",serif;font-size:clamp(1.8rem,4.5vw,3.5rem);line-height:1;z-index:1}.piece.white{color:#fff;-webkit-text-stroke:1px #28312c;text-shadow:0 2px 1px #20322955}.piece.black{color:#15261f;text-shadow:0 1px 1px #d4ded799}.coordinate{position:absolute;font:500 .6875rem ui-monospace,SFMono-Regular,Menlo,monospace;z-index:2}.coordinate.rank{top:5px;left:5px;color:inherit}.coordinate.file{bottom:4px;right:5px}.moves-column{display:flex;flex-direction:column;min-height:0}.moves-column h3{height:28px}.move-list{height:clamp(280px,36vw,448px);overflow:auto;scrollbar-width:thin;scrollbar-color:#46515f transparent}.move-row{display:grid;grid-template-columns:22px 1fr 1fr;gap:3px;align-items:center;padding:3px 0;font:400 .75rem ui-monospace,SFMono-Regular,Menlo,monospace}.move-row>span{color:var(--muted)}.move-row button{text-align:left;font:inherit;padding:8px 4px;border-radius:4px;color:#bac6d3;white-space:nowrap}.move-row button.current{background:var(--accent);color:#182211}.move-row button:hover:not(.current){background:#28323d}.playback{display:flex;align-items:center;gap:2px;padding-top:12px}.playback button{width:34px;height:32px;font-size:1.25rem;color:#ced7e1;border-radius:4px}.playback button:hover{background:#2b3540}.playback button#autoplay{font-size:1rem}.playback span{margin-left:auto;font:400 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--accent);height:20px;margin:6px 0 0;cursor:pointer}.last-action{min-height:24px;color:var(--muted);font-size:.8125rem;padding:2px 0 8px}.player-strip.bottom{margin-top:0}.round-results{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:17px 24px;gap:16px;font-size:.8125rem;color:var(--muted);flex-wrap:wrap}.round-results strong{color:#dce4ed;font-weight:500}.empty{min-height:390px;display:grid;place-content:center;gap:12px;text-align:center;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted)}.empty strong{color:var(--ink);font-size:1.25rem;font-weight:500}.empty[hidden],[hidden]{display:none!important}#notice{padding:14px 18px;background:#392d27;color:#f0d6c3;border-radius:7px;margin-bottom:22px;font-size:.875rem}footer{display:flex;justify-content:space-between;gap:16px;padding-top:24px;color:var(--muted);font-size:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.non-chess{display:block;aspect-ratio:auto;min-height:340px;padding:20px;background:#202832;color:var(--ink);overflow:auto}.go-board{display:grid;grid-template-columns:repeat(9,1fr);background:#b7a47c;aspect-ratio:1}.go-point{display:flex;align-items:center;justify-content:center;border:1px solid #715f3670;font-size:1.875rem;color:#0c1116}.go-point.white{color:white;text-shadow:0 1px 3px #000}.koan{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.7}.cards{display:flex;flex-wrap:wrap;gap:8px}.card{background:#e4e9ec;color:#18222c;border-radius:4px;padding:12px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.card.red{color:#a52a36}.board-error{display:grid;place-content:center;text-align:center;min-height:340px;color:var(--muted);padding:24px;line-height:1.6}
@media(min-width:1500px){.piece{font-size:3.75rem}}@media(max-width:1080px){.desk{grid-template-columns:minmax(285px,.85fr) minmax(440px,1.4fr);gap:18px}.replay-body{grid-template-columns:minmax(0,1fr) 115px;gap:12px;padding:16px}.panel-heading,.player-strip,.round-results{padding-left:18px;padding-right:18px}.round-tabs{padding-left:18px;padding-right:18px;gap:5px}.round-tabs button{padding:8px 10px}.round-tabs button small{margin-left:5px}td,th{padding-left:18px;padding-right:18px}.leader-controls{padding-left:18px;padding-right:18px}.badge{font-size:.625rem}.piece{font-size:2.6rem}.playback button{width:27px}.elo-help{font-size:.75rem}}@media(max-width:800px){.masthead{height:64px;padding:0 20px}main{padding:25px 18px}.page-top{align-items:start}.games button{padding:9px 12px}.desk{grid-template-columns:1fr}.replay-panel{grid-row:1}.standings-column{grid-template-columns:1fr 1fr}.matches-panel{grid-column:1/-1}.replay-body{grid-template-columns:minmax(0,1fr) 150px;padding:18px 24px;gap:20px}.piece{font-size:3.5rem}.move-list{height:420px}h1{font-size:2.25rem}.coordinate{font-size:.75rem}}@media(max-width:540px){.freshness{font-size:.75rem;max-width:150px;text-align:right}.brand{font-size:.75rem;gap:8px}.page-top{display:block;margin-bottom:20px}.games{margin-top:20px;justify-content:space-between}.games button{flex:1;padding:9px}.standings-column{grid-template-columns:1fr}.replay-body{grid-template-columns:1fr;padding:16px 16px 8px;gap:14px}.moves-column{border-top:1px solid var(--line);padding-top:14px}.move-list{height:120px}.move-row{grid-template-columns:36px 1fr 1fr;font-size:.8125rem}.piece{font-size:clamp(1.4rem,8.5vw,2.7rem)}.coordinate{font-size:.6875rem}.round-tabs{gap:5px;padding-bottom:18px}.round-tabs button{padding:8px 10px}.round-tabs button small{display:block;margin:4px 0 0}.panel-heading{padding:18px 16px}.player-strip{padding:13px 16px}.player-strip .seat-label{font-size:.75rem}.playback button{width:37px}.round-results{padding:16px}.elo-help{font-size:.8125rem}.badge{font-size:.6875rem}footer{font-size:.75rem}.board{max-width:100%}}
.section-tabs{display:flex;align-self:stretch;align-items:stretch;gap:24px;margin-right:auto;margin-left:36px}.section-tabs button{font-size:.9375rem;color:var(--muted);border-bottom:2px solid transparent;padding:0 2px}.section-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.leaderboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start}.competition-picker{display:flex;align-items:center;gap:14px;padding-bottom:20px;color:var(--muted);font-size:.875rem}.competition-picker select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);padding:10px 34px 10px 12px;border-radius:6px;max-width:100%;min-width:0}.competition-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.competition-desk{grid-template-columns:minmax(260px,.65fr) minmax(560px,1.7fr)}.competition-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line)}.competition-heading h2{font-size:1.5rem}.competition-heading .series-score{font-size:1.75rem;color:var(--accent)}.competition-desk .replay-panel .panel-heading{padding-top:18px}.leaderboard-grid .chart-panel #rating-chart svg{height:240px}
@media(max-width:1080px){.section-tabs{gap:18px;margin-left:12px}.competition-desk{grid-template-columns:minmax(240px,.75fr) minmax(440px,1.5fr);gap:18px}.competition-heading{padding:18px}.competition-heading h2{font-size:1.25rem}.leaderboard-grid{gap:18px}}
@media(max-width:800px){.masthead{height:auto;min-height:64px;flex-wrap:wrap;gap:0 16px}.brand{min-height:64px}.freshness{margin-left:auto}.section-tabs{order:3;flex-basis:100%;margin:0;gap:24px;height:48px}.section-tabs button{font-size:.875rem}.competition-desk{grid-template-columns:1fr}.competition-desk .matches-panel{grid-column:auto;grid-row:1}.competition-desk .replay-panel{grid-row:2}.leaderboard-grid{grid-template-columns:1fr}.competition-picker{align-items:start;flex-direction:column;gap:8px}.competition-picker select{width:100%}.competition-heading h2{font-size:1.25rem}.competition-heading .series-score{font-size:1.5rem}.leaderboard-grid .chart-panel #rating-chart svg{height:210px}}
.metric-select{font:inherit;font-size:.8125rem;color:var(--ink);background:#202832;border:1px solid #46515f;border-radius:6px;padding:7px 25px 7px 9px;min-width:75px;flex-shrink:0}.metric-select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chart-panel:has(#chart-note:not([hidden])) .chart-legend{padding-bottom:0}.chart-panel .panel-heading h2{line-height:1.4}
.series-identities small,#competition-identities span{display:block;overflow-wrap:anywhere}.competition-heading>div{min-width:0}.player-label>div{min-width:0;overflow-wrap:anywhere}.leaderboard td:first-child{overflow-wrap:anywhere}
.player-label .rank{flex-shrink:0;white-space:nowrap;min-width:24px;padding-right:12px;border-right:1px solid var(--line);line-height:24px;text-align:right}

#leaderboard-view .leader-controls{justify-content:flex-end}.competition-chart{border-top:1px solid var(--line);padding-bottom:2px}.competition-chart #rating-chart{max-width:640px;margin:auto}.competition-chart #rating-chart svg{height:220px}

/* Compact competition replay, with one label per piece of information. */
.matches-panel .series-button:first-child{border-top:0}
.competition-desk.list-only{grid-template-columns:1fr}
.series-matchup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 12px;align-items:center}
.series-player{min-width:0;display:grid;gap:3px}
.series-button .series-game{display:block;margin-bottom:8px;font-size:.75rem;color:var(--muted)}
.series-player strong{font-size:.875rem;line-height:1.35;margin:0;overflow-wrap:anywhere}
.series-player small{font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}
.series-player:last-child{grid-column:1;grid-row:2}
.series-result{grid-column:2;grid-row:1/3;display:grid;justify-items:center;gap:7px}
.series-result .series-draw{font-size:.6875rem;color:var(--muted)}
.series-result .series-score-label{font-size:.625rem;color:var(--muted);white-space:nowrap}
.list-only .series-button{padding:22px 24px}
.list-only .series-matchup{grid-template-columns:minmax(0,1fr) minmax(96px,max-content) minmax(0,1fr);gap:24px}
.list-only .series-player{gap:4px}
.list-only .series-player strong{font-size:1rem}
.list-only .series-player small{font-size:.8125rem}
.list-only .series-player:last-child{grid-column:3;grid-row:1}
.list-only .series-result{grid-row:1;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:12px;align-self:stretch;align-content:center}
.round-toolbar{display:grid;grid-template-columns:minmax(108px,1fr) minmax(0,auto) minmax(108px,1fr);align-items:center;gap:16px;padding:18px 24px}
.round-toolbar .back-to-list{grid-column:1;grid-row:1;justify-self:start}
.round-toolbar .round-tabs{grid-column:2;padding:0;min-width:0;justify-content:safe center}.round-toolbar #round-meta{margin:0;flex-shrink:0}
.player-strip{padding:18px 24px;gap:14px}.player-info{min-width:0;display:grid;gap:5px}
.player-info strong{font-size:.9375rem;line-height:1.35;overflow-wrap:anywhere}
.competition-chart #rating-chart svg{height:auto;min-height:200px}.chart-legend{flex-wrap:wrap}
@media(max-width:1080px){.round-toolbar,.player-strip{padding:18px}}
@media(max-width:540px){.round-toolbar{align-items:flex-start;flex-direction:column;gap:10px;padding:16px}.player-strip{padding:16px;gap:10px}.player-strip .rating small{max-width:80px;white-space:normal}}

/* Keep the board, controls and round metrics together on wide screens. */
.page-top{align-items:center;margin-bottom:20px}
.section-tabs #competitions-nav{display:inline-flex;align-items:center;gap:8px}
.competition-live{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border:1px solid #71d9e750;border-radius:5px;color:#71d9e7;font-size:.6875rem;white-space:nowrap}
main:has(#desk:not([hidden])){padding-top:24px}
main:has(#desk:not([hidden])) .page-top{margin-bottom:16px}
main:has(#desk:not([hidden])) h1{font-size:2.25rem}
.competition-desk{grid-template-columns:260px minmax(0,1fr);gap:20px}
.competition-desk .series-button{padding:16px 20px}
.competition-desk .series-button.active{padding-left:17px}
.replay-panel .round-toolbar{padding:12px 18px}
.replay-panel .player-strip{padding:10px 18px}
.replay-panel .replay-body{grid-template-columns:minmax(0,400px) 136px;justify-content:center;gap:16px;padding:12px 18px 6px}
.replay-panel .move-list{height:360px}
.replay-panel .piece{font-size:clamp(1.8rem,4.5vw,2.7rem)}
.replay-panel .competition-chart .panel-heading{padding:18px 18px 10px}
@media(max-width:800px){
  .competition-desk{grid-template-columns:1fr}
  .competition-desk:not(.list-only) .replay-panel{grid-row:1}
  .competition-desk:not(.list-only) .matches-panel{grid-row:2}
}
@media(max-width:540px){
  .replay-panel .replay-body{grid-template-columns:1fr;padding:12px 16px 6px}
  .replay-panel .board-column{width:100%;max-width:400px;margin:auto}
  .replay-panel .move-list{height:120px}
  .replay-panel .round-toolbar{align-items:flex-start;flex-direction:column}
}

#leaderboard-view .leader-controls{display:block;padding-top:0}
.elo-help summary{text-align:right;font-size:.8125rem}
.elo-help .elo-notes{position:static;width:auto;margin-top:18px;padding:20px;background:#202832;border:1px solid var(--line);border-radius:8px;box-shadow:none;line-height:1.65}
.elo-notes p+p{margin-top:16px}.elo-notes strong{font-weight:600}.elo-notes code{font-size:.8125rem;overflow-wrap:anywhere;color:var(--accent)}
.leaderboard tbody tr:last-child td{border-bottom:0}
.leaderboard .table-wrap{overflow-x:auto}
.leaderboard table{min-width:720px}
.leaderboard th,.leaderboard td{padding-left:12px;padding-right:12px}
.leaderboard th:first-child,.leaderboard td:first-child{padding-left:24px}
.leaderboard th:last-child,.leaderboard td:last-child{padding-right:24px}
.leaderboard th{white-space:nowrap}
.leaderboard td:not(:first-child):not(.number){color:#c0cad6;font-size:.8125rem;white-space:nowrap}

.live-round{display:inline-flex;align-items:center;gap:6px;color:var(--accent)!important}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:live-pulse 2s ease-in-out infinite}
@keyframes live-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #caf48e40}50%{opacity:.55;box-shadow:0 0 0 4px #caf48e00}}
.playback .view-status{margin-left:8px;font-family:inherit;font-size:.75rem}.playback .view-status.live{color:var(--accent)}
.playback .view-status.live:before{content:"";display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:5px}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}

.metric-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px}
.metric-heading .metric-select{field-sizing:content;font:inherit;color:var(--accent);background:transparent;border:0;border-bottom:1px solid #46515f;border-radius:0;padding:3px 2px;min-width:0;max-width:100%}
.metric-heading .metric-select option{background:var(--panel);color:var(--ink)}

/* Phone layouts keep every rating field visible and controls easy to tap. */
.back-to-list{display:block;color:var(--muted);font-size:.8125rem;padding:0;min-height:44px;text-align:left;white-space:nowrap}
@media(max-width:800px){.back-to-list{display:block}}
@media(max-width:600px){
  main{padding:22px 16px}
  .masthead{padding:0 16px}
  .section-tabs{height:auto}
  .section-tabs button{min-height:44px}
  .page-top{display:block;margin-bottom:20px}
  .games{margin-top:18px;justify-content:space-between}
  .games button{flex:1;min-height:44px;padding:9px 6px}
  .leaderboard .table-wrap{overflow:visible}
  .leaderboard table,.leaderboard tbody{display:block;min-width:0}
  .leaderboard thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .leaderboard tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:18px 16px;border-top:1px solid var(--line)}
  .leaderboard td,.leaderboard td:first-child,.leaderboard td:last-child{display:block;padding:0;border:0;min-width:0}
  .leaderboard td:first-child{grid-column:1;grid-row:1}
  .leaderboard td.number{grid-column:2;grid-row:1;font-size:1.5rem}
  .leaderboard td.number:before{content:attr(data-label);display:block;font:400 .6875rem -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;color:var(--muted);margin-bottom:4px}
  .leaderboard td.number small{font-size:.6875rem;max-width:96px;line-height:1.4}
  .leaderboard td:not(:first-child):not(.number){grid-column:1/-1;white-space:normal;overflow-wrap:anywhere;line-height:1.5;display:flex;gap:12px;justify-content:space-between}
  .leaderboard td:nth-child(2){grid-row:2}
  .leaderboard td:nth-child(3){grid-row:3}
  .leaderboard td:nth-child(4){grid-row:4}
  .leaderboard td:not(:first-child):not(.number):before{content:attr(data-label);color:var(--muted);flex-shrink:0}
  .leaderboard .player-label{gap:10px;align-items:flex-start}
  .leaderboard .player-label .rank{min-width:18px;padding-right:8px}
  .leaderboard .player-label strong{padding-top:2px}
  .leaderboard .panel-heading{padding:18px 16px 12px}
  .leader-controls{padding:0 16px 16px}
  .elo-help summary{min-height:44px;display:flex;align-items:center;justify-content:flex-end}
  .elo-help .elo-notes{padding:14px;margin-top:8px}
  .series-score{font-size:1.125rem}
  .list-only .series-button{padding:18px 14px}
  .list-only .series-matchup{grid-template-columns:minmax(0,1fr) minmax(60px,max-content) minmax(0,1fr);gap:12px}
  .list-only .series-player strong{font-size:.875rem}
  .list-only .series-player small{font-size:.75rem}
  .list-only .series-result{padding:8px}
  .round-tabs button{min-height:44px}
  .replay-panel .replay-body{grid-template-columns:1fr;padding:12px 12px 6px;gap:14px}
  .replay-panel .board-column{width:100%;max-width:400px;margin:auto}
  .replay-panel .piece{font-size:clamp(1.4rem,8.5vw,2.7rem)}
  .replay-panel .round-toolbar{grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:12px}
  .round-toolbar .round-tabs{grid-column:1;width:100%;padding:2px;scrollbar-width:thin}
  .replay-panel .player-strip{padding:12px}
  .playback{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px 0}
  .playback button{width:100%;height:44px}
  .playback .view-status{grid-column:1/4;margin:0;padding:4px 0}
  .playback #ply-count{grid-column:4/7;text-align:right;margin:0}
  input[type=range]{height:32px;margin-top:2px}
  .moves-column{border-top:1px solid var(--line);padding-top:12px}
  .replay-panel .move-list{height:156px}
  .move-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr)}
  .move-row button{min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
  .non-chess{min-height:0;max-height:65vh;padding:14px}
  .go-point{font-size:clamp(1.2rem,6vw,1.875rem)}
  .competition-chart #rating-chart{padding:0 12px}
  .chart-legend{padding:6px 16px 18px;gap:10px 16px}
  .chart-legend span{overflow-wrap:anywhere;min-width:0}
}
@media(max-width:360px){
  main{padding:20px 10px}
  .replay-panel .replay-body{padding-left:8px;padding-right:8px}
  .leaderboard tbody tr{padding:16px 12px;gap:9px 8px}
  .leaderboard .player-label{gap:8px}
}

.series-button{position:relative;transition:background-color .15s ease}
.series-button .series-player strong{font-weight:500}
.series-button .series-player.winner strong{font-weight:750}
.series-button .series-player.loser strong{opacity:.6}
.series-button.live-series{background-color:#19272b}
.series-button.live-series:after{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid #71d9e780;border-radius:6px;box-shadow:0 0 10px #71d9e71c,inset 0 0 14px #71d9e70d}
.series-result .series-live{display:inline-flex;align-items:center;gap:5px;color:#71d9e7;font-size:.75rem;white-space:nowrap}
.series-live-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:series-live-pulse 2s ease-in-out infinite}
@keyframes series-live-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #71d9e750}50%{opacity:.6;box-shadow:0 0 0 4px #71d9e700}}
.series-open{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1.625rem;line-height:1;transition:color .15s ease,transform .15s ease}
.series-button:hover{background-color:#253039}.series-button:hover .series-open{color:var(--ink);transform:translate(2px,-50%)}
.competition-desk .series-button,.list-only .series-button{padding-right:44px}
.model-competition .series-button{padding-right:44px}
@media(prefers-reduced-motion:reduce){.series-live-dot{animation:none}.series-button,.series-open{transition:none}}

/* Model directory and bookmarkable model pages. */
.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.model-card{position:relative;display:grid;gap:10px;padding:24px 48px 24px 24px;min-height:128px;align-content:center}
.model-card:hover{border-color:#6e8859;background:#1e2625}
.model-card strong{font-size:1.125rem;line-height:1.4;overflow-wrap:anywhere}
.model-open{position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.5rem}
.model-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:16px;color:var(--muted);font-size:.875rem}
.model-ratings .table-wrap{overflow-x:auto}.model-ratings table{min-width:680px}
.model-engine-build{overflow-wrap:anywhere}
.model-ratings td small{display:block;max-width:300px;font-size:.75rem;line-height:1.5;color:var(--muted);letter-spacing:0;margin-top:5px}
.model-ratings tbody tr:last-child td{border-bottom:0}.model-unrated{padding:16px 24px;border-top:1px solid var(--line)}
.model-competitions{margin-top:28px;display:grid;gap:14px}.model-competitions>h2{margin-bottom:2px}
.model-competition .series-button{border-top:0}.model-game{display:block;padding:16px 24px 0;font-size:.75rem;color:var(--muted)}
@media(max-width:900px){.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .model-grid{grid-template-columns:1fr;gap:12px}.model-card{min-height:108px;padding:20px 44px 20px 20px}.model-open{right:20px}
  .model-ratings .panel-heading{padding:18px 16px}.model-ratings .table-wrap{overflow:visible}
  .model-ratings table,.model-ratings tbody{display:block;min-width:0}
  .model-ratings thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .model-ratings tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:18px 16px;border-top:1px solid var(--line)}
  .model-ratings td{display:block;padding:0;border:0;min-width:0}
  .model-ratings td:first-child{grid-column:1;grid-row:1}
  .model-ratings td.number{grid-column:2;grid-row:1;font-size:1.5rem}
  .model-ratings td.number:before{content:attr(data-label);display:block;font:400 .6875rem -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;color:var(--muted);margin-bottom:4px}
  .model-ratings td.number small{font-size:.6875rem}
  .model-ratings td:not(:first-child):not(.number){grid-column:1/-1;white-space:normal;overflow-wrap:anywhere;line-height:1.5;display:flex;gap:12px;justify-content:space-between}
  .model-ratings td:nth-child(2){grid-row:2}.model-ratings td:nth-child(3){grid-row:3}.model-ratings td:nth-child(4){grid-row:4}
  .model-ratings td:not(:first-child):not(.number):before{content:attr(data-label);color:var(--muted);flex-shrink:0}
  .model-game{padding:14px 14px 0}.model-competitions{margin-top:22px}
}

.model-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.board.non-chess{padding:0;min-height:0;max-height:none;overflow:visible;background:#243731;border:1px solid #44584d;border-radius:8px}
.table-state{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 14px;background:#192820;color:#c0cbc3;font-size:.75rem;line-height:1.5;border-radius:0 0 7px 7px}
.go-surface{display:block;width:100%;height:auto}
.go-grid{fill:none;stroke:#624522;stroke-width:1}.go-stars{fill:#624522}
.go-coordinates{fill:#513919;font:500 11px ui-monospace,SFMono-Regular,Menlo,monospace;text-anchor:middle}
.stone-shadow{fill:#3d281755}.go-stone{stroke:#1b1d1a;stroke-width:.6}.go-stone.black{fill:url(#go-black)}.go-stone.white{fill:url(#go-white);stroke:#aaa79c}
.last-stone{fill:none;stroke-width:1.8}.last-stone.on-black{stroke:#f2f0dd}.last-stone.on-white{stroke:#242821}
.zendo-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
.koan-scene{min-width:0;background:#30483d;border:1px solid #51695a;border-radius:7px;padding:10px 10px 4px}
.koan-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#cbd6cb;font-size:.6875rem;line-height:1.5}
.koan-mark{display:flex;gap:5px;align-items:center;color:#e8eee3}
.marking-stone,.guessing-stone{display:inline-grid;place-content:center;border-radius:50%;width:15px;height:15px;flex-shrink:0;box-shadow:1px 2px 3px #0005;font-style:normal}
.koan-mark.yes .marking-stone{background:radial-gradient(circle at 35% 28%,#fffef7,#d2d4c5);border:1px solid #f8f5e4}
.koan-mark.no .marking-stone{background:radial-gradient(circle at 35% 28%,#4b504b,#0e1712);border:1px solid #6a776b}
.koan-mark.pending .marking-stone{border:1px dashed #afbbab;color:#cbd6cb;box-shadow:none}
.koan-pieces{height:90px;display:flex;justify-content:center;align-items:flex-end;gap:0}
.pyramid{flex-shrink:1;min-width:0;height:auto;overflow:visible}.pyramid.size-1{width:44px}.pyramid.size-2{width:60px}.pyramid.size-3{width:76px}
.pyramid.red{--piece:#f4564e;--edge:#ffb1a1}.pyramid.green{--piece:#62d577;--edge:#b5ffb0}.pyramid.blue{--piece:#56a9f3;--edge:#afe1ff}
.pyramid-shadow{fill:#0e201f66}.pyramid-faces{fill:var(--piece);stroke:var(--edge);stroke-width:1.3;stroke-linejoin:round}
.pyramid-front{fill-opacity:.83}.pyramid-side{fill-opacity:.5}.pyramid-base{fill-opacity:.25}.pyramid-pips{fill:var(--edge)}
.zendo-reserves{align-items:center}.stone-reserve{display:flex;align-items:center;gap:7px}.guessing-stones{display:flex;flex-wrap:wrap;gap:4px}.guessing-stone{width:12px;height:12px;background:radial-gradient(circle at 35% 28%,#eee1a5,#af9046);border:1px solid #cbb778}
.eleusis-key{display:flex;justify-content:space-between;padding:12px 14px 0;color:#cbd6cb;font-size:.6875rem}
.eleusis-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px;padding:14px}
.card-branch{position:relative;min-width:0}.card-branch:after{content:'→';position:absolute;top:43px;right:-12px;color:#a9b6a9;font-size:.8125rem}.card-branch:last-child:after{display:none}
.card-branch:nth-child(4n):after{content:'↳'}
.card-order{display:block;color:#a9b6a9;font:400 .625rem ui-monospace,SFMono-Regular,Menlo,monospace;margin:0 0 5px}
.playing-card{display:block;width:100%;height:auto;filter:drop-shadow(1px 2px 2px #0c171880);color:#182725}.playing-card.red{color:#bf303d}
.card-face{fill:#faf8ed;stroke:#d6d6c7;stroke-width:1}.playing-card text{fill:currentColor;font-family:Georgia,'Times New Roman',serif;text-anchor:middle}
.card-rank{font-size:15px;font-weight:700}.card-corner-suit{font-size:14px}.card-pip{font-size:23px;dominant-baseline:central}.face-frame{fill:#e9e4d1;stroke:currentColor;stroke-width:1}.face-rank{font-size:19px;font-weight:700}.face-suit{font-size:28px}
.sideline{display:grid;gap:9px;padding-top:18px;position:relative}.sideline:before{content:'';position:absolute;top:0;left:50%;height:16px;border-left:1px dashed #c2a499}
.sideline .card-face{stroke:#ca9c90;stroke-width:2}
@media(min-width:1180px){.zendo-table{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){.zendo-table{padding:8px;gap:7px}.koan-scene{padding:7px 5px 3px}.koan-heading{font-size:.625rem}.koan-pieces{height:76px}.eleusis-table{gap:15px 10px;padding:10px}.card-branch:after{right:-9px}}
/* Zendo shares the chess replay structure, with more room for action text. */
.replay-panel.zendo-replay{container-type:inline-size}
.zendo-replay .replay-body{grid-template-columns:minmax(0,400px) minmax(0,240px);align-items:start}
.zendo-replay .board-column{width:100%;max-width:400px;margin:auto}
.zendo-replay .moves-column{min-width:0;border-top:0;padding-top:0}
.zendo-replay .move-list{height:360px;overflow:auto}
.zendo-replay #board{padding:0;min-height:0;max-height:400px;overflow:auto}
.zendo-replay .last-action{white-space:normal;overflow-wrap:anywhere;line-height:1.55}
.zendo-replay .playback #ply-count{font-size:.6875rem}
#zendo-match-header{padding:0 18px 12px}
.player-stones{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem}
.zendo-spoiler{font-size:.8125rem;color:var(--muted);line-height:1.6}
.zendo-spoiler summary{cursor:pointer;min-height:32px}.zendo-spoiler p{padding-top:8px;color:var(--ink);overflow-wrap:anywhere}.zendo-spoiler code{overflow-wrap:anywhere}
.zendo-replay .zendo-table{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:8px}
.koan-scene.mark-yes{border-color:#71936a;background:#30483d}.koan-scene.mark-no{border-color:#946860;background:#443b36}.koan-scene.mark-pending{border-style:dashed;border-color:#a5a57e}
.koan-scene.koan-highlight{outline:2px solid #f5d58a;outline-offset:2px;box-shadow:0 0 16px #f5d58a30}
.moves-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.moves-heading h3{height:auto;color:var(--ink);font-weight:600}
#zendo-raw-control{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted);min-height:32px;cursor:pointer}#zendo-raw{accent-color:var(--accent)}
.zendo-action{display:flex;align-items:flex-start;gap:12px;width:100%;min-width:0;text-align:left;padding:14px 12px;border-top:1px solid var(--line);border-left:3px solid var(--actor);background:#1b2128;white-space:normal;line-height:1.55}
.zendo-action:hover,.zendo-action:focus-visible{background:#253039}.zendo-action.current{background:#293128;box-shadow:inset 0 0 0 1px #caf48e70}
.action-number{font:400 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);padding-top:4px;min-width:18px}
.action-content{display:grid;gap:8px;min-width:0;flex:1}.action-heading{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.actor-badge{color:var(--actor);font-size:.8125rem;font-weight:650;overflow-wrap:anywhere}.verb-chip{border:1px solid #53606c;border-radius:4px;padding:1px 7px;color:#d4dde6;font-size:.6875rem}
.action-detail{font-size:.875rem;overflow-wrap:anywhere}.action-verdict{font-size:.75rem;color:#b8dba9;overflow-wrap:anywhere}.action-verdict.incorrect{color:#e9b5ac}
.action-pyramids{display:flex;align-items:flex-end;gap:6px}.action-pyramids .pyramid{width:30px}.action-pyramids .pyramid.size-2{width:40px}.action-pyramids .pyramid.size-3{width:50px}
.action-raw{font:400 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}
.zendo-replay .competition-chart{border-left:0;border-top:1px solid var(--line);padding:16px 18px}.zendo-replay .competition-chart .panel-heading{display:none}
.zendo-replay #rating-chart{padding:0}.zendo-replay #rating-chart svg{height:auto;min-height:0}.score-chart-title{color:var(--ink);font-weight:600;margin-bottom:14px}
.zendo-replay .competition-chart #rating-chart text{font-size:12px}.zendo-replay .competition-chart #rating-chart .score-endpoint{font-size:14px}
@container(max-width:640px){.zendo-replay .replay-body{grid-template-columns:1fr}.zendo-replay .moves-column{border-top:1px solid var(--line);padding-top:12px}.zendo-replay .move-list{height:180px}}
@media(max-width:600px){#zendo-match-header{padding:0 12px 12px}.zendo-action{padding:12px 8px;gap:7px}.zendo-replay .competition-chart{padding:16px 12px}.zendo-replay .zendo-spoiler summary{min-height:44px}}
.learning-panel{margin-bottom:24px;padding:22px}.learning-panel .panel-note{line-height:1.6;margin:10px 0 18px}.learning-chart{max-width:820px;margin:0 auto}.learning-chart svg{display:block;width:100%;height:auto}.learning-panel .elo-help{margin-top:20px}.learning-panel .chart-legend{margin:12px 0 20px}@media(max-width:600px){.learning-panel{padding:14px}.section-tabs{flex-wrap:wrap}.learning-panel .table-wrap{overflow-x:auto}.learning-panel table{min-width:610px}}
.learning-chart .empty{min-height:160px;height:auto;margin:0 0 18px;padding:30px 16px}.learning-panel .panel-heading{padding:0 0 6px}.learning-panel .panel-note{padding:0}.learning-panel td.number{font-size:1rem;letter-spacing:0}.learning-panel .chart-legend{flex-wrap:wrap;padding:0}.learning-panel .elo-help .elo-notes{position:static;width:auto;margin-top:12px;box-shadow:none}.learning-panel .elo-notes p+p{margin-top:12px}
.row-interval{display:inline-flex;align-items:center;gap:10px}.row-interval svg{display:block;width:240px;height:24px;color:#7476cc}

/* Round trends sit below the replay, with identical values visible in both colors. */
.replay-panel .competition-chart{border-left:0}
.replay-panel .competition-chart .chart-legend{justify-content:center}
.metric-heading{font-size:.9375rem;font-weight:500;letter-spacing:-.015em;align-items:center}
.metric-heading h2{font:inherit}
.metric-picker{position:relative}
.metric-heading .metric-select{display:flex;align-items:center;gap:12px;font:inherit;color:var(--ink);background:#202832;border:1px solid #3c4652;border-radius:6px;padding:6px 10px;min-height:34px}
.metric-select:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.metric-select[aria-expanded=true]:after{transform:translateY(2px) rotate(225deg)}
.metric-options{position:absolute;top:calc(100% + 7px);left:0;z-index:10;width:190px;padding:6px;background:#222a33;border:1px solid #46515f;border-radius:10px;box-shadow:0 10px 24px #0005}
.metric-options button{display:block;width:100%;padding:10px 12px;border-radius:6px;text-align:left;font-size:.875rem;font-weight:500}
.metric-options button:hover,.metric-options button:focus-visible{background:#303a45}
.metric-options button[aria-selected=true]{background:#33452b;color:var(--accent)}
.metric-options button[aria-selected=true]:after{content:"✓";float:right}
.replay-panel .seat-disc{width:34px;height:34px;border-width:2px;box-shadow:0 2px 5px #0003}
.replay-panel .player-strip{gap:14px;padding-top:13px;padding-bottom:13px}
.winner-star{font-size:1rem;margin-left:5px}
.replay-panel .square .piece{display:block;width:86%;height:86%;font-size:inherit;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 1px 1px #0002)}
.piece.white{fill:#fafcf9;stroke:#23332c;color:#23332c}
.piece.black{fill:#192e24;stroke:#0d1c15;color:#dce4e7}

.chart-hover{cursor:crosshair;outline:none}
.playback button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}
.playback-icon{display:block;width:18px;height:18px;flex-shrink:0}
.chart-guide{opacity:0}.chart-hover:hover .chart-guide,.chart-hover:focus-visible .chart-guide{opacity:.65}
.chart-tooltip{position:fixed;z-index:100;max-width:min(440px,calc(100vw - 16px));padding:12px 14px;border:1px solid #65734e;border-radius:8px;background:#202832;box-shadow:0 8px 24px #0006;color:var(--ink);font-size:.8125rem;line-height:1.65;white-space:pre-line;pointer-events:none;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.learning-panel .uncertain{color:#7d8794!important}.learning-panel td.number small{font-size:.6875rem;white-space:nowrap}.learning-panel td.wdl,.learning-panel th{white-space:nowrap}.learning-panel td,.learning-panel th{padding-left:12px;padding-right:12px}.learning-panel .row-interval svg{width:180px}
.learning-panel .row-interval small{font:400 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);white-space:nowrap}
.learning-panel td.zero-line{background:repeating-linear-gradient(to bottom,#a1acbc 0 2px,transparent 2px 5px) no-repeat right calc(12px + 90px - .5px) top 0/1px 100%}
