:root{--bg:#241b4d;--bg-deep:#1a1240;--surface:#2f2461;--surface-2:#3b2e78;--line:#4d3d96;--ink:#fffdf5;--muted:#b7abe6;--accent:#ffd23f;--accent-ink:#3d2b00;--pop:#ff5eb1;--ok:#3ee08c;--bad:#ff5e5e;--shadow:#120c33;--a:#ff5e5e;--b:#3fa9ff;--c:#ffd23f;--d:#3ee08c;--radius:18px;--font-display:"Titan One", ui-rounded, system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Nunito,ui-rounded,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);-webkit-text-size-adjust:100%;margin:0}html{background-color:var(--bg);background-image:radial-gradient(120% 90% at 50% 0%, #33246b 0%, var(--bg) 55%, var(--bg-deep) 100%);background-attachment:fixed}.app-root{isolation:isolate;min-height:100dvh}.stripes{z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(90deg,#0000 0 90px,#ffffff0d 90px 180px);width:260vmax;height:260vmax;animation:18s linear infinite stripe-drift;position:fixed;top:-80vmax;left:-80vmax;transform:rotate(-38deg)}@keyframes stripe-drift{0%{transform:rotate(-38deg)translate(0)}to{transform:rotate(-38deg)translate(-180px)}}h1,h2,h3{letter-spacing:.01em;margin:0 0 .5rem;line-height:1.12}h1{font-family:var(--font-display);font-weight:400}p{line-height:1.55}a{color:var(--accent);font-weight:700}button{font:inherit;color:var(--ink);border:3px solid var(--shadow);background:var(--surface-2);border-radius:var(--radius);cursor:pointer;box-shadow:0 5px 0 var(--shadow);padding:.7rem 1.2rem;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .12s}button:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 6px 0 var(--shadow);transform:translateY(-1px)}button:active:not(:disabled){box-shadow:0 1px 0 var(--shadow);transform:translateY(4px)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:0 3px 0 var(--shadow)}button.primary{background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.04em}input,select{font:inherit;color:inherit;background:var(--bg-deep);border:3px solid var(--line);border-radius:14px;width:100%;padding:.65rem .8rem;font-weight:700;transition:border-color .12s}input::placeholder{color:#6f5fb0;font-weight:700}input:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--pop);outline-offset:2px;border-color:var(--pop)}a.btn{border:3px solid var(--shadow);background:var(--surface-2);color:var(--ink);border-radius:var(--radius);box-shadow:0 5px 0 var(--shadow);padding:.7rem 1.1rem;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .12s;display:inline-block}a.btn:hover{filter:brightness(1.12);box-shadow:0 6px 0 var(--shadow);transform:translateY(-1px)}a.btn:active{box-shadow:0 1px 0 var(--shadow);transform:translateY(4px)}a.btn.primary{background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.04em}button.danger{color:var(--bad);border-color:var(--bad);background:0 0}.icon-btn{place-items:center;padding:.6rem .7rem;line-height:0;display:inline-grid}.spinner{vertical-align:-.15em;border:3px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;margin-right:.4em;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.wrap{max-width:62rem;margin:0 auto;padding:1.5rem 1.25rem 4rem}.card{background:var(--surface);border:3px solid var(--shadow);border-radius:var(--radius);box-shadow:0 7px 0 var(--shadow);padding:1.2rem 1.3rem}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.stack{gap:.9rem;display:grid}.error{background:color-mix(in srgb, var(--bad) 22%, var(--bg-deep));border:3px solid var(--bad);color:#ffd9d5;border-radius:14px;padding:.6rem .8rem;font-weight:700;animation:.35s shake}.pill{background:var(--bg-deep);border:2px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.2rem .7rem;font-size:.8rem;font-weight:800;display:inline-block}.pin-chip{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--accent-ink);background:var(--accent);border:3px solid var(--shadow);box-shadow:0 4px 0 var(--shadow);border-radius:.18em;margin:0;padding:.12em .34em .08em;font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:400;line-height:1;display:inline-block;transform:rotate(-2deg)}@keyframes pop-in{0%{opacity:0;transform:scale(.6)rotate(-4deg)}70%{transform:scale(1.08)rotate(1deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes bounce-in{0%{opacity:0;transform:translateY(30px)}60%{opacity:1;transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes pulse-big{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes emote-stamp{0%{opacity:0;transform:translate(-50%,-50%)scale(2.8)}16%{opacity:1;transform:translate(-50%,-50%)scale(.78)}28%{transform:translate(-50%,-50%)scale(1.14)}40%{transform:translate(-50%,-50%)scale(1)}72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.96)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-8vh)rotate(0)}to{opacity:.8;transform:translateY(108vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.stripes{animation:18s linear infinite stripe-drift!important}}.curtain.svelte-12qhfyh{z-index:999;background:var(--accent);pointer-events:none;position:fixed;inset:0}.curtain.in.svelte-12qhfyh{animation:.22s cubic-bezier(.3,0,.2,1) both svelte-12qhfyh-curtain-in}.curtain.out.svelte-12qhfyh{animation:.28s cubic-bezier(.5,0,.2,1) both svelte-12qhfyh-curtain-out}@keyframes svelte-12qhfyh-curtain-in{0%{clip-path:polygon(-35% 0,0% 0,-15% 100%,-50% 100%)}to{clip-path:polygon(-35% 0,130% 0,115% 100%,-50% 100%)}}@keyframes svelte-12qhfyh-curtain-out{0%{clip-path:polygon(0% 0,130% 0,115% 100%,-15% 100%)}to{clip-path:polygon(130% 0,130% 0,115% 100%,115% 100%)}}
