:root { --bg:#F7F6F2; --fg:#141418; --muted:#6E6C75; --card:#fff; --line:rgba(20,20,25,.1); --accent:#F7C531; }
@media (prefers-color-scheme: dark) { :root { --bg:#141418; --fg:#F2F1EE; --muted:#A3A1AA; --card:#1E1E24; --line:rgba(255,255,255,.12); } }
@font-face { font-family:Bric; src:url(/assets/fonts/BricolageGrotesque-ExtraBold-Display.ttf); font-display:swap; }
@font-face { font-family:Fig; src:url(/assets/fonts/Figtree-SemiBold.ttf); font-weight:600; font-display:swap; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:600 16px/1.65 Fig, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; padding:40px 20px 80px; }
main { max-width:680px; margin:0 auto; }
h1 { font-family:Bric, -apple-system, sans-serif; font-size:44px; line-height:1; letter-spacing:-.03em; margin:12px 0 8px; }
h2 { font-size:19px; margin:32px 0 6px; }
p, li { color:var(--fg); } .muted { color:var(--muted); font-size:14px; }
a { color:inherit; }
.mark { width:56px; height:56px; border-radius:14px; display:block; }
nav { display:flex; gap:12px; margin:20px 0 8px; } nav a { padding:6px 14px; border-radius:999px; background:var(--card); border:1px solid var(--line); text-decoration:none; font-size:14px; }
hr { border:0; border-top:1px solid var(--line); margin:48px 0; }
.mail { font-weight:600; user-select:all; }

:root:not([data-theme="light"]) { }
.home { display:flex; align-items:center; gap:10px; text-decoration:none; font:22px/1 Bric, sans-serif; letter-spacing:-.03em; }
.home img { width:40px; height:40px; border-radius:11px; }
.toc { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; }
.toc a { padding:6px 14px; border-radius:999px; background:var(--card); border:1px solid var(--line); text-decoration:none; font-size:14px; }
h2 { scroll-margin-top: 20px; }
footer.legal { margin-top:56px; color:var(--muted); font-size:14px; display:flex; flex-wrap:wrap; gap:8px 18px; }
