:root{--bg:#fbfaf6;--fg:#1f2a1f;--mute:#5b665b;--line:#dfe3d8;--accent:#2f6b2f;--accent-bg:#eef4ea;--note:#fff7e0}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;line-height:1.8;font-size:17px}
a{color:var(--accent)}
.wrap{max-width:820px;margin:0 auto;padding:0 16px}
header.top{background:#fff;border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;padding-bottom:10px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;text-decoration:none;color:var(--fg)}
.logo i{display:inline-flex;width:30px;height:30px;padding:4px;border-radius:7px;background:var(--accent);color:#fff}
header nav{display:flex;flex-wrap:wrap;gap:14px;font-size:15px}
header nav a{text-decoration:none;color:var(--mute)}
.crumb{font-size:14px;color:var(--mute);margin-top:16px}
h1{font-size:28px;line-height:1.4;margin:20px 0 8px}
.lead{font-size:18px}
h2{font-size:22px;line-height:1.4;margin:36px 0 10px;padding-left:10px;border-left:5px solid var(--accent)}
table{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;background:#fff}
th{background:var(--accent-bg)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.card{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--fg);font-weight:700}
.card:hover{border-color:var(--accent)}
.note{background:var(--note);border:1px solid #f0dfa8;border-radius:10px;padding:14px 16px;font-size:16px}
ul.check{list-style:none;padding:0}
ul.check li{padding-left:1.6em;position:relative;margin:6px 0}
ul.check li:before{content:"☐";position:absolute;left:0;color:var(--accent)}
details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0}
summary{font-weight:700;cursor:pointer}
.sources{font-size:14px;color:var(--mute)}
.related ul{columns:2;padding-left:1.2em;font-size:15px}
footer{margin-top:48px;padding:20px 0;border-top:1px solid var(--line);font-size:14px;color:var(--mute);background:#fff}
@media (max-width:560px){h1{font-size:24px}.related ul{columns:1}}
