:root{--bg:#f3efe6;--ink:#26292e;--mute:#6b6a63;--line:#d8d0bf;--accent:#2f4e6f;--leaf:#6b7d3a;--paper:#fbf9f4}
*{box-sizing:border-box}html{border-top:6px solid var(--accent)}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.9 'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',YuGothic,Meiryo,'Noto Sans JP',sans-serif;letter-spacing:.03em;line-break:strict}
.w{max-width:40rem;margin:0 auto;padding:0 1rem}header{padding:1.8rem 0 1.2rem;display:grid;grid-template-columns:1fr auto;align-items:end;gap:.3rem 1rem;border-bottom:1px solid var(--line)}
header a.t{grid-column:1;font-size:1.6rem;color:var(--accent);text-decoration:none;font-weight:700;letter-spacing:.12em}header p{grid-column:1;margin:0;color:var(--mute);font-size:.88rem}
nav{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}nav a{color:var(--ink);text-decoration:none;font-size:.88rem;border-bottom:2px solid var(--leaf)}
@media (max-width:30rem){header{grid-template-columns:1fr}nav{grid-column:1;grid-row:auto;flex-direction:row;align-items:center;gap:1.2rem;margin-top:.5rem}}
main{padding:1.4rem 0 2.6rem}h1{font-size:1.45rem;line-height:1.5;color:var(--accent)}p{margin:.9rem 0}
h2{font-size:1.08rem;margin-top:2rem;padding-bottom:.2rem;border-bottom:1px dashed var(--leaf)}h2::before{content:'';display:inline-block;width:.55em;height:.55em;margin-right:.5em;background:var(--leaf);border-radius:0 60% 0 60%}
a{color:var(--accent);text-underline-offset:.2em}.d{display:block;color:var(--mute);font-size:.85rem}
ul.p{list-style:cjk-ideographic;margin:1.4rem 0;padding:1rem 1rem 1rem 2.8rem;background:var(--paper);border:1px solid var(--line);border-radius:4px}ul.p li{padding:.5rem 0}ul.p li::marker{color:var(--leaf)}
footer{border-top:1px solid var(--line);padding:1rem 0 2.4rem;color:var(--mute);font-size:.8rem;text-align:right}