@font-face{font-family:Rye;src:url(../fonts/Rye.woff2) format("woff2");font-display:block}:root{--gold: #f3c76a;--gold-hi: #fff0b8;--gold-lo: #9a6420;--blood: #8e0f16;--blood-hi: #d3262c;--ink: #12060a;--panel: rgba(22, 6, 9, .88);--line: rgba(243, 199, 106, .42);--text: #f7e9d2;--muted: #c9ab86;--display: "Rye", Georgia, "Times New Roman", serif;--ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--console-h: 92px;--board-left: 30vw;--board-right: 70vw;--frame-top: 30vh;--frame-bottom: 80vh;--header-y: 32vh;--board-scale: .5;--win-top: 40vh}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--ink);color:var(--text);font-family:var(--ui);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:default}[hidden]{display:none!important}#stage{position:fixed;inset:0}#pixi-root,#pixi-root canvas{position:absolute;inset:0;display:block}#ui{position:absolute;inset:0;pointer-events:none}#ui>*{pointer-events:auto}#logo{position:absolute;left:calc(var(--board-left) / 2);top:max(4vh,18px);width:min(30vw,calc(var(--board-left) - 48px),520px);transform:translate(-50%);filter:drop-shadow(0 0 2px rgba(0,0,0,.9)) drop-shadow(0 8px 18px rgba(0,0,0,.85));pointer-events:none}#side{position:absolute;left:calc(var(--board-left) / 2);top:50%;transform:translate(-50%,-30%);display:flex;flex-direction:column;align-items:center;gap:18px;width:min(280px,calc(var(--board-left) - 40px))}#btn-buy{position:relative;width:100%;aspect-ratio:1.55;max-height:170px;border-radius:22px;display:grid;place-items:center;align-content:center;gap:2px;background:radial-gradient(120% 90% at 50% 0%,rgba(255,120,90,.35),transparent 60%),linear-gradient(180deg,#a3141c,#5a0710 70%,#3a0409);border:3px solid var(--gold);box-shadow:0 0 0 2px #3a1405 inset,0 0 0 4px #ffdc962e inset,0 12px 28px #0000008c,0 0 26px #ff502840;transition:transform .15s,filter .2s}#btn-buy:hover{transform:translateY(-2px);filter:brightness(1.1)}#btn-buy .buy-kicker{font-family:var(--display);font-size:clamp(16px,1.4vw,22px);color:var(--gold-hi);letter-spacing:.08em}#btn-buy .buy-title{font-family:var(--display);font-size:clamp(28px,2.6vw,44px);line-height:1;color:var(--gold);text-shadow:0 3px 0 #3a1405,0 0 14px rgba(255,200,90,.45)}#btn-buy .buy-note{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#ffd9c4;opacity:.85}#btn-buy.off{filter:grayscale(.85) brightness(.6)}#btn-extra{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--panel);border:2px solid var(--line);text-align:left;transition:border-color .2s,box-shadow .2s}#btn-extra .ex-text{display:grid;gap:2px}#btn-extra b{font-family:var(--display);font-weight:400;font-size:17px;color:var(--gold)}#btn-extra small{font-size:11.5px;color:var(--muted);line-height:1.25}.ex-switch{flex:none;width:46px;height:26px;border-radius:13px;background:#2a1214;border:2px solid #6b4a2a;position:relative;transition:background .2s}.ex-switch i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#b9a17e;transition:transform .2s,background .2s}#btn-extra[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 22px #ffaa3c59}#btn-extra[aria-pressed=true] .ex-switch{background:linear-gradient(180deg,#e2462c,#8e0f16);border-color:var(--gold)}#btn-extra[aria-pressed=true] .ex-switch i{transform:translate(20px);background:var(--gold-hi)}#respins{position:absolute;left:calc((var(--board-left) + var(--board-right)) / 2);top:var(--header-y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;padding:8px 18px;border-radius:999px;background:linear-gradient(180deg,#3c080cf2,#140406f2);border:2px solid var(--gold);box-shadow:0 6px 18px #0009,0 0 18px #ff783c4d;pointer-events:none;white-space:nowrap}#respins .rs-label{font-family:var(--display);font-size:16px;color:var(--gold)}.rs-dots{display:flex;gap:6px}.rs-dots i{width:14px;height:14px;border-radius:50%;background:#3a1a14;border:2px solid #7a5530;transition:background .2s,box-shadow .2s}.rs-dots i.on{background:radial-gradient(circle at 35% 30%,#fff3b0,#ffb12a 60%,#b85a00);border-color:var(--gold-hi);box-shadow:0 0 10px #ffbe46e6}.rs-total{display:grid;line-height:1.05;text-align:right}.rs-total small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.rs-total b{font-family:var(--display);font-weight:400;font-size:18px;color:var(--gold-hi)}#respins.pulse{animation:rs-pulse .5s ease-out}@keyframes rs-pulse{0%{transform:translate(-50%,-50%) scale(1.18)}to{transform:translate(-50%,-50%) scale(1)}}#banner{position:absolute;left:calc((var(--board-left) + var(--board-right)) / 2);top:calc((var(--win-top) + var(--frame-bottom)) / 2);transform:translate(-50%,-50%);width:min(92vw,calc((var(--board-right) - var(--board-left)) * 1.1));text-align:center;padding:22px 18px 24px;border-radius:24px;background:radial-gradient(120% 120% at 50% 0%,#96141cf5,#1e0408f5);border:3px solid var(--gold);box-shadow:0 0 0 3px #3a1405 inset,0 18px 40px #000000b3,0 0 40px #ff643259;pointer-events:none;opacity:0}#banner.in{animation:bn-in .45s cubic-bezier(.2,1.4,.4,1) forwards}#banner.out{animation:bn-out .28s ease-in forwards}@keyframes bn-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes bn-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}.bn-kicker{margin:0;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#ffd2b8}.bn-title{margin:6px 0 4px;font-family:var(--display);font-weight:400;font-size:clamp(34px,4.4vw,60px);line-height:1.05;color:var(--gold);text-shadow:0 4px 0 #3a1405,0 0 22px rgba(255,200,90,.5)}.bn-sub{margin:0;font-size:14px;color:var(--text);opacity:.85}.bn-sub:empty,.bn-kicker:empty{display:none}#bonus-intro{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:radial-gradient(60% 50% at 50% 50%,#28060a8c,#000c);z-index:6;animation:fade-in .3s ease-out}#bonus-intro.out{animation:fade-out .25s ease-in forwards}.bi-card{width:min(520px,100%);padding:22px 22px 20px;border-radius:24px;text-align:center;background:radial-gradient(120% 120% at 50% 0%,#4a0e16f7,#120407f7);border:3px solid var(--gold);box-shadow:0 0 0 3px #3a1405 inset,0 18px 40px #000000b3;animation:bn-pop .45s cubic-bezier(.2,1.4,.4,1)}@keyframes bn-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.bi-kicker{margin:0;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}#bi-title{margin:4px 0 12px;font-family:var(--display);font-weight:400;font-size:clamp(30px,8vw,44px);color:var(--gold-hi);text-shadow:0 3px 0 #3a1405,0 0 18px rgba(255,200,90,.45)}.bi-rules{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:8px;text-align:left;font-size:14px;line-height:1.4;color:var(--text)}.bi-rules li{position:relative;padding-left:22px}.bi-rules li:before{content:"";position:absolute;left:4px;top:.5em;width:8px;height:8px;transform:rotate(45deg);background:var(--gold)}.bi-rules b{color:var(--gold-hi)}#bi-start{min-width:180px;height:54px;padding:0 28px;border-radius:27px;font-family:var(--display);font-size:24px;color:#2a0a04;background:linear-gradient(180deg,#ffe08a,#d39a2c);border:3px solid var(--gold-hi);box-shadow:0 6px #6a3a0a,0 10px 24px #00000080}#bi-start:active{transform:translateY(3px);box-shadow:0 3px #6a3a0a,0 6px 14px #00000080}#celebrate{position:absolute;inset:0;display:grid;place-items:center;align-content:center;background:radial-gradient(60% 50% at 50% 50%,#50060a8c,#000000c7);z-index:5;animation:fade-in .3s ease-out}#celebrate.out{animation:fade-out .3s ease-in forwards}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}.cel-rays{position:absolute;width:160vmax;height:160vmax;left:50%;top:50%;margin:-80vmax 0 0 -80vmax;background:repeating-conic-gradient(from 0deg,rgba(255,190,90,.16) 0deg 8deg,transparent 8deg 22deg);mask-image:radial-gradient(circle,#000 0%,transparent 55%);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 55%);animation:spin 18s linear infinite;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.cel-plate{position:relative;text-align:center;animation:cel-pop .6s cubic-bezier(.2,1.5,.4,1)}@keyframes cel-pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.cel-title{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(54px,9vw,130px);line-height:1;background:linear-gradient(180deg,#fff6c8,#ffd56a 40%,#e08a1c 62%,#ffe08a 80%,#b35f0a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 0 #3a0a04) drop-shadow(0 0 30px rgba(255,140,40,.6))}#celebrate[data-tier=mega] .cel-title{background-image:linear-gradient(180deg,#fff,#ffb3b3 35%,#e0262c 62%,#ffcf9a 82%,#7a0a0e)}#celebrate[data-tier=super] .cel-title{background-image:linear-gradient(180deg,#fff,#fff0a0 30%,#ff8a1c 55%,#ff3b3b 75%,#ffe27a)}.cel-amount{margin:14px 0 0;font-family:var(--display);font-size:clamp(40px,6vw,86px);color:var(--gold-hi);text-shadow:0 4px 0 #3a1405,0 0 26px rgba(255,200,90,.6)}.cel-hint{position:absolute;bottom:calc(var(--console-h) + 24px);left:0;right:0;text-align:center;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}#console{position:absolute;left:0;right:0;bottom:0;height:var(--console-h);padding:0 max(18px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(18px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;background:linear-gradient(180deg,#12040600,#120406db 28%,#0c0305f5)}.round{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--panel);border:2px solid var(--line)}.round svg{width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#btn-sound .mute,#btn-sound[aria-pressed=false] .wave{display:none}#btn-sound[aria-pressed=false] .mute{display:inline}.meter{display:grid;justify-items:center;min-width:120px;padding:6px 16px;border-radius:14px;background:var(--panel);border:2px solid var(--line);line-height:1.15}.meter span{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.meter strong{font-family:var(--display);font-weight:400;font-size:22px;color:var(--gold-hi)}.meter.win strong{color:#ffe27a}.c-side{display:flex;align-items:center;gap:14px}.c-left{justify-content:flex-end}.c-right{justify-content:flex-start}body[data-layout=portrait] .c-side{display:contents}#bet-box{display:flex;align-items:center;gap:6px}#bet-box button{width:38px;height:38px;border-radius:50%;font-size:22px;line-height:1;color:var(--gold);background:var(--panel);border:2px solid var(--line)}#bet-box button:disabled{opacity:.4}body[data-extra=true] #bet-box .meter{border-color:var(--gold);box-shadow:0 0 14px #ff963c59}#btn-spin{width:86px;height:86px;margin-top:-26px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#e0342e,#8e0f16 60%,#4a050a);border:4px solid var(--gold);box-shadow:0 0 0 3px #3a1405,0 10px 24px #0009,0 0 26px #ff5a2873;transition:transform .12s,filter .2s}#btn-spin svg{width:46px;height:46px;fill:none;stroke:var(--gold-hi);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;transition:transform .6s}#btn-spin:active{transform:scale(.94)}body[data-busy=true] #btn-spin svg{animation:spin .9s linear infinite}body[data-busy=true] #btn-spin{filter:brightness(.85)}.pill{min-width:70px;height:40px;padding:0 14px;border-radius:20px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel);border:2px solid var(--line)}.pill[aria-pressed=true]{color:var(--ink);background:linear-gradient(180deg,#ffe08a,#d39a2c);border-color:var(--gold-hi)}#toast{position:absolute;left:50%;bottom:calc(var(--console-h) + 18px);transform:translate(-50%);padding:10px 18px;border-radius:12px;background:#1e0608f2;border:1px solid var(--gold);font-size:14px;white-space:nowrap;z-index:6}#buy-modal,#info-modal{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:16px;background:#000000a8;animation:fade-in .2s}.sheet{position:relative;width:min(880px,100%);max-height:calc(100% - 20px);overflow:auto;padding:26px 26px 28px;border-radius:24px;background:radial-gradient(120% 80% at 50% 0%,#3a0a10,#14050a 70%);border:2px solid var(--gold);box-shadow:0 30px 60px #000000b3}.sheet h2{margin:0;text-align:center;font-family:var(--display);font-weight:400;font-size:36px;color:var(--gold)}.sheet .lede{margin:6px 0 20px;text-align:center;color:var(--muted);font-size:14px}.close{position:absolute;top:10px;right:14px;width:38px;height:38px;font-size:28px;line-height:1;color:var(--gold)}.buy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.buy-card{display:grid;justify-items:center;gap:8px;padding:18px 12px 16px;border-radius:18px;background:linear-gradient(180deg,#780e168c,#1e060ae6);border:2px solid var(--line);transition:transform .15s,border-color .2s,box-shadow .2s}.buy-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--gold);box-shadow:0 0 24px #ff963c4d}.buy-card:disabled{opacity:.45}.buy-card.gold{background:linear-gradient(180deg,#aa6e1480,#280e06eb);border-color:#ffdc78b3}.buy-art{display:flex;align-items:center;height:70px}.buy-art img{width:56px;height:56px;object-fit:contain;margin:0 -6px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.6))}.buy-art img:nth-child(2){width:68px;height:68px;position:relative;z-index:1}.buy-art img.plus{width:44px;height:44px}.buy-card b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--gold)}.buy-meta{font-size:13px;color:var(--muted);text-align:center;min-height:2.6em}.buy-price{margin-top:2px;padding:8px 18px;border-radius:999px;font-family:var(--display);font-size:20px;color:var(--ink);background:linear-gradient(180deg,#ffe08a,#d39a2c)}#paytable{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 8px}.pt{display:grid;justify-items:center;gap:4px;padding:8px 4px;border-radius:12px;background:#0000004d}.pt img{width:64px;height:64px;object-fit:contain}.pt b{font-family:var(--display);font-weight:400;color:var(--gold-hi)}.rules h3{margin:18px 0 4px;font-family:var(--display);font-weight:400;color:var(--gold);font-size:18px}.rules p{margin:4px 0;font-size:14px;line-height:1.45;color:var(--text)}.rules .fine{margin-top:16px;color:var(--muted);font-size:12px}#debug{position:absolute;top:10px;right:10px;display:grid;gap:4px;padding:10px;border-radius:10px;background:#000000bf;font-size:12px;z-index:7}#debug button{padding:4px 8px;border-radius:6px;background:#3a1a14;text-align:left}#boot{position:absolute;inset:0;z-index:10;display:grid;place-items:center;align-content:center;gap:16px;background:radial-gradient(60% 50% at 50% 45%,#3a0a10,#0a0305);transition:opacity .5s}#boot.gone{opacity:0;pointer-events:none}.boot-heart{width:90px;height:90px;background:url(../assets/sym/col.webp) center / contain no-repeat;animation:beat 1.1s ease-in-out infinite}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(.98)}45%{transform:scale(1.06)}}#boot p{margin:0;font-family:var(--display);font-size:22px;color:var(--gold)}.boot-bar{width:220px;height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}.boot-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#d3262c,var(--gold));transition:width .2s}#boot-play{margin-top:6px;padding:14px 54px;border-radius:999px;font-family:var(--display);font-size:26px;color:var(--ink);background:linear-gradient(180deg,#ffe08a,#d39a2c);border:2px solid var(--gold-hi);box-shadow:0 10px 24px #0009}body[data-ready=true] .boot-bar{visibility:hidden}body[data-layout=portrait]{--console-h: 150px}body[data-layout=portrait] #logo{display:none}body[data-layout=portrait] #side{left:50%;top:auto;bottom:calc(var(--console-h) + 6px);transform:translate(-50%);flex-direction:row;width:min(96vw,520px);gap:10px}body[data-layout=portrait] #btn-buy{flex:0 0 42%;aspect-ratio:auto;height:62px;border-radius:16px;grid-auto-flow:column;gap:6px}body[data-layout=portrait] #btn-buy .buy-kicker{font-size:15px}body[data-layout=portrait] #btn-buy .buy-title{font-size:24px}body[data-layout=portrait] #btn-buy .buy-note{display:none}body[data-layout=portrait] #btn-extra{flex:1;height:62px;padding:8px 10px;gap:8px}body[data-layout=portrait] #btn-extra b{font-size:15px}body[data-layout=portrait] #btn-extra small{font-size:10.5px}body[data-layout=portrait] #console{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"bal spin win" "bet spin auto";column-gap:10px;row-gap:8px;align-items:center;padding:14px max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}body[data-layout=portrait] #btn-menu,body[data-layout=portrait] #btn-sound{position:fixed;top:max(10px,env(safe-area-inset-top));z-index:5;background:#120608b8}body[data-layout=portrait] #btn-menu{left:max(10px,env(safe-area-inset-left))}body[data-layout=portrait] #btn-sound{right:max(10px,env(safe-area-inset-right))}body[data-layout=portrait] #meter-balance{grid-area:bal;justify-self:stretch}body[data-layout=portrait] #meter-win{grid-area:win;justify-self:stretch}body[data-layout=portrait] #bet-box{grid-area:bet;justify-self:center}body[data-layout=portrait] #btn-spin{grid-area:spin;margin:0}body[data-layout=portrait] #btn-auto{grid-area:auto;justify-self:center}#extra-note .short,body[data-layout=portrait] #extra-note .long{display:none}body[data-layout=portrait] #extra-note .short{display:inline}body[data-layout=portrait] #btn-turbo{display:none}body[data-layout=portrait] .round{width:40px;height:40px}body[data-layout=portrait] .meter{min-width:0;padding:4px 8px}body[data-layout=portrait] .meter span{font-size:10px;letter-spacing:.1em}body[data-layout=portrait] .meter strong{display:block;max-width:100%;overflow:hidden;white-space:nowrap;font-size:17px}body[data-layout=portrait] #bet-box .meter{min-width:64px}body[data-layout=portrait][data-extra=true] #bet-label{font-size:8.5px;letter-spacing:.02em;white-space:nowrap}body[data-layout=portrait] #bet-box{gap:4px}body[data-layout=portrait] #bet-box button{width:30px;height:30px;font-size:18px}body[data-layout=portrait] #btn-auto{min-width:0;width:min(100%,110px)}body[data-layout=portrait] #btn-spin{width:84px;height:84px}body[data-layout=portrait] .buy-grid{grid-template-columns:1fr;gap:10px}body[data-layout=portrait] .buy-card{grid-template-columns:auto 1fr auto;grid-template-areas:"art name price" "art meta price";justify-items:start;align-items:center;gap:2px 12px;padding:12px}body[data-layout=portrait] .buy-art{grid-area:art;height:56px}body[data-layout=portrait] .buy-card b{grid-area:name;font-size:19px}body[data-layout=portrait] .buy-meta{grid-area:meta;text-align:left;min-height:0;font-size:12px}body[data-layout=portrait] .buy-price{grid-area:price;font-size:17px;padding:8px 12px}body[data-layout=portrait] .buy-art img{width:40px;height:40px}body[data-layout=portrait] .buy-art img:nth-child(2){width:48px;height:48px}body[data-layout=portrait] #paytable{grid-template-columns:repeat(5,1fr)}body[data-layout=portrait] .pt img{width:44px;height:44px}@media(max-height:700px)and (orientation:landscape){:root{--console-h: 76px}#btn-spin{width:70px;height:70px;margin-top:-10px}.meter strong{font-size:18px}}
