@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/plex-sans-var.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-mono-600.woff2)format("woff2")}:root{--ink:#1c1917;--ink-soft:#44403c;--stone:#f5f5f4;--paper:#fff;--blue:#1e3a8a;--red:#dc2626;--red-text:#b91c1c;--amber:#b45309;--green:#15803d;--t2:#57534e;--t3:#6f6a64;--link-hover:#b91c1c;--ink-2:#292524;--dark-fg:#fafaf9;--line:#d6d3d1;--line-soft:#e7e5e4;--dark-line:#44403c;--dark-t2:#a8a29e;--dark-t1:#d6d3d1;--dark-green:#4ade80;--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*,:before,:after{box-sizing:border-box}body{background:var(--stone);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3{text-wrap:pretty}img{max-width:100%;height:auto;display:block}a{color:var(--ink);text-decoration:none}a:hover{color:var(--link-hover)}[x-cloak]{display:none!important}.skip-link{background:var(--ink);color:#fff;z-index:100;padding:12px 18px;font-size:14px;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}ul{margin:0;padding:0;list-style:none}button{font-family:var(--sans);cursor:pointer}summary{cursor:pointer}summary::-webkit-details-marker{display:none}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}::selection{background:var(--ink);color:var(--stone)}input,textarea{caret-color:var(--ink)}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--t3);font-size:12px}.ok{color:var(--green)}.warn{color:var(--amber)}.err{color:var(--red)}.container{max-width:1344px;margin:0 auto;padding-left:20px;padding-right:20px}.section{border-top:1px solid var(--line)}.section>.container{padding-top:36px;padding-bottom:36px}.section h2{letter-spacing:-.03em;font-size:26px;font-weight:700}.section-lead{color:var(--t2);max-width:70ch;margin-top:8px;font-size:14px;line-height:1.5}.btn{background:var(--ink);color:#fff;letter-spacing:.01em;border:none;justify-content:center;align-items:center;min-height:44px;padding:13px 22px;font-size:15px;font-weight:600;display:inline-flex}.btn:hover{background:var(--ink-soft);color:#fff}.btn-outline{color:var(--ink);border:1px solid var(--ink);background:0 0;justify-content:center;align-items:center;min-height:44px;padding:13px 22px;font-size:15px;font-weight:600;display:inline-flex}.btn-outline:hover{background:var(--line-soft);color:var(--ink)}.sr-only{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}.btn[aria-disabled=true]{background:var(--t2);cursor:default}.btn[aria-disabled=true]:hover{background:var(--t2)}.btn-invert{background:var(--paper);color:var(--ink)}.btn-invert:hover{background:var(--line-soft);color:var(--ink)}.link-arrow{border-bottom:1px solid var(--ink);padding-top:7px;padding-bottom:1px;font-size:14px;font-weight:500}.link-quiet{color:var(--t3);border-bottom:1px solid var(--line);font-size:13px}.badge{font-family:var(--mono);color:#fff;padding:3px 8px;font-size:11px;font-weight:600}.badge-err{background:var(--red)}.badge-warn{background:var(--amber)}.badge-ok{background:var(--green)}.badge-pro{background:var(--blue);color:#fff;font-family:var(--mono);padding:2px 6px;font-size:10px;font-weight:600}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.card{background:var(--paper);border:1px solid var(--line);padding:16px}.card h3{margin-bottom:6px;font-size:16px}.card p{color:var(--t2);font-size:14px;line-height:1.5}.card-grid{gap:10px;display:grid}.topbar{background:var(--ink);color:var(--dark-t1);font-family:var(--mono);padding:7px 0;font-size:11px}.topbar .container{align-items:center;gap:8px;display:flex}.topbar .dot{background:var(--dark-green);width:6px;height:6px}.site-header{background:var(--stone);border-bottom:1px solid var(--line);z-index:10;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px;display:flex}.brand{align-items:center;gap:9px;display:flex}.brand:hover{color:var(--ink)}.brand img{border-radius:7px;width:32px;height:32px}.brand b{letter-spacing:-.01em;font-size:14px;font-weight:600;line-height:1.15}.nav{align-items:center;gap:22px;font-size:14px;display:flex}.nav>a{color:var(--t2);font-weight:500}.nav>a:hover{color:var(--ink)}.nav-dd{position:relative}.dd-toggle{opacity:0;width:1px;height:1px;position:absolute}.dd-label{color:var(--ink);cursor:pointer;align-items:center;gap:4px;font-weight:500;display:flex}.dd-label:after{content:"▾";color:var(--t3);font-size:10px}.dd-toggle:focus-visible~.dd-label{outline:2px solid var(--blue);outline-offset:2px}.dd-backdrop{display:none}.dd-toggle:checked~.dd-backdrop{z-index:40;cursor:default;display:block;position:fixed;inset:0}.nav-dd-panel{background:var(--paper);border:1px solid var(--ink);z-index:50;grid-template-rows:repeat(4,auto);grid-template-columns:250px 250px;grid-auto-flow:column;align-items:start;gap:2px;margin-top:14px;padding:8px;display:none;position:absolute;top:100%;left:-16px;box-shadow:0 10px 30px #1c191724}.nav-dd-panel a{gap:2px;padding:12px 14px;display:grid}.nav-dd-panel a:hover{background:var(--stone)}.dd-toggle:checked~.nav-dd-panel{display:grid}.nav-dd-panel b{color:var(--ink);font-size:14px;font-weight:600}.nav-dd-panel span{color:var(--t3);font-size:12px}.nav-cta{white-space:nowrap;min-height:0;padding:10px 18px;font-size:14px}.nav-login{color:var(--t2);margin:-11px -6px;padding:11px 6px;font-size:14px}.menu{position:static}.menu-label{box-sizing:content-box;cursor:pointer;gap:4px;width:20px;margin:-14px -10px;padding:14px 10px;display:grid}.menu-label i{background:var(--ink);height:2px}.menu .dd-toggle:focus-visible~.menu-label{outline:2px solid var(--blue);outline-offset:2px}.menu-panel{background:var(--stone);border-bottom:1px solid var(--ink);z-index:40;padding:6px 20px 18px;display:none;position:absolute;top:100%;left:0;right:0}.menu-panel a{border-top:1px solid var(--line);padding:11px 0;font-size:15px;font-weight:500}.menu-panel .eyebrow{border-top:1px solid var(--line);padding:14px 0 4px}.menu-panel .eyebrow:first-child{border-top:none}.menu .dd-toggle:checked~.menu-panel{display:grid}@media (width>=900px){.menu,.nav-login{display:none!important}.container{padding-left:24px;padding-right:24px}.section>.container{padding-top:56px;padding-bottom:56px}.section h2{font-size:32px}.section-lead{font-size:15px;line-height:1.55}.dark-band .stat b{font-size:44px}}@media (width<=899px){.nav,.nav-cta{display:none}}.scan-form{gap:8px;display:grid}.scan-input{background:var(--paper);border:1px solid var(--line);border-bottom:3px solid var(--ink);font-family:var(--mono);color:var(--ink);align-items:center;width:100%;padding:14px 16px;font-size:16px;display:flex}.scan-field{background:var(--paper);border:1px solid var(--line);border-bottom:3px solid var(--ink);align-items:stretch;width:100%;display:flex}.scan-scheme{font-family:var(--mono);color:var(--t3);-webkit-user-select:none;user-select:none;align-items:center;padding:0 6px 0 16px;font-size:16px;display:flex}.scan-field:focus-within .scan-scheme{background:var(--ink);color:var(--paper);margin-right:2px;padding-right:8px}.scan-field .scan-input{background:0 0;border:none;flex:1;min-width:0;padding:14px 16px 14px 2px}.scan-input:focus,.scan-input:focus-visible{border-color:var(--ink);outline:none}.scan-field:focus-within{border-color:var(--ink)}.scan-field .scan-input:focus{border:none}input.scan-input::placeholder{color:var(--t3)}.scan-modes{color:var(--t2);font-size:12.5px;font-family:var(--mono);gap:12px;display:flex}.scan-modes .mode{cursor:pointer}.scan-modes .mode input{opacity:0;width:1px;height:1px;position:absolute}.scan-modes .mode span{padding-bottom:2px}.scan-modes .mode:has(input:checked) span{border-bottom:2px solid var(--ink);color:var(--ink)}.scan-modes .mode:has(input:focus-visible) span{outline:2px solid var(--blue);outline-offset:2px}.scan-modes .on{border-bottom:2px solid var(--ink);color:var(--ink);padding-bottom:2px}.scan-modes .end{margin-left:auto}.stat-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:1fr 1fr 1fr;display:grid}.stat-strip>div{padding:12px 0}.stat-strip>div+div{padding-left:12px}.stat-strip>div:not(:last-child){border-right:1px solid var(--line)}.stat-strip b{font-family:var(--mono);font-size:22px;font-weight:600;display:block}.stat-strip span{color:var(--t3);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.scan-rows{font-family:var(--mono);font-size:12px;display:grid}.scan-rows>div{grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:9px 0;display:grid}.scan-rows>div:not(:last-child){border-bottom:1px dashed var(--line)}.scan-rows .code{font-weight:600}.scan-rows .u{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scan-note{color:var(--t3);font-size:13px;font-family:var(--mono)}.report-box{background:var(--paper);border:1px solid var(--line)}.report-box header{border-bottom:1px solid var(--ink);font-family:var(--mono);justify-content:space-between;align-items:center;padding:12px 14px;font-size:12px;font-weight:600;display:flex}.report-box .row{font-family:var(--mono);grid-template-columns:44px 1fr;align-items:start;gap:8px;padding:10px 14px;font-size:11.5px;display:grid}.report-box .row:not(:last-child){border-bottom:1px dashed var(--line)}.report-box .row .code{font-weight:600}.report-box .row .u{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-box .row .src{color:var(--t3)}.steps{display:grid}.steps>div{border-top:1px solid var(--line);grid-template-columns:32px 1fr;gap:14px;padding:14px 0;display:grid}.steps>div:first-child{border-top:1px solid var(--ink)}.steps>div:last-child{border-bottom:1px solid var(--ink)}.steps .n{font-family:var(--mono);font-size:15px;font-weight:600}.steps h3{margin-bottom:4px;font-size:16px}.steps p{color:var(--t2);font-size:14px;line-height:1.5}@media (width>=900px){.steps{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr 1fr;gap:24px}.steps>div{grid-template-columns:1fr;align-content:start;gap:6px;padding:20px 0;border:none!important}.steps h3{margin:0;font-size:18px}}.faq{display:grid}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{margin:-14px 0;padding:14px 0;font-size:15px;font-weight:600}.faq p{color:var(--ink-soft);max-width:70ch;margin-top:10px;font-size:14px;line-height:1.55}@media (width>=900px){.faq details{padding:16px 0}.faq summary{margin:-16px 0;padding:16px 0;font-size:16px}.faq p{font-size:14.5px;line-height:1.6}}.checks{color:var(--ink-soft);gap:6px;font-size:14px;display:grid}.checks li{gap:8px;display:flex}.checks li:before{content:"✓";color:var(--green);font-family:var(--mono)}.site-footer{background:var(--ink);color:var(--dark-t2)}.site-footer .container{padding-top:36px;padding-bottom:28px}.footer-cols{grid-template-columns:1fr 1fr;gap:28px 16px;font-size:13px;display:grid}.footer-cols>div{align-content:start;gap:8px;display:grid}.footer-cols .eyebrow{color:var(--dark-t2);font-size:11px}.footer-cols a.eyebrow{margin:-4px 0;padding:4px 0;display:inline-block}.footer-cols a{color:var(--dark-t1);padding:3px 0}.footer-cols a:hover{color:#fff}.footer-base{border-top:1px solid var(--dark-line);align-items:center;gap:8px;margin-top:28px;padding-top:16px;font-size:12px;display:flex}.footer-base img{border-radius:4px;width:18px;height:18px}@media (width>=900px){.site-footer .container{padding-top:48px;padding-bottom:32px}.footer-cols{grid-template-columns:repeat(4,1fr);gap:32px}.footer-cols>div{gap:9px}.footer-base{margin-top:32px;padding-top:18px}}.dark-band{background:var(--ink);color:var(--dark-fg)}.dark-band .stat b{font-family:var(--mono);font-size:32px;font-weight:600;display:block}.dark-band .stat span{color:var(--dark-t2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.dark-band .kicker,.dark-band .stats-note{color:var(--dark-t2)}.dev-credit{color:var(--dark-t2);margin-left:auto}.dev-credit a{color:var(--dark-t1);border-bottom:1px solid var(--dark-line)}.dev-credit a:hover{color:var(--dark-fg)}.foot-sub{padding-left:14px}
