:root{--paper:#f3efe6;--card:#fffcf7;--ink:#1a2332;--muted:#5c6570;--line:#d9d1c3;--sea:#0f5c56;--sea-deep:#123f3c;--clay:#6e341c;--focus:#0f5c56;--font-display:"Iowan Old Style", "Palatino Linotype", "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--font-body:"Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(1200px 480px at 90% -10%, #0f5c5614, transparent 60%), var(--paper);font-family:var(--font-body);margin:0;line-height:1.6}h1,h2,h3,.wordmark,.tagline{font-family:var(--font-display);letter-spacing:-.02em;font-weight:560;line-height:1.15}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip{background:var(--ink);color:var(--paper);z-index:2;padding:.5rem .8rem;position:absolute;top:1rem;left:1rem;transform:translateY(-160%)}.skip:focus{transform:none}.site-header{z-index:1;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3efe6eb;position:sticky;top:0}.header-bar,.footer-bar,.hero,.search,.section,.tool-page{width:min(1120px,100% - 2rem);margin-inline:auto}.header-bar{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;min-height:4rem;padding:.75rem 0;display:flex}.wordmark{margin-right:auto;font-size:1.25rem;text-decoration:none}.wordmark span{color:var(--sea)}.primary-nav,.locale-switch{flex-wrap:wrap;gap:.4rem;display:flex}.primary-nav a,.locale-switch a,.explore-cta,.back a,.not-found-links a{border-radius:999px;align-items:center;min-height:44px;padding:.35rem .7rem;text-decoration:none;display:inline-flex}.primary-nav a:hover,.locale-switch a:hover{background:#0f5c5614}.locale-switch a[aria-current=page]{background:var(--sea);color:#f6f3ec}.hero{grid-template-columns:1fr;gap:1rem;padding:2.5rem 0 1rem;display:grid}.kicker{color:var(--clay);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.78rem}h1{margin:0;font-size:clamp(2.6rem,8vw,5rem)}.tagline{margin:.6rem 0 0;font-size:clamp(1.3rem,3vw,2rem)}.proposition{max-width:42rem;color:var(--muted);font-size:1.05rem}.compass{width:92px;height:92px;color:var(--sea);justify-self:start}.search{background:var(--card);border:1px solid var(--line);border-radius:18px;width:min(1120px,100% - 2rem);margin:.5rem auto 0;padding:1rem;display:block}.search label{font-size:.92rem;display:block}.search input,.filters select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;margin-top:.35rem;padding:.7rem .9rem}.search-hint,.search-count,.empty,.kpi-note,.status,.card-action,.count{color:var(--muted);font-size:.92rem}.search-results{margin:.5rem 0 0;padding:0;list-style:none}.search-results a,.search-results div,.search-results .search-add{border-top:1px solid var(--line);gap:.15rem;padding:.75rem 0;text-decoration:none;display:grid}.search-results .search-add{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.section{padding:2.5rem 0 0}.section-head h2,.explore h2,.tool-page h1{margin:0 0 .4rem}.section-head p{color:var(--muted);margin-top:0}.category-grid,.tool-grid,.kpi-grid{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.category-card,.tool-card,.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem}.category-card h3,.tool-card h3{margin:.4rem 0;font-size:1.35rem}.tool-card a{color:inherit;height:100%;text-decoration:none;display:block}.tool-card.is-planned{border-style:dashed}.icon{width:28px;height:28px;color:var(--sea)}.status-line{color:var(--clay);font-size:.92rem}.explore{background:var(--sea-deep);color:#f6f3ec;margin-top:2.5rem}.explore-inner{width:min(1120px,100% - 2rem);margin:0 auto;padding:2.5rem 0}.explore p{color:#e4ece9;max-width:42rem}.explore-cta{color:var(--sea-deep);background:#f6f3ec;margin-top:.6rem;margin-right:.6rem;font-weight:650}.explore-cta-secondary{color:#f6f3ec;background:0 0;border:1px solid #f6f3ec8c}.site-footer{border-top:1px solid var(--line);margin-top:0}.footer-bar{color:var(--muted);padding:1.5rem 0 2rem;font-size:.92rem}.footer-brand{color:var(--ink);font-family:var(--font-display);font-size:1.1rem}.footer-links,.locale-note{margin:.2rem 0}.footer-links{flex-wrap:wrap;gap:.4rem .8rem;display:flex}.footer-links a{text-underline-offset:.15em;text-decoration:underline}.tool-page{padding:2rem 0 3rem}.dashboard{gap:1rem;margin-top:1rem;display:grid}.dashboard>*{min-width:0;max-width:100%}.notice{border:1px solid var(--clay);background:#f8efe8;border-radius:14px;margin:0;padding:.9rem 1rem}.notice strong{display:block}.filters{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:.8rem;margin:0;padding:1rem;display:grid}.filters legend{padding:0 .3rem}.filters label{font-size:.92rem;display:grid}.kpi-value{font-family:var(--font-display);margin:.2rem 0;font-size:1.8rem}.kpi-label,.kpi-note{margin:0}.chart{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:0;padding:.5rem .5rem .8rem}.chart svg{width:100%;height:auto;display:block}.chart-tick{fill:var(--muted);font-size:11px;font-family:var(--font-body)}.chart figcaption{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:0 .4rem;font-size:.88rem;display:flex}.chart ul{flex-wrap:wrap;gap:.5rem .9rem;margin:0;padding:0;list-style:none;display:flex}.chart li{align-items:center;gap:.35rem;display:inline-flex}.swatch{border-radius:99px;width:.7rem;height:.7rem}.table-wrap{border:1px solid var(--line);background:var(--card);border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%}caption{text-align:left;padding:.8rem 1rem 0;font-weight:650}th,td{text-align:left;border-top:1px solid var(--line);white-space:nowrap;padding:.7rem 1rem}tbody th{font-weight:650}.not-found-links{gap:.5rem;padding:0;list-style:none;display:flex}.chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:.4rem;min-height:44px;padding:.2rem .4rem .2rem .75rem;display:inline-flex}.chips button,.share-row button,.clear-all,.control-mode button{border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--ink);font:inherit;border-radius:999px;padding:.35rem .8rem}.share-row{align-items:center;gap:.8rem;display:flex}.share-panel{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0;padding:1rem}.share-panel h2{margin:0 0 .35rem;font-size:1.05rem}.share-panel-lead{color:var(--muted);margin:0 0 .75rem}.share-actions{flex-wrap:wrap;gap:.55rem;display:flex}.share-action{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .85rem;text-decoration:none;display:inline-flex}.share-action:hover,.share-action:focus-visible{border-color:var(--sea);outline:none}.share-status{min-height:1.25rem;color:var(--sea);margin:.45rem 0 0}.population-controls{grid-template-columns:1fr;align-items:end}.control-mode{flex-wrap:wrap;gap:.45rem;display:flex}.control-mode button.is-active{background:var(--sea);border-color:var(--sea);color:#fff}.selected-countries{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.clear-all{font-weight:650}.ranking-section h2{margin:0 0 .35rem}.ranking-scroll{border:1px solid var(--line);background:var(--card);-webkit-overflow-scrolling:touch;border-radius:16px;max-height:28rem;overflow:auto}.ranking-scroll table{margin:0}.ranking-scroll thead th{z-index:1;background:var(--card);box-shadow:0 1px 0 var(--line);position:sticky;top:0}.ranking-scroll caption{z-index:2;background:var(--card);position:sticky;top:0}.rank-row{cursor:pointer}.rank-row.is-selected{background:color-mix(in srgb, var(--sea) 12%, white)}.rank-row.is-focused,.rank-row:focus-visible{outline:2px solid var(--sea);outline-offset:-2px}.world-summary{border:1px solid var(--line);background:var(--card);white-space:normal;overflow-wrap:anywhere;border-radius:14px;margin:0;padding:.85rem 1rem;font-weight:650;line-height:1.5}.source-note{border:1px solid var(--line);background:var(--card);border-radius:16px;margin-top:1.5rem;padding:1rem}.source-note h2,.source-note h3{margin:.8rem 0 .3rem}.source-note a{color:var(--sea)}.tool-page h1 span{display:block}.profile-code{color:var(--muted);font-family:var(--font-body);letter-spacing:.04em;margin-top:.35rem;font-size:1rem;font-weight:600}.profile-links{flex-wrap:wrap;gap:.6rem 1rem;display:flex}.profile-links a{min-height:44px;color:var(--sea);align-items:center;display:inline-flex}.profile-facts{margin:0}.profile-facts h2{margin:0 0 .65rem;font-size:1.05rem}.profile-facts-list{gap:.65rem 1.25rem;margin:0;padding:0;display:grid}.profile-facts-list>div{gap:.15rem;display:grid}.profile-facts-list dt{color:var(--muted);margin:0;font-size:.85rem}.profile-facts-list dd{margin:0;font-weight:600}.profile-inline-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.profile-inline-list li{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.profile-code-inline{color:var(--muted);font-family:var(--font-body);letter-spacing:.03em;font-size:.85rem;font-weight:600}.profile-fact-note{color:var(--muted);margin:.35rem 0 0;font-size:.85rem;font-weight:400}.country-index{gap:.45rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.country-index a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:44px;padding:.45rem .75rem;text-decoration:none;display:flex}.country-index a span{color:var(--muted);font-family:var(--font-body);font-size:.92rem}.world-map{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:.6rem;padding:.9rem;display:grid}.world-map-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.world-map-toolbar h2{margin:0;font-size:1.2rem}.world-map-controls{flex-wrap:wrap;gap:.4rem;display:flex}.world-map-controls button{border:1px solid var(--line);background:var(--paper);min-width:44px;min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:.35rem .75rem}.world-map-frame{border:1px solid var(--line);touch-action:none;background:linear-gradient(#0f5c560f,#0000 42%),#e8f0ee;border-radius:12px;overflow:hidden}.world-map-frame svg{cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.world-map-frame svg:active{cursor:grabbing}.world-map-country{fill:#b7c7c3;stroke:#f3efe6;stroke-width:.4px;outline:none;transition:fill .12s,stroke-width .12s}.world-map-country.is-selectable{fill:#8da8a3;cursor:pointer}.world-map-country.is-muted{fill:#d5ddd9;pointer-events:none}.world-map-country.is-hovered,.world-map-country.is-focused{fill:#5f8f88;stroke-width:.8px}.world-map-country.is-selected{fill:var(--sea);stroke:var(--sea-deep);stroke-width:.9px}.world-map-country.is-selected.is-hovered,.world-map-country.is-selected.is-focused{fill:var(--sea-deep)}.world-map.is-choropleth .world-map-country.is-selectable{fill:unset}.world-map.is-choropleth .world-map-country.is-hovered,.world-map.is-choropleth .world-map-country.is-focused{fill:unset;stroke:var(--ink);stroke-width:1.1px}.world-map.is-choropleth .world-map-country.is-selected{fill:unset;stroke:#0b2f2b;stroke-width:1.55px;paint-order:stroke fill}.world-map.is-choropleth .world-map-country.is-selected.is-hovered,.world-map.is-choropleth .world-map-country.is-selected.is-focused{fill:unset;stroke:#041816;stroke-width:1.75px}.world-map.is-choropleth .world-map-legend .swatch.is-selected{background:0 0;box-shadow:inset 0 0 0 2px #0b2f2b}.world-map-legend{color:var(--muted);flex-wrap:wrap;gap:.55rem 1rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.world-map-legend .swatch{vertical-align:middle;border:1px solid var(--line);margin-right:.35rem;display:inline-block}.world-map-legend .swatch.is-selected{background:var(--sea)}.world-map-legend .swatch.is-muted{background:#d5ddd9}@media (min-width:720px){.category-grid,.kpi-grid,.tool-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(4,1fr)}.population-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.population-controls .control-mode{grid-column:1/-1}.hero{grid-template-columns:1fr auto;align-items:end}.compass{width:120px;height:120px}}@media (min-width:960px){.kpi-grid{grid-template-columns:repeat(4,1fr)}.category-grid,.tool-grid{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
