html{--luelon-bar:60px}html body dialog:not([open]),html body dialog[hidden]{visibility:hidden!important;pointer-events:none!important;display:none!important}html body dialog:not([open])::backdrop,html body dialog[hidden]::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none!important;background:0 0!important;display:none!important}.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}}.win-show{z-index:10;isolation:isolate;text-align:center;--award-color:#ffe2a0;background:radial-gradient(at 50% 42%,#986640e8,#381724f5 72%);place-items:center;animation:.25s ease-out award-veil;display:grid;position:fixed;inset:44px 0 102px;overflow:hidden}.win-show[data-tier="1"]{--award-color:#ffc6d5;background:radial-gradient(at 50% 42%,#ba6070e0,#45142af5 72%)}.win-show[data-tier="2"]{--award-color:#fff0ad;background:radial-gradient(at 50% 42%,#bd8649e0,#3d1429f5 72%)}.win-show[hidden]{display:none}.award-content{z-index:3;pointer-events:none;flex-direction:column;align-items:center;width:min(94%,1040px);display:flex;position:relative}.award-eyebrow{letter-spacing:3px;color:#ffe5c2;margin:0 0 8px;font:800 10px/1.4 Arial,sans-serif}.award-emblem.top-icon{filter:drop-shadow(0 0 22px #ffc66c88);width:82px;height:82px;margin-bottom:10px;animation:2.3s ease-in-out infinite carnival-top}.award-title{letter-spacing:-.04em;filter:drop-shadow(0 3px #a35733)drop-shadow(0 7px #4c1328)drop-shadow(0 13px 9px #21081388);flex-wrap:wrap;justify-content:center;gap:0 .2em;margin:0;font-family:Georgia,serif;font-size:clamp(54px,8.4vw,122px);font-weight:950;line-height:1;display:flex}.award-title span{color:var(--award-color);animation:.55s cubic-bezier(.15,.75,.22,1.12) both carnival-title;display:block}.award-title span:nth-child(2){animation-delay:85ms}.award-title span:nth-child(3){animation-delay:.16s}[data-tier="1"] .award-title{transform:rotate(-2deg)}[data-tier="2"] .award-title{max-width:860px;font-size:clamp(40px,6.7vw,94px)}[data-tier="2"] .award-title span:last-child{width:100%;font-size:1.13em}.award-caption{letter-spacing:2px;color:#f7d4bc;margin:20px 0 5px;font:800 10px/1.4 Arial,sans-serif}.award-amount{font-variant-numeric:tabular-nums;color:#fff3d4;text-shadow:0 4px #925226;white-space:nowrap;font-family:Arial Black,Arial,sans-serif;font-size:clamp(44px,6.5vw,88px);font-weight:900;line-height:1.1}.award-track{background:#fbd69035;border-radius:5px;width:min(220px,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)}.award-skip{pointer-events:auto;color:#fff0d8;background:#2c1526d9;border:1px solid #ffe6b766;border-radius:30px;min-width:180px;min-height:44px;padding:11px 24px;font-size:12px}.award-skip:focus-visible{outline-offset:4px;outline:2px solid #fff0aa}.carnival-curtain{z-index:1;transform-origin:top;background:repeating-linear-gradient(90deg,#4f1628,#9a3c4f 18%,#642035 38%);border-bottom:14px solid #d8a365;width:22%;animation:.7s cubic-bezier(.15,.7,.2,1) both curtain-open;position:absolute;top:0;bottom:-15%;box-shadow:0 0 50px #1b061980}.carnival-curtain.left{--curtain:-1;border-radius:0 0 80%;left:-11%}.carnival-curtain.right{--curtain:1;border-radius:0 0 0 80%;right:-11%}.award-canopy{background:repeating-linear-gradient(100deg,#edc180 0 38px,#8a3244 39px 78px);border-bottom:5px solid #e9bd7d;border-radius:0 0 50% 50%;height:62px;position:absolute;top:-28px;left:12%;right:12%;box-shadow:0 12px 22px #200b1844}.award-coins{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.award-confetti{width:var(--size);height:calc(var(--size)*1.7);clip-path:polygon(0 0,100% 0,80% 50%,100% 100%,0 100%,20% 50%);background:hsl(var(--hue) 85% 75%);animation:confetti-fall var(--flight) linear var(--delay) infinite;border:1px solid #fff3;display:block;position:absolute;top:12%;left:50%}[data-tier="0"] .award-confetti:nth-child(2n){display:none}[data-tier="2"] .award-canopy{box-shadow:0 12px 55px #ffd97866}.award-complete .award-amount{animation:.35s ease-out amount-land}@keyframes curtain-open{0%{transform:translateX(calc(var(--curtain)*-140%)) rotate(calc(var(--curtain)*-14deg))}to{transform:translateX(0) rotate(calc(var(--curtain)*-8deg))}}@keyframes carnival-top{50%{transform:rotate(13deg)translateY(-5px)}}@keyframes carnival-title{0%{opacity:0;transform:translateY(28px)scale(.78)rotate(-5deg)}65%{opacity:1;transform:translateY(-4px)scale(1.03)}to{opacity:1;transform:none}}@keyframes confetti-fall{0%{opacity:0;transform:translate(calc(var(--x)*7px),-100px) rotate(0)}10%{opacity:.9}90%{opacity:1}to{opacity:0;transform:translate(calc(var(--x)*12px),80vh) rotate(calc(var(--turn)*540deg))}}@keyframes amount-land{45%{transform:scale(1.08)}}@keyframes award-veil{0%{opacity:0}to{opacity:1}}@keyframes bonus-number{0%{opacity:0;transform:translateY(18px)scale(.8)}70%{opacity:1;transform:scale(1.05)}to{transform:none}}@keyframes callout-slam{0%{opacity:0;scale:.8}70%{opacity:1;scale:1.03}to{scale:1}}@media (width<=700px){.win-show{inset:44px 0 calc(172px + env(safe-area-inset-bottom))}.award-title{font-size:clamp(40px,13vw,80px)}[data-tier="2"] .award-title{font-size:clamp(31px,9.5vw,60px)}.award-amount{font-size:clamp(35px,10.5vw,66px)}.award-eyebrow{letter-spacing:1px;font-size:8px}.award-emblem.top-icon{width:65px;height:65px}.award-caption{letter-spacing:1px;font-size:8px}.carnival-curtain{width:20%}.award-content{padding:16px 0}.award-canopy{height:48px}}@media (height<=560px) and (width>=701px){.win-show{inset:44px 0 79px}.award-title{font-size:52px}[data-tier="2"] .award-title{max-width:none;font-size:42px}[data-tier="2"] .award-title span:last-child{width:auto;font-size:1em}.award-emblem.top-icon{display:none}.award-eyebrow{margin-bottom:8px;font-size:8px}.award-caption{margin:10px 0 4px;font-size:8px}.award-amount{font-size:39px}.award-track{margin:9px 0}.award-skip{padding:8px 20px}.award-canopy{display:none}}.reduced-motion .award-coins{display:none}.reduced-motion .win-show *{animation:none!important}.award-decor{contain:paint;pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.win-show{align-items:safe center;overflow-x:hidden}*{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 .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%}.ticket-meter{z-index:4;color:#ffebbe;white-space:nowrap;pointer-events:none;background:#2e1523f2;border:1px solid #dbae65b0;border-radius:20px;max-width:94%;padding:7px 13px;font-size:11px;font-weight:750;position:absolute;top:12px;left:50%;transform:translate(-50%)}.ticket-meter.anticipating{animation:.6s ease-in-out infinite alternate ticket-pulse;box-shadow:0 0 23px #ffc66188}.ticket-meter.complete{background:#66422bf2;border-color:#ffe5a5}.energy-card #energy-equation{letter-spacing:0;color:#ffe6a7;white-space:nowrap;background:0 0;border:0;min-height:17px;margin:4px auto 0;padding:0;font-size:12px;display:block}.energy-arrival #multiplier{animation:.4s ease-out energy-land}.round-requested .board-wrap:after{content:"";pointer-events:none;border:2px solid #ffe1a880;border-radius:24px;animation:.65s ease-in-out infinite alternate ticket-pulse;position:absolute;inset:0}#message{font-variant-numeric:tabular-nums;background:linear-gradient(90deg,#0000,#25111fa8 20% 80%,#0000);border-radius:8px;flex-shrink:0;max-width:100%;height:auto;min-height:38px;padding:7px 12px;font-size:12px;line-height:1.45}.game{padding-bottom:5px}.board-wrap{width:min(780px,125svh - 343.75px)}.festival .board-wrap{width:min(740px,125svh - 397.5px)}.feature-overlay{background:radial-gradient(at 50% 40%,#9a4853ee,#311622fa 78%);place-items:center;padding:18px;display:grid;overflow:auto}.festival-panel{background:linear-gradient(145deg,#6f2b3bee,#351720f5);border:1px solid #d4a86d80;border-radius:26px;width:min(640px,100%);max-width:100%;padding:25px 25px 22px;animation:.45s ease-out festival-arrive;position:relative;box-shadow:0 20px 70px #16081180,inset 0 0 0 5px #cd9b6520}.festival-panel:before{content:"";pointer-events:none;border:1px solid #ffd59f40;border-radius:20px;position:absolute;inset:8px}.festival-panel h2{color:#fff0cd;margin-bottom:10px;font-size:clamp(29px,3.6vw,47px);line-height:1.08}.festival-panel .eyebrow{letter-spacing:2px;margin-bottom:5px;font-size:10px}.festival-panel p{max-width:460px;margin-left:auto;margin-right:auto}.festival-passes{justify-content:center;align-items:center;height:100px;margin:0 0 4px;display:flex}.festival-passes .ticket-icon{width:77px;height:100px;animation:pass-arrive .45s calc(var(--pass)*70ms) both;transform:rotate(calc((var(--pass) - 1.5)*10deg));filter:drop-shadow(0 5px 9px #21091199);margin:0 -12px}.festival-allotment{justify-content:center;align-items:center;gap:14px;display:flex}.festival-allotment .free-number{text-shadow:0 4px #803239;font-family:Georgia,serif;font-size:90px;font-weight:900;line-height:1.05}.festival-allotment h3{letter-spacing:1px;text-align:left;max-width:170px;font-size:15px;line-height:1.4}.festival-seal .top-icon{width:80px;height:80px;margin:0 auto 8px;animation:none}.festival-panel .result-label{letter-spacing:2px;margin:16px 0 5px;font-size:10px!important}.festival-panel .summary-amount{overflow-wrap:anywhere;font-family:Arial Black,Arial,sans-serif;font-size:clamp(36px,5vw,64px);font-weight:900;line-height:1.15}.result-details{text-align:left;background:#24121d88;border:1px solid #e6c49835;border-radius:10px;width:min(410px,100%);margin:16px auto 8px}.result-details summary{cursor:pointer;color:#f4d6ad;min-height:44px;padding:12px;font-size:12px}.result-details .receipt{border:0;width:100%;margin:0;padding:0 12px 6px}.feature-overlay[data-kind=neutral] .paid{color:#e4c6b8!important}.feature-overlay[data-kind=neutral] .festival-seal{display:none}.feature-overlay .primary{min-height:46px;position:relative}.volume-setting input{width:150px;height:30px}.welcome{background:radial-gradient(at 50% 30%,#7829366b,#210d16ed),url(/demos/caramel-carnival/assets/carnival.png) 50%/cover}.welcome h2{margin:14px 0 7px;font-size:clamp(38px,5vw,72px);animation:.7s ease-out welcome-title}.welcome>p:first-child{animation:.65s ease-out welcome-brand}.welcome-icons{display:none!important}.welcome>p{margin:10px 0 15px}.welcome-guide{grid-template-columns:repeat(3,1fr);gap:14px;width:min(720px,100%);margin:6px 0 25px;display:grid}.welcome-guide>div{background:linear-gradient(#8b4a392e,#29111d55);border:1px solid #efd0a52b;border-radius:15px;padding:14px 12px 17px;animation:.6s ease-out both welcome-title}.welcome-guide>div:nth-child(2){animation-delay:80ms}.welcome-guide>div:nth-child(3){animation-delay:.16s}.welcome-guide i{width:80px;height:80px;margin:0 auto 10px;animation:none;display:block}.welcome-guide .candy-sample{filter:drop-shadow(0 4px 6px #200b1680);background:url(/demos/caramel-carnival/assets/symbols.png) 100% 0/300% 300%}.welcome-guide strong{color:#ffe4aa;margin-bottom:7px;font-family:Georgia,serif;font-size:16px;display:block}.welcome-guide span{color:#e8c6b6;font-size:12px;line-height:1.5;display:block}.welcome small{margin-top:20px}@keyframes ticket-pulse{0%{filter:brightness()}to{filter:brightness(1.28)}}@keyframes energy-land{50%{filter:drop-shadow(0 0 20px #ffd581);transform:scale(1.18)}}@keyframes festival-arrive{0%{opacity:0;transform:translateY(22px)scale(.94)}to{opacity:1;transform:none}}@keyframes pass-arrive{0%{opacity:0;translate:0 20px;scale:.7}to{opacity:1;translate:0;scale:1}}@keyframes welcome-title{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes welcome-brand{0%{opacity:0;letter-spacing:10px}to{opacity:1;letter-spacing:4px}}@media (width<=700px){.board-wrap,.festival .board-wrap{width:100%;max-width:100%}.ticket-meter{padding:5px 9px;font-size:9px;top:7px}#message{min-height:36px;padding:6px 9px;font-size:10px}.energy-card #energy-equation{min-height:12px;margin-top:1px;font-size:9px}.festival-panel{border-radius:19px;padding:18px 14px}.festival-panel .eyebrow{letter-spacing:1px;font-size:8px}.festival-panel h2{font-size:29px}.festival-passes{height:75px}.festival-passes .ticket-icon{width:59px;height:75px;margin:0 -9px}.festival-allotment .free-number{font-size:67px}.festival-allotment h3{max-width:125px;font-size:12px}.festival-panel p{font-size:11px!important}.festival-panel .summary-amount{font-size:clamp(31px,9vw,48px)}.festival-seal .top-icon{width:58px;height:58px}.feature-overlay{padding:10px}.welcome{padding:18px 15px}.welcome h2{font-size:clamp(34px,10vw,47px)}.welcome-guide{gap:7px;margin:4px 0 19px}.welcome-guide>div{padding:10px 7px 12px}.welcome-guide i{width:64px;height:64px;margin-bottom:7px}.welcome-guide strong{font-size:13px;line-height:1.2}.welcome-guide span{font-size:10px;line-height:1.4}.welcome>p{font-size:12px}.welcome small{margin-top:16px}}@media (width<=380px){.welcome-guide{gap:4px}.welcome-guide>div{padding:8px 4px}.welcome-guide strong{font-size:11px}.welcome-guide span{font-size:9px}.welcome-guide i{width:53px;height:53px}.festival-panel h2{font-size:26px}}@media (height<=560px) and (width>=701px){.board-wrap,.festival .board-wrap{width:calc(125svh - 221.25px)}#message{min-height:26px;padding:4px 9px;font-size:10px}.festival-panel{width:min(690px,100%);padding:12px 25px}.festival-panel .festival-passes,.festival-panel .festival-seal{display:none}.festival-panel h2{margin:2px;font-size:29px}.festival-allotment .free-number{font-size:58px}.festival-allotment h3{font-size:12px}.festival-panel p{margin:5px auto;font-size:10px!important}.festival-panel .eyebrow{font-size:8px}.festival-panel .summary-amount{font-size:36px}.festival-panel .result-details{margin:7px auto}.welcome-guide{gap:10px;margin:2px 0 15px}.welcome-guide>div{text-align:left;grid-template-columns:50px 1fr;align-content:center;padding:8px;display:grid}.welcome-guide i{grid-row:1/3;width:45px;height:45px;margin:0}.welcome-guide strong{margin:3px 0;font-size:12px}.welcome-guide span{font-size:10px}.welcome h2{margin:4px;font-size:37px;line-height:1}.welcome>p{margin:5px 0;font-size:11px}.welcome small{margin-top:10px}}.panel-back{color:#edce9e;text-align:left;background:0 0;min-height:44px;margin:-8px 0 12px;padding:8px 0;font-size:12px;display:block}dialog[open]{animation:.2s ease-out festival-arrive}#panel-body{scroll-behavior:smooth}.menu-list button{transition:background .15s,border-color .15s}.menu-list button:hover{background:#f8d6a916;border-color:#edd0b85a}.game{flex-direction:column;flex:1 1 0;justify-content:center;min-height:0;margin:0 auto;padding:6px 12px;display:flex}.brand{flex:none}.play-area{flex:1 1 0;width:100%;min-height:0}.board-wrap,.festival .board-wrap{flex:none;max-width:100%}#message{flex:none;min-height:34px;margin:4px 0 0}.controls{flex:none}.festival .ticket-meter{top:70px}@media (width<=700px){.game{padding:2px 4px}.festival .ticket-meter{top:62px}#message{min-height:34px}}@media (height<=560px) and (width>=701px){.game{padding:2px 10px}.festival .ticket-meter{top:9px}#message{min-height:26px;margin-top:2px}}.summary-net{color:#f0d5bf;justify-content:center;align-items:baseline;gap:12px;margin:13px auto 9px;font-size:13px;display:flex}.summary-net strong{font-variant-numeric:tabular-nums;color:#fff0d5;font-size:21px}.feature-overlay[data-kind=neutral] .summary-amount{color:#e5d3c8}.feature-overlay[data-kind=neutral] .festival-panel{animation:none}.feature-overlay[data-kind=neutral] .summary-net strong{color:#e5d3c8}@media (width<=700px){.summary-net{gap:9px;margin:11px auto 8px;font-size:12px}.summary-net strong{font-size:19px}}@media (height<=560px) and (width>=701px){.summary-net{margin:6px auto;font-size:11px}.summary-net strong{font-size:17px}}
