:root{--bg:#fbfaf8;--fg:#25262b;--sub:#5d6068;--line:#dedbd4;--acc:#5b3f7a;--accbg:#f1ecf6;--warn:#8a2f2f;--warnbg:#fbeeee;--max:720px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.85 "Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;overflow-wrap:anywhere;word-break:normal}
a{color:var(--acc)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.age{background:var(--accbg);border-bottom:1px solid var(--line);font-size:14px;line-height:1.6;padding:8px 0}
.age b{color:var(--acc)}
header.top{border-bottom:1px solid var(--line);padding:12px 0}
.logo{margin:0;font-size:20px;font-weight:700;line-height:1.3}
.logo a{text-decoration:none;color:var(--fg);display:flex;align-items:center;gap:8px}
.logo small{display:block;font-size:12px;font-weight:400;color:var(--sub)}
nav.menu ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}
nav.menu a{display:block;padding:6px 10px;border:1px solid var(--line);border-radius:6px;font-size:14px;text-decoration:none;color:var(--fg);background:#fff;min-height:36px;line-height:1.5}
nav.menu a[aria-current]{background:var(--acc);color:#fff;border-color:var(--acc)}
main{padding:20px 0 8px}
h1{font-size:24px;line-height:1.45;margin:0 0 14px}
h2{font-size:19px;line-height:1.5;margin:30px 0 10px;padding-left:10px;border-left:4px solid var(--acc)}
p{margin:0 0 14px}
ul,ol{margin:0 0 14px;padding-left:1.4em}
li{margin-bottom:6px}
.summary{background:#fff;border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:6px;padding:12px 14px 4px;margin:0 0 8px}
.summary h2{margin:0 0 6px;padding:0;border:0;font-size:15px;color:var(--acc)}
.summary ul{margin-bottom:8px}
.updated{font-size:13px;color:var(--sub);margin:0 0 14px}
.tag{display:inline-block;font-size:12px;line-height:1.4;padding:1px 7px;border:1px solid var(--acc);border-radius:10px;color:var(--acc);background:var(--accbg);margin:0 4px 0 0;vertical-align:1px}
.src{display:block;font-size:13px;color:var(--sub);margin-top:4px}
p.src{margin-bottom:14px}
.note{background:#fff;border:1px dashed var(--line);border-radius:6px;padding:10px 12px}
.alert{background:var(--warnbg);border:1px solid #e3bcbc;color:var(--warn);border-radius:6px;padding:10px 12px}
dl{margin:0 0 14px}
dt{font-weight:700;margin-top:12px}
dd{margin:2px 0 0}
dl.contacts dt{border-top:1px solid var(--line);padding-top:10px}
dl.contacts dt small{font-weight:400;color:var(--sub)}
ul.cards{list-style:none;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
ul.cards a{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;text-decoration:none;color:var(--fg);min-height:44px}
ul.cards b{display:block;color:var(--acc)}
ul.cards span{display:block;font-size:14px;color:var(--sub);line-height:1.6}
ul.check{list-style:none;padding-left:0}
ul.check li{padding-left:1.6em;position:relative}
ul.check li:before{content:"\2610";position:absolute;left:0;color:var(--acc)}
.sources{margin-top:30px;padding-top:12px;border-top:1px solid var(--line);font-size:14px}
.sources h2{font-size:16px;border:0;padding:0;margin:0 0 8px}
.sources li{margin-bottom:8px}
.sources small{display:block;color:var(--sub);line-height:1.6}
.next{margin:24px 0 0;font-size:15px}
.next ul{list-style:none;padding:0}
.next a{display:block;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px;text-decoration:none;min-height:44px}
footer.foot{margin-top:36px;border-top:1px solid var(--line);padding:16px 0 28px;font-size:13px;color:var(--sub);line-height:1.7}
footer.foot a{color:var(--sub)}
footer.foot ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 8px}
@media (min-width:600px){ul.cards{grid-template-columns:1fr 1fr}h1{font-size:28px}}
