:root{--bg:#f8fafc;--text:#0f172a;--muted:#475569;--card:#fff;--border:#e2e8f0;--accent:#2563eb;--good:#16a34a;--warn:#f59e0b;--bad:#dc2626}.dark{--bg:#0b1120;--text:#e2e8f0;--muted:#94a3b8;--card:#111827;--border:#1f2937;--accent:#60a5fa;--good:#22c55e;--warn:#fbbf24;--bad:#f87171}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}main{padding:48px 24px}.container{max-width:1100px;margin:0 auto}.muted{color:var(--muted)}.status{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.status.error{color:var(--bad);background:#dc26260f;border-color:#dc262666}.status.success{color:var(--good);background:#22c55e14;border-color:#22c55e66}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 1px 2px #0f172a0f}.card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pill{letter-spacing:.01em;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.pill.good{color:var(--good);background:#22c55e1f}.pill.warn{color:var(--warn);background:#f59e0b29}.pill.bad{color:var(--bad);background:#dc26261f}.button{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 16px;font-weight:600}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.ghost{background:0 0}.score{font-size:32px;font-weight:700}.score.good{color:var(--good)}.score.warn{color:var(--warn)}.score.bad{color:var(--bad)}.skeleton{background:#94a3b826;border-radius:12px;min-height:16px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.form-field{gap:8px;display:grid}input,textarea{border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;border-radius:10px;padding:10px 12px}textarea{resize:vertical}@media (max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr}}
