:root{
  --gold:#c5a051;
  --gold2:#eed995;
  --green:#78df96;
  --green2:#9df0b2;
  --bg:#020705;
  --panel:#06100b;
  --muted:#87958c;
  --text:#f6f1df;
  --symbol-h:134px;
  --reel-gap:10px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#020705;color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
body{overflow-x:hidden}
button{font:inherit}
.forest-bg{position:fixed;inset:0;background:
  linear-gradient(rgba(2,7,4,.42),rgba(2,7,4,.88)),
  radial-gradient(circle at 50% 18%,rgba(49,126,83,.2),transparent 28%),
  linear-gradient(180deg,#0a1710,#030806 70%);
}
.forest-bg:after{content:"";position:absolute;inset:0;opacity:.34;background:
  repeating-linear-gradient(87deg,transparent 0 74px,rgba(5,20,11,.7) 76px 90px,transparent 92px 150px)}
.game{position:relative;z-index:1;width:min(1180px,calc(100% - 24px));margin:auto;padding:12px 0 24px}
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:62px}
.brand{font-size:12px;font-weight:1000;letter-spacing:.22em;color:#ccd3cd}
.title-wrap{text-align:center}.title-wrap span{font-size:8px;letter-spacing:.3em;color:#ae945b}.title-wrap h1{margin:0;font:800 clamp(33px,4.2vw,58px)/.95 Georgia,serif;letter-spacing:.02em;color:#ead28e;text-shadow:0 0 26px rgba(197,160,81,.2)}
.icon-btn{justify-self:end;width:42px;height:42px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#09130d;color:#eee;cursor:pointer}
.cabinet{padding:9px;border-radius:28px;background:linear-gradient(135deg,#5e4920,#ba9650 20%,#4b3818 54%,#aa8541 82%,#6b5426);box-shadow:0 32px 100px rgba(0,0,0,.55)}
.hud{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:13px;background:#06100b;border-radius:20px 20px 0 0}
.hud-item{padding:10px 14px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.018)}.hud-item.center{text-align:center}.hud-item.right{text-align:right}
.hud-item span,.bet-display span,.free-display span{display:block;font-size:8px;letter-spacing:.16em;color:#77857c}.hud-item strong{font-size:19px}
.reel-window{position:relative;overflow:hidden;padding:10px;background:#020906;border-left:1px solid rgba(197,160,81,.25);border-right:1px solid rgba(197,160,81,.25);box-shadow:inset 0 0 38px rgba(0,0,0,.9)}
.reels{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--reel-gap);height:calc(var(--symbol-h)*3 + 20px);overflow:hidden}
.reel{position:relative;overflow:hidden;background:linear-gradient(180deg,#06110b,#040a07);border-left:1px solid rgba(197,160,81,.12);border-right:1px solid rgba(197,160,81,.12)}
.reel:before,.reel:after{content:"";position:absolute;left:0;right:0;height:42px;z-index:5;pointer-events:none}.reel:before{top:0;background:linear-gradient(#020906,transparent)}.reel:after{bottom:0;background:linear-gradient(transparent,#020906)}
.reel-track{position:absolute;left:0;right:0;top:0;will-change:transform}
.symbol{height:var(--symbol-h);display:flex;align-items:center;justify-content:center;position:relative}
.symbol img{width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.28));transition:transform .22s ease,filter .22s ease,opacity .22s ease}
.symbol.dim img{opacity:.28;filter:grayscale(.3) brightness(.55)}
.symbol.win img{animation:symbolWin .5s ease-in-out infinite alternate;filter:brightness(1.22) drop-shadow(0 0 14px rgba(114,226,146,.45))}
@keyframes symbolWin{to{transform:scale(1.08) translateY(-2px)}}
.reel.land{animation:reelLand .18s cubic-bezier(.2,.8,.2,1)}
@keyframes reelLand{0%{transform:translateY(-5px)}60%{transform:translateY(4px)}100%{transform:translateY(0)}}
.reel.expanding{z-index:7;animation:reelExpandFlash .48s ease-in-out}
@keyframes reelExpandFlash{0%{box-shadow:inset 0 0 0 0 rgba(238,217,149,0)}50%{box-shadow:inset 0 0 0 3px rgba(238,217,149,.9),0 0 35px rgba(197,160,81,.34)}100%{box-shadow:none}}
.reel-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 15%,rgba(255,255,255,.025) 48%,transparent 64%)}
.anticipation-glow{position:absolute;inset:7px;border:2px solid rgba(237,213,143,.7);box-shadow:inset 0 0 42px rgba(237,213,143,.18),0 0 28px rgba(197,160,81,.18);pointer-events:none;animation:anticipate .42s ease-in-out infinite alternate}
@keyframes anticipate{to{opacity:.35}}
.hidden{display:none!important}
.message{height:48px;display:flex;align-items:center;justify-content:center;background:#06100b;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.13em}
.controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:96px;background:#06100b;border-radius:0 0 20px 20px;padding:10px 14px}
.left-controls{justify-self:start;display:flex;align-items:center;gap:10px}.right-controls{justify-self:end;display:flex;align-items:center;gap:16px}.bet-display,.free-display{text-align:center;min-width:64px}.bet-display strong,.free-display strong{font-size:30px}.small-btn{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0d1912;color:#fff;font-size:20px;cursor:pointer}
.spin-btn{justify-self:center;width:150px;height:88px;border-radius:50%;border:0;background:radial-gradient(circle at 45% 28%,#93efae,#2d9452 58%,#15542e);color:#fff;box-shadow:0 0 0 4px #15271c,0 0 0 7px #6a552d,0 18px 32px rgba(0,0,0,.35),inset 0 2px 0 rgba(255,255,255,.25);cursor:pointer}
.spin-btn:disabled{filter:grayscale(.8) brightness(.65);cursor:default}.spin-arrow{font-size:25px;line-height:18px}.spin-btn strong{display:block;font-size:21px;letter-spacing:.08em}.spin-btn small{font-size:7px;opacity:.65}
.disclaimer{text-align:center;color:#5c685f;font-size:9px;margin-top:9px}
.overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,6,4,.86);backdrop-filter:blur(12px)}
.bonus-panel{text-align:center;max-width:620px}.bonus-book{width:190px;filter:drop-shadow(0 20px 36px rgba(0,0,0,.4))}.bonus-kicker{font:800 clamp(42px,7vw,72px)/1 Georgia,serif;color:#ead28e}.bonus-panel h2{margin:8px 0;color:#9df0b2;letter-spacing:.2em}.bonus-panel p{font-size:9px;letter-spacing:.18em;color:#8f9b93}.bonus-symbol{width:120px;height:120px;margin:12px auto 20px;display:flex;align-items:center;justify-content:center}.bonus-symbol img{width:90%;height:90%;object-fit:contain}.primary-btn{padding:13px 22px;border-radius:13px;border:1px solid rgba(238,217,149,.24);background:#2d5a3d;color:#fff;font-weight:900;letter-spacing:.08em;cursor:pointer}
.modal{position:relative;width:min(900px,100%);max-height:85vh;overflow:auto;padding:26px;border-radius:20px;background:#0a1510;border:1px solid rgba(197,160,81,.24)}.modal-kicker{font-size:9px;letter-spacing:.18em;color:#ac945d}.modal h2{font:700 34px Georgia;color:#ead28e}.close-btn{position:absolute;right:14px;top:12px;width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#101913;color:#fff;font-size:24px;cursor:pointer}.paytable{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pay-item{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.02)}.pay-item img{width:58px;height:58px;object-fit:contain}.pay-item span{display:block;color:#8f9b93;font-size:11px;margin-top:3px}.rules{margin-top:16px;padding:14px;border-radius:12px;background:rgba(255,255,255,.025);color:#a9b3ab;font-size:12px;line-height:1.55}
.big-win{position:fixed;left:50%;top:42%;transform:translate(-50%,-50%);z-index:18;text-align:center;opacity:0;pointer-events:none}.big-win small{display:block;letter-spacing:.2em;color:#9df0b2}.big-win strong{font:700 clamp(54px,9vw,100px) Georgia;color:#f0dc9b;text-shadow:0 0 30px rgba(114,226,146,.3)}.big-win.show{animation:bigWin 1.35s cubic-bezier(.2,.8,.2,1)}@keyframes bigWin{0%{opacity:0;transform:translate(-50%,-50%) scale(.62)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}78%{opacity:1}100%{opacity:0;transform:translate(-50%,-58%) scale(.98)}}
@media(max-width:850px){:root{--symbol-h:96px;--reel-gap:5px}.game{width:min(100% - 10px,1180px)}.title-wrap h1{font-size:31px}.hud{gap:5px;padding:8px}.hud-item{padding:8px}.hud-item strong{font-size:15px}.controls{min-height:76px}.bet-display strong,.free-display strong{font-size:22px}.spin-btn{width:112px;height:66px}.spin-btn strong{font-size:16px}.message{height:38px;font-size:8px}}
@media(max-width:520px){:root{--symbol-h:74px;--reel-gap:3px}.title-wrap h1{font-size:22px}.brand{font-size:9px}.controls{padding:7px}.left-controls,.right-controls{gap:4px}.small-btn{width:30px;height:30px}.spin-btn{width:82px;height:52px}.spin-arrow{display:none}.spin-btn strong{font-size:13px}.bet-display,.free-display{min-width:48px}.bet-display strong,.free-display strong{font-size:17px}.icon-btn{width:34px;height:34px}.paytable{grid-template-columns:1fr}}
