:root{--bg:#0b0d12;--fg:#e8eaf0;--mute:#8b92a5;--line:#1c2030;--card:#11141c;--hover:#161a25;--acc:#7c9cff;--math:#f2b45a;--ai:#6ee7b7;--tech:#a78bfa}
@media (prefers-color-scheme:light){:root{--bg:#f6f7fa;--fg:#12141a;--mute:#5d6577;--line:#e2e5ee;--card:#fff;--hover:#f0f2f8;--acc:#3b5bdb;--math:#b7791f;--ai:#0f8a64;--tech:#6d4fd6}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
header,main{max-width:760px;margin:0 auto;padding:0 16px}
header{padding-top:28px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);z-index:1;border-bottom:1px solid var(--line);padding-bottom:12px}
h1{margin:0;font-size:1.5rem;letter-spacing:-.02em}
.mark{color:var(--acc);margin-right:.2em}
.sub{margin:.15rem 0 .9rem;color:var(--mute);font-size:.85rem}
nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
nav a{padding:6px 14px;border:1px solid var(--line);border-radius:999px;color:var(--mute);text-decoration:none;font-size:.85rem;white-space:nowrap}
nav a[aria-current]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.list{list-style:none;margin:16px 0 40px;padding:0;display:grid;gap:8px}
.item{display:block;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none;transition:background .15s,border-color .15s}
.item:hover,.item:focus-visible{background:var(--hover);border-color:var(--acc);outline:none}
.title{display:block;font-weight:600;letter-spacing:-.01em}
.meta{display:block;margin-top:6px;color:var(--mute);font-size:.78rem}
.tag{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid currentColor}
.t-math{color:var(--math)}.t-ai{color:var(--ai)}.t-tech{color:var(--tech)}
.empty{color:var(--mute);text-align:center;padding:60px 0}
