/* Presentation tokens: change these through theme.palette, never through geometry. */
:root{--surface:#292929;--raised:#363636;--text:#ededed;--muted:#b9b9b9;--border:#777777;--highlight:#525252;--accent:#dedede;--secondary:#b8b8b8;--background:#202020}
body,#app,.game-design .cabinet{color:var(--text);background:var(--background)}
.ambient-art:after,.scan-line{display:none}.brand-glyph{clip-path:none;border-radius:4px}
.game-design .topbar,.game-design .fever-meter,.game-design .critical-bar,.game-design .play-area{background:var(--surface);border-color:var(--border)}
.game-design .icon-button,.game-design .mode-button,.game-design .turbo-button{background:var(--raised);color:var(--text);border-color:var(--border)}
dialog{background:var(--surface);border:1px solid var(--border);color:var(--text)}
dialog p,dialog small,dialog label{color:var(--muted)}
dialog button,dialog .demo-options button,dialog .demo-options button:last-child,dialog .pack-card,dialog .settings-tabs button{background:var(--raised);color:var(--text);border-color:var(--border);clip-path:none}
dialog button[aria-selected=true],dialog button[aria-pressed=true],dialog .pack-card.selected{background:var(--highlight);border-color:var(--accent)}
input[type=range],input[type=checkbox]{accent-color:var(--accent)}
.game-design .win-overlay,.game-design .combo-callout,.game-design .combo-callout.fever-announcement{background:none;border:0;box-shadow:none;backdrop-filter:none;text-shadow:0 2px 3px #111}
.game-design .spin-sprite{inset:50% auto auto 88%;width:auto;height:90%;aspect-ratio:1;transform:translate(-50%,-50%)}
.game-design .impact-canvas,.game-design .impact-flash,.game-design .spin-sprite{filter:grayscale(1)}
/* Complete film browser; media geometry is independent of theme colors. */
#demo-dialog [hidden]{display:none!important}
#demo-dialog .preview-intro{font-size:12px;line-height:1.7;color:#c5c5c5}
.preview-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.preview-tabs button,.preview-transport button,.preview-back{padding:10px 12px;border:1px solid #858585;border-radius:7px;background:#2a2a2a;color:#dedede;font:700 13px system-ui}
.preview-tabs button[aria-selected=true]{background:linear-gradient(145deg,#575757,#373737);border-color:#dedede;color:#f1f1f1}
.preview-group{margin:18px 0 24px}.preview-group h3{font:700 13px system-ui;letter-spacing:1px;color:#cecece;border-bottom:1px solid #4d4d4d;padding-bottom:8px}
#demo-dialog .demo-options{gap:10px}#demo-dialog .demo-options button{min-width:0;padding:14px 11px;text-align:left;min-height:104px;clip-path:none}
#demo-dialog .demo-options button span{font-size:15px;line-height:1.35}#demo-dialog .demo-options button small{font-size:11px;line-height:1.6;margin-top:6px}#demo-dialog .demo-options button b{font-size:10px;letter-spacing:.4px;margin-bottom:7px}
.preview-player h3{font:800 21px system-ui;color:#f1f1f1;margin:16px 0 8px}.preview-player p{font-size:12px;line-height:1.7;color:#c5c5c5}
#preview-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#0b0b0b;border:1px solid #7a7a7a;border-radius:8px;margin:14px 0}
.preview-transport{display:flex;gap:8px;align-items:center}.preview-transport output{margin-left:auto;font:12px system-ui;color:#e4e4e4;font-variant-numeric:tabular-nums}
#preview-seek{width:100%;margin:16px 0 4px;accent-color:#a7a7a7}#preview-player-status{min-height:21px}
.preview-back{background:transparent;padding:7px 11px}#preview-machine>p{font-size:12px;line-height:1.7;color:#c5c5c5}

/* Shared appearance across secondary surfaces. Override tokens, not each dialog. */
dialog h2,dialog h3,dialog strong,dialog b,.preview-transport output{color:var(--text)}
dialog :is(p,small,label),#demo-dialog .preview-intro,.preview-player p,#preview-machine>p{color:var(--muted)}
dialog :is(.preview-tabs button,.preview-transport button,.preview-back,.settings-tabs button,.credit-packs button,.bet-options button,.sound-switch){background:var(--raised);border-color:var(--border);color:var(--text)}
dialog :is(button[aria-selected=true],button[aria-pressed=true],.credit-packs button.selected){background:var(--highlight);border-color:var(--accent)}
dialog :is(.simulation-notice,.audio-channel,.auto-check,.reactor-preview,select,input){background:var(--surface);border-color:var(--border);color:var(--text)}
dialog :is(.preview-group h3,table th,table td,section,.settings-actions){border-color:var(--border)}
dialog :is(.audio-value,.credit-packs strong,.reactor-tier-list span,.reactor-tier-list small){color:var(--accent)}
#preview-video{background:var(--background);border-color:var(--border)}#preview-seek{accent-color:var(--accent)}
.game-design .critical-bar>span{background:var(--background);color:var(--muted);border-color:var(--border)}
.game-design .critical-bar>span:is(.active,.selected,.available){background:var(--highlight);color:var(--text)}
.game-design :is(.fever-meter b,.fever-meter strong,.combo-callout strong,.combo-callout b){color:var(--accent)}
.game-design .fever-track>i{background:var(--accent);box-shadow:0 0 8px var(--accent)}
