.legend-match-styles{color:#adbed0;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.broadcast-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.broadcast-toolbar>strong{flex:1;text-align:center}.broadcast-set-picker{display:flex;align-items:center;gap:8px;color:#d6c49f;font-size:12px;white-space:nowrap}.broadcast-set-picker select{width:min(260px,30vw);min-width:165px;height:42px;margin:0;padding:0 32px 0 12px;border:1px solid #8f774d;border-radius:8px;background:linear-gradient(135deg,#1c2b3e,#121e2d);color:#f2dfb4;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.broadcast-set-picker select:focus-visible{outline:2px solid #e3c582;outline-offset:2px}
.broadcast-sound{min-height:42px;white-space:nowrap;border-color:#58735e;color:#ccebd0}.broadcast-sound.is-muted{border-color:#536176;color:#a7b2c1;background:#172231}
.broadcast-dialog{width:min(1320px,96vw);max-width:1320px;max-height:94svh;overflow:auto;padding:22px}
.broadcast-focus{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--cw-broadcast-aside,320px));gap:24px;align-items:start}.broadcast-focus.broadcast-aside-hidden{grid-template-columns:minmax(0,1fr)}.broadcast-focus.broadcast-aside-hidden>aside{display:none}
.broadcast-focus>section{min-width:0}
.broadcast-board-viewport{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#536982 transparent}
.broadcast-focus #broadcastBoard{width:min(var(--cw-board-size,640px),100%);max-width:none;margin:12px auto}
.broadcast-focus aside{display:flex;flex-direction:column;min-width:0;min-height:0}
.broadcast-moves{max-height:min(62svh,680px);overflow:auto;overscroll-behavior:contain}
@media(min-width:751px){body[data-page="play"] .workspace,body.game-started[data-page="play"] .workspace,body[data-page="analysis"] .workspace,body[data-page="puzzles"] .workspace{grid-template-columns:minmax(280px,var(--cw-board-size,640px)) minmax(240px,310px);justify-content:center}body[data-page="analysis"] .workspace .left-panel{grid-column:1/-1}body[data-page="analysis"] .workspace .board-column{grid-column:1}body[data-page="analysis"] .workspace .right-panel{grid-column:2}body[data-page="puzzles"] .workspace .left-panel{grid-column:1/-1}.board-column{min-width:0}}
@media(max-width:900px){.broadcast-page{grid-template-columns:210px minmax(0,1fr)}#eventTeasers{grid-template-columns:1fr 1fr}#eventTeasers>a:nth-child(3){display:none}.header nav{gap:12px}.broadcast-focus{grid-template-columns:minmax(0,1fr) 230px;gap:15px}}
@media(max-width:750px){.events-rail{display:block;padding:16px;margin-bottom:16px}#eventTeasers{margin-top:14px;gap:12px}.broadcast-page{display:block}.broadcast-page>aside{margin-bottom:22px}#broadcastEvents{max-height:230px;grid-template-columns:repeat(2,minmax(0,1fr))}.broadcast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.broadcast-card{padding:8px;gap:8px}.broadcast-card strong{font-size:13px}.broadcast-dialog{width:calc(100vw - 16px);max-width:none;max-height:96svh;overflow:auto;padding:8px}.broadcast-toolbar{flex-wrap:wrap;gap:8px}.broadcast-toolbar strong{order:3;width:100%;font-size:16px}.broadcast-set-picker{flex:1;min-width:0}.broadcast-set-picker select{width:100%;min-width:0}.broadcast-focus{display:block}.broadcast-board-viewport{width:100%;margin-inline:auto}.broadcast-focus aside{margin-top:18px}.broadcast-moves{max-height:160px}.broadcast-transport button{padding:10px;font-size:14px}.board-column{width:min(100%,var(--cw-board-size,640px));align-self:center;box-sizing:border-box}.board-size-control{gap:8px}.board-size-control label{font-size:13px}}

/* Puzzle controls stay beside the board on desktop and dock after a solution on mobile. */
@media(min-width:751px){.puzzle-active:not(.legacy-puzzle) .workspace{grid-template-columns:minmax(280px,min(var(--cw-board-size,640px),72svh)) minmax(240px,310px);gap:22px;justify-content:center}.puzzle-active:not(.legacy-puzzle) .left-panel{display:none!important}.puzzle-active:not(.legacy-puzzle) .board-column{grid-column:1;grid-row:1}.puzzle-active:not(.legacy-puzzle) .right-panel{grid-column:2;grid-row:1;display:block;align-self:start}.puzzle-active:not(.legacy-puzzle) #worldPuzzleControls{position:sticky;top:12px}.puzzle-active.legacy-puzzle .legacy-next-puzzle{margin:12px 0}}
@media(max-width:750px){.puzzle-active:not(.legacy-puzzle) .workspace{display:flex;flex-direction:column;gap:16px}.puzzle-active:not(.legacy-puzzle) .left-panel{display:none!important}.puzzle-active .legacy-next-puzzle[hidden]{display:none}.puzzle-active.puzzle-solved #worldNext,.puzzle-active.legacy-puzzle.puzzle-solved #nextPuzzle{position:fixed;z-index:40;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;margin:0;box-shadow:0 8px 30px #000b;border:1px solid #e3c582;padding:16px}.puzzle-active.puzzle-solved main{padding-bottom:90px}}
.legend-event-event{border-color:#9b7a45;background:linear-gradient(120deg,#27364a,#1d2b3a 62%,#382e27)}.legend-event-event strong{color:#f4dbab}.legend-event-standings{display:grid;gap:10px;margin:10px 0 20px;padding:14px 16px;background:#101d2d;border:1px solid #354b63;border-radius:10px}.legend-event-standings>p{margin:0}.legend-event-roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.legend-event-roster span{padding:8px 10px;border-radius:6px;background:#192b40;color:#dce5ef;font-size:13px}.legend-event-standings[hidden]{display:none}@media(max-width:750px){.legend-event-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
.legend-home-caption{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:12px 0 0;padding:13px 15px;border:1px solid #a7874b66;border-radius:10px;background:linear-gradient(110deg,#15283b,#111a28 70%,#252019);box-shadow:0 8px 24px #0003}.legend-home-caption[hidden]{display:none}.legend-home-live-label{font-size:11px;font-weight:750;letter-spacing:1.2px;color:#e2bd78}.legend-home-live-label:first-letter{color:#fa6b55}.legend-home-players{font:clamp(17px,2vw,23px)/1.25 Georgia,serif;color:#f5e7ca}.legend-home-meta,.legend-home-clocks{font-size:12px;color:#bac8d7}.legend-home-link{margin-top:2px;color:#f0ca7e;font-size:12px;text-decoration:none}.legend-home-link:hover{text-decoration:underline}.legend-home-countdown{font:18px Georgia,serif;color:#f1d293}@media(max-width:750px){.legend-home-caption{margin-top:9px;padding:11px 12px}.legend-home-players{font-size:18px}.legend-home-meta,.legend-home-clocks{font-size:11px}}
.legend-home-caption .legend-home-sound{min-height:36px;padding:4px 9px;color:#e3d5bb;border:1px solid #8a785666;border-radius:7px;font-size:12px}.legend-home-caption .legend-home-sound:hover{border-color:#cbb077}
.world-home>.events-rail{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,2.6fr);align-items:center;gap:18px;min-width:0;margin:0 0 2px;padding:14px 18px;border:1px solid #5b739033;border-radius:12px;background:linear-gradient(105deg,#132338e8,#111c2bdc 58%,#18283a);box-shadow:0 10px 32px #0002}.events-rail>div:first-child{display:grid;gap:5px;min-width:0}.events-rail>div:first-child a{color:#e9d1a0}.events-rail>div:first-child strong{font-size:14px;letter-spacing:.2px}.events-rail>div:first-child>span{font-size:12px;color:#98abc1;line-height:1.45}#eventTeasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-width:0}#eventTeasers>.event-teaser{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:9px 12px;border:1px solid #344a64;border-radius:8px;background:#0e1928a8;color:#e5edf7;text-decoration:none;transition:border-color .16s,background .16s}#eventTeasers>.event-teaser:hover{border-color:#b9985f;background:#1a2b3e}#eventTeasers>.event-teaser small{font-size:10px;line-height:1.35;letter-spacing:.5px;color:#d7b876}#eventTeasers>.event-teaser span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;color:#dce5f0}#eventTeasers>button{justify-self:start;align-self:center;border:1px solid #40536b;border-radius:6px;background:#18273a;color:#e0c486;padding:8px 12px}@media(max-width:900px){.world-home>.events-rail{grid-template-columns:minmax(150px,.75fr) minmax(0,2fr);gap:12px;padding:12px}#eventTeasers{grid-template-columns:repeat(2,minmax(0,1fr))}#eventTeasers>.event-teaser:nth-child(3){display:none}}@media(max-width:750px){.world-home>.events-rail{display:block;padding:15px;margin:0 0 2px}#eventTeasers{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;gap:8px}#eventTeasers>.event-teaser{min-height:54px;padding:9px}#eventTeasers>.event-teaser small{font-size:9px}#eventTeasers>.event-teaser span{font-size:11px}}
.broadcast-page{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);align-items:start;gap:28px;margin:10px auto 42px;min-width:0}.broadcast-page>aside,.broadcast-page>section{min-width:0}.broadcast-page>aside{position:sticky;top:18px;padding:17px;border:1px solid #2e4057;border-radius:12px;background:linear-gradient(155deg,#142236,#101a28);box-shadow:0 14px 36px #0002}.broadcast-page>aside .section-heading{margin:0 0 14px}.broadcast-page>aside .section-heading h2{margin:0;font-size:18px}.broadcast-page>aside>a{display:inline-block;margin-top:12px;font-size:12px}.broadcast-page>section{padding:4px 0}.broadcast-page>section>h2{margin:0 0 8px;font:28px/1.3 Georgia,serif;color:#f0dfbe}.broadcast-page>section>#broadcastInfo{margin:0 0 16px}.broadcast-event{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;width:100%;min-width:0;margin:0 0 8px;padding:12px 13px;border:1px solid #30435a;border-radius:8px;background:linear-gradient(120deg,#17263a,#131f2e);color:#e7edf5;text-align:left;line-height:1.4}.broadcast-event:hover{border-color:#a88b58;background:linear-gradient(120deg,#20334a,#192739)}.broadcast-event small{font-size:10px;line-height:1.35;color:#9eafc3}.broadcast-event strong{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.45;color:#e5ecf4}.broadcast-event .subtle{font-size:11px;line-height:1.4;color:#a8b6c7}.legend-event-event{border-color:#9b7a45;background:linear-gradient(120deg,#27364a,#1d2b3a 62%,#382e27)}.legend-event-event strong{color:#f4dbab}#broadcastEvents{display:grid;gap:0;max-height:calc(100svh - 285px);min-height:180px;overflow:auto;align-content:start;padding-right:4px;scrollbar-width:thin;scrollbar-color:#485b72 transparent}#broadcastEvents:empty{min-height:0}#broadcastEvents>.broadcast-event:last-child{margin-bottom:0}.broadcast-controls{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.4fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid #26384e;border-radius:9px;background:#101a28}.broadcast-controls label{display:grid;gap:6px;margin:0;color:#9fb0c5;font-size:12px}.broadcast-controls select,.broadcast-controls input{height:42px;margin:0}.broadcast-controls button{height:42px;white-space:nowrap}#broadcastStatus{min-height:20px;margin:11px 2px;color:#8fa4bd;font-size:12px}#broadcastGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));align-items:start;gap:13px;margin-top:14px}.broadcast-card{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0;padding:11px;border:1px solid #2d4057;border-radius:10px;background:linear-gradient(145deg,#162437,#111a27);color:#e5edf6;text-align:left;box-shadow:0 8px 22px #0002}.broadcast-card:not(:disabled):hover{border-color:#a88d5e;transform:translateY(-2px)}.broadcast-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.broadcast-card .preview-board{width:100%;aspect-ratio:1;border:3px solid #2d3d52;border-radius:4px;box-shadow:0 5px 16px #0005}.broadcast-card .subtle{font-size:11px;line-height:1.35;color:#9cacc0}.broadcast-card .legend-match-styles{font-size:10px}#legendEventStandings{margin-top:12px}.broadcast-page [hidden]{display:none!important}@media(max-width:900px){.broadcast-page{grid-template-columns:minmax(195px,220px) minmax(0,1fr);gap:18px}.broadcast-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:10px;border-radius:0;overflow:auto}.broadcast-focus{grid-template-columns:minmax(0,1fr) minmax(0,var(--cw-broadcast-aside,230px));gap:15px}.broadcast-controls{grid-template-columns:minmax(100px,.7fr) minmax(150px,1.3fr)}.broadcast-controls button{grid-column:1/-1;width:100%}#broadcastGrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,165px),1fr));gap:10px}}@media(max-width:750px){.broadcast-page{display:block;margin-top:0}.broadcast-page>aside{position:static;margin:0 0 18px;padding:13px}.broadcast-page>aside .section-heading{align-items:center}.broadcast-page>aside>a{margin-top:9px}#broadcastEvents{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:240px;min-height:0;padding:0}.broadcast-event{margin:0;padding:9px}.broadcast-event strong{font-size:11px}.broadcast-event small,.broadcast-event .subtle{font-size:9px}.broadcast-page>section>h2{font-size:24px}.broadcast-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;padding:11px}.broadcast-controls button{grid-column:1/-1}.broadcast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.broadcast-card{padding:8px;gap:7px}.broadcast-card strong{font-size:11px}.broadcast-card .subtle{font-size:10px}}

/* Large board zoom uses the full viewport, and move navigation stays thumb-friendly. */
.broadcast-dialog.broadcast-zoomed{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:12px;border:0;border-radius:0;overflow:auto}
.broadcast-transport{display:grid;grid-template-columns:minmax(48px,60px) minmax(48px,60px) minmax(120px,1fr) minmax(48px,60px) minmax(48px,60px);grid-template-areas:"first prev live next last";gap:8px;margin-top:auto;padding-top:12px}
.broadcast-transport button{display:grid;place-items:center;width:100%;min-width:48px;min-height:56px;padding:10px;border:1px solid #40536b;border-radius:8px;background:#18273a;color:#e3ebf4;font-size:24px;font-weight:650;line-height:1}
.broadcast-transport button:disabled{opacity:.4}
.broadcast-transport #broadcastFirst{grid-area:first}
.broadcast-transport #broadcastPrev{grid-area:prev}
.broadcast-transport #broadcastNext{grid-area:next}
.broadcast-transport #broadcastLast{grid-area:last}
.broadcast-transport #broadcastLive{grid-area:live;min-height:56px;padding:8px 10px;font-size:14px;font-weight:600;white-space:nowrap}
@media(max-width:520px){.broadcast-dialog.broadcast-zoomed{padding:8px}.broadcast-transport{grid-template-columns:44px 44px minmax(90px,1fr) 44px 44px;gap:5px}.broadcast-transport button{min-height:54px;padding:6px;font-size:23px}.broadcast-transport #broadcastLive{font-size:12px}}

/* Inline Stockfish analysis in the broadcast viewer. */
.broadcast-dialog [hidden]{display:none!important}
.broadcast-engine-toggle{display:flex;align-items:center;gap:11px;margin:14px 0 10px;padding:12px;border:1px solid #526a85;border-radius:10px;background:linear-gradient(135deg,#1b3047,#142438);cursor:pointer}
.broadcast-engine-toggle input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#dfb967}
.broadcast-engine-toggle span{display:grid;gap:3px;min-width:0}
.broadcast-engine-toggle strong{color:#f0d49b;font-size:14px}
.broadcast-engine-toggle small{color:#aebed0;font-size:11px;line-height:1.35}
.broadcast-engine-panel{max-height:270px;overflow:auto;margin:0 0 14px;padding:11px;border:1px solid #354d68;border-radius:9px;background:#0e1a29}
.broadcast-engine-panel>p{margin:0 0 8px;font-size:11px;line-height:1.45}
.broadcast-engine-panel ol{display:grid;gap:7px;margin:0;padding:0;list-style:none;counter-reset:engine-line}
.broadcast-engine-panel li{display:grid;gap:4px;padding:8px 9px;border-radius:7px;background:#18283b;color:#ced9e6;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.broadcast-engine-panel li strong{color:#e7c781;font-size:11px}
.broadcast-focus #broadcastBoard{position:relative;isolation:isolate}
.broadcast-engine-arrows{position:absolute;inset:0;z-index:8;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 2px 3px #000b)}
.broadcast-engine-arrows path{vector-effect:non-scaling-stroke}
.broadcast-dialog #broadcastBoard .preview-cell{cursor:default}
.broadcast-dialog:has(#broadcastEngineEnabled:checked) #broadcastBoard .preview-cell{cursor:pointer}
.broadcast-dialog #broadcastBoard .preview-cell.broadcast-selected{box-shadow:inset 0 0 0 4px #66dfc8,0 0 12px #48cfb599}
.broadcast-dialog #broadcastBoard .preview-cell.broadcast-legal::after{content:'';position:absolute;inset:37%;border-radius:50%;background:#5ddac6a6;pointer-events:none;z-index:5}
.broadcast-dialog #broadcastBoard .preview-cell.broadcast-legal:has(img)::after{inset:6%;border:4px solid #5ddac6b8;background:transparent}
.broadcast-variation{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0;padding:10px;border:1px solid #4c927e;border-radius:8px;background:#102b2e;color:#d9f9ec}
.broadcast-variation[hidden]{display:none}.broadcast-variation strong{width:100%;font-size:13px}.broadcast-variation button{min-height:38px;padding:6px 10px}.broadcast-variation button.active{border-color:#62e7cb;color:#d9fff3}
.broadcast-focus>section>.broadcast-variation{width:100%;box-sizing:border-box;max-height:180px;overflow-y:auto;scrollbar-width:thin}
.broadcast-variation .broadcast-saved-label{margin-top:6px;color:#a7d4c9}
.broadcast-variation .broadcast-saved-branch{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:750px){.broadcast-engine-toggle{padding:11px}.broadcast-engine-panel{max-height:220px}.broadcast-engine-panel li{font-size:12px}.broadcast-engine-panel li strong{font-size:12px}}
.broadcast-flip{width:100%;min-height:44px;margin:10px 0 4px;border-color:#665b47;background:linear-gradient(180deg,#24384d,#18283b);color:#f2d394;font-weight:650}

/* Dock move controls beside the board; keep the board flip centered directly beneath. */
.broadcast-focus>section>.broadcast-transport{width:min(100%,480px);margin:8px auto 0;padding-top:0}
.broadcast-focus>section>.broadcast-flip{display:block;width:min(100%,280px);margin:8px auto 0}
@media(max-width:750px){.broadcast-focus>section>.broadcast-transport{width:100%;margin-top:7px}.broadcast-focus>section>.broadcast-flip{width:min(100%,280px);margin-top:7px}}

.broadcast-piece-quick{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;width:min(100%,var(--cw-board-size,640px));margin:7px auto 0;color:#aebed0;font-size:12px}
.broadcast-piece-quick button{min-height:40px;padding:7px 12px;border:1px solid #40536b;border-radius:8px;background:#17263a;color:#d9e5ef;font-size:12px;font-weight:650;cursor:pointer}
.broadcast-piece-quick button.active,.broadcast-piece-quick button[aria-pressed="true"]{border-color:#b994ba;background:linear-gradient(135deg,#472839,#183f3c);color:#fff;box-shadow:inset 0 0 0 1px #e8a2b652}
.broadcast-piece-quick button:focus-visible{outline:2px solid #ffc2d2;outline-offset:2px}
.broadcast-piece-quick .broadcast-set-picker{min-width:160px}
.broadcast-piece-quick .broadcast-set-picker select{min-width:0;width:min(190px,22vw)}
@media(max-width:750px){.broadcast-piece-quick .broadcast-set-picker{flex:1 0 100%;justify-content:center}.broadcast-piece-quick .broadcast-set-picker select{width:min(100%,260px)}}
@media(max-width:520px){.broadcast-piece-quick{justify-content:flex-start}.broadcast-piece-quick span{width:100%}.broadcast-piece-quick button{flex:1;min-height:44px;padding:6px;font-size:11px}}

.broadcast-explore-board{display:block;width:min(100%,480px);min-height:46px;margin:8px auto 0}.broadcast-explore-board[hidden]{display:none}

.broadcast-engine-panel li button{justify-self:start;min-height:38px;padding:7px 12px;font-size:14px;color:#eed3a4;border:1px solid #627997;border-radius:7px}.broadcast-engine-panel li button:hover{border-color:#d6b879;background:#29405b}
