/* CYBER SAMURAI. Theme art and surfaces over the retained layout and feel. */
:root{color-scheme:dark;--accent:#ffb638;--secondary:#51d9e8;--background:#080d10;--surface:#141c22;--raised:#202d35;--text:#f0eee5;--muted:#aab9bd;--border:#52616a;--highlight:#674c24}
body,#app{background:radial-gradient(ellipse at 50% 35%,#1b343c 0%,#080d10 64%)}
.ambient-art{opacity:.17;filter:blur(24px) saturate(.6)}
.game-design .cabinet{background:#080d10;box-shadow:0 0 0 1px #66758044,0 12px 50px #000a}
.game-design .topbar{background:linear-gradient(180deg,#233039,#111a20);border-bottom:1px solid #bd8f3c88}
.game-design .brand{color:#eae4d2;font-style:italic;letter-spacing:.5px;font-weight:900}
.game-design .brand-glyph{background:#080d10 url('./assets/app/icon-32.png') center/cover;border:1px solid #96743d;font-size:0;border-radius:3px;box-shadow:0 0 10px #ffb63822}
.game-design .icon-button,.game-design .settings-button,.game-design .mode-button,.game-design .turbo-button{background:linear-gradient(#273640,#101b23);border:1px solid #556774;color:#e8d9b6;box-shadow:inset 0 1px #cedbe51a;border-radius:3px}
.game-design .icon-button:hover,.game-design .settings-button:hover{color:var(--accent);border-color:var(--accent)}
.game-design .icon-button[aria-pressed=true],.game-design .turbo-button[aria-pressed=true],.game-design .console-modes #auto[aria-pressed=true]{color:#fff2c7;border-color:#efb548;background:linear-gradient(#73501c,#3d2b13);box-shadow:inset 0 0 12px #fdb33a33,0 0 8px #ffb63833}
.game-design .stage{background:#080d10}.game-design .stage-shade{background:linear-gradient(0deg,#080d1080,transparent 22%)}
.game-design .play-area,.game-design .machine-console{background:#080d10}
.game-design .fever-meter{background:linear-gradient(90deg,#1a242a,#121a20);border-color:#4d6871}
.game-design .fever-meter-heading{color:#b8cbd0}.game-design .fever-meter-heading b{color:#ffbb51}.game-design .fever-meter-heading strong{color:#f5d188}
.game-design .fever-track{background:#090e12;border-color:#52616a}
.game-design .fever-track>i{background:linear-gradient(90deg,#29b7cf,#ffd17a);box-shadow:0 0 8px #45dcec88}
.game-design .fever-active .fever-track>i{background:linear-gradient(90deg,#e58720,#fff1be);box-shadow:0 0 10px #ffb638}
.game-design .fever-active .fever-meter-heading b{display:none}
.game-design .critical-strip{background:linear-gradient(#1d282f,#0c151b);border-color:#52616a}.game-design .critical-strip>span{color:#c4b68d}
.game-design .critical-bar>span{background:#0b141a;color:#627681;border-color:#364953;--factor-color:#e9dfbb}
.game-design .critical-bar>span[data-factor="2"]{--factor-color:#6adde8}.game-design .critical-bar>span[data-factor="3"]{--factor-color:#b9e6e9}.game-design .critical-bar>span[data-factor="4"]{--factor-color:#f5b74b}.game-design .critical-bar>span[data-factor="5"]{--factor-color:#ffe4a8}
.game-design .critical-bar>span.available{background:#17313a;color:var(--factor-color);border-color:#568995;box-shadow:inset 0 0 8px #52e4f126}
.game-design .critical-bar>span.selected.available{color:#fff3d2;background:#64461e;border-color:#efb548;box-shadow:inset 0 0 10px #ffbe4c55}
.game-design .critical-bar>span:after{border-color:#fff0c8;background:#ffcb7655;box-shadow:0 0 7px var(--factor-color)}
.game-design .critical-bar[data-phase=landed]>.available:not(.selected){color:#788d99;background:#111e27;border-color:#354a58;box-shadow:none}
.game-design .reel-frame:before{clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,8% 11.915%,8% 88.085%,92% 88.085%,92% 11.915%,8% 11.915%);filter:none}
.game-design .reels{background:#080f14;border-radius:1px}.game-design .symbol-cell{background:radial-gradient(ellipse,#24313877,#0b141bee 85%);border-color:#61798b33}.game-design .symbol-cell:is(.pink,.gold,.purple){border-color:#61798b33}
.game-design .symbol-cell{container-type:size}
.game-design .reels .symbol-art,.game-design .animated-symbol{position:absolute;inset:0;margin:auto;width:min(100cqw,100cqh);height:min(100cqw,100cqh);aspect-ratio:1}
.game-design .winning{box-shadow:inset 0 0 20px #ffb63844;border-color:#dba64f!important}
.game-design .payline-overlay polyline{stroke:#ffd283;filter:drop-shadow(0 0 4px #e08c15)}
.game-design .machine-console:before{clip-path:none;filter:none}.game-design .machine-console .wallet span,.game-design .bet-control>span{color:#bdc7c8}
.game-design .machine-console #credits,.game-design .machine-console #bet{color:#f0eddf}.game-design .machine-console #win{color:#ffd276}
.game-design .machine-console .credit-add{color:#ffd276;background:#28343a;border-color:#6f7465;border-radius:3px}
/* Align the readouts within the recessed screen; keep a clear bottom bezel. */
.game-design .console-screen{left:28px;top:21px;width:344px;height:22px}
.game-design .machine-console .wallet{width:344px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.game-design .machine-console .wallet>div{padding:0 3px;align-items:center}
.game-design .machine-console .wallet>div+div{padding-left:10px;padding-right:5px}
.game-design .machine-console .wallet #win{line-height:22px;font-size:18px}
.game-design .machine-console .wallet #credits{height:22px}
.game-design .machine-console .credit-add{width:20px;height:20px;flex-basis:20px;padding:3px}
.game-design .machine-console .credit-add svg{width:14px;height:14px}
.game-design .machine-console .spin-button>span{display:block;flex:0 0 82%;width:82%;max-width:82%;overflow:visible;line-height:1.16;text-align:center;color:#fff8df;-webkit-text-fill-color:#fff8df;text-shadow:0 2px 2px #301600,0 0 6px #542c06;font-style:italic;letter-spacing:.5px}
.game-design .machine-console .spin-button>span{position:absolute;left:9%;top:50%;transform:translateY(-50%)}
/* Fit the controls inside this artwork's two recessed wells, including focus rings. */
.game-design .console-modes{width:70px;height:56.5px;margin-left:2px;grid-template-rows:20px 24px;gap:12.5px}
.game-design .console-modes .turbo-button{width:70px;height:20px;padding:1px 7px;gap:3px;font-size:11.5px}
.game-design .console-modes .turbo-button svg{width:14px;height:14px}
.game-design .console-modes .turbo-button>span{display:block;flex:1;min-width:0;text-align:center}
.game-design .console-modes .auto-control-row{grid-template-columns:42px 24px;gap:4px;height:24px}
.game-design .console-modes .auto-control-row .mode-button{height:24px;padding:2px 4px}
.game-design .console-modes #auto-label{display:block;width:100%;min-width:0;text-align:center}
.game-design .console-modes .settings-button{width:24px;height:24px;padding:3px}
.game-design .console-modes .settings-button svg{width:16px;height:16px}
.game-design .console-modes button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.game-design .console-modes button[aria-pressed=true]{box-shadow:inset 0 0 10px #fdb33a44}
.game-design .fever-active .reel-frame:before,.game-design .fever-active .machine-console:before,.game-design .fever-active .spin-button{filter:brightness(1.12)}
.game-design .fever-active .reel-frame:after{border-color:#ffc55e66;box-shadow:0 0 20px #ffab3944}
.game-design .impact-canvas,.game-design .impact-flash,.game-design .spin-sprite{filter:none;mix-blend-mode:screen}.game-design .impact-canvas{background:transparent}
.game-design .impact-flash{background:radial-gradient(ellipse at 50% 55%,#fff2ce 0%,#7deeff 15%,transparent 75%)}
.game-design .spin-sprite{inset:50% auto auto 50%;width:auto;height:90%;aspect-ratio:1;transform:translate(-50%,-50%)}
.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 #070b0f}
.game-design .combo-callout>span{color:#91e8ed;letter-spacing:.6px}.game-design .combo-callout>strong{color:#ffe1a1;text-shadow:0 3px 1px #080d10,0 0 12px #b76a16}
.game-design .combo-callout>b,.game-design .combo-callout>small{color:#e2f1ef}.game-design .cabinet[data-award=epic] .combo-callout>strong{color:#fff0b9;text-shadow:0 0 16px #fdad32,0 3px 1px #351b0a}
.game-design #overlay-amount{color:#fff0cd!important;-webkit-text-fill-color:#fff0cd!important;text-shadow:0 2px 1px #241702,0 0 9px #b37529}
dialog{background:linear-gradient(135deg,#20303a,#101a21 68%);border:1px solid #8e7957;border-radius:9px;box-shadow:0 20px 70px #000b,inset 0 1px #c6d3d433}
dialog::backdrop{background:#02090dbe;backdrop-filter:blur(6px)}dialog .dialog-heading{background:#1a2832;color:#f4e5bf}dialog h2,dialog h3{color:#f2dfb2;letter-spacing:1px}dialog .dialog-heading small{color:#91cbd0}
dialog :is(p,small,label,.setting-hint),#demo-dialog .preview-intro,.preview-player p,#preview-machine>p{color:#b5c7cd}
dialog button,dialog .demo-options button,dialog .demo-options button:last-child,dialog .credit-packs button,dialog .settings-tabs button,dialog .preview-tabs button,dialog .preview-transport button,dialog .preview-back{color:#e9e7d9;background:linear-gradient(140deg,#2b3d47,#13232d);border:1px solid #627985;border-radius:5px}
dialog button:hover{border-color:#dba84f}dialog button:focus-visible{outline:2px solid #ffe0a1;outline-offset:3px}
dialog :is(button[aria-selected=true],button[aria-pressed=true],.credit-packs button.selected,.bet-presets button.selected){background:linear-gradient(135deg,#705025,#392b1c);color:#fff0c6;border-color:#e8b453;box-shadow:inset 0 0 12px #ffd17922}
dialog .primary-dialog-button{background:linear-gradient(135deg,#dd9f36,#9a5e16);color:#fff6dc;border:1px solid #ffd077;text-shadow:0 1px 1px #61401c}dialog .primary-dialog-button:disabled{opacity:.45}
dialog :is(.simulation-notice,.audio-channel,.auto-check,.reactor-preview,select,input,.auto-stop-options .check-row,.reactor-rules,.reactor-tier-list>div,.credit-warning-balance){background:#0f1d25;border-color:#4e6a78;color:#c5d7dc}
dialog .auto-stop-options .check-row:has(input:checked){background:#3d3321;border-color:#c49649;color:#fff0cd}
dialog input[type=range],dialog input[type=checkbox],#preview-seek{accent-color:#ffbe50}
dialog :is(.audio-value,.audio-channel output,.credit-packs strong,.reactor-tier-list span,.reactor-tier-list small){color:#ffcd78}dialog .credit-packs b{color:#e6ebdf}dialog .credit-packs em{color:#9fbbc6}
dialog :is(.preview-group h3,table th,table td,section,.settings-actions,.settings-footer){border-color:#506775}dialog .preview-group h3{color:#84d8e2}dialog .preview-transport output{color:#efdcaf}
dialog .audio-track{color:#c2e4e7}dialog .audio-track small{color:#9db6c1}.game-design .machine-console.auto-running:after{border-color:#ffba3a55}
@keyframes critical-lock{from{background:#fff2cd;color:#403019}to{background:#64461e;color:#fff3d2}}
.game-design .hero-status{position:absolute;left:12px;bottom:9px;z-index:4;display:flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:4px 7px;background:#09141cce;border-left:2px solid #ffb638;pointer-events:none;font:11px/1.3 'Noto Sans TC',sans-serif;text-shadow:0 1px 2px #000}
.game-design .hero-status[hidden]{display:none}.hero-status>span{font-size:9px;color:#a4c3cd}.hero-status>strong{color:#f7dfa9;overflow-wrap:anywhere}
.preview-state-guide{margin:0 0 14px;padding:10px 12px;border:1px solid #506775;border-radius:5px;background:#0f1d25;color:#c5d7dc;font-size:13px;line-height:1.65}
.preview-state-guide summary{cursor:pointer;color:#ffcf83;font-weight:700}.preview-state-guide p:last-child{margin-bottom:0}
#demo-dialog .preview-clip-thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:3px;background:#080d10}
#demo-dialog .demo-options button{gap:7px}#demo-dialog .demo-options button b{color:#8ad9e2;font-size:11px;line-height:1.4}
#demo-dialog .preview-usage{display:block;border-top:1px solid #51677288;padding-top:7px;color:#d8c8a9;font-size:12px;line-height:1.6;font-style:normal}
