: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 rgba(0,0,0,.05);--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.05)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gray-50);color:var(--gray-800);line-height:1.6;min-height:100vh}.topnav{background:linear-gradient(135deg,var(--purple-700),var(--purple-900));color:#fff;padding:0 1.5rem;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px}.logo{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem}.logo-icon{width:32px;height:32px;background:#fff3;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:#fffc;text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:#fff}main{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}footer{text-align:center;padding:2rem;color:var(--gray-400);font-size:.85rem;border-top:1px solid var(--gray-200);margin-top:3rem}.card{background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);padding:1.5rem;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-md)}.card a{text-decoration:none;color:inherit}h1{font-size:1.75rem;font-weight:800;color:var(--gray-900);margin-bottom:.5rem}h2{font-size:1.35rem;font-weight:700;color:var(--gray-900);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--purple-200)}h3{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin-bottom:.75rem}.badge{display:inline-block;padding:.15rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.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{list-style:none;padding:0}.checklist li{padding:.5rem 0 .5rem 1.75rem;position:relative;border-bottom:1px solid var(--gray-100);font-size:.9rem}.checklist li:last-child{border-bottom:none}.checklist li:before{content:"";position:absolute;left:0;top:.65rem;width:16px;height:16px;border:2px solid var(--gray-300);border-radius:3px;background:#fff}.steps{counter-reset:step;list-style:none;padding:0}.steps li{counter-increment:step;padding:.4rem 0 .4rem 2.25rem;position:relative;font-size:.9rem}.steps li:before{content:counter(step);position:absolute;left:0;top:.35rem;width:22px;height:22px;background:var(--purple-100);color:var(--purple-700);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.score-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.85rem}.score-table th{background:var(--gray-100);padding:.5rem .75rem;text-align:left;font-weight:600;color:var(--gray-600);border-bottom:2px solid var(--gray-200)}.score-table td{padding:.5rem .75rem;border-bottom:1px solid var(--gray-100)}.score-table tr:hover td{background:var(--gray-50)}.meta-row{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--gray-500)}.meta-item strong{color:var(--gray-700)}@media(max-width:768px){.nav-links{gap:.75rem}.nav-links a{font-size:.8rem}main{padding:1rem}}
