@font-face{font-family:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter-latin.woff2) format("woff2")}@font-face{font-family:"Roboto";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/roboto-latin.woff2) format("woff2")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/roboto-slab-latin.woff2) format("woff2")}:root{--bg:#1f2025;--bg-deep:#16171b;--header:rgba(38,40,44,.8);--border:#2b303b;--text:#9da5b4;--heading:#fff;--accent:#3baae2;--link:#0c5af5;--cta:#4168ff;--ink:#111317;--muted:#5f697c;--danger:#e8411d;--shadow:0 1px 3px rgba(0,0,0,.1);--max:1140px;--font:"Roboto" , "Inter" , sans-serif;--display:"Roboto Slab" , "Roboto" , serif;--radius-panel:24px;--radius-btn:12px}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family: var(--font);font-size:15px;font-weight:400;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{color:var(--heading)}img{max-width:100%;height:auto}.skip{position:absolute;left:16px;top:-40px;background:var(--heading);color:var(--ink);padding:8px 12px;z-index:20}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:10;background:var(--header);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.nav-toggle{position:absolute;opacity:0;pointer-events:none}.header-bar{display:flex;align-items:center;justify-content:space-between;gap:17px;max-width:1440px;margin:0 auto;padding:15px 72px}.brand-name{color:var(--heading);font-weight:600;font-size:14px;letter-spacing:.02em}.logo-link{display:flex;align-items:center}.logo-link img{width:132px;height:auto}.site-nav{display:flex;justify-content:center;gap:17px;padding:0 72px 14px;max-width:1440px;margin:0 auto}.site-nav a{color:var(--heading);font-size:15px;padding-bottom:4px;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a.active{color:var(--accent);border-bottom-color:var(--accent)}.nav-toggle-label{display:none;color:var(--heading);border:1px solid var(--muted);border-radius:var(--radius-btn);padding:8px 14px;font-size:14px;font-weight:600}.page{max-width:var(--max);margin:0 auto;padding:48px 24px 72px}h1,h2,h3{font-family: var(--display);color:var(--heading);font-weight:400;letter-spacing:.01em;margin:0 0 12px}h1{font-size:40px;line-height:1.2}h2{font-size:24px;margin-top:28px}h3{font-size:20px}.lede{max-width:68ch;margin:0 0 24px}.panel{background:var(--bg-deep);border-radius:var(--radius-panel);padding:32px 40px;margin:20px 0}.banner{border-radius:var(--radius-btn);padding:14px 18px;margin-bottom:20px;background:#2a241c;color:var(--heading);border:1px solid #5f697c}.banner.demo{background:#1d3340;border-color:var(--accent)}.banner.warn{background:#3a1e1e;border-color:var(--danger)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat{background:var(--bg-deep);border-radius:var(--radius-panel);padding:24px}.stat b{display:block;color:var(--heading);font-family: var(--display);font-size:36px;font-weight:400;line-height:1.1}.stat span{color:var(--text);font-size:14px}.stat.bad b{color:#ffb4a8}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:8px}ol.filters{list-style:none;padding:0;margin:0 0 18px;gap:0;color:var(--text)}ol.filters li+li::before{content:"·";margin:0 14px;color:var(--muted)}label{display:block;font-size:13px;color:var(--text);margin-bottom:6px}input[type="search"],input[type="password"],input[type="text"],input[type="number"],textarea,select{background:rgba(44,44,44,.77);color:var(--heading);border:1px solid #ccc;border-radius:4px;min-height:46px;padding:8px 12px;font:inherit;width:100%}textarea{min-height:120px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:var(--radius-btn);border:0;background:var(--cta);color:var(--heading);font-family: var(--font);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{background:var(--accent);color:var(--heading)}.btn.secondary{background:transparent;color:var(--heading);border:1px solid var(--muted)}.btn.secondary:hover{background:var(--accent);border-color:var(--accent)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:640px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--heading);font-weight:500;font-size:14px}tr:hover td{background:rgba(59,170,226,.08)}.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;letter-spacing:.02em}.pill.ok{color:var(--heading);background:#1d4d63}.pill.bad{color:var(--heading);background:var(--danger)}.pill.watch{color:var(--ink);background:#f0d7a2}.muted{color:var(--muted)}.stack{display:grid;gap:8px}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.login-card{width:min(480px,100%);background:var(--bg-deep);border-radius:var(--radius-panel);padding:40px 36px 32px}.login-card img{width:180px;margin-bottom:20px}.error{color:#ffd0c8;background:#3a1e1e;border-radius:8px;padding:10px 12px;margin-bottom:14px}.site-footer{border-top:1px solid var(--border);padding:28px 24px 40px;color:var(--text)}.footer-inner{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-inner img{width:160px}dl.meta{display:grid;grid-template-columns:180px 1fr;gap:8px 16px;margin:0}dl.meta dt{color:var(--heading)}dl.meta dd{margin:0}.note{font-size:14px}@media (max-width:1024px){.header-bar,.site-nav{padding-left:20px;padding-right:20px}.nav-toggle-label{display:inline-flex}.site-nav{display:none;flex-direction:column;align-items:flex-start;padding-bottom:18px}.nav-toggle:checked ~ .site-nav {display:flex}.stats,.split{grid-template-columns:1fr 1fr}.logo-link img{width:100px}h1{font-size:32px}.panel{padding:24px 16px;border-radius:16px}}@media (max-width:640px){.stats,.split,dl.meta{grid-template-columns:1fr}.page{padding:28px 16px 48px}.header-bar{gap:10px}}