:root{--ink:#243748;--muted:#687785;--teal:#007c83;--deep:#123840;--line:#dce3e7;--paper:#f6f8f8;--gold:#bf7718}
footer .site-credit{display:block;line-height:1.9}
@media(max-width:800px){footer .site-credit{flex-basis:100%;order:3}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--teal);text-underline-offset:4px}button,select{font:inherit}a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #df9d29;outline-offset:5px}a:hover{opacity:.8}h1,h2,h3,p{margin:0}h2{font-size:27px;letter-spacing:.035em;line-height:1.5}h3{line-height:1.6}img{max-width:100%}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1216px;margin:auto;padding:19px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:22px;font-weight:800;letter-spacing:-.6px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;background:var(--deep);color:#abded1;font-size:21px;border-radius:5px}.brand-sub{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--muted);margin-left:3px}nav{display:flex;gap:29px;align-items:center}nav a{font-size:12px;font-weight:600;color:var(--ink);text-decoration:none}.github-link{border-left:1px solid var(--line);padding-left:27px}.hero{background:var(--deep);color:#fff;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #2b5055;border-radius:50%;right:-210px;top:-120px;pointer-events:none}.hero-inner{max-width:1216px;margin:auto;padding:48px 40px 27px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px;color:#aed0cc}.status-dot,.scope-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7cd0b7}.hero-number{margin-left:auto;letter-spacing:2px;opacity:.7}.hero-heading{display:flex;align-items:center;justify-content:space-between;padding:30px 0 39px;gap:30px}h1{font-size:52px;line-height:1.42;font-weight:650;letter-spacing:.09em}.title-dot{color:#8ed3c2}.hero-subtitle{color:#c3d6d7;margin-top:18px;font-size:15px;letter-spacing:.04em}.period{text-align:right;padding-right:20px;min-width:255px}.period>span{font-size:11px;color:#b1cacc;letter-spacing:2px}.period strong{display:block;font-size:35px;font-weight:500;letter-spacing:-1px;margin:5px 0}.period strong span{font-size:24px;margin:0 12px;color:#80b4b1}.period small{font-size:11px;color:#a9c2c4}.hero-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #34545a;padding-top:21px;gap:20px}.hero-footer p{font-size:12px;color:#c0d0d1}.hero-footer a{color:#cae9e1;text-decoration:none;font-size:12px;white-space:nowrap}.hero-footer a span{padding-left:30px}.content{max-width:1216px;padding:0 40px 70px;margin:auto}.scope{display:flex;gap:16px;flex-wrap:wrap;padding:24px 0 22px;color:var(--muted);font-size:10px;align-items:center;letter-spacing:.03em}.scope>span:first-child{color:var(--deep);font-weight:600}.scope>span:last-child{margin-left:auto}.scope-dot{background:var(--teal);margin-right:6px;vertical-align:middle}.metrics{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:9px;padding:25px 0}.metric{padding:0 30px}.metric+.metric{border-left:1px solid var(--line)}.metric-label{font-size:12px;font-weight:650}.metric-label span{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:2px}.metric-value{font-size:47px;line-height:1.3;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-1.5px;margin:12px 0 8px}.metric-value>span{font-size:20px;margin-left:5px;font-weight:450;color:var(--muted);letter-spacing:0}.metric-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.metric-note strong{font-weight:500;color:var(--ink)}.teal{color:var(--teal);font-weight:650}.teal-bg{background:var(--gold)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%}.section{padding-top:65px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}.dark{color:var(--teal);font-size:10px;margin-bottom:10px;letter-spacing:1.7px}.text-link{font-size:12px;text-decoration:none;white-space:nowrap}.text-link span{margin-left:14px}.section-intro{font-size:12px;color:var(--muted);margin-bottom:24px}.chart-card{background:#fff;border:1px solid var(--line);border-radius:9px;margin-top:23px;overflow:hidden}.chart-header{padding:24px 28px 18px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #edf0f2}.chart-header>div{display:flex;gap:15px;align-items:center}.chart-index{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#eaf4f2;color:var(--teal);font-size:15px;font-weight:600;flex-shrink:0}.chart-header h3{font-size:17px;font-weight:650}.chart-header p{font-size:10px;color:var(--muted);margin-top:3px}.chart-select{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted)}select{border:1px solid #cad5dc;border-radius:5px;background:#fff;color:var(--ink);padding:8px 32px 8px 12px;max-width:230px;font-size:12px;cursor:pointer}.chart-card figure{margin:0;padding:8px 22px 0}.chart-scroll img{display:block;width:100%;height:auto}.chart-card figcaption{padding:4px 6px 15px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.chart-card figcaption span{white-space:nowrap}.chart-actions{display:flex;align-items:flex-start;gap:20px;border-top:1px solid #edf0f2;padding:13px 28px;font-size:11px;background:#fcfdfd}.chart-actions>details{flex:1;min-width:0}.chart-actions>a{text-decoration:none;white-space:nowrap}summary{cursor:pointer;color:var(--ink)}summary:hover{color:var(--teal)}.chart-caveat{margin-top:20px;font-size:11px;color:var(--muted);line-height:1.9;padding-left:14px;border-left:3px solid #c4d3d7}.chart-caveat strong{color:var(--ink);font-weight:600;margin-right:9px}.chart-caveat a{white-space:nowrap}.section-aside{font-size:10px;color:var(--muted)}.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:25px}.insight{padding:25px 26px 28px;border:1px solid var(--line);border-radius:8px;background:#fff}.insight-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.insight-number{font-size:24px;color:#82aaa9;font-weight:450;font-variant-numeric:tabular-nums}.insight-tag{font-size:10px;background:#edf4f2;color:#3f7473;padding:4px 9px;border-radius:3px}.insight h3{font-size:16px;margin-bottom:11px}.insight p{font-size:12px;color:#566775;line-height:2}.small-note{font-size:11px;color:var(--muted);line-height:1.9;margin-top:17px}.method-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:40px;margin-top:29px;align-items:start}.formula-panel{padding:28px;background:#eaf2f0;border-radius:7px}.formula-panel>span{font-size:12px;color:var(--teal);font-weight:600}.formula-panel p{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.formula-panel strong{font-size:21px;font-weight:600}.formula-divide{color:var(--teal);font-size:26px;font-weight:300}.formula-times{font-size:17px;color:var(--teal)}.formula-panel small{display:block;font-size:11px;line-height:2;color:#59726f}.definition-list{margin:0}.definition-list>div{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.definition-list>div:first-child{padding-top:0}.definition-list dt{font-size:11px;font-weight:600}.definition-list dd{font-size:11px;color:var(--muted);margin:0;line-height:1.9}.method-details{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-size:12px}.method-details>div{max-width:950px;color:var(--muted);line-height:2}.method-details li{margin:10px 0}.download-panel{display:flex;justify-content:space-between;gap:40px;padding:30px 34px;background:white;border:1px solid var(--line);border-radius:8px;margin-top:30px}.download-panel h3{font-size:21px;letter-spacing:.03em}.download-panel p:not(.eyebrow){font-size:11px;color:var(--muted);margin:8px 0 18px}code{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;background:#edf2f3;border-radius:4px;padding:5px 9px;color:#38505d}.download-links{min-width:220px;display:grid;gap:10px}.download-links>a:not(.button){font-size:10px;text-decoration:none}.button{display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:12px;padding:11px 17px;text-decoration:none;border:1px solid #bdccd0;border-radius:5px;color:var(--deep)}.primary{background:var(--deep);color:white;border-color:var(--deep)}.table-scroll{max-width:100%;overflow-x:auto;margin-top:14px}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:11px;white-space:nowrap}caption{text-align:left;color:var(--muted);padding-bottom:9px}td,th{padding:9px 14px;border-bottom:1px solid var(--line);text-align:right}thead th{color:var(--muted);font-size:10px;font-weight:500;background:#f4f7f7}th:first-child{text-align:left}tbody th{font-weight:500}.notice{font-size:12px;margin:20px 0}footer{border-top:1px solid var(--line);background:#fff}footer>div{max-width:1216px;margin:auto;padding:26px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>div>a:last-child{font-size:10px;color:var(--muted);text-decoration:none}footer .brand{font-size:18px}.mobile-only{display:none}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:absolute;z-index:10;background:#fff;padding:12px;top:5px;left:5px}
@media(min-width:1400px){.hero-inner{padding-top:55px;padding-bottom:30px}}
@media(max-width:800px){.header-inner{padding:16px 22px}nav{gap:18px}.github-link{display:none}.hero-inner{padding:34px 24px 23px}.hero-heading{padding:26px 0 31px}h1{font-size:40px}.hero-subtitle{font-size:12px}.period{min-width:190px;padding-right:0}.period strong{font-size:27px}.period strong span{margin:0 5px}.content{padding:0 24px 48px}.scope{gap:8px 13px}.scope>span:last-child{margin-left:0;width:100%}.metric{padding:0 19px}.metric-value{font-size:39px}.metric-label{font-size:11px}.metric-note{font-size:10px;gap:5px}.section{padding-top:46px}h2{font-size:23px}.chart-header{padding:20px}.chart-select{display:block}.chart-select select{display:block;margin-top:4px;max-width:200px}.section-aside{display:none}.method-grid{grid-template-columns:1fr;gap:26px}.formula-panel{max-width:none}.download-panel{padding:25px;gap:20px}.download-panel h3{font-size:18px}footer>div{padding:24px;flex-wrap:wrap}footer p{display:none}}
@media(max-width:560px){.header-inner{padding:15px 19px}.brand{font-size:20px;gap:8px}.brand-sub{font-size:8px;letter-spacing:1.1px}nav{gap:14px}nav a{font-size:10px}nav a:nth-child(2){display:none}.brand-mark{width:27px;height:27px;font-size:19px}.hero-inner{padding:28px 21px 22px}.hero-number{display:none}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero-heading{display:block;padding:22px 0}.hero h1{font-size:36px;letter-spacing:.08em}.hero-subtitle{font-size:11px;margin-top:15px}.period{text-align:left;margin-top:26px;display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}.period>span{font-size:9px;letter-spacing:1px}.period strong{font-size:23px;margin:0}.period strong span{font-size:19px}.period small{display:none}.hero-footer{padding-top:17px;gap:10px}.hero-footer p{font-size:10px}.hero-footer a{font-size:10px}.hero-footer a span{padding-left:7px}.mobile-only{display:block}.content{padding:0 16px 38px}.scope{padding:19px 1px 16px;font-size:9px}.metrics{padding:18px 0}.metric{padding:0 12px}.metric-label{font-size:10px;min-height:39px}.metric-label span{font-size:8px;margin-top:5px}.metric-value{font-size:32px;letter-spacing:-1px;margin:9px 0 7px}.metric-value>span{font-size:13px;margin-left:2px}.metric-note{font-size:8px;line-height:1.7;display:block;min-height:27px}.metric-note>span{display:block}.metric-note .dot{display:none}.metric-note strong{margin-left:4px}.section{padding-top:37px}.section-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:12px}h2{font-size:21px}.text-link{font-size:10px}.section-intro{font-size:10px;line-height:1.9;margin-bottom:16px}.chart-card{margin-top:18px}.chart-header{padding:17px 15px;gap:12px;flex-wrap:wrap}.chart-header h3{font-size:15px}.chart-header p{font-size:9px}.chart-header>div{gap:10px}.chart-index{width:29px;height:29px;font-size:13px}.chart-select{display:flex;font-size:10px;margin-left:39px;gap:10px}.chart-select select{font-size:11px;max-width:210px;margin-top:0;padding:6px 22px 6px 9px}.chart-card figure{padding:6px 8px 0}.chart-scroll{overflow-x:auto}.chart-scroll img{width:100%;min-width:0;max-width:100%}.chart-card figcaption{font-size:9px;line-height:1.8;gap:6px;padding:8px 7px 13px}.chart-card figcaption>span{display:none}.chart-actions{padding:12px 15px;font-size:10px}.chart-caveat{font-size:10px}.insight-grid{grid-template-columns:1fr;gap:13px;margin-top:20px}.insight{padding:19px 20px 23px}.insight-top{margin-bottom:11px}.insight h3{font-size:15px}.insight p{font-size:11px}.small-note{font-size:10px}.formula-panel{padding:22px}.definition-list>div{grid-template-columns:66px 1fr;gap:10px}.definition-list dt,.definition-list dd{font-size:10px}.method-details{font-size:11px}.method-details ul{padding-left:22px}.download-panel{display:block;padding:23px}.download-panel h3{font-size:18px}.download-links{margin-top:24px}.download-panel p:not(.eyebrow){font-size:10px}footer>div{padding:23px 19px}footer .brand{font-size:16px}footer .brand-sub{font-size:8px}footer>div>a:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header nav,.chart-select,.chart-actions,.download-panel,.text-link{display:none}.hero{background:#fff;color:var(--ink)}.hero p,.hero .eyebrow,.period small,.period>span{color:var(--muted)}.content{max-width:none;padding:0}.chart-card,.insight{break-inside:avoid}.chart-scroll img{width:100%;min-width:0}.section{padding-top:25px}footer{display:none}}
