*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,:before,:after{box-sizing:border-box;border-color:var(--border)}html{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{background-color:var(--background);color:var(--foreground);min-height:100dvh;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 20% -10%,#ff2e931f 0%,#0000 60%),radial-gradient(60% 40% at 80% 110%,#00e5ff1a 0%,#0000 60%),radial-gradient(50% 60%,#7a2bff0f 0%,#0000 70%);position:fixed;inset:0}body>*{z-index:1;position:relative}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.card{background:var(--gradient-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.card:before{content:"";background:var(--gradient-card-shine);pointer-events:none;border-radius:inherit;position:absolute;inset:0}.btn-ghost{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);color:var(--foreground);font-family:var(--font-display);font-size:var(--text-base);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-snappy), color var(--duration-fast) var(--ease-snappy), transform var(--duration-fast) var(--ease-snappy);background:0 0;display:inline-flex}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost:active{transform:scale(.98)}.label{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--muted-foreground);font-weight:600}.eq-bar{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.eq-bar span{background:var(--accent);transform-origin:bottom;border-radius:2px;width:3px}.eq-bar.playing span:first-child{animation:.9s ease-in-out infinite eq-bounce}.eq-bar.playing span:nth-child(2){animation:.9s ease-in-out .18s infinite eq-bounce}.eq-bar.playing span:nth-child(3){animation:.9s ease-in-out .34s infinite eq-bounce}.eq-bar:not(.playing) span{height:3px}@keyframes eq-bounce{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.\!block{display:block!important}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.max-w-6xl{max-width:72rem}.items-end{align-items:flex-end}.overflow-hidden{overflow:hidden}.bg-background{--tw-bg-opacity:1;background-color:rgb(10 6 19/var(--tw-bg-opacity,1))}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pb-20{padding-bottom:5rem}.font-body{font-family:Inter,sans-serif}.font-display{font-family:Anton,sans-serif}.font-mono{font-family:JetBrains Mono,monospace}.uppercase{text-transform:uppercase}.tracking-widest2{letter-spacing:.2em}.text-accent{--tw-text-opacity:1;color:rgb(0 229 255/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:rgb(245 240 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.scroll-smooth{scroll-behavior:smooth}.text-balance{text-wrap:balance}:root{--color-pink-500:#ff2e93;--color-pink-300:#ff6fb5;--color-cyan-400:#00e5ff;--color-cyan-200:#6ff2ff;--color-violet-600:#7a2bff;--color-gold-400:#ffd23f;--color-void:#0a0613;--color-deep-surface:#140a24;--color-raised:#1e1035;--color-snow:#f5f0ff;--color-mist:#bcb6d4;--background:var(--color-void);--surface:var(--color-deep-surface);--surface-raised:var(--color-raised);--foreground:var(--color-snow);--muted-foreground:var(--color-mist);--primary:var(--color-pink-500);--primary-glow:var(--color-pink-300);--accent:var(--color-cyan-400);--accent-glow:var(--color-cyan-200);--secondary:var(--color-violet-600);--warning:var(--color-gold-400);--border:#ffffff14;--border-strong:#ffffff24;--font-display:"Anton", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-hero:clamp(2.75rem, 7vw, 5rem);--gradient-stage:linear-gradient(135deg, #ff2e93 0%, #7a2bff 50%, #00e5ff 100%);--gradient-hero-overlay:linear-gradient(180deg, transparent 0%, #0a061366 50%, #0a0613 100%);--gradient-surface:linear-gradient(160deg, #1e1035 0%, #140a24 100%);--gradient-card-shine:linear-gradient(135deg, #ffffff0a 0%, #fff0 60%);--shadow-neon:0 0 40px #ff2e9366, 0 0 80px #00e5ff33;--shadow-neon-primary:0 0 20px #ff2e938c, 0 0 60px #ff2e9333;--shadow-neon-accent:0 0 20px #00e5ff8c, 0 0 60px #00e5ff33;--shadow-neon-secondary:0 0 20px #7a2bff8c, 0 0 60px #7a2bff33;--shadow-card:0 4px 32px #0009, inset 0 1px 0 #ffffff0a;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--ease-snappy:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-normal:.22s;--duration-slow:.4s}.hero-section{display:none}.lp-shell{min-height:100svh;display:flex;flex-direction:column;position:relative;overflow:hidden;padding-bottom:32px}.hero-bg-img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 30%;object-position:center 30%;width:100%;height:100%;display:block;position:absolute;inset:0;opacity:1;z-index:0}.hero-overlay-top{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(10,6,19,.50) 0%,rgba(10,6,19,.30) 40%,rgba(10,6,19,1) 100%);pointer-events:none}.hero-overlay-bottom{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(10,6,19,1) 0%,rgba(10,6,19,.92) 30%,rgba(10,6,19,.80) 55%,rgba(10,6,19,.40) 72%,transparent 88%);pointer-events:none}.hero-overlay-bottom::after{content:"";position:absolute;inset:0;box-shadow:inset 200px 0 160px -80px rgba(255,46,147,.12),inset -200px 0 160px -80px rgba(0,229,255,.10);pointer-events:none}.hero-grain{opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}.hero-content{padding-top:clamp(5rem,14vh,9rem);position:relative;z-index:10}@media (width>=641px){.hero-content{padding-top:0}}.hero-eyebrow{border-radius:var(--radius-pill);animation:var(--animation-slide-up,slide-up .4s ease-out both);background:#00e5ff14;border:1px solid #00e5ff4d;align-items:center;gap:10px;margin-bottom:1.5rem;padding:6px 14px;display:inline-flex}.hero-eyebrow-text{font-size:var(--text-xs);letter-spacing:.16em;color:var(--accent)}.hero-h1{letter-spacing:-.02em;font-style:italic;animation:fade-up .7s var(--ease-snappy) .1s both;margin:0 0 1.25rem;font-size:clamp(3.5rem,13vw,9rem);line-height:.95}.hero-word--pink{color:var(--primary)}.hero-word--white{color:var(--foreground)}.hero-word--cyan{color:var(--accent)}.hero-word--pink{text-shadow:0 0 30px #ff2e93cc,0 0 60px #ff2e9380,0 0 120px #ff2e9340,0 2px 0 rgba(0,0,0,.4);filter:drop-shadow(0 0 8px #ff2e9366)}.hero-word--cyan{text-shadow:0 0 30px #00e5ffcc,0 0 60px #00e5ff80,0 0 120px #00e5ff40,0 2px 0 rgba(0,0,0,.4);filter:drop-shadow(0 0 8px #00e5ff66)}.hero-tagline{font-family:"JetBrains Mono",monospace;font-size:clamp(.65rem,1.4vw,.85rem);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:-.6rem 0 1.75rem;animation:fade-up .5s var(--ease-snappy) .15s both}.hero-sub{font-size:clamp(var(--text-base), 2.2vw, var(--text-xl));color:var(--muted-foreground);max-width:38ch;animation:fade-up .55s var(--ease-snappy) .2s both;margin:0 0 2.5rem;line-height:1.5}.hero-ctas{animation:fade-up .55s var(--ease-snappy) .3s both;flex-wrap:wrap;gap:1rem;display:flex}.btn-cta-primary{border-radius:var(--radius-md);background:var(--gradient-stage);color:var(--foreground);font-size:var(--text-base);letter-spacing:.06em;cursor:pointer;box-shadow:var(--shadow-neon);transition:filter var(--duration-fast) var(--ease-snappy), box-shadow var(--duration-fast) var(--ease-snappy), transform var(--duration-fast) var(--ease-snappy);border:none;align-items:center;gap:10px;padding:1rem 2rem;display:inline-flex;position:relative;overflow:hidden}.btn-cta-primary:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1f 0%,#fff0 60%);position:absolute;inset:0}.btn-cta-primary:hover{filter:brightness(1.12)saturate(1.1);box-shadow:var(--shadow-neon), 0 8px 32px #ff2e9359;transform:translateY(-2px)}.btn-cta-primary:active{transform:translateY(0)scale(.98)}.btn-icon{flex-shrink:0;width:18px;height:18px}.btn-cta-ghost{border:1px solid var(--border-strong);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);color:var(--foreground);font-size:var(--text-base);letter-spacing:.06em;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-snappy), background var(--duration-fast) var(--ease-snappy), color var(--duration-fast) var(--ease-snappy), transform var(--duration-fast) var(--ease-snappy);background:#ffffff0a;align-items:center;gap:8px;padding:1rem 1.75rem;display:inline-flex}.btn-cta-ghost:hover{border-color:var(--accent);color:var(--accent);background:#00e5ff14;transform:translateY(-2px)}.btn-cta-ghost:active{transform:translateY(0)scale(.98)}.marquee-strip{white-space:nowrap;border-top:1px solid rgba(255,255,255,.10);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:rgba(0,0,0,.82);padding:0 0 env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0;height:calc(32px + env(safe-area-inset-bottom));overflow:hidden;box-shadow:inset 0 1px rgba(255,46,147,.35),inset 0 -1px rgba(0,229,255,.25)}.marquee-strip:before,.marquee-strip:after{content:"";z-index:2;pointer-events:none;width:120px;position:absolute;top:0;bottom:0}.marquee-strip:before{background:linear-gradient(90deg, var(--background) 0%, transparent 100%);left:0}.marquee-strip:after{background:linear-gradient(270deg, var(--background) 0%, transparent 100%);right:0}.marquee-track{will-change:transform;align-items:center;gap:0;padding:12px 0;animation:40s linear infinite marquee-scroll;display:inline-flex}@media (hover:hover){.marquee-strip:hover .marquee-track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.marquee-item{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.12em;color:var(--muted-foreground);transition:color var(--duration-fast);padding:0 2.5rem}.marquee-item:nth-child(odd){color:var(--muted-foreground)}.marquee-item:nth-child(4n){color:var(--primary)}.marquee-item:nth-child(4n+2){color:var(--accent)}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.lp-col{position:relative;z-index:10;width:100%;max-width:28rem;margin:0 auto;padding:calc(2rem + env(safe-area-inset-top)) calc(1.25rem + env(safe-area-inset-right)) calc(6rem + env(safe-area-inset-bottom)) calc(1.25rem + env(safe-area-inset-left));display:flex;flex-direction:column;min-height:100svh;box-sizing:border-box}.lp-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-self:flex-start}.lp-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#ff2e93;box-shadow:0 0 8px #ff2e93cc;animation:2s ease-in-out infinite pulse-pink}.lp-badge-text{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.75)}.lp-spacer{flex:1;min-height:3rem}.lp-wordmark-block{text-align:center;margin-bottom:1rem}.lp-wordmark{letter-spacing:-.02em;font-style:italic;font-size:clamp(3.5rem,16vw,4.5rem);line-height:.9;margin:0 0 .5rem;animation:fade-up .7s var(--ease-snappy) .1s both}@media(min-width:375px) and (max-width:640px){.lp-wordmark{font-size:5rem}}.lp-tagline{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.52);margin:0 0 1.5rem;animation:fade-up .55s var(--ease-snappy) .18s both}.lp-stats-card{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:0;padding:.875rem 1rem;border-radius:1rem;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-bottom:.875rem;animation:fade-up .55s var(--ease-snappy) .22s both}.lp-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.lp-stat-value{font-style:italic;font-size:1.35rem;line-height:1;background:linear-gradient(135deg,#ff2e93 0%,#00e5ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.lp-stat-label{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.48)}.lp-stat-divider{width:1px;height:2rem;background:rgba(255,255,255,.12);margin:0 .25rem}.lp-setup-card{border-radius:1rem;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.58);-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;animation:fade-up .55s var(--ease-snappy) .28s both}.lp-cta-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-top:.25rem}.lp-btn-primary{height:3.5rem;background:var(--gradient-stage);color:var(--foreground);font-size:1rem;letter-spacing:.08em;font-style:italic;cursor:pointer;border:none;border-radius:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:filter .15s,box-shadow .15s,transform .15s;box-shadow:0 4px 24px #ff2e9340,0 2px 8px #00e5ff30;position:relative;overflow:hidden}.lp-btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.22) 50%,transparent 60%);transform:translateX(-100%);transition:transform .35s ease}.lp-btn-primary:active::after{transform:translateX(100%)}@media (hover:hover){.lp-btn-primary:hover{filter:brightness(1.12);box-shadow:0 6px 28px #ff2e9355,0 2px 12px #00e5ff40}}.lp-btn-primary:active{transform:scale(.98)}.lp-btn-ghost{height:3.5rem;min-width:5.5rem;background:transparent;color:rgba(255,255,255,.72);font-size:.6rem;letter-spacing:.15em;cursor:pointer;border:1px solid rgba(255,255,255,.22);border-radius:.75rem;padding:0 .75rem;transition:border-color .15s,color .15s,background .15s;line-height:1.3;text-align:center}@media (hover:hover){.lp-btn-ghost:hover{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06)}}.lp-btn-ghost:active{transform:scale(.98)}.glass-card{-webkit-backdrop-filter:blur(20px)saturate(1.4);border:1px solid var(--border);background:#140a2499;border-radius:1.5rem;padding:1.5rem;position:relative;overflow:hidden}.glass-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,#ffffff0d 0%,#fff0 45%);position:absolute;inset:0}.hs-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.hs-title{letter-spacing:.12em;text-transform:uppercase;color:var(--foreground);margin:0;font-size:1.125rem;line-height:1}.eq-5bar{align-items:flex-end;gap:3px;height:22px;padding-bottom:1px;display:flex}.eq-bar{transform-origin:bottom;border-radius:2px 2px 1px 1px;width:4px;min-height:3px;animation:1.1s ease-in-out infinite bar-bounce;display:block}.eq-bar--1{background:var(--primary);animation-delay:0s}.eq-bar--2{background:var(--accent);animation-delay:.12s}.eq-bar--3{background:var(--primary);animation-delay:.24s}.eq-bar--4{background:var(--accent);animation-delay:.36s}.eq-bar--5{background:var(--primary);animation-delay:.48s}@keyframes bar-bounce{0%,to{transform:scaleY(.22)}45%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.eq-bar{animation:none;transform:scaleY(.6)}}.scores-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.score-row{transition:background var(--duration-fast) var(--ease-snappy);border-radius:.625rem;grid-template-columns:2rem 1.25rem 1fr auto;align-items:center;gap:.5rem;padding:.625rem .75rem;display:grid}.score-row:hover{background:#ffffff0a}.score-rank{letter-spacing:.04em;color:var(--muted-foreground);text-align:right;font-size:.875rem}.score-genre{font-size:.875rem;line-height:1}.score-name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.score-value{color:var(--muted-foreground);letter-spacing:.03em;white-space:nowrap;font-size:.9375rem;font-weight:700}.score-row--gold{background:#ffd23f0f;border:1px solid #ffd23f2e}.score-row--gold .score-rank{color:var(--warning);text-shadow:0 0 12px #ffd23fb3}.score-row--gold .score-name{color:var(--warning)}.score-row--gold .score-value{color:var(--warning);text-shadow:0 0 16px #ffd23fa6}.hs-footer{border-top:1px solid var(--border);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);align-items:center;gap:6px;margin:1rem 0 0;padding-top:.875rem;font-size:.6875rem;display:flex}.live-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite pulse-glow;display:inline-block;box-shadow:0 0 8px #00e5ffcc}.setup-card{flex-direction:column;gap:1rem;display:flex}.setup-block{flex-direction:column;gap:.5rem;display:flex}.setup-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem}.seg-group{display:flex;gap:4px;border-radius:.875rem;padding:0}.seg-btn{color:var(--muted-foreground);font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;transition:color var(--duration-fast) var(--ease-snappy),background var(--duration-fast) var(--ease-snappy),box-shadow var(--duration-fast) var(--ease-snappy),border-color var(--duration-fast) var(--ease-snappy),transform var(--duration-fast) var(--ease-snappy);background:transparent;border:2px solid rgba(255,255,255,.14);border-radius:.625rem;flex:1;padding:0 .375rem;height:2.75rem;font-size:.9375rem;position:relative;min-width:0}@media (hover:hover){.seg-btn:hover:not(.seg-btn--active){color:var(--foreground);background:#ffffff0f}}.seg-btn:active{transform:scale(.98)}.seg-btn--active{background:rgba(255,46,147,.18);color:#fff;font-weight:700;border:2px solid #ff2e93 !important;box-shadow:0 0 12px #ff2e9355,0 0 4px #ff2e9344}.seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.name-inputs{flex-direction:column;gap:.625rem;display:flex}.name-row{align-items:center;gap:.75rem;display:flex}.name-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.name-input{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);height:2.75rem;color:var(--foreground);font-family:var(--font-body);transition:border-color var(--duration-fast) var(--ease-snappy), box-shadow var(--duration-fast) var(--ease-snappy), background var(--duration-fast) var(--ease-snappy);--_color:var(--player-color,var(--primary));--_rgb:var(--player-rgb,255, 46, 147);background:#0a061380;border-radius:.625rem;outline:none;flex:1;padding:0 .875rem;font-size:.9375rem}.name-input::placeholder{color:var(--muted-foreground);opacity:.55}.name-input:focus{border-color:var(--_color);box-shadow:0 0 0 3px rgba(var(--_rgb), .18), 0 0 20px rgba(var(--_rgb), .14);background:#0a0613b3}.name-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-tune-in{background:var(--gradient-stage);width:100%;height:3.5rem;color:var(--foreground);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:filter var(--duration-fast) var(--ease-snappy), box-shadow var(--duration-fast) var(--ease-snappy), transform var(--duration-fast) var(--ease-snappy);border:none;border-radius:.875rem;justify-content:center;align-items:center;gap:.625rem;margin-top:auto;padding:0 1.5rem;font-size:.9375rem;display:flex;position:relative;overflow:hidden}.btn-tune-in:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffff47 50%,#0000 100%);width:45%;height:100%;transition:none;position:absolute;top:0;left:0;transform:translate(-160%)}.btn-tune-in:hover:after{transition:transform .65s var(--ease-snappy);transform:translate(320%)}.btn-tune-in:hover{filter:brightness(1.1)saturate(1.08);box-shadow:var(--shadow-neon)}.btn-tune-in:active{filter:brightness(.95);transform:scale(.98)}.btn-tune-in:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tune-in-icon{flex-shrink:0;width:1.125rem;height:1.125rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=641px){.hero-section{min-height:82vh}}@media (width>=1024px){.hero-section{min-height:90vh}}@media (width<=640px){.hero-content>.container{text-align:center;flex-direction:column;align-items:center;display:flex}.hero-h1{font-size:clamp(3rem,12vw,4.5rem)}.hero-sub{max-width:32ch;margin-left:auto;margin-right:auto}.hero-ctas{flex-direction:column;align-items:stretch;width:100%;max-width:22rem}.btn-cta-primary,.btn-cta-ghost{justify-content:center;width:100%}}@media (width>=641px){.hero-content>.container{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.hero-ctas{flex-direction:row;justify-content:flex-start;align-items:center;width:auto}.hero-sub{max-width:40ch}}@media (width>=641px) and (width<=1023px){.lp-col{max-width:32rem}.lp-wordmark{font-size:6rem}}@media (width<=640px){.seg-group{border-radius:.75rem;flex-wrap:wrap}.seg-btn{border-radius:.5rem;flex:1 0 calc(33.333% - 6px);min-width:calc(33.333% - 6px)}.name-input{font-size:1rem}}@media (width>=1024px){.lp-col{max-width:36rem}}@keyframes fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{animation:fade-up .55s var(--ease-snappy) 0s both}.hero-h1{animation:fade-up .7s var(--ease-snappy) .1s both}.hero-sub{animation:fade-up .55s var(--ease-snappy) .2s both}.hero-ctas{animation:fade-up .55s var(--ease-snappy) .3s both}.marquee-strip{animation:fade-up .45s var(--ease-snappy) .42s both}.glass-card{opacity:0;transition:opacity .6s var(--ease-snappy) var(--card-delay,0s), transform .6s var(--ease-snappy) var(--card-delay,0s);will-change:opacity, transform;transform:translateY(28px)}.glass-card.is-visible{opacity:1;transform:translateY(0)}.name-input::placeholder{opacity:.75}@media (prefers-reduced-motion:reduce){.hero-eyebrow,.hero-h1,.hero-sub,.hero-ctas,.marquee-strip{opacity:1;animation:none;transform:none}.glass-card{opacity:1;will-change:auto;transition:none;transform:none}.marquee-track{animation:none}.eq-bar,.eq-bar--1,.eq-bar--2,.eq-bar--3,.eq-bar--4,.eq-bar--5{animation:none;transform:scaleY(.55)}.live-dot,.lp-badge-dot{animation:none}.btn-cta-primary,.btn-cta-ghost,.btn-tune-in,.seg-btn,.name-input,.score-row,.glass-card{transition-duration:.01ms!important}.btn-tune-in:after{display:none}.lp-wordmark-block,.lp-tagline,.lp-stats-card,.lp-setup-card,.lp-badge{animation:none;opacity:1;transform:none}.lp-wordmark{animation:none}.lp-btn-primary::after{display:none}.lp-btn-primary,.lp-btn-ghost,.seg-btn{transition-duration:.01ms!important}}.genre-picker-screen{max-width:72rem;min-height:100dvh;animation:fade-up .35s var(--ease-snappy) both;margin:0 auto;padding:clamp(2rem,5vw,4rem) 1.5rem clamp(3rem,6vw,5rem)}.genre-picker-header{text-align:center;margin-bottom:2.5rem}.gp-eyebrow{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;display:inline-block}.genre-picker-title{letter-spacing:.02em;text-transform:uppercase;background:var(--gradient-stage);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:clamp(2rem,6vw,3.5rem)}.genre-picker-sub{color:var(--muted-foreground);font-size:var(--text-sm);margin:0}.genre-section-label{margin:0 0 .75rem;display:block}.genre-card-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.625rem;display:grid}@media (width<=640px){.genre-card-grid{grid-template-columns:repeat(3,1fr)}}.genre-card{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-snappy), background var(--duration-fast) var(--ease-snappy), transform var(--duration-fast) var(--ease-snappy), box-shadow var(--duration-fast) var(--ease-snappy);background:#ffffff05;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem .5rem;display:flex;position:relative;overflow:hidden}.genre-card:before{content:"";background:var(--g-accent,var(--accent));opacity:.7;height:2px;transition:opacity var(--duration-fast);position:absolute;top:0;left:0;right:0}.genre-card:hover{border-color:var(--g-accent,var(--accent));background:rgba(var(--g-rgb,0,229,255), .08);box-shadow:0 0 18px rgba(var(--g-rgb,0,229,255), .2);transform:translateY(-2px)}.genre-card:hover:before{opacity:1}.genre-card:active{transform:translateY(0)scale(.98)}.genre-card:focus-visible{outline:2px solid var(--g-accent,var(--accent));outline-offset:2px}.genre-card-icon{font-size:1.75rem;line-height:1;display:block}.genre-card-label{letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--foreground);font-size:.75rem;line-height:1.2}.gp-back{width:auto;font-size:var(--text-sm);letter-spacing:.06em;margin-top:2rem;padding:.625rem 1.25rem}@media (prefers-reduced-motion:reduce){.genre-picker-screen{animation:none}.genre-card{transition-duration:.01ms}}.gs-screen{min-height:100dvh;animation:fade-up .3s var(--ease-snappy) both;justify-content:center;align-items:center;padding:1.25rem;display:flex}.gs-card{-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-card);background:#140a24b8;padding:1.5rem;position:relative;overflow:hidden}.gs-card:before{content:"";background:var(--gradient-card-shine);pointer-events:none;border-radius:inherit;position:absolute;inset:0}.gs-card--transition{text-align:center}.gs-bar{border-bottom:1px solid var(--border);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.gs-bar-genre{color:var(--foreground);font-weight:600}.gs-bar-right{color:var(--muted-foreground);font-family:var(--font-mono)}.gs-heading{letter-spacing:.02em;text-transform:uppercase;margin:1rem 0 .5rem;font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.1}.gs-player-name{display:block}.gs-sub{color:var(--muted-foreground);font-size:var(--text-sm);margin:0 0 1.25rem;line-height:1.55}.gs-swap-icon{margin:.5rem 0 .75rem;font-size:2.5rem}.gs-mult-badge{border-radius:var(--radius-pill);color:var(--warning);font-size:var(--text-xs);letter-spacing:.08em;background:#ffd23f26;border:1px solid #ffd23f4d;margin-bottom:1.25rem;padding:4px 12px;font-weight:700;display:inline-block}.gs-dial-wrap{justify-content:center;margin:.75rem 0;display:flex}.gs-dial{cursor:pointer;width:88px;height:88px;color:var(--foreground);transition:box-shadow var(--duration-fast) var(--ease-snappy);background:radial-gradient(circle,#100a14 0 12px,#1c1320 13px 14px,#100a14 15px 40px,#1c1320 41px 42px,#100a14 43px 44px);border:3px solid #0c080f;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 8px 24px #0009}.gs-dial:hover{box-shadow:0 8px 24px #0009, 0 0 0 3px rgba(var(--accent-rgb), .22)}.gs-dial:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.gs-dial--spin{animation:1.8s linear infinite spin-slow}@keyframes spin-slow{to{transform:rotate(360deg)}}.gs-play-error{color:#ff6b6b;font-size:var(--text-xs);text-align:center;margin:.25rem 0}.gs-player-chip{border-radius:var(--radius-pill);background:rgba(var(--chip-rgb,255,46,147), .14);border:1px solid rgba(var(--chip-rgb,255,46,147), .3);color:var(--chip,var(--primary));font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:.875rem;padding:5px 12px;font-weight:700;display:inline-flex}.gs-chip-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.gs-chip-mult{color:var(--warning);background:#ffd23f33;border-radius:4px;padding:1px 6px;font-size:10px}.gs-dots{gap:6px;margin-bottom:.625rem;display:flex}.gs-dot{background:var(--border);height:3px;transition:background var(--duration-fast);border-radius:2px;flex:1}.gs-dot--done{background:var(--accent)}.gs-dot--active{background:var(--primary)}.gs-hud{font-size:var(--text-xs);letter-spacing:.08em;color:var(--muted-foreground);text-transform:uppercase;justify-content:space-between;margin:.5rem 0 1rem;display:flex}.gs-hud b{color:var(--foreground)}.gs-q-label{margin-bottom:.25rem}.gs-q-text{font-size:var(--text-lg);color:var(--foreground);margin:0 0 1.25rem;font-weight:600;line-height:1.35}.gs-answers{flex-direction:column;gap:.5rem;display:flex}.gs-answer{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--foreground);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-snappy), background var(--duration-fast) var(--ease-snappy), transform var(--duration-fast) var(--ease-snappy);background:#ffffff08;padding:.875rem 1rem;font-weight:500}.gs-answer:hover:not(:disabled){border-color:var(--accent);background:#00e5ff12;transform:translate(3px)}.gs-answer:disabled{cursor:default}.gs-answer--correct{color:#4ade80;background:#4ade8024;border-color:#4ade80}.gs-answer--wrong{color:#ff6b6b;background:#ff6b6b24;border-color:#ff6b6b}.gs-answer:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gs-result-list{flex-direction:column;gap:.375rem;display:flex}.gs-result-row{border-radius:var(--radius-md);border:1px solid var(--border);transition:background var(--duration-fast);background:#ffffff05;grid-template-columns:10px 1fr auto auto;align-items:center;gap:.625rem;padding:.75rem .875rem;display:grid}.gs-result-row--lead{border-color:var(--warning);background:#ffd23f12}.gs-result-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.gs-result-name{font-size:var(--text-sm);font-weight:600}.gs-result-gained{font-size:var(--text-xs);color:#4ade80;font-weight:700;font-family:var(--font-mono)}.gs-result-score{color:var(--foreground);font-size:1.125rem;font-weight:700}.gs-result-row--lead .gs-result-score{color:var(--warning)}@media (prefers-reduced-motion:reduce){.gs-screen,.gs-dial--spin{animation:none}.gs-answer{transition-duration:.01ms}}.gs-screen--pick{align-items:flex-start;padding:2rem 1.25rem 3rem}.gs-pick-wrap{width:100%;max-width:72rem;animation:fade-up .3s var(--ease-snappy) both;margin:0 auto}.gs-pick-header{text-align:center;margin-bottom:1.5rem}.gs-pick-eyebrow{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:.5rem;display:block}.gs-pick-title{letter-spacing:.02em;text-transform:uppercase;margin:0 0 .25rem;font-size:clamp(1.75rem,5vw,2.75rem)}.gs-winner-note{font-size:var(--text-sm);color:var(--muted-foreground);text-align:center;margin:.875rem 0 0}.hero-stats{animation:fade-up .55s var(--ease-snappy) .15s both;align-items:center;gap:1.25rem;margin-bottom:2rem;display:flex}.hero-stat{flex-direction:column;gap:2px;display:flex}.hero-stat-value{letter-spacing:.01em;background:var(--gradient-stage);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1}.hero-stat-label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted-foreground);font-size:.625rem}.hero-stat-divider{background:var(--border-strong);flex-shrink:0;width:1px;height:2rem}@media (width<=640px){.hero-stats{justify-content:center;gap:1rem}}.name-input-wrap{flex:1;position:relative}.ac-dropdown{border:1px solid var(--border-strong);border-radius:var(--radius-md);z-index:200;animation:fade-up .15s var(--ease-snappy) both;background:#1e1035;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 5px);left:0;right:0;box-shadow:0 8px 32px #0009}.ac-item{width:100%;color:var(--foreground);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--duration-fast);background:0 0;border:none;border-radius:7px;padding:9px 12px;font-weight:500;display:block}.ac-item:hover{color:var(--accent);background:#ffffff12}.ac-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hs-loading,.hs-empty{color:var(--muted-foreground);font-size:var(--text-sm);align-items:center;gap:6px;padding:1rem .5rem;display:flex}#how-to-play-modal{z-index:1000;animation:htp-in .25s var(--ease-snappy) both;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}#how-to-play-modal.htp-closing{animation:htp-out .2s var(--ease-snappy) both}@keyframes htp-in{0%{opacity:0}to{opacity:1}}@keyframes htp-out{0%{opacity:1}to{opacity:0}}.htp-backdrop{-webkit-backdrop-filter:blur(6px);background:#0a0613cc;position:absolute;inset:0}.htp-panel{scrollbar-width:thin;scrollbar-color:var(--border) transparent;width:100%;max-width:520px;max-height:90dvh;animation:fade-up .3s var(--ease-snappy) both;padding:2rem 1.75rem 1.75rem;position:relative;overflow-y:auto}.htp-close{border:1px solid var(--border);width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast);background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1rem;right:1rem}.htp-close:hover{color:var(--foreground);border-color:var(--accent)}.htp-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.htp-title{letter-spacing:.04em;text-transform:uppercase;background:var(--gradient-stage);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 1.5rem;font-size:1.75rem}.htp-steps{flex-direction:column;gap:1.125rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.htp-step{font-size:var(--text-sm);color:var(--muted-foreground);align-items:flex-start;gap:.875rem;line-height:1.6;display:flex}.htp-step strong{color:var(--foreground)}.htp-step em{color:var(--accent);font-style:normal}.htp-step-icon{text-align:center;flex-shrink:0;width:1.5rem;margin-top:1px;font-size:1.25rem}.htp-cta{width:100%;overflow:hidden}@media (prefers-reduced-motion:reduce){#how-to-play-modal,#how-to-play-modal.htp-closing,.htp-panel{animation:none}}@media (width>=768px){.md\:items-center{align-items:center}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:pb-0{padding-bottom:0}}
@keyframes pulse-pink{0%,100%{opacity:1;box-shadow:0 0 6px #ff2e93cc}50%{opacity:.5;box-shadow:0 0 14px #ff2e93ff}}
/* ══════════════════════════════════════════════════════
   PAGE TRANSITIONS
══════════════════════════════════════════════════════ */
@keyframes screen-in {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}
.screen-transition {
  animation: screen-in .2s cubic-bezier(.4,0,.2,1) both;
}
@media (prefers-reduced-motion:reduce) {
  .screen-transition { animation:none; }
}

/* ══════════════════════════════════════════════════════
   GAME SCREEN DESIGN UPGRADE
══════════════════════════════════════════════════════ */

/* Headings → Anton italic with subtle glow */
.gs-heading {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  line-height: .95 !important;
  text-shadow: 0 0 28px rgba(245,240,255,.15), 0 2px 0 rgba(0,0,0,.5) !important;
}
.gs-heading .gs-player-name {
  text-shadow: 0 0 24px currentColor, 0 0 48px currentColor, 0 2px 0 rgba(0,0,0,.4) !important;
  filter: drop-shadow(0 0 6px currentColor) !important;
}
.gs-pick-title {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  line-height: .95 !important;
  font-size: clamp(1.75rem,6vw,3rem) !important;
  text-shadow: 0 0 28px rgba(245,240,255,.15), 0 2px 0 rgba(0,0,0,.5) !important;
}
.gs-pick-title span {
  text-shadow: 0 0 24px currentColor, 0 0 48px currentColor, 0 2px 0 rgba(0,0,0,.4) !important;
  filter: drop-shadow(0 0 6px currentColor) !important;
}

/* Eyebrows → JetBrains Mono 10px cyan */
.gs-pick-eyebrow {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  letter-spacing: .25em !important;
  color: var(--accent) !important;
}
.gs-bar-right {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  letter-spacing: .20em !important;
  color: var(--accent) !important;
}

/* Glass card recipe upgrade */
.gs-card {
  background: rgba(20,10,36,.72) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.4) !important;
  backdrop-filter: blur(24px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: 0 4px 32px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Pink/cyan top accent line on game cards */
.gs-card::before {
  content: "";
  position: absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, var(--primary) 0%, transparent 40%, transparent 60%, var(--accent) 100%);
  opacity: .55;
  pointer-events: none;
  z-index: 1;
}

/* btn-tune-in → full shimmer sweep (matching lp-btn-primary) */
.btn-tune-in {
  font-style: italic !important;
  letter-spacing: .08em !important;
  box-shadow: 0 4px 24px #ff2e9340, 0 2px 8px #00e5ff30 !important;
  border-radius: var(--radius-lg) !important;
}
.btn-tune-in::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.22) 50%, transparent 60%) !important;
  transform: translateX(-100%) !important;
  transition: transform .35s cubic-bezier(.4,0,.2,1) !important;
}
@media (hover:hover) {
  .btn-tune-in:hover { filter:brightness(1.12) !important; box-shadow:0 6px 28px #ff2e9355,0 2px 12px #00e5ff40 !important; }
  .btn-tune-in:hover::after { transform:translateX(100%) !important; }
}
.btn-tune-in:active::after { transform:translateX(100%) !important; }
.btn-tune-in:active { transform:scale(.98) !important; }

/* gs-screen padding for marquee room */
.gs-screen { padding-bottom: calc(1.25rem + 36px + env(safe-area-inset-bottom)); }
.gs-screen--pick { padding-bottom: calc(3rem + 36px + env(safe-area-inset-bottom)); }

/* ══════════════════════════════════════════════════════
   BOTTOM MARQUEE on game screens
══════════════════════════════════════════════════════ */
.gs-marquee {
  position: fixed; bottom:0; left:0; right:0; z-index:50;
  height: calc(32px + env(safe-area-inset-bottom));
  overflow: hidden;
  background: rgba(0,0,0,.82);
  border-top: 1px solid rgba(255,255,255,.10);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px rgba(255,46,147,.35), inset 0 -1px rgba(0,229,255,.25);
  padding: 0 0 env(safe-area-inset-bottom);
  display: flex; align-items: center;
  pointer-events: none;
}
.gs-marquee-track {
  display: inline-flex; align-items: center; gap:0;
  white-space: nowrap;
  animation: 40s linear infinite marquee-scroll;
  will-change: transform;
  padding: 8px 0;
}
/* Anton italic uppercase — matches "Tune In" button style */
.gs-marquee-item {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 0 2rem;
}
.gs-marquee-item:nth-child(odd)  { color: var(--primary); }
.gs-marquee-item:nth-child(even) { color: var(--accent); }
@media (prefers-reduced-motion:reduce) {
  .gs-marquee-track { animation: none; }
}

/* ══════════════════════════════════════════════════════
   GENRE SELECT SCREEN  (gs2-*)
══════════════════════════════════════════════════════ */

/* Top marquee bar */
.gs2-marquee-bar {
  position: fixed; top:0; left:0; right:0; z-index:60;
  height: 32px; overflow: hidden;
  background: #ff2e93;
  border-bottom: 1px solid rgba(0,0,0,.25);
  display: flex; align-items: center;
}
.gs2-marquee-inner {
  display: inline-flex; align-items: center;
  white-space: nowrap;
  animation: gs2-scroll 22s linear infinite;
  will-change: transform;
}
.gs2-marquee-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #000;
  padding: 0 2rem;
}
@keyframes gs2-scroll {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}
@media (prefers-reduced-motion:reduce) {
  .gs2-marquee-inner { animation:none; }
}

/* Screen shell */
.gs2-screen {
  min-height: 100dvh;
  background: var(--background);
  padding-top: 32px;
  padding-bottom: 100px;
  animation: fade-up .35s cubic-bezier(.4,0,.2,1) both;
}
@media (prefers-reduced-motion:reduce) { .gs2-screen { animation:none; } }

/* Header */
.gs2-header { padding: 1.5rem 1.5rem .75rem; }
.gs2-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: .25em; text-transform: uppercase;
  color: var(--accent); margin-bottom: .75rem;
}
.gs2-eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
  background: var(--primary); box-shadow: 0 0 8px #ff2e93cc;
  animation: pulse-pink 2s ease-in-out infinite;
}
@media (prefers-reduced-motion:reduce) { .gs2-eyebrow-dot { animation:none; } }

/* H1 */
.gs2-h1 {
  font-family: var(--font-display); font-style: italic;
  font-size: clamp(2.5rem,10vw,3rem);
  text-transform: uppercase; line-height: .92; margin: 0;
  color: var(--foreground);
  text-shadow: 0 0 30px rgba(245,240,255,.15), 0 2px 0 rgba(0,0,0,.4);
}
.gs2-h1-genre {
  color: var(--primary);
  text-shadow: 0 0 28px #ff2e93cc, 0 0 56px #ff2e9380, 0 0 110px #ff2e9340, 0 2px 0 rgba(0,0,0,.4);
  filter: drop-shadow(0 0 8px #ff2e9355);
}

/* Filter chips */
.gs2-filters {
  display: flex; gap: .5rem;
  padding: .75rem 1.5rem;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.gs2-filters::-webkit-scrollbar { display:none; }
.gs2-chip {
  flex-shrink: 0;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: .14em; text-transform: uppercase;
  padding: 5px 14px; border-radius: 999px;
  border: 1px solid var(--border-strong);
  background: rgba(255,255,255,.06);
  color: var(--muted-foreground); cursor: pointer;
  transition: background .12s, color .12s, border-color .12s;
  white-space: nowrap;
}
.gs2-chip--active {
  background: var(--accent); color: #000;
  border-color: var(--accent);
  box-shadow: 0 0 12px rgba(0,229,255,.4);
}
@media (hover:hover) {
  .gs2-chip:not(.gs2-chip--active):hover {
    background: rgba(255,255,255,.10); color: var(--foreground);
  }
}

/* Genre grid */
.gs2-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: .5rem; padding: 0 1rem 1.5rem;
}

/* Genre tile */
.gs2-tile {
  position: relative; aspect-ratio: 1/1;
  border-radius: .75rem; overflow: hidden;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.10);
  transition: transform .12s cubic-bezier(.4,0,.2,1), border-color .12s, box-shadow .12s;
  -webkit-tap-highlight-color: transparent;
  background: var(--surface);
}
.gs2-tile--selected {
  border: 2px solid var(--primary) !important;
  box-shadow: 0 0 16px rgba(255,46,147,.5);
}
.gs2-tile:active { transform: scale(.97); }
@media (hover:hover) {
  .gs2-tile:not(.gs2-tile--selected):hover {
    border-color: rgba(255,255,255,.25);
    transform: translateY(-2px);
  }
}
.gs2-tile-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .15s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
}
.gs2-tile:active .gs2-tile-img { transform: scale(1.05); }
.gs2-tile-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.30) 45%, transparent 100%);
  pointer-events: none;
}
.gs2-tile-sel-dot {
  position: absolute; top:5px; right:5px;
  width:6px; height:6px; border-radius:50%;
  background: var(--primary); box-shadow: 0 0 10px #ff2e93cc;
  opacity:0; transition:opacity .12s;
  animation: pulse-pink 2s ease-in-out infinite;
  pointer-events: none;
}
.gs2-tile--selected .gs2-tile-sel-dot { opacity:1; }
@media (prefers-reduced-motion:reduce) { .gs2-tile-sel-dot { animation:none; } }

.gs2-tile-label {
  position: absolute; bottom:6px; left:6px; right:6px;
  font-family: var(--font-display); font-style: italic;
  font-size: clamp(0.9rem,4.2vw,1.35rem);
  text-transform: uppercase; color: #fff; line-height:1;
  text-shadow: 0 1px 6px rgba(0,0,0,.9), 0 0 20px rgba(0,0,0,.6);
  pointer-events: none;
}

/* Sticky CTA */
.gs2-cta {
  position: fixed; bottom:0; left:0; right:0; z-index:55;
  padding: 1rem 1.5rem calc(1rem + env(safe-area-inset-bottom));
  background: linear-gradient(to top, var(--background) 65%, transparent 100%);
  pointer-events: none;
}
.gs2-cta-btn {
  pointer-events: all;
  width:100%; height:3.5rem;
  background: var(--gradient-stage);
  color: var(--foreground);
  font-family: var(--font-display); font-style: italic;
  font-size: 1.375rem; text-transform: uppercase;
  letter-spacing: .06em;
  border: none; border-radius: .75rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 24px rgba(255,46,147,.4), 0 2px 8px rgba(0,229,255,.3);
  position: relative; overflow: hidden;
  transition: filter .15s, box-shadow .15s, transform .15s;
}
.gs2-cta-btn::after {
  content: ""; position: absolute; inset:0;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.22) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.gs2-cta-btn:active::after { transform:translateX(100%); }
@media (hover:hover) {
  .gs2-cta-btn:hover { filter:brightness(1.12); box-shadow:0 6px 28px rgba(255,46,147,.55),0 2px 12px rgba(0,229,255,.4); }
  .gs2-cta-btn:hover::after { transform:translateX(100%); }
}
.gs2-cta-btn:active { transform:scale(.98); }
.gs2-cta-btn:disabled { opacity:.45; cursor:not-allowed; }

/* ── Decade section label ────────────────────────────────── */
.gs2-section-label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--muted-foreground);
  padding: .5rem 1rem .25rem;
  margin: 0;
}



/* Decade tiles use same photo structure as genre tiles     */
/* but with a larger label (3× genre label size)           */
.gs2-tile--decade .gs2-tile-label {
  font-size: clamp(1.8rem,8.4vw,2.7rem) !important;
  bottom: 12px !important;
  left: 12px !important;
  right: 12px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.95), 0 0 30px rgba(0,0,0,.7) !important;
}

/* Remove the sticky CTA bar since we no longer need it */
.gs2-cta { display: none; }

.gs2-player-pick {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--primary);
  margin: .35rem 0 .5rem;
  text-shadow: 0 0 12px #ff2e9366;
}

/* ── Genre-pick player splash ─────────────────────────── */
.gs-splash {
  position: fixed; inset: 0; z-index: 200;
  display: flex; align-items: center; justify-content: center;
  background: rgba(10,6,19,.92);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  animation: splash-in .35s cubic-bezier(.4,0,.2,1) both,
             splash-out .4s cubic-bezier(.4,0,.2,1) 1.8s both;
}
@keyframes splash-in {
  from { opacity:0; }
  to   { opacity:1; }
}
@keyframes splash-out {
  from { opacity:1; }
  to   { opacity:0; pointer-events:none; }
}
.gs-splash-inner {
  text-align: center;
  animation: splash-rise .4s cubic-bezier(.34,1.56,.64,1) .05s both;
}
@keyframes splash-rise {
  from { opacity:0; transform:translateY(28px) scale(.92); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
.gs-splash-eyebrow {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--muted-foreground);
  margin: 0 0 1rem;
}
.gs-splash-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(3.5rem, 14vw, 7rem);
  text-transform: uppercase;
  line-height: .9;
  letter-spacing: .02em;
  margin: 0 0 .75rem;
}
.gs-splash-sub {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted-foreground);
  margin: 0;
}
@media (prefers-reduced-motion: reduce) {
  .gs-splash, .gs-splash-inner { animation: none; }
}

/* ── Leaderboard sidebar ─────────────────────────────────── */
.lp-leaderboard {
  display: none; /* hidden on mobile — shown via media query below */
  position: absolute;
  right: max(1.5rem, env(safe-area-inset-right));
  top: 50%;
  transform: translateY(-50%);
  width: 22rem;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 10;
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}

/* Show on screens wide enough to have room beside the setup card */
@media (min-width: 900px) {
  .lp-leaderboard {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  /* Ensure lp-col doesn't stretch too wide and leaves room */
  .lp-col {
    max-width: 26rem;
    margin-left: max(1.5rem, env(safe-area-inset-left));
    margin-right: auto;
  }
}

@media (min-width: 1200px) {
  .lp-leaderboard { width: 26rem; }
}

/* Lobby music EQ bars — animate when playing */
#eq-anim.playing .eq-bar { animation-play-state: running; }
#eq-anim:not(.playing) .eq-bar { animation-play-state: paused; transform: scaleY(0.2); }

/* ═══════════════════════════════════════════════════════════
   GAME PLAY SCREEN  (gp-*)
   Mobile-first · single column · 16px page padding
   max-width 420px centered on tablet+
═══════════════════════════════════════════════════════════ */

.gp-screen {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--background);
  animation: fade-up .25s var(--ease-snappy) both;
}
@media (prefers-reduced-motion: reduce) { .gp-screen { animation: none; } }

/* ── Top marquee ──────────────────────────────────────────── */
.gp-marquee {
  position: sticky; top: 0; left: 0; right: 0; z-index: 10;
  height: 32px; overflow: hidden;
  background: rgba(0,0,0,.85);
  border-bottom: 1px solid rgba(255,255,255,.10);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 -1px rgba(255,46,147,.35);
  display: flex; align-items: center;
}
.gp-marquee-track {
  display: inline-flex; align-items: center;
  white-space: nowrap;
  animation: marquee-scroll 36s linear infinite;
  will-change: transform;
  padding: 8px 0;
}
.gp-marquee-item {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  padding: 0 1.5rem;
}
.gp-marquee-item:nth-child(odd)  { color: var(--primary); text-shadow: 0 0 8px #ff2e9366; }
.gp-marquee-item:nth-child(even) { color: var(--accent);  text-shadow: 0 0 8px #00e5ff66; }
@media (prefers-reduced-motion: reduce) { .gp-marquee-track { animation: none; } }

/* ── Body: constrained width, page padding ────────────────── */
.gp-body {
  flex: 1;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  padding: calc(32px + 1rem) 1rem 0;
  display: flex;
  flex-direction: column;
  gap: .875rem;
  box-sizing: border-box;
}

/* ── Genre hero strip ─────────────────────────────────────── */
.gp-genre-strip {
  position: relative;
  height: 96px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
  background-image: var(--genre-img);
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
.gp-genre-strip::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.65) 40%,
    rgba(0,0,0,.65) 60%,
    rgba(0,0,0,.82) 100%);
}
.gp-genre-strip::after {
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12),
              inset 0 1px 0 rgba(255,255,255,.18);
}
.gp-strip-round,
.gp-strip-genre,
.gp-strip-score {
  position: relative; z-index: 1;
}
.gp-strip-round {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(.65rem, 2.5vw, .8rem);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  white-space: nowrap;
}
.gp-strip-genre {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(.9rem, 3.5vw, 1.25rem);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--foreground);
  text-shadow:
    0 0 20px var(--genre-accent, var(--primary)),
    0 1px 0 rgba(0,0,0,.6);
  text-align: center;
  flex: 1;
  padding: 0 .5rem;
}
.gp-strip-score {
  font-family: var(--font-mono);
  font-size: clamp(.65rem, 2.5vw, .8rem);
  letter-spacing: .06em;
  color: var(--accent);
  text-shadow: 0 0 12px #00e5ffaa;
  white-space: nowrap;
}

/* ── Player turn card ─────────────────────────────────────── */
.gp-player-card {
  padding: .875rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .625rem;
  background: rgba(255,255,255,.05) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: none !important;
}
.gp-player-row {
  display: flex;
  align-items: center;
  gap: .625rem;
}
.gp-player-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--chip, var(--primary));
  box-shadow: 0 0 10px rgba(var(--chip-rgb, 255,46,147), .8);
  animation: pulse-pink 1.8s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) { .gp-player-dot { animation: none; } }
.gp-player-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(.9rem, 3.8vw, 1.15rem);
  letter-spacing: .05em;
  text-transform: uppercase;
  flex: 1;
  line-height: 1;
}

/* Player progress bar */
.gp-pbar {
  display: flex;
  gap: 4px;
  height: 4px;
}
.gp-pbar-seg {
  flex: 1;
  border-radius: 2px;
  background: rgba(255,255,255,.12);
  transition: background .2s, box-shadow .2s;
}
.gp-pbar-seg--done {
  background: rgba(255,255,255,.28);
}
.gp-pbar-seg--active {
  background: var(--seg-color, var(--primary));
  box-shadow: 0 0 8px rgba(var(--seg-rgb, 255,46,147), .7);
  animation: pulse-pink 1.8s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) { .gp-pbar-seg--active { animation: none; } }

/* ── Question dots ────────────────────────────────────────── */
.gp-dots {
  display: flex;
  gap: 6px;
}
.gp-dot {
  flex: 1;
  height: 3px;
  border-radius: 2px;
  background: var(--border);
  transition: background .15s;
}
.gp-dot--done   { background: var(--accent); }
.gp-dot--active { background: var(--primary); }

/* ── Play dial ────────────────────────────────────────────── */
.gp-dial-wrap {
  display: flex;
  justify-content: center;
  margin: .25rem 0;
}
.gp-dial {
  cursor: pointer;
  width: 88px; height: 88px;
  color: var(--foreground);
  background: radial-gradient(circle,
    #100a14 0 12px, #1c1320 13px 14px,
    #100a14 15px 40px, #1c1320 41px 42px,
    #100a14 43px 44px);
  border: 3px solid #0c080f;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.6);
  transition: box-shadow .15s;
}
.gp-dial:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.6),
              0 0 0 3px rgba(var(--accent-rgb),.25);
}
.gp-dial:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.gp-dial--spin { animation: spin-slow 1.8s linear infinite; }

/* ── HUD ──────────────────────────────────────────────────── */
.gp-hud {
  display: flex;
  justify-content: space-between;
  font-size: var(--text-xs);
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--muted-foreground);
}

/* ── Question label + answers ─────────────────────────────── */
.gp-q-label {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: .08em;
  color: var(--muted-foreground);
  margin: 0;
  text-transform: uppercase;
}
.gp-answers {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.gp-answer {
  text-align: left;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  width: 100%;
  color: var(--foreground);
  font-size: var(--text-sm);
  cursor: pointer;
  background: rgba(255,255,255,.06);
  padding: .875rem 1rem;
  font-weight: 500;
  transition: border-color .12s, background .12s, transform .12s;
}
@media (hover: hover) {
  .gp-answer:not(:disabled):hover {
    border-color: var(--accent);
    background: rgba(0,229,255,.10);
    transform: translateX(3px);
  }
}
.gp-answer:disabled  { cursor: default; }
.gp-answer--correct  { color: #4ade80; background: rgba(74,222,128,.14); border-color: #4ade80; }
.gp-answer--wrong    { color: #ff6b6b; background: rgba(255,107,107,.14); border-color: #ff6b6b; }
.gp-answer:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ═══════════════════════════════════════════════════════════
   COUNTDOWN STAGE  (cd-*)
   240px default, 200px at 375px viewport
═══════════════════════════════════════════════════════════ */

.cd-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .625rem;
  margin: .25rem auto;
  position: relative;
  z-index: 0; /* stay below sibling elements */
}

/* ── The button is the ring's bounding square ─────────────── */
.cd-button {
  position: relative;
  width: 240px; height: 240px;
  border-radius: 50%;
  cursor: pointer;
  background: none; border: none; padding: 0;
  -webkit-tap-highlight-color: transparent;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cd-button:active { transform: scale(.96); }
.cd-button:active .cd-disc { transform: translate(-50%,-50%) scale(.95); }
.cd-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 50%; }

@media (max-width: 390px) {
  .cd-button { width: 200px; height: 200px; }
}

/* ── Genre hero background circle ─────────────────────────── */
.cd-hero {
  position: absolute; inset: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  pointer-events: none;
}
/* 55% dark overlay */
.cd-hero::after {
  content: "";
  position: absolute; inset: 0;
  border-radius: 50%;
  background: rgba(0,0,0,.55);
}

/* ── SVG ring — fills the button ─────────────────────────── */
.cd-svg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  overflow: hidden;
  pointer-events: none; /* SVG never intercepts taps */
}
#cd-ring {
  transition: stroke-dasharray .18s linear;
}

/* ── Glass disc (play/pause/eq) ───────────────────────────── */
.cd-disc {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 72px; height: 72px;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 0 0 1px rgba(255,255,255,.20);
  display: flex; align-items: center; justify-content: center;
  color: var(--foreground);
  transition: transform .12s var(--ease-snappy), background .12s;
  pointer-events: none; /* button handles the tap */
  z-index: 2;
}
.cd-button:hover .cd-disc {
  background: rgba(255,255,255,.16);
}

/* ── EQ bars inside disc ──────────────────────────────────── */
.cd-eq-bars {
  align-items: flex-end;
  gap: 3px;
  height: 28px;
}
/* reuse existing eq-bar animation but scale up */
.cd-eq-bars .eq-bar {
  width: 5px;
  border-radius: 3px 3px 1px 1px;
  min-height: 4px;
}

/* ── Countdown text ───────────────────────────────────────── */
.cd-text {
  font-family: var(--font-mono);
  font-size: 28px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
  color: var(--accent);
  text-shadow: 0 0 16px #00e5ff99;
  line-height: 1;
}
.cd-text--urgent {
  color: var(--primary) !important;
  text-shadow: 0 0 16px #ff2e9399 !important;
  animation: urgent-pulse .6s ease-in-out infinite;
}
@keyframes urgent-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  .cd-text--urgent { animation: none; }
}

/* ── Caption ──────────────────────────────────────────────── */
.cd-caption {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: .20em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin: 0;
  text-align: center;
}

/* ═══════════════════════════════════════════════════════════
   QUESTION + ANSWER BLOCK  (qa-*)
═══════════════════════════════════════════════════════════ */

.qa-block {
  display: flex;
  flex-direction: column;
  gap: .625rem;
  /* bottom padding leaves room for sticky CTA */
  padding-bottom: .25rem;
}

/* "QUESTION 1 OF 3" label */
.qa-label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin: 0;
}

/* The question text */
.qa-headline {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.35rem, 5vw, 1.75rem);
  text-transform: uppercase;
  line-height: 1;
  color: var(--foreground);
  margin: 0;
  text-shadow: 0 0 24px rgba(255,46,147,.45);
}

/* Answer list */
.qa-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: .25rem;
}

/* Each answer button */
.qa-btn {
  display: flex;
  align-items: center;
  gap: .75rem;
  height: 3.5rem;          /* h-14 */
  padding: 0 1rem;
  border-radius: .75rem;   /* rounded-xl */
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--foreground);
  font-size: var(--text-base);
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: border-color .12s, background .12s, box-shadow .12s, opacity .12s;
  -webkit-tap-highlight-color: transparent;
  width: 100%;
}
@media (hover: hover) {
  .qa-btn:not(:disabled):not(.qa-btn--correct):not(.qa-btn--wrong):hover {
    border-color: rgba(0,229,255,.6);
    background: rgba(255,255,255,.10);
  }
}
.qa-btn:disabled { cursor: default; }

/* A / B / C / D badge */
.qa-badge {
  flex-shrink: 0;
  width: 32px; height: 32px;
  border-radius: .375rem;
  background: rgba(0,229,255,.12);
  border: 1px solid rgba(0,229,255,.25);
  color: var(--accent);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
  transition: background .12s, border-color .12s;
}

.qa-text {
  flex: 1;
  line-height: 1.25;
}

/* ✓ chip on correct reveal */
.qa-check {
  flex-shrink: 0;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: rgba(74,222,128,.2);
  border: 1px solid #4ade80;
  color: #4ade80;
  font-size: 13px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
}

/* ── Pending (selected, not yet locked) ── */
.qa-btn--pending {
  border: 2px solid var(--primary);
  background: rgba(255,46,147,.12);
  box-shadow: inset 0 0 24px rgba(255,46,147,.30);
}
.qa-btn--pending .qa-badge {
  background: rgba(255,46,147,.2);
  border-color: rgba(255,46,147,.5);
  color: var(--primary);
}

/* ── Correct reveal ── */
.qa-btn--correct {
  border-color: #4ade80;
  background: rgba(74,222,128,.12);
  box-shadow: 0 0 16px rgba(74,222,128,.25);
}
.qa-btn--correct .qa-badge {
  background: rgba(74,222,128,.2);
  border-color: #4ade80;
  color: #4ade80;
}

/* ── Wrong reveal ── */
.qa-btn--wrong {
  border-color: #f43f5e;
  opacity: .6;
}
.qa-btn--wrong .qa-badge {
  background: rgba(244,63,94,.15);
  border-color: #f43f5e;
  color: #f43f5e;
}

/* ── Sticky LOCK IN bar ─────────────────────────────────── */
/* qa-cta-bar removed — lock-in is now inline */
.qa-lock-btn {
  width: 100%;
  min-height: 3rem;
  margin-top: .25rem;
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-size: 1.1rem !important;
  letter-spacing: .10em !important;
  position: relative;
  z-index: 1;
}
.qa-lock-btn:disabled {
  opacity: .38;
  cursor: not-allowed;
  filter: none !important;
  box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════════════
   ANIMATE-ENTRANCE — shared slide-up entrance
   Used by qa-block, player card, xo-card
═══════════════════════════════════════════════════════════ */
@keyframes entrance {
  from { opacity: 0; transform: translateY(20px) scale(.98); }
  to   { opacity: 1; transform: translateY(0)   scale(1); }
}
.animate-entrance {
  animation: entrance .32s var(--ease-snappy) var(--entrance-delay, 0s) both;
}
@media (prefers-reduced-motion: reduce) {
  .animate-entrance { animation: none; }
}

/* ═══════════════════════════════════════════════════════════
   PASS THE PHONE INTERSTITIAL  (ptp-*)
═══════════════════════════════════════════════════════════ */
.ptp-screen {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--background);
  animation: entrance .3s var(--ease-snappy) both;
}
@media (prefers-reduced-motion: reduce) { .ptp-screen { animation: none; } }

/* Top marquee */
.ptp-marquee {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  height: 32px; overflow: hidden;
  background: var(--primary);
  display: flex; align-items: center;
}
.ptp-marquee-track {
  display: inline-flex;
  white-space: nowrap;
  animation: marquee-scroll 20s linear infinite;
  will-change: transform;
}
.ptp-marquee-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #000;
  padding: 0 2rem;
}
@media (prefers-reduced-motion: reduce) { .ptp-marquee-track { animation: none; } }

/* Full-bleed hero */
.ptp-hero {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 32px;
  padding-bottom: 0;
  background-image: var(--genre-img);
  background-size: cover;
  background-position: center;
  position: relative;
}
.ptp-hero::before {
  content: "";
  position: absolute; inset: 0;
  background: rgba(0,0,0,.72);
}
.ptp-hero-inner {
  position: relative; z-index: 1;
  text-align: center;
  padding: calc(2rem + 300px) 1.5rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  animation: entrance .45s var(--ease-snappy) .08s both;
}
@media (prefers-reduced-motion: reduce) { .ptp-hero-inner { animation: none; } }

.ptp-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin: 0;
}
.ptp-headline {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.5rem, 5vw, 2rem);
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1;
  color: rgba(255,255,255,.7);
  margin: 0;
}
/* Player name — gradient from neon-pink to neon-cyan */
.ptp-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(2.5rem, 12vw, 4.5rem);
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: .95;
  margin: 0;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  /* Neon shadow using the player's own colour */
  filter: drop-shadow(0 0 12px rgba(var(--player-rgb, 255,46,147), .7));
  animation: entrance .5s var(--ease-snappy) .12s both;
}
@media (prefers-reduced-motion: reduce) { .ptp-name { animation: none; } }

.ptp-mult {
  font-family: var(--font-display);
  font-style: italic;
  font-size: .85rem;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--warning);
  background: rgba(255,210,63,.12);
  border: 1px solid rgba(255,210,63,.35);
  border-radius: var(--radius-pill);
  padding: 4px 14px;
}
.ptp-sub {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin: 0;
}

/* CTA strip */
.ptp-cta {
  padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom));
  background: linear-gradient(to top, var(--background) 60%, transparent 100%);
}

/* ═══════════════════════════════════════════════════════════
   GAME OVER / RESULTS  (xo-*)
═══════════════════════════════════════════════════════════ */
.xo-screen {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--background);
  animation: entrance .3s var(--ease-snappy) both;
}
@media (prefers-reduced-motion: reduce) { .xo-screen { animation: none; } }

/* Winner marquee — neon-pink bar */
.xo-marquee {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  height: 32px; overflow: hidden;
  background: linear-gradient(90deg, var(--primary), var(--accent));
  display: flex; align-items: center;
}
.xo-marquee-track {
  display: inline-flex;
  white-space: nowrap;
  animation: marquee-scroll 18s linear infinite;
  will-change: transform;
}
.xo-mq-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #000;
  padding: 0 2rem;
}
@media (prefers-reduced-motion: reduce) { .xo-marquee-track { animation: none; } }

.xo-body {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(32px + 1.5rem) 1rem calc(1.5rem + env(safe-area-inset-bottom));
}

/* Glass card — same recipe as home leaderboard */
.xo-card {
  width: 100%;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  /* glass-card class supplies backdrop-blur + border */
}

.xo-title {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(2rem, 8vw, 3rem);
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: .02em;
  margin: 0;
  animation: entrance .4s var(--ease-snappy) .06s both;
}
@media (prefers-reduced-motion: reduce) { .xo-title { animation: none; } }

.xo-sub {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--muted-foreground);
  margin: -.5rem 0 0;
}

.xo-rows {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.xo-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  border-radius: var(--radius-md);
  background: rgba(255,255,255,.04);
  border: 1px solid var(--border);
  transition: box-shadow .2s;
}

/* Winning row — neon pulse instead of confetti */
.xo-row--win {
  border-color: var(--primary);
  background: rgba(255,46,147,.08);
  animation: win-pulse 2s ease-in-out infinite;
}
@keyframes win-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,46,147,.0),  inset 0 0 0 0 rgba(255,46,147,.0); }
  50%       { box-shadow: 0 0 20px 2px rgba(255,46,147,.35), inset 0 0 16px rgba(255,46,147,.15); }
}
@media (prefers-reduced-motion: reduce) { .xo-row--win { animation: none; } }

.xo-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.xo-name {
  flex: 1;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--foreground);
}
.xo-score {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--muted-foreground);
}
.xo-row--win .xo-score {
  color: var(--primary);
  text-shadow: 0 0 12px rgba(255,46,147,.6);
}

/* ═══════════════════════════════════════════════════════════
   VIEWPORT / RESPONSIVE FIXES
   Ensure ring + LOCK IN fit one viewport (375 · 414 · 768)
═══════════════════════════════════════════════════════════ */

/* tighten gp-body gap and padding on small phones */
@media (max-height: 700px) {
  .gp-body {
    gap: .5rem;
    padding-top: calc(32px + .625rem);
    padding-bottom: calc(48px + .625rem);
  }
  .cd-button { width: 180px !important; height: 180px !important; }
  .gp-player-card { padding: .625rem .875rem; }
  .gp-genre-strip { height: 80px; }
  .qa-btn { height: 3rem; }
  .cd-text { font-size: 22px; }
}

/* On narrow viewports, make sure nothing overflows */
.gp-body, .ptp-hero-inner, .xo-body {
  box-sizing: border-box;
  max-width: 100%;
  /* no overflow:hidden here — it breaks sticky CTA bar */
}

/* Lock-in bar never overlaps content (extra bottom padding accounts for it) */


/* On 768px+ tablet: centre everything nicely */
@media (min-width: 768px) {
  .gp-body     { max-width: 480px; }
  .ptp-hero    { min-height: calc(100dvh - 32px - 80px); }
  .xo-card     { max-width: 480px; }
  .cd-button   { width: 240px !important; height: 240px !important; }
}

/* Prevent horizontal scroll — only on screens that don't need sticky children */
.ptp-screen, .xo-screen {
  overflow-x: hidden;
}
/* gp-screen must NOT have overflow:hidden — breaks position:sticky on qa-cta-bar */
.gp-screen {
  overflow: visible;
}

.qa-block { padding-bottom: 1rem; }

/* Ensure answer buttons are always tappable */
.qa-btn, .qa-lock-btn { position: relative; z-index: 1; isolation: isolate; }

/* ── Hard pointer-events fix for countdown stage ─────── */
.cd-svg, .cd-svg *, .cd-hero, .cd-hero::after, .cd-disc {
  pointer-events: none !important;
}
/* Only the cd-button itself receives taps */
.cd-button {
  pointer-events: auto !important;
}
/* Answer buttons and lock-in must always be tappable */
.qa-btn, .qa-lock-btn {
  pointer-events: auto !important;
  position: relative !important;
  z-index: 2 !important;
}
/* qa-block must not be obscured */
.qa-block {
  position: relative;
  z-index: 2;
}

/* ── Footer ──────────────────────────────────────────────── */
.rc-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .4rem .75rem;
  padding: 2.5rem 1.5rem calc(2.5rem + env(safe-area-inset-bottom));
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .10em;
  color: rgba(255,255,255,.35);
  text-transform: uppercase;
  border-top: 1px solid rgba(255,255,255,.06);
  margin-top: 1rem;
}
.rc-footer-sep {
  color: rgba(255,255,255,.18);
}
.rc-footer-link {
  color: var(--accent);
  text-decoration: none;
  text-shadow: 0 0 10px rgba(0,229,255,.4);
  transition: color .12s, text-shadow .12s;
}
.rc-footer-link:hover {
  color: #fff;
  text-shadow: 0 0 14px rgba(0,229,255,.7);
}
