:root { --fg:#1c1e21; --muted:#6b7280; --line:#e5e7eb; --accent:#FF7A59; --ink:#0B0F14; --bg:#fff; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.7 -apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; color:var(--fg); background:var(--bg); }
.layout { display:flex; min-height:100vh; }
aside { width:270px; padding:26px 20px; border-right:1px solid var(--line); position:sticky; top:0; height:100vh; overflow:auto; }
.brand { display:flex; align-items:center; gap:8px; font-weight:700; font-size:18px; margin-bottom:6px; flex-wrap:wrap; }
.brand img { border-radius:8px; }
.brand small { flex-basis:100%; color:var(--muted); font-weight:400; font-size:12px; margin-top:2px; }
.switch { display:inline-block; margin:6px 0 14px; font-size:13px; color:var(--accent); text-decoration:none; border:1px solid var(--line); border-radius:999px; padding:2px 10px; }
.switch:hover { border-color:var(--accent); }
.nav-item { display:block; padding:7px 10px; margin:2px 0; border-radius:6px; color:var(--fg); text-decoration:none; font-size:14px; }
.nav-item:hover { background:#f6f7f9; }
.nav-item[hidden] { display:none; }
.search { width:100%; margin:2px 0 8px; padding:6px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:13px; color:var(--fg); background:#fff; }
.search:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px #ffe9e2; }
.nav-empty { color:var(--muted); font-size:12.5px; margin:4px 10px 0; }
table.skills { width:100%; border-collapse:collapse; margin:18px 0 10px; font-size:14px; }
table.skills th, table.skills td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
table.skills th { background:#f9fafb; color:var(--muted); font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; }
table.skills td:first-child { white-space:nowrap; }
ul.caps { margin:0; padding-left:0; list-style:none; }
ul.caps li { margin:3px 0; font-size:13px; }
.cap-scope { color:var(--muted); font-family:ui-monospace,Consolas,monospace; font-size:12px; }
.muted { color:var(--muted); font-size:13px; }
main { flex:1; padding:40px 56px 80px; max-width:880px; }
h1 { font-size:30px; margin:0 0 18px; }
h2 { font-size:21px; margin:34px 0 12px; padding-top:8px; border-top:1px solid var(--line); }
h3 { font-size:17px; margin:22px 0 8px; }
img { max-width:100%; }
code { background:#f3f4f6; padding:1px 5px; border-radius:4px; font-size:13.5px; font-family:ui-monospace,Consolas,monospace; }
pre { background:#0d1117; color:#e6edf3; padding:16px 18px; border-radius:10px; overflow:auto; }
pre code { background:none; color:inherit; padding:0; font-size:13px; }
blockquote { margin:14px 0; padding:10px 16px; border-left:3px solid var(--accent); background:#fff7f4; color:#334155; }
ul,ol { padding-left:22px; }
li { margin:4px 0; }
a { color:#d9480f; }
.pager { display:flex; justify-content:space-between; margin-top:48px; padding-top:16px; border-top:1px solid var(--line); font-size:14px; }
footer { color:var(--muted); font-size:12px; margin-top:40px; }
