
:root{color-scheme:dark;--bg:#130e10;--panel:#20171a;--gold:#efcc85;--text:#f6eee3;--muted:#b5a8a7;--line:#493338;--wine:#620c2c}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 38% 35%,#30111c 0,transparent 58%),var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}button{transition:filter .2s,transform .2s}button:hover:not(:disabled){filter:brightness(1.15)}button:active:not(:disabled){transform:translateY(2px)}.header{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff10;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-size:21px;font-weight:700;letter-spacing:-.7px;white-space:nowrap}.brand sup{font-size:11px;color:var(--gold);vertical-align:super;margin-left:3px}.brand-mark{width:36px;height:43px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:5px;font-family:Georgia,serif;font-size:28px;transform:rotate(-8deg);position:relative}.brand-mark span{font-size:9px;position:absolute;right:3px;bottom:2px}.gold{color:var(--gold)}.edition,.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--gold)}.edition{color:var(--muted);letter-spacing:1.6px}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:30px;color:var(--text);padding:10px 16px;font-size:13px}main{max-width:1240px;padding:0 34px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:36px 0 28px}.eyebrow{margin:0 0 12px}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3.5vw,46px);font-weight:400;margin:0 0 12px;letter-spacing:-1.4px}.intro p:last-child{color:var(--muted);font-size:15px;margin:0}.birthday-stamp{border:1px solid #9b7348;border-radius:50%;width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;letter-spacing:3px;color:var(--gold);line-height:12px;transform:rotate(12deg)}.birthday-stamp span{font:italic 27px Georgia;letter-spacing:0}.layout{display:grid;grid-template-columns:minmax(0,1fr) 324px;gap:24px}.machine{position:relative;background:linear-gradient(145deg,#741335,#400c21);border:1px solid #b38852;border-radius:18px;padding:20px 25px 16px;box-shadow:0 20px 70px #0005,inset 0 0 0 5px #280914,inset 0 0 0 6px #9d603b}.machine-top{display:flex;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:2px;color:var(--gold);padding-bottom:12px;border-bottom:1px solid #efcc8525}.machine-top span:last-child{font-size:10px;color:#d5b0b3;letter-spacing:1px}.jackpot{text-align:center;padding:23px 0 19px}.jackpot>span{font-size:10px;letter-spacing:2.2px;color:#dfb3bc}.jackpot h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,51px);letter-spacing:4px;color:#f8d799;text-shadow:0 3px #301015;margin:6px 0 3px}.jackpot p{margin:0;color:var(--gold);font-size:13px}.jackpot strong{font-size:23px;letter-spacing:2px;margin:0 5px}.reel-frame{position:relative;padding:10px;border-radius:12px;background:linear-gradient(135deg,#f7d392,#9b5b35 40%,#e7bd77);box-shadow:0 5px 20px #0006}.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#2b1d20;border:4px solid #351520;border-radius:7px;overflow:hidden}.reel{background:#f3e9d7;min-width:0;padding:10px 8px 8px;text-align:center;position:relative;color:#391b23;overflow:hidden}.portrait{width:100%;aspect-ratio:1/1.03;position:relative;overflow:hidden;border-radius:50% 50% 42% 42%;background:#c3ae94}.portrait img{position:absolute;max-width:none;object-fit:fill;height:auto}.reel .symbol-name{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-top:10px}.reel .symbol-sub{display:block;color:#725b56;font:italic 12px Georgia;margin:4px 0 1px}.line-arrow{position:absolute;top:43%;color:#ffe8b5;font-size:27px;z-index:2;text-shadow:0 0 8px #000}.line-arrow.left{left:-18px}.line-arrow.right{right:-18px}.reel.winner{background:#ffe29c;box-shadow:inset 0 0 0 3px #c99538}.reel.rolling .portrait{animation:roll .15s linear infinite}.result{min-height:73px;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:6px}.result>span:first-child{font-family:Georgia,serif;font-size:21px;color:#ffe1a5}.result>span:last-child{font-size:12px;color:#dfb5c0}.controls{display:flex;gap:16px;align-items:stretch;background:#280b17;padding:12px;border-radius:10px;border:1px solid #97513c}.bet-control{min-width:135px;display:flex;flex-direction:column;justify-content:center}.label{font-size:10px;letter-spacing:2px;text-align:center;color:#d8b4bf;margin-bottom:5px}.bet-control>div{display:flex;gap:10px;align-items:center;justify-content:space-between}.bet-control button{background:#ffffff0c;border:1px solid #ffffff20;width:32px;height:32px;border-radius:50%;color:var(--text);font-size:21px}.bet-control strong{font-size:20px;font-variant-numeric:tabular-nums}.spin{flex:1;border:1px solid #ffe6b0;background:linear-gradient(#f6dca3,#dbac61);color:#38151b;font-size:15px;font-weight:800;letter-spacing:1px;border-radius:7px;padding:18px 10px;box-shadow:0 4px 0 #9d6b31,0 5px 15px #0003}.spin>span{font-size:27px;vertical-align:middle;margin-right:10px;line-height:20px}.machine-bottom{display:flex;justify-content:space-between;margin:16px 0 0;font-size:10px;color:#cea5af;gap:10px}.keyboard{letter-spacing:1px}aside{display:flex;flex-direction:column;gap:16px}.wallet,.rules{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}.wallet .eyebrow,.rules .eyebrow{font-size:10px;letter-spacing:1.5px}.balance{display:flex;align-items:center;gap:12px;margin:20px 0 8px}.balance strong{font-size:39px;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}.coin{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:italic 22px Georgia;box-shadow:inset 0 0 0 3px #20171a,inset 0 0 0 4px #efcc8555}.muted{font-size:12px;color:var(--muted)}.wallet-stats{margin-top:20px;padding-top:17px;border-top:1px solid var(--line);display:grid;gap:12px;font-size:12px}.wallet-stats>div{display:flex;justify-content:space-between;color:var(--muted)}.wallet-stats strong{color:var(--text);font-weight:500}.rules{padding:21px 22px}.rules h2{font:26px Georgia;margin:0 0 10px}.payrow{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #ffffff09}.payrow>div{flex:1}.payrow strong{font-size:13px}.payrow small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.payrow b{color:var(--gold);font:22px Georgia}.mini-faces,.rule-symbol{width:53px;flex-shrink:0}.mini-faces{display:flex}.mini-faces .portrait{width:26px;height:32px;flex-shrink:0;border:1px solid var(--gold);border-radius:6px;margin-right:-12px}.rule-symbol{font:700 18px Georgia;letter-spacing:-2px;color:var(--gold)}.rule-symbol span{color:#79666a}.fine{font-size:11px;line-height:1.6;color:var(--muted);margin:13px 0 0}.gift{background:linear-gradient(120deg,#38241e,#251b19);border:1px solid #7d593b;color:var(--gold);border-radius:10px;padding:17px 16px;display:flex;align-items:center;gap:13px;text-align:left}.gift-icon{font-size:35px}.gift>span:nth-child(2){flex:1}.gift strong{font-size:13px}.gift small{display:block;font-size:12px;font-weight:400;margin-top:5px;color:var(--muted)}.cast{padding:32px 0}.cast-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.cast h2{font:23px Georgia;margin:0}.cast-heading>span{font-size:10px;letter-spacing:1.6px;color:var(--muted)}.cast-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.cast-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel);text-align:center;padding:10px}.cast-card .portrait{border-radius:6px;aspect-ratio:1.15}.cast-card strong{display:block;font-size:11px;margin:10px 0 3px;white-space:nowrap}.cast-card>span{font-size:10px;color:var(--muted)}footer{padding:20px 0 28px;border-top:1px solid #ffffff12;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a8979b}footer .gold{padding:0 6px}.secondary{border:1px solid var(--gold);background:transparent;color:var(--gold);border-radius:6px;padding:10px;font-size:12px;margin-top:18px;width:100%}dialog{color:var(--text);background:radial-gradient(ellipse at top,#6a1733,#270e1b);border:1px solid var(--gold);border-radius:16px;padding:45px;text-align:center;max-width:calc(100% - 32px);width:460px}dialog::backdrop{background:#0b050bdd;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:10px;background:transparent;border:0;color:var(--gold);font-size:30px}.dialog-star{font-size:60px;color:var(--gold)}dialog h2{font:48px Georgia;margin:14px 0}dialog p{line-height:1.8;font-size:15px}dialog .eyebrow{font-size:10px}dialog .gift-amount{color:var(--gold);font-weight:700}dialog .spin{width:100%}dialog .fine{font-size:11px}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:100}#confetti i{position:absolute;top:-25px;width:8px;height:14px;background:var(--gold);animation:fall 2.8s ease-in forwards}.hidden{display:none}@keyframes roll{from{transform:translateY(-10px);filter:blur(2px)}to{transform:translateY(10px);filter:blur(3px)}}@keyframes fall{to{transform:translateY(110vh) rotate(650deg)}}@media(min-width:1100px){.reel .portrait{aspect-ratio:1/1.1}}@media(max-width:980px){.layout{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.machine{padding:19px}.wallet,.rules{padding:18px}.edition{display:none}.cast-grid{grid-template-columns:repeat(4,1fr)}.cast-card .portrait{aspect-ratio:1.5}.controls{gap:10px}.bet-control{min-width:115px}.spin{font-size:13px;letter-spacing:.5px}.machine-top{letter-spacing:1px}.jackpot h2{letter-spacing:1px}.reel .symbol-name{font-size:10px;letter-spacing:0}.reel .symbol-sub{font-size:10px}}@media(max-width:740px){main{padding:0 18px}.header{padding:18px}.brand{font-size:17px;gap:8px}.brand-mark{width:29px;height:35px;font-size:24px}.icon-btn{font-size:11px;padding:9px 10px}.intro{padding:26px 0 23px}.intro .eyebrow{font-size:9px;letter-spacing:1.5px}.intro h1{font-size:30px;letter-spacing:-1px}.intro p:last-child{font-size:13px;line-height:1.6;max-width:270px}.birthday-stamp{display:none}.layout{grid-template-columns:1fr}.machine{padding:19px 20px 15px}.jackpot{padding:18px 0}.jackpot h2{font-size:39px}.reel .portrait{aspect-ratio:1/1.16}.reel{padding:8px 4px}.reels{gap:5px;border-width:3px}.reel-frame{padding:7px}.reel .symbol-name{font-size:10px;letter-spacing:.3px}.reel .symbol-sub{font-size:10px}.machine-top{font-size:10px}.machine-top span:last-child{font-size:9px}.bet-control{min-width:116px}.controls{padding:10px}.spin{font-size:12px}.spin>span{margin-right:4px}.machine-bottom{font-size:9px}.result>span:first-child{font-size:20px}aside{display:grid;grid-template-columns:1fr}.wallet{padding:20px}.wallet .balance{margin:12px 0 6px}.wallet-stats{display:flex;justify-content:space-between;gap:14px}.wallet-stats>div{flex-direction:column;gap:7px}.wallet-stats strong{font-size:18px}.rules .payrow{padding:14px 0}.cast-heading{align-items:flex-start;flex-direction:column;gap:9px}.cast h2{font-size:24px}.cast-grid{gap:8px}.cast-card{padding:6px}.cast-card .portrait{aspect-ratio:1}.cast-card strong{font-size:10px}.cast-card>span{font-size:9px}.cast{padding:27px 0}footer{flex-direction:column;gap:8px;font-size:10px}.keyboard{display:none}dialog{padding:35px 22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.machine{min-width:0}@media(max-width:420px){.jackpot h2{font-size:32px}.jackpot>span{font-size:9px;letter-spacing:1.4px}.bet-control{min-width:100px}.bet-control>div{gap:6px}.spin{font-size:11px}.spin>span{font-size:23px}.machine-top{font-size:9px;letter-spacing:.6px}.machine-top span:last-child{font-size:8px}.result>span:first-child{font-size:18px}.cast-card strong{white-space:normal}.brand{font-size:15px}}
