:root{
  --bg:#FFFBFD;
  --card:#FFFFFF;
  --ink:#4A3B3E;
  --ink-soft:#8A7377;
  --border:#F1DEE6;
  --accent:#8941EB;
  --accent-soft:#F3E8FF;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1C1517;
    --card:#241B1E;
    --ink:#F5EBEC;
    --ink-soft:#CBB9BD;
    --border:#463739;
    --accent:#B48CFF;
    --accent-soft:#332545;
  }
}
:root[data-theme="dark"]{
  --bg:#1C1517;
  --card:#241B1E;
  --ink:#F5EBEC;
  --ink-soft:#CBB9BD;
  --border:#463739;
  --accent:#B48CFF;
  --accent-soft:#332545;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Noto Sans JP', system-ui, -apple-system, "Hiragino Sans", sans-serif;
  line-height:1.8;
  padding:48px 16px 80px;
  display:flex;
  justify-content:center;
}
.doc{width:100%;max-width:680px;min-width:0;display:flex;flex-direction:column;gap:28px;}
header{display:flex;flex-direction:column;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--border);}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:uppercase;}
h1{margin:0;font-family:'Zen Maru Gothic', sans-serif;font-size:26px;font-weight:700;text-wrap:balance;}
.meta{font-size:12.5px;color:var(--ink-soft);}
.summary{background:var(--accent-soft);border-radius:16px;padding:18px 20px;font-size:13.5px;line-height:1.85;}
.summary strong{color:var(--accent);}
.summary ul{margin-top:6px;}
section{display:flex;flex-direction:column;gap:10px;}
h2{margin:0;font-family:'Zen Maru Gothic', sans-serif;font-size:16.5px;font-weight:700;display:flex;align-items:baseline;gap:8px;}
h2 .num{color:var(--accent);font-size:13px;}
h3{margin:4px 0 0;font-family:'Zen Maru Gothic', sans-serif;font-size:14px;font-weight:700;}
p,li{margin:0;font-size:14px;}
ul{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;}
td{overflow-wrap:anywhere;}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top;}
tr:last-child th,tr:last-child td{border-bottom:none;}
th{color:var(--ink-soft);font-weight:500;width:30%;}
a{color:var(--accent);overflow-wrap:anywhere;}
footer{padding-top:20px;border-top:1px solid var(--border);font-size:12.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px;}
@media (max-width:480px){
  body{padding-top:32px;}
  th{width:36%;}
  th,td{padding:8px 6px;}
}
