:root{--paper:#f5f5f0;--white:#fff;--ink:#202922;--muted:#667168;--line:#dce1d8;--green:#345b46;--wash:#e8eee5;--amber:#86551e;--red:#914235;--radius:12px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP",Meiryo,sans-serif;font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:var(--green);text-underline-offset:4px}a:hover{color:#173b27}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #739879;outline-offset:4px}.skip{position:absolute;left:12px;top:-100px;padding:12px;background:white;z-index:99}.skip:focus{top:8px}.wrap{max-width:1184px;padding:0 32px;margin:auto}.header{position:sticky;top:0;background:rgba(245,245,240,.96);border-bottom:1px solid var(--line);z-index:10}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:19px;font-weight:700;letter-spacing:.05em;white-space:nowrap}.brand img{width:31px;height:31px}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:13px;color:var(--muted);text-decoration:none}.nav a:hover{color:var(--ink)}.menu-button{display:none;border:1px solid var(--line);background:transparent;border-radius:6px;padding:5px 10px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:700;color:var(--green);text-transform:uppercase;margin:0 0 18px}.hero{padding:68px 0 54px;display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center}.hero h1{font-size:clamp(30px,3.8vw,49px);line-height:1.48;letter-spacing:-.035em;margin:0 0 23px;font-weight:700}.hero .lead{max-width:570px;font-size:16px;line-height:2;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:27px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:45px;padding:10px 18px;background:var(--green);border:1px solid var(--green);border-radius:7px;color:#fff;text-decoration:none;font-size:13px;font-weight:600;line-height:1.5}.button:hover{background:#274836;color:white}.button.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.button:disabled{cursor:default;opacity:.4}.text-link{font-size:13px;font-weight:600}.summary-board{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px 28px;box-shadow:0 8px 32px #243d2410}.board-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:4px;font-size:12px}.tiny-label{font-size:10px;letter-spacing:.04em;color:var(--muted)}.board-row{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.board-row span{font-size:13px;color:var(--muted)}.board-row strong{font-size:27px;letter-spacing:-.04em;font-weight:600;font-variant-numeric:tabular-nums}.board-row em{font-size:12px;font-style:normal;font-weight:400;margin-left:7px}.board-footer{margin:17px 0 0;font-size:12px;line-height:1.9;color:var(--green)}.small{font-size:12px;line-height:1.85}.muted{color:var(--muted)}.inline-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:12px;color:var(--muted)}.section{padding:42px 0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{font-size:21px;margin:0;letter-spacing:-.02em}.section-heading p{color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-decoration:none;color:var(--ink);height:100%}.card:hover{border-color:#94ac96;color:var(--ink)}.card .card-kicker{color:var(--green);font-size:10px;letter-spacing:.08em;margin:0 0 14px}.card h3{font-size:17px;line-height:1.8;margin:0 0 12px;letter-spacing:-.02em}.card p{color:var(--muted);font-size:13px;margin:0 0 18px}.card .card-foot{margin-top:auto;font-size:11px;color:var(--green)}.tool-card{background:var(--wash)}.tool-mark{display:inline-block;font-size:30px;line-height:1;font-family:ui-monospace,monospace;margin:0 0 20px;color:var(--green)}.page-head{padding:38px 0 30px}.breadcrumb{font-size:11px;color:var(--muted);margin:0 0 24px}.breadcrumb a{color:var(--muted)}.page-head h1{font-size:clamp(27px,3vw,38px);line-height:1.65;letter-spacing:-.04em;max-width:900px;margin:0 0 18px}.page-head .lead{max-width:830px;color:var(--muted);margin:0 0 17px;font-size:15px}.metadata{font-size:11px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap}.article-layout{display:grid;grid-template-columns:195px minmax(0,790px);gap:45px;align-items:start;padding-bottom:65px}.toc{position:sticky;top:106px;font-size:11px;border-top:1px solid var(--line);padding-top:15px}.toc strong{font-size:12px}.toc a{display:block;color:var(--muted);padding:8px 0;text-decoration:none;line-height:1.8}.article-body{min-width:0}.answer{background:var(--wash);border-left:3px solid var(--green);border-radius:0 8px 8px 0;padding:24px 27px;margin-bottom:32px}.answer .label{display:block;color:var(--green);font-size:11px;letter-spacing:.1em;margin-bottom:10px;font-weight:700}.answer p{margin:0;font-size:15px;line-height:2}.article-body h2{font-size:21px;line-height:1.8;margin:40px 0 16px;letter-spacing:-.02em}.article-body p{line-height:2.1;margin:0 0 18px}.article-body h3{font-size:18px}.cite{font-size:11px;white-space:nowrap;font-weight:500;margin-left:3px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;margin:20px 0 26px;background:#fff}table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.9}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top;min-width:120px}th{font-weight:600;background:#eef1e9;color:#3c4c3f}tr:last-child td{border-bottom:0}.table-wrap th:first-child{min-width:165px}.notice{background:var(--wash);border:1px solid #d7e1d4;border-radius:8px;padding:16px 18px;font-size:13px;line-height:1.9}.warning{background:#f6efe2;border-left:3px solid #b19055;padding:14px 17px;font-size:13px}.body-copy{max-width:830px;padding-bottom:60px}.body-copy h2{font-size:22px;margin:32px 0 12px}.body-copy p{line-height:2}.source-item{padding:20px 0;border-top:1px solid var(--line)}.source-item h2{font-size:15px;margin:0 0 6px}.source-item p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 8px}.source-item a{overflow-wrap:anywhere}.tool-layout{display:grid;grid-template-columns:370px minmax(0,1fr);gap:26px;align-items:start;padding-bottom:55px}.form-panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:25px}.form-panel h2{font-size:18px;margin:0 0 20px}.field{margin:0 0 17px}.field label{font-size:12px;font-weight:600;display:block;margin-bottom:6px}.field input,.field select{width:100%;background:#fff;border:1px solid #cbd4c8;border-radius:5px;min-height:42px;padding:8px 10px;line-height:1.5;color:var(--ink);font-size:14px}.field .hint{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-field{font-size:12px;line-height:1.8;display:flex;gap:10px;align-items:flex-start;margin:15px 0}.check-field input{width:16px;height:16px;flex-shrink:0;margin-top:4px;accent-color:var(--green)}.form-actions{display:flex;gap:9px;margin-top:22px;flex-wrap:wrap}.error{color:var(--red);font-size:13px;margin-top:16px}.results>h2{font-size:18px;margin:0 0 18px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.stat{background:#e8eee5;border:1px solid #d6e0d2;border-radius:8px;padding:16px 14px;min-width:0}.stat span{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin-bottom:8px}.stat strong{font-size:23px;line-height:1.5;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px;margin-top:16px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.result-card h3{font-size:16px;margin:0}.status{font-size:10px;padding:4px 8px;border-radius:4px;white-space:nowrap;background:#f2f2eb}.status.within{background:#e7efe5;color:var(--green)}.status.exceeds{background:#f5e8e3;color:var(--red)}.status.confirm{background:#f3ead7;color:var(--amber)}.checks{padding-left:20px;font-size:12px;line-height:1.9;margin:17px 0}.checks li.exceeds{color:var(--red);font-weight:600}.checks li.unverified{color:var(--muted)}.result-card p{font-size:12px;line-height:1.9}.sources-inline{font-size:10px!important;line-height:1.9!important}.export-row{display:flex;justify-content:flex-end;margin-top:18px}details{padding:15px 0;border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600;font-size:13px}.footer{border-top:1px solid var(--line);padding:30px 0 28px;background:#eef0e9}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:11px}.footer p{font-size:10px;color:var(--muted);margin:20px 0 0}.section:last-child{padding-bottom:60px}.mono{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}pre{overflow:auto;padding:20px;border:1px solid var(--line);border-radius:8px;background:white;font-size:12px}noscript p{padding:20px;background:#f5eadc}.shelf{border-top:1px solid var(--line);margin-top:40px;padding-top:22px}.shelf h2{font-size:18px;margin-top:0}.checklist{padding-left:20px;line-height:2}.policy-line{font-size:11px;color:var(--muted);margin-top:12px}
@media(max-width:1000px){.hero{gap:30px}.hero h1{font-size:36px}.grid.four{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:160px minmax(0,1fr);gap:28px}.tool-layout{grid-template-columns:320px minmax(0,1fr)}.stats{grid-template-columns:1fr}.stat{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat span{margin:0}.stat strong{font-size:22px}}
@media(max-width:720px){.wrap{padding:0 20px}.header-inner{min-height:65px;gap:10px}.brand{font-size:17px;gap:8px}.brand img{width:27px;height:27px}.menu-button{display:block}.nav{display:none;position:absolute;top:65px;left:0;right:0;padding:20px;background:var(--paper);border-bottom:1px solid var(--line);gap:20px}.nav.open{display:flex;justify-content:center;flex-wrap:wrap}.hero{display:block;padding:39px 0 28px}.hero h1{font-size:34px;line-height:1.5}.hero .lead{font-size:14px}.summary-board{margin-top:30px;padding:18px 22px}.board-row{padding:10px 0}.board-row strong{font-size:23px}.hero-actions{gap:14px}.inline-note{display:block;font-size:10px}.inline-note span{display:block}.section{padding:30px 0}.section-heading{align-items:start}.section-heading h2{font-size:19px}.section-heading p{display:none}.grid,.grid.two{grid-template-columns:1fr}.grid.four{grid-template-columns:1fr 1fr;gap:10px}.grid.four .card{padding:16px}.card{padding:21px}.card h3{font-size:16px}.page-head{padding:29px 0 23px}.page-head h1{font-size:27px;line-height:1.65}.page-head .lead{font-size:13px}.article-layout{display:block}.toc{position:static;margin-bottom:25px;display:none}.answer{padding:19px}.article-body h2{font-size:19px}.article-body p{font-size:14px}.tool-layout{display:block}.form-panel{padding:22px;margin-bottom:27px}.results>h2{margin-top:25px}.stats{grid-template-columns:1fr}.footer-top{display:block}.footer-links{gap:14px;margin-top:18px}.metadata{gap:6px;font-size:10px}.table-wrap td{min-width:125px}.body-copy{padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.header,.footer,.toc,.hero-actions,.form-panel,.export-row,.menu-button{display:none!important}body{background:white;font-size:11pt;color:#000}.wrap{max-width:none;padding:0}.article-layout,.tool-layout{display:block}.page-head{padding:0}.answer,.notice,.card,.result-card,.stat{background:#fff;border:1px solid #bbb;break-inside:avoid}.table-wrap{overflow:visible}a{color:inherit}.grid{display:block}.card{margin-bottom:12px}.hero{display:block}h2,h3{break-after:avoid}pre{white-space:pre-wrap}}
