@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}:root{--ink: #0e1116;--surface: #161b22;--surface-2: #1c2430;--hairline: #232a33;--text: #e6e9ec;--text-dim: #8b949e;--text-faint: #5a626b;--action: #e8a33d;--ok: #3fb68b;--breach: #e5534b;--info: #5a9bd4;--font-ui: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;--fs-hero: 40px;--fs-big: 26px;--fs-lg: 18px;--fs-body: 15px;--fs-small: 13px;--fs-micro: 11px;--sp-0: 0px;--sp-4: 4px;--sp-8: 8px;--sp-12: 12px;--sp-16: 16px;--sp-24: 24px;--sp-32: 32px;--sp-48: 48px;--inset-page: var(--sp-16);--inset-surface: var(--sp-24);--inset-container: var(--sp-16);--inset-field: var(--sp-12);--radius: 6px;--radius-sm: 4px;--measure-text: 960px;--measure-app: 1280px;--sidebar-w: 232px;--detail-w: 380px;--header-h: 48px}@media (min-width: 961px){:root{--inset-page: var(--sp-32)}}*{box-sizing:border-box}html,body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-header{height:var(--header-h);display:flex;align-items:center;gap:var(--sp-16);padding:0 var(--inset-page);border-bottom:1px solid var(--hairline);background:var(--surface);position:sticky;top:0;z-index:20}.app-header .brand{font-weight:500;letter-spacing:.02em;background:none;border:0;color:var(--text);cursor:pointer;padding:0;font-size:var(--fs-body)}.app-nav{display:flex;gap:var(--sp-4);flex:1;overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav button{background:none;border:0;border-bottom:2px solid transparent;color:var(--text-dim);padding:var(--sp-4) var(--sp-8);font:inherit;font-size:var(--fs-small);cursor:pointer;white-space:nowrap;border-radius:0}.app-nav button:hover{color:var(--text)}.app-nav button[aria-current=page]{color:var(--text);border-bottom-color:var(--action)}.page{display:grid;grid-template-columns:1fr;gap:var(--sp-24);max-width:var(--measure-app);margin:0 auto;padding:var(--inset-page) var(--inset-page) var(--sp-48)}.page.has-sidebar{grid-template-columns:1fr}@media (min-width: 961px){.page.has-sidebar{grid-template-columns:var(--sidebar-w) minmax(0,1fr);align-items:start}.page.centred{max-width:var(--measure-text)}}.page-sidebar{display:flex;flex-direction:column;gap:var(--sp-16)}@media (min-width: 961px){.page-sidebar{position:sticky;top:calc(var(--header-h) + var(--sp-16))}}.page-main{display:flex;flex-direction:column;gap:var(--sp-24);min-width:0}.page-detail{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);display:flex;flex-direction:column;min-width:0;outline:none}.page-detail:focus-visible{outline:1px solid var(--info)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-12);padding:var(--inset-container);border-bottom:1px solid var(--hairline)}.detail-body{padding:var(--inset-container);overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-16)}.detail-scrim{display:none}@media (max-width: 1179px){.detail-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:30}.page-detail{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:31;border-radius:0;border-right:0;border-top:0;border-bottom:0}.detail-body{flex:1}}@media (min-width: 1180px){.page.has-detail{grid-template-columns:minmax(0,1fr) var(--detail-w)}.page.has-detail.has-sidebar{grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--detail-w)}.page-detail{position:sticky;top:calc(var(--header-h) + var(--sp-16));max-height:calc(100vh - var(--header-h) - var(--sp-32))}}.detail-rows{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-8) var(--sp-16);font-size:var(--fs-small)}.detail-rows>div{display:contents}.detail-rows dt{font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);white-space:nowrap;padding-top:2px}.detail-rows dd{margin:0;min-width:0;overflow-wrap:anywhere}table.dt tr[data-clickable]{cursor:pointer}table.dt tr[data-selected=true]{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--action)}.surface{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--inset-surface)}.surface.dense{padding:var(--inset-container)}.surface.flush{padding:0;overflow:hidden}.container-box{background:var(--surface-2);border-radius:var(--radius-sm);padding:var(--inset-container)}.divider{border:0;border-top:1px solid var(--hairline);margin:var(--sp-16) 0}.titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-16);margin-bottom:var(--sp-16)}.titlebar .tb-title{font-size:var(--fs-lg);font-weight:500;margin:0}.titlebar .tb-sub{color:var(--text-dim);font-size:var(--fs-small);margin-top:var(--sp-4)}.titlebar .tb-actions{display:flex;gap:var(--sp-8);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:var(--fs-small)}.micro{font-size:var(--fs-micro)}.ok{color:var(--ok)}.breach{color:var(--breach)}.accent{color:var(--action)}.stat-value{font-size:clamp(17px,2.4vw,var(--fs-big));line-height:1.2;overflow-wrap:anywhere}.stat-value.hero{font-size:clamp(22px,3.4vw,var(--fs-hero))}.stat{min-width:0}.stat-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:var(--sp-4)}.stat-note{color:var(--text-dim);font-size:var(--fs-small);margin-top:var(--sp-4)}.bar{height:8px;background:var(--surface-2);border-radius:2px;overflow:hidden;display:flex}.bar>i{display:block;height:100%}.bar>i.solid{background:var(--ok)}.bar>i.accent{background:var(--action)}.bar>i.neutral{background:var(--text-faint)}.bar>i.breach{background:var(--breach)}.bar>i.ghost{background:var(--text-faint);opacity:.35}button{font:inherit;font-size:var(--fs-small);color:var(--text);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:var(--sp-8) var(--sp-12);cursor:pointer}button:hover:not(:disabled){border-color:var(--text-faint)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--action);border-color:var(--action);color:#17130a;font-weight:500}button.ghost{background:transparent}button.quiet{background:transparent;border-color:transparent;color:var(--text-dim);padding:var(--sp-4) var(--sp-8)}button.quiet:hover:not(:disabled){color:var(--text);border-color:var(--hairline)}button.tiny{padding:var(--sp-4) var(--sp-8);font-size:var(--fs-micro)}input,select,textarea{font:inherit;font-size:var(--fs-small);color:var(--text);background:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:var(--sp-8) var(--inset-field);width:100%}input:focus,select:focus{outline:1px solid var(--info);outline-offset:-1px}.field{display:block}.field>.field-label{display:block;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:var(--sp-4)}.field>.field-hint{font-size:var(--fs-micro);color:var(--text-faint);margin-top:var(--sp-4)}.dt-wrap{overflow-x:auto}table.dt{border-collapse:collapse;width:100%;font-size:var(--fs-small)}table.dt th,table.dt td{text-align:left;padding:var(--sp-8) var(--sp-12);border-bottom:1px solid var(--hairline);white-space:nowrap}table.dt th{color:var(--text-dim);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em;font-weight:400;position:sticky;top:0;background:var(--surface)}table.dt tbody tr:hover{background:var(--surface-2)}table.dt td.r,table.dt th.r{text-align:right}table.dt tr:last-child td{border-bottom:0}.chip{display:inline-block;font-size:var(--fs-micro);padding:1px var(--sp-8);border-radius:3px;border:1px solid var(--hairline);color:var(--text-dim);white-space:nowrap}.chip.ok{color:var(--ok);border-color:var(--ok)}.chip.warn{color:var(--action);border-color:var(--action)}.chip.breach{color:var(--breach);border-color:var(--breach)}.chip.info{color:var(--info);border-color:var(--info)}.strip{border-radius:var(--radius-sm);padding:var(--sp-12);font-size:var(--fs-small)}.strip.info{background:#5a9bd41a;border:1px solid var(--info)}.strip.warn{background:#e8a33d1a;border:1px solid var(--action)}.strip.breach{background:#e5534b1f;border:1px solid var(--breach)}.strip.ok{background:#3fb68b1a;border:1px solid var(--ok)}.banner{background:var(--breach);color:#fff;padding:var(--sp-12) var(--inset-page);font-size:var(--fs-small)}.prov{color:var(--info);font-size:.75em;vertical-align:super}.unlock{max-width:320px;margin:18vh auto;padding:0 var(--sp-16)}
