:root{--bg:#0b0f17;--fg:#e6e9ef;--mut:#9aa4b2;--card:#121826;--bd:#232c3d;--ac:#4f8cff;--ac2:#22c55e;--warn:#f59e0b;--chip:#1b2335}
@media (prefers-color-scheme:light){:root:not([data-t=dark]){--bg:#f7f8fb;--fg:#0f172a;--mut:#5b6476;--card:#fff;--bd:#e3e7ef;--ac:#1d4ed8;--ac2:#166534;--warn:#92400e;--chip:#eef2fb}}
:root[data-t=light]{--bg:#f7f8fb;--fg:#0f172a;--mut:#5b6476;--card:#fff;--bd:#e3e7ef;--ac:#1d4ed8;--ac2:#166534;--warn:#92400e;--chip:#eef2fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--ac)}a:hover{text-decoration:underline}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:6px;z-index:9}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd)}
.nav{max-width:1120px;margin:auto;display:flex;gap:18px;align-items:center;padding:12px 20px;flex-wrap:wrap}.nav a{color:var(--fg);text-decoration:none;font-size:14px}.nav .brand{font-weight:800;font-size:17px;margin-right:auto;display:flex;gap:8px;align-items:center}
.nav button{background:var(--chip);color:var(--fg);border:1px solid var(--bd);border-radius:8px;padding:4px 9px;cursor:pointer}
main{max-width:1120px;margin:auto;padding:24px 20px 60px}h1{font-size:clamp(28px,4.5vw,46px);line-height:1.1;letter-spacing:-.02em;margin:.2em 0 .3em}h2{margin-top:1.6em}
.hero{padding:36px 0 18px}.hero p.lead{font-size:19px;color:var(--mut);max-width:720px}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.stat{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:10px 16px}.stat b{display:block;font-size:24px}.stat span{color:var(--mut);font-size:13px}
.cta{display:inline-block;background:var(--ac);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;margin-right:8px}.cta.alt{background:var(--chip);color:var(--fg);border:1px solid var(--bd)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:16px;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--ac);transform:translateY(-1px)}
.card h3{margin:0;font-size:17px}.card h3 a{color:var(--fg);text-decoration:none}.ch{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.logo{width:32px;height:32px;border-radius:8px;background:#fff center/20px no-repeat;flex:none;border:1px solid var(--bd)}.logo.big{width:56px;height:56px;background-size:36px;border-radius:12px}
.mono{display:inline-grid;place-items:center;background:var(--chip);font-weight:700;color:var(--ac)}.logo.big.mono{font-size:26px}
.tag{display:inline-block;background:var(--chip);border-radius:999px;padding:1px 9px;font-size:12px;margin:2px 4px 2px 0;color:var(--mut)}.tag.ok{color:var(--ac2)}
.meta{font-size:13px;color:var(--mut)}.unv{color:var(--warn);font-size:12px}.badge{font-size:12px;color:var(--ac2)}
.filters{position:sticky;top:57px;z-index:4;background:var(--bg);padding:10px 0;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--bd);margin-bottom:14px}
select,input,textarea{background:var(--card);color:var(--fg);border:1px solid var(--bd);border-radius:10px;padding:9px 11px;font:inherit;max-width:100%}
button.go{background:var(--ac);color:#fff;border:0;border-radius:10px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer}
.tw{overflow-x:auto;border:1px solid var(--bd);border-radius:12px;background:var(--card)}table{border-collapse:collapse;width:100%;font-size:14px}td,th{border-bottom:1px solid var(--bd);padding:10px 12px;text-align:left;vertical-align:top}th{color:var(--mut);font-weight:600}tr:last-child td,tr:last-child th{border-bottom:0}
a.card{text-decoration:none;color:var(--fg);display:block}a.card h3{color:var(--ac)}
.feat{border:1px dashed var(--warn)}.nl{margin-top:36px;background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 18%,var(--card)),var(--card))}
pre{background:#0a0d14;color:#d6e2ff;padding:14px;border-radius:10px;overflow:auto;font-size:13px}code{font-size:.92em}
.prose{max-width:760px}.crumb{font-size:13px;color:var(--mut)}.links li{margin:4px 0}
footer{border-top:1px solid var(--bd);color:var(--mut);font-size:13px}footer div{max-width:1120px;margin:auto;padding:22px 20px}
@media (max-width:640px){.nav{gap:12px;padding:10px 14px}.nav .brand{font-size:15px}.nav .hide{display:none}.filters{top:52px}.filters select,.filters input{flex:1 1 45%}}