.map-page .map-hero{background:var(--hero-wash);padding-block:40px 8px;border-bottom:1px solid var(--border)}.map-page .back-link{display:inline-block;font-size:.88rem;text-decoration:none;color:var(--text-muted);margin-bottom:12px}.map-page .back-link:hover{color:var(--text)}.map-page .map-hero h1{margin:0;font-size:clamp(1.7rem,5vw,2.5rem)}.map-page .map-hero-sub{margin:12px 0 0;max-width:62ch;color:var(--text-muted);font-size:clamp(1rem,2.4vw,1.1rem)}.map-page .map-controls{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.map-page .picker{display:flex;align-items:center;gap:8px}.map-page .picker label{font-weight:600}.map-page .picker select{padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.95rem;max-width:min(70vw,380px)}.map-page .map-summary{margin:0;color:var(--text-muted);font-size:.95rem}.map-page .map-summary strong{color:var(--text)}.map-page .map-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82rem;color:var(--text-muted);width:100%}.map-page .map-legend li{display:flex;align-items:center;gap:7px}.map-page .key{width:15px;height:15px;border-radius:4px;border:1px solid var(--border)}.map-page .key-official{background:var(--map-official)}.map-page .key-spoken{background:var(--map-spoken)}.map-page .key-none{background:var(--map-land)}.map-page .key-f1{background:var(--f1)}.map-page .key-f2{background:var(--f2)}.map-page .key-f3{background:var(--f3)}.map-page .key-f4{background:var(--f4)}.map-page .key-f5{background:var(--f5)}.map-page .key-f6{background:var(--f6)}.map-page .key-f7{background:var(--f7)}.map-page .key-f8{background:var(--f8)}.map-page .key-m1{background:var(--m1)}.map-page .key-m2{background:var(--m2)}.map-page .key-m3{background:var(--m3)}.map-page .key-m4{background:var(--m4)}.map-page .key-m5{background:var(--m5)}.map-page .key-n{color:var(--text-muted);font-variant-numeric:tabular-nums;opacity:.75}.map-page{--map-land: #dcdfe4;--map-spoken: #7fcfc6;--map-official: var(--accent);--map-line: #f7f8fa;--f1: #4a7fd4;--f2: #e8873a;--f3: #3fa07a;--f4: #b8619c;--f5: #c9a227;--f6: #6f6ad0;--f7: #cf5a52;--f8: #9aa3ae;--m1: #dbeae6;--m2: #a8d5cb;--m3: #6bbcae;--m4: #2f9c8b;--m5: #0f6f62;--tip-bg: #ffffff;--p1: #d1495b;--p2: #2e86ab;--p3: #e8a33d;--p4: #6a4c93;--p5: #3f9e5a;--p6: #c85a9c;--p7: #1b7f8a;--p8: #b5651d;--p9: #7a8b3f;--p10: #4b6bbd;--p11: #8d94a3;--p12: #111827}@media(prefers-color-scheme:dark){.map-page{--map-land: #2b313b;--map-spoken: #1d6d67;--map-line: #0e1116;--f1: #5b8ee0;--f2: #e0894a;--f3: #45a882;--f4: #bd6ea6;--f5: #c4a337;--f6: #7f7ada;--f7: #d4665f;--f8: #79828e;--m1: #1b2b2c;--m2: #234b48;--m3: #2f6f66;--m4: #3f9686;--m5: #62c4b0;--tip-bg: #1b2029;--p1: #e4697a;--p2: #4fa3c7;--p3: #f0b95c;--p4: #9276c0;--p5: #5cbb78;--p6: #dd7cb4;--p7: #3aa3ae;--p8: #d1873f;--p9: #9caf58;--p10: #7089d6;--p11: #a4abb8;--p12: #f3f5f8}}.map-page .map-figure{margin:18px 0 0;padding:0;background:var(--bg)}.map-page .legend-fam,.map-page .legend-lang,.map-page .legend-mix,.map-page .legend-points{display:none}.map-page[data-mode=fam] .legend-fam,.map-page[data-mode=lang] .legend-lang,.map-page[data-mode=mix] .legend-mix{display:flex}.map-page[data-points] .map-legend{display:none}.map-page[data-points] .legend-points{display:flex}.map-page .map-stage{position:relative;max-height:86vh;touch-action:pan-y}.map-page .map-stage[data-zoomed]{touch-action:none;cursor:grab}.map-page .map-stage[data-grabbing]{cursor:grabbing}.map-page .map-figure.is-expanded{position:fixed;inset:0;z-index:60;margin:0;display:flex;flex-direction:column;background:var(--bg)}.map-page .map-figure.is-expanded .map-stage{aspect-ratio:auto;max-height:none;flex:1 1 auto;min-height:0}.map-page .map-figure.is-expanded figcaption{display:none}.map-page .map-figure.is-expanded .expanded-tools{display:flex}.map-page .expanded-tools{display:none;align-items:center;gap:10px 18px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface);max-width:none;width:100%;margin:0}.map-page .map-tip{position:absolute;z-index:2;pointer-events:none;max-width:15rem;padding:7px 10px;border-radius:9px;border:1px solid var(--border);background:var(--tip-bg);box-shadow:var(--shadow);font-size:.82rem;line-height:1.35;transform:translate(-50%,calc(-100% - 10px))}.map-page .map-tip[hidden]{display:none}.map-page .tip-name{font-weight:700}.map-page .tip-meta{color:var(--text-muted)}.map-page .map-panel{position:absolute;z-index:3;inset-inline-start:12px;inset-block-start:12px;width:min(22rem,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;overscroll-behavior:contain;padding:12px 14px 10px;border-radius:12px;border:1px solid var(--border);background:var(--tip-bg);box-shadow:var(--shadow);font-size:.87rem}.map-page .map-panel[hidden]{display:none}@media(max-width:699px){.map-page .expanded-tools{padding:8px 12px;gap:6px 12px}.map-page .expanded-tools .map-legend{font-size:.72rem;gap:4px 10px}.map-page .expanded-tools .map-summary{display:none}.map-page .map-panel{position:fixed;inset:auto 0 0;z-index:70;width:auto;max-height:55vh;border-radius:14px 14px 0 0;border-width:1px 0 0;padding-bottom:16px}}.map-page .panel-close{position:absolute;inset-inline-end:6px;inset-block-start:6px;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font-size:1.15rem;line-height:1;cursor:pointer}.map-page .panel-close:hover{background:var(--border);color:var(--text)}.map-page .panel-head{display:flex;align-items:center;gap:8px;margin:0 26px 8px 0;font-size:1rem;font-weight:700}.map-page .panel-head .c-flag{font-size:1.2rem}.map-page .map-panel .langs{padding-inline-start:0;margin:0 0 8px}.map-page .map-panel .lang{grid-template-columns:minmax(0,1fr) minmax(0,auto) 2.9rem;grid-template-areas:"name status pct" "bar bar bar";row-gap:2px;column-gap:8px;font-size:.84rem}.map-page .map-panel .l-status{grid-area:status;white-space:normal;text-align:end;font-size:.58rem;line-height:1.25;padding:2px 6px}.map-page .map-panel .l-name{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-page .map-panel .l-pct{grid-area:pct}.map-page .map-panel .l-bar{grid-area:bar}.map-page .map-panel .c-foot{padding-inline-start:0;margin:0}.map-page .panel-more{display:inline-block;margin-top:6px;color:var(--accent-strong);font-weight:600}.map-page .map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;width:100%}.map-page .points-toggle{display:flex;align-items:center;gap:7px;font-size:.9rem;cursor:pointer}.map-page .zoom-tools{display:flex;align-items:center;gap:6px;margin-inline-start:auto}.map-page .zoom-tools button{min-width:34px;height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:1rem;line-height:1;cursor:pointer}.map-page .zoom-tools button:hover{border-color:var(--accent)}.map-page .zoom-reset{font-size:.85rem}.map-page .zoom-level{min-width:2.6rem;text-align:center;font-size:.85rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.map-page .pt-key{width:11px;height:11px;border-radius:50%}.map-page .pts{fill:none;stroke-linecap:round;stroke-width:var(--dot-w, 3.4);vector-effect:non-scaling-stroke}.map-page #points{pointer-events:none}.map-page #world{display:block;width:100%;height:100%;overflow:hidden}.map-page .cn{fill:var(--map-land);stroke:var(--map-line);stroke-width:.4;transition:fill .12s ease}.map-page[data-mode=fam]:not([data-points]) .cn[data-fam="1"]{fill:var(--f1)}.map-page[data-mode=fam]:not([data-points]) .cn[data-fam="2"]{fill:var(--f2)}.map-page[data-mode=fam]:not([data-points]) .cn[data-fam="3"]{fill:var(--f3)}.map-page[data-mode=fam]:not([data-points]) .cn[data-fam="4"]{fill:var(--f4)}.map-page[data-mode=fam]:not([data-points]) .cn[data-fam="5"]{fill:var(--f5)}.map-page[data-mode=fam]:not([data-points]) .cn[data-fam="6"]{fill:var(--f6)}.map-page[data-mode=fam]:not([data-points]) .cn[data-fam="7"]{fill:var(--f7)}.map-page[data-mode=fam]:not([data-points]) .cn[data-fam="8"]{fill:var(--f8)}.map-page[data-mode=mix]:not([data-points]) .cn[data-mix="1"]{fill:var(--m1)}.map-page[data-mode=mix]:not([data-points]) .cn[data-mix="2"]{fill:var(--m2)}.map-page[data-mode=mix]:not([data-points]) .cn[data-mix="3"]{fill:var(--m3)}.map-page[data-mode=mix]:not([data-points]) .cn[data-mix="4"]{fill:var(--m4)}.map-page[data-mode=mix]:not([data-points]) .cn[data-mix="5"]{fill:var(--m5)}.map-page[data-mode=lang]:not([data-points]) .cn[data-hit=official]{fill:var(--map-official)}.map-page[data-mode=lang]:not([data-points]) .cn[data-hit=spoken]{fill:var(--map-spoken)}.map-page .cn[data-c]{cursor:pointer}.map-page .cn.is-selected{stroke:var(--text);stroke-width:1.1}@media(hover:hover){.map-page .cn[data-c]:hover{stroke:var(--text);stroke-width:1}}.map-page .map-figure figcaption{max-width:var(--wrap);margin:10px auto 0;padding:0 20px}.map-page .note{color:var(--text-muted);font-size:.84rem;line-height:1.55}.countries-section,.map-page .reach-section{margin-top:36px}.map-page .section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px}.map-page .section-head h2{margin:0;font-size:1.35rem}.map-page .country-search{padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.95rem;min-width:200px}.map-page .section-note{margin:8px 0 16px;max-width:70ch}.map-page .country{border-bottom:1px solid var(--border)}.map-page .country[hidden]{display:none}.map-page .country>summary{display:flex;align-items:center;gap:10px;padding:11px 4px;cursor:pointer;list-style:none}.map-page .country>summary::-webkit-details-marker{display:none}.map-page .country>summary:before{content:"▸";color:var(--text-muted);font-size:.7rem;width:10px}.map-page .country[open]>summary:before{content:"▾"}.country:target>summary,.map-page .country.is-selected>summary{background:var(--accent-soft);border-radius:8px}.map-page .c-flag{font-size:1.15rem;line-height:1}.map-page .c-name{font-weight:600}.map-page .c-off{margin-inline-start:auto;text-align:end;color:var(--text-muted);font-size:.84rem}.map-page .langs{list-style:none;margin:2px 0 10px;padding:0 4px 0 26px;display:grid;gap:5px}.map-page .lang{display:grid;grid-template-columns:minmax(9rem,15rem) auto 1fr 3.2rem;align-items:center;gap:10px;font-size:.9rem}.map-page .l-name{grid-column:1}.map-page .l-status{grid-column:2}.map-page .l-bar{grid-column:3}.map-page .l-pct{grid-column:4}.map-page .lang a{color:var(--accent-strong);font-weight:600}.map-page .l-script{color:var(--text-muted);font-size:.82rem}.map-page .l-status{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:2px 8px;white-space:nowrap}.map-page .l-bar{height:6px;border-radius:999px;background:linear-gradient(to right,color-mix(in srgb,var(--accent) 55%,var(--border)) var(--p),var(--border) 0)}.map-page .lang.is-ours .l-bar{background:linear-gradient(to right,var(--accent) var(--p),var(--border) 0)}.map-page .l-pct{text-align:end;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.map-page .c-foot{margin:0 0 12px;padding-inline-start:26px;font-size:.84rem;color:var(--text-muted)}.map-page .c-guide{color:var(--accent-strong);font-weight:600}.map-page .no-results{padding:18px 4px;color:var(--text-muted)}.map-page .reach-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.map-page .reach-card{display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:12px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--text);transition:border-color .14s ease,transform .14s ease}.map-page .reach-card:hover{border-color:var(--accent);transform:translateY(-2px)}.map-page .r-flag{font-size:1.5rem;line-height:1}.map-page .r-body{display:flex;flex-direction:column;min-width:0}.map-page .r-name{font-weight:600}.map-page .r-counts{font-size:.8rem;color:var(--text-muted)}@media(max-width:640px){.map-page .lang{grid-template-columns:1fr auto;grid-template-areas:"name status" "bar pct";row-gap:3px}.map-page .l-name,.map-page .l-status,.map-page .l-bar,.map-page .l-pct{grid-column:auto}.map-page .l-name{grid-area:name}.map-page .l-status{grid-area:status}.map-page .l-bar{grid-area:bar}.map-page .l-pct{grid-area:pct}.map-page .c-off{display:none}}
