:root{color-scheme:dark;--gold:#f2cc7e;--muted:#ba9a90;--line:#d7ae7030}*{box-sizing:border-box}body{margin:0;color:#fff0d5;background:radial-gradient(ellipse at 52% 32%,#661d23 0,#291017 42%,#130e13 85%);font:14px/1.5 'Segoe UI',sans-serif;min-height:100vh}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.13;background-image:repeating-linear-gradient(45deg,transparent 0 34px,#d5a56025 35px,transparent 36px 70px),repeating-linear-gradient(-45deg,transparent 0 34px,#d5a56025 35px,transparent 36px 70px)}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #ffe5a9;outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.15)}.topbar{height:83px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 48px;position:relative}.brand{text-decoration:none;font-weight:800;font-size:22px;letter-spacing:1px;color:#fff2d3;line-height:1.1}.brand span{color:#e6af57}.brand small{display:block;font-size:8px;letter-spacing:4.5px;font-weight:500;margin-top:7px;color:var(--muted)}.demo{font-size:10px;letter-spacing:2px;color:#d6b898;display:flex;align-items:center;gap:9px}.demo i{width:5px;height:5px;border-radius:50%;background:#dab773;box-shadow:0 0 10px #ffc26c}.back{font-size:12px;text-decoration:none;color:#cdb9a9}.experience{position:relative;max-width:1400px;margin:38px auto 30px;display:grid;grid-template-columns:1fr minmax(380px,490px) .85fr;align-items:center;gap:45px;padding:0 48px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.3px;color:#dcaa65}.intro h1{font:normal clamp(34px,3.4vw,53px)/1.08 Georgia,serif;letter-spacing:-1.5px;margin:26px 0}.intro em{font-weight:normal;color:var(--gold)}.intro p,.side-note>p{font-size:13px;line-height:1.9;color:var(--muted)}.intro-line{width:45px;height:1px;background:#b48550;margin:27px 0}.facts{display:flex;gap:25px}.facts strong{display:block;font:24px Georgia,serif;color:#f2d4a0}.facts span{display:block;font-size:7px;letter-spacing:1px;color:var(--muted);margin-top:8px;max-width:85px}.text-button{background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:#eac491;font-size:11px;margin-top:25px}.text-button span{margin-left:20px}.free-note{font-size:9px;color:#9e8077;margin-top:35px}.machine{position:relative;isolation:isolate;overflow:hidden;border:1px solid #b37a41;border-radius:25px;background:radial-gradient(ellipse at 50% 10%,#c64830,transparent 45%),linear-gradient(#731526,#3c101c 85%);padding:13px 21px 14px;box-shadow:0 26px 75px #0009,inset 0 0 0 4px #451017,inset 0 0 0 5px #cb925843}.machine-top{display:flex;justify-content:space-between;align-items:center;color:#e6b784;font-size:8px;letter-spacing:2px;padding:0 0 0 5px}.tools{display:flex;gap:6px}.tools button{width:28px;height:28px;border:1px solid #e7b77644;color:#f3cc8a;border-radius:50%;background:#41101799;font:16px Georgia,serif}.tools button[aria-pressed=true]{background:#ca9347;color:#331019}.hero{height:206px;position:relative;display:flex;justify-content:center;align-items:flex-end}.halo{position:absolute;width:255px;height:255px;top:-14px;border:1px solid #ffc86e44;border-radius:50%;background:repeating-conic-gradient(from 5deg,#ffcd6b0c 0deg 5deg,transparent 5deg 15deg);box-shadow:0 0 0 12px #ffce7708,0 0 0 13px #ffce7719}.mascot{position:absolute;width:290px;height:208px;top:-10px;filter:drop-shadow(0 8px 8px #390d0e66);animation:arrive .8s ease-out}.game-logo{z-index:1;font:900 43px/1 Georgia,serif;letter-spacing:-1px;color:#ffe8a3;text-shadow:0 2px #8b4824,0 4px #8b4824,0 5px 1px #260d12,0 8px 13px #260d12;-webkit-text-stroke:1px #e8b44e;margin-bottom:6px;transform:rotate(-3deg)}.game-logo small{display:block;text-align:center;font:700 8px/1.5 'Segoe UI',sans-serif;color:#ffe4b0;-webkit-text-stroke:0;letter-spacing:3px;margin-top:8px}.lantern{position:absolute;top:5px;width:37px;height:53px;border:2px solid #d49e54;border-radius:45%;background:repeating-linear-gradient(90deg,transparent 0 7px,#ffba5b35 8px 9px),radial-gradient(#ee6b3a,#ae2026);box-shadow:0 0 24px #ffae3533}.lantern:before{content:'';position:absolute;width:1px;height:30px;background:#cda462;left:16px;bottom:100%}.lantern:after{content:'';position:absolute;width:4px;height:27px;background:#d7a756;left:14px;top:100%;box-shadow:-5px 0 #c88545,5px 0 #c88545}.lantern.left{left:20px;transform:rotate(9deg)}.lantern.right{right:20px;transform:rotate(-9deg)}.ribbon{text-align:center;font-size:8px;font-weight:700;letter-spacing:1.6px;color:#ffe7b7;padding:9px 0 12px}.reel-frame{position:relative;padding:10px;border:2px solid #ffe2a0;border-radius:15px;background:linear-gradient(135deg,#b56723,#ffda77 25%,#b9782c 48%,#ffdf80 73%,#965019);box-shadow:0 0 0 3px #61271c,0 0 0 4px #e4b768,0 9px 18px #210a1388}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#cb9861;border:2px solid #804320;border-radius:7px;overflow:hidden}.reel{display:grid;place-items:center;aspect-ratio:1.23;background:radial-gradient(ellipse,#fffef7,#ffedc6);font-size:clamp(34px,4vw,51px);text-shadow:0 4px 2px #a3642520;position:relative;transition:background .2s}.reel:nth-child(3n+2){background:radial-gradient(ellipse,#fffef7,#f8dfb0)}.reel.spinning{animation:roll .16s linear infinite;filter:blur(1px)}.reel.win{background:radial-gradient(#fffde8,#ffd24d);box-shadow:inset 0 0 0 3px #f8c848;animation:win .65s ease-in-out 3}.frame-stud{position:absolute;width:7px;height:7px;z-index:2;transform:rotate(45deg);background:#fff1b7;box-shadow:0 0 5px #813d12}.tl{top:2px;left:2px}.tr{top:2px;right:2px}.bl{bottom:2px;left:2px}.br{bottom:2px;right:2px}.status{text-align:center;color:#edc68f;font-size:11px;min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px 2px}.wallet{display:grid;grid-template-columns:1.4fr 1fr .7fr;border-top:1px solid #c8884633;border-bottom:1px solid #c8884633;padding:12px 0;background:#290b142e}.wallet>div{padding-left:12px;border-right:1px solid #c8884633}.wallet>div:last-child{border:0}.wallet>div>span{font-size:7px;letter-spacing:1.5px;color:#c49f86}.wallet strong{display:block;font:20px/1.4 Georgia,serif;font-variant-numeric:tabular-nums;color:#ffdea0}.wallet b{font-size:16px;color:#e4ae4f}.control-deck{display:grid;grid-template-columns:1fr 106px 1fr;gap:14px;align-items:center;margin-top:16px}.stake>span{font-size:7px;letter-spacing:1px;color:#cfa987}.stake>div{display:flex;align-items:center;justify-content:space-between;margin-top:7px;gap:8px}.stake button{border:1px solid #dba85855;background:#300e18;color:#efca87;border-radius:50%;width:30px;height:30px;font-size:20px}.stake strong{font:20px Georgia,serif}.spin{width:100px;height:100px;border-radius:50%;border:3px solid #fff1b2;background:radial-gradient(circle at 40% 25%,#ffe8a0,#f0b84a 50%,#aa571a);color:#582317;font-size:12px;font-weight:800;box-shadow:0 0 0 4px #875023,0 0 0 5px #e8b65b,0 6px 18px #13070e88;line-height:1.2;transition:transform .15s}.spin:before{content:'⟳';display:block;font:52px/.85 Georgia,serif;margin-bottom:4px}.spin:active{transform:scale(.96)}.modes{display:flex;flex-direction:column;gap:8px}.modes button{border:1px solid #d5a35644;border-radius:6px;background:#39111c;color:#ddbd94;font-size:10px;min-height:32px;padding:5px}.modes button.active{background:#e7bc69;color:#38111b}.keyboard-hint{text-align:center;font-size:7px;letter-spacing:1.6px;color:#ae8071;margin:19px 0 1px}.keyboard-hint span{color:#886459;margin-left:5px}.reset{display:block;margin:15px auto 0;background:#f0ca79;color:#421321;border:0;padding:10px;border-radius:6px}.reset[hidden]{display:none}.side-note{padding-left:10px}.seal{font-size:48px;color:#d6ab6d;display:block;margin-bottom:24px}.side-note h2{font:32px/1.2 Georgia,serif;margin:16px 0}.side-note>p{font-size:12px;margin-bottom:30px}.mini-rule{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.mini-rule>span{font:italic 19px Georgia,serif;color:#c18b53}.mini-rule p{font-size:11px;line-height:1.6;color:#bba093;margin:0}footer{position:relative;display:flex;justify-content:space-between;max-width:1304px;margin:0 auto;padding:20px 0;border-top:1px solid var(--line);color:#8f766e;font-size:8px;letter-spacing:1px}dialog{max-width:520px;width:calc(100% - 28px);max-height:85vh;overflow:auto;border:1px solid #c99755;background:#29121b;color:#efdab8;border-radius:16px;padding:26px;box-shadow:0 20px 100px #000b}dialog::backdrop{background:#10080bd9;backdrop-filter:blur(7px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head h2{font:26px Georgia,serif}.dialog-head button{background:none;border:1px solid var(--line);color:var(--gold);width:36px;height:36px;border-radius:50%;font-size:25px}dialog p{font-size:12px;color:#baa399;line-height:1.8}.paytable{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.paytable>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.paytable span{font-size:26px}.paytable small{font-size:10px;color:#bfa790}.paytable strong{font:20px Georgia,serif;color:var(--gold)}.dialog-note{border:1px solid var(--line);padding:15px;margin-top:20px;border-radius:8px}.dialog-note p:last-child{margin-bottom:0}@keyframes roll{0%{transform:translateY(-3px)}100%{transform:translateY(3px)}}@keyframes win{50%{filter:brightness(1.2)}}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.experience{margin-top:55px}}@media(max-width:1100px){.experience{grid-template-columns:1fr minmax(360px,470px);gap:35px}.side-note{display:none}footer{margin:0 48px}}@media(max-width:740px){.topbar{height:64px;padding:0 18px}.brand{font-size:17px}.brand small{font-size:6px;letter-spacing:3.7px}.demo{font-size:7px;letter-spacing:1px}.back{font-size:18px}.back span{display:none}.experience{display:block;margin:18px auto 20px;padding:0 12px;max-width:480px}.intro{display:none}.machine{padding:12px 16px;border-radius:20px}.hero{height:179px}.mascot{width:255px;height:183px}.halo{width:213px;height:213px}.game-logo{font-size:37px}.lantern{width:30px;height:45px}.lantern.left{left:10px}.lantern.right{right:10px}.ribbon{font-size:6.5px;letter-spacing:1px}.reel{font-size:43px}.control-deck{grid-template-columns:1fr 88px 1fr;gap:13px}.spin{width:84px;height:84px;font-size:10px}.spin:before{font-size:43px}.stake button{width:28px;height:28px}.stake>span{font-size:6px}.stake>div{gap:4px}.wallet>div{padding-left:8px}.wallet>div>span{font-size:6px}.wallet strong{font-size:19px}.keyboard-hint span{display:none}footer{margin:0 20px;padding:16px 0;gap:10px;font-size:7px;letter-spacing:.5px}.status{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:741px) and (max-height:950px){.experience{margin-top:20px;margin-bottom:20px;grid-template-columns:1fr minmax(360px,420px) .85fr}.hero{height:150px}.mascot{height:164px;width:229px;top:-14px}.halo{height:190px;width:190px}.game-logo{font-size:35px}.reel{aspect-ratio:1.45;font-size:43px}.spin{width:84px;height:84px}.spin:before{font-size:42px}.control-deck{grid-template-columns:1fr 90px 1fr;margin-top:12px}.machine{padding-bottom:12px}.keyboard-hint{margin-top:13px}.topbar{height:70px}.intro h1{font-size:42px}}
@media(max-width:740px) and (max-height:900px){.experience{margin-top:12px}.hero{height:151px}.mascot{height:161px;width:225px;top:-12px}.halo{height:182px;width:182px}.game-logo{font-size:32px}.reel{aspect-ratio:1.4;font-size:39px}.wallet{padding:9px 0}.control-deck{margin-top:13px}.keyboard-hint{margin-top:15px}.status{min-height:40px}.lantern{top:0}}
@media(max-width:350px){.machine{padding-left:12px;padding-right:12px}.control-deck{gap:8px;grid-template-columns:1fr 78px 1fr}.spin{width:74px;height:74px}.spin:before{font-size:37px}.stake button{width:24px;height:27px}.stake strong{font-size:17px}.modes button{font-size:9px}.ribbon{font-size:5.8px}.reel{font-size:33px}}
/* Full-screen celebration, separate from the wallet and payout calculation. */
dialog.big-win{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;padding:24px;overflow:hidden;background:radial-gradient(ellipse at center,#8a381ba6,#240b1bf2 70%);color:#ffe5a1;box-shadow:none}.big-win[open]{display:grid;place-items:center}.big-win::backdrop{background:#130812ba;backdrop-filter:blur(5px)}.win-content{position:relative;z-index:2;text-align:center;max-width:95vw;animation:win-arrival .6s cubic-bezier(.16,1,.3,1)}.win-kicker{font-size:10px;letter-spacing:5px;color:#f6ce81}.win-crown{font:80px/1 Georgia,serif;margin:18px auto 0;color:#ffdc78;filter:drop-shadow(0 0 24px #ffbb46)}.big-win h2{font:900 clamp(54px,11vw,138px)/1 Georgia,serif;font-style:italic;letter-spacing:-4px;margin:10px 0 22px;color:#ffdd78;text-shadow:0 3px #9e4b1b,0 6px #743014,0 10px 25px #12070d;-webkit-text-stroke:1px #fff1af}.big-win p{color:#f6d7af;font-size:14px;margin:0 0 8px}.win-amount{font:700 clamp(52px,10vw,112px)/1.2 Georgia,serif;color:#fff1bb;font-variant-numeric:tabular-nums;text-shadow:0 0 35px #ffc3577a;overflow-wrap:anywhere}.win-unit{font-size:10px;letter-spacing:4px}.win-multiplier{width:fit-content;margin:22px auto;padding:7px 20px;border:1px solid #e5b45366;border-radius:30px;font-size:11px;letter-spacing:2px;background:#3b142977}.win-content button{display:block;margin:24px auto 0;border:1px solid #fff1b1;border-radius:30px;background:linear-gradient(#ffe6a1,#d9a04b);box-shadow:0 4px 24px #16091066;padding:13px 30px;color:#4b211c;font-weight:700}.win-content small{display:block;min-height:20px;margin-top:14px;color:#d8b79d;font-size:11px}.win-rays{position:absolute;left:50%;top:50%;width:160vmax;height:160vmax;margin:-80vmax;background:repeating-conic-gradient(from 0deg,#ffdb7221 0deg 9deg,transparent 9deg 24deg);mask-image:radial-gradient(circle,#000,transparent 65%);opacity:.6;animation:win-rays 35s linear infinite;pointer-events:none}.win-particles{position:absolute;inset:0;pointer-events:none}.win-particles i{position:absolute;top:50%;left:50%;font-style:normal;font-size:var(--size);color:#ffda72;text-shadow:0 2px #b97a23,0 0 13px #ffd75d;opacity:0;animation:coin-burst 2.8s var(--delay) cubic-bezier(.1,.55,.4,1) both}.win-particles i:nth-child(3n){color:#fff1be}@keyframes coin-burst{0%{opacity:0;transform:translate(0,0) scale(.1)}10%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--rotation)) scale(.6)}}@keyframes win-arrival{from{opacity:0;transform:scale(.55) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes win-rays{to{transform:rotate(360deg)}}@media(max-width:480px){.big-win h2{letter-spacing:-2px}.win-kicker{font-size:8px;letter-spacing:3px}.big-win p{font-size:11px}.win-crown{font-size:60px}.win-multiplier{font-size:9px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){.win-rays,.win-content,.win-particles i{animation:none!important}.win-rays{opacity:.2}.win-particles{display:none}}
