:root{--bg: #f7f7f8;--bg-white: #ffffff;--bg-surface: #f0f0f2;--bg-surface-hover: #e8e8ec;--sidebar-bg: #1b1f3b;--sidebar-text: rgba(255,255,255,.55);--sidebar-text-hover: #ffffff;--sidebar-border: rgba(255,255,255,.08);--border: #e2e2e6;--text: #1b1f3b;--text-muted: #5a5d6e;--accent: #0084ff;--accent-hover: #006cd6;--accent-soft: rgba(0, 132, 255, .08);--green: #16a34a;--yellow: #ca8a04;--red: #dc2626;--sidebar-w: 260px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace}*{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased}body{display:flex;min-height:100vh}nav.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;overflow-y:auto;background:var(--sidebar-bg);padding:1.5rem 0;z-index:100}nav.sidebar .logo{padding:0 1.25rem 1.25rem;border-bottom:1px solid var(--sidebar-border);margin-bottom:.75rem;display:flex;align-items:center;gap:.6rem;text-decoration:none;color:#fff}nav.sidebar .logo svg{width:20px;height:20px;opacity:.7;flex-shrink:0}nav.sidebar .logo .logo-text{font-size:1.05rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}nav.sidebar .logo .logo-sub{font-size:.65rem;font-weight:500;color:#fff6;letter-spacing:.04em;text-transform:uppercase;display:block;margin-top:.1rem}nav.sidebar a{display:block;padding:.4rem 1.25rem;color:var(--sidebar-text);text-decoration:none;font-size:.85rem;font-weight:500;transition:all .15s;border-left:2px solid transparent}nav.sidebar a:hover{color:var(--sidebar-text-hover);background:#ffffff0a;text-decoration:none}nav.sidebar a.active{color:var(--sidebar-text-hover);border-left-color:var(--accent);background:#ffffff0f}nav.sidebar .subnav{padding-left:.75rem}nav.sidebar .subnav-item{font-size:.8rem;padding-top:.3rem;padding-bottom:.3rem;color:#ffffff59}nav.sidebar .subnav-item:hover{color:var(--sidebar-text-hover)}nav.sidebar .subnav-item.active{color:var(--sidebar-text-hover);border-left-color:var(--accent);background:#ffffff0f}nav.sidebar .section-label{padding:1rem 1.25rem .35rem;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d}main{margin-left:var(--sidebar-w);flex:1;max-width:900px;padding:3rem 3.5rem 6rem}h1{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem;color:var(--text);line-height:1.2}h2{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--border);color:var(--text);line-height:1.3}h3{font-size:1.1rem;font-weight:700;margin-top:1.75rem;margin-bottom:.5rem;color:var(--text)}p{margin-bottom:1rem;color:var(--text-muted)}strong{color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}ul,ol{margin-bottom:1rem;padding-left:1.5rem;color:var(--text-muted)}li{margin-bottom:.35rem}li strong{color:var(--text)}table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:.85rem;background:var(--bg-white);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}th{text-align:left;padding:.65rem .85rem;background:var(--sidebar-bg);color:#fff;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border:none}td{padding:.6rem .85rem;border-bottom:1px solid var(--border);color:var(--text-muted)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}code{font-family:var(--font-mono);font-size:.82em;background:var(--bg-surface);padding:.15em .4em;border-radius:4px;border:1px solid var(--border);color:var(--text)}.callout{padding:1rem 1.25rem;border-radius:10px;margin:1.25rem 0;border-left:3px solid;font-size:.9rem}.callout p{margin-bottom:0}.callout.info{background:var(--accent-soft);border-color:var(--accent)}.callout.warning{background:#ca8a040f;border-color:var(--yellow)}.callout.success{background:#16a34a0f;border-color:var(--green)}.callout.danger{background:#dc26260f;border-color:var(--red)}.badge{display:inline-block;font-size:.7rem;font-weight:700;padding:.15em .5em;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}.badge.high{background:#dc26261a;color:var(--red)}.badge.med{background:#ca8a041a;color:var(--yellow)}.badge.low{background:#16a34a1a;color:var(--green)}.tag{display:inline-block;font-size:.7rem;font-weight:700;padding:.15em .55em;border-radius:4px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.tag.low{background:#16a34a1a;color:var(--green)}.tag.medium{background:#ca8a041a;color:var(--yellow)}.tag.high{background:#0084ff1a;color:var(--accent)}.tag.very-high{background:#dc26261a;color:var(--red)}.chart-wrap{background:var(--bg-white);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin:1.5rem 0;box-shadow:0 1px 3px #0000000f}.chart-wrap canvas{max-height:300px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.5rem 0}.stat-card{background:var(--bg-white);border:1px solid var(--border);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.stat-card .label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.35rem}.stat-card .value{font-size:1.75rem;font-weight:800;color:var(--text);letter-spacing:-.02em}.stat-card .value.accent{color:var(--accent)}.stat-card .value.green{color:var(--green)}.stat-card .value.red{color:var(--red)}.stat-card .value.yellow{color:var(--yellow)}ul.checklist{list-style:none;padding-left:0}ul.checklist li{padding:.5rem 0 .5rem 1.75rem;position:relative;border-bottom:1px solid var(--border)}ul.checklist li:before{content:"";position:absolute;left:0;top:.7rem;width:14px;height:14px;border:2px solid var(--border);border-radius:3px;background:var(--bg-white)}.page-nav{display:flex;justify-content:space-between;margin-top:4rem;padding-top:1.5rem;border-top:2px solid var(--border)}.page-nav a{font-size:.85rem;color:var(--accent);font-weight:500}@media(max-width:900px){nav.sidebar{position:relative;width:100%;height:auto;border-bottom:1px solid var(--sidebar-border)}main{margin-left:0;padding:2rem 1.5rem}body{flex-direction:column}}
