@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--bg-inset:#08090c;--surface:#12151a;--surface-2:#181c22;--surface-3:#1e232a;--border:#23272f;--border-strong:#313741;--text:#e6e8eb;--text-muted:#8a919c;--text-faint:#808794;--accent:#7c95ff;--accent-hover:#9aadff;--accent-ink:#0b0d10;--accent-soft:#7c95ff1f;--focus:#9aadff;--sev-critical:#ef4f56;--sev-high:#f59a3c;--sev-medium:#ecd36a;--sev-low:#3fb5a9;--sev-info:#5f6672;--ok:#6fbf8e;--redact:#3a404b;--redact-edge:#4a515e;--code-bg:#0e1014;--code-line-hit:#f2555a1a;--syn-comment:#6c7480;--syn-keyword:#c792ea;--syn-string:#a5d6a7;--syn-number:#f6c177;--syn-function:#82aaff;--syn-punct:#8a919c;--syn-tag:#ff9e80;--syn-attr:#ffcb6b;--shadow-pop:0 8px 24px #00000073}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--bg-inset:#eef0f3;--surface:#fff;--surface-2:#f3f4f7;--surface-3:#e9ecf0;--border:#e1e4e9;--border-strong:#cdd2da;--text:#14171c;--text-muted:#5a626e;--text-faint:#636b78;--accent:#3352d6;--accent-hover:#2440b8;--accent-ink:#fff;--accent-soft:#3352d614;--focus:#3352d6;--sev-critical:#b3141c;--sev-high:#d4740f;--sev-medium:#7f6a00;--sev-low:#14857a;--sev-info:#a6acb5;--ok:#1f7a46;--redact:#d5d9e0;--redact-edge:#c3c8d1;--code-bg:#f8f9fb;--code-line-hit:#c4212914;--syn-comment:#6b7380;--syn-keyword:#8b2fc9;--syn-string:#1c7a3a;--syn-number:#a35a00;--syn-function:#2b4fd1;--syn-punct:#5a626e;--syn-tag:#b3401c;--syn-attr:#8a6300;--shadow-pop:0 8px 24px #14171c1f}:root{--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, Consolas, monospace;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-16:1rem;--fs-20:1.25rem;--fs-28:1.75rem;--fs-44:2.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--r-sm:4px;--r-md:6px;--r-lg:10px;--dur-fast:.15s;--dur:.2s;--dur-slow:.25s;--ease:cubic-bezier(.2, 0, 0, 1);--shell-max:1200px;--gutter:16px}@media (min-width:720px){:root{--gutter:32px}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s;--dur-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-14);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.2}p{margin:0}a{color:var(--accent);text-underline-offset:3px;text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.92em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-soft)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--s-4);z-index:100;padding:var(--s-2) var(--s-3);background:var(--accent);color:var(--accent-ink);border-radius:var(--r-md);transition:top var(--dur) var(--ease);position:absolute;top:-48px}.skip-link:focus{top:var(--s-3);color:var(--accent-ink);text-decoration:none}.btn{justify-content:center;align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--fs-13);white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex:none;width:15px;height:15px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-icon{width:32px;padding:0}.kbd{border:1px solid var(--border-strong);border-radius:var(--r-sm);min-width:20px;height:20px;color:var(--text-muted);font-family:var(--font-sans);font-size:var(--fs-12);border-bottom-width:2px;align-items:center;gap:2px;padding:0 5px;line-height:1;display:inline-flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.eyebrow{color:var(--text-muted);font-size:var(--fs-12);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.muted{color:var(--text-muted)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);background-size:200% 100%;animation:1.4s linear infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.hero{border-bottom:1px solid var(--border)}.hero-inner{align-items:center;gap:var(--s-7);grid-template-columns:minmax(0,1fr);padding-top:clamp(48px,10vw,112px);padding-bottom:clamp(40px,7vw,80px);display:grid}@media (min-width:1100px){.hero-inner{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}.hero-sample{display:none}@media (min-width:1100px){.hero-sample{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);font-size:var(--fs-13);display:block;overflow:hidden}}.hero-sample-head{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);display:flex}.hero-sample-score{font-size:var(--fs-16);margin-left:auto}.hero-sample ul{margin:0;padding:0;list-style:none}.hero-sample li{padding:var(--s-3) var(--s-4);gap:2px;display:grid;position:relative}.hero-sample li+li{border-top:1px solid var(--border)}.hero-sample li:before{content:"";background:var(--sev);width:2px;position:absolute;top:0;bottom:0;left:0}.hero-sample-title{font-weight:500}.hero-sample-loc{color:var(--text-muted);font-size:var(--fs-12)}.hero-sample-tags{gap:var(--s-2);margin-top:2px;display:flex}.hero-sample-tags:empty{display:none}.hero-title{margin-top:var(--s-4);max-width:18ch;font-size:clamp(2rem, 6vw, var(--fs-44));letter-spacing:-.03em;font-weight:600;line-height:1.08}.hero-redact{display:inline-block;position:relative}.hero-redact:after{content:"";background:var(--redact-edge);transform-origin:50% 100%;animation:unredact .52s var(--ease) .38s both;border-radius:2px;position:absolute;inset:.12em -.06em -.02em;transform:scaleY(.07)}@keyframes unredact{0%{background:var(--text);transform:scaleY(1)}to{background:var(--redact-edge);transform:scaleY(.07)}}@media (prefers-reduced-motion:reduce){.hero-redact:after{animation:none}}.hero-sub{margin-top:var(--s-4);max-width:58ch;color:var(--text-muted);font-size:var(--fs-16);line-height:1.6}.cmdbar-wrap{margin-top:var(--s-6);max-width:680px}.cmdbar{align-items:center;gap:var(--s-2);height:56px;padding:0 var(--s-2) 0 var(--s-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:flex}.cmdbar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cmdbar.has-error{border-color:var(--sev-medium)}.cmdbar-icon{width:18px;height:18px;color:var(--text-muted);flex:none}.cmdbar input{min-width:0;height:100%;font-family:var(--font-mono);font-size:var(--fs-16);background:0 0;border:0;outline:none;flex:1}.cmdbar input::placeholder{color:var(--text-faint)}.cmdbar-kbd{flex:none}.cmdbar-submit{height:40px;padding:0 var(--s-4);font-size:var(--fs-14)}.cmdbar-enter{opacity:.7}.cmdbar-error{margin-top:var(--s-2);color:var(--sev-medium);font-size:var(--fs-13)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:520px){.cmdbar-kbd,.cmdbar-enter{display:none}.cmdbar{padding-left:var(--s-3)}.cmdbar-submit{padding:0 var(--s-3)}}.examples{align-items:center;gap:var(--s-2) var(--s-3);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.examples-label{color:var(--text-muted);font-size:var(--fs-13)}.examples-list{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-13);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface)}.chip:disabled{opacity:.5;cursor:not-allowed}.chip svg{width:14px;height:14px;color:var(--text-muted)}.chip-slug{color:var(--text-muted);font-size:var(--fs-12)}@media (max-width:640px){.chip-slug{display:none}}.pipeline{padding-top:var(--s-7);padding-bottom:var(--s-6)}.pipeline-list{margin:var(--s-4) 0 0;counter-reset:step;border-top:1px solid var(--border);grid-template-columns:repeat(6,minmax(0,1fr));padding:0;list-style:none;display:grid}.pipeline-list li{gap:var(--s-1);padding:var(--s-4) var(--s-4) var(--s-4) 0;counter-increment:step;flex-direction:column;display:flex}.pipeline-list li+li{padding-left:var(--s-4);border-left:1px solid var(--border)}.pipeline-name:before{content:counter(step) ". ";color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-12)}.pipeline-name{font-weight:500}.pipeline-hint{color:var(--text-muted);font-size:var(--fs-13)}@media (max-width:960px){.pipeline-list{grid-template-columns:repeat(3,minmax(0,1fr))}.pipeline-list li:nth-child(3n+1){border-left:0;padding-left:0}.pipeline-list li:nth-child(n+4){border-top:1px solid var(--border)}}@media (max-width:560px){.pipeline-list{grid-template-columns:1fr}.pipeline-list li,.pipeline-list li+li{padding:var(--s-3) 0;border-left:0}.pipeline-list li+li{border-top:1px solid var(--border)}}.pipeline-sources{align-items:center;gap:var(--s-2);margin-top:var(--s-4);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.source-tag{padding:2px var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-12)}.recent{padding-bottom:var(--s-8)}.recent-head{justify-content:space-between;align-items:baseline;display:flex}.recent-all{align-items:center;gap:var(--s-1);font-size:var(--fs-13);display:inline-flex}.recent-all svg{width:14px;height:14px}.recent-list{margin:var(--s-3) 0 0;border:1px solid var(--border);border-radius:var(--r-lg);padding:0;list-style:none;overflow:hidden}.recent-list li+li{border-top:1px solid var(--border)}.recent-item{align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);color:var(--text);transition:background var(--dur-fast) var(--ease);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.recent-item:hover{background:var(--surface);color:var(--text);text-decoration:none}.recent-slug{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-meta,.recent-time{color:var(--text-muted);font-size:var(--fs-13)}@media (max-width:560px){.recent-item{grid-template-columns:auto minmax(0,1fr) auto}.recent-meta{display:none}}.history{padding-top:var(--s-6);padding-bottom:var(--s-8)}.history-head{justify-content:space-between;align-items:flex-end;gap:var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.history-head h1{font-size:var(--fs-28)}.history-head p{margin-top:var(--s-1)}.history-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--r-lg);width:100%;font-size:var(--fs-13);overflow:hidden}.history-table th{padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--fs-12);text-align:left;font-weight:500}.history-table td{padding:var(--s-3) var(--s-4);vertical-align:middle}.history-table tbody tr+tr td{border-top:1px solid var(--border)}.history-table tbody tr:hover td{background:var(--surface)}.history-table th:first-child,.history-table td:first-child{width:1%;padding-right:0}.col-repo a{color:var(--text);overflow-wrap:anywhere}.findings-cell{align-items:center;gap:var(--s-3);display:inline-flex}.minibar{gap:2px;width:96px;height:6px;display:inline-flex}.minibar span{background:var(--sev);min-width:3px}.minibar span:first-child{border-radius:3px 0 0 3px}.minibar span:last-child{border-radius:0 3px 3px 0}.minibar span:only-child{border-radius:3px}.minibar-empty{background:var(--surface-3);border-radius:3px}.col-actions{text-align:right;width:1%}@media (max-width:640px){.col-time,.minibar{display:none}.history-table th,.history-table td{padding-left:var(--s-3);padding-right:var(--s-3)}}.history-empty{align-items:center;gap:var(--s-2);padding:var(--s-8) var(--s-4);border:1px dashed var(--border-strong);border-radius:var(--r-lg);text-align:center;flex-direction:column;display:flex}.history-empty svg{width:28px;height:28px;color:var(--text-muted)}.history-empty h2{font-size:var(--fs-16)}.history-empty .btn{margin-top:var(--s-2)}.progress-page{max-width:760px;padding-top:var(--s-7);padding-bottom:var(--s-8)}.progress-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;display:flex}.progress-repo{margin-top:var(--s-1);font-size:var(--fs-20);letter-spacing:-.01em;word-break:break-all;font-weight:500}.progress-head-actions{align-items:center;gap:var(--s-3);display:flex}.progress-elapsed{color:var(--text-muted);font-size:var(--fs-13);font-variant-numeric:tabular-nums}.progress-meter{height:2px;margin-top:var(--s-5);background:var(--border);border-radius:2px;overflow:hidden}.progress-meter span{background:var(--accent);transform-origin:0;height:100%;transition:transform var(--dur-slow) var(--ease);display:block}.steps{margin:var(--s-5) 0 0;padding:0;list-style:none}.step{gap:var(--s-3);padding-bottom:var(--s-5);grid-template-columns:24px minmax(0,1fr);display:grid;position:relative}.step:not(:last-child):before{content:"";background:var(--border);width:1px;position:absolute;top:26px;bottom:2px;left:11.5px}.step-done:not(:last-child):before,.step-skipped:not(:last-child):before{background:var(--border-strong)}.step-icon{width:24px;height:24px;color:var(--text-faint);border-radius:50%;place-items:center;display:grid}.step-icon svg{width:16px;height:16px}.step-pending .step-icon svg{width:10px;height:10px}.step-running .step-icon{color:var(--accent)}.step-running .step-icon svg{animation:.9s linear infinite spin}.step-done .step-icon{color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-strong)}.step-done .step-icon svg{width:13px;height:13px}.step-failed .step-icon{color:var(--sev-medium)}.step-line{align-items:baseline;gap:var(--s-3);min-height:24px;padding-top:2px;display:flex}.step-label{font-weight:500}.step-pending .step-label{color:var(--text-muted)}.step-time{color:var(--text-muted);font-size:var(--fs-12);font-variant-numeric:tabular-nums;margin-left:auto}.step-detail{color:var(--text-muted);font-size:var(--fs-13);overflow-wrap:anywhere;transition:color var(--dur) var(--ease);margin-top:2px}.step-running .step-detail{color:var(--text)}.progress-error{padding:var(--s-4);border:1px solid color-mix(in srgb, var(--sev-medium) 40%, var(--border));border-radius:var(--r-lg);background:color-mix(in srgb, var(--sev-medium) 6%, transparent);font-size:var(--fs-13)}.progress-error-title{margin-bottom:var(--s-1);font-weight:500}@media (prefers-reduced-motion:reduce){.step-running .step-icon svg,.spin{animation:none}}.report{padding-top:var(--s-6);padding-bottom:var(--s-8)}.section-title{font-size:var(--fs-16);margin-bottom:var(--s-3);font-weight:600}.report-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.report-title{min-width:0}.crumbs{gap:var(--s-2);color:var(--text-muted);font-size:var(--fs-13);display:flex}.crumbs a{color:var(--text-muted)}.crumbs a:hover{color:var(--text)}.report-head h1{margin-top:var(--s-2);font-size:var(--fs-20);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:500}.repo-link{align-items:center;gap:var(--s-2);color:var(--text);display:inline-flex}.repo-link:hover{color:var(--text)}.report-meta{margin-top:var(--s-1);color:var(--text-muted);font-size:var(--fs-13)}.report-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.menu{position:relative}.menu-list{z-index:10;min-width:170px;padding:var(--s-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0}.menu-list button{align-items:center;gap:var(--s-2);padding:var(--s-2);border-radius:var(--r-sm);font-size:var(--fs-13);text-align:left;background:0 0;border:0;display:flex}.menu-list button:hover,.menu-list button:focus-visible{background:var(--surface-2)}.menu-list svg{width:15px;height:15px;color:var(--text-muted)}@media (max-width:520px){.menu-list{left:0;right:auto}}.report-summary{gap:var(--s-6);padding:var(--s-5);grid-template-columns:auto minmax(0,1fr);display:grid}.skeleton-panel{gap:var(--s-5);display:flex}.summary-grade{align-items:center;gap:var(--s-4);display:flex}.score-value{margin-top:var(--s-1);align-items:baseline;gap:2px;display:flex}.score-value .mono{font-size:var(--fs-28);letter-spacing:-.02em;font-weight:500}.score-floor{max-width:22ch;margin-top:var(--s-1);color:var(--text-muted);font-size:var(--fs-12)}.summary-body{gap:var(--s-4);align-content:center;display:grid}.risk-track{gap:2px;height:22px;display:flex;position:relative}.risk-band{background:var(--surface-2);color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-12);align-items:center;padding-left:6px;display:flex;position:relative}.risk-band:first-child{border-radius:4px 0 0 4px}.risk-band:last-child{border-radius:0 4px 4px 0}.risk-band.is-current{background:var(--surface-3);color:var(--text)}.risk-marker{background:var(--text);width:3px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;margin-left:-1.5px;position:absolute;top:-4px;bottom:-4px}.sevbar{gap:2px;height:12px;display:flex}.sevbar-seg{background:var(--sev);min-width:6px;transition:opacity var(--dur-fast) var(--ease);border:0;padding:0;position:relative}.sevbar-seg:first-child{border-radius:4px 0 0 4px}.sevbar-seg:last-child{border-radius:0 4px 4px 0}.sevbar-seg:only-child{border-radius:4px}.sevbar-seg.is-dim{opacity:.3}.sevbar-seg:after{content:none;z-index:5;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-pop);color:var(--text);font-size:var(--fs-12);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);padding:4px 8px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,2px)}.sevbar-seg:hover:after,.sevbar-seg:focus-visible:after{content:attr(data-tip);opacity:1;transform:translate(-50%)}.sevbar-seg:first-child:hover:after,.sevbar-seg:first-child:focus-visible:after{left:0;transform:none}.sevbar-seg:last-child:hover:after,.sevbar-seg:last-child:focus-visible:after{left:auto;right:0;transform:none}.sev-critical{--sev:var(--sev-critical)}.sev-high{--sev:var(--sev-high)}.sev-medium{--sev:var(--sev-medium)}.sev-low{--sev:var(--sev-low)}.sev-info{--sev:var(--sev-info)}.sev-dot{background:var(--sev,var(--text-faint));border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.sev-legend{gap:var(--s-2) var(--s-4);margin:var(--s-2) 0 0;font-size:var(--fs-13);flex-wrap:wrap;padding:0;list-style:none;display:flex}.sev-legend li{color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.sev-legend-n{color:var(--text)}.sev-legend li.is-zero{opacity:.55}.summary-facts{gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--border);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.summary-facts dt{color:var(--text-muted);font-size:var(--fs-12)}.summary-facts dd{font-size:var(--fs-16);margin:2px 0 0}.summary-facts .is-alert dd:before{content:"";background:var(--sev-critical);vertical-align:1px;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}@media (max-width:860px){.report-summary{gap:var(--s-5);grid-template-columns:1fr}.summary-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.report-summary{padding:var(--s-4)}.summary-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.grade-lg{width:72px;height:72px;font-size:2.5rem}}.ai-summary{margin-top:var(--s-4);padding:var(--s-4) var(--s-5)}.ai-summary-head,.ai-off{align-items:center;gap:var(--s-2);font-size:var(--fs-14);font-weight:600;display:flex}.ai-summary-head svg,.ai-off svg,.ai-note-head svg{width:15px;height:15px;color:var(--accent)}.ai-summary-head .muted{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:400}.ai-summary-body{max-width:78ch;margin-top:var(--s-2)}.ai-disclaimer{margin-top:var(--s-3);color:var(--text-muted);font-size:var(--fs-12)}.ai-off{margin-top:var(--s-4);font-weight:400;font-size:var(--fs-13)}.md p,.md ul,.md ol{margin:0 0 var(--s-2)}.md ul,.md ol{padding-left:1.25em}.md h4{margin:var(--s-3) 0 var(--s-1);font-size:var(--fs-14)}.md code{background:var(--surface-2);border-radius:3px;padding:1px 4px}.findings-anchor{scroll-margin-top:64px}.findings{margin-top:var(--s-6)}.findings-head{justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.findings-head h2{font-size:var(--fs-16)}.findings-head h2 .muted{margin-left:var(--s-1);font-family:var(--font-mono);font-size:var(--fs-13);font-weight:400}.findings-bulk{gap:var(--s-1);display:flex}.toolbar{align-items:center;gap:var(--s-2) var(--s-3);margin:var(--s-3) 0 var(--s-4);padding-bottom:var(--s-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.search{align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--dur-fast) var(--ease);flex:260px;display:flex}.search:focus-within{border-color:var(--accent)}.search svg{width:15px;height:15px;color:var(--text-muted)}.search input{min-width:0;font-size:var(--fs-13);background:0 0;border:0;outline:none;flex:1}.search input::placeholder{color:var(--text-faint)}.seg{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-inset);padding:2px;display:inline-flex}.seg-item{height:26px;padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-13);background:0 0;border:0;align-items:center;gap:6px;display:inline-flex}.seg-item[aria-checked=true]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.seg-count{color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-12)}.sev-filters{gap:var(--s-1);flex-wrap:wrap;display:flex}.sev-toggle{height:30px;padding:0 var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-13);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;align-items:center;gap:6px;display:inline-flex}.sev-toggle[aria-pressed=true]{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.sev-toggle[aria-pressed=false] .sev-dot{box-shadow:inset 0 0 0 1.5px var(--sev);background:0 0}.kev-toggle svg{width:14px;height:14px;color:var(--sev-critical)}@media (max-width:640px){.seg{width:100%;overflow-x:auto}.findings-bulk .btn{padding:0 var(--s-2)}}.sev-group+.sev-group{margin-top:var(--s-4)}.sev-group-head button{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-1) var(--s-1) 0;font-size:var(--fs-13);background:0 0;border:0;font-weight:600;display:inline-flex}.sev-group-head .muted{font-family:var(--font-mono);font-weight:400}.sev-group-chevron{width:14px;height:14px;color:var(--text-muted);transition:transform var(--dur-fast) var(--ease)}.sev-group-head button[aria-expanded=false] .sev-group-chevron{transform:rotate(-90deg)}.finding-list{margin:var(--s-2) 0 0;border:1px solid var(--border);border-radius:var(--r-lg);padding:0;list-style:none;overflow:hidden}.finding{background:var(--surface);position:relative}.finding+.finding{border-top:1px solid var(--border)}.finding:before{content:"";background:var(--sev);width:2px;position:absolute;top:0;bottom:0;left:0}.sev-edge-critical{--sev:var(--sev-critical)}.sev-edge-high{--sev:var(--sev-high)}.sev-edge-medium{--sev:var(--sev-medium)}.sev-edge-low{--sev:var(--sev-low)}.sev-edge-info{--sev:var(--sev-info)}.finding-summary{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);text-align:left;transition:background var(--dur-fast) var(--ease);background:0 0;border:0;grid-template-columns:16px minmax(0,1fr) auto;display:grid}.finding-summary:hover{background:var(--surface-2)}.finding-summary:focus-visible{outline-offset:-2px}.finding-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform var(--dur-fast) var(--ease)}.is-open .finding-chevron{transform:rotate(90deg)}.finding-main{flex-direction:column;gap:2px;min-width:0;display:flex}.finding-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.finding-loc{align-items:center;gap:var(--s-2);min-width:0;color:var(--text-muted);font-size:var(--fs-12);display:flex}.finding-loc .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.finding-type{border:1px solid var(--border);border-radius:3px;flex:none;padding:0 5px;font-size:11px;line-height:16px}.loc-fix{color:var(--text)}.finding-tags{align-items:center;gap:var(--s-2);display:flex}.metric{color:var(--text-muted);font-size:var(--fs-12);white-space:nowrap}.metric strong{color:var(--text);font-family:var(--font-mono);font-weight:500}.sev-badge{min-width:82px;height:22px;padding:0 var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-12);align-items:center;gap:6px;font-weight:500;display:inline-flex}.kev-badge{height:22px;padding:0 var(--s-2);border:1px solid color-mix(in srgb, var(--sev-critical) 55%, transparent);border-radius:var(--r-sm);background:color-mix(in srgb, var(--sev-critical) 12%, transparent);color:var(--text);font-size:var(--fs-12);white-space:nowrap;align-items:center;gap:4px;font-weight:600;display:inline-flex}.kev-badge svg{width:13px;height:13px;color:var(--sev-critical)}@media (max-width:720px){.finding-summary{grid-template-columns:16px minmax(0,1fr);align-items:start}.finding-chevron{margin-top:2px}.finding-tags{flex-wrap:wrap;grid-column:2}.finding-title{white-space:normal}.sev-badge{min-width:0}}.gh-link{max-width:calc(100% - 2 * var(--s-4) - 16px - var(--s-3));margin:calc(var(--s-2) * -1) 0 var(--s-3) calc(var(--s-4) + 16px + var(--s-3));color:var(--accent);font-size:var(--fs-12);align-items:center;gap:6px;display:inline-flex}.gh-link>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gh-link svg{flex:none}.gh-link svg.lucide{width:12px;height:12px}@media (max-width:720px){.gh-link{max-width:calc(100% - var(--s-4) - 16px - var(--s-3) - var(--s-4))}}.finding-panel{gap:var(--s-4);padding:var(--s-1) var(--s-4) var(--s-5) calc(var(--s-4) + 16px + var(--s-3));animation:panel-in var(--dur) var(--ease);display:grid}@keyframes panel-in{0%{opacity:0;transform:translateY(-2px)}}@media (max-width:720px){.finding-panel{padding-left:var(--s-4)}}.finding-desc{max-width:80ch;color:var(--text-muted)}.finding-desc .md p:last-child,.finding-desc .md ul:last-child{margin-bottom:0}.reveal-btn{margin-top:calc(var(--s-2) * -1);justify-self:start}.code{border:1px solid var(--border);border-radius:var(--r-md);background:var(--code-bg);margin:0;overflow:hidden}.code-head{justify-content:space-between;gap:var(--s-3);padding:6px var(--s-3);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-12);display:flex}.code-head span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-body{padding:var(--s-2) 0;font-size:var(--fs-12);margin:0;line-height:1.7;overflow-x:auto}.code-line{min-width:max-content;padding-right:var(--s-4);display:flex}.code-ln{padding:0 var(--s-3);color:var(--text-faint);text-align:right;-webkit-user-select:none;user-select:none;flex:none}.code-text{white-space:pre}.code-line-hit{background:var(--code-line-hit);box-shadow:inset 2px 0 0 var(--sev-critical)}.code-line-hit .code-ln{color:var(--text)}.facts{gap:var(--s-2);font-size:var(--fs-13);margin:0;display:grid}.fact{gap:var(--s-3);grid-template-columns:96px minmax(0,1fr);display:grid}.fact dt{color:var(--text-muted)}.fact dd{overflow-wrap:anywhere;margin:0}.fact .mono{font-size:var(--fs-12)}@media (max-width:520px){.fact{grid-template-columns:1fr;gap:0}}.ai-note,.remediation{max-width:80ch;font-size:var(--fs-13)}.ai-note{padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--accent-soft)}.ai-note-head,.remediation-head{margin-bottom:var(--s-1);align-items:center;gap:6px;font-weight:600;display:flex}.finding-sources{align-items:center;gap:var(--s-2);font-size:var(--fs-12);flex-wrap:wrap;display:flex}.source-chip{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);vertical-align:1px;border-radius:3px;align-items:center;gap:3px;padding:1px 6px;font-size:11px;display:inline-flex}a.source-chip:hover{border-color:var(--border-strong);color:var(--text);text-decoration:none}.source-chip svg{width:10px;height:10px}.show-more{margin-top:var(--s-2)}.findings-none,.findings-empty{align-items:center;gap:var(--s-4);padding:var(--s-6) var(--s-5);display:flex}.findings-none{border:1px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-muted);flex-direction:column}.findings-none svg,.findings-empty svg{width:28px;height:28px;color:var(--text-muted);flex:none}.findings-empty{margin-top:var(--s-5)}.findings-empty svg{color:var(--ok)}.findings-empty h2{font-size:var(--fs-16);margin-bottom:var(--s-1)}.posture,.sources{margin-top:var(--s-7)}.posture-grid{gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:900px){.posture-grid{grid-template-columns:1fr}}.posture-card{padding:var(--s-4)}.posture-card-head{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.posture-score{margin:var(--s-2) 0 var(--s-3);align-items:baseline;gap:2px;display:flex}.posture-score .mono{font-size:var(--fs-28);font-weight:500}.posture-note{font-size:var(--fs-12)}.posture-unavailable{margin-top:var(--s-3);font-size:var(--fs-13)}.checks{gap:var(--s-2);margin:var(--s-2) 0 0;font-size:var(--fs-13);padding:0;list-style:none;display:grid}.checks li{align-items:center;gap:var(--s-2);grid-template-columns:minmax(0,1fr) 64px 20px;display:grid}.checks a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.check-meter{background:var(--surface-3);border-radius:2px;height:4px;overflow:hidden}.check-meter span{background:var(--text-muted);border-radius:2px;height:100%;display:block}.check-score{color:var(--text-muted);font-size:var(--fs-12);text-align:right}.repo-facts{gap:var(--s-3);margin:var(--s-3) 0 0;grid-template-columns:1fr 1fr;display:grid}.repo-facts dt{color:var(--text-muted);font-size:var(--fs-12)}.repo-facts dd{align-items:center;gap:4px;margin:2px 0 0;display:flex}.repo-facts svg{width:13px;height:13px;color:var(--text-muted)}.practices{gap:var(--s-2);margin:var(--s-3) 0 var(--s-3);font-size:var(--fs-13);padding:0;list-style:none;display:grid}.practices li{align-items:center;gap:var(--s-2);display:flex}.practices svg{flex:none;width:15px;height:15px}.practices .is-ok svg{color:var(--ok)}.practices .is-missing{color:var(--text-muted)}.practice-detail{font-size:var(--fs-12);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.sources-list{margin:0;padding:0;list-style:none}.sources-list li{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);font-size:var(--fs-13);grid-template-columns:140px 220px minmax(0,1fr);display:grid}.sources-list li+li{border-top:1px solid var(--border)}.src-name{color:var(--text);align-items:center;gap:4px;display:inline-flex}.src-name svg{width:12px;height:12px;color:var(--text-muted)}.src-detail{overflow-wrap:anywhere}.src-status{color:var(--text-muted);font-size:var(--fs-12);align-items:center;gap:6px;display:inline-flex}.src-status:before{content:"";background:var(--text-faint);border-radius:50%;width:7px;height:7px}.src-ok:before{background:var(--ok)}.src-partial:before{background:var(--sev-medium)}.src-unavailable:before{box-shadow:inset 0 0 0 1.5px var(--sev-medium);background:0 0}@media (max-width:720px){.sources-list li{grid-template-columns:1fr;gap:2px}}.report-foot{margin-top:var(--s-6);font-size:var(--fs-12)}.toaster{bottom:var(--s-5);z-index:50;gap:var(--s-2);width:min(440px,100vw - 32px);display:grid;position:fixed;left:50%;transform:translate(-50%)}.toast{padding:var(--s-3) var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-pop);font-size:var(--fs-13);animation:panel-in var(--dur) var(--ease)}.toast-warn{border-color:color-mix(in srgb, var(--sev-medium) 50%, var(--border))}.ai-note .md>:last-child,.remediation .md>:last-child{margin-bottom:0}.app{min-height:100vh;flex-direction:column;min-height:100dvh;display:flex}.app-main{outline:none;flex:1}.shell{width:100%;max-width:var(--shell-max);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{align-items:center;gap:var(--s-5);height:52px;display:flex}.brand{align-items:center;gap:var(--s-2);color:var(--text);font-weight:600;font-size:var(--fs-14);letter-spacing:-.01em;display:inline-flex}.brand:hover{color:var(--text);text-decoration:none}.topnav{gap:var(--s-1);display:flex}.topnav a{padding:6px var(--s-2);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-13);transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);font-weight:500}.topnav a:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.topnav a.active{color:var(--text)}.topbar-actions{align-items:center;gap:var(--s-1);margin-left:auto;display:flex}@media (max-width:520px){.topbar-inner{gap:var(--s-3)}.brand span,.new-scan .kbd,.new-scan-label{display:none}.new-scan{width:32px;padding:0}}.statusbar{border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-12)}.statusbar-inner{align-items:center;gap:var(--s-2) var(--s-4);min-height:44px;padding-top:var(--s-2);padding-bottom:var(--s-2);flex-wrap:wrap;display:flex}.statusbar-spacer{flex:1}.statusbar a{color:var(--text-muted)}.statusbar a:hover{color:var(--text)}.status-dot{align-items:center;gap:6px;display:inline-flex}.status-dot:before{content:"";background:var(--text-faint);border-radius:50%;width:7px;height:7px}.status-up:before{background:var(--ok)}.status-down:before{box-shadow:inset 0 0 0 1.5px var(--sev-medium);background:0 0}.page-empty{align-items:flex-start;gap:var(--s-3);padding-top:var(--s-8);padding-bottom:var(--s-8);flex-direction:column;display:flex}.page-empty h1{font-size:var(--fs-28)}.page-empty .btn{margin-top:var(--s-2)}.grade{--tone:var(--text-muted);border:1px solid color-mix(in srgb, var(--tone) 45%, transparent);border-radius:var(--r-md);background:color-mix(in srgb, var(--tone) 14%, transparent);color:var(--text);font-family:var(--font-mono);flex:none;place-items:center;font-weight:500;line-height:1;display:inline-grid}.grade-sm{width:26px;height:26px;font-size:var(--fs-13)}.grade-lg{border-radius:var(--r-lg);letter-spacing:-.04em;width:88px;height:88px;font-size:3rem}.grade-none{background:0 0;border-style:dashed}.tone-ok{--tone:var(--ok)}.tone-low{--tone:var(--sev-low)}.tone-medium{--tone:var(--sev-medium)}.tone-high{--tone:var(--sev-high)}.tone-critical{--tone:var(--sev-critical)}.redacted{vertical-align:baseline;font-family:var(--font-mono);align-items:center;display:inline-flex}.redact-bar{width:calc(var(--n) * .6em);background:var(--redact);height:1.05em;box-shadow:inset 0 0 0 1px var(--redact-edge);vertical-align:-.15em;border-radius:2px;margin:0 1px;display:inline-block}.redacted-raw{font-family:var(--font-mono);background:var(--code-line-hit);border-radius:2px}@media print{:root,:root[data-theme=dark],:root[data-theme=light]{--bg:#fff;--bg-inset:#fff;--surface:#fff;--surface-2:#f3f4f7;--surface-3:#e9ecf0;--border:#d5d9e0;--border-strong:#c3c8d1;--text:#111;--text-muted:#444;--text-faint:#555;--accent:#2440b8;--accent-soft:#f2f4fb;--code-bg:#f8f9fb;--redact:#d5d9e0;--redact-edge:#c3c8d1;--sev-critical:#b3141c;--sev-high:#d4740f;--sev-medium:#7f6a00;--sev-low:#14857a;--sev-info:#a6acb5;--syn-comment:#555;--syn-keyword:#6a1b9a;--syn-string:#1b5e20;--syn-number:#8a4b00;--syn-function:#1a3fa6;--syn-punct:#444;--syn-tag:#a83a17;--syn-attr:#6b5400}@page{margin:14mm}body{font-size:11px}.topbar,.statusbar,.skip-link,.report-actions,.toolbar,.findings-bulk,.show-more,.reveal-btn,.toaster,.finding-chevron,.sev-group-chevron{display:none!important}.shell{max-width:none;padding:0}.report{padding:0}.panel,.finding,.code{break-inside:avoid}.finding-panel{padding-left:12px;animation:none}.finding-title{white-space:normal}.code-body{overflow:visible}.code-text{white-space:pre-wrap;word-break:break-all}a{color:inherit}}
