@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";
:root{--bg-deep:#080c18;--bg-surface:#0d1224;--bg-elevated:#141929;--bg-card:#141929b3;--accent-primary:#6366f1;--accent-primary-glow:#6366f14d;--accent-secondary:#8b5cf6;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--accent-sky:#38bdf8;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--text-accent:#a5b4fc;--border-subtle:#6366f126;--border-card:#ffffff0f;--gradient-primary:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-glow:linear-gradient(135deg, #6366f133 0%, #8b5cf633 100%);--gradient-bg:radial-gradient(ellipse at 20% 0%, #6366f11f 0%, transparent 60%), radial-gradient(ellipse at 80% 100%, #8b5cf614 0%, transparent 60%);--font-heading:"Syne", sans-serif;--font-body:"Inter", sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--shadow-card:0 4px 24px #0006, 0 1px 4px #0003;--shadow-glow:0 0 40px #6366f140;--shadow-btn:0 4px 16px #6366f166;--transition-fast:all .15s ease;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--transition-spring:all .4s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--bg-deep);background-image:var(--gradient-bg);color:var(--text-primary);background-attachment:fixed;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:800}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:clamp(1.125rem,2vw,1.5rem);font-weight:600}p{color:var(--text-secondary)}a{color:var(--accent-primary);transition:var(--transition-fast);text-decoration:none}a:hover{color:var(--text-accent)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-center{text-align:center}.w-full{width:100%}.card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-card);transition:var(--transition-smooth);padding:1.75rem}.card:hover{border-color:var(--border-subtle);box-shadow:var(--shadow-card), 0 0 0 1px var(--border-subtle)}.card-elevated{background:var(--bg-elevated);border-color:var(--border-subtle)}.btn{border-radius:var(--radius-full);font-family:var(--font-body);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.9375rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-btn), var(--shadow-glow);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-card);background:0 0}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-subtle)}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.8125rem;font-weight:600}.input{border:1px solid var(--border-card);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:var(--transition-fast);background:#ffffff0a;outline:none;padding:.75rem 1rem;font-size:.9375rem}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);background:#6366f10d}.input:invalid:not(:placeholder-shown){border-color:var(--accent-rose)}textarea.input{resize:vertical;min-height:100px}.score-ring{justify-content:center;align-items:center;display:inline-flex;position:relative}.score-ring svg{transform:rotate(-90deg)}.score-ring-value{text-align:center;position:absolute}.score-ring-value .score-num{font-family:var(--font-heading);font-size:1.75rem;font-weight:800;line-height:1;display:block}.score-ring-value .score-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.6875rem;font-weight:600}.badge{border-radius:var(--radius-full);letter-spacing:.04em;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:var(--accent-emerald);background:#10b98126;border:1px solid #10b98140}.badge-warning{color:var(--accent-amber);background:#f59e0b26;border:1px solid #f59e0b40}.badge-danger{color:var(--accent-rose);background:#f43f5e26;border:1px solid #f43f5e40}.badge-info{color:var(--accent-primary);background:#6366f126;border:1px solid #6366f140}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pulse-dot{background:var(--accent-emerald);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.divider{background:var(--border-card);height:1px;margin:1.5rem 0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:.5s forwards fadeInUp}.animate-fade-in{animation:.4s forwards fadeIn}.animate-scale-in{animation:.35s forwards scaleIn}@media (max-width:768px){.section{padding:3rem 0}.card{padding:1.25rem}.btn{padding:.675rem 1.25rem;font-size:.875rem}}
