:root{--bg:#fbfaf7;--fg:#1d1d1f;--mute:#6b6b70;--line:#e4e2dc;--accent:#0b6e8a;--code:#f1efe9}
@media (prefers-color-scheme:dark){:root{--bg:#141416;--fg:#ececee;--mute:#9a9aa2;--line:#2c2c30;--accent:#5cc2de;--code:#1f1f23}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.75 system-ui,-apple-system,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}
main{max-width:760px;margin:0 auto;padding:32px 20px 64px}
a{color:var(--accent)}
h1{font-size:1.6rem;line-height:1.35;margin:.2em 0}
h2{font-size:1.1rem;margin:2em 0 .5em;padding-top:.6em;border-top:1px solid var(--line)}
.crumb,.meta,footer{color:var(--mute);font-size:.9rem}
.crumb a,footer a{color:inherit}
.video{position:relative;aspect-ratio:16/9;margin:20px 0;border-radius:10px;overflow:hidden;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
pre.cmd{background:var(--code);padding:14px 16px;border-radius:8px;overflow-x:auto;font:14px/1.6 ui-monospace,"JetBrains Mono",Consolas,monospace}
.chapters{list-style:none;padding:0}.chapters a{font-family:ui-monospace,monospace;display:inline-block;min-width:3.4em}
.tags{color:var(--mute);font-size:.9rem}
.cta{margin-top:2.5em;padding:14px 16px;border:1px solid var(--line);border-radius:8px}
.list{list-style:none;padding:0;display:grid;gap:22px}
.list a{display:grid;grid-template-columns:160px 1fr;gap:14px;text-decoration:none;color:var(--fg);align-items:start}
.list img{width:160px;height:auto;border-radius:6px}
.list .t{font-weight:600;line-height:1.45}
.list .meta{display:block;margin-left:174px;margin-top:-6px}
footer{margin-top:48px;padding-top:16px;border-top:1px solid var(--line)}
/* 個人站(2026-11-02 #237) */
nav.top{font-size:.9rem;color:var(--mute);margin-bottom:20px}nav.top a{color:inherit;text-decoration:none}nav.top a:hover{color:var(--accent)}
footer a{text-decoration:none}
.hero h1{font-size:2rem}.hero p{color:var(--mute)}
.cards{list-style:none;padding:0;display:grid;gap:14px;margin:28px 0}
.cards a{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--fg)}
.cards a:hover{border-color:var(--accent)}.cards b{display:block;font-size:1.1rem}.cards span{color:var(--mute);font-size:.92rem}
.social{list-style:none;padding:0;display:flex;gap:18px;flex-wrap:wrap}
details{border-top:1px solid var(--line)}details summary{cursor:pointer;list-style:none;padding:.6em 0}
details summary::-webkit-details-marker{display:none}details summary h2{display:inline;border:0;margin:0;padding:0}
details summary::before{content:"▸ ";color:var(--mute)}details[open] summary::before{content:"▾ "}
ul.notes{margin:.2em 0 1em;padding-left:1.4em}ul.notes li{margin:.15em 0}
article.note{overflow-wrap:anywhere}
article.note pre{background:var(--code);padding:14px 16px;border-radius:8px;overflow-x:auto;font:14px/1.6 ui-monospace,"JetBrains Mono",Consolas,monospace}
article.note :not(pre)>code{background:var(--code);padding:.1em .35em;border-radius:4px;font-size:.9em}
article.note img{max-width:100%;height:auto}
article.note table{border-collapse:collapse;display:block;overflow-x:auto;font-size:.92rem}
article.note th,article.note td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}
article.note blockquote{margin:1em 0;padding:.2em 1em;border-left:3px solid var(--line);color:var(--mute)}
article.note pre.mermaid{background:transparent;text-align:center}
.dead{color:var(--mute);text-decoration:underline dotted}
