:root{
  --bg:#f5f6f9;
  --sheet:#ffffff;
  --ink:#1b2430;
  --soft:#5c6778;
  --rule:#c9cfda;
  --rule-hard:#1b2430;
  --soy:#d99a24;
  --leaf:#2f7d5b;
  --alert:#a9452f;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --num:"SFMono-Regular",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.78;
  -webkit-text-size-adjust:100%;
  overflow-wrap:anywhere;
}
.pg{max-width:1020px;margin:0 auto;padding:0 18px}

.hdr{background:var(--sheet);border-bottom:3px solid var(--rule-hard)}
.hdr-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:58px;padding-top:8px;padding-bottom:8px}
.id{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:.03em}
.id svg{width:28px;height:28px}
.hdr nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.hdr nav a{font-size:.87rem;text-decoration:none;color:var(--soft);padding:3px 9px;border-bottom:2px solid transparent}
.hdr nav a:hover,.hdr nav a:focus-visible{color:var(--ink);border-bottom-color:var(--soy)}

.open{padding:38px 0 26px}
h1{margin:0 0 15px;display:flex;flex-direction:column;gap:5px;line-height:1.2}
h1 .kw{font-size:clamp(1.55rem,6.6vw,2.9rem);font-weight:800;letter-spacing:.005em}
h1 .sub{font-size:clamp(.86rem,2.9vw,1.06rem);font-weight:500;color:var(--leaf);letter-spacing:.1em}
.intro{margin:0 0 18px;max-width:60ch;color:var(--soft)}
.band-note{background:var(--sheet);border:2px solid var(--rule-hard);padding:14px 16px}
.band-note p{margin:0 0 8px;font-size:.88rem;color:var(--soft)}
.band-note p:last-child{margin-bottom:0}
.band-note strong{color:var(--ink)}

.sect{padding:32px 0;border-top:1px solid var(--rule)}
.sect.shade{background:#eceef4}
h2{margin:0 0 8px;font-size:clamp(1.16rem,4.3vw,1.6rem);border-bottom:3px solid var(--rule-hard);display:inline-block;padding-bottom:3px}
.cap{margin:12px 0 18px;font-size:.89rem;color:var(--soft);max-width:66ch}
.cap.small{font-size:.84rem;margin-top:14px}

.calc{display:grid;gap:14px}
@media(min-width:760px){.calc{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cpanel{background:var(--sheet);border:2px solid var(--rule-hard);padding:15px 16px}
.cpanel h3{margin:0 0 12px;font-size:.95rem;letter-spacing:.06em;color:var(--leaf)}
.cfield{display:flex;flex-direction:column;gap:4px;margin-bottom:11px}
.cfield label{font-size:.79rem;color:var(--soft);letter-spacing:.04em}
input,select{
  width:100%;font:inherit;font-size:.93rem;padding:8px 10px;
  border:1px solid var(--rule);border-radius:0;background:#fbfcfe;color:var(--ink);
}
input:focus,select:focus{outline:2px solid var(--soy);outline-offset:1px}

.readout{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:2px solid var(--rule-hard);padding-top:8px;margin-top:12px;flex-wrap:wrap}
.readout.sub-read{border-top-width:1px;border-top-color:var(--rule);margin-top:6px}
.rk{font-size:.8rem;color:var(--soft)}
.rv{font-family:var(--num);font-size:clamp(1.3rem,5vw,1.9rem);font-weight:700;color:var(--ink)}
.rv2{font-family:var(--num);font-size:1.15rem;font-weight:700;color:var(--leaf)}
.rnote{margin:10px 0 0;font-size:.8rem;color:var(--soft)}
.warnline{margin:16px 0 0;font-size:.83rem;color:var(--alert);border-left:4px solid var(--alert);padding-left:12px}

.tbl-wrap{overflow-x:auto;background:var(--sheet);border:2px solid var(--rule-hard)}
.tbl{border-collapse:collapse;width:100%;min-width:620px;font-size:.86rem}
.tbl caption{text-align:left;padding:9px 12px;font-size:.8rem;color:var(--soft);border-bottom:1px solid var(--rule)}
.tbl thead th{
  background:#e6e9f0;text-align:right;padding:8px 10px;font-size:.78rem;
  border-bottom:2px solid var(--rule-hard);white-space:nowrap;user-select:none;
}
.tbl thead th:first-child{text-align:left}
.tbl thead th:hover{background:#dbe0ea}
.tbl tbody th{text-align:left;padding:8px 10px;font-weight:600;border-bottom:1px solid var(--rule);white-space:nowrap}
.tbl tbody td{text-align:right;padding:8px 10px;font-family:var(--num);border-bottom:1px solid var(--rule)}
.tbl tbody tr:nth-child(even){background:#f7f8fb}
.tbl td.na{color:var(--rule)}
.memos{margin:16px 0 0;padding-left:20px;display:grid;gap:7px}
.memos li{font-size:.85rem;color:var(--soft)}
.memos b{color:var(--ink);margin-right:5px}

.aa{list-style:none;margin:0;padding:0;display:grid;gap:5px}
@media(min-width:760px){.aa{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px}}
.aa li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;border-bottom:1px dotted var(--rule);padding-bottom:4px}
.an{font-size:.86rem}
.aa li.ess .an{font-weight:600;color:var(--leaf)}
.av{font-family:var(--num);font-size:.84rem;color:var(--soft)}
.ab{grid-column:1/-1;height:4px;background:#e2e5ec;display:block}
.ab i{display:block;height:100%;background:var(--soy)}
.aa li.ess .ab i{background:var(--leaf)}

.cards{display:grid;gap:14px}
@media(min-width:720px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cards article{background:var(--sheet);border:1px solid var(--rule);border-top:4px solid var(--soy);padding:13px 15px}
.sect.shade .cards article{border-top-color:var(--leaf)}
.cards h3{margin:0 0 6px;font-size:.97rem}
.cards p{margin:0;font-size:.87rem;color:var(--soft)}
.cards strong{color:var(--ink)}

.points{margin:0;padding-left:20px;display:grid;gap:9px}
.points li{font-size:.89rem;color:var(--soft)}
.points strong{color:var(--ink)}

.ftr{padding:24px 0 34px;background:var(--sheet);border-top:3px solid var(--rule-hard)}
.ftr p{margin:0 0 5px;font-size:.84rem;color:var(--soft)}
.ftr .fine{font-size:.79rem;color:#8a92a1}
