:root {
  --bg: #EBEDEF; --bg-alt: #F6F7F8; --card: #FFFFFF;
  --ink: #14213D; --ink-soft: #5A6478;
  --line: rgba(20,33,61,0.13); --accent: #8C2F39; --accent-bg: rgba(140,47,57,0.09);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #12141B; --bg-alt: #191C25; --card: #1D202B;
    --ink: #E9EBEF; --ink-soft: #97A0B4; --line: rgba(233,235,239,0.12);
    --accent: #E5949C; --accent-bg: rgba(214,110,120,0.16);
  }
}
:root[data-theme="dark"] {
  --bg: #12141B; --bg-alt: #191C25; --card: #1D202B;
  --ink: #E9EBEF; --ink-soft: #97A0B4; --line: rgba(233,235,239,0.12);
  --accent: #E5949C; --accent-bg: rgba(214,110,120,0.16);
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; line-height:1.65; }
.wrap { max-width: 720px; margin:0 auto; padding: 36px 20px 80px; }
a { color: var(--accent); }
.back { display:inline-block; font-size:0.9rem; text-decoration:none; margin-bottom:28px; }
.back:hover { text-decoration:underline; }
h1 { font-family:'Newsreader',serif; font-weight:600; font-size:clamp(2rem,6vw,2.6rem); margin:0 0 4px; letter-spacing:-0.01em; }
.meta { color:var(--ink-soft); font-size:0.88rem; margin:0 0 26px; }
h2 { font-family:'Newsreader',serif; font-weight:600; font-size:1.45rem; margin:34px 0 8px; }
h3 { font-size:1rem; margin:22px 0 6px; }
p, li { font-size:0.97rem; }
ul { padding-left:22px; }
li { margin-bottom:4px; }
.summary { background:var(--card); border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:12px; padding:6px 22px 10px; }
.summary h2 { margin-top:16px; font-size:1.25rem; }
.foot { margin-top:44px; padding-top:18px; border-top:1px solid var(--line); font-size:0.88rem; color:var(--ink-soft); }
