/* V2.22 — shared visual foundation. No game geometry or behavior overrides. */
:root{--ui-ink:#0c0d12;--ui-surface:#181a23;--ui-line:#ffffff14;--ui-gold:#e4c18a;--ui-text:#f4f0e8;--ui-muted:#b4b5c1;--ui-font:"Segoe UI Variable","Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;color-scheme:dark}
body{font-family:var(--ui-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#dfbd7d55;color:#fff}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,input,select{font-family:var(--ui-font)}
:where(button,a,input,select,summary):focus-visible{outline:2px solid #f0d399!important;outline-offset:4px!important}
:where(input,select){accent-color:#d8b67d}input:not([type=checkbox]):not([type=radio]),select{border-radius:10px}input::placeholder{color:#aaa5b0;opacity:1}
.rankBoard{--rank-gold:#e5c18a;--rank-text:#f3f0eb;--rank-muted:#b4b3c0;font-family:var(--ui-font)}
.rankChampion{background:radial-gradient(ellipse at 50% 0,#b18b4219,transparent 75%),linear-gradient(145deg,#22232d,#14151d)!important;border:1px solid #d6b77a33!important;border-radius:18px!important;box-shadow:0 14px 35px #0002,inset 0 1px #ffffff08}
.rankChampion1{border-color:#d9b27388!important}.rankChampion h3{letter-spacing:.02em}.rankEntry{border:1px solid #ffffff14!important;border-radius:13px!important;overflow:hidden;background:#161821!important}.rankEntry[open]{border-color:#d8b87955!important}.rankEntry summary{min-height:86px;background:linear-gradient(100deg,#22212b77,transparent);transition:background .18s}.rankDetails{background:#11131a}.rankMetrics>div{padding:12px!important;background:#ffffff03;border:1px solid #ffffff08;border-radius:9px}.rankMetrics small{font-size:9px;letter-spacing:.08em}.rankMetrics strong{font-variant-numeric:tabular-nums}.rankControls{padding:16px;border:1px solid #ffffff12;border-radius:13px;background:#171922}.rankControls input,.rankControls select{background:#0e1017!important;color:#f5eee4!important;border:1px solid #ffffff20!important}.rankPages button{border-radius:9px!important}.rankGameHeading{font-family:var(--ui-font);letter-spacing:.13em}
.fairnessPanel summary,.heroFairness{box-shadow:inset 0 1px #fff1,0 6px 20px #0002}.fairnessBody{background:#151720}.fairnessBody p{color:#c8c6ce!important}
@media(hover:hover) and (pointer:fine){.rankEntry summary:hover{background:#ffffff07}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important}}

/* Application: navigation, training workspace, progression, collection and dialogs. */
body[data-felt]{background:radial-gradient(ellipse at 10% 0,#7d32401b,transparent 45%),radial-gradient(ellipse at 100% 20%,#61533d12,transparent 40%),#0c0d12!important;--panel:#171922;--panel2:#20222c;--muted:#b2afbb;--line:#ffffff1b}
body[data-felt] main{gap:18px;padding-top:26px}
body[data-felt] :is(.brand h1,.toolTab b,.sideCoach strong,.stats b,.academyHero h2,.leaderboardHero h2,.cosmeticMeta,.profileModal,.accountGateCard){font-family:var(--ui-font)!important}
body[data-felt] .brand h1{letter-spacing:.035em!important;font-weight:850;line-height:1.2}.brand>small{font-weight:600}
body[data-felt] .topbar{padding-bottom:22px;border-bottom-color:#d2b07822}.topActions{align-items:center}
body[data-felt] .toolSwitcher{padding:7px;gap:7px;background:linear-gradient(180deg,#1c1d27,#13151d)!important;border:1px solid #ffffff16!important;border-radius:17px;box-shadow:0 8px 25px #0002!important}
body[data-felt] .toolSwitcher .toolTab{min-height:70px;border-radius:12px;gap:10px}
body[data-felt] .toolSwitcher .toolTab b{font-size:12px!important;letter-spacing:.025em;font-weight:750;color:#c3c0cc}
body[data-felt] .toolSwitcher .toolTab>span{width:34px;height:34px;border-radius:10px;background:#ffffff05;border-color:#ffffff0b;color:#c4b498}
body[data-felt] .toolSwitcher .toolTab.active{background:linear-gradient(125deg,#57333b,#2a232d)!important;border:1px solid #e5a6a24f!important;box-shadow:inset 0 -2px #e4b780,0 3px 10px #0003!important}
body[data-felt] .toolSwitcher .toolTab.active :is(b,span){color:#ffe1ba!important}
body[data-felt] :is(.progressionBar,.stats>div,.s21Hud>div,.learnerHud>div,.recognitionHud>div){background:linear-gradient(145deg,#24232e,#171922)!important;border:1px solid #ffffff16!important;box-shadow:inset 0 1px #ffffff06,0 8px 25px #0001!important;border-radius:14px!important}
body[data-felt] .progressionBar{padding:17px 20px!important}.xpTrack{border-radius:8px;overflow:hidden}body[data-felt] .xpTrack i{background:linear-gradient(90deg,#ac695c,#e1bb7d)!important}
body[data-felt] .stats>div{padding:18px 14px!important;text-align:left!important;position:relative}.stats>div:before{content:'';position:absolute;left:0;top:24%;bottom:24%;width:2px;background:linear-gradient(#d6b67e88,#d6b67e00)}
body[data-felt] .stats small{font:600 10px var(--ui-font)!important;letter-spacing:.09em!important;color:#b4b1be!important}.stats b{font-variant-numeric:tabular-nums}body[data-felt] .stats b{font-size:25px!important;font-weight:760;letter-spacing:-.025em}
body[data-felt] :is(.sideCoach,.tableLimitDock,.wagerPanel,.inlineStrategyPanel,.s21Reading,.academyPanel,.certificationCard,.masteryGoalsPanel,.learnerIntro,.recognitionIntro){background:linear-gradient(145deg,#1e202a,#151720)!important;border-color:#ffffff16!important;box-shadow:inset 0 1px #ffffff05,0 12px 30px #0001!important;border-radius:15px!important}
body[data-felt] .sideCoach{border-top:2px solid #ceab7380!important;background:radial-gradient(ellipse at top right,#b57c3514,transparent 75%),#1b1d27!important}
body[data-felt] .sideCoach>strong{color:#f1d5a5!important;font-size:28px!important;font-weight:800;letter-spacing:.015em}.sideCoach p{max-width:45ch}.coachRule{border-top-color:#ffffff10!important}
body[data-felt] :is(.actions button,.quickBets button,.lastBetTools button,#endSession,#s21End,#s21Style,.academyAction){background:linear-gradient(#2a2b38,#20222d)!important;border:1px solid #ffffff20!important;color:#eeebf3!important;box-shadow:inset 0 1px #ffffff07!important;border-radius:10px!important;font-family:var(--ui-font)!important;font-weight:750;letter-spacing:.03em}
body[data-felt] .actions button{min-height:46px!important}body[data-felt] .actions button:disabled{opacity:.36}.blackjackControlColumn{gap:10px}
body[data-felt] :is(.deal,#s21Deal){background:linear-gradient(115deg,#b43a50,#7a233b)!important;border-color:#ef9a9855!important;box-shadow:inset 0 1px #ffffff20,0 6px 18px #71192b33!important;font-family:var(--ui-font)!important;font-weight:850;letter-spacing:.12em}
body[data-felt] .moneyField{background:#0d1018!important;border:1px solid #d6b67e44!important;border-radius:10px}.moneyField input{font-family:var(--ui-font)!important;font-variant-numeric:tabular-nums}.countCheck input{background:#11131c!important;border:1px solid #ffffff26!important;font-family:var(--ui-font)!important}
body[data-felt] .message{background:#171a24!important;border:1px solid #ffffff10!important;color:#d1cad7!important;font:13px/1.6 var(--ui-font)!important}
body[data-felt] :is(.academyHero,.leaderboardHero,.shopHero,.learnerIntro,.recognitionIntro){padding:26px!important;border:1px solid #d4b07630;border-radius:18px;background:radial-gradient(ellipse at top right,#96713c1c,transparent 60%),linear-gradient(135deg,#23232e,#151720)!important}
body[data-felt] :is(.academyHero h2,.leaderboardHero h2){font-size:clamp(24px,2.5vw,38px)!important;letter-spacing:-.035em!important;line-height:1.15}.academyHero p,.leaderboardHero p{color:#bab7c4;line-height:1.75;max-width:70ch}
body[data-felt] :is(.skillCard,.goalCard,.cosmeticItem,.callingCardShop,.callingCardItem,.equippedCallingCard,.historyRow,.mistakeRow){border:1px solid #ffffff17!important;border-radius:13px!important;background:linear-gradient(140deg,#21232d,#161821)!important;box-shadow:inset 0 1px #ffffff05}
.skillNum,.goalState{color:#e5c18a}.skillTrack,.goalTrack{height:6px;border-radius:8px;overflow:hidden}.historyRow,.mistakeRow{padding:14px!important;line-height:1.6}.callingCardShop{padding:20px}.callingCardShopHead h3{font-family:var(--ui-font);letter-spacing:.03em;font-size:20px}.callingCardWallet{background:#2f291f!important;border:1px solid #d5b97c44!important;border-radius:12px;padding:14px}.callingCardWallet b{color:#f0d69f}.callingCardInfo p,.cosmeticMeta p{color:#b9b3c1;line-height:1.65}.cosmeticMeta{padding:14px}.feltPreview,.shopCardPreview{background:radial-gradient(ellipse at center,#4e403326,#0d1018)!important;border-radius:10px}
body[data-felt] :is(.profileModal,.sessionModal,.tableModal,.welcomeCard,.accountGateCard){background:linear-gradient(140deg,#23242f,#13151e)!important;border:1px solid #d5b88340!important;border-radius:20px!important;box-shadow:0 30px 90px #0009!important}.modalBackdrop{backdrop-filter:blur(9px);background:#06080cc4}.modalHead{padding-bottom:15px;border-bottom:1px solid #ffffff13;margin-bottom:16px}.modalHead h2{letter-spacing:-.02em}.closeBtn{border-radius:50%!important;border:1px solid #ffffff20!important;background:#ffffff08!important}.accountGateCard input,.profileModal input{background:#0f1119!important;border:1px solid #ffffff25!important;padding:13px;color:#f6f0e8}
.demoBar{border:1px solid #d8bc7e55!important;background:#171923ef!important;box-shadow:0 10px 35px #0006;border-radius:14px!important;backdrop-filter:blur(14px)}
@media(hover:hover) and (pointer:fine){body[data-felt] .actions button:hover:not(:disabled),body[data-felt] .quickBets button:hover:not(:disabled){border-color:#d8b87e77!important;background:#38323b!important}.skillCard:hover,.cosmeticItem:hover{border-color:#cdb07966!important}.toolTab,.skillCard,.cosmeticItem{transition:background .18s,border-color .18s,box-shadow .18s}}
@media(max-width:899px){body[data-felt] .toolSwitcher .toolTab{min-height:48px}body[data-felt] .toolSwitcher .toolTab b{font-size:9px!important}body[data-felt] .stats>div{padding:12px 8px!important}body[data-felt] .stats small{font-size:8px!important}body[data-felt] .stats b{font-size:19px!important}body[data-felt] :is(.academyHero,.leaderboardHero,.shopHero,.learnerIntro,.recognitionIntro){padding:19px!important}body[data-felt] .actions button{min-height:42px!important}}
@media(max-height:500px) and (orientation:landscape){body[data-felt] .actions button{min-height:30px!important}body[data-felt] .stats b{font-size:16px!important}body[data-felt] .stats>div{padding:8px!important}}

/* Collection locks remain readable; the unavailable action stays distinct. */
body[data-felt] :is(.callingCardItem,.cosmeticItem).locked{opacity:1!important;filter:none!important;cursor:not-allowed}
body[data-felt] :is(.callingCardItem,.cosmeticItem).locked>b{background:#ffffff05!important;border:1px solid #ffffff12!important;color:#aaa6b3!important}
body[data-felt] .callingCardItem{min-height:100px;padding:13px!important;gap:12px}.callingCardInfo strong{font:750 13px var(--ui-font)!important;line-height:1.4!important}.callingCardInfo small{font:12px/1.5 var(--ui-font)!important;color:#b7b3c1!important;letter-spacing:0!important}.callingCardInfo>span{font:700 9px var(--ui-font)!important;color:#d3b98e!important}.callingCardItem>b{font:700 9px/1.4 var(--ui-font)!important;padding:8px!important}.callingCardNote{font:12px/1.7 var(--ui-font)!important;color:#b9b5c2!important;margin-top:16px!important}
body[data-felt] .shopSectionHead{background:transparent!important;padding:20px 0 10px!important}.shopSectionHead h3{font:800 19px var(--ui-font)!important;letter-spacing:.03em!important}.shopSectionHead small,.shopSectionHead>span{font:600 10px var(--ui-font)!important;color:#bdb3a1!important}.cosmeticMeta strong{font:750 14px var(--ui-font)!important}.cosmeticMeta em{font:12px/1.5 var(--ui-font)!important;color:#b8b3c1!important}.cosmeticMeta small{font:650 9px var(--ui-font)!important}.cosmeticItem>b{font:750 11px var(--ui-font)!important}.styleWallet{background:linear-gradient(120deg,#332a24,#1c2029)!important;border:1px solid #cdb07944!important;border-radius:14px!important}.styleWallet b{font-family:var(--ui-font)!important;color:#edcd99!important}
.skillBody b,.goalMain b{font:750 14px/1.4 var(--ui-font)!important}.skillBody small,.goalMain small{font:12px/1.6 var(--ui-font)!important;letter-spacing:0!important;color:#bcb6c6!important}.skillNum{font:750 18px var(--ui-font)!important}.skillCard{padding:17px!important}.goalCard{padding:16px!important}
@media(max-width:600px){.callingCardGrid{grid-template-columns:1fr!important}.callingCardItem{min-height:96px!important}.callingCardInfo small{font-size:11px!important}.cosmeticMeta{padding:10px}.cosmeticMeta strong{font-size:12px!important}.cosmeticMeta em{font-size:11px!important}.skillCard{padding:13px!important}}

body[data-felt] :is(#blackjackView,#spanishView) .manualChipPanel{width:max-content;max-width:calc(100% - 12px)}
body[data-felt] .sideCoach>small{display:block}body[data-felt] .sideCoach>strong{display:block;margin-top:8px;margin-bottom:8px}

body[data-felt] :is(.s21Reading p,.academyHero p,.learnerIntro p,.recognitionIntro p,.leaderboardHero p){font:14px/1.8 var(--ui-font)!important;letter-spacing:0!important;color:#c2bdcb!important}
