:root{--orange:#ff8a00;--orange-2:#ffb23f;--gold:#ffd36b;--ink:#fff6e6;--muted:#d9b98f;--bg:#140800;--panel:#1a0c03db;--line:#ffbe5a59;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;margin:0;overflow:hidden}body{font-family:var(--font-ui);-webkit-user-select:none;user-select:none;touch-action:manipulation}#stage{position:fixed;inset:0}#stage canvas{display:block}button{font:inherit;color:inherit;cursor:pointer}button:hover:not(:disabled){filter:brightness(1.08)}svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}#loader{z-index:50;background:radial-gradient(circle at 50% 40%,#3a1a04,#120700 70%);place-content:center;justify-items:center;gap:14px;transition:opacity .4s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;pointer-events:none}.spinner{border:4px solid #ffaa3c40;border-top-color:var(--orange);border-radius:50%;width:46px;height:46px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#loader p{color:var(--muted);letter-spacing:.04em;margin:0;font-size:14px}#topbar{padding:calc(8px + var(--safe-t)) 10px 0;z-index:5;pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}#topbar>*{pointer-events:auto}.top-right{gap:8px;display:flex}.icon-btn{border:1px solid var(--line);width:38px;height:38px;color:var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140902b3;border-radius:50%;place-items:center;text-decoration:none;display:grid}.icon-btn svg{width:20px;height:20px}#btn-sound .mute{display:none}#btn-sound.off .mute{display:inline}#btn-sound.off .wave{display:none}#feature-bar{white-space:nowrap;background:linear-gradient(#b33c00,#6e1d00);border:1px solid #ffb35a;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex;box-shadow:0 0 18px #ff78008c}#feature-bar[hidden]{display:none}.fs-title{font-family:var(--font-display);letter-spacing:.05em;color:#ffe1a8;font-weight:400}.fs-mult{color:#fff;background:#ff8a00;border-radius:6px;padding:0 6px;font-weight:900}.fs-total{color:#ffd9a0}#fs-count{font-variant-numeric:tabular-nums}@media (width<=520px){#feature-bar{border-radius:14px;grid-template-columns:auto auto auto;justify-items:center;gap:0 6px;padding:4px 12px;font-size:12px;display:grid}.fs-total{grid-column:1/-1;font-size:11px}}#panel{padding:8px 10px calc(6px + var(--safe-b));z-index:5;background:linear-gradient(#14080100 0%,#140801eb 22%,#140800 100%);position:fixed;bottom:0;left:0;right:0}.meters{grid-template-columns:1fr 1fr 1fr;gap:6px;max-width:560px;margin:0 auto 8px;display:grid}.meter{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:10px;min-width:0;padding:5px 8px}.meter span{letter-spacing:.12em;color:var(--muted);font-size:10.5px;font-weight:700;display:block}.meter b{font-family:var(--font-display);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:400;display:block;overflow:hidden}.meter-win b{color:var(--gold)}.meter-win.flash{animation:.6s ease-out flash}@keyframes flash{0%{box-shadow:0 0 #fa00}30%{box-shadow:0 0 22px #ffaa00e6}to{box-shadow:0 0 #fa00}}.controls{justify-content:center;align-items:center;gap:12px;max-width:560px;margin:0 auto;display:flex}.round-btn{border:1px solid var(--line);width:46px;height:46px;color:var(--gold);background:radial-gradient(circle at 50% 35%,#5a2b08,#241002);border-radius:50%;font-size:26px;line-height:1;box-shadow:inset 0 1px #ffdc9640,0 3px 8px #00000080}.round-btn:active{transform:translateY(1px)}.round-btn:disabled,.side-btn:disabled{opacity:.35}#btn-spin{color:#fff;background:radial-gradient(circle at 50% 30%,#ffc04d 0%,#ff8a00 45%,#c44f00 100%);border:3px solid #ffd27a;border-radius:50%;place-items:center;width:86px;height:86px;transition:transform 80ms;display:grid;position:relative;box-shadow:0 0 0 4px #5a2800bf,0 0 26px #ff8200a6,inset 0 -6px 12px #78280099,inset 0 6px 10px #fff0c88c}#btn-spin svg{stroke-width:6px;filter:drop-shadow(0 2px 2px #50140099);width:46px;height:46px}#btn-spin:active{transform:scale(.95)}#btn-spin.spinning svg{animation:.6s linear infinite spin}#btn-spin.auto svg{display:none}#spin-label{font-family:var(--font-display);text-shadow:0 2px 2px #501400b3;font-size:22px;font-weight:400;position:absolute}#btn-spin:disabled{filter:grayscale(.6)brightness(.7)}.side-btn{border:1px solid var(--line);background:var(--panel);min-width:56px;color:var(--gold);border-radius:12px;justify-items:center;gap:2px;padding:6px 4px;display:grid}.side-btn svg{width:20px;height:20px}.side-btn small{letter-spacing:.08em;color:var(--muted);font-size:9px}.side-btn.on{color:#fff;background:linear-gradient(#ff9a1f,#b34700);border-color:#ffd27a}.side-btn.on small{color:#fff}.side-stack{gap:6px;display:grid}.side-btn.small{grid-template-columns:auto auto;align-items:center;gap:4px;min-width:54px;padding:4px}.side-btn.small svg{width:16px;height:16px}.demo-note{text-align:center;color:#e6c8a0b3;letter-spacing:.02em;margin:6px 0 0;font-size:10.5px}.demo-note b{color:var(--gold)}.modal{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050200b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.sheet{border:1px solid var(--line);width:min(640px,100%);max-height:86vh;padding:18px 16px calc(18px + var(--safe-b));background:linear-gradient(#2c1404,#160800);border-bottom:0;border-radius:18px 18px 0 0;animation:.25s ease-out up;position:relative;overflow:auto}@media (width>=700px){.modal{align-items:center}.sheet{border-bottom:1px solid var(--line);border-radius:18px}}@keyframes up{0%{opacity:0;transform:translateY(30px)}}.close{width:36px;height:36px;color:var(--muted);background:0 0;border:0;font-size:28px;position:absolute;top:8px;right:10px}.sheet h2{font-family:var(--font-display);letter-spacing:.02em;color:var(--gold);margin:0 0 4px;font-size:21px;font-weight:400}.sheet h3{letter-spacing:.08em;color:var(--orange-2);text-transform:uppercase;margin:18px 0 8px;font-size:14px}.sheet p{color:#f0dcc0;margin:6px 0;font-size:13.5px;line-height:1.5}.lead{color:var(--muted)!important}.kv{grid-template-columns:1fr auto;gap:6px 12px;font-size:14px;display:grid}.kv span{color:var(--muted)}.kv b{text-align:right;font-variant-numeric:tabular-nums}.kv .big{color:var(--gold);font-size:18px}.good{color:#7ee08a!important}.bad{color:#ff8a7a!important}.paytable{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.pay{background:#00000040;border:1px solid #ffbe5a2e;border-radius:10px;grid-template-columns:56px 1fr;align-items:center;gap:8px;padding:6px;display:grid}.pay img{object-fit:contain;width:56px;height:56px}.pay div{font-variant-numeric:tabular-nums;font-size:12px;line-height:1.45}.pay div i{color:var(--muted);width:16px;font-style:normal;display:inline-block}.special{grid-template-columns:64px 1fr;align-items:center;gap:10px;margin:8px 0;display:grid}.special img{object-fit:contain;width:64px;height:64px}.lines{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 8px;padding:6px 0 0 6px;display:grid}.mini{background:#00000059;border-radius:6px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:4px;display:grid;position:relative}.mini i{aspect-ratio:1;background:#ffffff14;border-radius:2px}.mini i.on{background:var(--orange)}.mini b{border:1px solid var(--line);background:#3a1a04;border-radius:8px;padding:0 4px;font-size:10px;position:absolute;top:-6px;left:-6px}.history{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.history th{text-align:right;color:var(--muted);border-bottom:1px solid var(--line);padding:4px;font-size:11px;font-weight:600}.history th:first-child,.history td:first-child{text-align:left}.history td{text-align:right;border-bottom:1px solid #ffbe5a14;padding:5px 4px}.btn-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.btn{color:#fff;background:linear-gradient(#ff9a1f,#b34700);border:1px solid #ffd27a;border-radius:12px;flex:1;min-width:140px;padding:11px;font-weight:700}.btn.ghost{color:var(--gold);border-color:var(--line);background:0 0}.auto-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.auto-grid button{border:1px solid var(--line);color:var(--gold);background:#0000004d;border-radius:12px;padding:14px 0;font-size:18px;font-weight:800}.pop{z-index:30;background:radial-gradient(circle at 50% 45%,#7828008c,#050200d9 70%);place-items:center;display:grid;position:fixed;inset:0}.pop[hidden]{display:none}.pop-card{text-align:center;padding:26px 28px;animation:.45s cubic-bezier(.2,1.6,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.pop-kicker{letter-spacing:.2em;color:#ffd9a0;font-size:15px}.pop-title{font-family:var(--font-display);background:linear-gradient(#fffbe0,#ffd25a 40%,#ff8a00 70%,#c45a00);color:#0000;filter:drop-shadow(0 4px #4a1d00)drop-shadow(0 0 24px #ff8c0099);-webkit-background-clip:text;background-clip:text;margin:6px 0;font-size:clamp(38px,11vw,76px);font-weight:400;line-height:1.02}.pop-sub{color:#ffe8c6;font-size:16px}.pop-btn{color:#fff;font-family:var(--font-display);letter-spacing:.08em;background:linear-gradient(#ffb23f,#e06a00);border:2px solid #ffd27a;border-radius:999px;margin-top:20px;padding:13px 38px;font-size:18px;font-weight:400;box-shadow:0 0 22px #ff820099}@media (orientation:landscape) and (height<=560px){#panel{padding:6px 12px calc(4px + var(--safe-b));justify-content:center;align-items:center;gap:14px;display:flex}.meters{grid-template-columns:repeat(3,minmax(96px,130px));margin:0}.meter{padding:3px 6px}.meter b{font-size:13px}.controls{gap:8px;margin:0}.round-btn{width:38px;height:38px;font-size:22px}#btn-spin{width:64px;height:64px}#btn-spin svg{width:34px;height:34px}.side-btn{min-width:50px;padding:4px}.demo-note{left:10px;bottom:calc(2px + var(--safe-b));margin:0;font-size:9.5px;position:fixed}}@media (width>=900px) and (height>=600px){.meter b{font-size:18px}.controls{gap:18px}#btn-spin{width:96px;height:96px}}
