:root{--navy:#193654;--navy-2:#284967;--purple:#7650ad;--ink:#20262d;--muted:#64707c;--line:#dce2e7;--paper:#fff;--canvas:#e9edf0;--critical:#8e2a38;--high:#bd553f;--soft:#f4f6f8}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:32px}
    body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.58}
    a{color:var(--navy);text-underline-offset:3px}
    .toolbar{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px max(20px,calc((100vw - 1120px)/2));border-bottom:1px solid #cfd6dc;background:rgba(239,242,244,.9);backdrop-filter:blur(12px)}
    .toolbar a,.toolbar button{border:0;background:none;color:#394654;font:600 12px inherit;text-decoration:none;cursor:pointer}
    .toolbar button{padding:8px 12px;border:1px solid #c8d0d7;border-radius:6px;background:#fff}
    .layout{width:min(1120px,calc(100% - 36px));margin:36px auto 70px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
    .toc{position:sticky;top:86px;padding:23px;border:1px solid #d1d8de;border-radius:8px;background:rgba(255,255,255,.84)}
    .toc strong{display:block;margin-bottom:15px;color:var(--navy);font-size:13px}
    .toc ol{margin:0;padding:0;list-style:none;counter-reset:item}
    .toc li{counter-increment:item}
    .toc a{display:grid;grid-template-columns:22px 1fr;gap:4px;padding:6px 0;color:#66717c;font-size:11px;line-height:1.35;text-decoration:none}
    .toc a:before{content:counter(item,decimal-leading-zero);color:#9aa4ad;font:10px ui-monospace,monospace}
    .toc a:hover{color:var(--navy)}
    .paper{position:relative;overflow:hidden;border:1px solid #d3d9de;border-radius:3px;background:var(--paper);box-shadow:0 20px 60px rgba(39,51,62,.12)}
    .paper:after{content:"SF";position:fixed;z-index:0;right:max(7vw,70px);bottom:3vh;color:rgba(25,54,84,.025);font-size:280px;font-weight:800;letter-spacing:-.13em;pointer-events:none}
    .cover{position:relative;min-height:640px;display:flex;flex-direction:column;justify-content:space-between;padding:76px 76px 58px;border-bottom:1px solid var(--line)}
    .cover:before{content:"";position:absolute;top:0;left:0;width:7px;height:100%;background:var(--purple)}
    .identity{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
    .monogram{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--navy);border-radius:4px;font-size:12px}
    .cover-main{max-width:650px}
    .kicker{margin:0 0 18px;color:var(--purple);font-size:11px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}
    h1{margin:0;color:var(--navy);font-size:clamp(38px,5vw,60px);font-weight:680;letter-spacing:-.045em;line-height:1.05}
    .subtitle{max-width:520px;margin:22px 0 0;color:var(--muted);font-size:18px}
    .meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 34px;max-width:610px;padding-top:25px;border-top:1px solid var(--line);font-size:12px}
    .meta span{color:var(--muted)}
    .meta strong{color:var(--navy)}
    .content{position:relative;z-index:1;padding:68px 76px 90px}
    section{padding:0 0 52px}
    section+section{padding-top:52px;border-top:1px solid var(--line)}
    h2{margin:0 0 24px;color:var(--navy);font-size:28px;line-height:1.2;letter-spacing:-.025em}
    h2 small{display:block;margin-bottom:7px;color:var(--purple);font:700 10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}
    h3{margin:30px 0 12px;color:var(--navy);font-size:17px}
    p{margin:0 0 16px}
    .notice{margin:0 0 30px;padding:18px 20px;border-left:3px solid var(--purple);background:#f5f2f8;color:#555d67;font-size:13px}
    .scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
    .scope-card{padding:20px;border:1px solid var(--line);border-radius:6px;background:#fff}
    .scope-card h3{margin:0 0 12px;font-size:14px}
    ul{margin:0;padding-left:18px}
    li{margin:6px 0}
    .scope-card li{color:#59646e;font-size:12px}
    table{width:100%;margin:22px 0;border-collapse:collapse;font-size:12px}
    th{padding:11px 13px;background:var(--navy);color:#fff;text-align:left;font-weight:650}
    td{padding:11px 13px;border-bottom:1px solid var(--line)}
    tbody tr:nth-child(even){background:var(--soft)}
    .severity{display:inline-flex;align-items:center;gap:7px;font-weight:700}
    .severity:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--high)}
    .finding{margin:26px 0;border:1px solid var(--line);border-radius:7px;overflow:hidden}
    .finding-head{display:grid;grid-template-columns:1fr auto;gap:25px;padding:22px;background:var(--soft)}
    .finding-head h3{margin:0;color:var(--navy);font-size:19px}
    .badge{align-self:start;padding:5px 9px;border-radius:4px;background:#f4dfda;color:#843d30;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
    .finding-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .finding-meta div{padding:13px 20px;border-right:1px solid var(--line);font-size:11px}
    .finding-meta div:last-child{border-right:0}
    .finding-meta span{display:block;color:var(--muted)}
    .finding-body{padding:24px}
    .finding-body p,.finding-body li{font-size:13px}
    pre{overflow:auto;margin:16px 0;padding:18px;border-radius:5px;background:#162536;color:#e8eef4;font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}
    code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
    .positive{padding:20px;border:1px solid #cdded6;border-radius:6px;background:#f2f8f5}
    .positive h3{margin:0 0 8px;color:#285d47;font-size:15px}
    .positive p{margin:0;color:#50645b;font-size:13px}
    .footer{display:flex;justify-content:space-between;padding:22px 76px;border-top:1px solid var(--line);color:#89939c;font-size:10px}
    @media(max-width:850px){.layout{grid-template-columns:1fr}.toc{position:relative;top:0}.toc ol{columns:2}.cover,.content{padding-left:38px;padding-right:38px}.footer{padding-inline:38px}}
    @media(max-width:540px){.layout{width:100%;margin:0}.toc{display:none}.paper{border:0}.cover{min-height:600px;padding:54px 25px 40px}.content{padding:50px 25px}.meta,.scope-grid,.finding-meta{grid-template-columns:1fr}.finding-meta div{border-right:0;border-bottom:1px solid var(--line)}.toolbar span{display:none}}
    @media print{body{background:#fff}.toolbar,.toc{display:none}.layout{display:block;width:auto;margin:0}.paper{border:0;box-shadow:none}.cover{min-height:100vh;page-break-after:always}.content{padding:52px 58px}.paper:after{position:fixed}section{break-inside:auto}.finding,.scope-card,.positive,pre,table{break-inside:avoid}@page{size:A4;margin:12mm}}

@media print {
      html,body{background:#fff!important}
      .layout{width:auto!important;margin:0!important;display:block!important}
      .paper{border:0!important;box-shadow:none!important;overflow:visible!important}
      .paper:after{position:fixed!important;right:12mm!important;bottom:8mm!important;font-size:84pt!important}
      .cover{height:273mm!important;min-height:0!important;padding:24mm 20mm 18mm!important;page-break-after:always!important;break-after:page!important}
      .content{padding:16mm 20mm 18mm!important}
      section{break-inside:auto!important;page-break-inside:auto!important}
      .finding,.scope-card,.positive,pre,table{break-inside:avoid!important;page-break-inside:avoid!important}
      h2,h3{break-after:avoid!important;page-break-after:avoid!important}
      .footer{padding:8mm 20mm!important}
      @page{size:A4;margin:0}
    }
