:root{--washi:#ece8df;--surface:#f8f6f1;--sumi:#211f1c;--muted:#6b655b;--line:#d6cfc1;--ai:#1e3152;--ai-ink:#f3f1ea;--shu:#b8382a;
  --f-display:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",Georgia,serif;--f-body:"Zen Kaku Gothic New","Hiragino Sans","Segoe UI",system-ui,sans-serif}
@media (prefers-color-scheme: dark){:root:not([data-look="washi"]):not([data-look="sakura"]){--washi:#14161b;--surface:#1c1f26;--sumi:#ebe6da;--muted:#a49e92;--line:#343843;--ai:#1a2a48;color-scheme:dark}}
:root[data-look="yoru"]{--washi:#14161b;--surface:#1c1f26;--sumi:#ebe6da;--muted:#a49e92;--line:#343843;--ai:#1a2a48;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--washi);color:var(--sumi);font-family:var(--f-body);font-size:16px;line-height:1.7}
header{background:var(--ai);color:var(--ai-ink);padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px))}
header a{color:var(--ai-ink);text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:22px}
main{max-width:760px;margin:0 auto;padding:28px max(16px,env(safe-area-inset-right,0px)) 64px max(16px,env(safe-area-inset-left,0px))}
h1,h2{font-family:var(--f-display);font-weight:800;line-height:1.25;text-wrap:balance}
h1{font-size:clamp(28px,5vw,38px);margin:0 0 16px}
h2{font-size:21px;margin:32px 0 6px}
a{color:var(--sumi)}
.todo{background:#fff3c4;color:#4a3b00;padding:0 4px;border-radius:3px}
.note{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--shu);border-radius:6px;padding:10px 14px;font-size:14px}
footer{max-width:760px;margin:0 auto;padding:0 16px 40px;font-size:14px;color:var(--muted)}
