:root{--bg: #0a0809;--fg: #f2efea;--muted: #a8a29a;--accept: #3ecf7a;--accept-ink: #04250f;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}#webgl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,transparent 30%,rgba(6,5,7,.5) 78%,rgba(6,5,7,.8) 100%)}main{position:relative;z-index:2}#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:var(--bg);font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);transition:opacity .6s ease}#loader.done{opacity:0;pointer-events:none}.panel{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12vh 8vw;max-width:1400px;margin:0 auto}.panel.align-right{align-items:flex-end;text-align:right}.panel.align-center{align-items:center;text-align:center}.eyebrow{font-size:.82rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600;color:var(--fg);margin:0 0 1.5rem;text-shadow:0 1px 3px rgba(0,0,0,.95),0 2px 22px rgba(0,0,0,.85)}h1,h2{font-size:clamp(2.4rem,7vw,5rem);line-height:1.03;letter-spacing:-.03em;font-weight:600;margin:0 0 1.25rem;text-shadow:0 1px 3px rgba(0,0,0,.9),0 4px 40px rgba(0,0,0,.75)}.lede{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6;max-width:32ch;margin:0;color:var(--muted);text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 24px rgba(0,0,0,.8)}.hint{margin-top:3.5rem;font-size:.82rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600;color:var(--fg);opacity:.95;text-shadow:0 1px 3px rgba(0,0,0,.95),0 2px 22px rgba(0,0,0,.85);animation:bob 2.2s ease-in-out infinite}.hint:after{content:" ↓";letter-spacing:0}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}#choice{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2.25rem 2rem;border-radius:22px;background:#0a0809c7;border:1px solid rgba(255,255,255,.11);box-shadow:0 30px 70px -20px #000000e6,inset 0 1px #ffffff0f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.namefield{display:flex;flex-direction:column;align-items:center;gap:.55rem}.namefield span{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.namefield input{background:#ffffff12;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:var(--fg);font:inherit;font-size:1.05rem;padding:.8rem 1.5rem;text-align:center;width:min(300px,78vw);transition:border-color .25s ease,background .25s ease}.namefield input::placeholder{color:#f2efea52}.namefield input:focus{outline:none;border-color:var(--fg);background:#ffffff1f}.namefield input:disabled{opacity:.45}#choice.needs-name .namefield input{border-color:#ffffff57}#choice.needs-name .namefield span:after{content:" — required";color:var(--fg)}.buttons{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center;width:100%}.btn{font:inherit;font-size:1.05rem;font-weight:650;letter-spacing:.01em;padding:1.1rem 2rem;min-width:190px;border-radius:14px;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,background .25s ease,opacity .25s ease}.btn:disabled{opacity:.32;cursor:not-allowed;transform:none!important}.btn-accept{background:var(--accept);color:var(--accept-ink);box-shadow:0 10px 26px -10px var(--accept)}.btn-decline{background:#ffffff1a;color:var(--fg);border-color:#ffffff4d}@media(hover:hover){.btn-accept:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 36px -10px var(--accept)}.btn-decline:hover:not(:disabled){transform:translateY(-2px);background:#ffffff2b;border-color:#ffffff80}}.btn:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.status{min-height:1.3em;margin:0;font-size:.88rem;color:var(--muted)}.status.error{color:#ff8a72}.result{font-size:clamp(1.3rem,3vw,2rem);font-weight:600;line-height:1.35;margin:0}.result .tag{display:block;margin-top:.6rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}@media(max-width:520px){#choice{padding:1.75rem 1.25rem}.btn{min-width:100%}}@media(prefers-reduced-motion:reduce){.hint{animation:none}.btn{transition:none}}
