/* A viewport-sized game desk. Details stay inside their panel, never stretch the page. */
:root{--ink:#e6edf7;--paper:#172235;--gold:#55dfbc;--line:#2a3950}
body{background:#0c1422;color:#e6edf7;font-family:"Segoe UI","Microsoft YaHei",sans-serif;height:100dvh;overflow:hidden}
button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b78326;outline-offset:3px}
#slice-header{max-width:none;height:66px;padding:10px 24px;border-bottom:1px solid #47725c;background:#e6edf7}#brand-mark{padding:2px 8px;font-size:25px}#slice-header small{font-size:13px}
#window{max-width:none!important;width:100%!important;height:calc(100dvh - 66px);margin:0!important;padding:14px 22px!important;overflow:hidden}
#game-container,#slice-actions,#slice-assets,#slice-license{display:none!important}
#slice-summary{height:66px;padding:10px 18px;margin:0!important;background:transparent;color:var(--ink);border-bottom:1px solid #c4d1c1;border-radius:0;gap:32px}
#slice-summary small{color:#5e7364;font-size:13px}#slice-summary b{font-size:25px;font-variant-numeric:tabular-nums}.slice-progress progress{height:8px;margin:5px 0}.slice-progress{max-width:400px;margin-left:auto}
#slice-feedback{height:22px;line-height:22px;margin:5px 0;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#game-desk{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(340px,1.1fr) minmax(300px,.85fr);gap:16px;height:calc(100% - 98px);min-height:0}
body:not(.slice-playing) #game-desk{display:none}body:not(.slice-playing) #slice-feedback,body:not(.slice-playing) #mobile-views{display:none}
#board-stage{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:12px}
#play-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:5px;width:100%;aspect-ratio:1;max-height:calc(100% - 50px);background:#1e2d43;padding:9px;border-radius:22px;box-shadow:0 16px 40px #234a3018;align-self:center}
#play-board>.cell{display:flex;align-items:center;justify-content:center;height:auto!important;padding:2px!important;min-height:0;min-width:0;border-radius:9px!important;position:relative!important}
#play-board .cellx{font-size:9px!important;line-height:1.2!important}#play-board .cellx:before{font-size:22px;line-height:24px}#play-board .cellx p{font-size:9px;margin:0}#play-board [id^=tokenSection]{width:100%;padding:0;height:auto}
#board-center{grid-column:2/7;grid-row:2/7;border-radius:15px;background:linear-gradient(145deg,#19283a,#132333);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--ink);gap:12px}
.eyebrow{font-size:13px;letter-spacing:2px;color:#75816a}#journey-die{font-size:clamp(60px,7vw,100px);line-height:1;color:#55dfbc;filter:drop-shadow(0 8px 4px #16351d20)}#board-center h2{font-size:clamp(17px,1.5vw,25px);margin:0}#board-center p{margin:0;font-size:13px}#board-center small{font-size:13px;color:#74866d}#journey-progress{padding:10px;border-radius:8px;background:#1c3b3a;font-size:14px}
#board-stage #game-menu{display:flex!important;gap:6px;padding:0;height:42px;flex-shrink:0;align-items:center;font-size:14px}#game-menu button{font-size:14px;padding:7px!important;min-height:36px;background:#172235;border:1px solid #bacbbb}
#board-stage #board2{display:none!important}.growth-ring #play-board{display:none}.growth-ring #board-stage #board2{display:table!important;width:100%;height:calc(100% - 54px)!important}.growth-ring #board-container{display:none!important}.growth-ring #board2 .cell2-center{background:#e4ecdd}
#decision-dock,#finance-box{min-width:0;min-height:0;background:var(--paper);border:1px solid #d6ddcd;border-radius:18px;box-shadow:0 6px 25px #e6edf708}
#decision-dock{display:flex;flex-direction:column;padding:18px;overflow:hidden;border-top:5px solid #cda957}
#decision-dock #turn-info{width:100%!important;min-height:0!important;height:auto!important;flex:1;overflow:auto;padding:0!important;background:transparent!important;box-shadow:none!important;margin:0!important}
#turn-info-box{font-size:16px!important;line-height:1.65!important;padding:0!important}#turn-info h3{font-size:17px;margin:12px 0}#turn-info .card-title{font-size:23px!important;margin:4px 0 16px!important;font-weight:750;letter-spacing:-.5px}
#decision-dock #card-btns,#decision-dock #finish-turn-container{height:auto!important;min-height:0!important;width:100%!important;position:static!important;flex-shrink:0;padding-top:8px}
.card-btn,#repay-btn,#borrow-btn{min-width:0!important;font-size:16px!important;padding:10px 16px!important;border:1px solid #cfdbc8!important;min-height:42px!important;background:#146859!important;color:#fff!important}
#repay-borrow-btns{height:auto!important;width:100%;text-align:left}#repay-borrow-btns button{margin:4px!important}#roll-btn,#end-turn-btn{width:calc(100% - 8px)!important;background:#55dfbc!important;color:#071c19!important;font-weight:bold}
#dream-choices,#dream-description,#job-text,#dream-heading{width:100%!important;height:auto!important;margin:0!important;padding:0!important}#dream-nav{display:flex;justify-content:space-between;height:44px;margin-bottom:12px}#dream-nav button{position:static!important;width:44px!important;height:44px!important;border:1px solid #b7cab7!important;background:#e2eacb!important;float:none!important;transform:none!important;color:#234e38}#dream-nav button:before{display:none!important}#dream-choice-btn{padding:12px 20px;background:#55dfbc;border:0;font-weight:bold}#dream-des{font-size:13px;line-height:1.8}#job-text{margin-top:18px!important;font-size:14px}#dream-text{display:block;font-size:20px;margin:8px 0}
#decision-impact{border:1px solid #d7dfcc;background:#112c31;border-radius:12px;padding:12px;margin-top:15px}#decision-impact[hidden]{display:none}#decision-impact h3{margin:0 0 8px;font-size:14px}#decision-impact p{margin:3px 0;font-size:14px}#decision-impact small{display:block;font-size:13px;line-height:1.5;color:#5b7054}#deal-card-real-estate .card-title:before{display:none}
#finance-box{width:100%!important;float:none!important;height:100%!important;padding:14px!important;overflow:auto;position:static!important;min-height:0!important;font-size:14px}
#ledger-tabs{display:flex;gap:4px;position:sticky;top:-14px;background:var(--paper);padding:10px 0;z-index:3}#ledger-tabs button{flex:1;min-height:36px;padding:4px;border:0;background:transparent;color:#60715d;font-size:14px;border-radius:7px!important}#ledger-tabs button[aria-pressed=true]{background:#1b665d;color:#fff}
#finance-box #expense-bar{display:none!important}#finance-box table{font-size:14px!important;margin:0 0 12px!important;width:100%!important}#finance-box td{padding:6px 2px;border-bottom:1px solid #e0e5d8}#finance-box th{padding:8px 0;text-align:left}
#finance-box #income-table,#finance-box #expense-table,#finance-box #asset-table,#finance-box #liability-table,#finance-box #ft-assets-table{display:none!important}
#finance-box[data-tab=income] #income-table,#finance-box[data-tab=income] #expense-table,#finance-box[data-tab=assets] #asset-table,#finance-box[data-tab=assets] #ft-assets-table,#finance-box[data-tab=debt] #liability-table{display:table!important}
#finance-box:not([data-tab=overview]) #ledger-changes{display:none}#finance-box[data-tab=overview] #assets-liabilities-statement{display:none!important}
#ledger-changes h3{font-size:14px;margin:18px 0 8px}#ledger-changes>p{font-size:14px;color:#6c7c65}.delta-row{display:grid;grid-template-columns:1fr auto;gap:4px;border-bottom:1px solid #dde5d6;padding:9px 0;font-variant-numeric:tabular-nums}.delta-row span{font-size:14px}.delta-row small{grid-row:2;grid-column:1/3;color:#75816c;font-size:13px}.delta-row strong{font-size:16px}.delta-up{color:#66e2b7}.delta-down{color:#ffb28d}
dialog{border:1px solid #bacaaf;background:#172235;color:var(--ink);border-radius:18px;padding:24px;width:min(440px,calc(100vw - 24px));max-height:90dvh;overflow:auto;box-shadow:0 24px 80px #12341e40}dialog::backdrop{background:#12352088;backdrop-filter:blur(4px)}dialog label{display:block;margin:16px 0;font-size:13px}dialog input,dialog select{width:100%;padding:12px;margin-top:7px;border:1px solid #acbea5;border-radius:8px;background:white}dialog button{padding:10px 16px;background:#206c60;color:white;border:0}dialog .dialog-close{float:right;font-size:20px;padding:3px 12px}#partial-preview{font-size:13px;line-height:1.8}button:disabled{opacity:.45;cursor:not-allowed}
#mobile-views{display:none}
#play-board>.cell{width:100%!important;height:100%!important;align-self:stretch!important;justify-self:stretch!important}
#turn-info,#turn-info *,#finance-box,#finance-box *{font-family:"Segoe UI","Microsoft YaHei",sans-serif!important}
#change-notice{position:fixed;right:30px;bottom:24px;z-index:20;padding:12px 18px;color:#fff;background:#20544e;border:1px solid #b8cb94;box-shadow:0 6px 30px #143e3040;font-size:13px}#change-notice[hidden]{display:none}
#bill-dialog>button{display:block;width:100%;margin-top:12px;text-align:left}#bill-dialog>small{display:block;line-height:1.7;color:#66795f}
#property-debt{display:none}#finance-box[data-tab=debt] #property-debt{display:block}#property-debt h3{font-size:14px}#property-debt small{font-size:13px;line-height:1.6;color:#62745b}
#repay-borrow-btns button{padding:9px 12px;border:1px solid #c2d2b5;background:#21394a;color:#dae6f5;font-size:14px}
#projected-totals{border-top:1px solid #b7c9ad;padding-top:8px!important;font-weight:600}
#decision-dock #real-estate-cost-table,#decision-dock #deal-re-rule{display:none!important}
#decision-impact{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}#decision-impact h3,#decision-impact small,#projected-totals{grid-column:1/-1}#decision-impact p{font-size:16px!important;margin:0!important}#decision-impact small{font-size:16px!important}#decision-dock #deal-re-description{font-size:14px;margin:8px 0}#decision-dock .card-title{margin-bottom:8px!important}
#player-setup-input-container{max-height:calc(100dvh - 330px);overflow:auto}.mode-note{font-size:14px;font-weight:normal;margin:8px 0;color:#607358}
.player-input{width:100%;padding:10px;height:auto!important;min-height:0!important;color:#dae6f5;text-shadow:none!important}.player-input input[type=text]{font:inherit;padding:8px;width:65%;max-width:240px}.player-option-dropdowns{position:static!important;width:100%!important;float:none!important;height:auto!important}.player-option-dropdowns select{position:static!important;width:48%!important;float:none!important;height:38px!important;font-size:14px!important}.player-input .player-options-checkbox{display:none!important}
@media(max-width:1100px){#game-desk{grid-template-columns:minmax(250px,1fr) minmax(260px,1fr) minmax(230px,.85fr);gap:10px}#window{padding:10px!important}#decision-dock{padding:12px}#board-center{padding:8px;gap:8px}#play-board{gap:3px;padding:5px}#play-board .cellx p{font-size:7px}#play-board .cellx:before{font-size:17px}#board-center .eyebrow{display:none}}
@media(max-width:800px){#slice-header{height:56px;padding:8px 12px}#slice-header strong{font-size:15px}#slice-header small{font-size:9px}#window{height:calc(100dvh - 56px);padding:8px!important}#slice-summary{height:58px;gap:14px;padding:6px 0;flex-wrap:nowrap}#slice-summary b{font-size:19px}#slice-summary small{font-size:9px}.slice-progress{display:none}#slice-feedback{font-size:13px;height:18px;line-height:18px;margin:3px 0}#mobile-views{display:flex;gap:6px;height:40px;margin-bottom:5px}#mobile-views button{flex:1;min-height:36px;border:1px solid #c3d1ba;background:#172235;font-size:14px}#game-desk{display:block;height:calc(100% - 128px)}#board-stage,#decision-dock,#finance-box{display:none!important;height:100%!important}body[data-view=board] #board-stage{display:flex!important}body[data-view=decision] #decision-dock{display:flex!important}body[data-view=finance] #finance-box{display:block!important}#play-board{max-width:min(100%,calc(100dvh - 250px));max-height:calc(100% - 46px)}#board-center h2{font-size:17px}#board-center .eyebrow{display:block}#decision-dock{padding:16px}#turn-info-box{font-size:14px!important}#finance-box td{font-size:13px;padding:8px 2px}#journey-die{font-size:64px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Final visual system: navy surfaces, mint actions, readable decision text. */
[hidden]{display:none!important}
.slice-playing #home-screen,.slice-playing #game-selection-screen,.slice-playing #setup-screen{display:none!important}
.setup-title{font-size:30px;margin:0 0 22px;color:#eff6ff}.setup-intro{color:#a9bfd5;font-size:16px;margin:0 0 10px}
#continue-game{background:#223b4c!important;color:#cce5f1!important;border:1px solid #416377!important}
.receipt-open{background:#213e4b;color:#a5ead7;border:1px solid #3b665f;padding:8px 12px;font-size:14px;min-height:36px}
#decision-dock #roll-info-container{background:#20344a!important;color:#bcd0e4!important;border-radius:8px;padding:10px;align-self:center;height:auto!important}#roll-info{color:#bcd0e4!important;font-size:14px!important}
#finance-box td,#finance-box td span,#finance-box td strong,#finance-box th{color:#d8e4f5!important;text-shadow:none!important}#finance-box #cash-display{color:#74e8c4!important}
#finance-box #summary-cash,#finance-box #summary-cash-title2{color:#74e8c4!important;text-shadow:none!important}
#ledger-changes{max-height:245px;overflow:auto;padding-right:8px}#decision-journal{min-height:220px}
#card-btns .card-btn{width:auto!important;white-space:nowrap;min-width:98px!important;height:auto!important}
#player-number{min-width:80px!important;width:80px!important;height:44px!important}
#player5input,#player6input,#player7input,#player8input{display:none!important}
:root{color-scheme:dark;--ink:#e6edf7;--paper:#172235;--line:#2a3950}
body{font-size:16px}#slice-header{background:#111d2e;border-color:var(--line)}#brand-mark{color:#55dfbc;border-color:#55dfbc}#language{background:#22354a;color:#c9d9ec}#window{padding:16px 24px!important}
#slice-summary{border-color:var(--line);background:#111d2e;border-radius:12px;padding:10px 20px}#slice-summary small,#slice-header small{color:#9eb0c9}#slice-summary b{color:#eff5ff}#slice-feedback{color:#a2b9d6;font-weight:400}
#board-stage{justify-content:flex-start;padding-top:0}#play-board{aspect-ratio:1;max-height:none;border:1px solid #344358;box-shadow:none;gap:5px;padding:8px;border-radius:18px;flex-shrink:0}#play-board>.cell{border:1px solid #ffffff10!important;border-radius:8px!important}.opp-space{background:#21534c}.lia-space{background:#664240}.off-space{background:#29476a}.pay-space{background:#c8a855;color:#161d22}.char-space{background:#386579}.dow-space{background:#803f4c}.child-space{background:#70502e}#play-board .cellx{color:#f1f4fa;font-size:11px!important}#play-board .cellx p{font-size:11px!important}.active-square{outline:2px solid #77efc7;box-shadow:0 0 0 5px #77efc719!important}
#board-center{gap:14px;border:1px solid #2e4152}#board-center h2{font-size:22px;line-height:1.5}#board-center small,.eyebrow{color:#93abc3}#board-center p{font-size:15px}#board-stage #game-menu{flex-wrap:wrap;height:auto}#game-menu button{background:#18283c;color:#bfcee0;border-color:#34465d}
#decision-dock,#finance-box{border-color:var(--line);box-shadow:none;border-radius:16px}#decision-dock{border-top:3px solid #55dfbc;padding:24px}#decision-dock #turn-info-box{font-size:16px!important;line-height:1.75!important}#turn-info-box>div{width:100%!important;color:#e6edf7!important}#turn-info .card-title{color:#f3f7fe!important;text-align:left!important;font-size:26px!important;line-height:1.4;text-shadow:none!important}#turn-info h3{font-size:19px}#turn-info p{position:static!important;float:none!important;height:auto!important;min-height:0!important;max-height:none!important;font-size:16px!important;line-height:1.8!important;color:#c2d1e5;margin:12px 0!important;overflow:visible!important}#turn-info table{font-size:16px!important;color:#d9e5f5}#turn-info td{padding:6px 0}#doodad-text{display:block!important;visibility:visible!important;opacity:1!important;background:#382d30;padding:20px!important;border:1px solid #7a5149;border-radius:12px;color:#ffd2b9!important}
#dream-nav{width:100%!important;margin-bottom:20px}#dream-nav button{background:#223b4b!important;color:#b6f6e4!important;border-color:#385563!important}#dream-text,#dream-heading,#job-text{color:#dce8f6!important}#dream-text{font-size:24px}#job-text{font-weight:400;line-height:1.8}#decision-impact,#loan-explanation,#sale-preview{padding:16px;background:#112b30;border:1px solid #2d5655;border-radius:12px;margin-top:20px}#decision-impact{display:block}#decision-impact p,#decision-impact small,#projected-totals{font-size:15px!important;color:#b7d5d4!important;line-height:1.65}#projected-totals{border-color:#345e5c}#decision-impact h3{color:#72e4c4;font-size:17px}
.card-btn,#repay-btn,#borrow-btn{font-size:15px!important;border-color:#385165!important;border-radius:8px!important}#repay-borrow-btns{margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:6px}#repay-borrow-btns button{background:#22364b;color:#d2e0f1;border-color:#385165}#roll-btn,#end-turn-btn{color:#0d2821!important}#card-btns{display:flex;flex-wrap:wrap;gap:4px}#dice-info{display:none!important}
#finance-box table{font-size:15px!important;color:#d8e4f5}#finance-box td{border-color:#2a3950;padding:9px 3px}#finance-box th{color:#a8bdd6}#finance-box #cash{color:#72e4c4!important}#ledger-tabs{background:#172235}#ledger-tabs button{color:#b0c3dc;font-size:14px}#ledger-changes h3,#decision-journal h3{font-size:18px;color:#e6eef8}#ledger-changes>p,.receipt-cause{color:#b7d9d9;font-size:15px;line-height:1.65}.delta-row{border-color:#2b3d50}.delta-row span{font-size:14px}.delta-row small{color:#96abc3;font-size:13px}#change-notice{position:static;display:none}#decision-journal{border-top:1px solid #34485c;margin-top:24px;padding-top:8px}#decision-journal>small{color:#9aafc6;font-size:13px}#decision-journal details{padding:14px 0;border-bottom:1px solid #2a3d52}#decision-journal summary{cursor:pointer;white-space:pre-line;line-height:1.8;font-size:14px;color:#c7dbed}#decision-journal details[open] summary{color:#69dec0}#finance-box:not([data-tab=overview]) #decision-journal{display:none}
dialog{width:min(580px,calc(100vw - 24px));background:#172235;color:#e5edf8;border-color:#41546c;font-size:16px;padding:28px}dialog h2{font-size:25px}dialog p{line-height:1.8}dialog label{font-size:16px}dialog small{font-size:14px;color:#adbed3!important}dialog input,dialog select{background:#0d1c2c;color:#e5edf8;border-color:#435a70}dialog button{min-height:44px;background:#226e61;color:#fff}dialog .dialog-close{float:right}dialog::backdrop{background:#050d1dd4}#bill-dialog button{line-height:1.5}#property-debt small{color:#aac0d5;font-size:14px}
#home-screen,#game-selection-screen{padding:80px 24px;min-height:0!important}#home-title{font-size:clamp(32px,5vw,64px);color:#e9f4ff;font-family:inherit;letter-spacing:0}#click-to-start{color:#64e2bc;font-size:22px}#game-selection-screen button{background:#1d6458;color:#fff;border:1px solid #4a9481;font-size:18px}#setup-container{max-width:780px;padding-top:24px}#player-setup-container{background:#172235;padding:28px;border:1px solid #34465d!important}#player-number-option{color:#d5e4f5!important;font-size:20px}#player-setup-input-container{max-height:calc(100dvh - 330px);padding:4px}.player-input,#player1input{background:#111e30!important;border:1px solid #34465d!important;border-radius:12px;padding:18px!important;color:#dce9f7!important;margin:12px 0!important;font-size:16px}.player-input input[type=text],#player1name{background:#1b2b41!important;color:#f0f5fb!important;border:1px solid #41566e!important;font-size:17px!important;max-width:none!important;width:calc(100% - 45px)!important}.player-option-dropdowns{display:flex!important;gap:10px;margin-top:12px}.player-option-dropdowns select,#player1input .job-input,#player1input .color-input{background:#1b2b41!important;color:#dce9f7!important;border:1px solid #41566e!important;width:50%!important;height:46px!important;font-size:15px!important}#options-container{background:transparent!important}#start-game{background:#55dfbc!important;color:#102b24!important;width:100%!important}.mode-note{color:#a1b8ce;font-size:15px}#player-number{background:#23394e;color:#e9f3fd;padding:6px 12px;border:1px solid #47647c}
@media(min-width:801px) and (max-height:800px){#play-board{max-height:calc(100% - 60px);aspect-ratio:1}#board-center{gap:8px;padding:10px}#journey-die{font-size:64px}#board-center h2{font-size:18px}#board-center small{display:none}#decision-dock{padding:18px}}
@media(max-width:1100px) and (min-width:801px){#game-desk{grid-template-columns:minmax(230px,.8fr) minmax(300px,1.2fr) minmax(250px,1fr)}}
@media(max-width:800px){#window{padding:8px!important}#decision-dock{padding:18px}#mobile-views button{background:#1b2d43;color:#c7d9ed;border-color:#3a526e}#finance-box{margin-top:0!important}#board-center h2{font-size:19px}#play-board{max-height:calc(100% - 56px)}#setup-container{padding-top:8px}#player-setup-container{padding:14px}.player-option-dropdowns{flex-wrap:wrap}.player-option-dropdowns select,#player1input .job-input,#player1input .color-input{width:100%!important}#player-setup-input-container{max-height:calc(100dvh - 320px)}}

@media(max-width:600px){#slice-header{gap:8px;padding:8px}#slice-header>div{min-width:0;flex:1}#slice-header strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#brand-mark{font-size:20px;padding:5px}#language{padding:8px;font-size:12px}}

/* Keep inherited share-price inline colors readable on the dark decision panel. */
#decision-dock .share-amt-box{color:#dce9f7!important}

.quantity-shortcuts{display:flex;gap:8px;margin:12px 0}.quantity-shortcuts button{flex:1;background:#213e4b;color:#dce9f7;border:1px solid #416579;padding:10px 8px}
