@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&display=swap";
:root{--font-body:"DM Sans",sans-serif;--bg:#f1f5f9;--surface:#fff;--surface2:#f9fafb;--panel-bg:#fff;--input-bg:#f9fafb;--border:#6366f126;--border-hover:#6366f159;--accent:#4f46e5;--accent-light:#6366f1;--accent-glow:#4f46e51f;--accent-tint:#eef2ff;--accent-ring:#c7d2fe;--text:#1e293b;--text-muted:#9ca3af;--text-subtle:#64748b;--error:#ef4444;--error-tint:#fef2f2;--success:#16a34a;--success-tint:#f0fdf4}*{box-sizing:border-box}body{background:var(--bg);font-family:var(--font-body);color:var(--text)}@keyframes slowSpin{0%{transform:translate(-50%,-60%)rotate(0)}to{transform:translate(-50%,-60%)rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes successPulse{0%{box-shadow:0 0 #4f46e566}70%{box-shadow:0 0 0 14px #4f46e500}to{box-shadow:0 0 #4f46e500}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes progressBar{0%{width:0%}to{width:100%}}.fade-up{opacity:0;animation:.55s forwards fadeUp}.fade-up-1{animation-delay:50ms}.fade-up-2{animation-delay:.11s}.fade-up-3{animation-delay:.18s}.fade-up-4{animation-delay:.25s}.fade-up-5{animation-delay:.32s}.fade-up-6{animation-delay:.4s}.shake{animation:.45s shake}.success-ring{animation:.6s successPulse}.pop-in{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards popIn}input::placeholder{color:#cbd5e1}select option{color:var(--text);background:#fff}.btn-primary{background:var(--accent);color:#fff;font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:10px;width:100%;padding:13px 28px;font-size:.82rem;font-weight:600;transition:background .2s,box-shadow .2s,transform .15s;position:relative;overflow:hidden}.btn-primary:hover:not(:disabled){background:#4338ca;transform:translateY(-1px);box-shadow:0 6px 24px #4f46e54d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.show-btn{cursor:pointer;font-size:.7rem;font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:0 0;border:none;padding:0;font-weight:500;transition:color .2s}.show-btn:hover{color:var(--accent)}.divider{align-items:center;gap:12px;margin:4px 0;display:flex}.divider-line{background:#e2e8f0;flex:1;height:1px}.social-btn{background:var(--surface2);width:100%;color:var(--text-subtle);font-family:var(--font-body);cursor:pointer;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.social-btn:hover{border-color:var(--accent-ring);color:var(--accent);background:var(--accent-tint)}.checkbox-custom{background:var(--surface);cursor:pointer;appearance:none;border:1.5px solid #cbd5e1;border-radius:4px;flex-shrink:0;place-items:center;width:16px;height:16px;transition:all .18s;display:grid}.checkbox-custom:checked{background:var(--accent);border-color:var(--accent)}.checkbox-custom:checked:after{content:"";border-bottom:1.5px solid #fff;border-right:1.5px solid #fff;width:4px;height:7px;display:block;transform:rotate(45deg)translate(-1px,-1px)}.mode-tab{font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:.78rem;font-weight:500;transition:all .18s;display:flex}.mode-tab.active{background:var(--accent-tint);border-color:var(--accent-ring);color:var(--accent)}.mode-tab.inactive{color:var(--text-muted)}.mode-tab.inactive:hover{color:var(--text-subtle);background:#f1f5f9}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--accent-ring);border-radius:2px}
