:root{--ink:#17313a;--muted:#5b7078;--line:#dce8e8;--paper:#fffdf9;--surface:#f5fbfa;--brand:#0f766e;--brand-dark:#115e59;--accent:#d97706;--soft:#e8f6f3;--warn:#fff7e6;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:var(--brand-dark);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem 1rem;z-index:1000;border:2px solid var(--brand)}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);margin:auto;padding:.8rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:800;font-size:1.2rem;text-decoration:none;color:var(--ink);letter-spacing:.01em}.brand-mark{display:inline-grid;place-items:center;width:2rem;height:2rem;margin-right:.45rem;border-radius:50%;background:var(--brand);color:#fff;font-size:.95rem}.nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.nav a{text-decoration:none;font-size:.95rem;font-weight:700}.container{max-width:var(--max);margin:auto;padding:0 1.2rem}.hero{padding:5.5rem 0 4rem;background:linear-gradient(180deg,var(--surface),var(--paper))}.eyebrow{display:inline-block;margin:0 0 .8rem;color:var(--brand-dark);font-weight:800;font-size:.85rem;letter-spacing:.08em}.hero h1,.article-header h1{max-width:900px;margin:.15rem 0 1rem;font-size:clamp(2rem,5vw,3.7rem);line-height:1.22;letter-spacing:-.03em}.hero-lead,.article-lead{max-width:760px;color:var(--muted);font-size:1.08rem}.button-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.7rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1.1rem;border-radius:999px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800;border:0;cursor:pointer;font:inherit}.button.secondary{background:#fff;color:var(--brand-dark);border:1px solid var(--line)}.button:hover{background:var(--brand-dark)}.button.secondary:hover{background:var(--soft)}.section{padding:4rem 0}.section.compact{padding:2.7rem 0}.section h2,.article-body h2{margin:0 0 1.1rem;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.4}.section h3,.article-body h3{margin:2rem 0 .65rem;font-size:1.25rem;line-height:1.5}.section-intro{max-width:760px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem;box-shadow:0 8px 28px rgba(23,49,58,.04)}.card h3{margin:.1rem 0 .5rem}.card p{margin:.45rem 0;color:var(--muted)}.card a.stretched{font-weight:800}.pill{display:inline-block;padding:.2rem .65rem;border-radius:999px;background:var(--soft);color:var(--brand-dark);font-size:.8rem;font-weight:800}.notice{margin:1.5rem 0;padding:1rem 1.15rem;border-left:4px solid var(--accent);background:var(--warn);border-radius:0 12px 12px 0}.notice strong{display:block;margin-bottom:.25rem}.factbox{margin:1.5rem 0;padding:1.1rem 1.2rem;border:1px solid var(--line);background:var(--surface);border-radius:14px}.factbox h3{margin-top:0}.steps{counter-reset:step;display:grid;gap:1rem}.step{position:relative;padding:1.15rem 1.2rem 1.15rem 4rem;border:1px solid var(--line);border-radius:16px;background:#fff}.step:before{counter-increment:step;content:counter(step);position:absolute;left:1rem;top:1rem;width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-weight:800}.table-wrap{overflow-x:auto;margin:1.5rem 0}table{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}th,td{padding:.85rem .9rem;border:1px solid var(--line);vertical-align:top;text-align:left}th{background:var(--surface);font-weight:800}.checklist{padding-left:1.25rem}.checklist li{margin:.55rem 0}.meta{display:flex;gap:.8rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.breadcrumb{padding:1rem 0;font-size:.9rem;color:var(--muted)}.breadcrumb ol{display:flex;gap:.45rem;flex-wrap:wrap;list-style:none;padding:0;margin:0}.breadcrumb li:not(:last-child):after{content:"/";margin-left:.45rem;color:#9aabad}.article-header{padding:2.8rem 0 2.2rem;border-bottom:1px solid var(--line)}.article-header h1{font-size:clamp(1.9rem,4vw,3rem)}.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(220px,1fr);gap:3rem;align-items:start;padding:3rem 0}.article-body>p:first-child{font-size:1.05rem}.article-body p,.article-body li{color:#314950}.article-body ul,.article-body ol{padding-left:1.35rem}.article-body section{scroll-margin-top:90px;margin-bottom:3.3rem}.toc{position:sticky;top:84px;border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}.toc strong{display:block;margin-bottom:.5rem}.toc ol{margin:0;padding-left:1.2rem;font-size:.9rem}.toc li{margin:.45rem 0}.source-list{font-size:.92rem}.source-list li{margin:.7rem 0;overflow-wrap:anywhere}.related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.related a{display:block;padding:1rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:800;background:#fff}.cta{padding:1.5rem;border-radius:20px;background:var(--ink);color:#fff}.cta h2,.cta p{color:#fff}.cta a{color:#fff}.cta .button{background:#fff;color:var(--ink)}.footer{margin-top:4rem;border-top:1px solid var(--line);padding:2.5rem 0 3rem;color:var(--muted);font-size:.9rem}.footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer nav{display:flex;gap:1rem;flex-wrap:wrap}.kicker{font-weight:800;color:var(--brand-dark)}.mini{font-size:.88rem;color:var(--muted)}.definition{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line)}.definition dt,.definition dd{margin:0;padding:.85rem 0;border-bottom:1px solid var(--line)}.definition dt{font-weight:800}.definition dd{padding-left:1rem}.metric{font-size:2rem;font-weight:900;color:var(--brand-dark);line-height:1.2}.center{text-align:center}.tool-panel{margin:1.5rem 0;padding:1.4rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(23,49,58,.04)}.form-field{display:grid;gap:.45rem}.form-field input{width:100%;max-width:360px;min-height:48px;padding:.65rem .8rem;border:1px solid #b8cccc;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:1.05rem}.form-field input:focus{outline:3px solid rgba(15,118,110,.18);border-color:var(--brand)}.result-box{margin-top:1.5rem;padding:1.2rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.result-box[hidden],.notice[hidden]{display:none}.formula{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;background:#fff;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}@media(max-width:850px){.grid{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.toc{position:static;order:-1}.related{grid-template-columns:1fr}.definition{grid-template-columns:1fr}.definition dd{padding-left:0;padding-top:0}.hero{padding:4rem 0 3rem}}@media(max-width:600px){.header-inner{align-items:flex-start}.nav{justify-content:flex-end;gap:.65rem}.nav a{font-size:.85rem}.hero h1{font-size:2.25rem}.section{padding:3rem 0}.article-layout{padding-top:2rem}.card{padding:1.1rem}th,td{padding:.7rem}.button{width:100%}.form-field input{max-width:none}}