@import"https://fonts.googleapis.com/css2?family=Audiowide&family=DM+Mono:wght@400;500&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap";:root{font-family:Zen Kaku Gothic New,Hiragino Kaku Gothic ProN,sans-serif;color:#f9f5ff;background:#050313;font-synthesis:none;--void: #050313;--deep: #0a0720;--panel: rgba(8, 5, 29, .88);--white: #fffaff;--muted: #aaa6c2;--cyan: #42f5ff;--pink: #ff3cac;--violet: #9f55ff;--yellow: #ffe66d;--line: rgba(66, 245, 255, .25)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--void);-webkit-font-smoothing:antialiased}button,textarea{font:inherit}button{border:0}.confetti-canvas,.screen-fx{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none}.confetti-canvas{z-index:60}.screen-fx{z-index:50;opacity:0}.screen-fx i,.screen-fx b{position:absolute;display:block;pointer-events:none}.effect-announcer{position:fixed;z-index:70;top:14%;left:50%;min-width:min(520px,84vw);padding:17px 28px 20px;border:2px solid currentColor;background:#030212e0;box-shadow:inset 0 0 30px currentColor,0 0 12px currentColor,0 0 52px currentColor;color:var(--pink);text-align:center;pointer-events:none;transform:translate(-50%);animation:effect-title 1.5s cubic-bezier(.12,.75,.18,1) both}.effect-announcer small{display:block;margin-bottom:4px;color:#fff;font-size:13px;font-weight:900;letter-spacing:.35em;text-shadow:0 0 10px currentColor}.effect-announcer strong{display:block;font-family:Audiowide,sans-serif;font-size:clamp(27px,4.2vw,58px);line-height:1;letter-spacing:.08em;text-shadow:0 0 6px #fff,0 0 14px currentColor,0 0 36px currentColor}.effect-gold .effect-announcer,.effect-jackpot .effect-announcer{color:var(--yellow)}.effect-rainbow .effect-announcer{color:#fff}.effect-reverse .effect-announcer,.effect-laser .effect-announcer{color:var(--cyan)}.effect-quake .effect-announcer,.effect-fakeout .effect-announcer{color:#ff4f68}.effect-blackout .effect-announcer{color:#c79aff}.effect-reboost .effect-announcer{color:#ff7bd0}.effect-gold.effect-active .screen-fx{background:#ffc1261f;box-shadow:inset 0 0 70px #fff1a8,inset 0 0 190px #ffb700e6;animation:gold-fever 8.4s ease-in-out both}.effect-gold.effect-active .wheel-canvas{animation:gold-wheel 3.3s ease-in-out infinite alternate}.effect-rainbow.effect-active .screen-fx{background:conic-gradient(from 0deg at 50% 50%,#ff30a45c,#ffde364d,#3bffb952,#42c5ff5c,#a446ff5c,#ff30a45c);mix-blend-mode:screen;animation:rainbow-rush 10.5s linear both}.effect-rainbow.effect-active .wheel-stage{animation:rainbow-wheel 7.8s linear infinite}.effect-reverse.effect-active .screen-fx{background:conic-gradient(from 90deg,transparent,rgba(66,245,255,.24),transparent,rgba(255,60,172,.28),transparent);mix-blend-mode:screen;animation:reverse-vortex 10.2s cubic-bezier(.2,.7,.2,1) both}.effect-reboost.effect-active .wheel-stage:before{animation:overdrive-halo .96s ease-in-out 5 alternate}.effect-reboost.effect-active .screen-fx{box-shadow:inset 0 0 140px #ff3cace6;animation:reboost-flash 5.4s ease-in-out both}.effect-fakeout.effect-active .workspace{animation:fakeout-dim 4.65s ease-in-out both}.effect-fakeout.effect-active .screen-fx{background:#ffffffe6;animation:recovery-flash 2.55s steps(2,jump-none) 2.16s both}.effect-quake.effect-active .workspace{animation:impact-shake 2.7s linear .24s both}.effect-quake.effect-active .screen-fx{box-shadow:inset 0 0 120px #ff3454eb;animation:impact-flash 2.7s linear .24s both}.effect-blackout.effect-active .screen-fx{background:#000;animation:blackout-awaken 6.75s steps(1,end) both}.effect-laser.effect-active .screen-fx{opacity:1;overflow:hidden}.effect-laser.effect-active .screen-fx i{top:-8vh;left:-10vw;width:120vw;height:4px;background:#fff;box-shadow:0 0 8px #fff,0 0 19px var(--cyan),0 0 55px var(--cyan),0 0 100px #42f5ffb3;animation:laser-scan 6.3s cubic-bezier(.15,.7,.1,1) both}.effect-laser.effect-active .screen-fx b{top:0;right:0;bottom:0;left:0;border:3px solid rgba(66,245,255,.85);box-shadow:inset 0 0 35px var(--cyan);animation:laser-lock 3.6s ease-in-out 2.46s both}.effect-jackpot.effect-active .wheel-panel{animation:jackpot-camera 6.45s cubic-bezier(.15,.8,.15,1) .24s both}.effect-jackpot.effect-active .screen-fx{background:#ffd32d29;box-shadow:inset 0 0 150px #ffdd4ae0;animation:jackpot-flash 6s ease-in-out .36s both}.app-shell{position:relative;isolation:isolate;width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:28px clamp(20px,4vw,72px) 42px}.app-shell:before,.app-shell:after{content:"";position:fixed;top:-5vh;right:-5vw;bottom:-5vh;left:-5vw;z-index:-2;pointer-events:none}.app-shell:before{background:url(/assets/neon-mood-reference.png) center / cover no-repeat;opacity:.33;filter:blur(7px) saturate(1.35) contrast(1.08);animation:ambient-drift 18s ease-in-out infinite alternate}.app-shell:after{z-index:-1;background:#030212c2}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;border-bottom:1px solid rgba(66,245,255,.62);box-shadow:0 14px 30px -29px var(--cyan);animation:enter .72s cubic-bezier(.16,.8,.2,1) both}.brand{display:flex;align-items:center;gap:16px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--cyan);border-radius:50%;background:#08061d;box-shadow:0 0 8px var(--cyan),inset 0 0 9px var(--pink),0 0 28px #ff3cac99;color:var(--white);font-family:Audiowide,sans-serif;font-size:22px;text-shadow:0 0 7px var(--pink),0 0 14px var(--pink);animation:sign-wake 1.1s .18s both}.brand p,.eyebrow,.count-badge,.result-card span,.floating-history{font-family:DM Mono,monospace;letter-spacing:.14em}.brand p{margin:0 0 3px;color:var(--cyan);font-size:10px;font-weight:500;text-shadow:0 0 8px var(--cyan)}.brand h1{margin:0;font-family:Audiowide,Zen Kaku Gothic New,sans-serif;font-size:clamp(21px,2.3vw,35px);line-height:1.1;letter-spacing:.03em;text-shadow:0 0 10px rgba(255,60,172,.9),0 0 28px rgba(159,85,255,.65)}.status-pill{display:flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid rgba(66,245,255,.78);border-radius:99px;background:#050313b8;box-shadow:inset 0 0 14px #42f5ff1f,0 0 15px #42f5ff29;font-size:13px;font-weight:700}.status-pill span{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--cyan),0 0 14px var(--cyan);animation:status-breathe 1.8s ease-in-out infinite}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:clamp(38px,5vw,84px);align-items:center;padding-top:38px}.wheel-panel{position:relative;display:grid;place-items:center;min-width:0;padding-top:32px;animation:enter .85s 90ms cubic-bezier(.16,.8,.2,1) both}.wheel-shake-layer{display:grid;width:100%;place-items:center;transform:translateZ(0)}.app-shell.is-spinning.effect-active .wheel-shake-layer{animation:roulette-tremor .42s linear infinite;will-change:transform}.floating-history{position:absolute;z-index:5;top:0;left:8%;display:flex;align-items:center;gap:12px;max-width:84%;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .36s ease,transform .52s cubic-bezier(.16,1,.24,1)}.floating-history.is-visible{opacity:1;transform:translateY(0)}.floating-history-label{flex:0 0 auto;color:var(--cyan);font-size:9px;text-shadow:0 0 8px var(--cyan)}.floating-history-items{display:flex;align-items:center;gap:8px;min-width:0}.floating-history-items>span{display:flex;align-items:center;gap:7px;max-width:132px;padding:8px 12px;overflow:hidden;border:1px solid rgba(159,85,255,.68);border-radius:99px;background:#07041cd1;box-shadow:inset 0 0 12px #9f55ff2e,0 0 12px #9f55ff47;color:#c5bddb;font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;animation:history-float 3.8s ease-in-out infinite alternate}.floating-history-items>span:nth-child(2){animation-delay:-1.4s}.floating-history-items>span:nth-child(3){animation-delay:-2.6s}.floating-history-items>span:nth-child(4){animation-delay:-.7s}.floating-history-items>span:nth-child(5){animation-delay:-2s}.floating-history-items>span.is-new{border-color:var(--pink);box-shadow:inset 0 0 14px #ff3cac42,0 0 8px var(--pink),0 0 22px #ff3cac80;color:#fff}.floating-history-items small{color:var(--cyan);font-family:DM Mono,monospace;font-size:8px}.wheel-stage{position:relative;isolation:isolate;width:min(69vh,700px,100%);aspect-ratio:1}.wheel-stage:before{content:"";position:absolute;top:3.5%;right:3.5%;bottom:3.5%;left:3.5%;z-index:-1;border:3px solid rgba(220,255,255,.82);border-radius:50%;box-shadow:0 0 7px #fff,inset 0 0 9px var(--cyan),0 0 17px var(--cyan),inset 0 0 32px #42f5ff85,0 0 58px #42f5ffeb,0 0 120px #9f55ffd1,0 0 180px #ff3cac75;animation:halo-breathe 3.2s ease-in-out infinite}.wheel-stage:after{content:"";position:absolute;top:8%;right:8%;bottom:8%;left:8%;z-index:-1;border:2px solid var(--white);border-radius:50%;opacity:0;pointer-events:none}.wheel-stage.has-result:after{animation:result-wave .9s cubic-bezier(.12,.7,.15,1) both}.wheel-canvas{display:block;width:100%;height:100%;transform:rotate(0) translateZ(0);transform-origin:50% 50%;will-change:transform;backface-visibility:hidden}.pointer{position:absolute;z-index:3;top:50%;right:-5px;width:62px;height:58px;transform:translate(50%,-50%);filter:drop-shadow(0 0 7px var(--pink)) drop-shadow(0 0 18px var(--pink))}.pointer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--white);clip-path:polygon(100% 0,100% 100%,0 50%)}.pointer i{position:absolute;top:8px;right:9px;bottom:8px;left:17px;background:var(--pink);clip-path:polygon(100% 0,100% 100%,0 50%)}.wheel-stage.is-spinning:before{animation:halo-spin .92s ease-in-out infinite alternate}.wheel-stage.is-spinning .pointer{animation:pointer-charge .62s ease-in-out infinite alternate}.result-card{position:absolute;z-index:4;top:50%;left:50%;min-width:min(390px,72%);padding:19px 27px 18px;border:1px solid var(--pink);background:#050317f0;box-shadow:inset 0 0 25px #ff3cac2b,0 0 8px var(--pink),0 0 38px #ff3cacbd,0 18px 80px #000000b3;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,-44%) scale(.82);transition:opacity .18s ease,transform .56s cubic-bezier(.16,1.32,.24,1)}.result-card.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.result-card span{display:block;margin-bottom:4px;color:var(--cyan);font-size:10px;font-weight:500;text-shadow:0 0 8px var(--cyan)}.result-card strong{display:block;overflow:hidden;color:var(--white);font-size:clamp(30px,4vw,54px);font-weight:900;line-height:1.15;text-overflow:ellipsis;text-shadow:0 0 7px var(--pink),0 0 22px var(--pink);white-space:nowrap}.result-card p{margin:7px 0 0;color:var(--muted);font-size:12px}.control-panel{align-self:stretch;display:flex;flex-direction:column;height:min(72vh,730px);min-height:620px;padding:clamp(25px,3vw,42px);border:1px solid rgba(66,245,255,.58);background:var(--panel);box-shadow:inset 0 0 46px #622ead21,0 0 12px #42f5ff33,13px 13px #ff3cac33,24px 24px 60px #0000007a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:enter .85s .17s cubic-bezier(.16,.8,.2,1) both}.panel-heading,.history-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.eyebrow{display:block;margin-bottom:3px;color:var(--pink);font-size:10px;font-weight:500;text-shadow:0 0 8px var(--pink)}.panel-heading h2,.history-title h3{margin:0;color:var(--white);font-family:Audiowide,Zen Kaku Gothic New,sans-serif;font-weight:400}.panel-heading h2{font-size:clamp(24px,2.2vw,34px);text-shadow:0 0 18px rgba(159,85,255,.48)}.count-badge{padding:5px 8px;border:1px solid var(--yellow);background:#ffe66d17;color:var(--yellow);box-shadow:inset 0 0 10px #ffe66d1f,0 0 9px #ffe66d4d;font-size:9px;white-space:nowrap}.input-wrap{display:flex;flex:1;flex-direction:column;min-height:0;margin-top:24px}.input-wrap>span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:700}textarea{display:block;width:100%;flex:1;min-height:280px;resize:vertical;padding:15px 17px;border:1px solid rgba(66,245,255,.65);border-radius:2px;outline:0;background:#fff;color:#0a0720;box-shadow:0 0 14px #42f5ff26;caret-color:#ff178f;font-size:17px;font-weight:700;line-height:30px;transition:box-shadow .24s ease,transform .24s cubic-bezier(.16,.8,.2,1),border-color .24s ease}textarea:focus{border-color:var(--pink);box-shadow:0 0 7px var(--pink),0 0 24px #ff3cac73;transform:translateY(-2px)}textarea:disabled{color:#6d6880;opacity:.82}.actions{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:15px}.actions button{cursor:pointer;transition:transform .18s cubic-bezier(.16,.8,.2,1),box-shadow .18s ease,opacity .18s ease}.actions button:disabled{cursor:not-allowed;opacity:.45}.spin-button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:60px;padding:8px 11px 8px 9px;border:1px solid #ff88cf;background:#d91485;box-shadow:inset 0 0 16px #ffffff24,0 0 7px var(--pink),0 0 24px #ff3cac99;color:#fff;font-size:18px;font-weight:900;text-align:left;text-shadow:0 0 8px rgba(255,255,255,.75)}.spin-button:not(:disabled):hover{transform:translateY(-3px) scale(1.01);box-shadow:inset 0 0 20px #fff3,0 0 9px var(--pink),0 0 36px #ff3cacf2}.spin-button:not(:disabled):active,.reset-button:not(:disabled):active{transform:translateY(1px) scale(.985)}.spin-button:disabled .button-icon{animation:spin-status 1.1s ease-in-out infinite}.button-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--cyan);border-radius:50%;background:#090621;box-shadow:inset 0 0 9px #42f5ff3d,0 0 8px #42f5ff80;color:var(--cyan);font-family:DM Mono,monospace;font-size:9px;text-shadow:0 0 7px var(--cyan)}kbd{padding:4px 6px;border:1px solid rgba(66,245,255,.72);border-radius:3px;background:#090621;box-shadow:inset 0 0 7px #42f5ff33,0 0 6px #42f5ff40;color:var(--cyan);font-family:DM Mono,monospace;font-size:9px}.reset-button{min-width:88px;border:1px solid rgba(66,245,255,.68)!important;background:#06081feb;box-shadow:inset 0 0 12px #42f5ff1a,0 0 9px #42f5ff2e;color:var(--white);font-size:13px;font-weight:700}.reset-button:not(:disabled):hover{color:var(--cyan);box-shadow:inset 0 0 15px #42f5ff29,0 0 16px #42f5ff75}@keyframes enter{0%{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes ambient-drift{0%{transform:scale(1.08) translate3d(-1.2%,-1%,0)}to{transform:scale(1.14) translate3d(1.4%,1.2%,0)}}@keyframes halo-breathe{0%,to{opacity:.82;transform:scale(.99)}50%{opacity:1;transform:scale(1.012)}}@keyframes halo-spin{0%{opacity:.82;transform:scale(.992)}to{opacity:1;transform:scale(1.018)}}@keyframes status-breathe{0%,to{opacity:.5;transform:scale(.86)}50%{opacity:1;transform:scale(1.12)}}@keyframes pointer-charge{0%{opacity:.76;transform:translate(50%,-50%) scale(.94)}to{opacity:1;transform:translate(50%,-50%) scale(1.06)}}@keyframes result-wave{0%{opacity:.9;transform:scale(.72)}to{opacity:0;transform:scale(1.25)}}@keyframes spin-status{0%,to{box-shadow:inset 0 0 9px #42f5ff3d,0 0 8px #42f5ff80}50%{box-shadow:inset 0 0 15px #ff3cac66,0 0 17px #ff3cacd9}}@keyframes sign-wake{0%,12%,22%{opacity:.12}8%,18%,28%{opacity:1}44%{opacity:.42}to{opacity:1}}@keyframes history-float{0%{transform:translateY(-3px)}to{transform:translateY(4px)}}@keyframes roulette-tremor{0%,to{transform:translateZ(0) rotate(0)}12%{transform:translate3d(-3px,1px,0) rotate(-.12deg)}26%{transform:translate3d(2px,-2px,0) rotate(.1deg)}41%{transform:translate3d(-1px,-1px,0) rotate(-.07deg)}58%{transform:translate3d(3px,2px,0) rotate(.12deg)}74%{transform:translate3d(-2px,2px,0) rotate(-.09deg)}88%{transform:translate3d(1px,-1px,0) rotate(.06deg)}}@keyframes effect-title{0%{opacity:0;transform:translate(-50%,24px) scaleX(.2);filter:blur(12px)}12%,84%{opacity:1;transform:translate(-50%) scaleX(1);filter:blur(0)}90%{opacity:1;transform:translate(-50%) scaleX(1.04)}to{opacity:0;transform:translate(-50%,-10px) scaleX(1.08);filter:blur(5px)}}@keyframes gold-fever{0%,to{opacity:0}18%,26%,42%,68%{opacity:.82}22%,34%,52%{opacity:.2}}@keyframes gold-wheel{0%{filter:sepia(.2) saturate(1.4) brightness(1.08)}to{filter:sepia(.85) saturate(2.4) brightness(1.42)}}@keyframes rainbow-rush{0%{opacity:0;transform:scale(.55) rotate(0)}20%,78%{opacity:.72}to{opacity:0;transform:scale(1.65) rotate(210deg)}}@keyframes rainbow-wheel{to{filter:hue-rotate(360deg) brightness(1.28)}}@keyframes reverse-vortex{0%{opacity:0;transform:scale(.5) rotate(0)}28%,72%{opacity:.72}to{opacity:0;transform:scale(1.35) rotate(-260deg)}}@keyframes overdrive-halo{0%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1.055)}}@keyframes reboost-flash{0%,to{opacity:0}18%,28%,56%{opacity:.88}23%,42%{opacity:.2}}@keyframes fakeout-dim{0%,to{opacity:1;filter:brightness(1)}30%,62%{opacity:.26;filter:brightness(.25) grayscale(.8)}72%{opacity:.05}76%{opacity:1;filter:brightness(1.7)}}@keyframes recovery-flash{0%,to{opacity:0}20%,50%{opacity:.9}35%,70%{opacity:.1}}@keyframes impact-shake{0%,to{transform:translateZ(0) rotate(0)}10%{transform:translate3d(-15px,8px,0) rotate(-.8deg)}20%{transform:translate3d(14px,-10px,0) rotate(.7deg)}30%{transform:translate3d(-12px,-5px,0) rotate(-.55deg)}40%{transform:translate3d(11px,9px,0) rotate(.5deg)}50%{transform:translate3d(-9px,4px,0) rotate(-.4deg)}60%{transform:translate3d(8px,-7px,0) rotate(.35deg)}70%{transform:translate3d(-6px,5px,0) rotate(-.25deg)}80%{transform:translate3d(5px,-3px,0) rotate(.18deg)}90%{transform:translate3d(-2px,2px,0) rotate(-.1deg)}}@keyframes impact-flash{0%,to{opacity:0}9%,32%,55%{opacity:.58}20%,44%,70%{opacity:.08}}@keyframes blackout-awaken{0%,to{opacity:0}5%,61%{opacity:1}62%{opacity:0;background:#fff}67%{opacity:1;background:#fff}72%{opacity:0}}@keyframes laser-scan{0%{opacity:0;transform:translateY(0) rotate(-4deg)}8%{opacity:1}92%{opacity:1}to{opacity:0;transform:translateY(116vh) rotate(4deg)}}@keyframes laser-lock{0%,to{opacity:0;transform:scale(1.08)}22%,68%{opacity:1;transform:scale(1)}}@keyframes jackpot-camera{0%,to{transform:scale(1)}30%,58%{transform:scale(1.075)}42%{transform:scale(1.025)}72%{transform:scale(1.12)}}@keyframes jackpot-flash{0%,to{opacity:0}20%,30%,48%,72%{opacity:.82}25%,39%,59%{opacity:.18}}@media(max-width:920px){.app-shell{padding:20px 18px 40px}.workspace{grid-template-columns:1fr;gap:38px;padding-top:30px}.wheel-stage{width:min(78vw,610px)}.control-panel{height:690px;min-height:0}.floating-history{left:3%;max-width:94%}}@media(max-width:520px){.app-shell{padding-inline:13px}.app-shell:before{opacity:.25}.topbar{min-height:62px}.brand-mark{width:40px;height:40px;font-size:18px}.brand p{display:none}.brand h1{font-size:18px}.status-pill{padding:7px 9px;font-size:10px}.wheel-stage{width:89vw}.pointer{right:3px;width:45px;height:42px}.control-panel{padding:24px 20px;box-shadow:inset 0 0 38px #622ead21,0 0 11px #42f5ff33,7px 7px #ff3cac2e}.floating-history-label{display:none}.floating-history-items>span:nth-child(n+4){display:none}.actions{grid-template-columns:1fr}.reset-button{min-height:44px}.result-card{min-width:72%;padding-inline:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-delay:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.screen-fx,.effect-announcer,.confetti-canvas{display:none!important}}.app-shell{--accent: #7bfaff;--gold: #ffe6a2}.app-shell.effect-gold,.app-shell.effect-jackpot{--accent: #ffe6a2}.app-shell.effect-reverse,.app-shell.effect-blackout{--accent: #b49aff}.app-shell.effect-quake,.app-shell.effect-reboost{--accent: #ff5997}.app-shell .topbar{border-bottom-color:#ffffff16}.app-shell .brand-mark{border-radius:50%;color:var(--gold);border-color:#ffe6a266;box-shadow:0 0 25px #ffe6a218}.app-shell .brand p{color:#8e99ae;font-size:8px;letter-spacing:.23em}.app-shell .brand h1{font-size:clamp(23px,3vw,42px);letter-spacing:.09em;text-shadow:none}.app-shell:before{opacity:.1}.app-shell:after{background:radial-gradient(ellipse at 32% 42%,#07344a66,transparent 52%),radial-gradient(ellipse at 90% 95%,#36124144,transparent 50%),#020610dd}.header-controls{display:flex;align-items:center;gap:16px}.sound-toggle{background:transparent;color:#b9c9d9;font:10px DM Mono,monospace;letter-spacing:.12em;cursor:pointer;padding:12px;border:1px solid #ffffff24}.app-shell .status-pill{border-color:#ffffff20;background:transparent;box-shadow:none}.app-shell .workspace{gap:clamp(36px,5vw,80px);padding-top:48px}.app-shell .wheel-panel{perspective:1200px;padding:55px 0 70px}.app-shell .wheel-shake-layer{position:relative;transform-style:preserve-3d}.app-shell .wheel-stage{transform:rotateX(12deg);transition:transform 1.3s cubic-bezier(.2,.7,.2,1),opacity .8s;border-radius:50%;box-shadow:0 18px 0 -4px #05101d,0 21px 0 -4px #217e8b,0 34px 65px #000c}.app-shell .wheel-stage:before{top:2%;right:2%;bottom:2%;left:2%;border-color:#dfffff;box-shadow:0 0 4px #fff,0 0 16px #7bfaff,0 0 50px #0df5,0 0 120px #0df2}.orbital-ring{position:absolute;width:97%;max-width:760px;aspect-ratio:1;border:1px solid #75eaff25;border-radius:50%;pointer-events:none;transform:rotateX(24deg)}.orbital-one{border-right:2px solid #b5ffffbb;border-left:2px solid #b5ffff66;box-shadow:0 0 30px #24eaff12;animation:orbit-drift 26s linear infinite}.orbital-two{width:106%;border-style:dashed;opacity:.45;transform:rotateX(44deg) rotate(-24deg)}.stage-caption{position:absolute;bottom:5px;text-align:center;display:grid;gap:10px;color:#d3e8ed}.stage-caption span{font-size:14px;letter-spacing:.3em}.stage-caption small{color:#677e90;font:8px DM Mono,monospace;letter-spacing:.3em}.app-shell .control-panel{border-color:#a9cfe326;box-shadow:0 30px 80px #0006;background:linear-gradient(155deg,#18263788,#080c1888);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:opacity 1s,transform 1s,filter 1s}.app-shell .eyebrow{color:#95c6cc;letter-spacing:.25em;font-size:9px}.app-shell .panel-heading h2{font-size:27px;text-shadow:none}.app-shell .count-badge{color:var(--gold);border-color:#ffe6a244;box-shadow:none}.app-shell .spin-button{background:linear-gradient(110deg,#fff1bc,#dcaf68);color:#251908;border-color:#fff1bc;text-shadow:none;box-shadow:0 0 28px #efc97625;min-height:68px}.app-shell .spin-button:not(:disabled):hover{box-shadow:0 0 45px #efc97666}.app-shell .button-icon{background:#191d22;color:var(--gold);border-color:#ecd194;box-shadow:none}.app-shell .reset-button{border-color:#ffffff30!important;box-shadow:none}.app-shell textarea{border-color:#c2e6e5;box-shadow:none}.app-shell.is-spinning .control-panel{opacity:.35;transform:translate(8px)}.app-shell[data-phase=brake] .wheel-stage,.app-shell[data-phase=label] .wheel-stage{transform:rotateX(0) scale(1.035)}.app-shell[data-phase=label] .wheel-stage{opacity:.3}.app-shell[data-phase=label] .stage-caption{opacity:0}.app-shell .effect-announcer{top:43%;border:0;background:transparent;box-shadow:none;width:95vw;pointer-events:none;animation:cinema-title 1.5s both}.app-shell .effect-announcer small{font-size:16px;letter-spacing:.65em;margin-bottom:18px}.app-shell .effect-announcer strong{font-size:clamp(32px,7vw,105px);text-shadow:0 0 30px currentColor}.cinema-bars{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;border-top:0 solid #02040b;border-bottom:0 solid #02040b;transition:border-width .8s}.app-shell[data-phase=label] .cinema-bars,.app-shell[data-phase=resolve] .cinema-bars{border-width:4vh 0}.app-shell.effect-active .wheel-stage{transform:rotateX(-5deg) scale(1.04)}.app-shell.effect-active .orbital-one{border-color:var(--accent);box-shadow:0 0 30px var(--accent);animation:orbit-drift 3s linear infinite}.app-shell[data-phase=resolve] .wheel-stage{transform:rotateX(0) scale(1.09)}.app-shell[data-phase=resolve] .screen-fx{opacity:0;transition:opacity .6s;animation:none}.app-shell[data-phase=resolve] .orbital-ring{opacity:0;transition:opacity .6s}.app-shell.has-winner .wheel-stage{transform:rotateX(20deg) scale(.86);opacity:.25}.app-shell .result-card{width:min(90%,650px);min-width:0;padding:28px 14px;border:none;box-shadow:none;background:radial-gradient(ellipse,#040916dd,transparent 72%);transform:translate(-50%,-40%) scale(.8)}.app-shell .result-card.is-visible{transform:translate(-50%,-50%);animation:winner-arrival .9s cubic-bezier(.12,.75,.15,1) both}.app-shell .result-card span{color:var(--gold);letter-spacing:.35em;font-size:10px}.app-shell .result-card strong{font-size:clamp(52px,8vw,120px);line-height:1.2;padding:18px 0;white-space:normal;overflow-wrap:anywhere;text-shadow:0 0 15px #ffe6a288,0 0 65px #edbd6444}.app-shell .result-card p{color:#fff1cd;font-size:19px;letter-spacing:.2em}.app-shell .result-card small{display:block;margin-top:20px;color:#8c9cae;font-size:11px}.arrival-wave{position:fixed;left:32%;top:48%;width:40px;height:40px;border:2px solid var(--gold);border-radius:50%;opacity:0;pointer-events:none;z-index:48}.has-winner .arrival-wave{animation:arrival-wave 1.4s ease-out both}.app-shell .floating-history{top:8px}.app-shell .floating-history-items>span{background:#0b1927;border-color:#d4f5ff30;box-shadow:none}.app-shell .floating-history-items>span.is-new{border-color:#ffe6a277;color:#fff1cd;box-shadow:0 0 20px #ffe6a21a}@keyframes orbit-drift{to{transform:rotateX(24deg) rotate(360deg)}}@keyframes cinema-title{0%{opacity:0;transform:translate(-50%,20px) scale(1.15);filter:blur(12px)}18%,80%{opacity:1;filter:blur(0);transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-15px) scale(.98);filter:blur(4px)}}@keyframes winner-arrival{0%{opacity:0;filter:blur(18px);transform:translate(-50%,-50%) scale(1.4)}to{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}@keyframes arrival-wave{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(45)}}@media(max-width:920px){.app-shell .wheel-panel{padding-top:45px}.header-controls{gap:4px}.sound-toggle{font-size:8px;padding:8px}.arrival-wave{left:50%;top:32%}.app-shell .workspace{padding-top:24px}.app-shell.is-spinning .control-panel{transform:none;opacity:.55}}@media(max-width:520px){.app-shell .brand h1{font-size:22px}.app-shell .status-pill,.app-shell .brand-mark{display:none}.app-shell .result-card strong{font-size:clamp(42px,13vw,75px)}.orbital-two{width:100%}.app-shell .wheel-stage{width:82vw}.stage-caption span{font-size:11px}.app-shell .effect-announcer small{font-size:12px}}.app-shell.effect-rainbow.effect-active .screen-fx,.app-shell.effect-reverse.effect-active .screen-fx{background:none;transform:none;animation:none;opacity:1;overflow:hidden;mix-blend-mode:screen}.app-shell.effect-rainbow .screen-fx:before,.app-shell.effect-reverse .screen-fx:before{content:"";position:absolute;left:34%;top:53%;width:150vmax;height:150vmax;border-radius:50%;background:conic-gradient(from 20deg,transparent 0deg,#42f5ff55 40deg,transparent 80deg,#ff38b966 140deg,transparent 190deg,#ffe69d55 230deg,transparent 280deg,#8b7dff66 330deg,transparent);mask-image:radial-gradient(circle,transparent 3%,#0009 19%,#000 27%,transparent 52%);-webkit-mask-image:radial-gradient(circle,transparent 3%,#0009 19%,#000 27%,transparent 52%);opacity:0;pointer-events:none}.app-shell.effect-rainbow.effect-active .screen-fx:before{animation:aurora-flow 10.5s linear both}.app-shell.effect-reverse.effect-active .screen-fx:before{animation:aurora-flow 10.2s linear reverse both}@keyframes aurora-flow{0%{opacity:0;transform:translate(-50%,-50%) rotate(0)}18%{opacity:.9}78%{opacity:.7}to{opacity:0;transform:translate(-50%,-50%) rotate(200deg)}}.app-shell .wheel-stage .pointer{width:100px;height:60px;right:-24px;top:50%;transform:translate(30%,-50%);filter:drop-shadow(0 5px 5px #0009);animation:none}.app-shell .pointer:before{content:none}.pointer-mount{position:absolute;right:0;top:7px;width:33px;height:46px;border-radius:9px;background:linear-gradient(90deg,#101b24,#49616b 45%,#14232f);border:1px solid #a4c3cd66;box-shadow:inset 0 0 0 4px #0a1420,0 5px 10px #0009}.pointer-pawl{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform-origin:82% 50%;will-change:transform;overflow:visible}@media(max-width:520px){.app-shell .wheel-stage .pointer{width:72px;height:44px;right:-15px}.pointer-mount{height:34px;width:24px;top:5px}}@media(min-width:921px)and (min-height:540px){html,body,#root{height:100dvh;min-height:0;overflow:hidden}.app-shell{height:100dvh;min-height:0;overflow:clip;padding-top:16px;padding-bottom:20px;display:flex;flex-direction:column}.app-shell .topbar{flex:0 0 72px}.app-shell .workspace{flex:1;min-height:0;padding-top:22px;align-items:stretch}.app-shell .wheel-panel{min-height:0;padding:45px 0 48px}.app-shell .wheel-shake-layer{width:min(calc(100% - 100px),calc(100dvh - 230px),780px);aspect-ratio:1}.app-shell .wheel-stage{width:100%}.app-shell .orbital-ring{width:112%;max-width:none}.app-shell .orbital-two{width:118%}.app-shell .control-panel{height:100%;min-height:0;padding:clamp(20px,3vh,36px)}.app-shell textarea{min-height:0;resize:none}.app-shell .stage-caption{bottom:8px}.app-shell .result-card strong{font-size:clamp(42px,10vh,100px);max-height:38vh;overflow:auto}}.app-shell .wheel-panel .result-card{width:100%;max-width:none;padding:20px 8px}.app-shell .wheel-panel .result-card strong{font-size:clamp(76px,min(17vw,23dvh),220px);line-height:1.08;padding:20px 0;max-height:48dvh;overflow:auto;text-overflow:clip;pointer-events:auto;scrollbar-width:thin}.app-shell .wheel-panel .result-card p{font-size:clamp(22px,2.5vw,34px);letter-spacing:.09em}@media(max-width:520px){.app-shell .wheel-panel .result-card strong{font-size:clamp(64px,22vw,110px);max-height:40dvh}.app-shell .wheel-panel .result-card p{font-size:23px}.app-shell .wheel-panel .result-card small{margin-top:12px}}@media(prefers-reduced-motion:reduce){.app-shell .wheel-stage,.app-shell .control-panel{transition:none;transform:none}.orbital-ring,.arrival-wave,.cinema-bars{display:none}}
