*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0f;--bg2: #111118;--bg3: #18181f;--bg4: #1e1e28;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.12);--text: #f0f0f5;--text2: #9090a8;--text3: #5a5a72;--accent: #7c6af7;--accent2: #5a4fd4;--accent-glow: rgba(124,106,247,.15);--green: #3dd68c;--green-bg: rgba(61,214,140,.1);--amber: #f0a429;--amber-bg: rgba(240,164,41,.1);--red: #f06464;--red-bg: rgba(240,100,100,.1);--blue: #4fa3f7;--blue-bg: rgba(79,163,247,.1);--font-display: "Syne", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "DM Mono", monospace;--radius: 10px;--radius-lg: 16px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}input,textarea,select,button{font-family:var(--font-body);font-size:14px}button{cursor:pointer;border:none;background:none}a{color:var(--accent);text-decoration:none}::selection{background:var(--accent2);color:#fff}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;font-family:var(--font-mono)}.tag-green{background:var(--green-bg);color:var(--green)}.tag-amber{background:var(--amber-bg);color:var(--amber)}.tag-red{background:var(--red-bg);color:var(--red)}.tag-blue{background:var(--blue-bg);color:var(--blue)}.tag-purple{background:var(--accent-glow);color:var(--accent)}.score-ring{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-family:var(--font-mono);font-size:13px;font-weight:500}.score-high{background:var(--green-bg);color:var(--green);border:1.5px solid var(--green)}.score-mid{background:var(--amber-bg);color:var(--amber);border:1.5px solid var(--amber)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;transition:all .15s;border:1px solid transparent}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent2);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text2);border-color:var(--border2)}.btn-ghost:hover{background:var(--bg3);color:var(--text)}.btn-sm{padding:5px 10px;font-size:12px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s}.card:hover{border-color:var(--border2)}.input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;color:var(--text);outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text3)}.spinner{width:18px;height:18px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .25s ease forwards}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}
