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