:root{
  --bg:#FFFFFF; --surface:#F4F3F3; --fg:#1F1F1F; --muted:#555A55; --line:#E3E3E1; --link:#2E7D2E;
  --sans:'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#131513; --surface:#1C1F1C; --fg:#ECEEEA; --muted:#AEB4AD; --line:#2E332E; --link:#7FCC7F; color-scheme:dark;
}}
*{box-sizing:border-box}
body{margin:0; background:var(--bg); color:var(--fg); font-family:var(--sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased}
a{color:var(--link)}
a:focus-visible{outline:2px solid var(--fg); outline-offset:2px}
.gutter{padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px))}
.wrap{max-width:820px; margin:0 auto}
.head .wrap{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding-block:32px 24px; border-bottom:1px solid var(--line)}
.logo{display:block; width:clamp(200px,40vw,300px)}
.logo img{display:block; width:100%; height:auto}
.l-dark{display:none !important}
@media (prefers-color-scheme: dark){ .l-light{display:none !important} .l-dark{display:block !important} }
.back{font-weight:600; text-decoration:none; min-height:44px; display:inline-flex; align-items:center}
.back:hover{text-decoration:underline}
.text{padding-block:40px 64px}
h1{font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(32px,4vw,44px); line-height:1.15; margin:0 0 8px; color:var(--link)}
h2{font-size:20px; font-weight:600; line-height:1.3; margin:32px 0 8px}
p{margin:0 0 12px; overflow-wrap:anywhere}
.stand{color:var(--muted); font-size:15px; margin-bottom:24px}
.todo{background:#FFE59A; color:#1F1F1F; padding:0 4px}
.foot{background:var(--surface); padding-block:28px; font-size:14px; color:var(--muted); text-align:center}
.foot p{margin:0}
.foot a{color:var(--muted)}
.btn{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 24px; font:600 16px/1.2 var(--sans); text-decoration:none; background:#2E7D2E; color:#FFFFFF; border:2px solid #2E7D2E; margin-top:16px}
.btn:hover{background:#438A43; border-color:#438A43}
