@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1-h52z97c7bce.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.0fuh4fyjfo9ap.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2broe1i9movoa.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.0f8eq302mdpld.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.11xxlm8n0_7w8.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.0o-mv26yr1hzk.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.19gbeb610ur4n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.3nj-glub930lh.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-latin-600-normal.04jv21_rdbjv3.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-600-normal.0tzh5malamm2z.woff)format("woff")}
:root{--grey-000:#fff;--grey-050:#f6f7f9;--grey-100:#eef0f4;--grey-200:#e3e6ec;--grey-400:#9aa2b2;--grey-500:#5c6472;--grey-700:#2a2f3a;--grey-850:#161922;--grey-900:#0f1116;--grey-950:#14161b;--indigo-500:#2f3fb4;--indigo-300:#93a0ff;--red-600:#b4232a;--red-300:#ff8a80;--amber-700:#8a5a00;--amber-400:#e3a008;--forest-700:#1f6b47;--forest-400:#5bd39a;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-2xl:2.5rem;--radius-sm:2px;--radius-md:6px;--radius-pill:999px;--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--leading-tight:1.25;--leading-normal:1.5;--leading-prose:1.7;--tracking-label:.09em;--border-width:1px;--focus-width:2px;--target-min:44px;--measure:68ch;--paper:var(--grey-050);--surface:var(--grey-000);--surface-sunken:var(--grey-100);--ink:var(--grey-950);--ink-muted:var(--grey-500);--hairline:var(--grey-200);--accent:var(--indigo-500);--accent-ink:var(--grey-000);--accent-quiet:#e8eafb;--risk:var(--red-600);--risk-quiet:#fbeaea;--warn:var(--amber-700);--warn-quiet:#f8f1e2;--ok:var(--forest-700);--ok-quiet:#e8f2ec;--focus:var(--indigo-500);--shadow-1:0 1px 2px #14161b0f;--shadow-2:0 8px 24px -12px #14161b47;--scrim:#14161b73}@media (prefers-color-scheme:dark){:root{--paper:var(--grey-900);--surface:var(--grey-850);--surface-sunken:#12151d;--ink:#e7e9ef;--ink-muted:var(--grey-400);--hairline:#262b36;--accent:var(--indigo-300);--accent-ink:var(--grey-900);--accent-quiet:#1c2140;--risk:var(--red-300);--risk-quiet:#2c1a1d;--warn:var(--amber-400);--warn-quiet:#2a2214;--ok:var(--forest-400);--ok-quiet:#14261e;--focus:var(--indigo-300);--shadow-1:0 1px 2px #0006;--shadow-2:0 12px 28px -16px #000000b3;--scrim:#0009}}:root[data-theme=dark]{--paper:var(--grey-900);--surface:var(--grey-850);--surface-sunken:#12151d;--ink:#e7e9ef;--ink-muted:var(--grey-400);--hairline:#262b36;--accent:var(--indigo-300);--accent-ink:var(--grey-900);--accent-quiet:#1c2140;--risk:var(--red-300);--risk-quiet:#2c1a1d;--warn:var(--amber-400);--warn-quiet:#2a2214;--ok:var(--forest-400);--ok-quiet:#14261e;--focus:var(--indigo-300);--shadow-1:0 1px 2px #0006;--shadow-2:0 12px 28px -16px #000000b3;--scrim:#0009}:root[data-theme=light]{--paper:var(--grey-050);--surface:var(--grey-000);--surface-sunken:var(--grey-100);--ink:var(--grey-950);--ink-muted:var(--grey-500);--hairline:var(--grey-200);--accent:var(--indigo-500);--accent-ink:var(--grey-000);--accent-quiet:#e8eafb;--risk:var(--red-600);--risk-quiet:#fbeaea;--warn:var(--amber-700);--warn-quiet:#f8f1e2;--ok:var(--forest-700);--ok-quiet:#e8f2ec;--focus:var(--indigo-500);--shadow-1:0 1px 2px #14161b0f;--shadow-2:0 8px 24px -12px #14161b47;--scrim:#14161b73}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{font-weight:600;line-height:var(--leading-tight);text-wrap:balance;margin:0}h1{font-size:var(--text-2xl);letter-spacing:-.015em}h2{font-size:var(--text-xl);letter-spacing:-.01em}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}p{max-width:var(--measure);margin:0}ul,ol{margin:0;padding:0}li{margin:0}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit;color:inherit}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.9em}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top}hr{display:none}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-quiet);color:var(--ink)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--space-4);flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.label{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);font-weight:600}.muted{color:var(--ink-muted)}.scroll-x{overscroll-behavior-x:contain;overflow-x:auto}
.panel{background:var(--surface);border:var(--border-width) solid var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.panel-flush{box-shadow:none;border-left:0;border-right:0;border-radius:0}.panel-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--hairline);flex-wrap:wrap;display:flex}.panel-body{padding:var(--space-5)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:0 var(--space-4);border:var(--border-width) solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-sm);cursor:pointer;font-weight:500;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--ink-muted)}.btn:active:not(:disabled){background:var(--surface-sunken)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.08)}.btn-primary:active:not(:disabled){filter:brightness(.94)}.btn-quiet{color:var(--ink-muted);background:0 0;border-color:#0000}.btn-quiet:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink);border-color:#0000}.segmented{border:var(--border-width) solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-sunken);gap:2px;padding:2px;display:inline-flex}.segmented button{min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--ink-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;font-weight:500}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-size:var(--text-sm);font-weight:500}.field-hint{font-size:var(--text-xs);color:var(--ink-muted)}.field-error{font-size:var(--text-xs);color:var(--risk)}.input,.textarea,.select{width:100%;min-height:var(--target-min);padding:var(--space-3);border:var(--border-width) solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink)}.textarea{min-height:15rem;font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-normal);resize:vertical;tab-size:2}.input:disabled,.textarea:disabled,.select:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--risk)}.sev{align-items:center;gap:var(--space-2);padding:2px var(--space-2);border:var(--border-width) solid currentColor;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;font-weight:600;display:inline-flex}.sev-critical{color:var(--risk);background:var(--risk-quiet)}.sev-high{color:var(--warn);background:var(--warn-quiet)}.sev-medium{color:var(--ink-muted);background:var(--surface-sunken)}.sev-pass{color:var(--ok);background:var(--ok-quiet)}.sev-glyph{background:currentColor;border-radius:1px;flex:none;width:.5rem;height:.5rem}.stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.stat{gap:var(--space-1);padding:var(--space-4);border:var(--border-width) solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.stat-value{font-size:var(--text-xl);font-variant-numeric:proportional-nums;font-weight:600;line-height:1}.stat-label{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);font-weight:600}.stat-note{font-size:var(--text-xs);color:var(--ink-muted)}.tag{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap;align-items:center;display:inline-flex}.tag-declared{background:var(--accent-quiet);color:var(--accent)}.table{font-size:var(--text-sm)}.table caption{text-align:left;padding-bottom:var(--space-3);color:var(--ink-muted);font-size:var(--text-xs)}.table th{padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--hairline);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;font-weight:600}.table td{padding:var(--space-3);border-bottom:var(--border-width) solid var(--hairline)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-sunken)}.empty{align-items:flex-start;gap:var(--space-2);padding:var(--space-6);border:var(--border-width) dashed var(--hairline);border-radius:var(--radius-md);background:var(--surface-sunken);flex-direction:column;display:flex}.empty-title{font-weight:600}.empty-body{color:var(--ink-muted);font-size:var(--text-sm)}.notice{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm);border-left-width:3px;display:flex}.notice-risk{border-left-color:var(--risk)}.notice-warn{border-left-color:var(--warn)}.notice-info{border-left-color:var(--accent)}.notice-body,.meter{gap:var(--space-1);flex-direction:column;display:flex}.meter-track{border-radius:var(--radius-pill);background:var(--surface-sunken);height:6px;overflow:hidden}.meter-fill{border-radius:var(--radius-pill);background:var(--accent);height:100%}.meter-fill-risk{background:var(--risk)}.meter-fill-warn{background:var(--warn)}.meter-fill-ok{background:var(--ok)}.meter-legend{font-size:var(--text-xs);color:var(--ink-muted);justify-content:space-between;display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-sunken) 0%, var(--hairline) 50%, var(--surface-sunken) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-sweep}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}
.shell{flex-direction:column;min-height:100vh;display:flex}.wrap{width:100%;max-width:1240px;padding:0 var(--space-5);margin:0 auto}.topbar{border-bottom:var(--border-width) solid var(--hairline);background:var(--paper);z-index:10;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;min-height:60px;display:flex}.brand{align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.brand-mark{font-family:var(--font-mono);font-size:var(--text-md);color:var(--ink);min-height:var(--target-min);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark:hover{text-decoration:none}.brand-caret{color:var(--accent)}.brand-sub{font-size:var(--text-xs);color:var(--ink-muted);border-left:var(--border-width) solid var(--hairline);padding-left:var(--space-3)}.topbar-actions{align-items:center;gap:var(--space-3);display:flex}.banner{border-bottom:var(--border-width) solid var(--hairline);background:var(--surface)}.banner-inner{align-items:center;gap:var(--space-5) var(--space-6);padding:var(--space-5) 0;flex-wrap:wrap;display:flex}.banner-lead{gap:var(--space-2);flex-direction:column;flex:24rem;min-width:0;display:flex}.banner-label{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);font-weight:600}.banner-word{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.banner-word strong{letter-spacing:-.015em;font-size:clamp(1.375rem,4vw,1.875rem);font-weight:600}.banner-subject{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted)}.banner-summary{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-prose);max-width:64ch}.banner-score{gap:var(--space-2);flex-direction:column;width:min(300px,100%);display:flex}.banner-score-value{align-items:baseline;gap:var(--space-2);display:flex}.banner-score-value b{font-size:clamp(2rem,5vw,2.75rem);font-weight:600;line-height:1}.banner-score-value span{font-size:var(--text-xs);color:var(--ink-muted)}.intro{padding:var(--space-6) 0 var(--space-5);gap:var(--space-3);flex-direction:column;max-width:66ch;display:flex}.intro h1{font-size:var(--text-xl);max-width:30ch}.intro p{color:var(--ink-muted);line-height:var(--leading-prose)}.intro-meta{gap:var(--space-4);padding-top:var(--space-1);font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;display:flex}.body{gap:var(--space-5);padding:var(--space-5) 0 var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;display:grid}@media (max-width:1000px){.body{grid-template-columns:minmax(0,1fr)}}.col{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.col-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.col-head h2{font-size:var(--text-md)}.col-head p{font-size:var(--text-xs);color:var(--ink-muted)}.roster{font-size:var(--text-sm)}.roster caption{text-align:left;padding-bottom:var(--space-3);color:var(--ink-muted);font-size:var(--text-xs)}.roster th{padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--hairline);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;font-weight:600}.roster td{padding:var(--space-3);border-bottom:var(--border-width) solid var(--hairline);vertical-align:middle}.roster tbody tr:last-child td{border-bottom:0}.roster-row{cursor:pointer;background:0 0;transition:background-color .1s}.roster-row:hover{background:var(--surface-sunken)}.roster-row[aria-selected=true]{background:var(--accent-quiet)}.roster-row[aria-selected=true] td{border-bottom-color:var(--accent)}.roster-name{font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.roster-bar{align-items:center;gap:var(--space-2);display:flex}.roster-track{border-radius:var(--radius-sm);background:var(--surface-sunken);flex:1;min-width:3rem;height:8px;position:relative}.roster-fill{border-radius:var(--radius-sm);background:var(--ok);position:absolute;inset:0 auto 0 0}.roster-fill-warn{background:var(--warn)}.roster-fill-risk{background:var(--risk)}.roster-score{font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right;color:var(--ink-muted);font-variant-numeric:tabular-nums}.detail{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.detail-empty{gap:var(--space-2);color:var(--ink-muted);font-size:var(--text-sm);line-height:var(--leading-prose);flex-direction:column;display:flex}.detail-head{align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--border-width) solid var(--hairline);flex-wrap:wrap;display:flex}.detail-head h3{font-family:var(--font-mono);font-size:var(--text-md);overflow-wrap:anywhere;flex:12rem;min-width:0;font-weight:600}.surface-list{gap:var(--space-2);flex-direction:column;display:flex}.surface{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--hairline);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.surface:last-child{border-bottom:0}.surface-name{font-family:var(--font-mono);min-width:11rem;color:var(--ink-muted)}.finding{gap:var(--space-2);padding:var(--space-4);border-left-width:3px;flex-direction:column;display:flex}.finding-critical{border-left-color:var(--risk)}.finding-high{border-left-color:var(--warn)}.finding-medium{border-left-color:var(--hairline)}.finding-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.finding-head h4{font-size:var(--text-sm);flex:14rem;font-weight:600}.finding-block{gap:var(--space-1);flex-direction:column;display:flex}.finding-block p{font-size:var(--text-sm);line-height:var(--leading-prose);max-width:66ch}.finding-evidence{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-muted);padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm);overflow-wrap:anywhere}.input-panel{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.input-panel h2{font-size:var(--text-sm)}.samples{gap:var(--space-2);flex-wrap:wrap;display:flex}.sample-chip{min-height:30px;padding:0 var(--space-3);border:var(--border-width) solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-muted);font-size:var(--text-2xs);cursor:pointer}.sample-chip:hover{color:var(--ink);border-color:var(--ink-muted)}.sample-chip[aria-pressed=true]{background:var(--accent-quiet);border-color:var(--accent);color:var(--accent)}.sample-note{font-size:var(--text-xs);color:var(--ink-muted);line-height:var(--leading-prose)}.manifest-input{width:100%;min-height:9rem;padding:var(--space-3);border:var(--border-width) solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-normal);resize:vertical}.manifest-input[aria-invalid=true]{border-color:var(--risk)}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.actions .btn{flex:8rem}.privacy-note{gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-muted);line-height:var(--leading-prose);display:flex}.method{gap:var(--space-4);padding:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.method-col h3{font-size:var(--text-sm);margin-bottom:var(--space-2)}.method-col ol,.method-col ul{gap:var(--space-2);padding-left:var(--space-4);font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-prose);flex-direction:column;display:flex}.method-col ul{list-style:outside}.method-col ol{list-style:decimal}.footer{border-top:var(--border-width) solid var(--hairline);padding:var(--space-5) 0 var(--space-6);margin-top:auto}.footer-inner{justify-content:space-between;align-items:baseline;column-gap:var(--space-4);row-gap:var(--space-1);font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;display:flex}.footer-links{gap:var(--space-4);flex-wrap:wrap;display:flex}.footer-links a,.footer-inner>span a{min-height:var(--target-min);padding:0 var(--space-2);white-space:nowrap;align-items:center;display:inline-flex}
