:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0d;--card:#171717;--card-2:#212121;--text:#ececec;--muted:#b4b4b4;--line:#2f2f2f;--line-strong:#424242;--accent:#10a37f;--ink:#0d0d0d;--covered:#10a37f;--partial:#c48a1a;--gap:#ef4146;--shell-gutter:48px;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-padding-bottom:88px}body{background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}::selection{color:#fff;background:#10a37f}.app{flex-direction:column;min-height:100vh;display:flex}.shell{width:min(1180px, calc(100% - var(--shell-gutter)));margin:0 auto}.chrome{z-index:5;background:var(--bg);position:sticky;top:0}.app-header{border-bottom:1px solid var(--line);background:var(--bg)}.app-header .shell{justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.brand{align-items:center;gap:10px;display:flex}.mark{object-fit:cover;border-radius:8px;flex-shrink:0;width:40px;height:40px;display:block}.app-header h1{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:600}.app-header p{color:var(--muted);letter-spacing:.01em;margin:2px 0 0;font-size:12px}.app-header button.link{color:var(--muted);background:0 0;border:none;padding:7px 0;font-size:12px}.app-header button.link:hover{color:#ff8a8a}.stepper{border-bottom:1px solid var(--line);background:var(--bg)}.stepper-track{flex-wrap:wrap;gap:4px;padding:10px 0;display:flex}.stepper button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:13px}.stepper button:hover{color:var(--text)}.stepper button.current{color:var(--ink);background:var(--text);border-color:var(--text);font-weight:600}.stepper button:focus-visible,.btn:focus-visible,.tabs button:focus-visible,.text-btn:focus-visible,.app-header button.link:focus-visible{outline:2px solid var(--text);outline-offset:2px}.page{width:min(1180px, calc(100% - var(--shell-gutter)));flex:1;margin:0 auto;padding:32px 0 104px}.page-narrow{max-width:760px}.page :where(p){margin:0}.page h2{letter-spacing:-.035em;margin:0 0 8px;font-size:28px;font-weight:600}.page h3{margin:0 0 10px;font-size:15px;font-weight:600}.lede{color:var(--muted);max-width:68ch;margin:0 0 22px;line-height:1.55}.kicker{color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:500}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.btn{background:var(--text);color:var(--ink);border:1px solid var(--text);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.btn:hover{background:#fff}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.secondary{color:var(--text);border:1px solid var(--line-strong);background:0 0}.btn.secondary:hover{background:var(--card-2)}.btn.danger{color:#ff8a8a;background:0 0;border-color:#5c2b2b}.btn.danger:hover{background:#2a1515}.card,.heat-wrap,.cell-detail{background:var(--card);border:1px solid var(--line);border-radius:12px}.card{margin-bottom:14px;padding:18px}.wizard{padding:0 0 8px}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.name-row{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-bottom:12px;display:grid}.name-row .field{margin-bottom:0}.name-row.exclude-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.hint{color:var(--muted);margin:0 0 10px 26px;font-size:13px;line-height:1.45}@media (width<=800px){:root{--shell-gutter:28px}.grid-2,.policy-facts,.name-row,.name-row.exclude-row{grid-template-columns:1fr}.policy-card,.export-row{flex-direction:column;align-items:flex-start}.stepper button{padding:6px 8px}.app-header p{display:none}.app-header button.link{white-space:nowrap}.btn{min-height:44px;padding:10px 16px}}label.field{letter-spacing:.02em;color:var(--muted);flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}label.field input,label.field textarea,label.field select,.search,.filters select{color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:8px;padding:10px 12px;font-weight:450}label.field input:focus,label.field textarea:focus,label.field select:focus,.search:focus,.code-input:focus,.filters select:focus{border-color:var(--text);outline:none}.file-btn{cursor:pointer;display:inline-block}.code-input{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:8px;margin:8px 0;padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:450}.export-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.export-row:first-child{border-top:none;padding-top:0}.export-row h3{margin:0 0 4px}.export-row .btn{flex-shrink:0}.card>.muted{margin-bottom:12px}.manual-checks .muted{margin:0 0 12px}.manual-checks ol{margin-bottom:0}label.check{color:var(--text);align-items:flex-start;gap:10px;margin:8px 0;font-size:14px;font-weight:400;display:flex}label.check input{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px;margin:3px 0 0}fieldset{border:1px solid var(--line);border-radius:12px;margin:0 0 14px;padding:8px 14px 12px}legend{color:var(--muted);letter-spacing:.04em;padding:0 6px;font-size:12px}.badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.badge.on,.badge.covered{background:color-mix(in srgb, var(--covered) 18%, transparent);color:color-mix(in srgb, var(--covered) 42%, white);border-color:color-mix(in srgb, var(--covered) 40%, transparent)}.badge.report,.badge.medium,.badge.partial{background:color-mix(in srgb, var(--partial) 18%, transparent);color:color-mix(in srgb, var(--partial) 28%, white);border-color:color-mix(in srgb, var(--partial) 45%, transparent)}.badge.off,.badge.na{color:var(--muted);border-color:var(--line);background:#ffffff0d}.badge.critical,.badge.gap{background:color-mix(in srgb, var(--gap) 18%, transparent);color:color-mix(in srgb, var(--gap) 22%, white);border-color:color-mix(in srgb, var(--gap) 45%, transparent)}.badge.high{color:#ffc2a8;background:#e8704029;border-color:#e8704066}.badge.low,.badge.requiresLicense{color:#c5ccd8;border-color:var(--line-strong);background:#ffffff0d}.badge.info,.badge.unverified{color:var(--muted);border-color:var(--line-strong);background:0 0}.policy-card{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.policy-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.policy-card h3{letter-spacing:-.02em;margin:0;font-size:15px}.policy-card .meta{color:var(--muted);font-size:12px}.policy-id{letter-spacing:0;margin-top:4px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px}.policy-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 0;display:grid}.policy-facts dt{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:11px}.policy-facts dd{margin:0;font-size:13px}.policy-actions{flex-shrink:0;gap:8px;display:flex}.examples{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;display:flex}.examples-label{color:var(--muted);margin-right:4px;font-size:12px}.examples .btn{color:var(--muted);border-color:var(--line);font-weight:500}.examples .btn:hover{color:var(--text)}.warn,.error,.ok{border-radius:10px;margin:8px 0;padding:10px 12px;font-size:13px;line-height:1.45}.warn{color:#f6d7a4;background:#d0892b1f;border:1px solid #d0892b59}.error{color:#ffc7c7;background:#e255551f;border:1px solid #e2555566}.ok{color:#b7efcf;background:#1f9d5a1f;border:1px solid #1f9d5a59}.text-btn{color:var(--muted);background:0 0;border:none;margin:0 0 18px;padding:0;font-size:13px}.text-btn:hover{color:var(--text)}.score-row{align-items:flex-end;gap:16px;margin:8px 0 18px;display:flex}.score-block .kicker{margin-bottom:4px}.score{letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:64px;font-weight:600;line-height:.9}.score-of{color:var(--muted);letter-spacing:-.02em;margin-left:4px;font-size:.38em;font-weight:500}.score-compact{font-size:40px}.score-row .muted{margin-bottom:6px}.card .deductions{margin-bottom:0}.card .deductions-remainder{margin-top:10px}.tabs{gap:6px;margin:4px 0 12px;display:flex}.tabs button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:7px 14px;font-size:13px}.tabs button.current{background:var(--text);color:var(--ink);border-color:var(--text);font-weight:600}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:4px 0 12px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.swatch.covered{background:var(--covered)}.swatch.partial{background:var(--partial)}.swatch.gap{background:var(--gap)}.swatch.requiresLicense{background:repeating-linear-gradient(135deg,#2a2a2a,#2a2a2a 3px,#3a3a3a 3px 6px)}.swatch.na{border:1px solid var(--line);background:#1a1f2b}.heat-wrap{padding:6px;overflow-x:auto}.heat{border-collapse:separate;border-spacing:4px;width:100%;font-size:12px}.heat th,.heat td{border:none;padding:0}.heat thead th{color:var(--muted);letter-spacing:.02em;vertical-align:bottom;text-align:center;min-width:84px;height:52px;padding:8px 4px 6px;font-size:11px;font-weight:600}.heat thead th:first-child,.heat tbody th{text-align:left;background:var(--card);box-shadow:4px 0 0 var(--card);position:sticky;left:0}.heat thead th:first-child{z-index:2;min-width:190px;padding-left:12px}.heat tbody th{z-index:1;color:#d5dbe6;min-width:190px;padding:0 12px;font-size:12px;font-weight:600}.heat td button{color:#fff;border:none;border-radius:4px;width:100%;min-height:34px;font-size:11px;font-weight:600;display:block}.heat td button.covered{background:var(--covered)}.heat td button.partial{background:var(--partial);color:#1a1204}.heat td button.gap{background:var(--gap)}.heat td button.requiresLicense{color:var(--muted);background:repeating-linear-gradient(135deg,#2a2a2a,#2a2a2a 4px,#3a3a3a 4px 8px)}.heat td button.na{background:var(--bg);color:#6e6e6e;cursor:default}.heat td button:not(:disabled):hover{filter:brightness(1.12)}.heat td button:focus-visible{outline:2px solid var(--text);outline-offset:1px}.cell-detail{margin:14px 0;padding:14px 16px}.cell-detail-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.cell-detail-head strong{flex:1;min-width:0}.cell-detail-head .btn{flex-shrink:0}.findings-wrap,.card table{width:100%}.findings-block{margin-top:36px}.page .findings-heading{margin:0 0 12px}.findings{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}.findings th,.findings td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 10px}.findings tr.related-row td{background:color-mix(in srgb, var(--covered) 12%, transparent)}.finding-row{cursor:pointer}.finding-row:hover td{background:var(--card-2)}.finding-row:focus-visible td{outline:2px solid var(--text);outline-offset:-2px}.finding-row.open td{border-bottom-color:#0000}.rule-id{white-space:nowrap;font-variant-numeric:tabular-nums;width:1%;font-weight:700}.rule-id.critical{color:color-mix(in srgb, var(--gap) 22%, white)}.rule-id.high{color:#ffc2a8}.rule-id.medium{color:color-mix(in srgb, var(--partial) 28%, white)}.rule-id.low{color:#c5ccd8}.rule-id.info{color:var(--muted)}.finding-detail td{background:var(--bg);padding-top:0}.finding-detail .subhead:first-child{margin-top:0}.finding-detail p:last-of-type,.related-note{margin-bottom:8px}.findings th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.findings a{color:var(--text);text-underline-offset:2px;text-decoration:underline}.findings a:hover{text-decoration:underline}.filters{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.filters select{background:var(--bg)}.app-note{color:var(--muted);margin:4px 0 0;font-size:12px;display:block}.search{width:100%;margin-bottom:8px}.app-pick{border:1px solid var(--line);background:var(--bg);border-radius:8px;max-height:260px;padding:8px 12px;overflow:auto}.footer-nav{bottom:0;left:max(calc(var(--shell-gutter) / 2), calc((100% - 1180px) / 2));width:min(1180px, calc(100% - var(--shell-gutter)));z-index:6;border-top:1px solid var(--line);background:var(--bg);justify-content:space-between;gap:12px;margin:0;padding:12px 0 14px;display:flex;position:fixed}.footer-nav-narrow,.page-narrow .footer-nav{width:min(760px, calc(100% - var(--shell-gutter)))}.group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px;font-size:13px;font-weight:600}.blade-stack{border:1px solid var(--line-strong);background:var(--bg);border-radius:8px;margin:0 0 8px;overflow:hidden}.blade{border-top:1px solid var(--line)}.blade:first-child{border-top:none}.blade-row{width:100%;color:var(--text);text-align:left;background:0 0;border:none;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 16px;font-size:14px;font-weight:600;display:grid}.blade-row:hover,.blade.open>.blade-row{background:var(--card)}.chevron{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);justify-self:center;width:7px;height:7px;transform:rotate(-45deg)}.blade.open>.blade-row .chevron{transform:rotate(45deg)}.blade-title{font-weight:600}.blade-summary{color:var(--muted);font-size:13px;font-weight:400}.blade-body{border-top:1px solid var(--line);background:var(--card);padding:8px 16px 18px 40px}.blade-stack.nested{background:var(--bg);margin:8px 0 4px}.blade-stack.nested .blade-row{padding:12px 14px;font-weight:500}.blade-stack.nested .blade-body{padding-left:28px}.subhead{margin:14px 0 6px;font-size:13px;font-weight:600}.indent{margin-left:22px}.inc-exc{grid-template-columns:1fr 1fr;gap:20px;margin-top:4px;display:grid}@media (width<=800px){.inc-exc{grid-template-columns:1fr}}.location-list{max-height:200px}.chips{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{background:var(--card-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:12px;display:inline-flex}.chip button{color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.named-row{align-items:center;gap:8px;display:flex}.named-row input{flex:1}.enable-policy{border:1px solid var(--line-strong);background:var(--bg);border-radius:8px;flex-wrap:wrap;gap:8px 22px;padding:8px 16px;display:flex}.enable-policy .check{margin:8px 0}.import-paste{margin-top:14px}.import-paste summary{cursor:pointer;color:var(--muted);margin-bottom:8px}.muted{color:var(--muted);font-size:13px;line-height:1.5}code{color:var(--text);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.92em}ol{padding-left:18px}ol li{margin:0 0 14px}ol li strong{letter-spacing:-.01em}.deductions,.related{margin:0 0 18px;padding:0;list-style:none}.deductions li,.related li{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:6px 0;display:flex}.deductions li span:nth-child(2){flex:1}.findings-scroll{overflow-x:auto}@media (width<=800px){.policy-facts{grid-template-columns:1fr}.policy-card,.export-row{flex-direction:column;align-items:flex-start}.name-row,.name-row.exclude-row{grid-template-columns:1fr}}
