@import url("https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:wght@300;400;500;600&display=swap");:root{--bg:#1e1e1e;--bg-card:#252525;--bg-elevated:#2c2c2c;--accent:#00aeef;--accent-dim:rgba(0,174,239,.15);--accent-glow:rgba(0,174,239,.4);--text:#f0f0f0;--text-muted:#888;--text-dim:#555;--border:hsla(0,0%,100%,.07);--radius:16px;--radius-sm:10px;--transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:16px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Syne,sans-serif;line-height:1.2}a{color:var(--accent);text-decoration:none}a:hover{opacity:.85}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.container{max-width:900px;margin:0 auto;padding:0 20px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:var(--transition)}.card:hover{border-color:rgba(0,174,239,.2)}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--radius-sm);font-family:Syne,sans-serif;font-weight:700;font-size:15px;cursor:pointer;transition:var(--transition);border:none;outline:none}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{background:#00c4ff;box-shadow:0 0 24px var(--accent-glow);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}.btn-outline:hover{background:var(--accent-dim);box-shadow:0 0 16px var(--accent-glow)}.btn-ghost{background:var(--bg-elevated);color:var(--text)}.btn-ghost:hover{background:#333}input,select,textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:DM Sans,sans-serif;font-size:15px;padding:12px 16px;width:100%;transition:var(--transition);outline:none;resize:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}select option{background:var(--bg-elevated)}label{display:block;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px}.score-badge,label{font-family:Syne,sans-serif}.score-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--accent-dim);border:2px solid var(--accent);color:var(--accent);font-weight:800;font-size:16px}.tag{display:inline-block;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:600;font-family:Syne,sans-serif;text-transform:uppercase;letter-spacing:.06em}.tag-green{background:rgba(0,200,100,.15);color:#00c864;border:1px solid rgba(0,200,100,.3)}.tag-red{background:rgba(255,60,60,.15);color:#f44;border:1px solid rgba(255,60,60,.3)}.tag-blue{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(0,174,239,.3)}.tag-yellow{background:rgba(255,200,0,.15);color:#fc0;border:1px solid rgba(255,200,0,.3)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:24px;height:24px;border:3px solid var(--accent-dim);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease forwards}@keyframes glowPulse{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow)}}.glow-pulse{animation:glowPulse 2s ease infinite}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:16px}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.container{padding:0 16px}.card{padding:18px}}.progress-bar{height:6px;background:var(--bg-elevated);border-radius:100px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:100px;transition:width .8s cubic-bezier(.4,0,.2,1)}