@font-face{font-family:Syne;src:url(../../../fonts/Syne-Bold.woff2) format("woff2");font-weight:700 800;font-display:swap}@font-face{font-family:DMSans;src:url(../../../fonts/DMSans-Regular.woff2) format("woff2");font-weight:400 600;font-display:swap}@font-face{font-family:JetBrainsMono;src:url(../../../fonts/JetBrainsMono-Medium.woff2) format("woff2");font-weight:500 700;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f7f4ef;--ink: #1a1a2e;--paper: #ffffff;--rule: #e8e3dc;--muted: #8a8570;--correct:#06d6a0;--wrong: #ef233c;--warn: #ffd166;--radius: 12px;--shadow: 0 2px 12px rgba(0,0,0,.07);--purple: #534AB7;--purple-light: #6b5fd4;--teal: #00d4aa;--dark: #0a0a0f;--dark2: #131320;--hero-gradient: linear-gradient(135deg, #0a0a0f 0%, #131320 60%, #1a1030 100%);--accent-line: linear-gradient(90deg, var(--purple), var(--teal));font-family:DMSans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}body{min-height:100vh;background-color:var(--bg);background-image:linear-gradient(rgba(0,0,0,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.022) 1px,transparent 1px);background-size:32px 32px;color:var(--ink)}body.page-marketing{background-image:none;background-color:#fafaf9}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4{font-family:Syne,sans-serif}code,.mono{font-family:JetBrainsMono,monospace}a{color:var(--ink)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:99px}.container{max-width:1120px;margin:0 auto;padding:0 24px}.dashboard{max-width:1000px;margin:0 auto;padding:32px 24px}@media(max-width:600px){.dashboard{padding:20px 16px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#fafaf9;background-image:none}.auth-card{background:var(--paper);border:1px solid var(--rule);border-radius:20px;padding:36px 32px;width:100%;max-width:440px;box-shadow:0 8px 40px #00000014}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:.78rem;font-weight:700;color:var(--muted)}.field input{padding:10px 12px;border:1px solid var(--rule);border-radius:8px;font-size:.9rem;font-family:inherit;background:var(--bg);color:var(--ink);outline:none;transition:all .15s}.field input:focus{border-color:var(--purple);background:#fff;box-shadow:0 0 0 3px #534ab714}.field.has-error input{border-color:var(--wrong)}.field-error{font-size:.72rem;color:var(--wrong);font-weight:600}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border:none;border-radius:10px;background:var(--purple);color:#fff;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s,transform .12s,box-shadow .15s;box-shadow:0 4px 14px #534ab740}.btn-primary:hover:not(:disabled){background:var(--purple-light);transform:translateY(-1px);box-shadow:0 6px 20px #534ab759}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border:2px solid var(--rule);border-radius:10px;background:transparent;color:var(--muted);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .15s}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.banner-error{background:#fff5f5;border:1px solid #ffd0d0;border-radius:8px;padding:10px 14px;font-size:.82rem;color:var(--wrong);font-weight:600}.banner-success{background:#f0fff8;border:1px solid #b2f0da;border-radius:8px;padding:10px 14px;font-size:.82rem;color:#009970;font-weight:600;line-height:1.5}.banner-info{display:flex;gap:10px;padding:12px 14px;background:#f0f4ff;border-radius:8px;border-left:3px solid var(--purple);font-size:.8rem;line-height:1.5;color:#2d3a8c}.accent-rule{height:2px;background:var(--accent-line);border:none;border-radius:2px;opacity:.7}.reveal{opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease}.reveal.revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
