:root{--navy:#091d35;--gold:#e7b444;--cream:#fff1d1;--muted:#c9d0d8;--surface:#12283f}
*{box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:auto}
body{margin:0;background:var(--navy);color:var(--cream);font-family:"PingFang TC","Microsoft JhengHei",system-ui,sans-serif;font-size:18px;line-height:1.8;overflow-wrap:anywhere}
a{color:var(--gold);text-underline-offset:.22em;text-decoration-thickness:.08em}
a:hover{text-decoration:none}
a:focus-visible{outline:3px solid var(--cream);outline-offset:4px}
h1,h2,h3,p,ul,blockquote{margin:0}
h1,h2,h3{line-height:1.4;text-wrap:pretty}
h1{font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.02em}
h2{font-size:1.65rem}h3{font-size:1.3rem}
.wrap{width:min(100% - 48px,1040px);margin-inline:auto}
.draft-banner{margin:0;padding:10px 24px;background:var(--gold);color:var(--navy);text-align:center;font-size:16px;font-weight:600}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:28px}
.brand{min-height:44px;display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;text-decoration:none}
.brand img{border-radius:50%;display:block}
nav{display:flex;gap:20px}nav a,.more,footer a{display:inline-flex;min-height:44px;align-items:center}
.skip{position:absolute;left:24px;top:-200px;background:var(--navy);padding:12px;z-index:2}.skip:focus{top:8px}
.intro{padding-top:26px}.intro>p{max-width:43rem;margin-top:24px;font-size:20px}
/* home-only:start */
.banner{display:block;width:100%;height:180px;object-fit:cover;object-position:center 55%;margin-top:32px}
/* home-only:end */
.recent{padding-top:56px}.entries{list-style:none;padding:0;max-width:44rem}.entries li{padding-top:32px;padding-bottom:8px}.entries h3 a{display:block;min-height:44px}.entries li>p:last-child{margin-top:10px}
.byline{font-size:16px;color:var(--muted);margin-top:10px}.more{margin-top:24px}.home-about{background:var(--surface);padding:32px;margin-top:64px}.home-about p{max-width:44rem;margin-top:16px}
.notes-list{padding-top:30px;max-width:44rem;margin-inline:auto}.notes-list>p{margin-top:18px}
.prose{max-width:42rem;margin-inline:auto;padding-top:32px}.article-header{margin-bottom:40px}.article-summary{margin-top:24px;font-size:20px}.prose>p{margin-block:24px}.prose>h2{margin-top:48px;margin-bottom:24px}.prose>blockquote{padding:20px 24px;background:var(--surface);margin-block:32px;font-size:16px}.prose ul,.prose ol{padding-left:1.5em}.prose img{display:block;max-width:100%;height:auto}.prose pre{max-width:100%;overflow-x:auto;padding:20px;background:var(--surface);font-size:16px}.prose code{font-family:ui-monospace,monospace}.signature{color:var(--gold)}
footer{padding-block:64px 32px;color:var(--muted);font-size:16px}
.site-state{min-height:100svh;display:grid;place-items:center;padding:32px 24px;text-align:center}.state-content{max-width:540px}.site-state p{margin-top:16px}.avatar{display:block;object-fit:cover;width:150px;height:auto;aspect-ratio:1;border-radius:50%;margin:0 auto 24px}
@media(max-width:600px){body{font-size:17px}.wrap{width:calc(100% - 32px)}.site-header{padding-block:20px}.brand{font-size:22px}.brand img{width:40px;height:40px}nav{gap:14px}.intro{padding-top:12px}.intro>p{font-size:18px;margin-top:18px}.banner{height:90px;margin-top:24px}.recent{padding-top:28px}.entries li{padding-top:24px}.home-about{margin-top:40px;padding:24px}.prose{padding-top:20px}.prose h1{font-size:clamp(1.65rem,6.8vw,2rem)}.article-summary{font-size:18px}.article-header{margin-bottom:28px}.draft-banner{padding:10px 16px}footer{padding-top:44px}}
