:root{--bg:#f6f9ff;--fg:#14233c;--mut:#51607a;--card:#fff;--line:#d5e0f2;--pri:#1550b8;--pri-fg:#fff;--acc:#f2a516}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1626;--fg:#e8eefb;--mut:#a3b2cc;--card:#16233a;--line:#2a3b5a;--pri:#6ea0ff;--pri-fg:#07101f}}
:root[data-theme=dark]{--bg:#0d1626;--fg:#e8eefb;--mut:#a3b2cc;--card:#16233a;--line:#2a3b5a;--pri:#6ea0ff;--pri-fg:#07101f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:1040px;margin:auto;padding:0 16px}a{color:var(--pri)}h1{font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.2}h2{margin-top:2rem}
p,li{max-width:70ch}.sr{position:absolute;left:-9999px}.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:var(--acc);color:#000;padding:8px;z-index:9}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
header{background:var(--card);border-bottom:3px solid var(--pri)}.bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;padding:10px 16px}
.logo{font-weight:800;font-size:1.4rem;text-decoration:none}nav a{margin-right:14px;text-decoration:none;font-weight:600}
.classes{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px}.classes a{white-space:nowrap;padding:4px 12px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-size:.9rem}
.btn{background:var(--pri);color:var(--pri-fg);border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;display:inline-block}.btn.ghost{background:none;color:var(--pri);border:1px solid var(--pri);padding:4px 12px}
.hero{padding:36px 0 8px}.hero form{display:flex;gap:8px;flex-wrap:wrap}input[type=search],select{flex:1;min-width:220px;padding:12px;border:2px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);font:inherit}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.grid.small{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.card{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--pri);border-radius:8px;padding:14px;text-decoration:none;color:var(--fg)}.card:hover{border-left-color:var(--acc)}.card small,.meta,.crumbs{color:var(--mut)}
.tag{font-size:.8rem;color:var(--pri);font-weight:700}.note,.ad{background:var(--card);border:1px dashed var(--line);border-radius:8px;padding:12px;margin:20px 0}.ad small{color:var(--mut)}
fieldset{border:1px solid var(--line);border-radius:8px;margin:12px 0;background:var(--card)}label{cursor:pointer}fieldset label{display:block;padding:6px 0}.fb{color:var(--mut);margin:6px 0 0}
.video{position:relative;padding-top:56.25%;margin:16px 0}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:8px}
details{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0}summary{cursor:pointer;font-weight:600}
.results{list-style:none;padding:0}.results li{margin:10px 0}footer{margin-top:48px;padding:24px 0;border-top:1px solid var(--line);color:var(--mut)}footer a{margin-right:12px}
[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
