:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#233652;background:#f7faff;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.map-viewport:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #63a5fc;outline-offset:3px}input,select,textarea{min-width:0}h1,h2,h3,p{margin-top:0}.hidden{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.skip-link{position:absolute;left:12px;top:-55px;background:#fff;z-index:99;padding:12px;border-radius:8px}.skip-link:focus{top:12px}.site-header{background:#fff;border-bottom:1px solid #e4eaf4}.nav-wrap{max-width:1240px;min-height:70px;display:flex;align-items:center;gap:34px;padding:0 28px;margin:auto}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;color:#223657;font-size:20px;font-weight:800;letter-spacing:-.7px}.brandmark{height:35px;width:35px;background:#3d8df6;color:#fff;border-radius:11px;display:grid;place-items:center;font-size:20px;font-weight:800;box-shadow:0 5px 14px #5ca5f154}.brand-ok{color:#4d9cf3}.nav-links{display:flex;gap:25px}.nav-links a{font-weight:650;color:#71839c;text-decoration:none;font-size:12px}.breadcrumbs a:hover,.nav-links a:hover{color:#307edf}.top-pill{margin-left:auto;white-space:nowrap;border:1px solid #d7e9fd;padding:8px 12px;border-radius:30px;color:#3984cf;font-size:11px;background:#f4faff;font-weight:700}.page-shell{max-width:1240px;padding:0 28px 85px;margin:auto}.breadcrumbs{display:flex;align-items:center;gap:12px;padding-top:23px;color:#8294ae;font-size:11px}.breadcrumbs a{text-decoration:none}.hero{text-align:center;padding:62px 0 55px}.eyebrow,.overline{display:block;color:#408fe5;font-size:10px;letter-spacing:2px;font-weight:850}.hero h1{font-size:clamp(36px,5vw,58px);letter-spacing:-2.6px;color:#1c3353;line-height:1.14;margin:15px 0 17px}.gradient{background:linear-gradient(100deg,#3577e1,#68b5ff);background-clip:text;-webkit-background-clip:text;color:transparent}.hero p{color:#6e819d;max-width:675px;margin:0 auto 23px;line-height:1.8;font-size:15px}.hero-points{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;color:#6683a5;font-size:12px;font-weight:690}.studio{background:#fff;border:1px solid #dfeaf8;box-shadow:0 18px 65px #1f5b9e11;border-radius:22px;overflow:hidden}.studio-head{padding:23px 29px;background:linear-gradient(105deg,#f0f7ff,#fff);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4edf8}.studio-head h2{font-size:21px;letter-spacing:-.6px;margin:5px 0}.studio-head p{font-size:12px;color:#71849f;margin:0}.head-icon{display:grid;place-items:center;width:55px;height:55px;font-size:33px;color:#428fe8;background:#deedff;border-radius:17px}.tabs{padding:9px 25px;border-bottom:1px solid #e9eff8;display:flex;gap:6px;background:#fff}.tabs button{border:0;border-radius:9px;background:0 0;padding:11px 16px;font-size:12px;font-weight:800;color:#8491a5}.tabs button[aria-selected=true]{background:#edf5ff;color:#2775db}.workspace-grid{display:grid;grid-template-columns:minmax(330px,420px) minmax(0,1fr);gap:18px;padding:19px;background:#fafdff}.input-side,.results-side{min-width:0;display:flex;flex-direction:column;gap:18px}.panel{background:#fff;border:1px solid #e0e9f5;border-radius:16px;padding:21px;min-width:0}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-top h3{font-size:18px;letter-spacing:-.5px;margin:5px 0 0}.text-button{border:0;background:0 0;color:#3483de;font-size:12px;font-weight:760;padding:7px}.text-button:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-size:12px;font-weight:760;color:#394e6d}.field input,.field select,.field textarea{border:1px solid #d9e5f5;background:#fff;border-radius:10px;padding:11px 12px;width:100%;color:#253f61;min-height:43px}.field input:hover,.field select:hover,.field textarea:hover{border-color:#a9cbee}.field textarea{resize:vertical;min-height:190px;font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.field-note{display:block;color:#7d8da4;font-size:11px;line-height:1.6;margin:0}.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 11px}.source-fields{margin-top:5px}.actions,.import-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;align-items:center}.button{border:1px solid #dce7f6;background:#fff;border-radius:10px;padding:10px 14px;min-height:42px;font-size:12px;font-weight:760;white-space:normal}.button.primary{background:#3986ef;color:#fff;border-color:#3986ef;box-shadow:0 4px 12px #2c7adc2b}.button.primary:hover:not(:disabled){background:#2676e5}.button.secondary{color:#3a6fa8;background:#f9fcff}.button.secondary:hover:not(:disabled){background:#eef6ff}.actions .primary{flex:1}.upload{display:inline-flex;align-items:center}#csv-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}#csv-file:focus-visible+.button{outline:3px solid #63a5fc}.error{border:1px solid #ffd4d6;background:#fff5f5;color:#ab3545;padding:11px 13px;border-radius:9px;font-size:12px;line-height:1.6}.status{background:#edf6ff;border:1px solid #d2e6fc;padding:10px;color:#337abd;border-radius:9px;font-size:12px}.map-panel{padding-bottom:17px}.map-zoom{display:flex;gap:4px}.map-zoom button{border:1px solid #dae6f4;background:#fff;color:#4085ce;border-radius:8px;width:30px;height:30px;font-size:19px;line-height:1}.map-viewport{position:relative;height:315px;border-radius:12px;background:#e8f2fc;overflow:hidden;cursor:grab;touch-action:none;user-select:none;border:1px solid #dae8f6}.map-viewport:active{cursor:grabbing}.map-viewport canvas,.tile-layer{position:absolute;inset:0;height:100%;width:100%}.tile-layer{pointer-events:none}.tile-layer img{position:absolute;width:256px;height:256px;user-select:none}.map-viewport canvas{pointer-events:none}.map-cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px;color:#4d89b9;opacity:.55;pointer-events:none}.map-attribution{position:absolute;right:5px;bottom:5px;background:#ffffffdb;border-radius:4px;padding:3px 5px;font-size:9px;z-index:3}.map-attribution a{color:#3b6592}.map-footer{display:flex;justify-content:space-between;gap:12px;margin:13px 0 6px;align-items:center}.toggle{display:flex;align-items:center;gap:8px;color:#3b5778;font-size:12px;font-weight:710;cursor:pointer}.toggle input{width:16px;height:16px;accent-color:#3683e7}.map-location{font-variant-numeric:tabular-nums;font-size:11px;color:#527aaa;background:#f1f7ff;border-radius:7px;padding:9px;margin:12px 0 0;overflow-wrap:anywhere}.muted{font-size:12px;line-height:1.6;color:#7e90a7}.badge{background:#eaf7f1;color:#268662;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:850}.warning{border-radius:10px;background:#fff8e8;border:1px solid #f7e2ae;color:#946a25;padding:11px;font-size:11px;line-height:1.7;margin-bottom:13px}.output-stack{display:grid;gap:10px}.output-card{border:1px solid #e4edf8;background:#fbfdff;border-radius:12px;padding:13px}.output-card strong{font-size:12px;color:#2c496b}.output-card small{display:block;font-size:10px;color:#8493a9;margin-top:4px}.output-line{display:flex;align-items:center;gap:9px;margin-top:12px}.output-line code{font:12px/1.65 ui-monospace,Consolas,monospace;color:#306fbb;overflow-wrap:anywhere;min-width:0;flex:1}.copy-button{border:1px solid #d9e6f4;border-radius:7px;background:#fff;color:#5082bd;padding:6px 8px;font-size:10px;flex:none}.export-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.export-row .button{min-height:38px}.metric-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.metric-row span{background:#eff7ff;padding:9px 13px;border-radius:10px;color:#3b72ab;font-weight:760;font-size:11px}.table-scroll{overflow:auto;max-height:490px}.table-scroll table{border-collapse:collapse;min-width:460px;width:100%;font-size:11px;text-align:left}.table-scroll td,.table-scroll th{border-bottom:1px solid #edf1f7;padding:10px 8px;max-width:160px;overflow-wrap:anywhere}.table-scroll th{color:#7186a1;background:#f8fbff;position:sticky;top:0}.table-scroll td{color:#375273}.table-scroll tbody tr[data-ok]{cursor:pointer}.table-scroll tbody tr[data-ok]:hover{background:#f0f7ff}.table-scroll tbody tr[aria-selected=true]{background:#e5f3ff}.pagination{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#7185a0}.pagination>div{display:flex;gap:7px}.mini{min-height:32px;padding:6px 10px}.learn{padding-top:73px}.center{text-align:center}.center h2{font-size:29px;letter-spacing:-1px;margin:9px 0}.center p{color:#71859f;font-size:13px;max-width:740px;margin:0 auto;line-height:1.8}.learn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:29px}.learn article{background:#fff;border:1px solid #e1ecf9;border-radius:16px;padding:24px}.feature-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#ecf6ff;color:#438deb;font-size:23px;font-weight:800}.learn article h3{font-size:17px;margin:17px 0 8px}.learn article p{color:#72869e;font-size:12px;line-height:1.8;margin:0}.faq{max-width:870px;margin:73px auto 10px}.faq h2{text-align:center;font-size:27px;letter-spacing:-1px;margin-bottom:24px}.faq details{border-bottom:1px solid #deebf6;padding:15px 2px}.faq summary{font-size:13px;font-weight:760;cursor:pointer}.faq details p{margin:12px 0 0;color:#7587a0;font-size:12px;line-height:1.8}.site-footer{background:#fff;border-top:1px solid #e4edf8}.footer-inner{max-width:1240px;padding:20px 28px;display:flex;align-items:center;gap:22px;margin:auto;color:#8092a9;font-size:12px}.footer-inner .brand{font-size:15px}.footer-inner .brandmark{width:27px;height:27px;font-size:15px;border-radius:8px}.footer-inner>a:last-child{margin-left:auto;text-decoration:none}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);border-radius:11px;color:#fff;background:#1d3b5e;z-index:70;padding:12px 16px;box-shadow:0 12px 30px #18345638;font-size:12px;text-align:center;max-width:min(460px,calc(100vw - 30px))}@media(max-width:980px){.workspace-grid{grid-template-columns:350px minmax(0,1fr)}.two-fields{grid-template-columns:1fr}}@media(max-width:790px){.workspace-grid{grid-template-columns:1fr}.two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-grid{grid-template-columns:1fr}.map-viewport{height:340px}}@media(max-width:600px){.nav-wrap{padding:0 16px;min-height:61px;gap:12px}.nav-links{margin-left:auto}.nav-links a:first-child,.top-pill{display:none}.brand{font-size:17px}.page-shell{padding:0 15px 65px}.hero{padding:40px 3px 36px}.hero h1{letter-spacing:-1.4px}.hero p{font-size:13px}.studio-head{padding:19px}.studio-head h2{font-size:18px}.head-icon{display:none}.tabs{padding:8px 12px}.workspace-grid{padding:12px;gap:12px}.panel{padding:15px}.two-fields{grid-template-columns:1fr}.map-viewport{height:270px}.learn{padding-top:55px}.learn article{padding:18px}.center h2{font-size:24px}.faq{margin:55px auto 8px}.faq h2{font-size:24px}.footer-inner{padding:18px 15px;flex-wrap:wrap}.footer-inner>a:last-child{margin-left:0}}@media(max-width:370px){.hero-points{gap:9px;font-size:10px}.panel-top h3{font-size:16px}.export-row .button{flex:1}.map-footer{flex-wrap:wrap}.pagination{flex-wrap:wrap}.actions .button{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(prefers-contrast:more){.field-note,.hero p,.muted{color:#3a4e6c}.panel,.studio{border-color:#829bb9}}