@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-0: #05050a;--bg-1: #0b0b16;--bg-2: #12121f;--surface: rgba(255, 255, 255, .04);--surface-border: rgba(255, 255, 255, .09);--text: #f1f0f8;--text-muted: #9490ab;--text-faint: #605c78;--radius: 20px;--ease-harmonic: cubic-bezier(.34, 1.56, .64, 1);--ease-soft: cubic-bezier(.33, 1, .68, 1);--dur-fast: .15s;--dur-base: .3s;--dur-slow: .6s}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-0)}body{position:relative;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg-0);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:-1;background:radial-gradient(60% 50% at 50% 0%,rgba(124,58,237,.16),transparent 70%),radial-gradient(50% 40% at 85% 15%,rgba(34,211,238,.08),transparent 70%),radial-gradient(50% 40% at 15% 85%,rgba(244,114,182,.06),transparent 70%);animation:nebula-drift 48s var(--ease-soft) infinite alternate;pointer-events:none;will-change:transform}@keyframes nebula-drift{0%{transform:translate(0) scale(1)}to{transform:translate(-2.5%,2%) scale(1.06)}}button{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--band-color, #a78bfa);outline-offset:2px;border-radius:4px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:#ffffff1f;outline:none;transition:background var(--dur-base) var(--ease-soft)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--band-color, #a78bfa);box-shadow:0 0 10px var(--band-glow, rgba(167, 139, 250, .5));cursor:pointer;transition:transform var(--dur-fast) var(--ease-harmonic),box-shadow var(--dur-base) var(--ease-soft)}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.3);box-shadow:0 0 16px var(--band-glow, rgba(167, 139, 250, .7))}input[type=range]::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--band-color, #a78bfa);box-shadow:0 0 10px var(--band-glow, rgba(167, 139, 250, .5));cursor:pointer;transition:transform var(--dur-fast) var(--ease-harmonic),box-shadow var(--dur-base) var(--ease-soft)}input[type=range]:hover::-moz-range-thumb{transform:scale(1.15)}input[type=range]:active::-moz-range-thumb{transform:scale(1.3);box-shadow:0 0 16px var(--band-glow, rgba(167, 139, 250, .7))}select{background:var(--bg-2);color:var(--text);border:1px solid var(--surface-border);border-radius:10px;padding:6px 10px;font-size:.85rem;margin-top:8px;transition:border-color var(--dur-base) var(--ease-soft)}select:hover{border-color:color-mix(in srgb,var(--band-color, #a78bfa) 45%,var(--surface-border))}.app-shell{max-width:720px;margin:0 auto;padding:48px 20px 80px;display:flex;flex-direction:column;gap:40px}.hero-header{text-align:center;display:flex;flex-direction:column;gap:10px;animation:panel-rise var(--dur-slow) var(--ease-soft) both}.hero-kicker{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-faint)}.hero-header h1{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:600;line-height:1.25;margin:0;background:linear-gradient(135deg,#f1f0f8,#b9b4d8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{color:var(--text-muted);font-size:.95rem;max-width:480px;margin:0 auto}.metronome-stage{display:flex;flex-direction:column;align-items:center;gap:28px}.focus-mode-toggle{position:absolute;top:0;right:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid var(--surface-border);border-radius:10px;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic)}.focus-mode-toggle:hover{border-color:color-mix(in srgb,var(--band-color, #a78bfa) 45%,var(--surface-border));color:var(--text);transform:translateY(-1px)}.focus-mode-toggle:active{transform:translateY(0) scale(.94)}.metronome-stage.focus-mode{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg-0);justify-content:center}.metronome-stage.focus-mode .metronome-visual-frame{width:min(80vh,90vw,720px)}.metronome-stage.focus-mode .metronome-visual{animation:none}.metronome-stage.focus-mode .tempo-weight-hint{position:fixed;top:2.5vh;left:0;right:0;margin:0;padding:0 max(70px,8vw);z-index:2}.metronome-stage.focus-mode .focus-mode-toggle{position:fixed;top:2.5vh;right:2.5vw;z-index:3}.metronome-stage.focus-mode .stage-readout{position:fixed;left:0;right:0;bottom:3vh;margin:0;justify-content:center;z-index:2}.metronome-visual-frame{position:relative;width:min(88vw,380px);aspect-ratio:1}.metronome-visual{position:relative;width:100%;height:100%;animation:panel-rise var(--dur-slow) var(--ease-soft) both;animation-delay:.08s}.metronome-waveform{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.metronome-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;perspective:900px}.ambient-particles{pointer-events:none}.ambient-particles circle{fill:var(--band-color, #a78bfa);animation:ambient-particle-wiggle var(--wiggle-dur, 6s) ease-in-out infinite;animation-delay:var(--wiggle-delay, 0s)}@keyframes ambient-particle-wiggle{0%,to{transform:translate(0)}25%{transform:translate(2px,-3px)}50%{transform:translate(-2.5px,1px)}75%{transform:translate(1.5px,2.5px)}}.pyramid-hit-target{fill:transparent;stroke:none;cursor:pointer;pointer-events:all;outline:none}.pyramid-outline{fill:none;stroke:#ffffff29;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;animation:pyramid-breathe var(--mood-breathe-dur, 7s) var(--ease-soft) infinite;pointer-events:none}.pyramid-base-edge,.pyramid-mouth{fill:none;stroke:#ffffff29;stroke-width:1.5;stroke-linecap:round;pointer-events:none;transition:opacity var(--dur-slow) var(--ease-soft)}@keyframes pyramid-breathe{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 7px var(--band-glow, transparent))}}.pyramid-group{transform-box:fill-box;transform-origin:center}@keyframes pyramid-spin{0%{transform:rotateY(0);filter:drop-shadow(0 0 0 transparent);animation-timing-function:ease-in}14%{transform:rotateY(-14deg);filter:drop-shadow(0 0 0 transparent);animation-timing-function:var(--pyramid-spin-ease, var(--ease-harmonic))}40%{filter:drop-shadow(0 0 22px var(--band-glow, rgba(167, 139, 250, .9)))}to{transform:rotateY(var(--pyramid-spin-end, 720deg));filter:drop-shadow(0 0 0 transparent)}}.pyramid-group.pyramid-spin{animation:pyramid-spin var(--pyramid-spin-dur, .9s) linear 1}.metronome-arm-line{fill:none;stroke:var(--band-color, #a78bfa);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--band-glow, rgba(167, 139, 250, .5)));transition:stroke .6s ease}.metronome-pivot-dot{fill:#ffffff59}.tempo-weight{cursor:grab;touch-action:none;pointer-events:all}.tempo-weight:active{cursor:grabbing}.tempo-weight-body{filter:drop-shadow(0 0 6px var(--band-glow, rgba(167, 139, 250, .5)));transition:filter var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic);transform-box:fill-box;transform-origin:center}.tempo-weight:hover .tempo-weight-body{filter:drop-shadow(0 0 11px var(--band-glow, rgba(167, 139, 250, .75)));transform:scale(1.1)}.tempo-weight:active .tempo-weight-body{transform:scale(1.16)}.tempo-weight-hit-target{fill:#0000;pointer-events:all}.tempo-weight-glaze{fill:#ffffff26;pointer-events:none}.tempo-weight-seed{fill:#fff8e4d9;pointer-events:none}.tempo-weight-vein{stroke:#00000040;stroke-width:1;pointer-events:none}.tempo-weight-hint{text-align:center;margin:10px 0 0;padding:0 44px;font-size:.76rem;color:var(--text-faint)}.metronome-pendant{cursor:pointer;outline:none}.pendant-glyph{filter:drop-shadow(0 0 8px var(--band-glow, rgba(167, 139, 250, .6)));transition:filter var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic);transform-box:fill-box;transform-origin:center}.pendant-badge{fill:#080a1459;stroke-width:2.5;opacity:.9;pointer-events:none}.metronome-pendant:hover .pendant-glyph,.metronome-pendant:focus-visible .pendant-glyph{filter:drop-shadow(0 0 12px var(--band-glow, rgba(167, 139, 250, .8)));transform:scale(1.08)}.pendant-hit-target{fill:#0000;pointer-events:all}.eye-outer{fill:#ffffff08;stroke:#ffffff2e;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:eye-breathe var(--mood-breathe-dur, 5.5s) var(--ease-soft) infinite;cursor:pointer;outline:none}.eye-outer:focus-visible{stroke:var(--band-color, #a78bfa);stroke-width:2}.pyramid-hit-target:focus-visible{stroke:var(--band-color, #a78bfa);stroke-width:2}@keyframes eye-wink{0%,to{transform:scaleY(1)}40%{transform:scaleY(.15)}70%{transform:scaleY(1.08)}}.eye-outer.eye-wink{animation:eye-wink .25s var(--ease-harmonic) 1}@keyframes eye-blink{0%,to{transform:scaleY(1)}45%{transform:scaleY(.1)}}.metronome-eye.eye-blink{animation:eye-blink .26s var(--ease-harmonic) 1;transform-box:fill-box;transform-origin:center}.eye-iris{fill:none;stroke:var(--band-color, #a78bfa);stroke-width:2;filter:drop-shadow(0 0 10px var(--band-glow, rgba(167, 139, 250, .55)));transition:stroke var(--dur-slow) var(--ease-soft);transform-box:fill-box;transform-origin:center;animation:eye-breathe var(--mood-breathe-dur, 5.5s) var(--ease-soft) infinite;animation-delay:-1.8s}.eye-pupil{fill:var(--text);opacity:.85}.eye-pupil.tracking{transition:cx .28s var(--ease-soft),cy .28s var(--ease-soft)}.eye-pupil.tracking.wandering{transition:cx 1.6s var(--ease-soft),cy 1.6s var(--ease-soft)}.eye-timer-ticks,.eye-timer-ring{opacity:0;transition:opacity var(--dur-slow) var(--ease-soft);pointer-events:none}.metronome-eye.has-session .eye-timer-ticks{opacity:1}.metronome-eye.has-session .eye-timer-ring{opacity:.8}.eye-timer-tick{stroke:#ffffff47;stroke-width:1;stroke-linecap:round}.eye-timer-tick-major{stroke:#ffffff80;stroke-width:1.5}.eye-timer-ring{fill:var(--band-color, #a78bfa);filter:drop-shadow(0 0 6px var(--band-glow, rgba(167, 139, 250, .5)))}@keyframes eye-breathe{0%,to{transform:scale(1)}50%{transform:scale(var(--mood-breathe-scale, 1.035))}}.neuron-node{animation:neuron-pulse-idle 3.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box;cursor:pointer}.neuron-connector{transition:opacity var(--dur-base) var(--ease-soft),filter var(--dur-base) var(--ease-soft)}.neuron-connector-active{opacity:.9;filter:drop-shadow(0 0 4px var(--band-glow, rgba(167, 139, 250, .6)));transition:opacity var(--dur-fast) var(--ease-harmonic),filter var(--dur-fast) var(--ease-harmonic)}.neuron-cluster .neuron-node{animation:neuron-pulse-tick .55s ease-out}@keyframes neuron-pulse-idle{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.15)}}@keyframes neuron-pulse-tick{0%{opacity:1;transform:scale(1.9)}to{opacity:.55;transform:scale(1)}}.stage-readout{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;animation:panel-rise var(--dur-slow) var(--ease-soft) both;animation-delay:.16s;margin-top:14px}.state-badge{font-size:.82rem;padding:6px 14px;border-radius:999px;border:1px solid var(--band-color, #a78bfa);color:var(--band-color, #a78bfa);background:color-mix(in srgb,var(--band-color, #a78bfa) 12%,transparent);transition:border-color var(--dur-slow) var(--ease-soft),color var(--dur-slow) var(--ease-soft),background var(--dur-slow) var(--ease-soft)}.play-toggle{background:var(--text);color:var(--bg-0);border:none;border-radius:999px;padding:12px 28px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform var(--dur-fast) var(--ease-harmonic),box-shadow var(--dur-base) var(--ease-soft)}.play-toggle:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 8px 24px #00000059}.play-toggle:active{transform:translateY(0) scale(.97)}.play-toggle.playing{animation:play-pulse 2.4s var(--ease-soft) infinite}@keyframes play-pulse{0%,to{box-shadow:0 0 0 0 var(--band-glow, transparent)}50%{box-shadow:0 0 0 7px transparent,0 0 18px 2px var(--band-glow, transparent)}}.visualizer-panel{width:100%;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:18px 20px 20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:panel-rise var(--dur-slow) var(--ease-soft) both;animation-delay:.24s;transition:border-color var(--dur-base) var(--ease-soft)}.visualizer-panel:hover,.control-panel:hover{border-color:color-mix(in srgb,var(--band-color, #a78bfa) 20%,var(--surface-border))}@keyframes panel-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.visualizer-panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.visualizer-mode-toggle{display:flex;gap:6px;background:#ffffff05;border:1px solid var(--surface-border);border-radius:10px;padding:3px}.visualizer-mode-toggle button{padding:5px 12px;border-radius:8px;border:none;background:none;color:var(--text-faint);font-size:.75rem;font-weight:500;cursor:pointer;transition:background var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic)}.visualizer-mode-toggle button:hover{color:var(--text)}.visualizer-mode-toggle button:active{transform:scale(.94)}.visualizer-mode-toggle button.active{background:color-mix(in srgb,var(--chip-color, #a78bfa) 16%,transparent);color:var(--chip-color, #a78bfa)}.visualizer-canvas-wrap{position:relative;width:100%;height:160px;border-radius:12px;border:1px solid var(--surface-border);background:#00000040;overflow:hidden}.visualizer-canvas{width:100%;height:100%;display:block}.visualizer-inactive-note{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--text-faint);font-family:monospace}.control-panel{width:100%;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:22px 24px;display:flex;flex-direction:column;gap:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:panel-rise var(--dur-slow) var(--ease-soft) both;animation-delay:.32s;transition:border-color var(--dur-base) var(--ease-soft)}.control-group{display:flex;flex-direction:column;gap:8px}.control-row-header{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem}.control-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.control-value{font-variant-numeric:tabular-nums;color:var(--text-muted)}.vibe-greeting{font-size:.92rem;letter-spacing:normal;text-transform:none;color:var(--text);font-weight:500}.control-hint{margin:0;font-size:.76rem;line-height:1.5;color:var(--text-faint)}.control-group-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.control-group-summary::-webkit-details-marker{display:none}.control-group-summary:hover .control-label{color:var(--text-muted)}.control-group-chevron{color:var(--text-faint);font-size:.7rem;transition:transform var(--dur-base) var(--ease-soft)}details[open]>.control-group-summary .control-group-chevron,.control-group-chevron-open{transform:rotate(90deg)}.control-group-body{display:flex;flex-direction:column;gap:8px;padding-top:10px}.mixer-expand-toggle{align-self:flex-start;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text-muted);font-size:.72rem;letter-spacing:.06em;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft)}.mixer-expand-toggle:hover{color:var(--text)}.mixer-expand-content{display:flex;flex-direction:column;gap:8px}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset-chip{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:12px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text-muted);font-size:.82rem;font-weight:500;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft),background var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic)}.preset-chip:hover{border-color:color-mix(in srgb,var(--chip-color) 50%,var(--surface-border));color:var(--text);transform:translateY(-1px)}.preset-chip:active{transform:translateY(0) scale(.96)}.preset-chip.active{border-color:var(--chip-color);color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 10%,transparent)}.preset-chip-range{font-size:.65rem;color:var(--text-faint)}.custom-preset-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.custom-preset-chip{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 14px}.custom-preset-apply{border:none;background:none;color:inherit;font:inherit;cursor:pointer;padding:0}.custom-preset-apply:hover{color:var(--chip-color, #a78bfa)}.custom-preset-delete{border:none;background:none;color:var(--text-faint);font-size:.95rem;line-height:1;width:18px;height:18px;border-radius:50%;cursor:pointer;transition:color var(--dur-fast) var(--ease-soft),background var(--dur-fast) var(--ease-soft)}.custom-preset-delete:hover{color:var(--text);background:#ffffff14}.custom-preset-add{cursor:pointer;color:var(--text-faint);border-style:dashed}.custom-preset-add:hover{color:var(--text)}.custom-preset-naming{display:flex;align-items:center;gap:6px;padding:4px 6px 4px 12px}.custom-preset-name-input{background:none;border:none;border-bottom:1px solid var(--surface-border);color:var(--text);font:inherit;font-size:.82rem;width:110px;padding:2px 0}.custom-preset-name-input:focus{outline:none;border-bottom-color:var(--chip-color, #a78bfa)}.custom-preset-confirm{border:none;background:none;color:var(--chip-color, #a78bfa);font-size:.78rem;font-weight:600;cursor:pointer;padding:0 4px}.tick-sound-select{align-self:flex-start}.copy-link-row{display:flex;align-items:center;gap:8px;margin-top:2px}.copy-link-btn{padding:7px 14px;border-radius:10px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text-muted);font-size:.78rem;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft),background var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic)}.copy-link-btn:hover{color:var(--text);transform:translateY(-1px)}.copy-link-btn:active{transform:translateY(0) scale(.96)}.copy-link-fallback{flex:1;min-width:0;padding:6px 10px;border-radius:8px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text-muted);font-size:.72rem}.ear-mode-row{display:flex;gap:6px}.ear-mode-btn{flex:1;padding:7px 8px;border-radius:10px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text-muted);font-size:.76rem;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft),background var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic)}.ear-mode-btn:hover{color:var(--text);transform:translateY(-1px)}.ear-mode-btn:active{transform:translateY(0) scale(.96)}.ear-mode-btn.active{border-color:var(--chip-color, #a78bfa);color:var(--chip-color, #a78bfa);background:color-mix(in srgb,var(--chip-color, #a78bfa) 10%,transparent)}.haptics-toggle{align-self:flex-start;padding:7px 14px;border-radius:10px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text-muted);font-size:.78rem;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft),background var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic)}.haptics-toggle:hover{color:var(--text);transform:translateY(-1px)}.haptics-toggle:active{transform:translateY(0) scale(.96)}.haptics-toggle.active{border-color:var(--chip-color, #a78bfa);color:var(--chip-color, #a78bfa);background:color-mix(in srgb,var(--chip-color, #a78bfa) 10%,transparent)}.mixer-row{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:12px;font-size:.82rem;color:var(--text-muted)}.mixer-row-master span{color:var(--text);font-weight:600}.mixer-divider{height:1px;background:var(--surface-border);margin:2px 0 4px}.noise-type-row{display:flex;gap:6px;margin-top:2px}.noise-type-btn{flex:1;padding:7px 8px;border-radius:10px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text-muted);font-size:.76rem;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft),background var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic)}.noise-type-btn:hover{color:var(--text);transform:translateY(-1px)}.noise-type-btn:active{transform:translateY(0) scale(.96)}.noise-type-btn.active{border-color:var(--chip-color, #a78bfa);color:var(--chip-color, #a78bfa);background:color-mix(in srgb,var(--chip-color, #a78bfa) 10%,transparent)}.session-timer{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.duration-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.duration-chip{min-width:72px;align-items:center;text-align:center}.session-countdown{margin:0;font-size:1.6rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:.02em}.session-status{margin:0;font-size:.8rem;color:var(--text-faint);text-align:center;transition:color var(--dur-slow) var(--ease-soft)}.session-status-active{color:var(--text-muted)}.session-status-fading{color:color-mix(in srgb,var(--band-color, #a78bfa) 70%,var(--text-muted))}.session-status-ended{color:var(--band-color, #a78bfa)}.coming-soon-banner{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;border-top:1px solid var(--surface-border);padding-top:20px}.coming-soon-ufo-track{width:60px;height:40px}.coming-soon-ufo{animation:ufo-drift 9s var(--ease-soft) infinite;transform-origin:center}.ufo-saucer{fill:#ffffff14;stroke:var(--text-faint);stroke-width:1}.ufo-dome{fill:color-mix(in srgb,var(--band-color, #a78bfa) 30%,transparent);stroke:var(--band-color, #a78bfa);stroke-width:1}.ufo-pilot-pyramid{fill:none;stroke:#ffffff80;stroke-width:3;stroke-linejoin:round}.ufo-pilot-eye-outer{fill:#ffffff14;stroke:#fff6;stroke-width:1.5}.ufo-pilot-eye-pupil{fill:var(--band-color, #a78bfa)}.ufo-light{fill:var(--band-color, #a78bfa);animation:ufo-light-blink 1.4s ease-in-out infinite}.coming-soon-text{margin:0;font-size:.82rem;color:var(--text-faint);text-align:center}@keyframes ufo-drift{0%{transform:translate(0) rotate(0)}25%{transform:translate(10px,-6px) rotate(3deg)}50%{transform:translateY(-10px) rotate(0)}75%{transform:translate(-10px,-4px) rotate(-3deg)}to{transform:translate(0) rotate(0)}}@keyframes ufo-light-blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes session-bloom{0%,to{filter:drop-shadow(0 0 0 transparent)}30%{filter:drop-shadow(0 0 34px var(--band-glow, rgba(167, 139, 250, .8)))}}.metronome-stage.session-ending .metronome-visual{animation:session-bloom 2.6s var(--ease-soft) 1}.account-poll{margin-top:8px;gap:14px;text-align:left}.poll-question{margin:0;font-size:.95rem;color:var(--text);line-height:1.5}.poll-options{display:flex;flex-wrap:wrap;gap:10px}.poll-vote-btn{flex:1 1 200px;padding:12px 16px;border-radius:14px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text);font-size:.86rem;font-weight:600;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic),background var(--dur-base) var(--ease-soft),opacity var(--dur-base) var(--ease-soft)}.poll-vote-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--band-color, #a78bfa) 45%,var(--surface-border));transform:translateY(-2px)}.poll-vote-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.poll-vote-btn.selected{border-color:var(--band-color, #a78bfa);background:color-mix(in srgb,var(--band-color, #a78bfa) 12%,transparent)}.poll-vote-btn:disabled{cursor:default;opacity:.6}.poll-vote-btn.selected:disabled{opacity:1}.poll-results{display:flex;flex-direction:column;gap:8px}.poll-result-row{display:grid;grid-template-columns:minmax(120px,auto) 1fr 80px;align-items:center;gap:10px;font-size:.78rem}@media (max-width: 520px){.poll-result-row{grid-template-columns:1fr;gap:4px}}.poll-result-label{color:var(--text-muted)}.poll-result-track{height:6px}.poll-result-fill-yes{background:var(--band-color, #a78bfa)}.poll-result-fill-no{background:var(--text-faint)}.poll-result-value{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}@media (max-width: 520px){.poll-result-value{text-align:left}}.app-footer{text-align:center;color:var(--text-faint);font-size:.78rem}.built-by-link{display:inline-flex;align-items:center;gap:5px;margin-top:8px;color:var(--text-faint);font-size:.72rem;text-decoration:none;transition:color var(--dur-base) var(--ease-soft)}.built-by-link:hover{color:var(--text-muted)}.built-by-link img{border-radius:3px}.crash-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.crash-card{background:var(--bg-2);border:1px solid var(--surface-border);border-radius:var(--radius);padding:32px 36px;max-width:480px;text-align:center}.crash-emoji{font-size:2rem}.crash-reassurance{color:var(--text-muted);font-size:.9rem;line-height:1.5}.crash-actions{display:flex;flex-direction:column;gap:10px;margin:18px 0}.btn{border-radius:999px;padding:10px 20px;font-size:.9rem;font-weight:600;border:none;cursor:pointer}.btn-primary{background:var(--text);color:var(--bg-0)}.btn-secondary{background:#ffffff14;color:var(--text)}.btn-large{padding:12px 24px}.crash-details{color:var(--text-faint);font-size:.78rem;text-align:left}@media (prefers-reduced-motion: reduce){.neuron-node,body:before,.pyramid-outline,.eye-outer,.eye-iris,.play-toggle.playing,.visualizer-panel,.control-panel,.hero-header,.metronome-visual,.stage-readout,.coming-soon-ufo,.ufo-light,.metronome-eye.eye-blink,.focus-dashboard,.streak-flame-lit,.unlock-banner,.fractal-tree-sway,.fractal-tree-fruit,.medallion-picker{animation:none}.ambient-particles{display:none}.eye-pupil.tracking,.eye-pupil.tracking.wandering,.eye-timer-ticks,.eye-timer-ring{transition:none}.metronome-stage.session-ending .metronome-visual{animation:session-bloom-fade 2.6s ease-out 1}}@keyframes session-bloom-fade{0%,to{opacity:1}30%{opacity:.7}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus-dashboard{width:100%;display:flex;flex-direction:column;gap:18px;border-top:1px solid var(--surface-border);padding-top:28px;animation:panel-rise var(--dur-slow) var(--ease-soft) both}.focus-dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.focus-dashboard-header h2{margin:4px 0 0;font-size:1.3rem;font-weight:600}.streak-pill{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid var(--surface-border);background:#ffffff08}.streak-flame{width:10px;height:10px;border-radius:50%;background:var(--text-faint);transition:background var(--dur-slow) var(--ease-soft),box-shadow var(--dur-slow) var(--ease-soft)}.streak-flame-lit{background:#fb923c;box-shadow:0 0 10px #fb923cbf;animation:streak-flame-pulse 2.4s var(--ease-soft) infinite}@keyframes streak-flame-pulse{0%,to{box-shadow:0 0 8px #fb923c99}50%{box-shadow:0 0 14px #fb923cf2}}.streak-count{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.streak-label{font-size:.76rem;color:var(--text-muted)}.unlock-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--band-color, #a78bfa) 45%,var(--surface-border));background:color-mix(in srgb,var(--band-color, #a78bfa) 10%,transparent);font-size:.86rem;color:var(--text);animation:unlock-banner-in var(--dur-slow) var(--ease-harmonic) both}.unlock-banner-glyphs{display:flex;gap:4px;flex-shrink:0}@keyframes unlock-banner-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.focus-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}@media (max-width: 640px){.focus-dashboard-grid{grid-template-columns:1fr}}.focus-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:20px 22px;display:flex;flex-direction:column;gap:12px}.tree-card{align-items:center;text-align:center}.fractal-tree{width:min(100%,220px);aspect-ratio:1;filter:drop-shadow(0 0 10px var(--tree-glow, transparent))}.fractal-tree-ground-shadow{fill:#00000047}.fractal-tree-sway{transform-box:view-box;transform-origin:50% 100%;animation:fractal-tree-sway 9s var(--ease-soft) infinite}@keyframes fractal-tree-sway{0%,to{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}.fractal-tree-fruit{animation:fractal-fruit-bob 3.4s var(--ease-soft) infinite;transform-box:fill-box;transform-origin:center}@keyframes fractal-fruit-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.tree-card-stage{position:relative;display:flex;justify-content:center;width:100%}.watering-can-wrap{position:absolute;right:8%;bottom:2%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px}.watering-can-wrap.pouring{animation:watering-can-travel 3s var(--ease-soft) 1}@keyframes watering-can-travel{0%{right:8%;bottom:2%}15%{right:58%;bottom:56%}78%{right:20%;bottom:56%}to{right:8%;bottom:2%}}.watering-can-button{background:none;border:none;padding:4px;margin:0;cursor:pointer;line-height:0;border-radius:50%;transition:transform var(--dur-fast) var(--ease-harmonic)}.watering-can-button:hover{transform:scale(1.08)}.watering-can-button:active{transform:scale(.94)}.watering-can-svg{width:34px;height:34px;overflow:visible;filter:drop-shadow(0 0 4px rgba(0,0,0,.35))}.watering-can-body{fill:#ffffff14;stroke:var(--text-faint);stroke-width:2}.watering-can-outline{stroke:var(--text-faint);stroke-width:2}.watering-can-rim{fill:#0000002e}.watering-can-tilt-group{transform-box:fill-box;transform-origin:25% 55%}.watering-can-wrap.pouring .watering-can-tilt-group{animation:watering-can-tilt 3s var(--ease-soft) 1}@keyframes watering-can-tilt{0%,8%{transform:rotate(0)}18%{transform:rotate(-34deg)}80%{transform:rotate(-34deg)}92%,to{transform:rotate(0)}}.watering-can-stream{stroke:var(--band-color, #7dd3fc);stroke-width:1.4;stroke-linecap:round;fill:none;opacity:0}.watering-can-wrap.pouring .watering-can-stream{animation:watering-can-stream-fade 3s ease-in-out 1}@keyframes watering-can-stream-fade{0%,16%{opacity:0}24%,76%{opacity:.85}88%,to{opacity:0}}.watering-can-droplet{fill:var(--band-color, #7dd3fc);opacity:0}.watering-can-wrap.pouring .watering-can-droplet-1{animation:watering-can-drop .7s ease-in .65s 1}.watering-can-wrap.pouring .watering-can-droplet-2{animation:watering-can-drop .72s ease-in .94s 1}.watering-can-wrap.pouring .watering-can-droplet-3{animation:watering-can-drop .68s ease-in 1.23s 1}.watering-can-wrap.pouring .watering-can-droplet-4{animation:watering-can-drop .74s ease-in 1.52s 1}.watering-can-wrap.pouring .watering-can-droplet-5{animation:watering-can-drop .7s ease-in 1.81s 1}.watering-can-wrap.pouring .watering-can-droplet-6{animation:watering-can-drop .66s ease-in 2.1s 1}@keyframes watering-can-drop{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(82px)}}.watering-can-bonus-callout{font-size:.7rem;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--surface-border);border-radius:999px;padding:3px 10px;white-space:nowrap;animation:watering-can-callout-in var(--dur-base) var(--ease-harmonic) both}@keyframes watering-can-callout-in{0%{opacity:0;transform:translateY(4px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.tree-card-caption{display:flex;align-items:baseline;gap:8px}.tree-stage-label{font-weight:600;color:var(--text)}.tree-growth-pct{font-size:.78rem;color:var(--text-faint);font-variant-numeric:tabular-nums}.tree-mystical-quote{font-size:.76rem;font-style:italic;color:var(--text-faint);max-width:30ch;margin:0}.tree-card-info{width:100%}.tree-card-info-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0 auto;border-radius:50%;border:1px solid var(--surface-border);color:var(--text-faint);font-size:.72rem;font-style:normal;font-weight:700;cursor:pointer;list-style:none;transition:border-color var(--dur-base) var(--ease-soft),color var(--dur-base) var(--ease-soft)}.tree-card-info-icon::-webkit-details-marker{display:none}.tree-card-info-icon:hover,.tree-card-info[open] .tree-card-info-icon{border-color:color-mix(in srgb,var(--band-color, #a78bfa) 55%,var(--surface-border));color:var(--text)}.tree-card-info .control-hint{margin-top:8px}.stats-card .band-duration-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.band-duration-row{display:grid;grid-template-columns:56px 1fr 52px;align-items:center;gap:10px;font-size:.8rem}.band-duration-label{font-weight:600}.band-duration-track{height:6px;border-radius:999px;background:#ffffff0f;overflow:hidden}.band-duration-fill{height:100%;border-radius:999px;transition:width var(--dur-slow) var(--ease-soft)}.band-duration-value{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.streak-detail-row{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-muted)}.medallion-collection{gap:14px}.medallion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.medallion-grid-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border-radius:14px;border:1px solid var(--surface-border);background:#ffffff05;color:var(--text-muted);cursor:pointer;text-align:center;transition:border-color var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic),background var(--dur-base) var(--ease-soft)}.medallion-grid-item:hover:not(:disabled){border-color:color-mix(in srgb,var(--band-color, #a78bfa) 45%,var(--surface-border));transform:translateY(-2px)}.medallion-grid-item:active:not(:disabled){transform:translateY(0) scale(.97)}.medallion-grid-item.selected{border-color:var(--band-color, #a78bfa);background:color-mix(in srgb,var(--band-color, #a78bfa) 10%,transparent)}.medallion-grid-item.locked,.medallion-grid-item:disabled{cursor:default}.medallion-grid-name{font-size:.78rem;font-weight:600;color:var(--text)}.medallion-grid-item.locked .medallion-grid-name{color:var(--text-faint)}.medallion-grid-blurb{font-size:.68rem;line-height:1.35;color:var(--text-faint)}.medallion-picker{position:absolute;left:50%;bottom:-8px;transform:translate(-50%,100%);z-index:5;width:min(280px,88vw);background:var(--bg-2);border:1px solid var(--surface-border);border-radius:16px;padding:12px 14px 14px;box-shadow:0 12px 32px #00000073;animation:unlock-banner-in var(--dur-base) var(--ease-harmonic) both}.medallion-picker-header{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px}.medallion-picker-close{background:none;border:none;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:2px 6px}.medallion-picker-close:hover{color:var(--text)}.medallion-picker-row{display:flex;flex-wrap:wrap;gap:8px}.medallion-picker-item{background:#ffffff08;border:1px solid var(--surface-border);border-radius:10px;padding:4px;cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic)}.medallion-picker-item:hover{transform:translateY(-1px)}.medallion-picker-item.selected{border-color:var(--band-color, #a78bfa)}.medallion-picker-hint{margin:10px 0 0;font-size:.72rem;line-height:1.4;color:var(--text-faint)}.rarity-common{--rarity-color: #94a3b8}.rarity-uncommon{--rarity-color: #2dd4bf}.rarity-rare{--rarity-color: #38bdf8}.rarity-epic{--rarity-color: #c084fc}.rarity-legendary{--rarity-color: #f5b942}.mystery-fruit-ground-card{gap:10px}.mystery-fruit-ground{display:flex;flex-wrap:wrap;gap:10px}.mystery-fruit-ball{width:46px;height:46px;flex:0 0 auto;border-radius:50%;border:1px solid var(--surface-border);background:radial-gradient(circle at 35% 30%,#ffffff1a,#ffffff05);color:var(--text-muted);font-weight:700;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;animation:mystery-fruit-drop .5s var(--ease-harmonic) both,mystery-fruit-bob 3.2s var(--ease-soft) .5s infinite;transition:border-color var(--dur-base) var(--ease-soft),transform var(--dur-fast) var(--ease-harmonic),color var(--dur-base) var(--ease-soft)}.mystery-fruit-ball:hover{border-color:color-mix(in srgb,var(--band-color, #a78bfa) 55%,var(--surface-border));color:var(--text);transform:translateY(-2px) scale(1.05)}.mystery-fruit-ball:active{transform:translateY(0) scale(.94)}@keyframes mystery-fruit-drop{0%{opacity:0;transform:translateY(-28px)}60%{opacity:1;transform:translateY(4px)}to{transform:translateY(0)}}@keyframes mystery-fruit-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.mystery-rarity-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rarity-color);border:1px solid color-mix(in srgb,var(--rarity-color) 55%,transparent);background:color-mix(in srgb,var(--rarity-color) 14%,transparent)}.mystery-grid-chip{margin-top:2px}.mystery-collection .control-group-body{gap:14px}.mystery-roll-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#020208b8;padding:20px;animation:unlock-banner-in var(--dur-base) var(--ease-soft) both}.mystery-roll-modal{position:relative;width:min(340px,100%);background:var(--bg-2);border:1px solid color-mix(in srgb,var(--rarity-color, #a78bfa) 40%,var(--surface-border));border-radius:var(--radius);padding:26px 22px 22px;box-shadow:0 20px 60px #0000008c;display:flex;flex-direction:column;align-items:center;transition:border-color var(--dur-slow) var(--ease-soft)}.mystery-roll-modal.revealed{border-color:color-mix(in srgb,var(--rarity-color, #a78bfa) 70%,var(--surface-border));box-shadow:0 20px 60px #0000008c,0 0 46px color-mix(in srgb,var(--rarity-color, #a78bfa) 35%,transparent)}.mystery-roll-close{position:absolute;top:10px;right:10px}.mystery-reel-viewport{position:relative;width:100%;height:84px;overflow:hidden;border-radius:14px;background:#00000059;border:1px solid var(--surface-border);padding:0;cursor:pointer}.mystery-reel-track{position:absolute;top:0;left:50%;height:100%;display:flex}.mystery-reel-cell{flex:0 0 84px;width:84px;height:84px;display:flex;align-items:center;justify-content:center}.mystery-reel-marker{position:absolute;top:0;left:50%;transform:translate(-50%);width:84px;height:100%;border-left:1px solid color-mix(in srgb,var(--band-color, #a78bfa) 55%,transparent);border-right:1px solid color-mix(in srgb,var(--band-color, #a78bfa) 55%,transparent);pointer-events:none}.mystery-reveal{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;animation:mystery-reveal-in var(--dur-slow) var(--ease-harmonic) both}@keyframes mystery-reveal-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.mystery-reveal-glow{position:absolute;top:-10px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--rarity-color, #a78bfa) 45%,transparent) 0%,transparent 70%);filter:blur(6px);pointer-events:none}.rarity-legendary .mystery-reveal-glow{animation:mystery-legendary-pulse 1.8s var(--ease-soft) infinite}@keyframes mystery-legendary-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.mystery-reveal-icon{position:relative;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--rarity-color, #a78bfa) 55%,transparent))}.mystery-reveal-name{margin:4px 0 0;font-size:1.15rem;color:var(--text)}.mystery-reveal-close{margin-top:8px}.mystery-anim-spin,.mystery-anim-spin-reverse{transform-box:fill-box;transform-origin:center}.mystery-anim-spin{animation:mystery-spin 9s linear infinite}.mystery-anim-spin-reverse{animation:mystery-spin-reverse 11s linear infinite}@keyframes mystery-spin{to{transform:rotate(360deg)}}@keyframes mystery-spin-reverse{to{transform:rotate(-360deg)}}.mystery-anim-sway{transform-box:fill-box;transform-origin:50% 15%;animation:mystery-sway 3.4s var(--ease-soft) infinite}@keyframes mystery-sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.mystery-anim-drift{transform-box:fill-box;animation:mystery-drift 2.6s var(--ease-soft) infinite}@keyframes mystery-drift{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.mystery-anim-blink{transform-box:fill-box;transform-origin:center;animation:mystery-blink 4.4s ease-in-out infinite}@keyframes mystery-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.15)}}@media (prefers-reduced-motion: reduce){.mystery-fruit-ball,.mystery-roll-backdrop,.mystery-reveal,.mystery-reveal-glow,.mystery-anim-spin,.mystery-anim-spin-reverse,.mystery-anim-sway,.mystery-anim-drift,.mystery-anim-blink{animation:none}}
