:root{--bg:#f7f8fa;--panel:#fff;--ink:#14171f;--muted:#5d6675;--line:#e2e5ea;--field-line:#7d848e;--ok:#15663f;--ok-bg:#e7f5ee;--bad:#b4242a;--bad-bg:#fdeceb;--warn:#8a5a00;--warn-bg:#fdf3e2;--accent:#1f4b99;--on-accent:#fff;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12141a;--panel:#191c24;--ink:#e8eaf0;--muted:#98a1b3;--line:#2a2f3a;--field-line:#6b7488;--ok:#59d19b;--ok-bg:#12301f;--bad:#ff7b72;--bad-bg:#351a1c;--warn:#e3b341;--warn-bg:#332813;--accent:#7aa2f7;--on-accent:#12141a}}:root[data-theme=dark]{--bg:#12141a;--panel:#191c24;--ink:#e8eaf0;--muted:#98a1b3;--line:#2a2f3a;--field-line:#6b7488;--ok:#59d19b;--ok-bg:#12301f;--bad:#ff7b72;--bad-bg:#351a1c;--warn:#e3b341;--warn-bg:#332813;--accent:#7aa2f7;--on-accent:#12141a}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}code{font-family:var(--mono);font-size:.92em}a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}a:hover{text-decoration-thickness:2px}header nav a,.tabs a,a.button,.repo-col a,td a,th a{text-decoration:none}td a:hover,th a:hover,.repo-col a:hover{text-decoration:underline}header{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:24px;padding:14px 24px;display:flex}.brand{letter-spacing:-.01em;font-weight:650}header nav{gap:16px;display:flex}header nav a{color:var(--muted);border-bottom:2px solid #0000;padding:4px 0}header nav a.active{color:var(--ink);border-bottom-color:var(--accent)}header .env{color:var(--muted);margin-left:auto;font-size:13px}main{max-width:1400px;padding:24px}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:22px}h2{margin:24px 0 8px;font-size:15px}.subhead{color:var(--muted);margin:0 0 20px}.muted{color:var(--muted)}.small{font-size:13px}section{margin-bottom:8px}table{border-collapse:collapse;background:var(--panel);width:100%}.matrix,.list{border:1px solid var(--line);border-radius:8px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}th[scope=row]{color:var(--ink);text-transform:none;letter-spacing:normal;text-align:left;font-size:14px;font-weight:400}tbody tr:last-child td{border-bottom:none}.repo-col{min-width:230px}.control-col{text-align:center;width:34px;padding:8px 2px}.control-col span{font-size:10px;display:inline-block}.cell{text-align:center;padding:8px 2px;font-weight:700}.cell.ok{color:var(--ok)}.cell.bad{color:var(--bad);background:var(--bad-bg)}.cell.none{color:var(--muted)}.cell.stale{background-image:repeating-linear-gradient(45deg, transparent 0 3px, var(--line) 3px 4px)}.as-of{white-space:nowrap;font-size:13px}.rule{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.pill{border-radius:999px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.pill.ok{color:var(--ok);background:var(--ok-bg)}.pill.bad{color:var(--bad);background:var(--bad-bg)}.pill.warn{color:var(--warn);background:var(--warn-bg)}.pill.none{color:var(--muted);background:var(--line)}.problems{margin:0 0 20px}.problem{border-left:3px solid;border-radius:8px;margin:0 0 6px;padding:10px 12px}.problem.bad{background:var(--bad-bg);border-color:var(--bad)}.problem.warn{background:var(--warn-bg);border-color:var(--warn)}.ok-banner{color:var(--ok);background:var(--ok-bg);border-left:3px solid var(--ok);border-radius:8px;margin:0 0 20px;padding:10px 12px}.error{color:var(--bad);background:var(--bad-bg);border-radius:8px;padding:12px}.grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}dl{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}dt{color:var(--muted);font-size:13px}dd{margin:0;font-size:14px}.scanners div{font-size:12px}.violations,.notes,.controls-list{margin:0;padding-left:18px}.violations li,.notes li{margin-bottom:4px;font-size:14px}.notes li.bad{color:var(--bad)}.control{color:var(--bad);margin-right:6px;font-weight:600}.control-grid{flex-wrap:wrap;gap:6px;display:flex}.control-chip{font-size:12px;font-family:var(--mono);border-radius:6px;padding:3px 9px}.control-chip.ok{color:var(--ok);background:var(--ok-bg)}.control-chip.bad{color:var(--bad);background:var(--bad-bg)}.button{background:var(--accent);color:var(--on-accent);border-radius:6px;padding:6px 12px;font-size:14px;display:inline-block}.button:hover{opacity:.9;text-decoration:none}.filter{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:inline-flex}@media (width<=720px){main{padding:16px}.matrix{display:block;overflow-x:auto}}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:16px 0 12px;display:flex}.tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-size:14px}.tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.warn-row td{background:var(--warn-bg)}.drawer{background:var(--panel);border-left:1px solid var(--line);width:min(620px,100%);padding:20px 24px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 24px #0000002e}.drawer-head{justify-content:space-between;align-items:baseline;display:flex}.drawer h2{margin:0;font-size:17px}.form{gap:12px;margin:16px 0;display:grid}.form label{color:var(--muted);gap:4px;font-size:13px;display:grid}.form input,.form select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:14px}.actions{gap:8px;margin:16px 0;display:flex}.actions button,button.link{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:7px 12px;font-size:14px}.actions button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.actions button:disabled{opacity:.5;cursor:not-allowed}button.link{color:var(--accent);background:0 0;border:none;padding:0}.preview{border-top:1px solid var(--line);padding-top:12px}.preview h3{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:16px 0 8px;font-size:13px}.diff{background:var(--bg);border:1px solid var(--line);font-family:var(--mono);white-space:pre;border-radius:6px;padding:10px;font-size:12px;overflow-x:auto}.diff .add{color:var(--ok)}.diff .del{color:var(--bad)}.ok-text{color:var(--ok)}.drawer.wide{width:min(860px,100%)}.drawer .tabs button:disabled{opacity:.45;cursor:not-allowed}.dimension{border:1px solid var(--line);border-radius:8px;margin:0 0 12px;padding:10px 12px 12px}.dimension legend{color:var(--muted);padding:0 4px;font-size:13px}.ratings{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ratings .rating{text-align:left;font:inherit;cursor:pointer;background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:6px;gap:4px;padding:8px 10px;font-size:12px;display:grid}.ratings .rating strong{color:var(--ink);text-transform:capitalize;font-size:13px}.ratings .rating.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ratings .rating.high.active{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad)}.ratings .rating.medium.active{border-color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.ratings .rating.low.active{border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}.control-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;font-size:14px;display:flex}.control-row.needed{background:var(--warn-bg)}.control-states{flex:none;gap:4px;display:flex}.control-states button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:6px;padding:4px 8px;font-size:12px}.control-states button.active{border-color:var(--accent);color:var(--ink)}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-head .actions select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:7px 9px;font-size:14px}.assessment{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin:16px 0;padding:16px 20px}.assessment>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assessment h2{margin:0 0 2px;font-size:17px}.assessment h2 .muted{font-family:var(--mono);font-size:13px;font-weight:400}.assessment h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 8px;font-size:12px}.materiality{text-align:right;justify-items:end;gap:4px;display:grid}.list.compact td,.list.compact th{padding:6px 10px;font-size:13px}.rating-cell{white-space:nowrap}@media print{:root{--bg:#fff!important;--panel:#fff!important;--ink:#111!important;--muted:#444!important;--line:#bbb!important;--ok:#1a6b2f!important;--bad:#a11!important;--warn:#7a4a00!important;--warn-bg:#f6f2e8!important;--ok-bg:#edf6f0!important;--bad-bg:#fbeeee!important;--accent:#123!important}body{color:#111;background:#fff}.no-print,header nav,.env,.tabs{display:none}header{border:none;padding:0}main{padding:0}.assessment{break-inside:avoid;page-break-inside:avoid;box-shadow:none;margin:0 0 18px}.assessment h2,h3{break-after:avoid}table,ul,ol{break-inside:avoid}.warn-row td{background:#fff}.pill{border:1px solid}a{color:inherit;text-decoration:none}}.team{margin:0 0 26px}.team h2{margin:22px 0 8px;font-size:14px;font-weight:600}.team h2 .muted{font-weight:400}.env select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;margin-left:4px;padding:2px 6px;font-size:13px}.explain{position:relative}.explain-marker{font:inherit;cursor:pointer;vertical-align:middle;width:24px;min-width:24px;height:24px;min-height:24px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;margin:-4px 0 -4px 2px;padding:0;font-size:11px;line-height:1;display:inline-flex;position:relative}.explain-marker:before{content:"";border:1px solid var(--line);background:var(--bg);border-radius:50%;width:15px;height:15px;margin:auto;position:absolute;inset:0}.explain-marker>span{position:relative}.explain-marker:hover,.explain-marker[aria-expanded=true]{color:var(--accent)}.explain-marker:hover:before,.explain-marker[aria-expanded=true]:before{border-color:var(--accent)}.explain-body{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;max-width:62ch;margin:6px 0 8px;padding:10px 12px;font-size:13px;font-weight:400;line-height:1.5;display:block}.explain-body strong{margin-bottom:2px;display:block}@media print{.explain-marker{display:none}}.env{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.env label{color:var(--muted)}.env .toggle{cursor:pointer;align-items:center;gap:4px;display:inline-flex}@media (width<=900px){header{flex-wrap:wrap;row-gap:8px}.env{width:100%}}.actions label.inline{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.actions label.inline input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:13px}.bar-cell{width:40%}.bar{background:var(--ok);border-radius:4px;min-width:1px;height:8px;display:block}:where(a,button,select,input,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip:focus{z-index:10;clip-path:none;background:var(--panel);width:auto;height:auto;color:var(--ink);border:2px solid var(--accent);border-radius:6px;margin:0;padding:10px 14px;position:fixed;top:8px;left:8px}.form input,.form select,.actions input,.actions select,.env select,.actions label.inline input,.control-states button{border-color:var(--field-line)}.explain-marker{position:relative}.explain-marker:before{content:"";position:absolute;inset:-6px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.table-scroll{overflow-x:auto}@media (width<=720px){.page-head{flex-direction:column;align-items:flex-start}.actions{flex-wrap:wrap}.drawer,.drawer.wide{width:100%}.ratings{grid-template-columns:1fr}.control-row{flex-direction:column;align-items:flex-start;gap:6px}}.field-note{margin-top:4px;font-size:12px;font-weight:400;line-height:1.45;display:block}.field-note.warn{color:var(--warn)}.chosen-record{border:1px solid var(--field-line);background:var(--panel);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-weight:400;display:flex}.record-hits{max-height:190px;margin-top:4px;display:block;overflow-y:auto}.record-hits button{text-align:left;width:100%;font:inherit;border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:0;padding:7px 10px;font-weight:400;display:block}.record-hits button:last-child{border-bottom:0}.record-hits button:hover{background:var(--line)}.env .signout{font-size:13px}.demo-banner{background:var(--warn-bg);color:var(--ink);border-bottom:1px solid var(--warn);margin:0;padding:9px 20px;font-size:13.5px;line-height:1.5}.tour{z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(27rem,100vw - 40px);padding:18px 20px;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 34px #00000047}.tour h2{margin:6px 0 8px;font-size:1.02rem}.tour p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.tour-head{justify-content:space-between;align-items:center;display:flex}.tour-count{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.tour-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 4px;font-size:1.3rem;line-height:1}.tour-close:hover{color:var(--ink)}.tour-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.tour-actions button{min-width:5.5rem}.tour-start{white-space:nowrap}@media (width<=640px){.tour{border-radius:12px 12px 0 0;width:auto;bottom:0;left:0;right:0}}@media (prefers-reduced-motion:no-preference){.tour{animation:.16s ease-out tour-in}@keyframes tour-in{0%{opacity:0;transform:translateY(8px)}}}
