@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500&display=swap');
:root{--ink:#2B2A28;--paper:#F6F3EE;--plum:#6B4C5C;--slate:#5C6B73;--line:#DEDAD1}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans SC',sans-serif;font-weight:300;line-height:1.8}
header{padding:48px 24px 32px;border-bottom:1px solid var(--line);max-width:640px;margin:0 auto}
header h1{font-family:'Noto Serif SC',serif;font-weight:700;font-size:26px;margin:0 0 6px}
header p.tagline{font-size:14px;color:var(--slate);margin:0}
nav{max-width:640px;margin:0 auto;padding:16px 24px 0;display:flex;gap:24px;font-size:14px}
nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
nav a:hover{border-bottom-color:var(--plum)}
main{max-width:640px;margin:0 auto;padding:40px 24px 80px}
.article-list article{padding:28px 0;border-bottom:1px solid var(--line)}
.article-list article:first-child{padding-top:0}
.article-list h2{font-family:'Noto Serif SC',serif;font-weight:600;font-size:20px;margin:0 0 8px}
.article-list h2 a{color:var(--ink);text-decoration:none}
.article-list h2 a:hover{color:var(--plum)}
.article-list .meta{font-size:12px;color:var(--slate);margin-bottom:10px}
.article-list p.excerpt{font-size:15px;color:#4a4844;margin:0}
article.full h1{font-family:'Noto Serif SC',serif;font-size:28px;line-height:1.4;margin-bottom:8px}
article.full .meta{font-size:13px;color:var(--slate);margin-bottom:28px}
article.full p{font-size:16px;margin-bottom:20px;max-width:62ch}
footer{max-width:640px;margin:0 auto;padding:24px 24px 60px;font-size:12px;color:var(--slate);border-top:1px solid var(--line)}
.paywall-intro{max-width:420px;margin:60px auto 0;padding:0 24px;text-align:center}
.paywall-intro .badge{display:inline-block;font-size:12px;color:var(--plum);border:1px solid var(--plum);border-radius:999px;padding:3px 12px;margin-bottom:16px}
.paywall-intro h1{font-family:'Noto Serif SC',serif;font-size:22px;margin:0 0 10px}
.paywall-intro p{font-size:14px;color:var(--slate);line-height:1.7;margin-bottom:28px}
.gate{max-width:420px;margin:0 auto;padding:0 24px}
.gate label{display:block;font-size:13px;color:var(--slate);margin-bottom:6px;text-align:left}
.gate input[type=password]{width:100%;padding:12px;border:1px solid var(--line);background:white;font-size:15px;margin-bottom:12px}
.gate button{padding:12px 20px;background:var(--plum);color:white;border:none;cursor:pointer;font-size:14px}
.gate button:hover{background:#573D4A}
.gate .error{color:#a33;font-size:13px;margin-top:10px;min-height:16px}
.gate .hint{font-size:12px;color:var(--slate);margin-top:14px;line-height:1.6}
.note-entry{padding:24px 0;border-bottom:1px solid var(--line)}
.note-entry h2{font-family:'Noto Serif SC',serif;font-size:18px;margin:0 0 6px}
.note-entry .meta{font-size:12px;color:var(--slate);margin-bottom:10px}