
:root { --ink:#1c1915; --paper:#f3ecdf; --card:#fffaf3; --line:#e4d8c4; --rust:#b24a1e; --moss:#2f5d50; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 "Segoe UI", sans-serif; }
a { color:var(--moss); }
.pn-top { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 28px; background:#1c1915; color:#f3ecdf; }
.pn-top a { color:#f3ecdf; text-decoration:none; }
.pn-brand { font-weight:700; letter-spacing:-0.03em; }
.pn-wrap { display:grid; grid-template-columns:220px 1fr; gap:28px; max-width:1080px; margin:0 auto; padding:28px; }
.pn-rail { position:sticky; top:16px; align-self:start; }
.pn-rail a { display:block; padding:6px 0; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }
.pn-main h1 { font-size:clamp(28px,4vw,44px); line-height:1.2; letter-spacing:-0.04em; margin:0 0 12px; }
.pn-kicker { color:var(--rust); font-size:13px; letter-spacing:0.08em; }
.pn-sheet { background:var(--card); border:1px solid var(--line); border-left:6px solid var(--rust); padding:16px 18px; margin:0 0 14px; }
.pn-sheet h2 { margin:0 0 6px; font-size:20px; }
.pn-host { font-family:Consolas, monospace; font-size:14px; }
.pn-note { color:#5c5348; }
.pn-foot { padding:24px 28px; border-top:1px solid var(--line); font-size:14px; }
@media (max-width:800px) { .pn-wrap { grid-template-columns:1fr; } .pn-rail { position:static; } }
