
:root{--bg:#fbfaf7;--fg:#24211c;--muted:#7a736a;--card:#fff;--line:#e8e3da;
--accent:#b4531f;--accent2:#f4ede2;--side:#f4f1ea}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
background:var(--bg);color:var(--fg)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;
padding:.6rem 1rem;background:var(--card);border-bottom:1px solid var(--line)}
.brand{font-weight:700;font-size:1.05rem;white-space:nowrap}
.searchwrap{position:relative;margin-left:auto;width:min(420px,52vw)}
#search{width:100%;padding:.5rem .75rem;border:1px solid var(--line);border-radius:8px;
background:var(--bg);color:var(--fg);font-size:.95rem}
.results{position:absolute;top:110%;left:0;right:0;background:var(--card);
border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);
max-height:60vh;overflow:auto;display:none}
.results a{display:flex;justify-content:space-between;gap:1rem;padding:.5rem .75rem;
border-bottom:1px solid var(--line);color:var(--fg)}
.results a:hover{background:var(--accent2);text-decoration:none}
.results a span{color:var(--muted);font-size:.8rem;white-space:nowrap}
.results .nohit{padding:.6rem .75rem;color:var(--muted)}
.layout{display:flex;align-items:flex-start;max-width:1200px;margin:0 auto}
.sidebar{position:sticky;top:57px;flex:0 0 240px;height:calc(100vh - 57px);overflow:auto;
padding:1rem .5rem;background:var(--side);border-right:1px solid var(--line)}
.sidebar a{display:flex;justify-content:space-between;padding:.35rem .6rem;border-radius:6px;
color:var(--fg);font-size:.92rem}
.sidebar a:hover{background:var(--accent2);text-decoration:none}
.sidebar a.active{background:var(--accent);color:#fff}
.sidebar a.active .count{color:#fff}
.sidebar .count{color:var(--muted);font-size:.78rem}
.navhome{font-weight:600;margin-bottom:.4rem}
.content{flex:1 1 auto;min-width:0;padding:1.5rem 2rem 4rem}
.content h1{font-size:1.9rem;margin:.2rem 0 1rem;border-bottom:3px solid var(--accent);
padding-bottom:.4rem;display:inline-block}
.content h2{font-size:1.4rem;margin:2rem 0 .5rem;padding-top:.5rem}
.content h3{font-size:1.05rem;color:var(--accent);margin:1.1rem 0 .3rem;
text-transform:uppercase;letter-spacing:.03em;font-size:.85rem}
.content img{max-width:min(520px,100%);height:auto;border-radius:10px;margin:.5rem 0;
box-shadow:0 2px 10px rgba(0,0,0,.12)}
.content ul,.content ol{padding-left:1.4rem}
.content blockquote{border-left:3px solid var(--line);margin:.6rem 0;padding:.2rem 1rem;
color:var(--muted);background:var(--accent2);border-radius:0 6px 6px 0}
.content hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.content em{color:var(--muted)}
.hero{padding:1rem 0 1.5rem}
.hero h1{font-size:2.3rem}.hero p{color:var(--muted);font-size:1.05rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.card{display:flex;flex-direction:column;gap:.3rem;padding:1.1rem;background:var(--card);
border:1px solid var(--line);border-radius:12px;color:var(--fg);transition:.15s}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.1);
text-decoration:none;border-color:var(--accent)}
.card h3{margin:0;color:var(--fg);font-size:1.05rem;text-transform:none;letter-spacing:0}
.card .count{color:var(--muted);font-size:.85rem}
@media(max-width:780px){.sidebar{display:none}.content{padding:1.2rem}}
@media(prefers-color-scheme:dark){:root{--bg:#1b1916;--fg:#e9e4db;--muted:#9c938a;
--card:#24211d;--line:#38332c;--accent:#e2884f;--accent2:#2c2721;--side:#201d19}}
