/* Keep the board in the first viewport; journey notes flow below it. */
body:has(.overlay:not(.hidden)){overflow:hidden}
.topbar{height:64px}.race-hero:not(.compact){padding:18px 16px 24px}.race-hero:not(.compact) .hero-coin{width:70px;height:70px;font-size:48px;margin-bottom:12px}.race-hero:not(.compact) .btc-equation{font-size:clamp(40px,4vw,62px);margin:8px 0 14px}.race-hero:not(.compact) h1{font-size:36px;margin:8px 0 12px}.race-hero:not(.compact)>p{font-size:17px;line-height:1.7}.race-hero:not(.compact) .mode-selection{margin:20px auto 12px}.race-hero:not(.compact) .mode-card{padding:20px}.race-hero:not(.compact) .mode-card b{font-size:24px}.race-hero:not(.compact) .mode-card span{font-size:14px}.race-hero:not(.compact) .home-resume{margin-top:18px}
.journey-notes{margin-top:14px}.journey-notes .table-bottom{margin-top:0}.journey-notes .log-list{max-height:none;overflow:visible}
.modal{max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8f966c #233126}
.result-layout{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.4fr);gap:28px;align-items:center}.result-overview{text-align:center}.result-overview .winner-coin{width:76px;height:76px;font-size:50px;margin:0 auto 16px}.result-overview h2{font-size:27px;line-height:1.45;margin:10px 0}.result-overview p{font-size:15px;margin:8px 0}.result-overview .winner-amount{font-size:32px;margin:12px 0}.result-overview .winner-amount small{font-size:16px}.result-ranking .result-table{margin:0;font-size:15px}.result-ranking .result-table th{font-size:13px}.result-ranking .result-table td{padding:10px 8px}.result-ranking .result-career{font-size:12px;margin-top:3px}.result-details{margin-top:16px;color:#c1d0b5;font-size:14px}.result-details>summary{cursor:pointer;padding:9px 0}.result-details .lesson{margin:8px 0}.results-modal{width:960px!important;padding:26px}.results-modal>.modal-actions{margin-top:16px}.results-modal>.hint{margin:14px 0 0}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:15px 0}.receipt-grid span{display:block;font-size:14px;color:#b7c7ae}.receipt-grid b{font-size:30px;display:block;margin-top:5px}.life-receipt{padding:18px;background:#14271d;border:1px solid #66784f;border-radius:10px}.life-receipt p{font-size:15px;margin:9px 0}.life-receipt small{font-size:13px;color:#afc4a6}.receipt-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.receipt-footer>span{font-size:14px;color:#bcccb2}.life-result-modal h2{font-size:28px;margin:12px 0}.life-result-modal>p{font-size:16px}.life-result-modal{width:620px;padding:26px}
@media(min-width:901px) and (min-height:620px){
 body:has(.game-table) .topbar{height:58px;max-width:none;padding:0 22px}
 body:has(.game-table) main{max-width:1840px;padding:8px 20px}
 .game-stage{height:calc(100dvh - 110px);display:flex;flex-direction:column;gap:8px}
 body:has(.game-table) footer{display:none}
 .game-stage>.intro{flex:0 0 auto;margin:0;min-height:44px;align-items:center}.intro .eyebrow{display:none}.intro h1{font-size:26px;margin:0;line-height:1.3}.round-chip{padding:3px 12px;font-size:12px}.round-chip strong{font-size:24px}.round-chip .race-label{display:inline;margin-left:10px;font-size:12px}
 .game-table{flex:1 1 0;min-height:0;--table-height:100%;gap:14px;align-items:stretch;grid-template-columns:minmax(205px,1fr) minmax(490px,3.1fr) minmax(205px,1fr)}
 .table-board,.player-rail{height:100%;min-height:0}.table-board{padding:11px;row-gap:6px}.table-board.has-departure{row-gap:6px}.table-board .panel-top{font-size:13px;line-height:1.3}.board-count{font-size:12px}.table-board .board-foot{font-size:10px;line-height:1.2;white-space:nowrap}.table-board .board-foot>span:empty{display:none}
 .table-board.has-departure .departure-dock{min-height:42px;padding:3px 9px}.departure-slot{height:34px}.departure-copy small{font-size:10px;margin-top:2px}.departure-copy strong{font-size:12px}.departure-copy strong span{font-size:10px}.departure-slots{gap:7px}
 .player-rail{gap:8px}.seat-card:has(.seat-race-row){padding:8px 11px;gap:4px}.seat-card:has(.seat-race-row) .seat-header{padding-bottom:4px}.seat-header .avatar{width:28px;height:28px}.seat-header .avatar svg{height:35px}.seat-name strong{font-size:17px}.seat-card .seat-header .seat-name small{font-size:10px;line-height:1.3;margin-top:2px}.seat-finances strong{font-size:19px}.seat-finances .seat-bitcoin strong{font-size:clamp(14px,1.1vw,20px)}.seat-finances span{font-size:11px;margin-bottom:3px}.seat-card:has(.seat-race-row) .seat-finances{row-gap:6px}.seat-ledger,.seat-ledger b{font-size:11px}.seat-card:has(.seat-race-row) .seat-ledger{padding:4px;gap:3px 8px}.seat-ledger span{display:flex;flex-wrap:nowrap;justify-content:space-between}.seat-race-progress{font-size:11px;line-height:1.2}.btc-progress{height:5px}.seat-race-row .btc-progress{margin-top:0}
 .market-center{padding:4px 8px;margin:4px}.market-center .center-orbit{width:42px;height:42px;margin-bottom:2px}.market-center .big-coin{width:37px;height:37px;font-size:25px;border-width:3px}.market-center .race-goal{font-size:20px;line-height:1.2}.race-goal small{font-size:12px}.center-price-label{font-size:12px;line-height:1.4}.center-price{font-size:34px;line-height:1.2;margin:2px 0}.center-change{font-size:12px;line-height:1.3;margin-top:1px}.center-change span{font-size:10px;display:inline}.center-chart{margin-top:2px}.center-chart .spark{height:24px}.price-history-link{padding:3px;font-size:11px}.price-stages{padding:1px 0 3px}.price-stage{padding:3px 7px}.price-stage strong{font-size:12px;margin-top:1px}
 .market-center .turn-bar{padding:5px 8px;margin-top:5px}.market-center .turn-bar strong{font-size:15px}.market-center .turn-bar small{font-size:11px;line-height:1.3;margin-top:2px}.turn-bar .dice{width:29px;height:29px;padding:5px;gap:3px}.dice i{width:4px;height:4px}.center-trades{margin-top:5px}.center-trades button{font-size:14px;padding:5px 4px}.market-center .roll-btn{margin-top:5px;font-size:15px;padding:7px 6px}.market-center #repayBtn,.market-center #reserveBtn{padding:1px;font-size:11px}
 .table-board .tile{padding-top:9px;gap:2px}.table-board .tile-label{font-size:18px;line-height:1.2}.table-board .tile-icon{font-size:19px;height:19px;line-height:19px}.table-board .tile-num{font-size:9px;top:4px}.board-pawn{height:30px}.board-pawn.crowded{height:24px}
 .journey-notes{margin-top:14px}.journey-notes .table-bottom{gap:14px}
 .network-hud{flex:0 0 auto;margin:0;padding:5px 10px;gap:8px;border-radius:7px}.network-hud b{font-size:14px}.network-hud span,.network-hud .quiet{font-size:12px}.network-hud>div{gap:10px}
}
@media(min-width:901px) and (max-height:850px){.price-stages{display:none}.center-chart .spark{display:none}.market-center .center-orbit{display:none}.market-center .race-goal{font-size:18px}.seat-card:has(.seat-race-row) .seat-ledger{display:none}.seat-finances strong{font-size:19px}.table-board .tile-icon{display:none}.table-board .tile-label{font-size:17px}.table-board .tile{padding-top:4px}.table-board .tile.has-crowd .tile-label{font-size:14px}.board-pawn{height:27px}.board-pawn.crowded{height:21px}}
@media(min-width:901px) and (max-height:850px){.market-center .race-goal:before{content:'₿';display:inline-grid;place-items:center;width:23px;height:23px;margin-right:7px;border-radius:50%;background:linear-gradient(135deg,#ffe1a2,#bc8b42);color:#493016;font-size:18px;vertical-align:middle}}
@media(min-width:901px) and (max-width:1000px){.game-table{grid-template-columns:180px minmax(0,1fr) 180px}}
@media(max-width:700px){.result-layout{grid-template-columns:1fr;gap:12px}.result-overview{display:grid;grid-template-columns:52px 1fr;text-align:left;column-gap:12px}.result-overview .winner-coin{grid-row:1/5;width:48px;height:48px;font-size:32px;margin:0}.result-overview .eyebrow{display:none}.result-overview h2{font-size:22px;margin:0}.result-overview p{font-size:13px;margin:3px 0}.result-overview .winner-amount{font-size:25px;margin:5px 0}.results-modal{padding:20px}.result-ranking .result-table{font-size:13px}.result-ranking .result-table td{padding:7px 3px}.result-ranking .result-table th{padding:6px 3px;font-size:12px}.results-modal .modal-actions{gap:6px}.results-modal .modal-actions button{padding:9px;font-size:13px}.life-result-modal{padding:22px}.life-result-modal h2{font-size:24px}.life-result-modal>p{font-size:15px}.receipt-grid b{font-size:25px}.receipt-footer{flex-wrap:wrap}.life-receipt{padding:14px}}
/* A dedicated danger tile remains legible on short desktops and narrow phones. */
.table-board .tile.dark{--tile-accent:#ec8db1;background:linear-gradient(145deg,#5a2947,#231b2a 80%);border-color:#c46b8e;box-shadow:inset 0 1px 0 #ffd5e126,0 4px 0 #140e19,0 0 15px #b23a581c}
.table-board .tile.dark .tile-label{color:#ffe0e9;max-width:4em;font-size:clamp(12px,1.1vw,17px);line-height:1.2;overflow-wrap:anywhere}
.table-board .tile.dark .tile-icon{color:#f7afcd}
.storm-result-modal{border-color:#bf718e;background:linear-gradient(140deg,#302532,#18261f)}
.storm-odds{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.storm-odds span{padding:7px 10px;border:1px solid #6c5662;border-radius:7px;font-size:13px;color:#c7b5be}.storm-odds .selected{color:#ffe8ad;border-color:#d6ae66;background:#7659344d;font-weight:800}
.storm-result-modal .receipt-grid b{font-size:clamp(18px,2vw,27px)}

@media(max-width:900px){.table-board .tile.dark .tile-label{max-width:2em;font-size:12px;line-height:1.15}}

@media(min-width:901px){.table-board .tile.dark .tile-label{max-width:none;white-space:nowrap;text-align:center;font-size:clamp(11px,1.05vw,16px)}}
