:root{color-scheme:light;--ink:#1b334c;--muted:#73899e;--blue:#327ed4;--border:#e2eaf3;--background:#f5f8fc;--shadow:0 14px 40px rgba(28,73,110,.045)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--background)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.map-region:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #68adfa;outline-offset:2px}a{color:inherit;text-decoration:none}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.topbar{height:68px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3.2vw,54px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:750;letter-spacing:-.6px}.mark{width:31px;height:31px;background:#69b8ee;color:#fff;border-radius:10px;display:grid;place-items:center;font-weight:900}.brand-divider{height:20px;border-left:1px solid #cddde9;margin:0 4px}.brand-sub{font-size:14px;color:#6b8093;letter-spacing:-.2px;font-weight:600}.top-right{display:flex;gap:14px;align-items:center}.local-pill{border:1px solid #cdebdc;border-radius:30px;background:#f3fcf7;color:#318866;font-weight:600;padding:6px 11px;font-size:11px}.version{font-size:11px;font-weight:700;color:#9badbd}.app{max-width:1920px;margin:auto;padding:0 clamp(14px,2.6vw,45px)}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0 24px}.hero h1{font-weight:780;letter-spacing:-1.15px;font-size:clamp(25px,2.15vw,34px);line-height:1.25;margin:5px 0}.hero p{color:#7a899a;margin:0;font-size:13px}.eyebrow{font-size:10px;color:#659cd2;font-weight:800;letter-spacing:1.1px}.dot{color:#acc6db;padding:0 6px}.exports,.hero-actions,.inspector-actions,.map-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:#fff;color:#344c65;padding:10px 13px;border-radius:10px;font-weight:680;font-size:12px;transition:background .18s,transform .12s;white-space:nowrap}.btn:not(:disabled):hover{background:#f1f7fd}.btn:active{transform:translateY(1px)}.btn.primary{background:#3c89d8;border-color:#3c89d8;color:#fff;box-shadow:0 4px 12px #3d8dd62c}.btn.primary:hover{background:#2775c3}.btn.tiny{padding:6px 10px;font-size:11px}.btn.full{width:100%}.workspace{display:grid;grid-template-columns:minmax(247px,280px) minmax(0,1fr) minmax(238px,266px);gap:17px;align-items:start}.rightbar,.sidebar{display:flex;flex-direction:column;gap:14px}.insights,.map-panel,.panel,.table-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:15px}.panel{padding:18px}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}.map-panel h2,.panel h2,.table-panel h2{font-size:13px;letter-spacing:-.1px;font-weight:800;margin:0}.section-num{font-size:10px;font-weight:850;background:#eff7ff;color:#5e9ad4;border:1px solid #e1f0ff;border-radius:7px;width:24px;height:24px;display:grid;place-items:center}.small-chip{margin-left:auto;color:#70a58e;background:#f2faf5;font-size:9px;border-radius:4px;padding:2px 5px;font-weight:800}.help{font-size:11px;color:#8b9aad;line-height:1.7;margin:-2px 0 13px}.upload-area{border:1.4px dashed #cdddeb;border-radius:12px;display:flex;flex-direction:column;gap:2px;padding:11px 12px;margin-bottom:9px;cursor:pointer;background:#fbfdff}.upload-area.dragover,.upload-area:hover{border-color:#65adf1;background:#f0f8ff}.upload-area strong{font-size:12px;color:#426080}.upload-area span{font-size:10px;color:#90a3b5}.upload-area small{font-size:10px;font-weight:700;color:#64a4d9}.field{display:flex;flex-direction:column;gap:6px;margin-top:13px}.check,.field label{font-size:11px;font-weight:750;color:#55708d}.field small{color:#9aaabd;font-size:10px}.field input:not([type=range]),.field select,.field textarea,.map-tools input{width:100%;border:1px solid #dfe8f0;background:#fff;border-radius:9px;padding:10px 11px;color:#36516c;min-width:0;outline-offset:1px;font-size:12px}.field input:not([type=range]):focus,.field select:focus,.field textarea:focus{border-color:#76b6ef}.field input[type=range]{accent-color:#388ad6;width:100%}.field output{float:right;color:#3384d6}.field.two{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px}.field.two>div{display:flex;flex-direction:column;gap:6px}.check{display:flex;align-items:center;gap:8px;margin-top:12px}.check input{accent-color:#368edc}.match-chip{display:flex;align-items:center;background:#f1f9f4;border:1px solid #e2f2e8;border-radius:10px;padding:9px;margin-top:14px;gap:7px;font-size:11px}.match-chip.warning{background:#fff8ee;border-color:#fae4bc}.match-dot{width:7px;height:7px;border-radius:50%;background:#48aa78;flex:0 0 auto}.match-chip.warning .match-dot{background:#e59e39}.match-chip strong{flex:1;font-size:10px}.text-btn{color:#3a92d0;background:0 0;border:0;padding:2px;font-size:10px;font-weight:750}.center{min-width:0}.map-panel{overflow:hidden}.map-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid #ebf0f5}.map-meta{color:#8b9cac;font-size:11px}.map-tools{justify-content:flex-end}.map-tools input{width:155px;padding:8px 10px}.icon-btn{border:1px solid #dfe7ee;border-radius:8px;width:30px;height:30px;background:#fff;font-size:18px;line-height:1;font-weight:700;color:#698197}.icon-btn:hover{background:#ecf5ff}.map-surface{position:relative;background:#f7fbff;margin:13px 13px 0;overflow:hidden;border-radius:12px;border:1px solid #edf4fa}.map-heading{position:absolute;z-index:1;top:16px;left:18px;pointer-events:none;display:flex;flex-direction:column;gap:3px;max-width:70%}.map-heading strong{font-size:17px;line-height:1.2;letter-spacing:-.5px}.map-heading span{color:#7b91a4;font-size:10px}.map-surface svg{display:block;width:100%;height:auto;aspect-ratio:1040/550;touch-action:none;cursor:grab}.map-surface svg.panning{cursor:grabbing}.map-region{cursor:pointer;stroke-linejoin:round;transition:opacity .15s,stroke-width .12s}.map-region.selected,.map-region:hover{stroke:#1a436f!important;stroke-width:2!important;opacity:1!important}.map-region.dimmed{opacity:.11}.map-overlay-hint{position:absolute;bottom:12px;left:15px;pointer-events:none;color:#6e8dad;font-size:10px;background:#ffffffd7;border-radius:8px;padding:5px 9px}.tooltip{position:absolute;z-index:3;padding:9px 13px;background:#233c58;color:#fff;border-radius:9px;font-size:11px;pointer-events:none;box-shadow:0 10px 25px #24426333;max-width:220px}.tooltip strong{display:block;color:#fff}.tooltip span{color:#c6d8ee}.legend-wrap{padding:14px 18px 17px}.legend-header{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px}.legend-header span{font-size:10px;color:#9ba9b7}.legend{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.legend-item{border:1px solid #e2e9f1;background:#fff;padding:5px 7px;display:flex;align-items:center;gap:5px;min-height:29px;border-radius:7px;font-size:10px;font-weight:680;color:#576e82}.legend-item[aria-pressed=true]{border-color:#438fd5;box-shadow:0 0 0 1px #438fd5}.legend-item i{height:12px;width:18px;display:block;border-radius:3px}.missing-label{display:block;color:#9ca8b2;font-size:10px;margin-top:8px}.export-row{display:flex;justify-content:space-between;align-items:center;gap:9px;border-top:1px solid #eaf0f6;padding:15px 17px;flex-wrap:wrap}.export-label{display:flex;flex-direction:column;gap:1px}.export-label strong{font-size:12px}.export-label span{font-size:10px;color:#97a6b3}.insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:14px 0;overflow:hidden;background:#e9f0f7}.stat{background:#fff;padding:15px 17px;min-width:0}.stat span{display:block;font-size:10px;color:#91a3b4;margin-bottom:4px}.stat strong{display:block;font-size:17px;letter-spacing:-.6px;overflow-wrap:anywhere}.table-panel{overflow:hidden}.table-top{display:flex;align-items:center;justify-content:space-between;padding:16px 17px;gap:10px}.table-top p{margin:2px 0 0;color:#9aa9b9;font-size:11px}.table-scroll{max-height:380px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}th{position:sticky;top:0;background:#f7fafc;color:#70859c;font-size:10px;letter-spacing:.2px}td,th{padding:10px 17px;border-top:1px solid #edf1f6}tbody tr{cursor:pointer}tbody tr:hover{background:#f4f9ff}tbody tr.active{background:#e9f4ff}td strong{font-weight:700}.pill{display:inline-block;border-radius:30px;background:#e9f7ee;color:#2d9364;padding:2px 7px;font-size:10px}.pill.missing{background:#f2f4f8;color:#8d9ba9}.table-foot{padding:10px 17px;display:flex;justify-content:space-between;align-items:center;color:#98a6b3;font-size:10px;border-top:1px solid #eff2f7}.table-foot>div{display:flex;gap:6px}.inspector{min-height:270px}.empty-inspector{text-align:center;padding:25px 5px;color:#8098ab}.empty-inspector strong{font-size:12px;color:#52708c}.empty-inspector p{font-size:11px;line-height:1.75}.empty-icon{display:grid;place-items:center;margin:auto auto 10px;width:45px;height:45px;font-size:28px;color:#8ab2db;background:#f2f8ff;border-radius:12px}.micro{font-size:9px;letter-spacing:1px;color:#93b1cb;font-weight:800}#selectedName{font-size:19px;margin:5px 0 0}#selectedId{margin:0;color:#93a5b5;font-size:11px}.selected-value{display:flex;justify-content:space-between;align-items:center;border-radius:10px;background:#f1f8ff;padding:14px;margin-top:14px}.selected-value span{color:#708cac;font-size:11px}.selected-value strong{color:#317dce;font-size:20px}.inspector-actions{margin-top:12px}.diagnostics{display:flex;flex-direction:column;gap:9px;margin-bottom:12px}.diag-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#617a90}.diag-row strong{font-size:11px}.diag-row strong.warn{color:#d48e35}.guidance{background:#f8fbff}.guidance h2{font-size:12px}.guidance p{font-size:11px;color:#6e859c;line-height:1.75;margin:11px 0}.guidance .geo-note{font-size:10px;color:#92a5b5}.footer{color:#9bacbd;font-size:10px;display:flex;justify-content:space-between;gap:12px;padding:19px 0}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:50;color:#fff;background:#1e425f;padding:12px 17px;border-radius:11px;box-shadow:0 18px 35px #1534492b;max-width:min(92vw,550px);font-size:12px}.toast.error{background:#913e46}.toast button{color:#fff;text-decoration:underline;background:0 0;border:0;padding-left:9px}.error-note{color:#aa5151;font-size:11px}@media(max-width:1330px){.workspace{grid-template-columns:245px minmax(0,1fr)}.rightbar{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr}.inspector{min-height:0}.map-heading strong{font-size:15px}}@media(max-width:900px){.hero{flex-direction:column;align-items:flex-start}.workspace{grid-template-columns:1fr}.rightbar,.sidebar{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.center{grid-row:1}.rightbar{grid-template-columns:repeat(2,minmax(0,1fr))}.guidance{grid-column:1/-1}}@media(max-width:610px){.topbar{height:59px;padding:0 14px}.brand{font-size:15px}.brand-sub{font-size:12px}.local-pill{font-size:0;padding:7px}.local-pill::after{content:'Local';font-size:10px}.hero{padding:18px 0}.hero p{font-size:12px}.hero-actions{width:100%;gap:5px}.hero-actions .btn{flex:1;padding:9px 5px;font-size:10px}.rightbar,.sidebar{grid-template-columns:1fr}.map-panel-head{flex-direction:column;align-items:stretch}.map-tools{justify-content:flex-start}.map-tools input{flex:1}.map-surface{margin:9px 9px 0}.map-surface svg{height:280px;aspect-ratio:auto}.map-heading{top:10px;left:10px;max-width:65%}.map-heading strong{font-size:12px}.map-heading span{font-size:9px}.map-overlay-hint{font-size:8px;left:6px;bottom:6px}.legend-header{align-items:flex-start;flex-direction:column}.insights{grid-template-columns:repeat(2,minmax(0,1fr))}.export-row{align-items:stretch}.exports{width:100%}.exports .btn{flex:1;padding:9px 7px;font-size:10px}.table-top{align-items:flex-start;flex-direction:column}td,th{padding:10px 9px;font-size:10px}.footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,::after,::before{transition:none!important;scroll-behavior:auto!important}}.review-box{max-height:200px;overflow:auto;margin:8px 0;padding:10px;background:#f5f9ff;color:#5c7189;border-radius:9px;font-size:10px;overflow-wrap:anywhere}.review-box p{margin:4px 0 8px}.review-box strong{color:#345779}.map-heading{background:rgba(255,255,255,.82);backdrop-filter:blur(6px);padding:7px 10px;border:1px solid rgba(226,237,248,.7);border-radius:9px;max-width:min(72%,390px)}#selectedName,.legend-item span,.map-heading strong{overflow-wrap:anywhere}.distribution-note{font-size:10px;color:#647e97;margin-top:9px;line-height:1.6}#customBinsRow .btn{align-self:flex-start}#thresholdError{line-height:1.55}.hero-actions .btn:disabled{opacity:.48;cursor:not-allowed}.legend-item .bin-count{background:#f0f6fc;border-radius:10px;padding:1px 5px;font-size:9px;color:#6b829a}.legend-item[aria-pressed=true] .bin-count{background:#daeafa}.map-region:focus-visible{stroke:#153a70!important;stroke-width:3!important;outline:0}@media(max-width:610px){.hero-actions{flex-wrap:wrap}.hero-actions .btn{flex:1 1 28%}}.repair-box{background:#f3f9ff;border:1px solid #dbeaf7;border-radius:10px;padding:11px;margin:12px 0}.repair-box>strong{font-size:11px;color:#295c85}.repair-box p{font-size:10px;color:#6a8094;line-height:1.6;margin:6px 0}.repair-box .field{margin-top:8px}.repair-box .btn{margin-top:10px}