:root{--ink:#1a1a1a;--muted:#5b5b5b;--line:#e7e2d9;--bg:#fffdf8;--card:#fff;--accent:#0f6c3e;--accent2:#b45309;--max:1120px}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:20}
.header-inner{display:flex;align-items:center;gap:18px;height:58px}
.brand{font-weight:800;font-size:1.25rem;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}
.main-nav{margin-left:auto;display:flex;gap:14px}.main-nav a{color:var(--ink);text-decoration:none;font-size:.95rem}.main-nav a:hover{color:var(--accent)}
.nav-toggle{display:none;margin-left:auto;font-size:1.3rem;background:none;border:0}
.breadcrumb{font-size:.85rem;color:var(--muted);padding:10px 18px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding-bottom:40px}
.content{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:28px;min-width:0}
.content h1{font-size:2rem;line-height:1.2;margin:.2em 0 .3em}
.content h2{font-size:1.4rem;margin-top:1.8em;border-bottom:2px solid var(--line);padding-bottom:.3em}
.content h3{font-size:1.1rem;margin-top:1.4em}
.byline{color:var(--muted);font-size:.9rem;margin-bottom:1em}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin:1em 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}th{background:#f7f3ea}
.btn-amazon{display:inline-block;background:var(--accent2);color:#fff!important;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:700;margin:.4em 0}.btn-amazon:hover{filter:brightness(1.05)}
.disclosure-box{background:#fff8e6;border:1px solid #f0d48a;border-radius:8px;padding:10px 12px;font-size:.88rem;margin:12px 0}
blockquote{border-left:4px solid var(--accent);margin:1em 0;padding:.6em 1em;background:#f3faf5}
.author-box{margin-top:2em;background:#f7f3ea;border-radius:8px;padding:14px;font-size:.92rem}
.related{margin-top:2em;background:#fcfaf5;border:1px solid var(--line);border-radius:8px;padding:14px}
.sidebar{position:sticky;top:70px;align-self:start;display:grid;gap:14px}
.toc-card,.side-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;font-size:.92rem}
#toc ul{margin:.5em 0 0;padding-left:1.1em}#toc a{color:var(--ink);text-decoration:none}#toc a:hover{color:var(--accent)}
.site-footer{border-top:1px solid var(--line);background:#fff;padding:26px 0;margin-top:20px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;font-size:.92rem}
details{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:.6em 0;background:#fff}summary{font-weight:700;cursor:pointer}
code{background:#f3f0e8;padding:2px 6px;border-radius:6px}pre{background:#141414;color:#eee;padding:14px;border-radius:8px;overflow-x:auto}
img{max-width:100%;height:auto;border-radius:8px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static}.main-nav{display:none}body.nav-open .main-nav{display:flex;position:absolute;top:58px;left:0;right:0;background:#fff;flex-direction:column;padding:12px 18px;border-bottom:1px solid var(--line)}.nav-toggle{display:block}.content{padding:20px}}
