/* Statera APP foundations. Loaded by Mesa and Tools only; marketing is independent. */
@font-face{font-family:"Statera Outfit";src:url("../assets/fonts/Outfit-variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root.statera-app{
 --st-bg:#101216;--st-surface:#191d23;--st-raised:#222832;--st-input:#15191f;
 --st-text:#f5f6f8;--st-muted:#b6becb;--st-border:#3e4652;--st-accent:#ef6175;--st-gold:var(--st-accent);--st-gold-hover:#ff8595;
 --st-positive:#89d1b0;--st-negative:#f09ba5;--st-focus:#ef6175;--st-selected:#35222b;
 --st-game-red:#241416;--st-game-red-border:#623039;--st-game-zero:#16754d;--st-game-ink:#111110;
 --st-font:Arial,Helvetica,sans-serif;--st-rail:72px;--st-radius:8px;
 --bg:var(--st-bg);--panel:var(--st-surface);--raised:var(--st-raised);--text:var(--st-text);--muted:var(--st-muted);--gold:var(--st-gold);--line:var(--st-border);--green:var(--st-positive);--red:var(--st-negative);
 --bg-void:var(--st-bg);--bg-main:var(--st-bg);--bg-sidebar:var(--st-surface);--bg-card:var(--st-surface);--bg-card-surface:var(--st-raised);
 --text-primary:var(--st-text);--text-muted:var(--st-muted);--text-dim:var(--st-muted);--gold-primary:var(--st-gold);--gold-glow:#b5122b22;
 --border-subtle:var(--st-border);--border-focus:var(--st-gold);--emerald-safe:var(--st-positive);--emerald:var(--st-positive);--crimson-alert:var(--st-negative);--crimson:var(--st-negative);--cyan-radar:var(--st-positive);--cyan:var(--st-positive);
 --dialog-surface:var(--st-surface);--dialog-border:var(--st-border);--dialog-accent:var(--st-gold);
 color-scheme:dark;font-family:var(--st-font);font-size:16px;
}
html.statera-app body{background:var(--st-bg);color:var(--st-text);font-family:var(--st-font);-webkit-font-smoothing:antialiased}
/* Legacy components contain strong font overrides; one scoped rule owns all APP typography. */
html.statera-app body :is(#statera-ui-root,.app-container,.workspace,dialog,.popover,#statera-account-status-root,.guided-tour) *,
html.statera-app body :is(.app-container,.workspace,dialog,.popover,#statera-account-status-root,.guided-tour){font-family:var(--st-font)!important;font-variant-numeric:tabular-nums}
.statera-app :is(button,input,select,textarea){font-family:var(--st-font);font-size:16px}
.statera-app :is(h1,h2,h3,h4){letter-spacing:-.02em;font-style:normal}
.statera-app :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--st-focus)!important;outline-offset:3px!important;box-shadow:none!important}
.statera-app :is(button,a){-webkit-tap-highlight-color:transparent}
.statera-app :is(input,select,textarea){background:var(--st-input);color:var(--st-text);border-color:var(--st-border);border-radius:6px;min-height:44px}
.statera-app :is(input[type=checkbox],input[type=radio]){min-height:20px;accent-color:var(--st-gold)}
.statera-app :is(.button,.secondary,.icon-button,.desk-button,.sc-button,.sc-create,.table-capital-open){min-height:44px;border-radius:6px;font-weight:600;font-size:14px;text-transform:none;letter-spacing:0;box-shadow:none}
.statera-app .button{background:var(--st-gold);color:var(--st-bg);border-color:var(--st-gold)}
.statera-app .button:hover{background:var(--st-gold-hover)}
.statera-app :is(.secondary,.icon-button,.desk-button,.table-capital-open){background:var(--st-raised);color:var(--st-text);border:1px solid var(--st-border)}
.statera-app :is(.secondary,.icon-button,.desk-button):hover{background:#30302b;border-color:#757367}
.statera-app :is(.panel,.library-card,.desk-dialog,.table-actions-dialog,.sc-dialog,.table-capital-dialog,.strategy-profile,.guided-tour-panel){background:var(--st-surface);color:var(--st-text);border-color:var(--st-border);border-radius:8px;box-shadow:none}
.statera-app :is(.tip,#notice,.progression-verdict){background:var(--st-selected);color:var(--st-text);border-color:var(--st-gold);font-size:14px;line-height:1.5}
.statera-app :is(.muted,.small,.help,.study-note,.tag){color:var(--st-muted)}
.statera-app .small{font-size:13px}.statera-app .muted{font-size:14px}.statera-app .help{font-size:14px;line-height:1.5}
.statera-app :is(.metric,.payout-profile,.strategy-studio,.stress-lab){background:var(--st-surface);border-color:var(--st-border)}
.statera-app :is(.metric span,.desk-label){font-size:13px;letter-spacing:0;text-transform:none;color:var(--st-muted)}
.statera-app :is(.metric strong,.desk-metric strong){font-weight:600;color:var(--st-text)}
.statera-app .metric>strong{font-size:26px!important;line-height:1.2!important}.statera-app .metric>strong.positive{color:var(--st-positive)}.statera-app .metric>strong.negative{color:var(--st-negative)}
.statera-app .metric>strong>*{font-size:inherit!important;line-height:inherit!important}
.statera-app .table-tab.active{background:var(--st-selected)!important;border-color:var(--st-gold)!important;color:var(--st-text)!important;box-shadow:none!important}.statera-app .table-tab.active :is(.tab-name,.tab-close-btn){color:var(--st-text)!important;font-weight:600!important}
.statera-app .table-tab.active :is(.tab-badge-drought,.tab-badge-wait,.tab-badge-attack){background:var(--st-raised)!important;color:var(--st-gold)!important;border-color:var(--st-border)!important}
.statera-app #btnKeypadSubmit{background:var(--st-gold)!important;color:var(--st-bg)!important;box-shadow:none!important;border-color:var(--st-gold)!important}.statera-app #btnKeypadSubmit:disabled{opacity:.6!important;color:var(--st-bg)!important}
.statera-app .mobile-keypad button{box-shadow:none!important;text-shadow:none!important}
.statera-app .desk-selection{align-self:start;min-height:0!important;padding:20px!important;justify-content:flex-start!important;gap:10px!important}.statera-app .desk-selection h3{font-size:24px!important;margin:0!important}.statera-app .desk-selection p{margin:0!important}
.statera-app tbody tr.current{background:var(--st-selected)}
.statera-app :is(table,.table-wrap){font-size:14px}.statera-app th{font-size:13px;letter-spacing:0;color:var(--st-muted)}
.statera-app :is(th,td){border-color:var(--st-border)}
.statera-app :is(.positive,.desk-profit strong,.text-emerald){color:var(--st-positive)}
.statera-app :is(.negative,.text-crimson){color:var(--st-negative)}
.statera-app :is(.desk-root,.desk-ready,.desk-empty,.desk-selection,.desk-positions>div,.desk-metrics){background:var(--st-surface);border-color:var(--st-border);box-shadow:none}
.statera-app :is(.desk-root.active,.desk-root.waiting){border-color:var(--st-gold)}
.statera-app :is(.desk-root-kind,.desk-root-hint,.desk-empty p,.desk-selection p,.desk-muted){color:var(--st-muted)}
.statera-app :is(.desk-total strong,.desk-config,.desk-inline,.desk-rule-link){color:var(--st-gold)}
.statera-app :is(.terminal-topbar,.terminal-subbar,.tabs-bar,.table-tabs-container,.strategy-controls){background:var(--st-bg)!important;border-color:var(--st-border)!important;box-shadow:none!important}
.statera-app :is(.topbar-heading,.topbar-title){font-size:24px!important;line-height:1.2!important;font-weight:650!important;letter-spacing:-.025em!important;text-shadow:none!important}
.statera-app .stat-pill-label{font-size:13px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--st-muted)!important}
.statera-app .stat-pill-val{font-size:28px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:-.02em!important;text-shadow:none!important}
.statera-app :is(.topbar-beacon,.status-beacon,.ticker-label){font-size:13px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}
.statera-app :is(.ticker-empty,.ticker-track,.last-numbers-placeholder){font-style:normal!important;letter-spacing:0!important}
.statera-app .board-num-btn{box-shadow:none!important;text-shadow:none!important;border-radius:6px!important}
/* Mesa number colors use the brand palette; roulette classification stays in the engine. */
.statera-app :is(.num-red,.key-red,.radar-token-badge.badge-red,.ticker-chip.chip-red,.desk-numbers>.red){background:var(--st-game-red)!important;color:var(--st-text)!important;text-shadow:none!important}
.statera-app :is(.num-zero,.key-zero,.radar-token-badge.badge-green,.ticker-chip.chip-green,.desk-numbers>.zero){background:var(--st-game-zero)!important;color:var(--st-game-ink)!important;text-shadow:none!important}
.statera-app :is(.num-red,.key-red,.radar-token-badge.badge-red,.desk-numbers>.red){border-color:var(--st-game-red-border)}
.statera-app :is(.num-zero,.key-zero,.radar-token-badge.badge-green,.desk-numbers>.zero){border-color:var(--st-game-zero)}
.statera-app :is(.num-red,.num-zero,.key-red,.key-zero,.radar-token-badge.badge-red,.radar-token-badge.badge-green) :is(.board-num-text,.keypad-btn-text,.radar-token-num){color:inherit!important;text-shadow:none!important}
.statera-app :is(.num-red,.num-zero,.key-red,.key-zero):hover{filter:brightness(1.06);box-shadow:none!important}
.statera-app :is(.board-num-btn,.num-zero).tactile-flash-active{filter:brightness(1.04)!important}
.statera-app .luxury-tactile-ripple{z-index:0;background:radial-gradient(circle,#ffffff24 0%,#ffffff00 70%)}
.statera-app .radar-token-badge:is(.badge-red,.badge-green){box-shadow:none!important}
.statera-app .luxury-token-orb .token-num.text-emerald{color:var(--st-game-zero)!important}
.statera-app .luxury-token-orb .token-num.text-crimson{color:var(--st-negative)!important}
.statera-app .desk-root-map .desk-red{color:var(--st-negative)!important}
.statera-app :is(.badge-dot,.hud-badge-dot).dot-red{background:var(--st-game-red)!important;border:1px solid var(--st-game-red-border);box-shadow:none!important}
.statera-app :is(.badge-dot,.hud-badge-dot).dot-green{background:var(--st-game-zero)!important;box-shadow:none!important}
.statera-app .terminal-main .roulette-board-section{border-color:var(--st-border)!important}
.statera-app .topbar{padding-block:0 16px;margin-bottom:24px;gap:16px}
.statera-app #page-title{font-size:26px;line-height:1.25;margin:0;font-weight:650}
.statera-app .topbar .eyebrow{display:none}
.statera-app .tag{font-size:12px;letter-spacing:.02em;background:transparent;border-color:var(--st-border)}
.statera-app :is(.freq-cell,.payout-map button,.wheel-center,.library-card){background:var(--st-surface);border-color:var(--st-border)}
.statera-app :is(.bar-track,.sparkline-baseline){background:var(--st-raised)}
.statera-app .guided-tour-panel{border-color:var(--st-gold)}
.statera-app .guided-tour-panel h2{color:var(--st-gold)}
.statera-app .guided-tour-launch{background:transparent;border-color:var(--st-border);color:var(--st-muted);font-size:14px;min-height:36px}
.statera-app .guided-tour-launch:hover{color:var(--st-text);border-color:var(--st-gold)}
@media(max-width:768px){
 .statera-app :is(.topbar-heading,.topbar-title){font-size:18px!important}
 .statera-app .stat-pill-label{font-size:12px!important}
 .statera-app .stat-pill-val{font-size:21px!important}
 .statera-app #page-title{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.statera-app *{scroll-behavior:auto!important}}

/* Shared result chips and number entry use the same palette as the game table. */
.statera-app :is(.number-chip.red,.numpad button.red,.wheel-num.red){background:var(--st-game-red);border-color:var(--st-game-red-border);color:var(--st-text)}
.statera-app :is(.number-chip.zero,.number-chip.green,.numpad button.zero,.wheel-num.zero){background:var(--st-game-zero);border-color:var(--st-game-zero);color:var(--st-game-ink)}
.statera-app .numpad button{font-size:22px;font-weight:600;line-height:1.2;min-height:48px}
.statera-app input[type=range]{accent-color:var(--st-gold)}
.statera-app body.strategy-table-mode .board-num-btn.strategy-covered{outline-color:var(--st-gold)!important;box-shadow:inset 0 -4px 0 var(--st-gold)!important}
.statera-app body.strategy-table-mode .board-num-btn.strategy-covered::after{background:var(--st-gold)}
.statera-app .metric{border:0;border-radius:6px}
.statera-app .metric strong .negative{color:var(--st-negative)}
.statera-app .metric strong .positive{color:var(--st-positive)}
.statera-app #content[data-st-page=session]>.toolbar{margin-top:16px}

/* Classic parameter drawer shares the app brand. */
.statera-app #settingsDrawer #selectGameMode{background:var(--st-input)!important;color:var(--st-text)!important;border-color:var(--st-border)!important}
.statera-app #settingsDrawer #selectGameMode option{background:var(--st-input);color:var(--st-text)}
.statera-app #settingsDrawer :is(#btnSaveConfig,#btnSaveConfigAllTables,#btnSaveConfigAsDefault){background:var(--st-raised)!important;color:var(--st-text)!important;border:1px solid var(--st-border)!important;box-shadow:none!important;font:600 14px/1.4 var(--st-font);min-height:44px;border-radius:6px;letter-spacing:0;text-transform:none;white-space:normal}
.statera-app #settingsDrawer :is(#btnSaveConfigAllTables,#btnSaveConfigAsDefault):hover{border-color:var(--st-gold)!important}
.statera-app #settingsDrawer #btnSaveConfig{background:var(--st-gold)!important;color:var(--st-bg)!important;border-color:var(--st-gold)!important}
.statera-app #settingsDrawer #btnSaveConfig:hover{background:var(--st-gold-hover)!important}
.statera-app #settingsDrawer .popover-section-header{text-transform:none!important;letter-spacing:0!important}
