:root{font-family:"Segoe UI","Microsoft JhengHei",sans-serif;color:#fff5d6;background:#091d18;--gold:#f6d16c;--rim:#a87423;--ink:#071e1b;--sprite-sheet:url('assets/symbols.png');--pot-sheet:url('assets/pots.png')}
body{background:#0b2b23 url('assets/forest.png') center center/cover fixed;min-height:100vh;isolation:isolate}
body::before{content:'';position:fixed;inset:0;background:linear-gradient(90deg,#03130f20,#04191352 25%,#04191352 75%,#03130f20);z-index:-1;pointer-events:none}
main{width:calc(100% - 48px);max-width:1140px;min-width:740px;padding:16px 16px 10px;margin:auto}
header{max-width:1040px;margin:0 auto 6px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px}
.brand{grid-column:2;gap:0;justify-content:center;text-align:center;filter:drop-shadow(0 4px 2px #00110d)}
.brand .clover{display:none}.brand h1{font-family:Georgia,serif;font-size:34px;line-height:1.05;font-weight:900;color:#ffde79;text-shadow:0 2px #896022,0 4px #3e300f,0 0 18px #ecd47c35;letter-spacing:0}
.brand div>span{font-size:13px;color:#fff1b6;font-weight:800;display:block;margin-bottom:3px;letter-spacing:0}
.session-badge{grid-column:1;grid-row:1;font-size:12px;color:#d3e1ce;display:flex;gap:8px;align-items:center;text-shadow:0 2px 3px #000}.session-badge svg{width:17px;height:17px;color:#f0ce73}
nav{grid-column:3;justify-self:end;gap:6px}nav button{background:#062d28b8;border:1px solid #d1af5a69;box-shadow:inset 0 1px #fff1;min-height:38px;width:38px;border-radius:50%;display:grid;place-items:center}
button svg{width:20px;height:20px;pointer-events:none}button{transition:filter .16s,box-shadow .16s,transform .16s}button:hover:not(:disabled){filter:brightness(1.13);box-shadow:0 0 16px #cfeccc20}button:active:not(:disabled){transform:translateY(1px)}
.game{max-width:960px;position:relative}.pots{gap:12px;max-width:850px;margin:0 auto;position:relative;z-index:1}
.pot{height:143px;border:0;border-radius:0;padding:0;background:none!important;opacity:1;box-shadow:none!important;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;position:relative;transition:filter .4s}
.pot::before{display:none}.pot-art{display:block;width:100%;height:100%;aspect-ratio:1;background-image:var(--pot-sheet);background-size:400% 100%;background-position:var(--px) center;background-repeat:no-repeat;flex:none}
.pot>.pot-art{position:absolute;width:154px;height:154px;bottom:4px;filter:brightness(.88) saturate(.85) drop-shadow(0 5px 5px #001d19);transition:filter .45s,transform .45s}
.pot.active>.pot-art{filter:brightness(1.15) saturate(1.1) drop-shadow(0 0 12px var(--accent));transform:translateY(-3px)}
.pot strong{font-family:Georgia,serif;font-size:18px;color:#fff0b1;text-shadow:0 2px 2px #000,1px 0 #422500,-1px 0 #422500;z-index:1;line-height:1.15;position:absolute;bottom:43px}
.pot>span:not(.pot-art){font-size:12px;color:#e6f3e8;text-shadow:0 2px 3px #000;position:absolute;bottom:6px;font-weight:700}
.pot.active>span:not(.pot-art){color:var(--accent)}
.pot.pot-awake>.pot-art{animation:pot-receive .65s ease-out}.pot.pot-awake{animation:none}
.jackpots{height:54px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:4px 6px 12px;align-items:center}
.jackpots>span{position:relative;text-align:center;font-size:12px;font-weight:800;color:#c5ecad;background:linear-gradient(#184829,#062418);border:1px solid #d2ad52;border-radius:5px;padding:5px 8px;box-shadow:inset 0 0 0 2px #09271c,0 3px 5px #001611;font-family:Georgia,serif}
.jackpots>span:nth-child(2){color:#95dafa;background:linear-gradient(#133f58,#062539)}.jackpots>span:nth-child(3){color:#e1b6ff;background:linear-gradient(#4e246b,#271134)}
.jackpots>span:nth-child(4){color:#ffe997;background:linear-gradient(#752728,#400e14)}.jackpots>span:nth-child(5){color:#fff3b6;background:linear-gradient(#786023,#42340f);border-color:#ffe192;box-shadow:inset 0 0 0 2px #503512,0 0 12px #f4d67b30}
.jackpots b{font-family:"Segoe UI",sans-serif;font-size:21px;color:#fff2c0;line-height:1.1;text-shadow:0 2px 2px #000;margin-top:2px}
.stage-bar{margin:0 10px 6px;font-size:12px;color:#dcece1;height:19px;text-shadow:0 2px 3px #000}.stage-bar #phase{color:#fff0b3;font-size:12px}#counter{font-variant-numeric:tabular-nums}
.board-wrap{border-radius:8px;box-shadow:0 10px 35px #0009,0 0 0 1px #241906,0 0 0 3px #d4a846,0 0 0 5px #5c4015;isolation:isolate;background:#08251f}
.board{height:348px;gap:0;padding:7px;border:3px solid #f0cb72;border-radius:8px;background:linear-gradient(90deg,#ddbc62,#6b4c1d 15%,#f1d991 40%,#795323 75%,#e2bb5c);box-shadow:inset 0 0 0 2px #553813;grid-template-rows:repeat(3,minmax(0,1fr));transition:height .5s}
.board[data-rows="5"]{height:400px;grid-template-rows:repeat(5,minmax(0,1fr))}
.board .cell{aspect-ratio:auto;border-radius:0;border:0;border-right:1px solid #c7c69f27;min-height:0;overflow:hidden;background:linear-gradient(90deg,#083629,#0e4938 45%,#073528);box-shadow:inset 0 5px 10px #001a1426}
.board .cell:nth-child(5n){border-right:0}.board .cell:nth-child(10n+1),.board .cell:nth-child(10n+2),.board .cell:nth-child(10n+3),.board .cell:nth-child(10n+4),.board .cell:nth-child(10n+5){background:linear-gradient(90deg,#0a3b2d,#10503d 45%,#093b2d)}
.sprite{display:block;aspect-ratio:1;background-image:var(--sprite-sheet);background-size:400% 300%;background-position:var(--sx) var(--sy);background-repeat:no-repeat;flex:none}
.cell>.sprite{width:112px;height:112px;max-height:100%;max-width:100%;filter:drop-shadow(0 4px 2px #001910);transition:filter .2s}.board[data-rows="5"] .cell>.sprite{width:74px;height:74px}
.symbol-name{display:none!important}.wild-ribbon{position:absolute;bottom:7px;color:#fff2a2;text-shadow:0 2px 2px #150b00;font:bold 15px Georgia,serif}
.board .coin-face{width:106px;height:106px;max-width:98%;max-height:98%;border:0;background:none!important;border-radius:0;box-shadow:none;position:relative;isolation:isolate;overflow:visible;color:#fff5c2}
.coin-face>.sprite{position:absolute;inset:0;width:100%;height:100%;z-index:-1;filter:drop-shadow(0 3px 3px #021d16)}
.coin-face.multi>.sprite{filter:hue-rotate(233deg) saturate(1.5) drop-shadow(0 0 6px #b458dc)}.coin-face.collect>.sprite{filter:hue-rotate(145deg) saturate(1.5) drop-shadow(0 0 6px #419ee1)}.coin-face.mystery>.sprite{filter:hue-rotate(318deg) saturate(1.7) drop-shadow(0 0 6px #f76962)}.coin-face.super>.sprite{filter:brightness(1.25) drop-shadow(0 0 8px #fff3ad)}
.coin-face small{font-size:10px;font-weight:900;line-height:1.2;margin-top:0;color:#fff9d8;text-shadow:0 1px 2px #221300,1px 0 #221300,-1px 0 #221300}
.coin-face b{font-family:"Segoe UI",sans-serif;font-size:26px;font-weight:900;line-height:1.08;color:#fff8d5;text-shadow:0 2px 2px #472300,1px 0 #472300,-1px 0 #472300;max-width:75%;overflow-wrap:anywhere}
.coin-face.concealed b{font-size:27px}.coin-face.small-value b{font-size:18px}.board[data-rows="5"] .coin-face{width:74px;height:74px}.board[data-rows="5"] .coin-face small{font-size:8px}.board[data-rows="5"] .coin-face b{font-size:20px}.board[data-rows="5"] .coin-face.small-value b{font-size:14px}
.locked-mark{width:5px;height:5px;font-size:0;background:#f8d77f;border-radius:50%;top:auto;bottom:5px;right:6px;box-shadow:0 0 4px #ffd065}
.board .cell.winning{z-index:1;background:linear-gradient(#446c2f,#284e20)!important;box-shadow:inset 0 0 0 2px #ffe897,inset 0 0 30px #ffd76855}
.cell.winning>.sprite{animation:symbol-win .75s ease-in-out infinite;filter:drop-shadow(0 0 8px #fce893)}
.board.lines-playing .cell:not(.winning){filter:brightness(.42)}.board .cell.boost{background:linear-gradient(#492768,#211137)!important;box-shadow:inset 0 0 0 2px #be77e2,inset 0 0 18px #bc53e750}.empty-multi{font-size:29px;color:#f3c9ff;text-shadow:0 2px 2px #410866}
.reel-shutter{background:linear-gradient(90deg,#073327,#114631,#073327);border-radius:0}.reel-symbol .sprite{height:100%;width:auto;aspect-ratio:1;filter:blur(.6px)}
.bonus-spinner{background:linear-gradient(#0a3427,#10503d,#0a3427)}.bonus-spinner::after{content:'';width:64px;height:64px;left:calc(50% - 32px);top:calc(50% - 32px);background:var(--sprite-sheet) 33.333% 100%/400% 300%;opacity:.55}
.message{height:34px;min-height:34px;font-size:14px;padding:4px 8px;color:#ffe8a1;text-shadow:0 2px 3px #000;margin-top:6px}
.console{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;align-items:center;border:1px solid #ac843e;border-radius:7px;background:linear-gradient(#123b2cf5,#06261ff5);padding:10px 17px;box-shadow:inset 0 1px #ffe8a344,0 6px 15px #00170d80}
.meters{border:0;padding:0;gap:14px;grid-template-columns:1fr 1.12fr .75fr}.meters span{font-size:12px;color:#b9d8c6;font-weight:600}.meters strong{font-size:24px;font-family:"Segoe UI",sans-serif;color:#fff8de;text-shadow:0 2px 1px #001d14;overflow-wrap:anywhere;line-height:1.1}.meters>div:nth-child(2) strong{color:#ffe298}.meters select{font-size:19px;width:100%;max-width:100px;background:#061f18;border:1px solid #877440;color:#fff2d0;padding:4px 8px}
.controls{padding:0;gap:17px;justify-content:flex-end}.toggle{min-width:auto;font-size:12px;flex-direction:column;gap:5px}.toggle input{appearance:none;width:35px;height:19px;border-radius:15px;background:#153c2d;border:1px solid #71937e;position:relative;margin:0;cursor:pointer}.toggle input::before{content:'';width:11px;height:11px;background:#aec7b4;position:absolute;top:3px;left:4px;border-radius:50%;transition:transform .2s}.toggle input:checked{background:#a8832f;border-color:#e9ca78}.toggle input:checked::before{transform:translateX(14px);background:#fff4cd}
.spin{width:76px;height:76px;flex:none;border:4px solid #bb882e;outline:1px solid #ffe2a0;background:radial-gradient(ellipse at 40% 15%,#fff5b6,#eec557 52%,#b67b24);color:#3d2a06;box-shadow:inset 0 0 0 2px #ffe5a5,0 5px 0 #583c12,0 7px 14px #0008}.spin>span{display:grid;place-items:center;height:34px}.spin svg{width:34px;height:34px;stroke-width:2.6}.spin b{font-size:12px}.spin.skip{background:radial-gradient(ellipse at 40% 15%,#edffba,#a3c85b 52%,#668126)}.spin:disabled{opacity:.45}
.auto{padding:0;min-width:44px!important;width:44px;height:50px;min-height:0;border:0;background:none;flex-direction:column;gap:3px;box-shadow:none}.auto svg{width:23px;height:23px}.auto span{font-size:12px}.auto.on{color:#ffe196}
.history{display:flex;gap:18px;max-width:960px;padding-top:10px;margin-top:8px;border:0;align-items:baseline}.history>div{flex-direction:row;gap:12px;min-width:165px}.history h2{font-size:12px;font-weight:500;color:#b9d1be}.history span{font-size:11px;color:#98b5a4}.history ol{display:flex;gap:18px;max-height:28px;font-size:12px;color:#c9ddcf;margin:0;line-height:1.6;overflow:auto;scrollbar-width:thin}.history li{white-space:nowrap}footer{margin-top:7px;font-size:11px;color:#9fb8a6;text-shadow:0 1px 2px #000}
.wheel-panel{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(960px,calc(100vw - 48px));height:580px;max-height:calc(100vh - 32px);background:linear-gradient(110deg,#052b23fb,#0c392efb);border:3px solid #ebc773;box-shadow:0 0 0 100vmax #00150dd9,inset 0 0 0 3px #634a1e,0 15px 80px #000;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr auto 1fr;padding:32px;gap:16px;z-index:30;overflow:hidden}
.wheel-panel h2{font-family:Georgia,serif;font-size:34px;line-height:1.08;color:#ffe594;text-shadow:0 3px #71501e;margin:0}.wheel-panel p{font-family:Georgia,serif;font-size:26px;font-weight:800;color:#fff0b1}.wheel-panel .primary{padding:13px 26px;font-size:17px;border:1px solid #ffe6a4;background:linear-gradient(#ffe498,#ca963c);box-shadow:0 4px #6b471a;min-height:48px}.wheel-wrap{max-width:450px;aspect-ratio:1;width:100%;position:relative;filter:drop-shadow(0 10px 12px #0008)}
.wheel-wrap.awarded{filter:drop-shadow(0 0 25px #ffdb73)}.pointer{font-size:0;left:calc(50% - 22px);top:-7px;width:44px;height:44px;transform:rotate(180deg);transform-origin:50% 35%;filter:drop-shadow(0 3px 2px #000);z-index:2}.pointer .sprite{width:100%;height:100%}
.wheel-hub{position:absolute;left:calc(50% - 35px);top:calc(50% - 35px);width:70px;height:70px;pointer-events:none;filter:drop-shadow(0 3px 3px #0006)}.wheel-hub .sprite{width:100%;height:100%}
#scene{position:fixed;inset:0;background:#00180edb;border:0;border-radius:0;z-index:40;gap:12px;backdrop-filter:blur(6px)}#scene .scene-art{width:190px;height:190px;filter:drop-shadow(0 0 18px #f9d56960)}#scene small{color:#ecdaa9;font-size:14px;font-weight:700}#scene h2{font-family:Georgia,serif;font-size:52px;color:#ffe897;text-shadow:0 3px #9a6b26,0 7px 20px #001a0e;line-height:1.1;max-width:90%;overflow-wrap:break-word}#scene strong{font-family:Georgia,serif;font-size:64px;max-width:90%;overflow-wrap:anywhere}#scene p{font-size:17px;color:#e8ebcd}#scene[data-tier="mega"] h2{color:#fff2a8}#scene[data-tier="epic"] h2{color:#dafaff;text-shadow:0 3px #3b82a3,0 0 28px #75cde66b}
.flying-token{width:49px;height:49px;min-width:49px;padding:0;border:0;background:none;box-shadow:0 0 14px var(--flight-color);border-radius:50%;isolation:isolate;font-size:14px;color:#fff9d5;text-shadow:0 1px 2px #351b00;font-weight:900}.flying-token .sprite{position:absolute;inset:-4px;width:57px;height:57px;z-index:-1}.flying-token .flight-value{position:relative;z-index:1}.fx-spark{box-shadow:0 0 5px #f6d276;border-radius:1px}
.celebration-coin{position:fixed;width:42px;height:42px;z-index:45;pointer-events:none;filter:drop-shadow(0 2px 2px #0004)}
dialog{background:linear-gradient(#123d30,#082b22);border:2px solid #b9964d;box-shadow:0 12px 70px #0009;width:min(720px,calc(100% - 48px));padding:24px;color:#eef7ed}dialog::backdrop{background:#00110dde;backdrop-filter:blur(4px)}.dialog-head h2{color:#ffe7aa;font-size:21px}.dialog-head button{background:none;border:0}.tabs button{background:#07291f;border-color:#577447;font-size:14px}.tabs .selected,.primary{background:linear-gradient(#f8df90,#ceaa50);color:#263410}.timing-controls{font-size:14px}.preview-options{background:#08271e;border-color:#738955}article{font-size:16px}article h3{color:#ffe2a1}
@keyframes pot-receive{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-7px) scale(1.12);filter:brightness(1.5) drop-shadow(0 0 15px var(--accent))}}
@keyframes symbol-win{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(min-width:1400px) and (min-height:950px){main{padding-top:25px}.pot{height:162px}.pot>.pot-art{width:172px;height:172px}.board{height:390px}.board[data-rows="5"]{height:440px}.cell>.sprite{width:126px;height:126px}.board .coin-face{width:118px;height:118px}}
@media(max-height:800px){main{padding-top:8px}header{min-height:58px}.brand h1{font-size:29px}.pot{height:115px}.pot>.pot-art{width:130px;height:130px}.pot strong{bottom:36px;font-size:16px}.pot>span:not(.pot-art){bottom:3px}.jackpots{height:47px;margin-bottom:8px}.jackpots b{font-size:18px}.board{height:294px}.board[data-rows="5"]{height:330px}.cell>.sprite{width:96px;height:96px}.board .coin-face{width:91px;height:91px}.board[data-rows="5"] .coin-face{width:61px;height:61px}.board[data-rows="5"] .coin-face b{font-size:17px}.console{padding:7px 15px}.spin{width:66px;height:66px}.wheel-panel{height:520px}.wheel-wrap{max-width:400px}}
@media(prefers-reduced-motion:reduce){.cell.winning>.sprite,.pot.pot-awake>.pot-art{animation:none}#scene{backdrop-filter:none}}
.pot>.pot-art{width:146px;height:194.667px;bottom:-24px}.pot strong{bottom:45px;color:#613710;text-shadow:0 1px #ffeaa0;font-size:17px}
.wheel-panel{inset:0;margin:auto;transform:none}
#scene .scene-art{width:150px;height:200px;margin-bottom:-30px}
.celebration-coin .sprite{width:100%;height:100%}
.board-wrap:has(.wheel-panel:not([hidden]),#scene:not([hidden])){z-index:50}
.celebration-coin{z-index:60}
@media(min-width:1400px) and (min-height:950px){.pot>.pot-art{width:166px;height:221.333px;bottom:-26px}.pot strong{bottom:54px;font-size:18px}}
@media(max-height:800px){.pot>.pot-art{width:124px;height:165.333px;bottom:-23px}.pot strong{bottom:34px;font-size:15px}}
