/* Snack Street / Night Market — presentation only. */
:root{--bg:#160f1e;--panel:#251b30;--edge:#2e1a0e;--gold:#ffd57b;--cream:#fff1d7;--win:#ffd57b;--cell:#241a2c;--reel-height:clamp(183px,calc((100vw - 86px)*.6),384px)}
html{background:#100c18;color-scheme:dark}
body{padding:24px 24px 28px;background:#100c18;min-height:100svh;overflow-x:hidden;isolation:isolate;font-weight:600}
body::before{content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#100c181a,#100c1880),url('./assets/background-v2.webp') center center/cover no-repeat;pointer-events:none}
body::after{content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 38%,transparent 20%,#0e09193d 72%,#0e0919b3);pointer-events:none}
.app{width:100%;max-width:740px;gap:0;align-self:flex-start;position:relative;animation:stageEnter .7s ease-out}
.brand-header{position:relative;text-align:center;padding:0 0 20px;display:flex;flex-direction:column;align-items:center}
.edition{color:#d5b89999;font-size:9px;font-weight:700;letter-spacing:.4em;display:flex;align-items:center;gap:13px}
.edition-line{height:1px;width:35px;background:linear-gradient(90deg,transparent,#c0996355)}
.edition-line:last-child{transform:rotate(180deg)}
.brand-logo{width:290px;max-width:65%;height:auto;display:block;filter:drop-shadow(0 9px 12px #0008);margin:7px 0 1px}
.brand-caption{color:#d1ab7999;font-size:8px;letter-spacing:.32em;margin-top:5px}
.bar{gap:12px;padding:0 17px;position:relative;z-index:2;margin-bottom:18px}
.tile{min-width:0;border:1px solid #9c73403d;background:linear-gradient(135deg,#302332f5,#191320f5);border-radius:14px;padding:12px 20px;box-shadow:inset 0 1px 0 #ffffff08,0 5px 15px #0003;display:flex;align-items:center;justify-content:space-between;gap:10px}
.tile .k{font-size:9px;letter-spacing:.16em;opacity:1;color:#b8a5b7}
.tile .v{font-size:23px;letter-spacing:-.03em;white-space:nowrap;color:#fff0d9}
.jackpot-tile{background:linear-gradient(115deg,#392615,#211827);border-color:#dba95166;box-shadow:inset 0 1px 0 #ffe7a91a,0 0 22px #edb13e0c}
.jackpot-tile .k{color:#eac079}.jackpot-tile .k span{font-size:15px;margin-right:4px}.jackpot-tile .v{color:#ffdb88;text-shadow:0 0 16px #f1aa4140}
.cabinet{position:relative;padding:17px 17px 0;border:2px solid #d7a857;border-radius:28px 28px 24px 24px;background:linear-gradient(100deg,#745025 0%,#3d291b 4%,#271a17 48%,#513821 95%,#957043);box-shadow:0 0 0 3px #241710,0 0 0 5px #74522b,0 12px 0 #1c1216,0 22px 40px #0009,inset 0 1px 0 #fff2b8}
.awning{position:absolute;top:-6px;left:20%;right:20%;height:13px;border-radius:4px 4px 7px 7px;background:repeating-linear-gradient(90deg,#efcd98 0 21px,#b84337 21px 42px);border:1px solid #ffd296;box-shadow:0 4px 8px #0009;z-index:2}
.marquee{display:flex;justify-content:space-between;gap:7px;padding:0 4px;position:relative}
.marquee i{display:block;flex:0 0 5px;height:5px;border-radius:50%;background:#fff0b5;box-shadow:0 0 3px #fff1ab,0 0 8px #ffb740}
.marquee i:nth-child(3n){animation:bulbBreathe 3s ease-in-out infinite alternate}
.cabinet-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 5px 9px;gap:8px}
.line-count{font-size:23px;font-weight:900;line-height:.85;color:#f7d088;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:36px}
.line-count small{font-size:7px;letter-spacing:.15em;font-weight:700}
.bonus-goal{font-size:9px;letter-spacing:.17em;text-align:center;color:#ddc5a0;line-height:1.6}.bonus-goal b{display:block;color:#f5dfa9;font-size:10px;letter-spacing:.16em}
.open-sign{font-size:13px;font-weight:700;font-style:italic;letter-spacing:.05em;color:#ffa8ce;border:1px solid #da6b9899;border-radius:4px;padding:3px 5px;transform:rotate(5deg);text-shadow:0 0 8px #ff659d;box-shadow:0 0 8px #fa6a8c22}
.feature-hud{display:flex;align-items:center;justify-content:center;min-height:43px;gap:12px;padding-bottom:8px}
#scatterTrack{margin:0;gap:9px;min-height:30px;align-self:auto}
#scatterTrack .slot{width:27px;height:27px;opacity:.4;filter:grayscale(.75)}
#scatterTrack .slot.lit{opacity:1;filter:drop-shadow(0 0 7px #ff6abc99)}
#scatterTrack .cnt{font-size:10px;color:#c1a883;letter-spacing:.12em}
#fsBadge{font-size:10px;border:1px solid #ffb5df66;border-radius:7px;background:#64324d;color:#ffcee9;padding:6px 10px;box-shadow:none}
#fsTotal{font-size:10px;letter-spacing:.05em;color:#ffe49b}
#reels{gap:3px;padding:5px;background:linear-gradient(#0e0a14,#291a2c);border:2px solid #140c11;border-radius:13px;box-shadow:0 0 0 1px #ad7a3d,0 0 0 3px #201317,inset 0 6px 12px #0009;overflow:hidden}
.reel{height:var(--reel-height);border-radius:6px;background:#251a2c;box-shadow:inset 0 0 14px #0004;contain:paint}
.reel::before{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(180deg,#0c071955 0%,transparent 13%,transparent 87%,#0c071977 100%);box-shadow:inset 1px 0 0 #ffe9bc08}
.cell{height:calc(var(--reel-height)/3);background:radial-gradient(ellipse at 50% 45%,#3b2c42 0%,#281e30 70%);border-bottom:1px solid #c7a3cf0a;isolation:isolate}
.cell:nth-child(even){background:radial-gradient(ellipse at 50% 45%,#37283e,#241a2b)}
.cell.art svg{width:86%;height:86%;overflow:visible;filter:drop-shadow(0 5px 3px #0005);transition:filter .2s}
.cell[data-sym='bonus'] svg{width:91%;height:91%;filter:drop-shadow(0 0 8px #ee58bc3b)}
.cell[data-sym='a'] svg,.cell[data-sym='k'] svg,.cell[data-sym='q'] svg,.cell[data-sym='j'] svg{width:68%;height:68%}
.cell.scatter-hit{background:radial-gradient(circle,#713156,#341e34);box-shadow:inset 0 0 0 2px #ff91d2,inset 0 0 26px #ed63b44d}
.cell.win-cell{animation:premiumWin 1s ease-in-out 2;z-index:2;background:radial-gradient(ellipse,#69522d,#332537)}
.cell.win-cell svg{animation:symbolCelebrate 1s cubic-bezier(.22,.7,.3,1) 2;filter:drop-shadow(0 0 8px #ffce6380) brightness(1.12)}
.mult{border:1px solid #fff0b080;background:linear-gradient(#fff0a7,#edaf3d);font-weight:900;font-size:clamp(11px,2vw,17px);padding:1px 5px;box-shadow:0 2px 5px #0009;z-index:6}
.cell.wild-block{background:linear-gradient(90deg,#664117,#9d6b28 45%,#674218);border:0}
.cell.wild-block .mult.big{font-size:clamp(25px,7vw,48px);padding:4px 12px;border-radius:10px}
.cabinet-foot{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;font-size:6px;letter-spacing:.28em;color:#b49361}
.cabinet-foot>span:first-child,.cabinet-foot>span:last-child{font-size:8px;color:#deb56a}
#anticBanner{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:12px;border:1px solid #fff0b7;border-radius:7px;padding:7px 12px;box-shadow:0 3px 20px #0009;animation:none!important}
.result-strip{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:0 15px;margin:24px 22px 0;padding:0 0 10px;border-bottom:1px solid #ddaf7520;min-height:63px}
.result-label{font-size:8px;letter-spacing:.13em;color:#a493a5;grid-column:1}
.last-win{grid-column:2;grid-row:1/3;font-size:30px;font-weight:800;color:#ffdea0;letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 0 20px #e3a4521a}
.message{grid-column:1;font-size:12px;text-align:left;min-height:20px;color:#cebdcd;line-height:1.5;letter-spacing:0}
.message.win,.message.jackpot{color:#ffe29e}.message.error{color:#ff9292}.message.anticipate{color:#ffb3db}
#skipHint{height:16px;margin-top:5px;font-size:8px;letter-spacing:.08em}#autoLeft{font-size:9px;margin:2px 0}
.controls{display:grid;grid-template-columns:1fr 114px 1fr;gap:22px;align-items:center;padding:0 24px;margin-top:0}
button{font-family:inherit;touch-action:manipulation;cursor:pointer;transition:background .2s,box-shadow .2s,transform .14s,filter .2s;border:1px solid #ac844238;border-radius:10px;background:linear-gradient(#35283b,#241b2c);color:#e5d8e6;box-shadow:inset 0 1px 0 #ffffff09,0 3px 0 #100b16;padding:12px;min-height:44px;font-size:10px;letter-spacing:.05em}
button:hover:not(:disabled){filter:brightness(1.15);box-shadow:inset 0 1px 0 #ffffff20,0 3px 0 #100b16,0 0 18px #e8ba6320}
button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 6px #0004}
button:focus-visible,input:focus-visible,.sw:focus-visible{outline:2px solid #ffd887;outline-offset:4px}
button:disabled{opacity:.4;cursor:default}
.betbox{display:grid;grid-template-columns:40px 1fr 40px;gap:0;align-items:center;position:relative;border:1px solid #b9924930;border-radius:12px;background:#21182be6;padding:20px 4px 6px;box-shadow:inset 0 1px 0 #ffffff07;min-width:0}
.bet-label{position:absolute;top:7px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.17em;color:#a996ad}
.betbox button{min-width:0;min-height:38px;font-size:21px;padding:0;background:transparent;border:0;box-shadow:none;color:#d1b999;font-weight:400}
.betbox .v{font-size:17px;white-space:nowrap;text-align:center;color:#fff1d7;font-variant-numeric:tabular-nums}
#spin{width:110px;height:110px;padding:69px 0 0;position:relative;border-radius:50%;border:3px solid #f8d580;outline:1px solid #613921;outline-offset:4px;background:radial-gradient(ellipse at 40% 14%,#ffedba 0%,#ffc65b 26%,#f5a331 58%,#d66b1d 100%);color:#683017;font-size:9px;font-weight:900;letter-spacing:.13em;box-shadow:inset 0 3px 0 #fff4c4,inset 0 -6px 0 #a74c1899,0 7px 0 #6c3418,0 12px 25px #0007,0 0 30px #ffaa3320;text-shadow:0 1px 0 #ffe7a4}
#spin::before{content:'';position:absolute;left:30px;top:21px;width:45px;height:45px;background:#7a3719;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M39 19A16 16 0 1 0 39 31' fill='none' stroke='black' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M29 18h13V5' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 1px 0 #fff4b4)}
#spin:disabled{opacity:1;filter:saturate(.78) brightness(.87)}
#spin.spinning::before{animation:spinGlyph 1.1s linear infinite}
#spin.stop{background:radial-gradient(ellipse at 40% 14%,#ffb98c,#ef7150 58%,#b8432f);border-color:#ffd0a1;color:#64271e}
#spin.stop::before{mask:none;width:29px;height:29px;left:37px;top:29px;border-radius:5px;background:#702f21;animation:none}
.quick-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:0}
.quick-controls button{font-size:8px;padding:8px 2px;min-width:0;height:62px;color:#cbb7ce;letter-spacing:.03em}
#speed::before{content:'ϟ';display:block;font-size:24px;line-height:27px;color:#d6b376}
#auto::before{content:'↻';display:block;font-size:26px;line-height:27px;color:#d6b376}
#auto.on{color:#35200f;background:linear-gradient(#ffdf92,#e7b955)}#auto.on::before{color:#6a401b}
#speed[data-speed='turbo']{color:#ffd780;border-color:#dca55380}
.links{display:flex;justify-content:center;gap:2px;padding:0 12px;margin-top:23px;border-top:1px solid #e2b96913;padding-top:11px}
.links button{flex:1;padding:7px 3px;min-height:42px;background:none;border:0;box-shadow:none;color:#a68fae;font-size:8px;letter-spacing:.06em;max-width:140px}
.links button::before{display:block;font-size:17px;line-height:23px;color:#b69eae;font-weight:400}
#payBtn::before{content:'☷'}#soundBtn::before{content:'♫'}#fairBtn::before{content:'◇'}#refBtn::before{content:'♧'}
#soundBtn[aria-pressed='false']::before{opacity:.35}
.game-footer{display:flex;justify-content:space-between;padding:15px 22px 0;font-size:7px;letter-spacing:.13em;color:#8f769058}
.panel{background:#0c071bd9;backdrop-filter:blur(12px);z-index:70;padding:18px}
.panel .card{max-width:460px;max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid #b58a4866;border-radius:22px;background:linear-gradient(145deg,#352538,#1a1424);box-shadow:0 20px 90px #000a,inset 0 1px 0 #f1dcb215;padding:25px;gap:15px}
.card h2{font-size:25px;letter-spacing:-.03em;color:#ffdf9b}.card .hint{font-size:12px;line-height:1.7;color:#bda9c1}.card .row{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.card input{border:1px solid #b68c464d;border-radius:9px;padding:12px;background:#140f1e;color:#fff3d6}.card button[data-close]{background:transparent;box-shadow:none;border-color:#b6a1bf25;color:#af9fba}
.card #autoStart,.card #rotateBtn{background:linear-gradient(#ffdb8b,#e9ab49);color:#503218;font-weight:800}
.pay-row{padding:10px 0;border-width:1px}.pay-ico{width:45px;height:45px}.pay-vals{font-size:11px;gap:5px}.pay-vals span,.pay-head span{min-width:52px}.pay-note{font-size:11px}
#bonusReveal{background:radial-gradient(ellipse at 50% 34%,#61314ce8,#150c20f8 67%);backdrop-filter:blur(10px);overflow:auto}
#bonusReveal .br{max-width:410px;position:relative;gap:12px;padding:25px 20px;border:1px solid #f5bf6970;border-radius:25px;background:linear-gradient(150deg,#452537,#221626);box-shadow:0 15px 75px #0008,inset 0 1px 0 #fff0a433}
#bonusReveal .br::before,#bonusReveal .br::after{content:'';position:fixed;top:0;bottom:0;width:50%;z-index:-1;background:repeating-linear-gradient(90deg,#e1b998 0 38px,#a83738 38px 76px);box-shadow:0 0 35px #0008;pointer-events:none}
#bonusReveal .br::before{left:0;animation:curtainLeft .8s cubic-bezier(.3,.8,.3,1) both}#bonusReveal .br::after{right:0;animation:curtainRight .8s cubic-bezier(.3,.8,.3,1) both}
.bonus-hero{width:78px;height:78px;background:var(--donut-art) center/contain no-repeat;filter:drop-shadow(0 0 22px #ff7dd870);animation:donutFloat 3s ease-in-out infinite}
#bonusReveal .br-t{font-size:28px;letter-spacing:-.03em;color:#ffd895;text-shadow:0 3px 0 #7d422e}
#bonusReveal .br-sub{font-size:9px;letter-spacing:.2em;color:#d8b5cc}
.br-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin:9px 0}
.br-cell{aspect-ratio:.94;position:relative;border:1px solid #b1773c;border-radius:10px;background:linear-gradient(130deg,#ac7741,#6d4128);font-size:0;box-shadow:inset 0 3px 0 #f7c98055,0 5px 0 #24131a}
.br-cell::before{content:'';position:absolute;top:0;bottom:0;left:43%;width:14%;background:#e2b97955}.br-cell::after{content:'★';font-size:21px;color:#e8c793;z-index:1;text-shadow:0 2px 0 #5d341f}
.br-cell.open{font-size:24px;background:linear-gradient(145deg,#fff0b6,#e6ad42);box-shadow:0 0 18px #ffd67133,0 4px 0 #74422a}.br-cell.open::before,.br-cell.open::after{display:none}
.br-count{font-size:61px;color:#ffe7aa;text-shadow:0 4px 0 #854b37,0 0 28px #ffb85b40}.br-label{font-size:10px;letter-spacing:.17em}#bonusReveal .br-sticky{font-size:9px;line-height:1.6;max-width:270px;color:#d7bbc8}
#brStart{border-radius:12px;min-height:48px}#brBiggie{font-size:8px;border:0;padding:6px 10px}
#bigwin{background:radial-gradient(ellipse,#4a2e26e8,#100919f5 68%);backdrop-filter:blur(9px);overflow:hidden}
#bigwin .bw{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;width:min(440px,90vw);aspect-ratio:1;border-radius:50%;border:2px solid #f2c16d;background:radial-gradient(circle,#533126,#271922 62%,#ac79374d 63%,#21141f 68%);box-shadow:0 0 0 7px #79502b,0 0 0 9px #e5b55d,0 0 75px #f5ba4959,inset 0 0 40px #bd7e2b30;padding:30px;animation:medallionEnter .6s cubic-bezier(.15,.9,.3,1.2)}
#bigwin .bw::before{content:'';position:absolute;inset:-80px;z-index:-1;border-radius:50%;background:repeating-conic-gradient(from 0deg,#efbe5318 0deg 8deg,transparent 8deg 20deg);mask:radial-gradient(circle,transparent 45%,#000 55%,transparent 72%);animation:spinGlyph 50s linear infinite}
#bigwin .bw::after{content:'✦';font-size:36px;color:#ffdd94;order:-1;margin-bottom:13px;text-shadow:0 0 15px #ffb23c}
#bigwin .bw-t{font-size:clamp(19px,4.5vw,27px);letter-spacing:.05em;color:#ffdd93}
#bigwin .bw-a{font-size:clamp(42px,10vw,72px);letter-spacing:-.045em;color:#fff0b2;text-shadow:0 4px 0 #9b571e,0 0 20px #d8934544;margin:18px 0 9px}
#bigwin .bw-m{font-size:20px;color:#efc076;border:1px solid #e0b46140;border-radius:99px;padding:4px 18px}#bigwin .bw-h{font-size:9px;letter-spacing:.05em;margin-top:20px}
#bigwin.mega .bw{border-color:#ffa4d7;background:radial-gradient(circle,#672f4a,#2b182a 65%)}#bigwin.epic .bw{border-color:#b6f5ff;background:radial-gradient(circle,#263e54,#21182e 65%)}
#featureCard{backdrop-filter:blur(8px)}#featureCard .fc{border:1px solid #ffe5a4;background:linear-gradient(145deg,#fff0b0,#dca547);box-shadow:0 8px 0 #714220,0 0 50px #ffd56633;border-radius:24px;padding:28px}
#boot{background:radial-gradient(ellipse,#352037,#110c1c);gap:20px}#boot .donut{order:2;width:30px;height:30px}#boot .bs{order:3;font-size:9px}.boot-logo{width:300px;max-width:75%;height:auto;filter:drop-shadow(0 10px 16px #0008)}
.demo-bar{background:#130e1cdd!important;backdrop-filter:blur(15px);border-top:1px solid #eac47d24;gap:12px!important;padding:7px 12px!important;font-size:9px!important}
.demo-bar::before{content:'ДЕМО';font-size:8px;letter-spacing:.12em;border:1px solid #d9b87538;padding:4px 7px;border-radius:5px;color:#c7a675}.demo-bar span{min-width:0!important;color:#ae9cba!important}.demo-bar button{min-height:30px;padding:3px 12px!important;font-size:13px}
@keyframes stageEnter{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes bulbBreathe{from{opacity:.6}to{opacity:1}}
@keyframes spinGlyph{to{rotate:360deg}}
@keyframes premiumWin{0%,100%{box-shadow:inset 0 0 0 1px #edb95544}40%{box-shadow:inset 0 0 0 2px #ffe8a0,inset 0 0 20px #e9b55533}}
@keyframes symbolCelebrate{0%,100%{transform:scale(1)}35%{transform:scale(1.1) rotate(-3deg)}65%{transform:scale(1.05) rotate(2deg)}}
@keyframes curtainLeft{from{transform:translateX(0)}to{transform:translateX(-103%)}}@keyframes curtainRight{from{transform:translateX(0)}to{transform:translateX(103%)}}
@keyframes donutFloat{50%{transform:translateY(-5px) rotate(4deg)}}@keyframes medallionEnter{from{opacity:0;transform:scale(.65) rotate(-7deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(min-width:1000px){body{padding-top:18px}.brand-logo{width:310px}.brand-header{padding-bottom:17px}.bar{margin-bottom:18px}.cabinet-heading{padding-top:14px}}
@media(max-width:600px){body{padding:16px 17px 22px}.brand-header{padding-bottom:13px}.brand-logo{width:235px}.edition{font-size:7px}.brand-caption{font-size:7px}.bar{padding:0 3px;gap:8px;margin-bottom:16px}.tile{padding:9px 12px;flex-direction:column;align-items:flex-start;gap:2px;border-radius:11px}.tile .k{font-size:8px}.tile .v{font-size:21px}.jackpot-tile{align-items:flex-end}.cabinet{padding:14px 10px 0;border-radius:21px 21px 19px 19px}.marquee{gap:3px}.marquee i{flex-basis:4px;height:4px}.awning{height:11px}.cabinet-heading{padding:12px 4px 7px}.line-count{font-size:20px}.bonus-goal{font-size:8px;letter-spacing:.1em}.bonus-goal b{font-size:9px;letter-spacing:.1em}.open-sign{font-size:10px}.feature-hud{min-height:38px}.cabinet-foot{height:22px;font-size:5px}.result-strip{margin:21px 6px 0;min-height:56px}.result-label{font-size:7px}.last-win{font-size:25px}.message{font-size:10px}.controls{padding:2px 3px 0;grid-template-columns:1fr 96px 1fr;gap:12px}#spin{width:94px;height:94px;font-size:8px;padding-top:59px}#spin::before{width:39px;height:39px;left:24px;top:17px}#spin.stop::before{left:30px;top:24px;width:27px;height:27px}.betbox{grid-template-columns:30px 1fr 30px;padding:20px 0 4px}.betbox button{min-height:34px;font-size:19px}.betbox .v{font-size:13px}.quick-controls{gap:5px}.quick-controls button{height:57px;font-size:7px}.links{margin-top:19px;padding:9px 0 0}.links button{font-size:7px}.game-footer{padding:11px 4px 0;font-size:6px}.panel .card{padding:20px}.pay-ico{width:35px;height:35px}.pay-vals{font-size:10px}.pay-vals span,.pay-head span{min-width:44px}.br-grid{gap:7px}#bonusReveal .br-t{font-size:25px}}
@media(max-width:360px){body{padding-left:12px;padding-right:12px}.controls{gap:8px;grid-template-columns:1fr 86px 1fr}#spin{width:84px;height:84px;padding-top:53px}#spin::before{left:21px;top:15px;width:35px;height:35px}.quick-controls{gap:3px}.betbox{grid-template-columns:25px 1fr 25px}.brand-logo{width:200px}.bonus-goal{font-size:7px}.bonus-goal b{font-size:8px}.demo-bar{gap:6px!important}.demo-bar span{font-size:8px}}
@media(max-height:760px) and (max-width:600px){body{padding-top:8px}.edition,.brand-caption{display:none}.brand-logo{width:185px;margin:0}.brand-header{padding-bottom:9px}.bar{margin-bottom:12px}.tile{padding:7px 11px}.cabinet-heading{padding-top:8px}.feature-hud{min-height:33px}.result-strip{margin-top:17px;min-height:46px}.controls{margin-top:-2px}.links{margin-top:14px}.game-footer{padding-top:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.strip.blur{filter:none}#bonusReveal .br::before{transform:translateX(-103%)}#bonusReveal .br::after{transform:translateX(103%)}}

/* The backdrop keeps its stalls in view on portrait screens. */
@media(max-width:800px){body::before{background-size:100% 100%,auto 560px;background-position:center,center top}}
@media(max-width:600px){.brand-logo{width:190px}.brand-caption{display:none}.brand-header{padding-bottom:8px}.cabinet-heading{padding-top:9px;padding-bottom:3px}.links{margin-top:13px}.result-strip{margin-top:17px}.game-footer{padding-top:5px}}
.feature-active .cabinet{border-color:#ffc0e0;box-shadow:0 0 0 3px #351622,0 0 0 5px #a86582,0 12px 0 #1c1216,0 0 60px #ee66b124}
.feature-active .marquee i{background:#ffe2f4;box-shadow:0 0 5px #ffd1ef,0 0 13px #ff7cd3}
.feature-active .bonus-goal{visibility:hidden;position:relative}.feature-active .bonus-goal::after{content:'СЛАДКАЯ СМЕНА';visibility:visible;position:absolute;inset:0;display:grid;place-items:center;color:#ffb8df;font-size:11px;font-weight:800;letter-spacing:.15em}
.reel.landed .strip{animation:reelSettle .26s ease-out}
@keyframes reelSettle{0%{translate:0 -5px}45%{translate:0 3px}100%{translate:0 0}}
#lineFx .winline{stroke:#ffe7a0;stroke-width:2.5;filter:drop-shadow(0 0 4px #ffc257);animation-duration:.4s,1.15s}
@media(prefers-reduced-motion:reduce){.reel.landed .strip{animation:none}}
@media(min-width:800px) and (max-height:1000px){:root{--reel-height:270px}body{padding-top:10px}.app{max-width:660px}.brand-logo{width:210px;margin:2px 0}.brand-caption{display:none}.brand-header{padding-bottom:11px}.tile{padding:9px 16px}.bar{margin-bottom:16px}.cabinet-heading{padding-top:10px;padding-bottom:5px}.feature-hud{min-height:34px}.result-strip{margin-top:19px;min-height:52px}.controls{grid-template-columns:1fr 96px 1fr;padding:0 45px}#spin{width:94px;height:94px;padding-top:59px;font-size:8px}#spin::before{left:24px;top:17px;width:39px;height:39px}#spin.stop::before{left:30px;top:24px;width:27px;height:27px}.links{margin-top:16px;padding-top:6px}.game-footer{padding-top:8px}}
.wild-totem{position:absolute;inset:2px;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden;border:2px solid #ffdc83;border-radius:7px;background:linear-gradient(100deg,#805223,#40211e 18%,#75432a 50%,#40211e 82%,#976733);box-shadow:inset 0 0 15px #ffbc5130;pointer-events:none}
.wild-totem::before{content:'';position:absolute;top:0;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,#fce2ab 0 10px,#b43e31 10px 20px);border-bottom:2px solid #542614}
.totem-label{font-weight:900;font-size:clamp(13px,3.7vw,24px);color:#ffe28e;letter-spacing:.02em;text-shadow:0 2px 0 #351b12;margin-top:7px}
.totem-icon{width:85%;height:31%;filter:drop-shadow(0 3px 3px #0005)}.totem-icon svg{width:100%;height:100%}
.totem-mult{font-size:clamp(26px,6.5vw,45px);font-weight:900;line-height:1.1;color:#fff0b1;text-shadow:0 3px 0 #9b541b,0 0 13px #ffb73b77;letter-spacing:-.08em;padding-right:3px}
.totem-stars{font-size:8px;color:#dfac5a;letter-spacing:.13em}
.cell.wild-block .mult.big{right:auto;bottom:auto;white-space:nowrap}
#fxCanvas{z-index:49}
.panel.on{display:flex;align-items:center;justify-content:center}
.panel .card{margin:0 auto;width:100%}
.betbox .v{min-width:0}

/* Motion pass: lightweight raster strips, downward travel and local wilds. */
.motion-cell img{width:86%;height:86%;object-fit:contain;pointer-events:none;user-select:none}
.motion-cell[data-sym='a'] img,.motion-cell[data-sym='k'] img,.motion-cell[data-sym='q'] img,.motion-cell[data-sym='j'] img{width:68%;height:68%}
.motion-cell[data-sym='bonus'] img{width:91%;height:91%}
.reel.rolling .motion-strip{will-change:transform;backface-visibility:hidden}
.reel.at-speed .motion-strip{filter:blur(0.65px)}
.reel.at-speed::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,#ffe7c208,transparent 35%,#ffffff03 65%,transparent);mix-blend-mode:screen}
.reel.landed .strip{animation:reelClick .22s cubic-bezier(.2,.8,.25,1)}
@keyframes reelClick{0%{translate:0 -2px}42%{translate:0 3px}100%{translate:0 0}}
.cell.wild-live{border-radius:6px;background:radial-gradient(ellipse at 50% 30%,#825a2c,#452526 78%);box-shadow:inset 0 0 0 1px #eab65c88,inset 0 0 14px #edb85a22}
.cell.wild-live svg{width:82%;height:82%}
.cell .mult{right:4px;bottom:5px;min-width:27px;padding:2px 5px;border-radius:6px;font-size:clamp(14px,3.5vw,21px);line-height:1;font-weight:900;box-shadow:0 2px 0 #5c2e1d,0 3px 8px #0005;letter-spacing:-.05em}
.sticky-layer .cell{border-radius:6px;background:radial-gradient(ellipse at 50% 30%,#825a2c,#452526 78%);box-shadow:inset 0 0 0 2px #efc677,inset 0 0 18px #d9a14733}
#speed::before{display:none}
#speed{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 3px;background:linear-gradient(150deg,#413045,#211927)}
#speed svg{width:27px;height:23px;color:#d8b780;display:block;overflow:visible}
#speed span{font-size:8px;letter-spacing:.04em;font-weight:800}
#speed small{position:absolute;right:5px;top:4px;font-size:6px;font-weight:800;letter-spacing:.04em;color:#ad929e}
#speed[data-speed='slow'] svg{opacity:.65}#speed[data-speed='turbo'] svg{color:#ffe19b;filter:drop-shadow(0 0 4px #ffd37a55)}
.speed-options{display:flex;flex-direction:column;gap:10px}
.speed-options button{display:grid;grid-template-columns:48px 1fr;grid-template-rows:22px 20px;align-items:center;text-align:left;gap:1px 10px;padding:14px 18px;border:1px solid #a1809438;border-radius:13px;background:#201828;box-shadow:none;min-height:78px}
.speed-options button b{grid-row:1/3;font-size:32px;line-height:1;color:#ba9f82;letter-spacing:-.15em}
.speed-options button span{font-size:15px;font-weight:750;letter-spacing:0;color:#eee0e8}
.speed-options button small{font-size:10px;letter-spacing:0;color:#9e8ca7}
.speed-options button[aria-pressed='true']{background:linear-gradient(115deg,#62442d,#342631);border-color:#e4bd7199;box-shadow:inset 0 1px 0 #ffe3a324}
.speed-options button[aria-pressed='true'] b,.speed-options button[aria-pressed='true'] span{color:#ffe4a3}

/* Bonus delivery: the vendor throws actual server-provided +1/+2 tickets. */
#bonusReveal .br{max-width:450px;gap:8px;padding:20px 22px;background:radial-gradient(ellipse at 50% 24%,#643542,#2e1b30 63%,#1c1526);border-color:#cba064}
#bonusReveal .br-t{font-size:clamp(22px,6vw,31px);letter-spacing:-.025em;color:#ffe1a3}
#bonusReveal .br-sub{font-size:9px;color:#e6bfce;letter-spacing:.2em}
.vendor-stall{position:relative;width:100%;height:210px;margin:2px 0 7px;isolation:isolate;flex-shrink:0}
.stall-back{position:absolute;inset:25px 10px 18px;border-radius:10px;background:radial-gradient(ellipse at 50% 35%,#e9a84845,#23101f 70%);border:2px solid #bc874d;box-shadow:inset 0 0 30px #0008}
#vendor{position:absolute;left:50%;bottom:16px;width:220px;height:220px;object-fit:contain;translate:-50% 0;transform-origin:55% 88%;filter:drop-shadow(0 5px 8px #0005);z-index:2}
.stall-post{position:absolute;top:15px;bottom:17px;width:12px;background:linear-gradient(90deg,#624020,#daab63,#6f4325);border:1px solid #51301f;z-index:3}.stall-post.left{left:7px}.stall-post.right{right:7px}
.stall-awning{position:absolute;top:0;left:0;right:0;height:31px;border:2px solid #e4b06c;border-radius:8px 8px 12px 12px;z-index:4;background:repeating-linear-gradient(90deg,#ffdfad 0 28px,#b83b37 28px 56px);box-shadow:inset 0 5px 0 #ffffff17,0 5px 9px #0007}
.stall-counter{position:absolute;bottom:0;left:1px;right:1px;height:36px;border:2px solid #dca75e;border-radius:5px 5px 9px 9px;background:linear-gradient(#af7840 0 7px,#69402b 7px,#432727);z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;padding-top:7px;box-shadow:0 5px 10px #0005}
.stall-counter span{font-size:10px;letter-spacing:.14em;color:#ffdc9e;font-weight:900;text-shadow:0 2px 0 #392018}.stall-counter i{font-size:12px;color:#e9ba69;font-style:normal}
.br-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 2px}
.br-cell{height:66px;aspect-ratio:auto;border:1px dashed #f1c88840;box-shadow:inset 0 2px 10px #0004;background:#160f2138;border-radius:8px;flex-direction:column;gap:2px;color:#ffe19b}
.br-cell::before{display:none}.br-cell::after{content:'✦';font-size:14px;opacity:.3;text-shadow:none}
.br-cell.open{animation:ticketLand .38s cubic-bezier(.22,.8,.25,1);font-size:26px;font-weight:900;line-height:1;background:linear-gradient(140deg,#fff3bf,#edba55);color:#613918;border:1px solid #fff0b1;box-shadow:0 3px 0 #9b6034,0 0 16px #ffcb5420}
.br-cell.open::after{display:block;content:'ФРИСПИН';font-size:6px;line-height:1.5;font-weight:800;letter-spacing:.09em;opacity:.65;color:#613918}
.br-cell.open.rich{background:linear-gradient(140deg,#ffc9eb,#ed79bd);color:#64233f;border-color:#ffe0f4;box-shadow:0 3px 0 #994a78,0 0 16px #ff96d540}.br-cell.open.rich::after{color:#64233f}
.flying-ticket{position:fixed;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #fff1ba;border-radius:8px;background:linear-gradient(140deg,#fff6c9,#edb553);box-shadow:0 7px 18px #0007,0 0 22px #ffda7266;color:#64351b;pointer-events:none;transform-origin:center}
.flying-ticket b{font-size:28px;line-height:1;font-weight:900}.flying-ticket small{font-size:7px;letter-spacing:.08em;font-weight:800}.flying-ticket.rich{background:linear-gradient(140deg,#ffd3ef,#e575b6);border-color:#ffe1f4;color:#64233f}
@keyframes ticketLand{0%{transform:scale(1.13) translateY(-4px)}45%{transform:scale(.94) translateY(2px)}100%{transform:scale(1) translateY(0)}}
.br-count{font-size:52px;line-height:1.05;margin-top:5px}.br-label{font-size:9px}#bonusReveal .br-sticky{font-size:8px;line-height:1.5;max-width:300px}#brStart{min-height:45px;margin-top:3px}
#bonusReveal.on .vendor-stall{animation:stallEnter .65s cubic-bezier(.17,.85,.25,1)}
@keyframes stallEnter{from{opacity:0;transform:translateY(25px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){#speed span{font-size:7px}#speed svg{width:24px;height:21px}#bonusReveal .br{padding:17px 16px;gap:7px}.vendor-stall{height:186px}#vendor{width:200px;height:200px;bottom:9px}.br-cell{height:60px}.br-count{font-size:47px}.stall-awning{height:26px}}
@media(max-height:740px){#bonusReveal .br{gap:5px;padding-top:13px;padding-bottom:13px}.vendor-stall{height:157px;margin-bottom:4px}#vendor{width:175px;height:175px;bottom:6px}.br-cell{height:52px}.br-count{font-size:41px}.br-grid{gap:6px}#bonusReveal .br-t{font-size:23px}#brStart{min-height:40px}}
@media(prefers-reduced-motion:reduce){.reel.at-speed .motion-strip{filter:none}.reel.landed .strip,#bonusReveal.on .vendor-stall,.br-cell.open{animation:none}}
#vendor{width:190px;height:190px;bottom:-6px}
#bonusReveal.on #vendor{animation:vendorBreathe 2.8s ease-in-out infinite}
@keyframes vendorBreathe{0%,100%{scale:1 1}50%{scale:1.015 1.025}}
.cell.win-cell[data-sym='burger'] svg{animation:burgerBounce .85s ease-in-out 2;transform-origin:50% 85%}
.cell.win-cell[data-sym='hotdog'] svg{animation:snackRock .85s ease-in-out 2;transform-origin:50% 80%}
.cell.win-cell[data-sym='fries'] svg{animation:burgerBounce .7s ease-in-out 2;transform-origin:50% 90%}
.cell.win-cell[data-sym='soda'] svg{animation:snackRock .75s ease-in-out 2;transform-origin:50% 85%}
.cell.win-cell[data-sym='bonus'] svg{animation:donutCelebrate 1s ease-in-out 2}
@keyframes burgerBounce{0%,100%{transform:translateY(0) scale(1)}20%{transform:translateY(3px) scale(1.08,.9)}48%{transform:translateY(-9px) scale(.96,1.06)}72%{transform:translateY(1px) scale(1.04,.96)}}
@keyframes snackRock{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg) translateY(-3px)}60%{transform:rotate(7deg) translateY(-5px)}80%{transform:rotate(-3deg)}}
@keyframes donutCelebrate{0%,100%{transform:rotate(0) scale(1)}45%{transform:rotate(16deg) scale(1.1)}75%{transform:rotate(-8deg) scale(1.03)}}
html{scroll-padding-top:max(12px,var(--app-safe-top,0px))}
.app{margin-top:var(--app-safe-top,0px);margin-bottom:var(--app-safe-bottom,0px);padding-left:var(--app-safe-left,0px);padding-right:var(--app-safe-right,0px)}
#connectionStatus{position:fixed;top:max(12px,var(--app-safe-top,0px));left:50%;translate:-50% 0;z-index:100;max-width:90vw;width:max-content;padding:12px 18px;border:1px solid #dfac60;border-radius:14px;background:#211526;color:#ffe3a6;font-size:12px;box-shadow:0 6px 25px #0008}
#musicBtn::before{content:'♪'}
.music-box{display:flex;flex-direction:column;gap:20px}.music-box p{color:#c9b9ca;line-height:1.6;font-size:13px}.music-box label{display:flex;justify-content:space-between;font-size:13px;color:#ffe0a1}.music-box input{width:100%;accent-color:#ffd482;min-height:44px}.music-box input:disabled{opacity:.3}.music-box button{min-height:46px}
@media(prefers-reduced-motion:reduce){#bonusReveal.on #vendor,.cell.win-cell svg{animation:none!important}}
@media(max-width:600px){#vendor{width:170px;height:170px;bottom:-5px}}
@media(max-height:740px){#vendor{width:145px;height:145px;bottom:-8px}}
