:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#ffedb4;background:#05271f}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse,#246847,#031c18)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;border:1px solid #bfa35b;background:#144936;border-radius:12px}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:3px}button:disabled{opacity:.5}[hidden]{display:none!important}#game{width:min(100vw,580px);min-height:100dvh;background:#07382c;box-shadow:0 0 90px #0008;overflow:hidden;position:relative}header{height:38px;padding:0 4%;display:flex;align-items:center;gap:10px;justify-content:space-between;background:#082e25}header a{color:#f9df93;font-weight:900;letter-spacing:.1em;text-decoration:none;font-size:11px}header span{font-size:8px;opacity:.7}#sound{border:0;background:transparent;font-size:24px}.hero{height:240px;background:url('./assets/hero-q92.webp') center/cover;position:relative}.title{position:absolute;top:17px;left:5%;text-shadow:0 2px 4px #05291e,0 0 20px #000}.title small{font-size:9px;letter-spacing:.2em}.title h1{font-family:Georgia,serif;font-size:32px;line-height:1;margin:8px 0}.title em{font-style:normal;color:#ffdf76;font-size:40px}.hero-label{position:absolute;bottom:10px;left:0;width:100%;text-align:center;font-size:8px;font-weight:800;letter-spacing:.3em}.board{position:relative;margin:0 12px;height:440px;padding:22px;background:radial-gradient(ellipse,#317452,#0b3a2b);isolation:isolate;overflow:hidden}.bamboo-frame{position:absolute;inset:0;background:url('./assets/bamboo-frame.svg') center/100% 100%;pointer-events:none;z-index:3}#reels{height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:hidden}.column{min-width:0;overflow:hidden;border-right:3px solid #b4ba65;display:flex;flex-direction:column}.column:last-child{border:0}.symbol{height:33.333%;flex-shrink:0;display:grid;place-items:center;position:relative}.sprite{width:88%;aspect-ratio:1;background:url('./assets/symbols-q92.webp') no-repeat;background-size:500% 300%;filter:drop-shadow(0 3px 3px #001c1a66)}.wild:after{content:'WILD';position:absolute;bottom:2%;font-size:9px;font-weight:900;letter-spacing:.12em;border-radius:6px;background:#d6b65a;color:#173b24;padding:2px 8px}.winner{background:radial-gradient(ellipse,#ffdd6a66,transparent 70%)}.winner .sprite{animation:bob .65s ease-in-out infinite alternate}.track{height:200%;flex-shrink:0;display:flex;flex-direction:column;animation:roll .4s linear infinite}.track .symbol{height:16.6667%}.turbo .track{animation-duration:.15s}.fast .track{animation-duration:.08s}#message{height:42px;margin:0;text-align:center;display:grid;place-items:center;padding:0 12px;font-size:13px;font-weight:650;color:#f9dfa0}.hud{margin:0 22px;border:1px solid #bda366;border-radius:18px;background:#0b2e25;display:flex;text-align:center;padding:10px}.hud>div{width:50%}.hud>div+div{border-left:1px solid #797a44}.hud small{display:block;font-size:9px;letter-spacing:.07em}.hud strong{display:block;font-size:26px;font-variant-numeric:tabular-nums}.controls{padding:10px 30px 15px;background:radial-gradient(ellipse at center,#326b42,#08362a)}.bets{display:flex;justify-content:center;gap:10px}.bets button{min-width:65px;padding:6px 12px;font-size:13px}.bets .active{background:#ae913d}.spin-row{display:flex;justify-content:center;align-items:center;gap:50px;padding:14px 0}.round{border-radius:50%;width:50px;height:50px;font-size:32px;line-height:1}.round[aria-pressed=true]{background:#c0a456;color:#173e2c;box-shadow:0 0 12px #dcc673}#spin{height:92px;width:92px;border-radius:50%;border:4px solid #f2d684;box-shadow:0 0 0 4px #7b772f,inset 0 0 15px #bbfda277;background:radial-gradient(circle at 35% 30%,#82c27d,#286d45 55%,#123f2b);display:flex;align-items:center;justify-content:center;flex-direction:column}#spin span{font-size:66px;line-height:.85}#spin small{font-size:9px;font-weight:900;margin-top:3px}.spinning #spin span{animation:turn 1s linear infinite}.links{display:flex;justify-content:space-between;align-items:center}.links button{background:transparent;border:0;font-size:12px}.links span{font-size:10px;color:#fbd779;font-weight:800}#prize{position:absolute;z-index:4;left:9%;right:9%;top:32%;padding:24px 10px;text-align:center;pointer-events:none;border:3px solid #e8c66b;border-radius:40% 40% 18px 18px;background:radial-gradient(ellipse at top,#487f42,#0a3827);box-shadow:0 0 0 5px #244c27,0 15px 50px #0009;animation:arrive .2s ease-out}#prize small,#prize span{display:block;font-size:10px;letter-spacing:.1em}#prize strong{display:block;font-size:38px;margin:8px 0;color:#ffe5a0}dialog{max-width:min(92vw,530px);max-height:85dvh;background:#103e2f;color:#ffedb4;border:2px solid #c4ab63;border-radius:24px;padding:26px;font-size:14px;line-height:1.6}dialog::backdrop{background:#001b16c9}#close{float:right;border:0;font-size:28px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:8px;border-bottom:1px solid #5c744b;text-align:right}td:first-child,th:first-child{text-align:left}@keyframes roll{to{transform:translateY(-50%)}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes bob{to{transform:scale(1.05)}}@keyframes arrive{from{transform:scale(.8);opacity:0}}@media(max-width:420px){.hero{height:190px}.board{height:350px;margin:0 8px;padding:18px}.title h1{font-size:25px}.title em{font-size:32px}.controls{padding:8px 20px}.spin-row{gap:45px;padding:12px 0}#prize strong{font-size:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}}
/* Single-screen stage: keep reels and controls visible on phones and desktops. */
#game{width:min(100vw,580px,calc(100dvh * .64));height:100dvh;min-height:0;display:flex;flex-direction:column}header{height:4%;flex-shrink:0}.hero{height:24%;flex-shrink:0}.board{height:41%;flex-shrink:0;margin:0 2%;padding:4%}.title{top:8%;left:4%}.title h1{font-size:clamp(19px,3.8dvh,30px)}.title em{font-size:clamp(25px,4.7dvh,38px)}.title small{font-size:7px}.hero-label{bottom:6px;font-size:7px}#message{height:5%;flex-shrink:0;font-size:clamp(10px,1.7dvh,13px)}.hud{height:8%;flex-shrink:0;margin:0 4%;padding:4px;display:flex;align-items:center}.hud strong{font-size:clamp(19px,3.4dvh,26px)}.hud small{font-size:8px}.controls{height:18%;padding:5px 6% 4px;display:flex;flex-direction:column;justify-content:space-between}.bets{height:23%;gap:8px}.bets button{padding:2px 10px;font-size:11px;min-width:56px}.spin-row{height:58%;padding:0;gap:14%;flex-shrink:0}#spin{height:100%;width:auto;aspect-ratio:1;flex-shrink:0;border-width:3px}#spin span{font-size:clamp(36px,7dvh,60px)}#spin small{font-size:7px}.round{width:auto;height:68%;aspect-ratio:1;font-size:clamp(23px,4.5dvh,34px)}.links{height:15%}.links button{font-size:10px}.sprite{width:80%}

/* Consistent, themed rules and history sheets. */
#info{color:#fff2cf;background:radial-gradient(ellipse at top,#194d48,#061f29 80%);border:2px solid #d8b76a;border-radius:20px;padding:26px 22px;max-width:min(92vw,620px);max-height:85dvh;box-shadow:0 24px 80px #000b;overflow:auto}#info::backdrop{background:#00171dc9;backdrop-filter:blur(5px)}#info h2{color:#ffe4a0;border-bottom:1px solid #d8b76a66;padding:0 32px 16px 0;margin-top:0;font-size:1.45rem}#info #close,#info .close{position:sticky;float:right;top:0;width:36px;height:36px;border-radius:50%;background:#153c3c;border:1px solid #d8b76a;color:#ffe4a0;font-size:24px}#info table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}#info th{color:#e8cf8e;font-size:.8em;text-transform:uppercase;letter-spacing:.04em}#info td,#info th{padding:12px 8px;border-bottom:1px solid #d8b76a30}#info tr:nth-child(even){background:#ffffff06}#info td:not(:first-child),#info th:not(:first-child){text-align:right}#info p{line-height:1.65}#info button:focus-visible{outline:3px solid #fff0b8;outline-offset:3px}

#info{width:min(88vw,580px)}
