@font-face{font-family:Inter;font-style:normal;font-weight:300 500;font-display:swap;src:url(https://cdn.theflyingrat.com/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600 700;font-display:swap;src:url(https://cdn.theflyingrat.com/fonts/spacegrotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.theflyingrat.com/fonts/jetbrainsmono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--bg: #050510;--surface: rgba(255, 255, 255, .04);--surface-border: rgba(255, 255, 255, .08);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #475569;--accent-1: #6366f1;--accent-2: #8b5cf6;--accent-3: #06b6d4;--success: #10b981;--error: #f43f5e;--ease: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .6s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bg-blobs{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.bg-blob{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}.bg-blob--indigo{width:60vmax;height:50vmax;top:10%;left:-10%;background:#6366f11f;animation:blob1 25s ease-in-out infinite alternate}.bg-blob--purple{width:50vmax;height:60vmax;top:-15%;right:-10%;background:#8b5cf61a;animation:blob2 30s ease-in-out infinite alternate}.bg-blob--cyan{width:55vmax;height:45vmax;bottom:-10%;left:20%;background:#06b6d414;animation:blob3 22s ease-in-out infinite alternate}@keyframes blob1{0%{transform:translate(0)}to{transform:translate(15vw,10vh)}}@keyframes blob2{0%{transform:translate(0)}to{transform:translate(-12vw,15vh)}}@keyframes blob3{0%{transform:translate(0)}to{transform:translate(10vw,-12vh)}}main{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:1.5rem}.card{width:100%;max-width:580px;background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--surface-border);border-radius:20px;padding:2.5rem 2.5rem 2rem;position:relative;overflow:hidden;transition:border-color var(--duration-slow) var(--ease),box-shadow var(--duration-slow) var(--ease)}.card[data-step="0"]{border-color:#6366f133;box-shadow:0 0 40px -10px #6366f126}.card[data-step="1"]{border-color:#8b5cf633;box-shadow:0 0 40px -10px #8b5cf626}.card[data-step="2"],.card[data-step="3"]{border-color:#06b6d433;box-shadow:0 0 40px -10px #06b6d426}.card[data-state=success]{border-color:#10b9814d;box-shadow:0 0 50px -10px #10b98133}.card[data-state=error]{border-color:#f43f5e4d;box-shadow:0 0 50px -10px #f43f5e33}.progress{position:absolute;top:0;left:0;height:3px;border-radius:0 3px 3px 0;transition:width var(--duration-slow) var(--ease),background var(--duration-slow) var(--ease)}.card[data-step="0"] .progress{width:25%;background:linear-gradient(90deg,var(--accent-1),var(--accent-2))}.card[data-step="1"] .progress{width:50%;background:linear-gradient(90deg,var(--accent-1),var(--accent-2))}.card[data-step="2"] .progress{width:75%;background:linear-gradient(90deg,var(--accent-2),var(--accent-3))}.card[data-step="3"] .progress{width:100%;background:linear-gradient(90deg,var(--accent-3),var(--success))}.card[data-state=success] .progress{width:100%;background:var(--success)}.steps{position:relative;height:280px}.step{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity var(--duration-normal) var(--ease),transform var(--duration-normal) var(--ease)}.step.active{opacity:1;transform:translateY(0);pointer-events:auto}.step-label{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.step-prompt{font-family:var(--font-display);font-size:1.75rem;font-weight:600;line-height:1.3;margin-bottom:2rem;color:var(--text-primary)}.field{position:relative;margin-bottom:1.5rem}.field input,.field textarea{width:100%;background:transparent;border:none;border-bottom:2px solid var(--surface-border);padding:.75rem 0;font-family:var(--font-body);font-size:1.125rem;color:var(--text-primary);outline:none;transition:border-color var(--duration-fast) var(--ease);caret-color:var(--accent-1)}.field textarea{resize:vertical;min-height:120px;max-height:300px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted);font-weight:300}.card[data-step="0"] .field input:focus{border-color:var(--accent-1);caret-color:var(--accent-1)}.card[data-step="1"] .field input:focus{border-color:var(--accent-2);caret-color:var(--accent-2)}.card[data-step="2"] .field input:focus{border-color:var(--accent-3);caret-color:var(--accent-3)}.card[data-step="3"] .field textarea:focus{border-color:var(--accent-3);caret-color:var(--accent-3)}.field-hint{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.field-error{font-family:var(--font-mono);font-size:.8rem;color:var(--error);margin-top:.5rem;overflow:hidden;max-height:0;opacity:0;transition:max-height var(--duration-normal) var(--ease),opacity var(--duration-normal) var(--ease)}.field-error.visible{max-height:3rem;opacity:1}.nav{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.nav-back{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:.5rem 0;transition:color var(--duration-fast) var(--ease);visibility:hidden}.nav-back.visible{visibility:visible}.nav-back:hover{color:var(--text-secondary)}.nav-next{font-family:var(--font-mono);font-size:.9rem;font-weight:500;color:var(--bg);background:var(--accent-1);border:none;border-radius:10px;padding:.75rem 2rem;cursor:pointer;transition:background var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease),opacity var(--duration-fast) var(--ease)}.nav-next:hover{transform:translateY(-1px)}.nav-next:active{transform:translateY(0)}.nav-next:disabled{opacity:.4;cursor:not-allowed;transform:none}.card[data-step="0"] .nav-next{background:var(--accent-1)}.card[data-step="1"] .nav-next{background:var(--accent-2)}.card[data-step="2"] .nav-next,.card[data-step="3"] .nav-next{background:var(--accent-3)}.nav-next.sending{pointer-events:none;opacity:.7}.success-message{text-align:center;padding:2rem 0}.success-checkmark{width:64px;height:64px;margin:0 auto 1.5rem;border-radius:50%;border:3px solid var(--success);display:flex;align-items:center;justify-content:center;animation:scaleIn var(--duration-normal) var(--ease)}.success-checkmark svg{width:32px;height:32px;stroke:var(--success);stroke-dasharray:40;stroke-dashoffset:40;animation:drawCheck var(--duration-slow) var(--ease) .2s forwards}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.success-subtitle{font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary)}.success-reset{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);background:none;border:1px solid var(--surface-border);border-radius:8px;padding:.5rem 1.25rem;cursor:pointer;margin-top:1.5rem;transition:color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.success-reset:hover{color:var(--text-secondary);border-color:var(--text-muted)}.api-error{font-family:var(--font-mono);font-size:.8rem;color:var(--error);text-align:center;padding:.75rem;margin-top:1rem;border-radius:8px;background:#f43f5e14;overflow:hidden;max-height:0;opacity:0;transition:max-height var(--duration-normal) var(--ease),opacity var(--duration-normal) var(--ease),margin var(--duration-normal) var(--ease)}.api-error.visible{max-height:5rem;opacity:1}.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;pointer-events:none}.footer{position:fixed;bottom:0;left:0;right:0;z-index:1;text-align:center;padding:1.5rem 2rem}.footer p{font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);opacity:.4;transition:opacity var(--duration-normal) var(--ease)}.footer p:hover{opacity:.7}.footer a{color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease)}.footer a:hover{color:var(--accent-1)}@media(max-width:640px){.card{padding:2rem 1.5rem 1.5rem;border-radius:16px}.steps{height:260px}.step-prompt{font-size:1.4rem}.field input,.field textarea{font-size:1rem}}
