.machine:before,.machine:after{display:none}
:is(.game-page,.lobby-page) .game-tools{width:60px;height:auto;display:flex;flex-direction:column;gap:14px;align-items:center;left:10px;top:50%;transform:translateY(-50%);border:0;background:none;box-shadow:none;border-radius:0}
:is(.game-page,.lobby-page) .game-tools .icon-button{position:static;width:54px;height:54px;padding:13px;flex-shrink:0;background:color-mix(in srgb,var(--game-dark) 58%,transparent)}
:is(.game-page,.lobby-page) .game-tools .icon-button svg{width:26px;height:26px}
.game-page .game-world{padding-left:86px}
.reels-surface>.cinematic{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;z-index:30;overflow:hidden;border:0;padding:0;box-sizing:border-box}
.reels-surface>.cinematic:not([open]){display:none}
.reels-surface .story-result{width:min(88%,540px);max-height:86%;overflow:auto;padding:20px}
.reels-surface .story-number{font-size:clamp(36px,5vw,68px)}.reels-surface .story-caption{font-size:clamp(24px,4vw,46px)}.reels-surface .story-top{top:10px;left:12px;right:12px}.reels-surface .story-top>span{font-size:22px}
.reels-surface .princess-bonus-arrival{background:#ac4d83}
.princess-bonus-arrival .magic-rainbow{background:radial-gradient(ellipse at 50% 115%,#c764ad 0 28%,#ffd6f3 29% 35%,#f99bd4 36% 42%,#cca0f0 43% 49%,#f678c3 50% 58%,#bd5797 60%);animation:magic-rainbow-arrive 1.3s cubic-bezier(.2,.65,.25,1) both}
.bonus-greeting{position:absolute;inset:0;z-index:2;display:flex;align-items:center;flex-direction:column;justify-content:space-between;padding:14px;transition:opacity .35s,transform .35s}
.bonus-greeting h2{font:clamp(35px,5vw,68px) Bangers,Impact,sans-serif;letter-spacing:3px;color:#fff0ce;text-shadow:3px 4px #793553;margin:0;animation:freispiel-title-pop .65s .4s both}
.bonus-greeting p{font-size:clamp(16px,2vw,22px);font-weight:900;color:#fff0dc;text-shadow:1px 2px #823d63;margin:5px}
.bonus-princess{height:67%;width:30%;min-width:115px;position:relative}.bonus-princess .actor{animation:none}.bonus-princess .actor-pose{max-width:100%;transition:opacity .15s}.bonus-princess .actor-pose.pose-2{max-width:125%}
@keyframes freispiel-title-pop{from{opacity:0;transform:scale(.65) translateY(12px)}70%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
.princess-bonus-arrival .bonus-arrival-panel{opacity:0;pointer-events:none;transform:translateY(18px);animation:none;transition:opacity .4s,transform .4s;width:min(650px,96%);max-height:96%;padding:12px 18px;box-shadow:0 5px 25px #58224966;border-color:#ffd1e9;background:#522b50e8}
.bonus-selection .bonus-greeting{opacity:0;transform:scale(1.08);pointer-events:none}
.bonus-selection .bonus-arrival-panel{opacity:1;transform:none;pointer-events:auto}
.bonus-arrival-panel h2{font-size:24px;margin:4px 0}.bonus-arrival-panel .bonus-arrival-eyebrow{font-size:11px}.bonus-arrival-panel #bonus-wheel-status{font-size:14px;margin:5px 0}
.bonus-arrival-panel .bonus-wheel{width:220px;height:220px;margin:10px auto 5px;border:3px solid #dfb282;box-shadow:inset 0 0 0 5px #58324b,inset 0 0 0 7px #ffe0bc55,0 0 18px #fa96d141;background:repeating-conic-gradient(from -1deg,#f1c79655 0deg 1deg,transparent 1deg 15deg),radial-gradient(circle,#aa5d8e 0%,#5b2c53 62%);}
.bonus-wheel-option{transform:rotate(var(--angle)) translateY(-73px) rotate(calc(-1 * var(--angle)));width:90px;margin-left:-45px;margin-top:-34px}.bonus-wheel-option>span{width:66px;height:66px;border-width:3px;background:#633555}.bonus-wheel-option .paint-sprite{width:57px;height:57px}.bonus-wheel-option small{font-size:10px;letter-spacing:.2px;text-shadow:0 2px #341c30}
.bonus-wheel-pointer i{top:44px;left:calc(50% - 9px);width:18px;height:25px;background:linear-gradient(90deg,#dfac67,#fff0b7,#eab477);filter:drop-shadow(0 2px 2px #2e1930)}
.bonus-wheel-option.is-awarded>span{animation:upgrade-picked .6s ease-out;border-color:#fff0be;background:#ac5e84;box-shadow:0 0 18px #ffc5e9}
@keyframes upgrade-picked{50%{transform:scale(1.13)}to{transform:scale(1)}}
.bonus-arrival-panel .bonus-awarded-list{display:none}.bonus-arrival-panel .bonus-arrival-continue{margin:7px auto 0;padding:8px 18px;font-size:13px}
.bonus-awards-ready .bonus-wheel{display:none}.bonus-awards-ready .bonus-awarded-list{display:flex;margin:16px auto}.bonus-awards-ready .bonus-arrival-reward{background:#d269a252;margin:12px auto;border-color:#ffe3ef;padding:15px}.bonus-arrival-reward strong{font-size:70px}
@media(max-width:600px){.game-page .game-world{padding-left:70px}:is(.game-page,.lobby-page) .game-tools{left:5px;width:54px;gap:13px}:is(.game-page,.lobby-page) .game-tools .icon-button{width:48px;height:48px;padding:11px}.bonus-arrival-panel .bonus-arrival-eyebrow{display:none}.bonus-arrival-panel h2{font-size:19px}.bonus-arrival-panel #bonus-wheel-status{font-size:12px}.bonus-arrival-panel .bonus-wheel{width:196px;height:196px;margin:5px auto}.bonus-wheel-option{transform:rotate(var(--angle)) translateY(-65px) rotate(calc(-1 * var(--angle)))}.bonus-wheel-option>span{width:59px;height:59px}.bonus-wheel-option .paint-sprite{width:50px;height:50px}.bonus-wheel-pointer i{top:36px}.princess-bonus-arrival .bonus-arrival-panel{padding:8px 5px}.bonus-greeting{padding:10px}.reels-surface .story-top>span{display:none}}
@media(prefers-reduced-motion:reduce){.bonus-greeting,.bonus-arrival-panel{transition:none}.bonus-greeting h2,.bonus-wheel-option.is-awarded>span{animation:none}.princess-bonus-arrival .magic-rainbow{animation:none;transform:none}}
/* Continuous reel lanes; persistent multipliers sit beneath the transparent artwork. */
.game-page .reels-surface{container-type:inline-size;background:var(--reel-base,var(--game-metal))}
.game-page .reels{position:relative;z-index:2;background:transparent;gap:0}
.game-page .reel-window,.game-page .reel-strip,.game-page .reel-window.anticipating{background:transparent}
.game-page .reel-window{border-right:2px solid #39263470}
.game-page .reel-window:last-child{border-right:0}
.game-page .symbol{border-bottom:0;background:transparent}
.game-page .field-layer{z-index:1;gap:0;opacity:1}
.game-page .field-cell.multi-field{background:none;box-shadow:none}
.game-page .position-multi{inset:0;display:grid;place-items:center;line-height:1;font-size:calc(var(--reel-h)/var(--rows)*.85);transform:scale(var(--multi-scale,1));color:#f7c4e2;text-shadow:2px 3px #683756,-1px -1px #fff1d4;letter-spacing:-1px}
.game-page .field-cell.field-pulse{animation:multiplier-arrival .5s cubic-bezier(.16,1,.3,1)}
@keyframes multiplier-arrival{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}
/* Size the wheel against the actual reel window, with room for its controls. */
.princess-bonus-arrival .bonus-arrival-panel{width:96%;max-height:98%;border-radius:18px;padding:10px 16px;transition:opacity .65s,transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(30px) scale(.96)}
.bonus-selection .bonus-arrival-panel{transform:translateY(0) scale(1)}
.bonus-arrival-panel .bonus-wheel{--wheel-size:min(440px,70cqw,calc(var(--reel-h) - 155px));width:var(--wheel-size);height:var(--wheel-size);margin:6px auto 10px}
.bonus-wheel-option{width:42%;margin:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--wheel-size)*-.31)) rotate(calc(-1 * var(--angle)))}
.bonus-wheel-option>span{width:calc(var(--wheel-size)*.27);height:calc(var(--wheel-size)*.27)}
.bonus-wheel-option .paint-sprite{width:90%;height:90%}
.bonus-wheel-option small{font-size:clamp(11px,1.4cqw,16px);margin-top:3px}
.bonus-wheel-pointer{z-index:3;pointer-events:none}
.bonus-wheel-pointer i{top:29%;left:calc(50% - 10px);width:20px;height:27px}
.wheel-center{z-index:4;background:#723654;border:2px solid #e9c396;border-radius:50%;box-shadow:0 3px 8px #2d152655}
.bonus-greeting{transition:opacity .6s,transform .9s cubic-bezier(.16,1,.3,1)}
.bonus-greeting h2{animation:freispiel-title-pop .9s .25s cubic-bezier(.16,1,.3,1) both}
.bonus-princess .actor-pose{transition:opacity .22s}
.princess-bonus-arrival .magic-rainbow{animation-duration:1.8s}
.princess-bonus-arrival .magic-rainbow:after{content:'';position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 40%,#fff5ee40 49%,transparent 58%);transform:translateX(-60%);animation:rainbow-sheen 2.6s .35s cubic-bezier(.16,1,.3,1) both}
@keyframes rainbow-sheen{to{transform:translateX(60%)}}
.bonus-awards-ready .bonus-arrival-reward{animation:bonus-panel-arrive .7s cubic-bezier(.16,1,.3,1)}
@media(max-width:600px){.princess-bonus-arrival .bonus-arrival-panel{padding:8px 4px}.bonus-arrival-panel .bonus-wheel{--wheel-size:min(76cqw,calc(var(--reel-h) - 135px))}.bonus-wheel-option small{font-size:10px}.bonus-wheel-pointer i{width:14px;height:21px;left:calc(50% - 7px)}.wheel-center{width:34px;height:34px;top:calc(50% - 17px);left:calc(50% - 17px);font-size:25px}}
@media(prefers-reduced-motion:reduce){.bonus-greeting,.bonus-princess .actor-pose,.princess-bonus-arrival .bonus-arrival-panel{transition:none}.bonus-greeting h2,.magic-rainbow:after,.game-page .field-cell.field-pulse{animation:none}}
/* The active world's palette carries through every purchase and reward surface. */
.game-page .modal{background:var(--game-metal);color:var(--game-paper);border:3px solid var(--game-gold);box-shadow:0 18px 70px #180b2377}
.game-page .modal h2,.game-page .modal h3,.game-page .modal p,.game-page .modal .modal-eyebrow{color:var(--game-paper)}
.game-page .modal .primary-button,.game-page .bonus-package{background:var(--game-dark);color:var(--game-paper);border:2px solid var(--game-gold)}
.theme-princess .modal{background:linear-gradient(145deg,#67374f,#382238);border-color:#e9adc9;color:#ffe6ed;border-radius:20px 7px 24px 9px}
.theme-princess .bonus-package{background:linear-gradient(145deg,#b4628e,#703d65);border:2px solid #e6a6c2;box-shadow:inset 0 0 0 3px #572c5140,0 5px 0 #2f1b2c;transition:transform .2s,background .2s}
.theme-princess .bonus-package:hover:not(:disabled){transform:translateY(-4px);background:linear-gradient(145deg,#cb7aa2,#885078)}
.theme-princess .bonus-package strong,.theme-princess .bonus-package b{color:#fff0dc}.theme-princess .bonus-package span,.theme-princess .bonus-package small{color:#f8d5e7}
.theme-princess .modal .primary-button{background:#b7628b;border-color:#eac0ce;color:#fff2de}
.theme-princess .center-win,.theme-princess .story-result,.theme-princess .win-pop{background:linear-gradient(135deg,#713e63,#b96991);border-color:#f0bed2;color:#fff0df;box-shadow:0 8px 24px #32152977,inset 0 0 0 3px #dfaac666}
.theme-princess .center-win strong,.theme-princess .story-number,.theme-princess .win-pop strong{color:#fff1d6;text-shadow:2px 3px #653248}
.theme-princess .center-win span,.theme-princess .center-win small,.theme-princess .story-eyebrow,.theme-princess .story-detail,.theme-princess .win-pop small{color:#ffe0ed}
.theme-princess .story-continue{background:#c87397;color:#fff1df;border-color:#e9b9cb}.theme-princess .story-result:before,.theme-princess .story-result:after{display:none}
/* Royal enamel sectors, inked gold trim and a jewel-like pointer. */
.princess-bonus-arrival .bonus-arrival-panel{background:linear-gradient(145deg,#733e68f5,#41223ff2);border:3px solid #e9adcb;box-shadow:inset 0 0 0 3px #ba7c9e44,0 10px 30px #34142966;border-radius:26px 10px 30px 12px}
.bonus-arrival-panel .bonus-wheel{border:6px double #f5d2ac;background:conic-gradient(from -60deg,#a86793 0deg 118deg,#eebacf 118deg 120deg,#74446f 120deg 238deg,#eebacf 238deg 240deg,#ba718f 240deg 358deg,#eebacf 358deg);box-shadow:0 7px 0 #45213e,inset 0 0 0 5px #49243e,inset 0 0 30px #30102c77,0 0 28px #eb94cb33}
.bonus-wheel-option>span{border:0;background:transparent;box-shadow:none}.bonus-wheel-option small{color:#fff0dc;text-shadow:1px 2px #482039;white-space:normal;line-height:1.1;font-family:Kalam,cursive;font-weight:900}
.bonus-wheel-option.is-awarded>span{background:#f7c1da33;border-radius:32%;box-shadow:0 0 28px #ffdae5aa}.bonus-wheel-option.is-awarded small{color:#fffbc9}
.wheel-center{background:radial-gradient(circle at 35% 30%,#ffcde9,#b3528f 55%,#5c2857);border:3px double #f7d3ae;color:#fff5d9}
.kiss-burst,.book-spell-burst{position:absolute;display:grid;place-items:center;pointer-events:none}.kiss-burst .paint-sprite,.book-spell-burst .paint-sprite{width:100%;height:100%;filter:drop-shadow(0 0 6px #ffd2e6)}
.spell-book-open{position:absolute;inset:0;display:grid;place-items:center;z-index:5;pointer-events:none}.spell-book-open .paint-sprite{width:100%;height:100%}
.royal-projectile{width:54px;height:54px}.royal-projectile .paint-sprite{width:100%;height:100%}
/* Keep the revealed multiplier aligned with the large persistent field number. */
.game-page.theme-princess .royal-cleared .position-multi{inset:0;display:grid;place-items:center;padding:0;box-shadow:none;font-size:calc(var(--reel-h)/var(--rows)*.85);transform:scale(var(--multi-scale,1));transition:none}
.reels-surface #slot-entry.entry-over-reels{background:#44223955;backdrop-filter:blur(5px);display:grid;place-items:center}
.entry-direct-copy{text-align:center;max-width:90%;padding:25px;color:#fff0e5;text-shadow:0 2px 8px #3a1937}
.entry-direct-copy>span{font:clamp(28px,4vw,52px) Bangers,Impact,sans-serif;letter-spacing:2px;color:#ffdbed}.entry-direct-copy h2{font:700 clamp(16px,2vw,23px) Kalam,cursive;margin:12px 0 20px}
.theme-princess .entry-direct-copy .entry-continue{background:linear-gradient(145deg,#cd7ba3,#884568);border:2px solid #f1c2d6;color:#fff0df;border-radius:8px 17px 7px 14px;padding:14px 34px;box-shadow:0 5px 0 #4e2946;min-width:220px}
.theme-princess .entry-back{color:#ffe2ee;background:#63394f99;border-color:#dba7bd}
.theme-princess .machine-message,.theme-princess .win-message{color:#f9d2e5}.theme-princess .win-message strong{color:#ffe9bd}
.theme-princess .modal input[type=range]{accent-color:#e396bb}.theme-princess .modal button:not(.text-button):not(.bonus-package):not(.primary-button){color:#ffe2ee;border-color:#c892ad}
.theme-princess .rules-section,.theme-princess .bonus-rules>span{border-color:#b67c9d}.theme-princess .princess-paytable th,.theme-princess .princess-paytable td{color:#ffe5ef;border-color:#b67c9d44}.theme-princess .princess-paytable tr:nth-child(even){background:#a6688a22}
.game-page.theme-princess .position-multi{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.game-page.theme-princess .field-cell.royal-upgrade{animation:multiplier-arrival .5s ease-out}
.game-page.theme-princess .bonus-bank,.game-page.theme-princess .game-controls.has-bonus .bonus-bank{background:linear-gradient(135deg,#67394f,#9e5b80);border:2px solid #e6abc7;color:#ffe5ef;box-shadow:inset 0 0 0 2px #c785a344;border-radius:8px 15px 7px 13px}
.game-page.theme-princess .bonus-bank>strong{color:#fff1d9;text-shadow:1px 2px #5c2d4a}.game-page.theme-princess .bonus-bank .control-label,.game-page.theme-princess #bonus-bank-caption{color:#ffe1ed}
.reels-surface .rainbow-win{background:#44253edb;backdrop-filter:blur(3px);color:#ffe7ef}
.rainbow-win-art{position:absolute;left:10%;right:10%;top:3%;height:78%;display:grid;place-items:center;animation:rainbow-win-enter .85s cubic-bezier(.16,1,.3,1) both}
.rainbow-win-art>.paint-sprite{width:100%;height:100%;max-width:850px;background-size:100% 100%}
.rainbow-win-value{position:absolute;inset:34% 4% auto;text-align:center;animation:rainbow-win-enter .65s .25s both}
.rainbow-win-value span{display:block;font:700 clamp(13px,1.8vw,21px) Kalam,cursive;letter-spacing:2px;color:#ffe8ec;text-shadow:1px 2px #47203c}
.rainbow-win-value strong{display:block;font:clamp(40px,7vw,100px) Bangers,Impact,sans-serif;color:#fff2dc;text-shadow:2px 4px #7d3d60;line-height:1.1}
.rainbow-win .rainbow-win-skip{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);max-width:92%;width:max-content;background:#9d5279;color:#ffece2;border:1px solid #edb2cf;border-radius:999px;padding:12px 24px;font-size:15px}
@keyframes rainbow-win-enter{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rainbow-win-art,.rainbow-win-value{animation:none}}
.reels-surface .bonus-finale{background:radial-gradient(ellipse at 50% 42%,#a35b8688,#3d203deb 75%)}
.bonus-finale .rainbow-win-art{top:0;height:83%;opacity:.9}
.bonus-finale .rainbow-win-value{top:36%;isolation:isolate}
.bonus-finale .rainbow-win-value:before{content:'';position:absolute;inset:-24px 15%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#6c3855bd,transparent 72%)}
.bonus-finale .rainbow-win-value>span{font-size:clamp(15px,2.2vw,26px);letter-spacing:3px}
.bonus-finale .rainbow-win-value strong{font-size:clamp(44px,8vw,116px);color:#fff1d3;transition:text-shadow .65s}
.bonus-finale.amount-complete .rainbow-win-value strong{text-shadow:2px 4px #723551,0 0 24px #fbd29d80}
.bonus-finale .rainbow-win-value small{display:block;margin-top:12px;color:#ffe2ee;font:700 clamp(12px,1.6vw,17px) Kalam,cursive;opacity:0;transform:translateY(5px);transition:opacity .6s,transform .6s}
.bonus-finale.amount-complete .rainbow-win-value small{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.bonus-finale .rainbow-win-value strong,.bonus-finale .rainbow-win-value small{transition:none}}
.bonus-buy-stake{text-align:center;margin:20px auto 16px}.bonus-buy-stake>span{display:block;font-size:13px;letter-spacing:1px;margin-bottom:8px;color:#f6cade}.bonus-buy-stake>div{display:flex;align-items:center;justify-content:center;gap:18px}.bonus-buy-stake button{width:46px;height:46px;border-radius:50%;background:#ab5c85;border:2px solid #edb5cd;font-size:26px;font-weight:900}.bonus-buy-stake output{min-width:110px;font:32px Bangers,Impact,sans-serif;color:#fff0dc;font-variant-numeric:tabular-nums}.bonus-buy-stake button:hover:not(:disabled){background:#c97ba2}
.account-modal{width:min(680px,94vw)}.account-tabs{display:flex;gap:8px;margin:18px 0 22px;border-bottom:1px solid #b78d9955;padding-bottom:10px}.account-tabs button{flex:1;padding:12px;border-radius:9px;background:#533448;color:#ffe6ee;border:1px solid #bf8aa4;font-weight:800}.account-tabs button[aria-pressed=true]{background:#a45d83;color:#fff3d8;border-color:#e9b6cb;box-shadow:inset 0 -3px #efc2d1}
.account-wallet{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px;margin-bottom:24px;background:#744363;color:#ffe8ee;border:1px solid #d79bb9;border-radius:12px}.account-wallet>span{font-size:13px;font-weight:800;letter-spacing:1px}.account-wallet strong{font:36px Bangers,Impact,sans-serif;color:#fff1d4}
.account-achievements{list-style:none;margin:14px 0;padding:0;display:grid;gap:10px}.account-achievement{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #b78b9d44;border-radius:9px}.account-achievement>span{font-size:25px;color:#bf8b72}.account-achievement.earned{background:#bb8b6620;border-color:#b9946b}.account-achievement.earned>span{color:#d9a65b}.account-achievement strong{font-size:16px}.account-achievement p{font-size:14px;margin:3px 0}.account-achievement small,.account-local-note{font-size:12px;opacity:.8}.account-signout{display:block;margin:22px 0 0;padding:12px 0;border-top:1px solid #b78b9d44;width:100%;text-align:center}
#panel-profile[hidden],#panel-game-account[hidden]{display:none}.lobby-page .account-tabs button{background:#425749;border-color:#9d9974;color:#f5e4bf}.lobby-page .account-tabs button[aria-pressed=true],.lobby-page .account-wallet{background:#526b53;border-color:#bdaa7a;color:#fff0d0}
@media(max-width:480px){.account-wallet{align-items:flex-start;flex-direction:column}.account-tabs button{padding:10px}}
.bonus-wheel-option>span{position:relative}.wheel-extra-badge{position:absolute;bottom:0;right:-3px;color:#fff1df;background:#b65189;border:2px solid #ffe0ed;border-radius:50%;min-width:36px;padding:3px 7px;font:28px Bangers,Impact,sans-serif;box-shadow:0 2px 6px #44203388}
.butterfly-flight>.paint-sprite{animation:butterfly-wingbeat .18s ease-in-out infinite alternate;transform-origin:center}
@keyframes butterfly-wingbeat{from{transform:scaleX(.4) rotate(-9deg)}to{transform:scaleX(1) rotate(9deg)}}
@media(prefers-reduced-motion:reduce){.butterfly-flight>.paint-sprite{animation:none}}
