@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--paper:#f5f2ec;--paper-2:#eeeae2;--ink:#141414;--ink-soft:#2b2721;--green:#10846c;--green-soft:#4fb89c;--green-deep:#0a5e4d;--muted:#6b655b;--rule:#e3ded4;--rule-dark:#2a2825;--bg:var(--paper);--fg:var(--ink);--fg-muted:var(--muted);--fg-soft:var(--ink-soft);--accent:var(--green);--accent-on-dark:var(--green-soft);--border:var(--rule);--bg-elevated:var(--paper-2);--font-sans:"Space Grotesk", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--fs-display:96px;--fs-h1:64px;--fs-h2:40px;--fs-h3:28px;--fs-h4:20px;--fs-body:17px;--fs-small:14px;--fs-mono:12px;--fs-mono-sm:11px;--tracking-display:-.045em;--tracking-heading:-.035em;--tracking-wordmark:-.04em;--tracking-body:0;--tracking-mono:.22em;--tracking-mono-tight:.18em;--lh-display:.92;--lh-heading:1.02;--lh-tight:1.15;--lh-body:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:22px;--radius-pill:999px;--shadow-card:0 6px 20px #0000001f;--shadow-elevated:0 14px 40px #0000002e;--shadow-subtle:0 2px 8px #0000000f;--ease:cubic-bezier(.2, .8, .2, 1);--duration-fast:.12s;--duration-base:.15s;--duration-slow:.24s}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body)}h1,.h1{font-family:var(--font-sans);font-weight:500;font-size:var(--fs-h1);letter-spacing:var(--tracking-heading);line-height:var(--lh-heading)}h2,.h2{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-h2);letter-spacing:var(--tracking-heading);line-height:var(--lh-heading)}h3,.h3{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-h3);letter-spacing:-.025em;line-height:var(--lh-tight)}.display{font-family:var(--font-sans);font-weight:500;font-size:var(--fs-display);letter-spacing:var(--tracking-display);line-height:var(--lh-display)}.label,.mono{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted)}.card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg)}.btn-primary{background:var(--ink);color:var(--paper);font-family:var(--font-sans);font-weight:500;font-size:var(--fs-small);border-radius:var(--radius-pill);cursor:pointer;transition:opacity var(--duration-base) var(--ease);border:none;padding:12px 22px}.btn-primary:hover{opacity:.88}.btn-secondary{color:var(--ink);border:1px solid var(--ink);font-family:var(--font-sans);font-weight:500;font-size:var(--fs-small);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-base) var(--ease);background:0 0;padding:12px 22px}.btn-secondary:hover{background:var(--paper-2)}.btn-accent{background:var(--green);color:var(--paper);font-family:var(--font-sans);font-weight:500;font-size:var(--fs-small);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-base) var(--ease);border:none;padding:12px 22px}.btn-accent:hover{background:var(--green-deep)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}button{font-family:inherit}input,textarea{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}textarea{resize:none}a{color:inherit;text-decoration:none}.rule{border:none;border-top:1px solid var(--rule)}.app{background:var(--paper);height:100dvh;max-height:100dvh;color:var(--ink-soft);flex-direction:column;display:flex}.app-header{padding:var(--space-4) var(--space-6);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--rule);flex:none;display:flex}.app-main{flex-direction:column;flex:auto;display:flex;overflow:hidden}.app-footer{padding:var(--space-3) var(--space-6);font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:var(--tracking-mono);color:var(--muted);text-transform:uppercase;border-top:1px solid var(--rule);text-align:center;flex:none}.center-stack{padding:var(--space-6);flex:auto;justify-content:center;align-items:center;display:flex}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-tight{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted)}.field-input{width:100%;padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--paper);font-family:var(--font-sans);font-size:var(--fs-body);color:var(--ink);transition:border-color var(--duration-base) var(--ease)}.field-input:focus{border-color:var(--ink)}.field-input::placeholder{color:var(--muted)}.field-help{font-size:var(--fs-small);color:var(--muted)}.field-error{font-size:var(--fs-small);color:var(--ink);border-left:2px solid var(--green);padding-left:var(--space-3)}@media (width<=480px){.field-input{padding:14px 16px;font-size:17px}.btn-primary,.btn-secondary,.btn-accent{padding:14px 22px;font-size:16px}}
