/* Mobile navigation and career views, isolated future-app demo. */
[hidden]{display:none!important}
.demo-header{padding:12px 15px!important;margin-bottom:12px}
.demo-header-main{display:flex;align-items:center;gap:10px;min-width:0}
.demo-header .brand-home{font-size:25px;font-weight:900;padding:0;line-height:1.1;flex:0 0 auto;width:auto}
#sessionBar{display:block!important;flex:1;padding:0;border:0;font-size:11px;color:#acb8cf;text-align:right;min-width:0}
#sessionAlias{display:none!important}
#menuToggle{width:40px;flex:0 0 40px;padding:5px;border:1px solid #66758c;border-radius:10px;background:#253349;color:#fff;font-size:24px}
#headerLogout,#adminLink,#leaderboardPreview,#homeHistory,#onlineRecovery{display:none!important}
body.play-active #appHeader{display:block!important}
.demo-eyebrow{font-size:10px;letter-spacing:.16em;color:#ffcd4d;font-weight:800;margin:0 0 10px}
.entry-options{display:grid;gap:14px;margin-top:22px}.entry-card{padding:18px;border:1px solid #45587a;border-radius:18px;background:#17263d}.entry-card h2{font-size:24px;margin:8px 0}.entry-card p{font-size:14px;line-height:1.5;color:#c8d1df;margin:8px 0 18px}.entry-card button{width:100%;font-size:15px}.entry-symbol{font-size:25px;color:#84c5ff}.ranking-entry{border-color:#a28b44;background:#292b27}.ranking-entry .entry-symbol{color:#ffcc45}.ranking-entry button{background:#ffd044;color:#12213b;font-weight:800}
#publicHome h1,#modeStep h1,#lifetimeContent h1,#compareContent h1{font-size:29px;line-height:1.15;letter-spacing:-.02em}
.personal-modes{margin:22px 0}.personal-modes button,.mode-picker button{min-height:62px}
.demo-menu{margin:65px 14px auto auto;width:min(340px,calc(100vw - 28px));padding:16px;border:1px solid #64738c;border-radius:20px;background:#121e31;color:#fff;box-shadow:0 20px 60px #0008}
.demo-menu::backdrop{background:#050d1b99;backdrop-filter:blur(4px)}
.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.menu-heading h2{margin:0;font-size:21px}.menu-heading button{width:38px;background:#293c58;padding:4px;font-size:24px}
.demo-menu nav{display:grid;gap:7px}.demo-menu nav button{display:flex;align-items:center;gap:7px;width:100%;padding:13px 12px;text-align:left;font-size:15px;background:#213149;color:#fff;border-radius:10px}.demo-menu nav span{margin-left:auto;color:#ffd04b}.demo-menu nav small{font-size:10px;color:#ffd04b}.demo-menu hr{width:100%;border:0;border-top:1px solid #48576b;margin:7px 0}
.stat-card,.compare-card{border:1px solid #3f526e;background:#17243a;border-radius:15px;padding:14px;margin:14px 0}
.stat-card h2,.compare-card h2{font-size:17px;margin:0 0 10px;color:#94c3ff}
.stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #34445a;font-size:13px;min-width:0}.stat-row:last-child{border:0}.stat-row span{color:#d0d8e4;flex:1}.stat-row strong{text-align:right;font-size:15px;white-space:nowrap}.stat-row small{display:block;font-size:10px;font-weight:400;color:#aab6c8;margin-top:4px}
.compare-controls{display:flex;gap:8px;margin:8px 0 15px}.compare-controls select{min-width:0;flex:1}.compare-controls button{width:auto;font-size:13px;padding:10px}.compare-label{font-size:14px;font-weight:700}
.comparison-heading,.compare-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:7px;align-items:center;padding:9px 0;font-size:12px}.comparison-heading strong,.compare-row strong{text-align:right;overflow-wrap:anywhere}.compare-row{border-bottom:1px solid #34445a}.compare-row:last-child{border:0}.compare-card{padding:12px}.compare-row span{color:#c2ccdb}.compare-row strong{font-variant-numeric:tabular-nums}
.lifetime-reset{font-size:12px;color:#adbacb;margin-top:8px}
.demo-mailbox{border:1px solid #bca25b;background:#252a30;border-radius:14px;padding:14px;margin-top:18px}.demo-mailbox h3{font-size:17px;margin:0 0 7px}.demo-mailbox p{font-size:12px;color:#c4cedb}.demo-mail-entry{border-top:1px solid #50556a;padding-top:10px;margin-top:10px;overflow-wrap:anywhere}.demo-mail-entry button{margin-top:7px;width:100%;font-size:13px;padding:10px}
.demo-account-row{padding:12px 0;border-bottom:1px solid #3c4e66}.demo-account-row small{display:block;color:#a7b4c8;font-size:11px}.demo-account-row strong{font-size:16px;overflow-wrap:anywhere}
.scorer-demo-banner span{font-size:9px}.stat-row .positive{color:#88e9ac}.stat-row .negative{color:#ff9a9a}
#myHistory{border:0;margin-top:0;padding-top:0}
@media(min-width:700px){.entry-options{grid-template-columns:1fr 1fr}.stat-row{font-size:15px}.compare-row{font-size:15px}}

#coinRateStrip:has(#coinRateHint:not(:empty)){flex-wrap:wrap}
#coinRateStrip small:not(:empty){display:block!important;flex:1 1 100%;font-size:10px}
#demoMailbox[hidden]{display:none!important}

/* Active round and Coin-Konto Lite */
.active-return{display:block;width:100%;margin:12px 0;border:1px solid #587eb5;background:#1a2d48;color:#bad6ff;text-align:left;font-weight:750}
#activeHome{padding:8px 0 18px}#resumeRound{width:100%;margin:12px 0}
.ranking-settings .bonus-box>h3,.ranking-settings .bonus-box>p.hint{display:none}
.ranking-settings .toast-settings{display:none}
.ranking-settings .stop-loss-choice{border:1px solid #f7cf45;background:#2c2c23}
.ranking-settings .bonus-box{border:0;background:transparent;padding:0}
.ranking-settings .settings-grid{grid-template-columns:1fr}
.coin-totals{display:grid;gap:14px;margin:24px 0}
.coin-totals button{display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid #566881;background:#1b2b42}
.coin-totals small{font-size:17px}.coin-totals strong{font-size:30px}
.coin-person{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;margin:10px 0;padding:16px;background:#1d2b3d}
.coin-person span{font-size:14px;text-align:right}
.coin-open{padding:18px;border:1px solid #536b7b;border-radius:15px;margin:18px 0;display:flex;flex-direction:column;gap:7px}.coin-open strong{font-size:25px}
.coin-booking{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #344154;font-size:14px}.coin-booking span{min-width:0}.coin-booking strong,.coin-booking small{display:block;overflow-wrap:anywhere}.coin-booking small{font-size:12px;color:#a9b9cb}.coin-booking b{white-space:nowrap}
#coinSettlement{margin:20px 0}#coinSettlement button,#coinSettleAll{width:100%;margin-top:12px}
#lifetimeAliasResults button{width:100%;text-align:left;background:#243952;margin:8px 0}
#stopLossDialog .dialog-actions{display:grid;gap:12px}

.ranking-settings + .action-row{display:grid;gap:10px}.ranking-settings + .action-row #startRound{width:100%;min-width:0}

/* High-contrast career/comparison text; signs convey direction. */
#lifetimeContent,#compareContent{color:#fff}
#lifetimeContent :is(h1,h2,h3,strong,button),#compareContent :is(h1,h2,h3,strong,button){color:#fff}
#lifetimeContent :is(.hint,small,.stat-row span),#compareContent :is(.hint,small,.compare-row span){color:#e2e5e9}
#lifetimeContent :is(.positive,.negative),#compareContent :is(.positive,.negative){color:#fff}
#lifetimeAliasResults button{color:#fff!important}
#lifetimeContent .text-button,#compareContent .text-button{color:#fff!important}

/* Coin-Konto: neutral light cards, explicit signs; muted dark red debts. */
:is(#coinMain,#coinList,#coinHistory,#coinDetail){color:#fff}
:is(#coinMain,#coinList,#coinHistory,#coinDetail) .hint{color:#e2e5e9}
:is(#coinMain,#coinList,#coinHistory,#coinDetail) .text-button{color:#fff!important}
.coin-totals button,.coin-person,.coin-open,.coin-booking{background:#f8f9fb;color:#17212e;border:1px solid #c9ced6}
.coin-totals button[data-direction="owe"],.coin-debt{background:#fff4f3;border-color:#e1bdb9}
.coin-totals button[data-direction="owe"] strong,.coin-debt :is(span,b,strong){color:#8a2525}
.coin-person :is(span,strong),.coin-open :is(small,strong),.coin-booking :is(strong,small){color:#17212e}
.coin-booking small{color:#45515f}.coin-booking{padding:14px 12px;border-radius:10px;margin:8px 0}
.coin-debt b,.coin-person.coin-debt span,.coin-open.coin-debt strong{color:#8a2525}
.coin-person.coin-neutral span,.coin-open.coin-neutral strong{color:#303b49}
:is(#coinMain,#coinList,#coinHistory,#coinDetail) :is(h1,h2,label){color:#fff}
#coinSettlement button,#coinSettleAll{background:#f8f9fb;color:#17212e;border:1px solid #c9ced6}
#coinAmount{background:#f8f9fb;color:#17212e;border:1px solid #c9ced6}
#coinAmount::placeholder{color:#45515f}
.coin-scope{border:1px solid #68768a;border-radius:12px;margin:16px 0;padding:10px 12px;color:#fff}
.coin-scope legend{font-weight:750}.coin-scope label{display:flex;gap:10px;align-items:center;padding:9px 0;color:#fff}
.coin-scope input{width:20px;height:20px;accent-color:#f6d348;flex:0 0 20px}
.coin-scope small{display:block;color:#e2e5e9;font-size:11px}
.coin-scope label:has(input:disabled){opacity:1;color:#d8dce3}
#coinScopeReason{font-size:12px;color:#e2e5e9}
#lifetimeContent button,#compareContent button{background:#263953;border:1px solid #728197;color:#fff!important}
#lifetimeContent,#compareContent,#coinMain,#coinList,#coinHistory,#coinDetail{background:#101827}#lifetimeContent .demo-eyebrow,#compareContent .demo-eyebrow{color:#fff}#coinMain .demo-eyebrow{color:#e2e5e9}

/* Coin mobile navigation: in-flow sticky controls, no fixed browser overlay. */
.coin-sticky-head{position:sticky;top:0;z-index:20;background:#101827;padding:.6rem 0 .4rem;border-bottom:1px solid #445169}
.coin-local-nav{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.coin-local-nav button,.coin-round-return{min-height:2.75rem;padding:.5rem .35rem;font-size:.9rem;color:#fff!important}
.coin-local-nav button{width:auto}
.coin-sticky-head h1{font-size:1.45rem;line-height:1.2;margin:.3rem 0 .5rem;overflow-wrap:anywhere}
.coin-sticky-head .coin-open{padding:.55rem .8rem;margin:0;gap:.1rem}
.coin-open strong{font-size:1.25rem}
.coin-round-return{width:100%;background:#253349;border:1px solid #68788f;margin-bottom:.3rem}
.coin-count{font-size:.75rem;margin:.6rem 0}
#coinEntries{padding-bottom:.5rem}
#coinLoadMore{width:100%;margin:.5rem 0 1rem}
.coin-actions{position:sticky;bottom:0;z-index:21;display:flex;gap:.5rem;background:#101827;border-top:1px solid #64748b;padding:.6rem 0 max(.6rem,env(safe-area-inset-bottom));margin-top:.75rem}
.coin-actions button{flex:1;min-height:2.75rem;padding:.65rem .4rem;font-size:.9rem;background:#f8f9fb;color:#17212e;border:1px solid #c9ced6}
.coin-actions button:first-child{font-weight:800}
.coin-person{margin:.5rem 0;padding:.8rem;gap:.5rem}
.coin-booking{padding:.65rem .6rem;font-size:.8rem}
.coin-booking b{font-size:.8rem}
.coin-settlement-dialog{box-sizing:border-box;width:min(30rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 2rem);overflow:auto;margin:auto auto 0;padding:1.25rem 1.25rem max(1.25rem,env(safe-area-inset-bottom));background:#101827;color:#fff;border:1px solid #64748b;border-radius:1.25rem 1.25rem 0 0}
.coin-settlement-dialog::backdrop{background:#0009}
.coin-settlement-dialog h2{font-size:1.35rem;line-height:1.3;color:#fff;margin:0 0 .6rem}
.coin-settlement-dialog p{color:#e2e5e9}
.coin-settlement-dialog label{color:#fff}
.coin-settlement-dialog #coinSettlement{margin:.8rem 0 0}
.coin-settlement-dialog button{width:100%;min-height:2.75rem}
.coin-settlement-dialog .text-button{color:#fff!important}
.coin-settlement-dialog #coinError{color:#ffb9b4}
@media(min-width:600px){.coin-settlement-dialog{margin:auto;border-radius:1.25rem}}

.coin-settlement-dialog #coinCancelSettlement{background:#253349;color:#fff!important;border:1px solid #68788f}
#setup:has(> [data-step-view="coin-list"]:not([hidden])) #wizardNav,
#setup:has(> [data-step-view="coin-history"]:not([hidden])) #wizardNav,
#setup:has(> [data-step-view="coin-detail"]:not([hidden])) #wizardNav{display:none}

#onlineRecovery{display:block}#loadOnlineRounds{display:inline-block}#adminMenuLink{color:#fff}body #sessionLabel{color:#e2e5e9}

.cancel-round-entry{font-size:.9rem;color:#e2e5e9!important;background:transparent!important;border:0!important;font-weight:500;margin:.75rem 0}
.discard-confirm{background:#8a2525;color:#fff}

#profileEditor{width:min(520px,calc(100% - 24px));max-height:90dvh;overflow:auto}#profileForm label{display:block;margin:14px 0}#profileForm input{width:100%}.profile-actions{display:flex;gap:12px;margin-top:18px}.profile-actions button{flex:1;min-height:48px}#profileAlias[readonly]{opacity:.8}

/* v2.0.5: role badge and one touch-friendly administration entry. */
.admin-badge{display:inline-flex;vertical-align:middle;margin-left:5px;color:#ffe29a;line-height:1}
.admin-shield{flex:none;display:block}
.demo-menu nav .admin-menu-button{display:flex;align-items:center;gap:9px;width:100%;min-height:46px;padding:13px 12px;border:1px solid #9e7832;border-radius:10px;background:#483614;color:#ffe5a6;text-decoration:none;font-size:15px;font-weight:700}
.demo-menu nav .admin-menu-button:hover{background:#59431b}
.admin-menu-button:focus-visible{outline:3px solid #ffe5a6;outline-offset:3px}
.leaderboard-entry.rank-unplayed{background:transparent;border-radius:0;color:#f5f7fb}
/* Chicago v2.1: public career sheet and a separate rivalry hub. */
.leaderboard-entry[role="button"]{cursor:pointer;min-height:48px}.leaderboard-entry[role="button"]:focus-visible{outline:3px solid #9ccaff;outline-offset:3px;border-radius:10px}
.player-stats-sheet{width:min(560px,100%);max-width:100%;height:80dvh;max-height:80dvh;margin:auto auto 0;border:1px solid #496184;border-radius:24px 24px 0 0;padding:0;background:#111d31;color:#f5f8ff;overflow:hidden}
.player-stats-sheet[open]{display:flex;flex-direction:column}.player-stats-sheet::backdrop{background:#020815bb;backdrop-filter:blur(3px)}
.player-sheet-head{flex:none;padding:0 18px 12px;background:#172640;border-bottom:1px solid #405470}.sheet-drag{height:24px;display:flex;align-items:center;justify-content:center;touch-action:none}.sheet-drag span{height:4px;width:42px;border-radius:4px;background:#adbed6}.player-sheet-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.player-sheet-title h2{font-size:22px;margin:8px 0;overflow-wrap:anywhere;min-width:0}.player-sheet-title button{flex:none;min-height:44px;min-width:44px;padding:8px;font-size:24px}.player-sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px;min-height:0}.player-sheet-footer{flex:none;padding:12px 18px max(14px,env(safe-area-inset-bottom));background:#172640}.player-sheet-footer:has(button[hidden]){padding:0}.player-sheet-footer button{width:100%;min-height:48px;white-space:normal;overflow-wrap:anywhere;background:#a4ccff;color:#0e203a}.player-stats-sheet .stat-row strong{color:#f5f8ff!important;overflow-wrap:anywhere}.player-stats-sheet .stat-row{gap:12px}.player-stats-sheet .stat-card{margin-bottom:12px}.player-stats-sheet .stat-card h2{font-size:18px}
#h2hContent{max-width:660px;margin:auto}#h2hContent h1{font-size:30px}#h2hContent input{width:100%}.h2h-person{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;text-align:left;white-space:normal;background:#233956;color:#f5f8ff;margin:8px 0;border:1px solid #486283;padding:12px;border-radius:12px}.h2h-person strong,.h2h-person span{overflow-wrap:anywhere;min-width:0}.h2h-person span{font-size:14px;color:#d2e3fb}.h2h-hero{background:linear-gradient(135deg,#203b60,#15233d);border:1px solid #6592c6;border-radius:20px;padding:18px;margin:20px 0}.h2h-hero h2{font-size:23px;overflow-wrap:anywhere}.h2h-hero h2 span{color:#c3d6ef;font-size:17px}.h2h-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;margin:20px 0;color:white}.h2h-score span{overflow-wrap:anywhere;font-weight:700}.h2h-score span:last-child{text-align:right}.h2h-score strong{font-size:32px;color:#ffdc85}.h2h-hero p{font-size:14px;color:#d5e3f6}.h2h-line{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #3e5069}.h2h-line span{min-width:0;overflow-wrap:anywhere;color:#d4e1f4}.h2h-line strong{flex:none;color:white;text-align:right;font-variant-numeric:tabular-nums}.h2h-streak{color:#d9e9ff;background:#213959;border-radius:12px;padding:12px}.h2h-meeting{display:flex;flex-direction:column;gap:8px;width:100%;min-height:48px;text-align:left;white-space:normal;background:#213653;color:#edf5ff;border:1px solid #456181;padding:14px;border-radius:12px;margin:10px 0;overflow-wrap:anywhere;font-size:15px}.h2h-meeting span{color:#d5e4f7}.h2h-meeting strong{color:white}#h2hShowMeetings,#h2hMoreMeetings{width:100%;min-height:46px}#h2hContent .stat-card h2{font-size:21px}#h2hDetail .hint{line-height:1.5}#h2hDetail .stat-card{margin-top:16px}
@media(min-width:700px){.player-stats-sheet{margin:auto;border-radius:24px;max-height:85dvh}}
.player-sheet-title h2{flex:1}.player-sheet-title button{width:44px;flex:0 0 44px;margin:0}.h2h-person>strong{flex:1;min-width:0;overflow-wrap:anywhere}.h2h-person>span{flex:none}#h2hRivalList .h2h-person{display:block}#h2hRivalList .h2h-person span{display:block;margin-top:4px}
