:root{--bg: #121418;--bg-elev: #181b20;--ink: #f4efe6;--muted: #9a9488;--line: #2c3036;--copper: #c9844a;--copper-dim: #8a5a2e}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{font-family:Iowan Old Style,Palatino Linotype,Palatino,Times New Roman,serif;line-height:1.55}code,pre,.mono{font-family:IBM Plex Mono,Cascadia Code,ui-monospace,monospace}a{color:var(--copper);text-decoration:none}a:hover{text-decoration:underline}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}nav{border-right:1px solid var(--line);padding:28px 20px;position:sticky;top:0;height:100vh;background:var(--bg-elev);overflow:auto}nav .brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}nav img{width:40px;height:40px;border-radius:8px}nav strong{letter-spacing:.14em;font-size:12px;display:block}.brand-sub{color:var(--muted);font-size:11px;letter-spacing:.06em}nav a.item{display:block;color:var(--muted);padding:6px 0;font-size:14px;letter-spacing:.02em}nav a.item.active,nav a.item:hover{color:var(--ink);text-decoration:none}.nav-foot{margin-top:32px;font-size:13px;display:flex;flex-direction:column;gap:6px}main{padding:56px 64px 96px;max-width:920px}.kicker{color:var(--copper);letter-spacing:.22em;font-size:12px;text-transform:uppercase}h1{font-size:48px;font-weight:500;letter-spacing:.08em;margin:8px 0 4px}h2{font-size:26px;font-weight:500;margin:48px 0 12px}h3{font-size:18px;margin:28px 0 8px}.tag{color:var(--muted);font-size:20px;margin-bottom:28px}p{color:#ddd8ce}pre{background:#111317;border:1px solid var(--line);padding:16px 18px;overflow:auto;font-size:13px;color:#e7e1d6}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}th{color:var(--muted);font-weight:500}.hero-mark{width:88px;height:88px;margin-bottom:18px;border-radius:16px}.note{color:var(--muted);font-size:14px}ol{color:#ddd8ce;padding-left:1.2em}ul{color:#ddd8ce}.flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;margin:24px 0 32px}.flow span{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);padding:8px 12px;font-size:13px;letter-spacing:.02em}.flow i{width:18px;height:1px;background:var(--copper);display:inline-block;margin:0 6px}@media (max-width: 860px){.shell{grid-template-columns:1fr}nav{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}main{padding:32px 20px 64px}h1{font-size:34px}}
