:root{--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-200:#e9d5ff;--purple-500:#a855f7;--purple-600:#9333ea;--purple-700:#7c3aed;--purple-800:#6b21a8;--purple-900:#581c87;--green-50:#f0fdf4;--green-100:#dcfce7;--green-500:#22c55e;--green-600:#16a34a;--red-50:#fef2f2;--red-100:#fee2e2;--red-500:#ef4444;--red-600:#dc2626;--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-500:#f59e0b;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--radius:8px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--gray-50);color:var(--gray-800);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.topnav{background:linear-gradient(135deg, var(--purple-700), var(--purple-900));color:#fff;z-index:100;box-shadow:var(--shadow-md);padding:0 1.5rem;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;height:60px;margin:0 auto;display:flex}.logo{color:#fff;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.logo-icon{background:#fff3;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;font-weight:800;display:flex}.nav-links{gap:1.5rem;display:flex}.nav-links a{color:#fffc;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#fff}main{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}footer{text-align:center;color:var(--gray-400);border-top:1px solid var(--gray-200);margin-top:3rem;padding:2rem;font-size:.85rem}.card{border-radius:var(--radius);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;padding:1.5rem;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-md)}.card a{color:inherit;text-decoration:none}h1{color:var(--gray-900);margin-bottom:.5rem;font-size:1.75rem;font-weight:800}h2{color:var(--gray-900);border-bottom:2px solid var(--purple-200);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.35rem;font-weight:700}h3{color:var(--gray-800);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.badge{text-transform:uppercase;letter-spacing:.025em;border-radius:9999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-critical{background:var(--red-100);color:var(--red-600)}.badge-high{background:var(--amber-100);color:var(--amber-500)}.badge-medium{background:var(--purple-100);color:var(--purple-600)}.checklist{padding:0;list-style:none}.checklist li{border-bottom:1px solid var(--gray-100);padding:.5rem 0 .5rem 1.75rem;font-size:.9rem;position:relative}.checklist li:last-child{border-bottom:none}.checklist li:before{content:"";border:2px solid var(--gray-300);background:#fff;border-radius:3px;width:16px;height:16px;position:absolute;top:.65rem;left:0}.steps{counter-reset:step;padding:0;list-style:none}.steps li{counter-increment:step;padding:.4rem 0 .4rem 2.25rem;font-size:.9rem;position:relative}.steps li:before{content:counter(step);background:var(--purple-100);width:22px;height:22px;color:var(--purple-700);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:.35rem;left:0}.score-table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.85rem}.score-table th{background:var(--gray-100);text-align:left;color:var(--gray-600);border-bottom:2px solid var(--gray-200);padding:.5rem .75rem;font-weight:600}.score-table td{border-bottom:1px solid var(--gray-100);padding:.5rem .75rem}.score-table tr:hover td{background:var(--gray-50)}.meta-row{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.meta-item{color:var(--gray-500);align-items:center;gap:.35rem;font-size:.85rem;display:flex}.meta-item strong{color:var(--gray-700)}@media (width<=768px){.nav-links{gap:.75rem}.nav-links a{font-size:.8rem}main{padding:1rem}}
