:root{--paper:#FBFAF7;--panel:#FFFFFF;--ink:#1C2B2D;--muted:#63736F;
--brand:#1F5D5A;--soft:#E8F0EE;--line:#C7DBD7;--warn:#9C4A2F;--warnsoft:#FBEFE9;
--warnline:#E8CDBF;--rule:#E3E0D8;
--mincho:"Zen Old Mincho",'Hiragino Mincho ProN','Yu Mincho',serif;
--gothic:"Zen Kaku Gothic New",'Hiragino Sans','Yu Gothic',sans-serif;}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
--paper:#14201F;--panel:#1B2A28;--ink:#E8EDEB;--muted:#9DAFAB;--brand:#7FBCB4;
--soft:#1E3230;--line:#2F4A47;--warn:#E0997A;--warnsoft:#2E2019;--warnline:#4A3327;--rule:#2A3937;}}
:root[data-theme="dark"]{--paper:#14201F;--panel:#1B2A28;--ink:#E8EDEB;--muted:#9DAFAB;
--brand:#7FBCB4;--soft:#1E3230;--line:#2F4A47;--warn:#E0997A;--warnsoft:#2E2019;
--warnline:#4A3327;--rule:#2A3937;}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--gothic);
font-size:17px;line-height:1.9;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}
.wrap{max-width:44rem;margin:0 auto;padding:3.5rem 1.5rem 5rem;display:flex;flex-direction:column;gap:2.4rem}
header{display:flex;flex-direction:column;gap:.7rem;padding-bottom:1.7rem;border-bottom:2px solid var(--brand)}
.yagou{font-size:.8rem;letter-spacing:.22em;color:var(--brand);font-weight:700;margin:0}
h1{font-family:var(--mincho);font-weight:700;font-size:1.95rem;line-height:1.45;margin:0;text-wrap:balance}
.lead{margin:0;color:var(--muted);font-size:1rem}
h2{font-family:var(--mincho);font-weight:600;font-size:1.28rem;line-height:1.5;margin:0 0 1rem;
padding-bottom:.6rem;border-bottom:1px solid var(--rule);text-wrap:balance}
p{margin:0 0 1rem}p:last-child{margin-bottom:0}
section{display:flex;flex-direction:column}
.box{background:var(--soft);border:1px solid var(--line);border-radius:.55rem;
padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.6rem}
.box .t{font-family:var(--mincho);font-weight:700;font-size:1.05rem;color:var(--brand);margin:0}
.q{background:var(--panel);border:1px solid var(--rule);border-radius:.5rem;
padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.1rem}
.q h3{margin:0;font-size:1.06rem;font-weight:700;line-height:1.6;display:flex;gap:.6rem;align-items:baseline}
.q h3 .n{background:var(--brand);color:var(--paper);width:1.8rem;height:1.8rem;border-radius:50%;
display:grid;place-items:center;font-size:.85rem;flex:none}
.q .hint{color:var(--muted);font-size:.94rem;margin:0}
.rei{background:var(--soft);border-left:3px solid var(--line);padding:.7rem .9rem;
border-radius:0 .3rem .3rem 0;font-size:.93rem;color:var(--ink);margin:0}
.rei b{color:var(--brand)}
.kaku{border:1px dashed var(--line);border-radius:.4rem;min-height:5.5rem;padding:.7rem;
color:var(--muted);font-size:.85rem}
.warn{background:var(--warnsoft);border-left:4px solid var(--warn);border-radius:0 .4rem .4rem 0;
padding:1rem 1.2rem;margin:.8rem 0 0}
.warn p{margin:0;font-size:.95rem}.warn strong{color:var(--warn)}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.95rem;background:var(--panel);
border:1px solid var(--rule);border-radius:.45rem}
th,td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.75}
th{width:11rem;font-weight:700;color:var(--brand)}
tr:last-child th,tr:last-child td{border-bottom:0}
ul{margin:0;padding-left:1.3rem}li{margin-bottom:.4rem}
footer{border-top:1px solid var(--rule);padding-top:1.4rem;color:var(--muted);font-size:.9rem;
display:flex;flex-direction:column;gap:.25rem}
footer .nm{font-family:var(--mincho);font-weight:600;color:var(--ink);font-size:1rem}
@media(max-width:520px){body{font-size:16px}h1{font-size:1.55rem}
.wrap{padding:2.4rem 1.1rem 3.5rem;gap:1.9rem}th{width:auto}}
@media print{:root{--paper:#fff;--panel:#fff}body{font-size:10.5pt;line-height:1.7}
.wrap{max-width:none;padding:0}section,.q{break-inside:avoid}.kaku{min-height:4rem}}
