@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-base:#0b0b0f;--bg-surface:#14141a;--bg-elevated:#1c1c24;--bg-hover:#22222c;--bg-input:#18181f;--text-primary:#f0f0f5;--text-secondary:#8a8a9a;--text-muted:#55556a;--text-inverse:#0b0b0f;--pop-coral:#ff5c5c;--pop-green:#3dffa0;--pop-yellow:#ffd460;--pop-blue:#5cb8ff;--pop-purple:#b47cff;--border:#ffffff0f;--border-hover:#ffffff1f;--border-accent:#ff5c5c4d;--font-display:"Bricolage Grotesque", Georgia, serif;--font-body:"DM Sans", -apple-system, sans-serif;--font-sans:"DM Sans", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--transition-fast:.15s ease;--sp-xs:.25rem;--sp-sm:.5rem;--sp-md:1rem;--sp-lg:1.5rem;--sp-xl:2rem;--sp-2xl:3rem;--sp-3xl:4.5rem;--sp-4xl:6rem;--sp-5xl:8rem;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-2xl:28px;--r-full:9999px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 48px #00000080;--shadow-glow-coral:0 0 40px -8px #ff5c5c66;--shadow-glow-green:0 0 40px -8px #3dffa04d;--on-coral:#0b0b0f;--pop-coral-text:#ff5c5c;--link-hover:var(--pop-yellow)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg-base:#fff;--bg-surface:#f5f5f7;--bg-elevated:#ebebef;--bg-hover:#e0e0e6;--bg-input:#f0f0f3;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--text-inverse:#f0f0f5;--pop-coral-text:#c93a3a;--link-hover:#8a6500;--border:#e4e4e7;--border-hover:#d4d4d8;--border-accent:#ff5c5c4d;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 48px #0000001a}}[data-theme=light]{--bg-base:#fff;--bg-surface:#f5f5f7;--bg-elevated:#ebebef;--bg-hover:#e0e0e6;--bg-input:#f0f0f3;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--text-inverse:#f0f0f5;--pop-coral-text:#c93a3a;--border:#e4e4e7;--border-hover:#d4d4d8;--border-accent:#ff5c5c4d;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 48px #0000001a}[data-theme=dark]{--bg-base:#0b0b0f;--bg-surface:#14141a;--bg-elevated:#1c1c24;--bg-hover:#22222c;--bg-input:#18181f;--text-primary:#f0f0f5;--text-secondary:#8a8a9a;--text-muted:#55556a;--text-inverse:#0b0b0f;--pop-coral-text:#ff5c5c;--link-hover:var(--pop-yellow);--border:#ffffff0f;--border-hover:#ffffff1f;--border-accent:#ff5c5c4d;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 48px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-base);min-height:100vh;line-height:1.6;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);font-weight:800;line-height:1.05}h1{font-size:clamp(2.75rem,7vw,5rem)}h2{font-size:clamp(2rem,4.5vw,3.25rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}p{color:var(--text-secondary);font-size:1.0625rem;line-height:1.7}a{color:var(--pop-coral-text);text-decoration:none;transition:color .2s}a:hover{color:var(--link-hover)}.container{width:100%;max-width:1180px;padding:0 var(--sp-lg);margin:0 auto}.container-narrow{max-width:720px}.section{padding:var(--sp-5xl) 0}.btn{font-family:var(--font-display);letter-spacing:-.01em;border-radius:var(--r-full);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:700;line-height:1.3;text-decoration:none;transition:all .25s cubic-bezier(.22,1,.36,1);display:inline-flex;position:relative}.btn-primary{background:var(--pop-coral);color:var(--on-coral)}.btn-primary:hover{color:var(--on-coral);box-shadow:var(--shadow-glow-coral);background:#ff7474;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-hover);background:0 0}.btn-secondary:hover{border-color:var(--pop-coral);color:var(--pop-coral);background:#ff5c5c0d}.btn-ghost{color:var(--text-secondary);background:0 0;padding:.5rem .75rem}.btn-ghost:hover{color:var(--text-primary)}.btn-lg{padding:1rem 2rem;font-size:1.0625rem}.btn-sm{padding:.4375rem 1rem;font-size:.8125rem}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-xl);transition:all .3s cubic-bezier(.22,1,.36,1)}.card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.input{width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-lg);outline:none;padding:.75rem 1rem;font-size:.9375rem;transition:all .2s}.input:focus{border-color:var(--pop-coral);box-shadow:0 0 0 3px #ff5c5c1f}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:120px;line-height:1.6}.badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-full);border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-elevated);align-items:center;padding:.25rem .75rem;font-size:.6875rem;font-weight:500;display:inline-flex}.gradient-text{background:linear-gradient(135deg, var(--pop-coral), var(--pop-yellow));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.pill{border-radius:var(--r-full);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-flex}.section-header{margin-bottom:var(--sp-3xl)}.section-header .label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pop-coral-text);margin-bottom:var(--sp-md);font-size:.75rem;font-weight:500;display:inline-block}.section-header h2{margin-bottom:var(--sp-md)}.section-header p{max-width:560px;font-size:1.125rem}.grid{gap:var(--sp-lg);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (width<=768px){.grid-2,.grid-3{grid-template-columns:1fr}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.anim-fade-up{opacity:0;animation:.7s cubic-bezier(.22,1,.36,1) forwards fadeUp}.anim-d1{animation-delay:.1s}.anim-d2{animation-delay:.2s}.anim-d3{animation-delay:.3s}.anim-d4{animation-delay:.4s}.divider{background:var(--border);height:1px;margin:var(--sp-3xl) 0}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.anim-fade-up{opacity:1!important;animation:none!important;transform:none!important}}.text-center{text-align:center}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.text-coral{color:var(--pop-coral)}.text-green{color:var(--pop-green)}.text-yellow{color:var(--pop-yellow)}.app-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-xl);box-shadow:var(--shadow-sm)}.auth-section{min-height:calc(100vh - 8rem);padding:var(--sp-xl);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-2xl);width:100%;max-width:420px;padding:var(--sp-2xl);box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:var(--sp-xl)}.auth-header h1{margin-bottom:var(--sp-xs);font-size:1.5rem}.auth-header p{font-size:.875rem}.auth-form{gap:var(--sp-md);flex-direction:column;display:flex}.form-group{flex-direction:column;gap:.25rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.error-msg{color:var(--pop-coral);padding:var(--sp-sm);border-radius:var(--r-md);background:#ef444414;font-size:.8125rem}.auth-footer{text-align:center;margin-top:var(--sp-lg);color:var(--text-secondary);font-size:.875rem}.auth-divider{align-items:center;gap:var(--sp-md);margin:var(--sp-lg) 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.btn-oauth{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);width:100%;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s;display:flex}.btn-oauth:hover{background:var(--bg-elevated);border-color:var(--text-muted)}.btn-oauth+.btn-oauth{margin-top:.5rem}.legal-section{padding:var(--sp-3xl) 0 var(--sp-4xl)}.legal-section h1{margin-bottom:var(--sp-xs);font-size:2rem}.legal-updated{color:var(--text-muted);margin-bottom:var(--sp-2xl);font-size:.875rem}.legal-section h2{margin-top:var(--sp-2xl);margin-bottom:var(--sp-sm);font-size:1.25rem}.legal-section h3{margin-top:var(--sp-lg);margin-bottom:var(--sp-xs);font-size:1rem;font-weight:600}.legal-section p{color:var(--text-secondary);margin-bottom:var(--sp-md);font-size:.9375rem;line-height:1.7}.legal-section ul{margin-bottom:var(--sp-md);padding-left:1.5rem}.legal-section li{color:var(--text-secondary);margin-bottom:var(--sp-xs);font-size:.9375rem;line-height:1.7}.legal-section a{color:var(--pop-coral-text);text-underline-offset:2px;text-decoration:underline}.legal-section a:hover{text-decoration:underline}
