:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff6e9;background:#180b2b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 0%,#4a1950 0%,#220c35 42%,#11091d 100%)}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ffe28a;outline-offset:3px}.app{max-width:480px;margin:0 auto;padding:18px 16px max(24px,env(safe-area-inset-bottom))}.topbar,.wallet,.bet-title,.dialog-actions{display:flex;align-items:center;justify-content:space-between}.topbar{gap:12px;margin-bottom:18px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#642b70;font-size:29px;box-shadow:inset 0 0 0 1px #ae6ab4}.brand strong{display:block;font-size:15px;line-height:1.2}.eyebrow{display:block;color:#ffcc76;font-size:10px;font-weight:850;letter-spacing:1.8px;margin-bottom:4px}.icon-button{border:1px solid #6f487e;border-radius:14px;background:#362047;color:white;width:44px;height:44px;font-size:20px}.wallet{padding:17px 20px;background:linear-gradient(125deg,#39204f,#2c183c);border:1px solid #70487f;border-radius:20px;box-shadow:0 10px 25px #0002;margin-bottom:18px}.balance{font-size:30px;font-weight:900;letter-spacing:-1px;color:#ffe080;display:flex;align-items:center;gap:8px}.balance span{font-size:24px}.reset-button{background:#ffffff12;border:1px solid #ffffff2a;color:#fce2f3;padding:10px 12px;border-radius:12px;font-size:12px;font-weight:700}.machine{position:relative;text-align:center;border-radius:32px;padding:20px 16px 19px;background:linear-gradient(155deg,#9b194b 0%,#bf2b38 29%,#8a153b 60%,#541343 100%);border:4px solid #ffc75c;box-shadow:inset 0 0 0 3px #ff8d4b,0 12px 0 #6c1637,0 22px 40px #0008,0 0 50px #f0833530}.machine:before{content:"";position:absolute;inset:7px;border:1px dashed #ffd58a7a;border-radius:25px;pointer-events:none}.machine-top{display:flex;justify-content:center;align-items:center;gap:32px}.mascot{font-size:60px;line-height:1.15;filter:drop-shadow(0 5px 2px #651321)}.star{font-size:29px;color:#ffdb76;text-shadow:0 0 13px #ffb340}h1{font-weight:1000;font-size:clamp(27px,8vw,39px);line-height:1.05;margin:0;color:#ffe277;letter-spacing:-1.2px;text-shadow:0 3px 0 #8b2640,0 5px 10px #38101f}h1 span{display:block;font-size:13px;letter-spacing:4px;color:#fff2cd;margin-top:6px}.machine-subtitle{font-size:12px;color:#ffe4c2;margin:9px 0 19px}.reels-frame{border:6px solid #f9b640;border-radius:20px;padding:8px;background:linear-gradient(#7b1238,#e68c36);box-shadow:0 0 0 3px #8b1b39,0 0 24px #ffbb42bb,inset 0 0 10px #54152b}.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.reel{aspect-ratio:.83;display:grid;place-items:center;font-size:clamp(42px,14vw,72px);border-radius:12px;background:linear-gradient(155deg,#fff9e8,#ffe7b0 55%,#e7b86e);box-shadow:inset 0 0 12px #b36a4277,0 3px 4px #5c1534;color:#40233d;user-select:none}.reel.winning{animation:glow .7s infinite alternate}.reel.spinning{animation:wiggle .12s infinite alternate}@keyframes wiggle{from{transform:translateY(-4px);filter:blur(2px)}to{transform:translateY(4px);filter:blur(1px)}}@keyframes glow{from{box-shadow:inset 0 0 10px #ffca4c,0 0 6px #ffd44c}to{box-shadow:inset 0 0 20px #ffad2d,0 0 22px #ffe780}}.result{min-height:65px;display:grid;place-items:center;font-weight:850;color:#fff3d6;font-size:15px;line-height:1.35;padding:13px 4px}.result.win{color:#ffe56b;font-size:20px;text-shadow:0 0 12px #f6c04b}.bet-section{padding:14px;background:#400f33a6;border:1px solid #ffca7145;border-radius:17px}.bet-title{font-size:12px;font-weight:900;letter-spacing:1px;margin-bottom:12px}.bet-title span:last-child{font-size:11px;font-weight:500;letter-spacing:0;color:#ffdbb5}.bets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.bet{border:1px solid #a45678;background:#5d234b;color:#fff4e5;border-radius:12px;min-height:46px;font-weight:900;font-size:16px}.bet.active{color:#4b251c;background:#ffdd81;border-color:#fff4ba;box-shadow:0 3px 0 #b67939}.spin-button{width:100%;min-height:65px;margin-top:15px;border:2px solid #b5ff9b;border-radius:18px;background:linear-gradient(#51d75a,#159d47);color:white;font-size:25px;font-weight:1000;letter-spacing:2px;text-shadow:0 2px #096a31;box-shadow:0 6px 0 #087537,0 10px 17px #19091b70}.spin-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 #087537}.spin-button:disabled{opacity:.6;cursor:wait}.help{font-size:11px;color:#ffe4c5;margin:14px 0 0}.stats{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);background:#ffffff0b;border:1px solid #ffffff20;border-radius:18px;padding:17px 6px}.stats div{text-align:center}.stats div+div{border-left:1px solid #ffffff24}.stats span{display:block;color:#d6b7d9;font-size:10px;letter-spacing:.8px;font-weight:800}.stats strong{display:block;font-size:23px;margin-top:5px;color:#ffe48b}.rules{background:#ffffff0b;border:1px solid #ffffff1c;border-radius:16px;margin-top:14px;padding:15px 17px}.rules summary{cursor:pointer;font-weight:750;font-size:14px;display:flex;justify-content:space-between;list-style:none}.rules summary::-webkit-details-marker{display:none}.rules p{font-size:13px;line-height:1.6;color:#e7cde8;margin-bottom:0}footer{text-align:center;font-size:11px;line-height:1.8;color:#c9aacb;margin-top:22px}footer a{color:#ffdc8a}dialog{width:min(90vw,360px);border:1px solid #b379ad;border-radius:20px;background:#2e183d;color:#fff;padding:24px}dialog::backdrop{background:#08040bc9}dialog h2{margin-top:0}dialog p{color:#d6c0da;font-size:14px;line-height:1.5}.dialog-actions{gap:12px;margin-top:20px}.dialog-actions button{flex:1;border-radius:10px;border:1px solid #765b7d;background:#442554;color:#fff;padding:12px}.dialog-actions button:last-child{background:#ffc75c;color:#4d1830;font-weight:850;border-color:#ffc75c}@media(max-width:360px){.app{padding-inline:10px}.machine{padding-inline:10px}.brand strong{font-size:13px}.reset-button{font-size:11px}.reel{font-size:40px}}@media(min-width:700px){.app{padding-top:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
