:root { --bg:#f6f4ef; --ink:#22263a; --sub:#6b6f80; --acc:#3a4a8c; --line:#e3e0d8; --card:#fff; }
* { box-sizing:border-box; }
html, body { margin:0; background:var(--bg); color:var(--ink); }
body { font-family:-apple-system,"Hiragino Sans","Noto Sans JP",system-ui,sans-serif; font-size:16px; line-height:1.85; -webkit-font-smoothing:antialiased; overflow-wrap:anywhere; }
.wrap { max-width:720px; margin:0 auto; padding:32px 16px 64px; }
.app { color:var(--sub); font-size:13px; margin:0; }
h1 { font-size:26px; margin:6px 0 4px; }
.date { color:var(--sub); font-size:13px; margin:0 0 20px; }
h2 { font-size:18px; margin:32px 0 8px; padding-top:16px; border-top:1px solid var(--line); }
h3 { font-size:16px; margin:20px 0 4px; }
ul, ol { padding-left:1.3em; }
li { margin:4px 0; }
a { color:var(--acc); word-break:break-all; }
table { width:100%; border-collapse:collapse; font-size:14px; background:var(--card); }
th, td { border:1px solid var(--line); padding:8px; vertical-align:top; text-align:left; }
th { background:#eef0f7; }
dl { display:grid; grid-template-columns:6em 1fr; gap:4px 12px; }
dt { color:var(--sub); } dd { margin:0; }
.box { background:var(--card); border:1.5px solid #b4532a; border-radius:14px; padding:4px 16px 8px; }
.small { font-size:12.5px; color:var(--sub); }
.nav { margin-top:32px; }
@media (max-width:420px) { table, thead, tbody, tr, th, td { font-size:13px; } dl { grid-template-columns:5em 1fr; } }
