html{--luelon-bar:60px}.luelon-reset{border-top:1px solid #ffffff25;gap:10px;margin-top:22px;padding-top:18px;display:grid}html body .luelon-reset button{color:#f7edf9;cursor:pointer;text-align:center;background:#a16cb51c;border:1px solid #d7b3ee66;border-radius:9px;width:100%;min-height:46px;padding:12px 16px;font:600 15px Arial,Helvetica,sans-serif}.luelon-reset small{color:#c9c1cd;text-align:center;font:12px/1.6 Arial,Helvetica,sans-serif}.luelon-reset button:disabled{opacity:.55;cursor:wait}html body #app>.topbar.luelon-topbar{height:var(--luelon-bar);min-height:var(--luelon-bar);flex:0 0 var(--luelon-bar);padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));z-index:100;color:#f9f1fb;background:#100d1eee;border-bottom:1px solid #ffffff1c;align-items:center;gap:20px;font-family:Arial,Helvetica,sans-serif;display:flex;position:relative}.luelon-topbar a{color:inherit;white-space:nowrap;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}html body .luelon-topbar .luelon-home{letter-spacing:-.5px;font-size:16px;font-weight:900;position:relative}.luelon-home:after{content:"";background:linear-gradient(90deg,#f5268b,#ff853f);height:2px;position:absolute;bottom:5px;left:0;right:0}html body #app .luelon-topbar #library-link{letter-spacing:0;color:#d8c8e5;width:auto;min-width:0;height:44px;font-size:14px;font-weight:600}html body .luelon-topbar .luelon-game-name{letter-spacing:0;color:#efe6f5;white-space:nowrap;margin:0;font-size:14px;font-weight:700}html body .luelon-topbar .luelon-demo-badge{letter-spacing:.8px;color:#baaec8;white-space:nowrap;margin-left:auto;font-size:10px}.luelon-actions{align-items:center;gap:6px;display:flex}html body .luelon-topbar .luelon-actions button{color:#f5eefa;letter-spacing:0;background:#ffffff08;border:1px solid #ffffff20;border-radius:9px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0;font-size:23px;display:inline-flex}html body .luelon-topbar .luelon-actions #sound{font-size:21px}html body #welcome,html body .feature-screen,html body .feature-overlay{top:var(--luelon-bar);justify-content:safe center}html body .controls .utility:has(>button:only-child){justify-content:center}@media (width<=700px){html{--luelon-bar:calc(56px + env(safe-area-inset-top))}html body #app>.topbar.luelon-topbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-top:env(safe-area-inset-top);gap:10px}html body .luelon-topbar .luelon-home{letter-spacing:-.4px;font-size:13px}html body #app .luelon-topbar #library-link{font-size:13px}html body .luelon-topbar .luelon-game-name,html body .luelon-topbar .luelon-demo-badge{display:none!important}.luelon-actions{gap:4px;margin-left:auto}html body #welcome{max-height:calc(100svh - var(--luelon-bar));overflow:auto}html body .feature-screen,html body .feature-overlay,html body .win-show{top:var(--luelon-bar);bottom:0}}@media (width>=701px) and (height<=560px){html{--luelon-bar:44px}html body #app>.topbar.luelon-topbar{gap:14px}.luelon-topbar .luelon-demo-badge{font-size:9px!important}}@media (width<=380px){html body .luelon-topbar .luelon-home{font-size:12px}.luelon-topbar .luelon-actions{gap:2px}html body #app>.topbar.luelon-topbar{gap:8px}}.captain{z-index:2;align-items:center;margin-left:0}.captain-art.captain-animated{aspect-ratio:620/600;transform-origin:50% 95%;isolation:isolate;background:0 0;width:225px;margin-left:0;animation:none;position:relative}.captain-animated canvas{z-index:1;width:100%;height:100%;display:block;position:relative}.captain-animated:after{content:"";filter:blur(7px);z-index:-1;background:#02041688;border-radius:50%;width:64%;height:8%;position:absolute;bottom:0;left:20%}.captain-animated[data-mood=cheer]{filter:drop-shadow(0 0 24px #fbc46988)}.captain-animated[data-mood=shoot]{filter:drop-shadow(-12px 0 25px #8cffe977)}.captain span{z-index:2;color:#ffebbc;text-shadow:0 2px 8px #11051f;position:relative}.orbit-icon{animation:3s ease-in-out infinite orbit-breathe}.brand h1{filter:drop-shadow(0 0 15px #d281ec25)}.bonus-active .feature-hud strong{animation:.38s cubic-bezier(.2,1.7,.4,1) hud-arrive}.feature-screen:has(.feature-count) .feature-count{animation:.7s cubic-bezier(.15,.9,.2,1.2) both bonus-number}.feature-screen:has(.feature-count) h2{animation:.45s ease-out both award-rise}.feature-screen:has(.feature-count):before{border-width:3px;box-shadow:0 0 65px #c676ef50,inset 0 0 70px #dca4ff38}.stage-callout{filter:drop-shadow(0 6px #190b2b);background:radial-gradient(#211030ee 15%,#321744c9 40%,#0000 72%);width:94%;padding:32px 0;font-family:Impact,Arial Black,sans-serif;font-weight:900;animation:.46s cubic-bezier(.16,.8,.22,1.15) callout-slam;top:48%}.stage-callout small{letter-spacing:4px;font-family:Arial,sans-serif;font-size:clamp(11px,1.4vw,18px);font-weight:800}.stage-callout strong{-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px #824422);background:linear-gradient(#fffce4,#ffe890 45%,#ffbe45 52%,#fff0ab 75%);-webkit-background-clip:text;background-clip:text;font-size:clamp(34px,6vw,84px);line-height:1.1;display:block}.win-show{z-index:10;isolation:isolate;text-align:center;--award-color:#ffcf63;background:radial-gradient(at 50% 47%,#612844aa,#1e1238e0 60%,#0b091ced);place-items:center;animation:.35s ease-out award-veil;display:grid;position:fixed;inset:46px 0 111px;overflow:hidden}.win-show[hidden]{display:none}.win-show[data-tier="1"]{--award-color:#ffa9f5;background:radial-gradient(at 50% 47%,#823d7599,#231138e6 65%,#100919f2)}.win-show[data-tier="2"]{--award-color:#a9efff;background:radial-gradient(at 50% 47%,#65543099,#311137e6 65%,#100919f2)}.award-content{z-index:3;pointer-events:none;flex-direction:column;align-items:center;width:min(94%,1050px);display:flex;position:relative}.award-eyebrow{letter-spacing:4px;color:#eedaff;text-shadow:0 2px 6px #130824;margin:0 0 10px;font:800 10px/1.4 Arial,sans-serif}.award-emblem{color:#fff2b4;filter:drop-shadow(0 0 17px #ffc46f);margin-bottom:8px;font-size:43px;line-height:1;animation:3.2s ease-in-out infinite emblem-turn}.award-title{letter-spacing:-.025em;filter:drop-shadow(0 4px #934626)drop-shadow(0 8px #45123d)drop-shadow(0 13px 13px #08051e88);flex-wrap:wrap;justify-content:center;gap:0 .19em;margin:0;font-family:Impact,Arial Black,sans-serif;font-size:clamp(58px,9.4vw,136px);font-weight:950;line-height:.92;display:flex;transform:rotate(-4deg)}.award-title span{-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #fff1a080;background:linear-gradient(#fffef0 2%,#fff1b1 21%,#ffcf49 46%,#f39b21 49%,#ffde69 72%,#fff3c2 95%);-webkit-background-clip:text;background-clip:text;animation:.62s cubic-bezier(.12,.75,.2,1.1) both title-slam;display:block}.award-title span:nth-child(2){animation-delay:80ms}.award-title span:nth-child(3){animation-delay:.13s}[data-tier="1"] .award-title span{background-image:linear-gradient(#fff9ff,#ffdcef 24%,#ffb8e8 48%,#c06da2 50%,#ffdbeb 84%)}[data-tier="2"] .award-title{max-width:780px;font-size:clamp(46px,7.5vw,99px)}[data-tier="2"] .award-title span:last-child{width:100%;font-size:1.3em}.award-caption{letter-spacing:3px;color:#f7d4bc;margin:24px 0 5px;font-size:10px;font-weight:800}.award-amount{font-variant-numeric:tabular-nums;letter-spacing:1px;color:#fff3c2;text-shadow:0 4px #925226,0 8px 18px #14071b;white-space:nowrap;min-width:60%;font-family:Impact,Arial Black,sans-serif;font-size:clamp(50px,7.1vw,100px);line-height:1.06}.award-track{background:#fbd69026;border-radius:5px;width:min(240px,55%);height:3px;margin:18px 0 16px;overflow:hidden}.award-track i{transform-origin:0;background:#ffe9a2;width:100%;height:100%;display:block;transform:scaleX(0);box-shadow:0 0 15px #ffde86}.award-skip{pointer-events:auto;color:#f9e4c7;letter-spacing:.8px;background:#180c29a8;border:1px solid #ffe6b755;border-radius:30px;min-width:180px;padding:10px 24px;font-size:11px;font-weight:750}.award-skip:hover{background:#4b284d}.award-skip:focus-visible{outline-offset:4px;outline:2px solid #fff0aa}.award-rays{z-index:0;aspect-ratio:1;pointer-events:none;background:repeating-conic-gradient(#f8c37300 0deg 12deg,#f8c37323 13deg 20deg,#f8c37300 21deg 30deg);width:max(100vw,100vh);animation:35s linear infinite award-rays;position:absolute;top:48%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 12%,#0009 32%,#0000 66%);mask-image:radial-gradient(circle,#000 12%,#0009 32%,#0000 66%)}.award-orbit{aspect-ratio:1;pointer-events:none;border:2px solid #ffdd982e;border-radius:50%;width:min(74vh,680px);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-25deg);box-shadow:0 0 60px #ffaa6826,inset 0 0 60px #ffaa6826}.award-orbit:before,.award-orbit:after{content:"";border:1px solid #ffdaa955;border-radius:50%;position:absolute;inset:5%;transform:rotateX(55deg)rotate(-20deg)}.award-orbit:after{border-color:#ffdca533;inset:-9%;transform:rotateY(65deg)rotate(10deg)}.award-coins{z-index:2;pointer-events:none;perspective:700px;position:absolute;inset:0;overflow:hidden}.award-coin{width:var(--size);height:var(--size);font-style:normal;font-size:calc(var(--size)*.65);color:#a46a21;animation:coin-fall var(--flight) linear var(--delay) infinite;background:linear-gradient(125deg,#fffbd2,#ffdc70 40%,#d5922d 50%,#ffedb0);border:2px solid #ffeaa0;border-radius:50%;place-items:center;font-weight:900;line-height:1;display:grid;position:absolute;top:15%;left:50%;box-shadow:inset 0 0 0 2px #cb8d34,2px 3px #9c5a22,0 0 10px #ffca732f}.award-complete .award-amount{animation:.45s cubic-bezier(.2,1.5,.4,1) amount-land}.award-complete .award-track{box-shadow:0 0 15px #ffdc85}@keyframes award-rays{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes coin-fall{0%{opacity:0;transform:translate(calc(var(--x)*2px),-100px) rotateY(0) rotate(0) scale(.35)}12%{opacity:.9}85%{opacity:1}to{opacity:0;transform:translate(calc(var(--x)*13px),85vh) rotateY(calc(var(--turn)*600deg)) rotate(calc(var(--turn)*240deg)) scale(1.2)}}@keyframes title-slam{0%{opacity:0;transform:translateY(-65px)scale(1.65)rotate(-9deg)}52%{opacity:1;transform:translateY(5px)scale(.95)rotate(1deg)}75%{transform:translateY(-3px)scale(1.035)}to{opacity:1;transform:none}}@keyframes amount-land{0%{transform:scale(1)}40%{transform:scale(1.13)}to{transform:scale(1)}}@keyframes award-veil{0%{opacity:0}to{opacity:1}}@keyframes award-rise{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes emblem-turn{50%{transform:rotate(35deg)scale(1.15)}}@keyframes orbit-breathe{50%{filter:drop-shadow(0 0 12px #d5a1ff);transform:translateY(-7px)rotate(25deg)}}@keyframes bonus-number{0%{opacity:0;transform:scale(2)rotate(-14deg)}60%{opacity:1;transform:scale(.9)rotate(3deg)}to{transform:none}}@keyframes hud-arrive{0%{transform:scale(.65)}to{transform:scale(1)}}@keyframes callout-slam{0%{opacity:0;rotate:-7deg;scale:1.6}60%{opacity:1;rotate:1deg;scale:.94}to{rotate:0deg;scale:1}}@media (width>=1600px){.win-show{bottom:118px}}@media (width>=701px) and (width<=1100px) and (height>=561px){.captain{z-index:2;pointer-events:none;width:110px;height:108px;margin:0;display:flex;position:absolute;top:-97px;right:0}.captain-art.captain-animated{width:113px;margin:0}.captain span{display:none}}@media (width<=700px){.win-show{inset:40px 0 152px}.award-title{font-size:clamp(50px,14vw,85px)}[data-tier="2"] .award-title{font-size:clamp(34px,10.5vw,65px)}.award-amount{font-size:clamp(40px,12vw,75px)}.award-eyebrow{letter-spacing:1.7px;font-size:8px}.award-caption{letter-spacing:2px;margin-top:22px;font-size:8px}.award-emblem{margin-bottom:16px;font-size:32px}.award-content{width:94%}.award-track{margin:16px 0}.award-orbit{width:95vw}.award-coin{font-size:14px}.captain{z-index:2;pointer-events:none;width:80px;height:92px;margin:0;display:flex;position:absolute;bottom:calc(100% + 7px);right:8px}.captain-art.captain-animated{width:91px;margin:0}.captain span{display:none}.brand{padding-right:46px}.brand h1{font-size:35px}.brand>span{letter-spacing:1.5px;font-size:6px}.bonus-active .captain{height:65px;bottom:calc(100% + 68px)}.bonus-active .captain-art.captain-animated{width:65px}.stage-callout strong{font-size:44px}.stage-callout small{letter-spacing:1.5px;font-size:10px}}@media (height<=560px) and (width>=701px){.win-show{inset:30px 0 79px}.award-content{width:90%}.award-eyebrow{margin-bottom:5px;font-size:7px}.award-emblem{display:none}.award-title{font-size:60px;line-height:.9}[data-tier="2"] .award-title{max-width:none;font-size:49px}[data-tier="2"] .award-title span:last-child{width:auto;font-size:1em}.award-caption{margin:14px 0 3px;font-size:8px}.award-amount{font-size:47px}.award-track{margin:8px 0}.award-skip{padding:7px 20px;font-size:10px}.award-orbit{width:260px}}.reduced-motion .award-rays,.reduced-motion .award-coins{display:none}.reduced-motion .win-show *,.reduced-motion .captain-art,.reduced-motion .stage-callout{animation:none!important}*{box-sizing:border-box}html,body{color:#ffefd7;background:#30131c;min-height:100%;margin:0;font-family:Arial,sans-serif}button,a,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #ffe7a0}[hidden]{display:none!important}#app{isolation:isolate;background:linear-gradient(#290c1740,#210e1b45 75%,#230e1ee0),url(/demos/caramel-carnival/assets/carnival.png) 50%/cover;flex-direction:column;height:100svh;display:flex;position:relative;overflow:hidden}.topbar{z-index:4;background:#30131a9c;border-bottom:1px solid #f8d59d24;flex-shrink:0;align-items:center;gap:20px;height:38px;padding:0 24px;display:flex}.library-link{letter-spacing:2px;color:#f8d5a7;font-size:10px;font-weight:800;text-decoration:none}.topbar>span{letter-spacing:1.5px;margin-left:auto;font-size:9px}.topbar>button{background:0 0;padding:4px 10px;font-size:23px}.game{width:min(1270px,100%);min-height:0;margin:auto;padding:4px 20px;position:relative}.brand{text-align:center;z-index:2;filter:drop-shadow(0 3px 4px #260e17);margin-bottom:1px;position:relative}.brand>span{letter-spacing:4px;color:#ebc4a2;font-size:8px}.brand h1{letter-spacing:-1.5px;color:#ffdf95;text-shadow:0 2px #5c2824,0 4px #240c13;filter:none;margin:5px 0;font-family:Georgia,serif;font-size:clamp(25px,3.4vw,47px);font-weight:900;line-height:1.05;transform:none}.brand h1 em{color:#fff0c9;font-style:normal}.brand p{letter-spacing:3.3px;color:#eec0ae;margin:8px 0;font-size:8px}.play-area{justify-content:center;align-items:center;gap:22px;display:flex;position:relative}.board-wrap{flex-shrink:0;width:min(780px,125svh - 325px);max-width:calc(100% - 316px);position:relative}#stage{aspect-ratio:1.25;width:100%;position:relative}#stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.feature-card,.energy-card{text-align:center;filter:drop-shadow(0 4px 10px #2c071dcc);flex:0 0 130px}.ticket-icon,.top-icon{filter:drop-shadow(0 5px 7px #14061055);background-image:url(/demos/caramel-carnival/assets/symbols.png);background-size:300% 300%;width:116px;height:116px;margin:0 auto 12px}.ticket-icon{background-position:50% 100%;animation:5s ease-in-out infinite ticket-swing}.top-icon{background-position:100% 100%;animation:3s ease-in-out infinite top-swing}.feature-card small,.energy-card small{letter-spacing:2px;color:#e8c39f;font-size:9px;font-weight:700;display:block}.feature-card strong{color:#ffe4b3;margin:9px 0;font-family:Georgia,serif;font-size:24px;line-height:1.15;display:block}.feature-card>span{letter-spacing:1.1px;color:#e9d3ba;font-size:8px}.feature-card p,.energy-card p{color:#e0b9ac;margin:14px 0;font-size:11px;line-height:1.7}.energy-card>strong{color:#ffe49a;text-shadow:0 3px #85412b;font-family:Impact,Arial Black,sans-serif;font-size:65px;line-height:1.15;display:block}.energy-card>span{letter-spacing:1px;background:#40172099;border:1px solid #e6ba734f;border-radius:30px;margin-top:9px;padding:8px 12px;font-size:9px;display:inline-block}#message{text-align:center;color:#f5d6bc;text-shadow:0 2px 3px #270c12;justify-content:center;align-items:center;height:32px;padding:4px 12px;font-size:12px;line-height:1.3;display:flex}.controls{z-index:4;background:linear-gradient(#4a2225f0,#241119);border-top:1px solid #e8ba7666;flex-shrink:0;justify-content:center;align-items:center;gap:25px;min-height:102px;padding:12px 24px;display:flex;position:relative;box-shadow:0 -15px 40px #280b1b77}.metric{font-variant-numeric:tabular-nums;min-width:110px}.metric small,.bet small{letter-spacing:1.4px;color:#dbb7a5;margin-bottom:6px;font-size:9px;display:block}.metric strong{color:#fff7e6;font-size:23px}.metric.win{text-align:center;min-width:160px}.metric.win strong{color:#ffe49a;font-size:29px}.buy{color:#fff2c9;letter-spacing:.6px;background:linear-gradient(#339a8e,#176358);border:1px solid #c5e1b96e;border-radius:11px;padding:13px 22px;font-size:12px;font-weight:900;box-shadow:0 4px #0b382e}.buy small{letter-spacing:1px;opacity:.75;margin-top:4px;font-size:7px;display:block}.utility{gap:8px;display:flex}.utility button{background:#ffffff05;border:1px solid #f9d9ad40;border-radius:50%;width:31px;height:31px;font-size:20px}.bet{align-items:center;gap:11px;display:flex}.bet>button:not(#bet-open){background:#fbd89d0a;border:1px solid #f9d9ad40;border-radius:50%;width:28px;height:28px;font-size:21px}.bet #bet-open{text-align:center;background:0 0;min-width:65px}.bet strong{font-size:22px}.spin{color:#6d351c;background:radial-gradient(circle at 35% 25%,#fff6d5,#edc27b 60%,#ad662e);border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:78px;height:78px;display:flex;box-shadow:0 0 0 4px #4c242a,0 0 0 6px #c59c62}.spin>span{font-family:Arial,sans-serif;font-size:59px;line-height:.85}.spin>small{letter-spacing:.7px;margin-top:4px;font-size:7px;font-weight:800}.spin.busy>span{animation:1s linear infinite rotate}.feature-hud,#feature-hud{text-align:center;letter-spacing:1px;z-index:2;background:linear-gradient(#7e3946,#4f202d);border:1px solid #eac18880;border-radius:10px 10px 0 0;justify-content:space-between;gap:15px;margin:0 16px -4px;padding:8px 16px;font-size:8px;display:flex;position:relative}#feature-hud b{color:#ffe3a1;margin-top:3px;font-size:20px;display:block}.festival .board-wrap{width:min(740px,125svh - 372.5px)}.festival .brand p{display:none}.festival .feature-card{opacity:.45}#callout{z-index:3;text-align:center;pointer-events:none;background:radial-gradient(#481727ee 25%,#0000 72%);padding:22px 0;animation:.4s ease-out callout-slam;position:absolute;top:35%;left:4%;right:4%}#callout small{letter-spacing:3px;color:#ffeac9;font-size:14px;font-weight:800;display:block}#callout strong{color:#fff0bc;filter:drop-shadow(0 4px #8c3c37);font-family:Impact,Arial Black,sans-serif;font-size:85px;line-height:1.1}.primary{color:#512726;letter-spacing:1px;background:linear-gradient(#ffe8b0,#dca556);border:1px solid #ffefb58a;border-radius:8px;padding:16px 29px;font-size:12px;font-weight:900;box-shadow:0 4px #87542e}.welcome{z-index:20;text-align:center;background:radial-gradient(#5c1d2899,#210d16e8),url(/demos/caramel-carnival/assets/carnival.png) 50%/cover;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.welcome>p:first-child{letter-spacing:4px;color:#f7c4a0;font-size:10px}.welcome h2{letter-spacing:-3px;color:#ffe2a4;text-shadow:0 4px #7e3137,0 7px #260911;margin:20px 0;font-family:Georgia,serif;font-size:clamp(40px,6vw,80px);line-height:.97}.welcome h2 em{color:#fff4da;font-style:normal}.welcome>p{color:#f2cabb;font-size:14px;line-height:1.8}.welcome small{color:#cda998;margin-top:24px;font-size:10px}.welcome-icons{align-items:center;gap:9px;height:130px;display:flex}.welcome-icons i{filter:drop-shadow(0 6px 8px #1d0b16);background:url(/demos/caramel-carnival/assets/symbols.png) 100% 0/300% 300%;width:112px;height:112px;display:block;transform:rotate(-13deg)}.welcome-icons i:nth-child(2){background-position:50% 100%;width:130px;height:130px;transform:rotate(7deg)}.welcome-icons i:nth-child(3){background-position:0 0;transform:rotate(15deg)}.feature-overlay{z-index:9;text-align:center;background:radial-gradient(#87364af2,#28131ef7 80%);flex-direction:column;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:38px 0 102px;overflow:auto}.eyebrow{letter-spacing:3px;color:#f4bf9d;margin:0 0 14px;font-size:10px;font-weight:800}.feature-overlay h2{margin:0 0 10px;font-family:Georgia,serif;font-size:39px}.free-number{color:#ffeab0;text-shadow:0 6px #ae5960;font-family:Impact,sans-serif;font-size:150px;line-height:1;animation:.7s ease-out bonus-number}.feature-overlay h3{letter-spacing:4px;margin:15px 0 6px;font-size:19px}.feature-overlay p:not(.eyebrow){color:#e1bdb3;font-size:12px;line-height:1.7}.feature-overlay .primary{margin-top:10px}.summary-amount{color:#ffe6a2;font-variant-numeric:tabular-nums;font-family:Impact,sans-serif;font-size:70px}.feature-overlay .paid{margin:8px 0;color:#9feacb!important}.feature-overlay small{font-size:10px}.receipt{border-top:1px solid #f4cbae33;width:min(410px,100%);margin:8px 0 12px;padding:10px 0}.receipt>div{color:#d8bdb1;justify-content:space-between;gap:20px;padding:6px 0;font-size:12px;display:flex}.receipt b{color:#fff3d8;font-variant-numeric:tabular-nums}.receipt>div:last-child{border-top:1px solid #f4cbae33;margin-top:5px;padding-top:11px}.win-show{background:radial-gradient(#804725c4,#401729ed 70%);inset:38px 0 102px}.win-show[data-tier="1"]{background:radial-gradient(#935246c2,#3c162ced 70%)}.win-show[data-tier="2"]{background:radial-gradient(#775221bb,#421825ef 70%)}dialog{color:#fff0dd;background:linear-gradient(130deg,#522b31,#29151f);border:1px solid #dab78170;border-radius:18px;width:min(590px,100% - 28px);max-height:86svh;padding:0;box-shadow:0 25px 90px #1b081cb0}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c0e1caf}dialog>header{z-index:1;background:#48242df5;border-bottom:1px solid #f5ccab22;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}dialog h2{margin:0;font-family:Georgia,serif;font-size:22px}dialog header button{background:0 0;font-size:25px}#panel-body{padding:23px}#panel-body>p{color:#dfbeb2;font-size:12px;line-height:1.7}#panel-body h3{color:#ffdfab;font-size:15px}#panel-body>.primary{margin:20px auto 0;display:block}.menu-list{gap:9px;display:grid}.menu-list button,.bet-grid button{text-align:left;background:#f8d6a908;border:1px solid #edd0b826;border-radius:9px;padding:16px;font-size:14px}.menu-list button:after{content:"›";float:right;color:#e7bb95}.setting{border-bottom:1px solid #f0c59f22;justify-content:space-between;align-items:center;padding:16px 0;font-size:14px;display:flex}.setting input{accent-color:#d59c69;width:20px;height:20px}.bet-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.bet-grid button,.bonus-poster{text-align:center}.bonus-poster .ticket-icon{width:135px;height:135px}.bonus-poster strong{color:#ffe0a2;margin:20px 0 6px;font-size:42px;display:block}.bonus-poster small{letter-spacing:2px;color:#d5aa93;font-size:9px;display:block}.bonus-poster p{color:#ddc0ad;font-size:12px}table{border-collapse:collapse;width:100%;margin-top:18px;font-size:11px}th,td{text-align:right;border-bottom:1px solid #f0c69f22;padding:10px 5px}th:first-child,td:first-child{text-align:left}.note{line-height:1.7;color:#c4a396!important;font-size:11px!important}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}#qa{z-index:30;background:#24141bea;padding:5px;font-size:9px;position:fixed;bottom:3px;left:3px}#qa select{display:block}.reduced-motion *{transition:none!important;animation:none!important}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ticket-swing{50%{transform:translateY(-7px)rotate(-6deg)}}@keyframes top-swing{50%{transform:rotate(9deg)translateY(-5px)}}@media (width<=1100px){.feature-card{display:none}.board-wrap{max-width:calc(100% - 145px)}.play-area{gap:10px}.controls{gap:17px;padding:12px 16px}.utility{flex-direction:column;gap:5px}.metric{min-width:90px}.metric.win{min-width:100px}.buy{padding:12px 14px}.energy-card{flex-basis:120px}.game{padding:4px 12px}}@media (width<=700px){.topbar{height:36px;padding:0 12px}.library-link{letter-spacing:1px;font-size:8px}.topbar>span{letter-spacing:.8px;font-size:7px}.game{padding:0 3px}.brand{margin:8px 0;padding:0 44px 0 0}.brand h1{letter-spacing:-1px;font-size:29px}.brand h1 em{display:block}.brand>span{letter-spacing:2px;font-size:7px}.brand p{letter-spacing:1.4px;font-size:6px}.board-wrap,.festival .board-wrap{width:100%;max-width:100%}.energy-card{width:58px;position:absolute;bottom:calc(100% + 14px);right:10px}.energy-card .top-icon,.energy-card p,.energy-card>span{display:none}.energy-card small{letter-spacing:0;font-size:6px;line-height:1.5}.energy-card>strong{font-size:36px}.controls{grid-template-columns:30px 1fr 1fr 72px;gap:12px 9px;min-height:148px;padding:15px 12px 18px;display:grid}.utility{grid-area:1/1/3;gap:16px}.utility button{width:27px;height:27px;font-size:18px}.metric{grid-area:1/2;min-width:0}.metric.win{text-align:right;grid-area:1/3;min-width:0}.metric small,.bet small{font-size:7px}.metric strong{font-size:20px}.metric.win strong{font-size:22px}.buy{letter-spacing:0;grid-area:2/2;padding:11px 5px;font-size:9px}.buy small{font-size:6px}.bet{grid-area:2/3;justify-content:flex-end;gap:3px}.bet #bet-open{min-width:42px}.bet strong{font-size:16px}.bet>button:not(#bet-open){width:21px;height:21px;font-size:17px}.spin{grid-area:1/4/3;justify-self:end;width:65px;height:65px}.spin>span{font-size:47px}.spin>small{font-size:6px}#message{height:38px;padding:4px 14px;font-size:10px}.feature-overlay,.win-show{inset:36px 0 148px}.feature-overlay h2{font-size:29px}.free-number{font-size:116px}.feature-overlay h3{letter-spacing:2px;font-size:16px}.summary-amount{font-size:49px}.receipt>div{padding:5px 0;font-size:11px}.welcome h2{letter-spacing:-2px;font-size:47px}.welcome-icons{margin:0 -35px;transform:scale(.8)}.welcome>p{font-size:12px}#callout strong{font-size:60px}#callout small{letter-spacing:2px;font-size:10px}.festival .brand{margin:2px 0}.festival .brand h1{font-size:24px}.festival .energy-card{bottom:calc(100% + 8px)}#feature-hud{padding:6px 12px;font-size:7px}#feature-hud b{font-size:18px}}@media (height<=560px) and (width>=701px){.topbar{height:28px}.brand>span,.brand p{display:none}.brand h1{margin:0;font-size:26px}.board-wrap,.festival .board-wrap{width:calc(125svh - 202.5px)}.controls{min-height:77px;padding:7px 15px}.spin{width:56px;height:56px}.spin>span{font-size:43px}.spin>small{font-size:6px}.buy{padding:10px;font-size:10px}.metric strong{font-size:20px}.metric.win strong{font-size:24px}#message{height:21px;font-size:9px}.feature-overlay,.win-show{inset:28px 0 77px}.feature-overlay{padding:10px}.feature-overlay h2{margin:0 0 3px;font-size:23px}.free-number{font-size:77px}.feature-overlay h3{margin:7px 0;font-size:14px}.feature-overlay p:not(.eyebrow){margin:5px;font-size:10px}.feature-overlay .primary{margin-top:6px;padding:10px 23px}.eyebrow{margin:0 0 6px;font-size:8px}.summary-amount{font-size:34px}.receipt{margin:3px 0;padding:3px 0}.receipt>div{padding:2px 0;font-size:10px}.receipt>div:last-child{margin-top:3px;padding-top:3px}.energy-card .top-icon{width:70px;height:70px;margin-bottom:3px}.energy-card strong{font-size:42px}.energy-card p{display:none}.energy-card small{font-size:7px}#feature-hud{border-radius:8px;width:120px;margin:0;padding:8px;display:block;position:absolute;top:26px;left:-148px}#feature-hud>span{margin:9px 0;display:block}.welcome-icons{display:none}.welcome h2{margin:10px 0;font-size:39px}.welcome>p{margin:6px 0 10px}.welcome small{margin-top:13px}}#app:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 8% 35%,#ffc15a35,#0000 32%),radial-gradient(at 94% 45%,#ffb78326,#0000 30%);animation:5s ease-in-out infinite alternate carnival-glow;position:absolute;inset:0}.brand h1{animation:6s ease-in-out infinite brand-breathe}.top-icon{animation:2.2s ease-in-out infinite top-dance}.welcome-icons i{animation:3.4s ease-in-out infinite sweet-float}.welcome-icons i:nth-child(2){animation-delay:-1.1s}.welcome-icons i:nth-child(3){animation-delay:-2.2s}.candy-hit .energy-card>strong{animation:.65s cubic-bezier(.2,.8,.2,1) energy-punch}.candy-hit .top-icon{animation:.65s ease-out top-celebrate}.candy-hit .board-wrap{animation:.65s ease-out board-warmth}.candy-hit .metric.win strong{animation:.65s ease-out energy-punch;display:inline-block}.festival #app:before{background:radial-gradient(at 50% 20%,#ffc56e50,#0000 75%)}.feature-overlay:before{content:"";pointer-events:none;z-index:-1;background:repeating-conic-gradient(at 50% 48%,#0000 0deg 20deg,#ffdf9b0a 20deg 32deg);animation:3s ease-in-out infinite alternate carnival-glow;position:absolute;inset:0}@keyframes carnival-glow{to{opacity:.45;filter:saturate(1.4)}}@keyframes brand-breathe{50%{filter:drop-shadow(0 0 9px #f4b85c33);transform:translateY(-2px)}}@keyframes top-dance{0%,to{transform:translateY(0)rotate(-7deg)}50%{transform:translateY(-10px)rotate(12deg)}}@keyframes sweet-float{50%{translate:0 -10px;rotate:7deg}}@keyframes energy-punch{0%{transform:scale(.88)}35%{transform:scale(1.23)}65%{transform:scale(.97)}to{transform:scale(1)}}@keyframes top-celebrate{35%{transform:translateY(-18px)rotate(32deg)scale(1.16)}70%{transform:rotate(-15deg)}to{transform:rotate(0)}}@keyframes board-warmth{35%{filter:drop-shadow(0 0 17px #ffd58a70)}}@media (width>=701px) and (height>=561px){.board-wrap{width:min(780px,125svh - 387.5px)}.festival .board-wrap{width:min(740px,125svh - 418.75px)}}@media (width>=701px) and (height<=560px){.board-wrap,.festival .board-wrap{width:calc(125svh - 237.5px)}}@media (width<=700px) and (height<=680px){.brand{margin:4px 0}.brand h1{font-size:24px}.brand>span,.brand p{display:none}.board-wrap{width:min(100%,125svh - 437.5px)}.festival .board-wrap{width:min(100%,125svh - 500px)}.energy-card{bottom:calc(100% + 4px)}}@media (width<=700px){body{overflow-y:auto}.topbar{min-height:44px;padding-top:env(safe-area-inset-top)}.controls{padding:12px max(10px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));grid-template-rows:44px 44px 44px;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 72px;gap:8px 7px;min-height:172px;display:grid}.controls .utility{flex-direction:column;grid-area:2/1/4;align-self:center;gap:8px;display:flex}.controls .utility button{width:44px;min-width:44px;height:44px;font-size:22px}.controls .balance,.controls>.metric:not(.win){text-align:left;grid-area:1/1/auto/3}.controls .win{text-align:right;grid-area:1/3/auto/5;max-width:none}.controls .metric small,.controls .bet small{letter-spacing:.4px;font-size:10px}.controls .metric strong{font-size:21px;line-height:1.25}.controls .feature-buy,.controls .buy{grid-area:2/2/auto/4;min-height:44px;padding:6px 8px;font-size:12px}.controls .buy small{font-size:9px}.controls .bet-control,.controls .bet{grid-area:3/2/auto/4;justify-content:space-between;gap:0;min-width:0}.controls .bet-control>button:not(.metric),.controls .bet>button:not(#bet-open){width:44px;min-width:44px;height:44px;font-size:22px}.controls #bet-open{min-width:42px;min-height:44px;padding:0 2px}.controls #bet-open strong{font-size:16px}.controls .spin{grid-area:2/4/4;align-self:center;width:72px;height:72px}.feature-screen,.feature-overlay,.win-show{top:44px;bottom:calc(172px + env(safe-area-inset-bottom));overflow-y:auto}.feature-screen .primary,.feature-overlay .primary,dialog button{min-height:44px}dialog{max-width:calc(100vw - 20px);max-height:calc(100svh - 24px)}.welcome{padding-top:24px;padding-bottom:24px;overflow-y:auto}.topbar #sound{width:44px;min-width:44px;height:44px}.topbar .studio-mark{font-size:16px}}@media (height<=560px) and (width>=701px){.controls{gap:14px;min-height:79px;padding-left:12px;padding-right:12px}.controls .utility{flex-direction:row;gap:4px}.controls .utility button,.controls .bet-control>button:not(.metric),.controls .bet>button:not(#bet-open){width:44px;min-width:44px;height:44px}.controls #bet-open{min-width:56px;min-height:44px}.controls .balance{min-width:96px}.controls .win{min-width:84px}.controls .bet-control,.controls .bet{gap:2px}.controls .feature-buy,.controls .buy{min-height:44px;padding:9px 12px}}.ticket-icon,.welcome-icons i:nth-child(2){position:relative;background:0 0!important}.ticket-icon:before,.welcome-icons i:nth-child(2):before{content:"";background-image:url(/demos/caramel-carnival/assets/symbols.png);background-position:50.813% 96.4849%;background-repeat:no-repeat;background-size:464.444% 292.308%;width:63%;position:absolute;top:0;bottom:0;left:18.5%}
