*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--night:#0f0a1e;--deep:#1a1040;--mid:#2d1b69;--lavender:#c4b5fd;--gold:#fde68a;--soft:#f3e8ff;--muted:#a78bfa;--card-bg:rgba(255,255,255,0.07);--card-border:rgba(255,255,255,0.12);--font-display:"Bubblegum Sans",cursive;--font-body:"Lora",Georgia,serif}body,html{min-height:100vh;background:linear-gradient(160deg,var(--night) 0,var(--deep) 35%,var(--mid) 70%,var(--night) 100%);background-attachment:fixed;color:var(--soft);font-family:var(--font-body);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(1px 1px at 10% 15%,rgba(253,230,138,.6) 0,transparent 100%),radial-gradient(1px 1px at 25% 40%,rgba(253,230,138,.4) 0,transparent 100%),radial-gradient(1.5px 1.5px at 40% 10%,rgba(253,230,138,.7) 0,transparent 100%),radial-gradient(1px 1px at 55% 60%,rgba(253,230,138,.5) 0,transparent 100%),radial-gradient(1px 1px at 70% 25%,rgba(253,230,138,.4) 0,transparent 100%),radial-gradient(1.5px 1.5px at 80% 70%,rgba(253,230,138,.6) 0,transparent 100%),radial-gradient(1px 1px at 90% 45%,rgba(253,230,138,.5) 0,transparent 100%),radial-gradient(1px 1px at 15% 75%,rgba(253,230,138,.4) 0,transparent 100%),radial-gradient(1.5px 1.5px at 60% 85%,rgba(253,230,138,.6) 0,transparent 100%),radial-gradient(1px 1px at 35% 90%,rgba(253,230,138,.3) 0,transparent 100%),radial-gradient(1px 1px at 5% 50%,rgba(253,230,138,.5) 0,transparent 100%),radial-gradient(1px 1px at 95% 20%,rgba(253,230,138,.4) 0,transparent 100%),radial-gradient(1.5px 1.5px at 48% 35%,rgba(253,230,138,.7) 0,transparent 100%),radial-gradient(1px 1px at 73% 55%,rgba(253,230,138,.4) 0,transparent 100%),radial-gradient(1px 1px at 88% 88%,rgba(253,230,138,.5) 0,transparent 100%);pointer-events:none;z-index:0;animation:twinkle 6s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.6}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-up-1{animation:fadeUp .55s ease both}.fade-up-2{animation:fadeUp .55s ease .1s both}.fade-up-3{animation:fadeUp .55s ease .2s both}.fade-up-4{animation:fadeUp .55s ease .3s both}.fade-up-5{animation:fadeUp .55s ease .4s both}.page-wrap{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:32px 16px 64px}.card{background:var(--card-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:20px;padding:24px}.btn-primary{display:block;width:100%;padding:16px;background:linear-gradient(135deg,#6d28d9,#9333ea);color:#fff;font-family:var(--font-display);font-size:20px;letter-spacing:.3px;border:none;border-radius:16px;cursor:pointer;box-shadow:0 4px 24px rgba(109,40,217,.45);transition:transform .18s,box-shadow .18s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px rgba(109,40,217,.55)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{display:block;width:100%;padding:13px;background:rgba(255,255,255,.08);color:var(--lavender);font-family:var(--font-body);font-size:15px;font-weight:600;border:1px solid rgba(255,255,255,.15);border-radius:14px;cursor:pointer;transition:background .18s}.btn-ghost:hover{background:rgba(255,255,255,.14)}.field-label{display:block;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}input[type=text],select{width:100%;padding:12px 16px;background:rgba(255,255,255,.92);color:#1a1040;font-family:var(--font-body);font-size:15px;border:2px solid transparent;border-radius:12px;outline:none;transition:border-color .2s}input[type=text]:focus,select:focus{border-color:var(--muted)}input[type=text]::placeholder{color:#9ca3af}select option{background:#2d1b69;color:#fff}.error-box{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:12px 16px;color:#fca5a5;font-size:14px}.credits-pill,.error-box{font-family:var(--font-body)}.credits-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--gold);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}