.board-track select{min-width:0;width:100%;border:1px solid #6bd5ff65;border-radius:12px;background:#081124;color:#f7fbff;padding:12px;font:inherit;font-size:16px}.board-track{display:flex;align-items:center;gap:12px;margin:16px 0;color:#acbad3;font-size:14px}.board-track select{width:auto;flex:1}.leaderboard-status{min-height:22px;font-size:14px;color:#adbed7;line-height:1.5}.rank.you{border:1px solid #50e8ee88;background:#12304080}.rank span{min-width:0;overflow-wrap:anywhere}.rank small{display:block;font-size:12px;color:#a8b6cf;letter-spacing:.4px}.board-empty{padding:22px 12px;color:#a8b6cf;text-align:center;font-size:16px;line-height:1.6}.board-yours{margin-top:16px}.board-refresh{width:100%;margin:16px 0 0;padding:10px 24px;font-size:14px}.result-ranking{font-size:14px;color:#9cebf0;line-height:1.5;margin:16px 0 10px}.result-board-link{display:inline-block;margin:20px 0 28px;color:#70efff;font-size:14px;font-weight:800;letter-spacing:.7px}.board-table .rank{font-size:16px}@media(max-width:380px){.board-table .rank{font-size:14px}}

.result-board-link[hidden],.board-track[hidden]{display:none}

.board-yours .rank:first-child{color:#b9c9df}

.board-yours[hidden]{display:none}.score-sync-status:empty{display:none}

#leaderboard .guide-title{margin:0}
#board-status{text-align:center}

.archive-columns,#archive .row{grid-template-columns:minmax(36px,.65fr) minmax(0,1.3fr) minmax(0,1fr) minmax(64px,.9fr);gap:8px;padding-right:10px;padding-left:10px}
.archive-columns{display:grid;gap:8px;align-items:center;padding:8px 12px;margin:0 0 4px;border:1px solid transparent;color:#9daed0;font-size:12px;font-weight:800;line-height:1.4}
#archive .row .best{font-size:15px;font-variant-numeric:tabular-nums}
#archive .archive-play{width:100%}

/* Share spare width across all columns while keeping IDs readable on small screens. */
.board-table{--rank-column:34px;--badges-column:52px;--score-column:74px;--board-gap:8px;--board-padding:8px}
.board-table .rank,.board-columns{display:grid;grid-template-columns:minmax(var(--rank-column),.7fr) minmax(0,1.6fr) minmax(var(--badges-column),1fr) minmax(var(--score-column),1fr);gap:var(--board-gap);align-items:center;padding:11px var(--board-padding);border:1px solid transparent}
.board-table .rank{border-bottom-color:#ffffff14;font-variant-numeric:tabular-nums}
.board-table .rank.you{border-color:#50e8ee88}
.board-columns{padding-top:8px;padding-bottom:8px;color:#9daed0;font-size:12px;font-weight:800;line-height:1.4}
/* IDs share a left edge; badge totals are centered below their heading. */
.board-columns> :nth-child(2),.board-table .rank> :nth-child(2){width:100%;justify-self:start;text-align:left}
.board-columns> :nth-child(3){text-align:center}
.board-table .rank-badge-cell{display:flex;justify-content:center;align-items:center;min-width:0}
.board-columns> :last-child,.board-table .rank> :last-child{text-align:right;overflow-wrap:anywhere}
@media(max-width:380px){.board-table{--rank-column:26px;--badges-column:44px;--score-column:60px;--board-gap:4px;--board-padding:4px}.board-columns{font-size:11px}}

.board-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.board-actions .action{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;margin:0;padding:12px 8px;font-size:14px;line-height:1.3;text-align:center;text-decoration:none}
.board-play:focus-visible{outline:3px solid #fff;outline-offset:4px}

#archive .archive-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#archive .archive-tools .pill{width:100%;min-height:44px;font-size:12px}
#archive .archive-list{max-height:none;overflow:visible;padding-right:0}
.archive-columns> :nth-child(2),.archive-columns> :nth-child(3),#archive .row .best,#archive .global-rank{text-align:center}
#archive .row .best,#archive .global-rank{min-width:0;font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#archive .global-rank{color:#70efff;font-weight:800}
.archive-play{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 5px;border:1px solid #d9f4ff;border-radius:12px;background:var(--thread-blue-gradient);box-shadow:0 4px 0 #304f8f;color:#07142c;text-decoration:none;font-size:11px;font-weight:900}
.archive-play:focus-visible{outline:3px solid #fff;outline-offset:3px}
.archive-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:20px}
.archive-pagination .pill{min-height:42px;font-size:11px}
.archive-pagination .pill:disabled{opacity:.4;box-shadow:none;cursor:default}
#archive-page{color:#a9bedc;font-size:12px;white-space:nowrap}
@media(max-width:380px){.archive-columns,#archive .row{gap:5px;padding-left:8px;padding-right:8px}.archive-columns{font-size:11px}#archive .row .best,#archive .global-rank{font-size:12px}}

/* One decorative flag for every action that starts or replays a run. */
#play,#again,#play-daily,#play-generated,#board-play,.archive-play{display:inline-flex;align-items:center;justify-content:center;column-gap:.4em}
#play::before,#again::before,#play-daily::before,#play-generated::before,#board-play::before,.archive-play::before{content:"";display:block;flex:0 0 1.1em;width:1.1em;height:1.1em;background:url("play-flag.svg") center/contain no-repeat}
.archive-play{padding-right:3px;padding-left:3px;column-gap:3px}

/* Earned badges travel with the player, independent of the selected track. */
.board-table .rank-player{display:flex;align-items:center;gap:6px}
.board-table .rank-id{min-width:0;overflow-wrap:anywhere;line-height:1.4;font-size:14px}
@media(max-width:380px){.board-table .rank-id{font-size:12px}}
.board-table .rank-badges{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;padding:3px 5px;border:1px solid #f9d36a75;border-radius:8px;background:linear-gradient(145deg,#4b371a,#20180e);color:#ffe697;font-size:13px;font-weight:900;line-height:1.2;white-space:nowrap;overflow-wrap:normal}
.rank-badges::before{content:"";width:15px;height:18px;flex:0 0 15px;background:url("badge-count.svg") center/contain no-repeat}
.board-table .rank-badges.pending{color:#aeb8c8;border-color:#76839b55;background:#131a28}
@media(max-width:380px){.board-table .rank-player{gap:4px}.board-table .rank-badges{padding:3px;font-size:12px}}
