:root{--ink:#0b0913;--ink-2:#130f1d;--velvet:#2a1b46;--spot:#ffb454;--spot-2:#ff7a59;--cream:#f6efe4;--cream-70:#f6efe4b3;--cream-45:#f6efe473;--line:#f6efe424;--ok:#8be3c0;--bad:#ff9b9b;--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:22px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.7s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--ink);color:var(--cream);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.45}.stage{pointer-events:none;z-index:0;background:radial-gradient(120% 80% at 50% 110%, var(--velvet) 0%, transparent 60%), var(--ink);position:fixed;inset:0;overflow:hidden}.stage__spot{filter:blur(12px);opacity:0;width:140vmax;height:110vh;animation:spot-warm 1.6s var(--ease-out) forwards;background:radial-gradient(at 50% 0,#ffb45494 0%,#ff7a593d 20%,#2a1b4659 42%,#0000 68%);position:absolute;top:-34vh;left:50%;transform:translate(-50%)}.stage__floor{background:linear-gradient(#0000,#ffb4541a);height:38vh;position:absolute;bottom:0;left:0;right:0}.stage__grain{opacity:.07;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;position:absolute;inset:0}@keyframes spot-warm{0%{opacity:0;transform:translate(-50%)scaleY(.6)}to{opacity:1;transform:translate(-50%)scaleY(1)}}.shell{z-index:1;min-height:100dvh;padding:max(14px, env(safe-area-inset-top)) 20px max(18px, env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto;display:grid;position:relative}.masthead{justify-content:space-between;align-items:center;gap:12px;padding:6px 2px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"opsz" 144, "SOFT" 40;font-size:23px;font-weight:500}.wordmark em{color:var(--spot);font-style:italic}.who{color:var(--cream-70);text-overflow:ellipsis;white-space:nowrap;max-width:55vw;font-size:12px;overflow:hidden}.who--muted{letter-spacing:.16em;text-transform:uppercase;color:var(--cream-45)}.center{place-items:center;padding:24px 0;display:grid}.loading{color:var(--cream-45);letter-spacing:.04em;font-size:14px}.foot{text-align:center;color:var(--cream-45);padding-top:10px;font-size:12px}.card{border-radius:var(--radius);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);width:min(100%,430px);animation:rise var(--dur) var(--ease-out) both;background:linear-gradient(160deg,#f6efe417,#f6efe408);margin:0;padding:28px 24px 22px;animation-delay:.18s;box-shadow:0 30px 80px -30px #000000d9,inset 0 1px #f6efe41f}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--spot);margin:0 0 10px;font-size:12px;font-weight:600}.title{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"opsz" 144, "SOFT" 60;overflow-wrap:anywhere;margin:0 0 10px;font-size:clamp(34px,9vw,44px);font-weight:400;line-height:1.02}.title em{color:var(--spot);font-style:italic}.lede{color:var(--cream-70);margin:0 0 22px;font-size:15.5px;line-height:1.5}.lede strong{color:var(--cream);overflow-wrap:anywhere;font-weight:500}.field{gap:8px;margin-bottom:14px;display:grid}.field label{color:var(--cream-70);font-size:13px}.input{font:inherit;color:var(--cream);border:1px solid var(--line);background:#0b09138c;border-radius:14px;outline:none;width:100%;padding:14px 16px;font-size:17px;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:var(--cream-45)}.input:focus{border-color:#ffb454b3;box-shadow:0 0 0 4px #ffb4542e}.input--code{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0;font-variant-numeric:tabular-nums;letter-spacing:.4em;text-align:center;padding:10px 8px 10px calc(8px + .4em);font-size:34px}.btn{font:inherit;cursor:pointer;width:100%;color:var(--ink);background:linear-gradient(135deg, var(--spot), var(--spot-2));transition:transform .15s var(--ease-out), filter .2s, opacity .2s;border:0;border-radius:14px;padding:15px 18px;font-size:16px;font-weight:600;box-shadow:0 12px 30px -12px #ff9646b3}.btn:hover{filter:brightness(1.06)}.btn:active{transform:translateY(1px)scale(.995)}.btn:focus-visible{outline-offset:2px;outline:3px solid #ffb45499}.btn:disabled{opacity:.55;cursor:default}.btn--ghost{color:var(--cream-70);box-shadow:none;border:1px solid var(--line);background:0 0}.btn--ghost:hover{color:var(--cream);filter:none}.row{gap:10px;margin-top:10px;display:flex}.row .btn{flex:1;padding-left:8px;padding-right:8px;font-size:14px}.status{min-height:20px;color:var(--cream-70);margin:12px 0 0;font-size:14px;line-height:1.4}.status--bad{color:var(--bad)}.status--ok{color:var(--ok)}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.roadmap{counter-reset:step;gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.roadmap li{counter-increment:step;border:1px solid var(--line);background:#0b091359;border-radius:14px;grid-template-columns:30px 1fr;align-items:start;gap:12px;padding:12px 12px 12px 10px;display:grid}.roadmap li:before{content:counter(step);font-family:var(--font-display);color:var(--spot);text-align:center;font-size:22px;line-height:1.1}.roadmap span{grid-column:2;font-weight:600;display:block}.roadmap small{color:var(--cream-70);grid-column:2;margin-top:2px;font-size:13px;line-height:1.4;display:block}.pill{color:var(--cream-70);border:1px solid var(--line);border-radius:999px;margin:0 0 16px;padding:6px 11px;font-size:12px;display:inline-block}.pill--ok:before{content:"";background:var(--ok);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}@media (prefers-reduced-motion:reduce){.stage__spot,.card,.shake{opacity:1;animation:none;transform:translate(-50%)}.card,.shake{transform:none}.btn,.input{transition:none}}
