:root{--bg: #0b0f14;--bg-elev: #111820;--bg-card: #131c26;--border: #223040;--border-2: #2c3e52;--text: #e6edf3;--text-dim: #9fb0c0;--text-mute: #6b7d90;--accent: #38e0c8;--accent-2: #2bb6a3;--accent-ink:#04110f;--radius: 14px;--radius-sm: 9px;--maxw: 1080px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f7f9fb;--bg-elev: #ffffff;--bg-card: #ffffff;--border: #e2e8f0;--border-2: #cbd6e2;--text: #0f1b26;--text-dim: #47586a;--text-mute: #6b7d90;--accent: #0e9e8c;--accent-2: #0b7d6f;--accent-ink:#ffffff}}:root[data-theme=light]{--bg:#f7f9fb;--bg-elev:#ffffff;--bg-card:#ffffff;--border:#e2e8f0;--border-2:#cbd6e2;--text:#0f1b26;--text-dim:#47586a;--text-mute:#6b7d90;--accent:#0e9e8c;--accent-2:#0b7d6f;--accent-ink:#ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.site-header{position:sticky;top:0;z-index:20;backdrop-filter:saturate(140%) blur(10px);background:color-mix(in oklab,var(--bg) 82%,transparent);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.brand .logo{width:26px;height:26px}.brand:hover{text-decoration:none}.nav-links{display:flex;gap:1.4rem;align-items:center}.nav-links a{color:var(--text-dim);font-size:.95rem;font-weight:500}.nav-links a:hover{color:var(--text);text-decoration:none}.theme-toggle{background:transparent;border:1px solid var(--border-2);color:var(--text-dim);border-radius:8px;width:34px;height:34px;cursor:pointer;display:grid;place-items:center}.theme-toggle:hover{color:var(--text);border-color:var(--accent)}.hero{padding:clamp(3rem,8vw,6rem) 0 2.5rem}.eyebrow{color:var(--accent);font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .9rem}h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 1rem}h2{font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.02em;margin:2.4rem 0 1rem}h3{font-size:1.15rem;letter-spacing:-.01em;margin:1.6rem 0 .5rem}.lead{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--text-dim);max-width:62ch}p{max-width:68ch}.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:var(--accent-ink);font-weight:600;padding:.7rem 1.15rem;border-radius:10px;border:1px solid transparent}.btn:hover{background:var(--accent-2);text-decoration:none}.btn.ghost{background:transparent;color:var(--text);border-color:var(--border-2)}.btn.ghost:hover{border-color:var(--accent);background:var(--bg-elev)}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:1.25rem 0}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;display:flex;flex-direction:column;transition:border-color .15s ease,transform .15s ease}.card:hover{border-color:var(--border-2);transform:translateY(-2px)}.card h3{margin:0 0 .4rem}.card p{color:var(--text-dim);font-size:.93rem;margin:0 0 1rem;max-width:none}.card .meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--accent);background:color-mix(in oklab,var(--accent) 14%,transparent);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);padding:.2rem .5rem;border-radius:6px;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.2rem 0 1rem}.chip{font-family:var(--mono);font-size:.72rem;color:var(--text-mute);border:1px solid var(--border);border-radius:6px;padding:.12rem .45rem}.card-link{font-weight:600;font-size:.9rem}.family-head{border-bottom:1px solid var(--border);padding-bottom:1.5rem;margin-bottom:.5rem}.count-pill{font-family:var(--mono);font-size:.8rem;color:var(--text-dim)}.prose{max-width:72ch}.prose p,.prose li{color:var(--text-dim)}.prose strong{color:var(--text)}.prose ul{padding-left:1.2rem}.prose li{margin:.35rem 0}.prose h2{border-top:1px solid var(--border);padding-top:1.5rem}.prose code{font-family:var(--mono);font-size:.88em;background:var(--bg-elev);border:1px solid var(--border);border-radius:5px;padding:.08em .4em}.site-footer{border-top:1px solid var(--border);margin-top:4rem;padding:2.5rem 0;color:var(--text-mute);font-size:.9rem}.site-footer a{color:var(--text-dim)}.footer-row{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}.soon{opacity:.72}.soon .tag{color:var(--text-mute);background:transparent;border-color:var(--border)}@media(max-width:560px){.nav-links{gap:1rem}.grid{grid-template-columns:1fr}}.fam-glyph{display:block;flex:0 0 auto}.family-card-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.55rem}.family-card-head h3{margin:0}.family-card:hover{border-color:var(--fam)}.family-hero{position:relative;overflow:hidden;padding:clamp(2.5rem,6vw,4.25rem) 0 1.25rem}.family-hero-inner{position:relative;z-index:1}.family-watermark{position:absolute;top:50%;right:-60px;transform:translateY(-50%);opacity:.06;pointer-events:none;z-index:0}.title-row{display:flex;align-items:center;gap:1rem}.title-row h1{margin:0}.title-row .fam-glyph{filter:drop-shadow(0 8px 18px color-mix(in oklab,var(--fam) 45%,transparent))}@media(max-width:560px){.title-row{gap:.7rem}.title-row .fam-glyph{width:42px;height:42px}.family-watermark{right:-100px;opacity:.05}}.prose pre{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;overflow-x:auto;font-size:.84rem;line-height:1.55;font-family:var(--mono);margin:1.1rem 0}.prose pre code{background:none;border:0;padding:0;font-size:inherit;color:var(--text)}.prose :not(pre)>code{color:var(--accent)}.prose h3{color:var(--text)}
