:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; color: #17313d; background: #f5f8f7; }
* { box-sizing: border-box; }
body { margin: 0; background: linear-gradient(180deg,#e8f4f1 0,#f7f9f8 260px); }
a { color: #066d65; }
.site-header { padding: 18px max(20px,calc((100% - 1040px)/2)); background: #082a38; color: #fff; }
.site-header a { color: #b9f4e8; text-decoration: none; }
.site-header strong { display: block; margin-top: 8px; font-size: 1.15rem; }
main { width: min(1040px,calc(100% - 32px)); margin: 28px auto 60px; }
.crumbs { font-size: .88rem; color: #526b73; }
h1 { margin: 18px 0 8px; font-size: clamp(1.8rem,4vw,2.8rem); line-height: 1.15; color: #0a3543; }
h2 { margin-top: 34px; color: #0c4650; }
.lede { max-width: 760px; color: #49636b; line-height: 1.7; }
.unit-note,.scope-note { padding: 14px 16px; border-left: 4px solid #d58b18; border-radius: 8px; background: #fff7e8; line-height: 1.55; }
.cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 14px; }
.card { padding: 17px; border: 1px solid #d5e1df; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(15,66,75,.06); }
.card dt { color: #5f777d; font-size: .88rem; }.card dd { margin: 8px 0 0; font-size: 1.45rem; font-weight: 760; color: #0b4d55; }
.evidence { margin-top: 10px; color: #6b7f83; font-size: .76rem; line-height: 1.4; }
table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 12px; background: #fff; }
th,td { padding: 11px 12px; border-bottom: 1px solid #e2e9e7; text-align: left; vertical-align: top; }
th { background: #dff0ec; color: #174a50; } td.number { text-align: right; font-variant-numeric: tabular-nums; }
.link-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 10px; padding: 0; list-style: none; }
.link-grid a { display: block; padding: 13px 14px; border: 1px solid #d5e1df; border-radius: 10px; background: #fff; text-decoration: none; }
.answer { padding: 22px; border-radius: 14px; background: #0e5260; color: #fff; font-size: 1.15rem; line-height: 1.7; }
footer { padding: 24px; background: #e3ece9; color: #567078; text-align: center; font-size: .82rem; }
@media (max-width:640px) { table { font-size: .86rem; } th,td { padding: 9px 7px; } .hide-mobile { display:none; } }
