/* Shared by the shell HUD and the iframe's preferences. No backdrop filters. */
@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
#stage .hud-top{padding:calc(13px + env(safe-area-inset-top,0px)) 13px 12px}
#stage .hud-col{background:linear-gradient(var(--hg-3c5a70,#3c5a70),var(--hg-294458,#294458));border:1.5px solid var(--hg-96b4c8,#96b4c8);border-radius:9px 9px 12px 12px;padding:8px 11px 9px;min-width:92px;box-shadow:0 3px 0 var(--hg-152e42,#152e42),inset 0 2px 0 var(--hg-c7e2f018,#c7e2f018)}
#stage .hud-col .lbl{display:flex;align-items:center;gap:5px;font-size:8px;letter-spacing:.12em;color:var(--hg-bed5e3,#bed5e3);margin-bottom:5px}
#stage .hud-col .lbl svg{height:13px;width:13px;stroke:var(--hg-f5d97b,#f5d97b);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
#stage .hud-col .val{color:var(--hg-fff0b7,#fff0b7);font-size:16px;line-height:1.15;text-shadow:0 2px 0 var(--hg-172e44,#172e44);letter-spacing:-.035em}
#stage .hud-col .sub{color:var(--hg-aec8d9,#aec8d9);font-size:7px;letter-spacing:.04em;margin-top:5px}
#stage .hud-col.right .lbl{justify-content:flex-end}#stage .hud-col.right .val{color:var(--hg-f4f9fb,#f4f9fb)}
#stage .hud-col.right .val.ok{color:var(--hg-c6edb1,#c6edb1);text-shadow:0 1px 0 var(--hg-193c33,#193c33);font-size:11px}
#stage .hud-right{gap:9px}
#stage .hud-center{top:calc(91px + env(safe-area-inset-top,0px));width:calc(100% - 126px);max-width:232px}
#stage #hud-win{color:var(--hg-fff5ca,#fff5ca);text-shadow:0 2px 0 var(--hg-29445b,#29445b),1px 0 0 var(--hg-29445b,#29445b),-1px 0 0 var(--hg-29445b,#29445b),0 -1px 0 var(--hg-29445b,#29445b);line-height:1.15;font-size:clamp(19px,15cqi,34px)}
#stage #hud-barwrap{height:8px;margin-top:8px;width:84%;background:var(--hg-294357,#294357);border:1px solid var(--hg-91aec0,#91aec0);box-shadow:0 2px 0 var(--hg-21394d,#21394d);border-radius:4px}
#stage #hud-bar{border-radius:2px;background:linear-gradient(var(--hg-fff0a6,#fff0a6),var(--hg-e6b948,#e6b948));box-shadow:inset 0 1px 0 var(--hg-fff9d5,#fff9d5)}
#stage #btn-sair,#stage #btn-sound,body #helix-options{border:1.5px solid var(--hg-9ebace,#9ebace);border-radius:11px;background:linear-gradient(var(--hg-496980,#496980),var(--hg-2b475e,#2b475e));color:var(--hg-eff7fa,#eff7fa);box-shadow:0 4px 0 var(--hg-172f44,#172f44),inset 0 2px 0 var(--hg-d8edf025,#d8edf025);min-height:44px;transition:transform .12s,box-shadow .12s;touch-action:manipulation}
#stage #btn-sair{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 10px;font-size:9px;min-width:60px}
#stage #btn-sair svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#stage #btn-sound,body #helix-options{width:46px;height:46px;bottom:calc(19px + env(safe-area-inset-bottom,0px))}
#stage #btn-sound{right:14px}body #helix-options{left:14px}
#stage #btn-sound svg{fill:var(--hg-f0e1a5,#f0e1a5);width:21px;height:21px}#stage #btn-sound svg [stroke]{stroke:var(--hg-f0e1a5,#f0e1a5)}
body #helix-options svg{color:var(--hg-f0e1a5,#f0e1a5);width:22px;height:22px;stroke-width:1.9}
#stage #btn-sair:active,#stage #btn-sound:active,body #helix-options:active{transform:translateY(3px);box-shadow:0 1px 0 var(--hg-172f44,#172f44),inset 0 1px 0 var(--hg-d8edf025,#d8edf025)}
#stage #btn-cash{bottom:calc(85px + env(safe-area-inset-bottom,0px));min-width:242px;min-height:60px;gap:13px;padding:9px 14px 10px;border:2px solid var(--hg-fff3b8,#fff3b8);border-radius:16px;background:linear-gradient(var(--hg-ffe898,#ffe898),var(--hg-f3ce5c,#f3ce5c));box-shadow:0 6px 0 var(--hg-a17d31,#a17d31),0 8px 0 var(--hg-314458,#314458),inset 0 2px 0 var(--hg-fff9d7,#fff9d7);max-width:calc(100% - 42px);color:var(--hg-3c361e,#3c361e);transition:box-shadow .12s}
#stage #btn-cash .cash-emblem{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--hg-c5943433,#c5943433);border:1px solid var(--hg-b4913959,#b4913959);box-shadow:inset 0 1px 1px var(--hg-b3853a30,#b3853a30);flex:0 0 auto}
#stage #btn-cash .cash-emblem svg{width:25px;height:25px;stroke:var(--hg-6b5429,#6b5429);stroke-width:1.8;stroke-linejoin:round}
#stage #btn-cash .cash-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}
#stage #btn-cash .cash-label{font-size:9px;line-height:1.2;letter-spacing:.14em;color:var(--hg-776030,#776030)}
#stage #btn-cash #cash-val{font-size:clamp(17px,5vw,22px);line-height:1.2;letter-spacing:-.035em;color:var(--hg-3b361e,#3b361e)}
#stage #btn-cash .cash-arrow{width:19px;height:19px;stroke:var(--hg-6b5429,#6b5429);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
#stage #btn-cash:active{box-shadow:0 3px 0 var(--hg-a17d31,#a17d31),0 5px 0 var(--hg-314458,#314458),inset 0 2px 0 var(--hg-fff9d7,#fff9d7)}
#stage #btn-sound:focus-visible,#stage #btn-sair:focus-visible,#stage #btn-cash:focus-visible,body #helix-options:focus-visible{outline:3px solid var(--hg-f8d978,#f8d978);outline-offset:4px}
body #helix-signature{bottom:calc(23px + env(safe-area-inset-bottom,0px));background:linear-gradient(var(--hg-3d5b71,#3d5b71),var(--hg-2b465b,#2b465b));border:1px solid var(--hg-95b3c7,#95b3c7);border-radius:7px 7px 12px 12px;padding:7px 12px 8px;box-shadow:0 3px 0 var(--hg-1a3246,#1a3246),inset 0 1px 0 var(--hg-c6e2ee20,#c6e2ee20);color:var(--hg-f6e3a0,#f6e3a0);font:900 9px/1.2 Montserrat,sans-serif;letter-spacing:.14em;gap:4px}
body #helix-level{color:var(--hg-c0d8e5,#c0d8e5);font-size:7px;letter-spacing:.08em}
/* Selection screens use the same bevels and selected gold border. */
#stage #ov-bet .panel,body #helix-controls{background:linear-gradient(145deg,var(--hg-36546a,#36546a),var(--hg-253f53,#253f53));border:2px solid var(--hg-95b5c8,#95b5c8);border-radius:20px;box-shadow:0 6px 0 var(--hg-172f43,#172f43),inset 0 2px 0 var(--hg-bed9e520,#bed9e520);color:var(--hg-edf5f8,#edf5f8)}
#stage #ov-bet .panel-brand{color:var(--hg-f5de92,#f5de92)}#stage #ov-bet h2,body #helix-controls h2{color:var(--hg-fff2bd,#fff2bd);text-shadow:0 2px 0 var(--hg-1c3448,#1c3448)}
#stage #ov-bet .mut,#stage #ov-bet .betmeta,body #helix-controls .helix-help,body #helix-controls .helix-range-labels,body #helix-world-description,body #helix-controls .helix-performance p,body #helix-round-sequence,body #helix-controls .helix-record p{color:var(--hg-b7cfdd,#b7cfdd)}
#stage #ov-bet .betmeta{border-color:var(--hg-7896a852,#7896a852)}#stage #ov-bet .betmeta b{color:var(--hg-f6e4a7,#f6e4a7)}#stage #ov-bet .meta-pill{background:var(--hg-1f374a,#1f374a);border-color:var(--hg-65839a,#65839a);color:var(--hg-d8e9f0,#d8e9f0)}
#stage #ov-bet .step-val{background:var(--hg-1b3448,#1b3448);border:1px solid var(--hg-7293a8,#7293a8);color:var(--hg-fff0b0,#fff0b0);border-radius:10px;box-shadow:inset 0 3px 0 var(--hg-11273730,#11273730)}
#stage #ov-bet .step-btn,#stage #ov-bet .chip{background:linear-gradient(var(--hg-49677e,#49677e),var(--hg-334e64,#334e64));border:1px solid var(--hg-8aa9be,#8aa9be);box-shadow:0 3px 0 var(--hg-152f43,#152f43);color:var(--hg-f4f7f9,#f4f7f9);border-radius:9px}
#stage #ov-bet .chip.sel{background:linear-gradient(var(--hg-f7df90,#f7df90),var(--hg-eac45c,#eac45c));color:var(--hg-493d25,#493d25);border-color:var(--hg-fff2bf,#fff2bf);box-shadow:0 3px 0 var(--hg-8e7338,#8e7338)}
#stage #ov-bet .btn-big,#stage #ov-win .btn-big,body #helix-controls-close{background:linear-gradient(var(--hg-ffe99e,#ffe99e),var(--hg-efcc65,#efcc65));color:var(--hg-3e3a23,#3e3a23);border:2px solid var(--hg-fff0b4,#fff0b4);box-shadow:0 4px 0 var(--hg-967839,#967839);border-radius:12px;text-shadow:none}
#stage #ov-bet .btn-ghost{background:var(--hg-2a465b,#2a465b);color:var(--hg-d4e6ef,#d4e6ef);border-color:var(--hg-779aae,#779aae);box-shadow:0 3px 0 var(--hg-1b3348,#1b3348)}
body #helix-controls{font-family:Montserrat,sans-serif;scrollbar-color:var(--hg-7b9daf,#7b9daf) var(--hg-294558,#294558)}
body #helix-controls label,body #helix-controls legend,body #helix-controls .helix-record strong{color:var(--hg-e0edf5,#e0edf5)}
body #helix-controls output,body #helix-best-sequence{color:var(--hg-f7df96,#f7df96)}
body #helix-controls select{background:var(--hg-1d374b,#1d374b);color:var(--hg-e0edf4,#e0edf4);border:1px solid var(--hg-7899af,#7899af);font-family:Montserrat,sans-serif;border-radius:8px;min-height:44px}
body #helix-controls .helix-skin{background:linear-gradient(var(--hg-446178,#446178),var(--hg-304b60,#304b60));color:var(--hg-c7dce8,#c7dce8);border:1px solid var(--hg-7394ab,#7394ab);box-shadow:0 3px 0 var(--hg-1c3448,#1c3448);border-radius:12px}
body #helix-controls .helix-skin[aria-pressed=true]{background:var(--hg-4d6475,#4d6475);color:var(--hg-fff0b1,#fff0b1);border:2px solid var(--hg-f5d778,#f5d778);box-shadow:0 3px 0 var(--hg-a08239,#a08239)}
body #helix-controls .helix-record,body #helix-vibration-row{border-color:var(--hg-718d9e52,#718d9e52)}
body #helix-controls input{accent-color:var(--hg-f1d16f,#f1d16f)}body #helix-controls-close{font-family:Montserrat,sans-serif;font-weight:900;min-height:48px}
body #helix-controls-close:active{transform:translateY(3px);box-shadow:0 1px 0 var(--hg-967839,#967839)}
@media(max-width:380px){#stage .hud-top{padding-inline:10px}#stage .hud-col{min-width:84px;padding:7px 8px 8px}#stage .hud-col .val{font-size:14px}#stage .hud-col .sub{font-size:6.5px}#stage .hud-center{top:calc(87px + env(safe-area-inset-top,0px));width:calc(100% - 122px)}#stage #btn-cash{min-width:220px;gap:10px;padding-inline:12px}body #helix-signature{padding-inline:9px;font-size:8px;letter-spacing:.11em}body #helix-level{font-size:6.5px}}
@media(prefers-reduced-motion:reduce){#stage #btn-cash,#stage #btn-sair,#stage #btn-sound,body #helix-options,body #helix-controls *{animation:none!important;transition:none!important}}
#stage #btn-cash{width:min(300px,calc(100% - 48px));min-width:0}
body #helix-controls-close{position:sticky;bottom:0;z-index:1}
body #helix-controls .helix-help{margin-bottom:17px}body #helix-controls fieldset{margin-bottom:16px}body #helix-controls .helix-record{padding-block:12px;margin-bottom:14px}
@media(max-width:380px){#stage #btn-cash #cash-val{font-size:18px}}
#stage #ov-bet .err{color:var(--hg-ffb7a4,#ffb7a4)}
#stage #ov-bet .chip{transition:transform .12s}
#stage #ov-bet .chip:active,#stage #ov-bet .step-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--hg-152f43,#152f43)}
/* Desktop uses the complete browser viewport. Touch layouts retain their sizing. */
@media(hover:hover) and (pointer:fine){
 html,body{overflow:hidden}
 body #stage{width:100%;max-width:none;height:100dvh;aspect-ratio:auto;border-radius:0;box-shadow:none}
}
@media(min-width:900px) and (hover:hover) and (pointer:fine){
 #stage .hud-top{padding:28px 32px;gap:24px}
 #stage .hud-col{min-width:126px;padding:12px 16px 13px;border-radius:11px 11px 15px 15px}
 #stage .hud-col .lbl{font-size:9px;gap:7px;margin-bottom:7px}
 #stage .hud-col .lbl svg{width:16px;height:16px}
 #stage .hud-col .val{font-size:20px}
 #stage .hud-col .sub{font-size:8px;margin-top:7px}
 #stage .hud-col.right .val.ok{font-size:14px}
 #stage .hud-center{top:28px;width:300px;max-width:300px}
 #stage #hud-win{font-size:42px}
 #stage #hud-barwrap{width:200px;max-width:200px;height:9px;margin-top:12px}
 #stage #btn-sair{min-width:80px;min-height:44px;font-size:11px;gap:8px}
 #stage #btn-sair svg{height:18px;width:18px}
 #stage #btn-cash{bottom:32px;width:320px;max-width:320px;min-height:66px;padding:11px 17px;border-radius:17px;gap:16px}
 #stage #btn-cash .cash-label{font-size:10px}
 #stage #btn-cash #cash-val{font-size:24px}
 #stage #btn-cash .cash-emblem{width:38px;height:38px}
 #stage #btn-sound,body #helix-options{width:54px;height:54px;bottom:32px;border-radius:13px}
 #stage #btn-sound{right:32px}body #helix-options{left:32px}
 #stage #btn-sound svg,body #helix-options svg{height:25px;width:25px}
 body #helix-signature{left:104px;bottom:37px;transform:none;padding:9px 14px;font-size:10px}
 body #helix-level{font-size:8px}
 #stage .ov{padding:30px}
 #stage #ov-bet .panel{max-width:380px}
 body #helix-controls{max-width:380px}
}
@media(min-width:900px) and (max-height:600px) and (hover:hover) and (pointer:fine){
 #stage .hud-top{padding:16px 22px}#stage .hud-center{top:16px}
 #stage #btn-cash{bottom:20px;min-height:58px}
 #stage #btn-sound,body #helix-options{bottom:20px}
 body #helix-signature{bottom:25px}
}
