:root{--bg-0:#0b0414;--bg-1:#150826;--bg-2:#1d0b34;--surface:#ffffff0f;--surface-strong:#ffffff1a;--border:#ffffff24;--text:#f7f2ff;--muted:#b9a9d6;--pink:#ff4d9d;--magenta:#c026d3;--violet:#8b5cf6;--cyan:#22d3ee;--gold:#ffd84d;--green:#34d399;--red:#fb6f6f;--grad-party:linear-gradient(120deg, var(--pink), var(--violet) 55%, var(--cyan));--grad-gold:linear-gradient(120deg, #ffe89a, var(--gold) 50%, #ff9f43);--radius:18px;--radius-lg:26px;--shadow:0 18px 50px -12px #0009;--shadow-glow:0 0 50px -8px #c026d38c;--font-display:"Baloo 2", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--maxw:640px}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--font-body);color:var(--text);background:var(--bg-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);margin:0 0 .4em;font-weight:700;line-height:1.08}p{color:var(--muted);margin:0 0 1em;line-height:1.6}a{color:var(--cyan)}::selection{background:var(--pink);color:#fff}.stage{z-index:1;text-align:center;min-height:100svh;padding:clamp(1.5rem, 5vw, 3rem) 1.25rem calc(env(safe-area-inset-bottom) + 2.5rem);flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;display:flex;position:relative}.stage>*{width:100%;max-width:var(--maxw)}.eyebrow{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin:0;font-size:.78rem;font-weight:600}.headline{font-size:clamp(2rem,7vw,3.6rem)}.headline--grad{background:var(--grad-party);color:#0000;-webkit-background-clip:text;background-clip:text}.lead{color:var(--muted);font-size:clamp(1.05rem,2.6vw,1.3rem)}.emoji-xl{filter:drop-shadow(0 10px 20px #0006);font-size:clamp(3.5rem,14vw,6rem);line-height:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:clamp(1.4rem,4vw,2.2rem)}.btn{-webkit-tap-highlight-color:transparent;font-family:var(--font-display);border:1px solid var(--border);background:var(--surface-strong);color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.95rem 1.6rem;font-size:1.05rem;font-weight:600;line-height:1;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;display:inline-flex}.btn:hover{border-color:#ffffff4d;transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.98)}.btn--primary{background:var(--grad-party);color:#fff;box-shadow:var(--shadow-glow);border:none}.btn--gold{background:var(--grad-gold);color:#3a2400;border:none;box-shadow:0 0 45px -8px #ffd84d99}.btn--ghost{background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-row{flex-wrap:wrap;justify-content:center;gap:.9rem;display:flex}.bg{z-index:0;background:radial-gradient(1200px 800px at 50% -10%, var(--bg-2), transparent 60%), linear-gradient(160deg, var(--bg-1), var(--bg-0));pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg__blob{filter:blur(70px);opacity:.45;border-radius:50%;width:42vmax;height:42vmax;animation:22s ease-in-out infinite drift;position:absolute}.bg__blob--1{background:var(--magenta);top:-12%;left:-10%}.bg__blob--2{background:var(--violet);animation-delay:-7s;bottom:-18%;right:-12%}.bg__blob--3{background:var(--cyan);opacity:.25;animation-delay:-14s;top:35%;right:20%}@keyframes drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(6%,8%)scale(1.1)}66%{transform:translate(-5%,-6%)scale(.95)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.float{animation:4s ease-in-out infinite float}.wiggle{animation:1.2s ease-in-out infinite wiggle}.shake{animation:.5s both shake}.stack{flex-direction:column;align-items:center;gap:1rem;display:flex}.muted{color:var(--muted)}.hint{color:var(--muted);opacity:.8;font-size:.85rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
