*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1a1a1a}#app{display:flex;height:100%}#explorer-root{display:flex;flex-direction:column;height:100vh}#explorer-mount{flex:1 1 auto;min-height:0;position:relative}.explorer-stage{flex:1 1 auto;min-height:0;position:relative;display:flex}#map{flex:1 1 auto;height:100%}#resizer{width:7px;cursor:col-resize;background:#e3e3e3;flex:0 0 auto}#resizer:hover{background:#bdbdbd}#panel{width:440px;height:100%;overflow-y:auto;padding:16px 18px;background:#fafafa;flex:0 0 auto}h1{font-size:15px;margin:0 0 2px}.sub{color:#666;font-size:11px;margin-bottom:12px}.hint{color:#888;font-size:13px;margin-top:30px}.lad-name{font-size:19px;font-weight:600;margin:2px 0 0}.lad-code{color:#999;font-size:11px;margin-bottom:12px}.head{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}.head .stat{background:#fff;border:1px solid #eaeaea;border-radius:7px;padding:9px 11px}.head .stat.wide{grid-column:1 / -1}.head .k{font-size:10.5px;color:#777;text-transform:uppercase;letter-spacing:.03em}.head .v{font-size:18px;font-weight:600;cursor:pointer;border-bottom:1px dashed #bbb;display:inline-block}.head .v:hover{color:#1f77b4}.section-h{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#666;margin:16px 0 6px}.ic{display:inline-block;width:15px;height:15px;line-height:15px;text-align:center;border-radius:50%;background:#dfe3e8;color:#555;font-size:11px;cursor:pointer;font-style:normal}.ic:hover{background:#1f77b4;color:#fff}.cap{font-size:11.5px;color:#666;margin:4px 0 2px}.chart-wrap{position:relative;height:200px;margin:4px 0 8px}details{margin:6px 0;border:1px solid #ececec;border-radius:6px;background:#fff}details>summary{cursor:pointer;padding:7px 10px;font-size:12.5px;font-weight:600;color:#444;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸ ";color:#999}details[open]>summary:before{content:"▾ "}details>div{padding:2px 10px 10px;font-size:12px}.dist{font-size:12px;color:#555;margin:6px 0}table{width:100%;border-collapse:collapse;font-size:11.5px}th,td{text-align:right;padding:5px 6px;border-bottom:1px solid #eee;white-space:nowrap}th{position:sticky;top:0;background:#f0f0f0;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1}th.addr,td.addr{text-align:left;white-space:normal}td.addr{max-width:150px}tbody tr{cursor:pointer}tbody tr:hover{background:#eef5ff}.conf-HIGH{color:#1a7f37;font-weight:600}.conf-MEDIUM{color:#9a6700}.conf-LOW{color:#888}.conf-INVALID{color:#cf222e}td.hl,th.hl{background:#fff3cd!important}.legend{background:#fff;padding:8px 10px;border-radius:6px;box-shadow:0 1px 4px #0003;font-size:11px;line-height:18px}.legend i{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:middle}.legend label{display:block;cursor:pointer}.legend-div{border-top:1px solid #e6e6e6;margin:8px 0}#modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1300;align-items:center;justify-content:center}#modalCard{background:#fff;width:min(560px,92vw);max-height:88vh;overflow-y:auto;border-radius:10px;padding:18px 20px;box-shadow:0 8px 30px #0000004d}#modalCard h3{margin:0 0 8px;font-size:16px}#modalClose{float:right;cursor:pointer;color:#999;font-size:20px;line-height:1}.deriv{border:1px solid #eee;border-radius:6px;padding:8px 10px;margin:7px 0}.deriv .dk{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.03em}.deriv .dv{font-size:16px;font-weight:600}.deriv .df{font-size:12px;color:#333;margin-top:3px;font-variant-numeric:tabular-nums}.src{color:#888;font-size:11px}.ok{color:#1a7f37;font-weight:600}.modtable{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}.modtable td,.modtable th{padding:3px 6px;border-bottom:1px solid #eee;text-align:right}.modtable td:first-child,.modtable th:first-child{text-align:left}#pop{display:none;position:fixed;z-index:1100;max-width:300px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 6px 24px #00000038;padding:10px 12px;font-size:12.5px;line-height:1.45;color:#333}#pop b{color:#111}#pop .more{display:block;margin-top:7px;color:#1f77b4;cursor:pointer;font-size:12px}.authbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;padding:8px 18px;background:#1b3a2b;color:#fff}.authbar input{padding:4px 7px;border-radius:5px;border:1px solid #ccc;font-size:12px}.authbar button{padding:4px 10px;border-radius:5px;border:0;background:#4caf50;color:#fff;cursor:pointer;font-size:12px}.authbar .link{background:none;color:#d7ffe6;text-decoration:underline;padding:2px 4px}.authbar .err{color:#ffb4b4}.gate{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;padding:12px;font-size:12.5px;color:#5d4d00}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-word{font-size:18px;font-weight:700;letter-spacing:-.01em}.brand-tag{font-size:10.5px;color:#9fc4ae;font-weight:400;margin-top:1px}@keyframes lv-spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(0,0,0,.15);border-top-color:#1b3a2b;border-radius:50%;animation:lv-spin .7s linear infinite}.spinner.light{border-color:#ffffff59;border-top-color:#fff}.spinner.sm{width:13px;height:13px;border-width:2px}.loading-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 16px;color:#666;font-size:13px;text-align:center}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fafafaeb;z-index:500;color:#444;font-size:14px}@keyframes lv-shimmer{to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#eee 25%,#f6f6f6 37%,#eee 63%);background-size:200% 100%;animation:lv-shimmer 1.2s ease-in-out infinite;border-radius:4px}.skel-row{height:13px;margin:9px 0}.map-spin{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:600;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e0e0e0;border-radius:20px;padding:6px 13px;font-size:12px;color:#444;box-shadow:0 2px 8px #00000026}.lock-wrap{position:relative;margin-top:4px}.locked{filter:blur(3.5px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.85}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:16px;background:#ffffff8c}.lock-overlay .lo-card{background:#fff;border:1px solid #e3e3e3;border-radius:10px;padding:16px 18px;box-shadow:0 6px 22px #00000024;max-width:300px}.lock-overlay .lo-icon{font-size:22px}.lock-overlay .lo-head{font-weight:700;font-size:14px;margin:4px 0 5px;color:#1a1a1a}.lock-overlay .lo-sub{font-size:12px;color:#555;line-height:1.45;margin-bottom:11px}.lock-badge{display:inline-block;font-size:10px;font-weight:600;color:#9a6700;background:#fff3cd;border:1px solid #ffe082;border-radius:10px;padding:0 6px;margin-left:6px;text-transform:none;letter-spacing:0;vertical-align:middle}.btn-primary{display:inline-block;background:#4caf50;color:#fff;border:0;border-radius:7px;padding:8px 15px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;transition:background .15s}.btn-primary:hover{background:#3d9140}.btn-ghost{display:inline-block;background:transparent;color:#1b3a2b;border:1px solid #cfd8d2;border-radius:7px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2}.btn-ghost:hover{border-color:#1b3a2b}.btn-link{background:none;border:0;color:#1f77b4;text-decoration:underline;cursor:pointer;font-size:12.5px;padding:2px}.site-header{display:flex;align-items:center;gap:18px;padding:10px 20px;background:#1b3a2b;color:#fff;flex:0 0 auto;position:relative}.site-header a{color:#dfeee6;text-decoration:none}.site-nav{display:flex;gap:16px;font-size:13.5px}.site-nav a:hover{color:#fff;text-decoration:underline}.header-spacer{flex:1}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:23px;line-height:1;cursor:pointer;padding:2px 6px}.mobile-menu{display:none}.auth-controls{display:flex;align-items:center;gap:9px;font-size:12.5px}.auth-controls .who{color:#cfe8d8}.auth-controls .btn-ghost{color:#fff;border-color:#fff6;background:transparent}.auth-controls .btn-ghost:hover{border-color:#fff}.welcome-banner{display:flex;align-items:center;gap:14px;padding:9px 20px;background:#eef7f0;border-bottom:1px solid #d4e7da;font-size:13px;color:#234;flex:0 0 auto}.welcome-banner b{color:#1b3a2b}.welcome-banner .wb-spacer{flex:1}.welcome-banner .wb-close{background:none;border:0;color:#789;font-size:18px;cursor:pointer;line-height:1}.welcome-banner .step{color:#3a6b4d;font-weight:600}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.auth-card{background:#fff;width:min(380px,94vw);border-radius:12px;padding:22px 22px 20px;box-shadow:0 12px 40px #0000004d;position:relative}.auth-card h2{margin:6px 0 3px;font-size:19px}.auth-card .auth-sub{color:#666;font-size:13px;margin-bottom:15px}.auth-card .auth-close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:22px;color:#aaa;cursor:pointer;line-height:1}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form input{padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:14px}.auth-form input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026}.auth-form .auth-submit{display:flex;align-items:center;justify-content:center;gap:8px}.auth-form .auth-err{color:#c62828;font-size:12.5px}.auth-toggle{margin-top:13px;font-size:13px;color:#555;text-align:center}.auth-perk{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#3a6b4d;background:#f1f8f3;border:1px solid #dcebe1;border-radius:8px;padding:9px 11px;margin-bottom:14px}.page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.container{width:100%;max-width:880px;margin:0 auto;padding:0 22px}.hero{background:linear-gradient(160deg,#1b3a2b,#0f261c);color:#fff;padding:64px 0 56px}.hero h1{font-size:40px;line-height:1.12;margin:0 0 16px;max-width:620px}.hero p.lede{font-size:18px;line-height:1.5;color:#cfe8d8;max-width:600px;margin:0 0 26px}.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap}.hero .btn-ghost{color:#fff;border-color:#ffffff80}.prose{padding:48px 0 60px;font-size:16px;line-height:1.65;color:#2a2a2a}.prose h1{font-size:34px;margin:0 0 18px}.prose h2{font-size:23px;margin:34px 0 12px}.prose h3{font-size:18px;margin:24px 0 8px}.prose p{margin:0 0 15px}.prose ul{margin:0 0 15px;padding-left:22px}.prose li{margin:6px 0}.prose a{color:#1f6f3f}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:26px 0}.feature-card{border:1px solid #e7e7e7;border-radius:10px;padding:18px;background:#fafafa}.feature-card h3{margin:0 0 7px;font-size:16px;color:#1b3a2b}.feature-card p{margin:0;font-size:14px;color:#555;line-height:1.5}.cross-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.site-footer{margin-top:auto;background:#13251c;color:#b9d2c2;padding:30px 0;font-size:13.5px}.site-footer .container{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:flex-start}.site-footer a{color:#cfe8d8;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer .foot-col{display:flex;flex-direction:column;gap:7px}.site-footer .foot-col b{color:#fff;font-size:13px}.site-footer .foot-tag{color:#7fa78f;font-size:12px;max-width:300px;line-height:1.5}@media (max-width:640px){.site-nav,.auth-controls{display:none}.nav-toggle{display:inline-flex}.mobile-menu{display:flex;flex-direction:column;gap:2px;position:absolute;top:100%;left:0;right:0;background:#1b3a2b;padding:8px 14px 14px;z-index:1500;box-shadow:0 8px 22px #00000052}.mobile-menu a,.mobile-menu .mm-btn{display:block;width:100%;text-align:left;color:#dfeee6;text-decoration:none;background:none;border:0;font-size:15px;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer}.mobile-menu a:last-of-type{border-bottom:0}.mobile-menu .who{display:block;color:#cfe8d8;font-size:13px;padding:10px 4px 4px}.mobile-menu .mm-primary{color:#7cffb0;font-weight:600}.hero{padding:40px 0 36px}.hero h1{font-size:30px}.prose{padding:32px 0 44px}}.sheet-handle{display:none}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:768px){#resizer{display:none}#map{width:100%}#panel{position:absolute;left:0;right:0;bottom:0;width:auto!important;height:85vh;border-radius:14px 14px 0 0;box-shadow:0 -4px 24px #0000002e;z-index:1001;transform:translateY(calc(85vh - 96px));transition:transform .28s ease;padding-top:6px}#panel.sheet-open{transform:translateY(0)}.sheet-handle{display:flex;align-items:center;justify-content:center;height:26px;margin:-2px -18px 4px;cursor:grab;touch-action:none}.sheet-handle:before{content:"";width:42px;height:5px;border-radius:3px;background:#cfcfcf}table{font-size:11px}.leaflet-bottom.leaflet-right{top:8px;bottom:auto}}.lvt-ctl{max-width:230px}.lvt-ctl .lvt-toggle{font-weight:600;cursor:pointer}.lvt-rates{margin-top:7px;display:flex;flex-direction:column;gap:7px}.lvt-rate{display:flex;flex-direction:column;gap:2px;cursor:default}.lvt-rate span{display:flex;justify-content:space-between}.lvt-rate input,.lvt-inputs input{width:100%;accent-color:#1a7f37}.lvtv{color:#1a7f37}.lvt-inputs{display:flex;flex-direction:column;gap:8px;margin:4px 0 8px;font-size:12px}.lvt-inputs label{display:flex;flex-direction:column;gap:2px}.lvt-stats{border:1px solid #eaeaea;border-radius:7px;overflow:hidden}.lvt-row{display:flex;justify-content:space-between;padding:6px 10px;font-size:12.5px}.lvt-row b{font-weight:700}.lvt-row.item{padding:4px 10px 4px 18px;color:#555;font-size:12px;background:#fff}.lvt-row.item span:before{content:"↳ ";color:#bbb}.lvt-row.sub{background:#f4f6f8;border-top:1px solid #e7eaee}.lvt-row.sub b{color:#1a7f37}.lvt-row.grand{background:#eef5ff;border-top:1px solid #d8e6fb}.lvt-row.grand b{color:#1565c0}.lvt-row .pct{color:#888;font-weight:400;font-size:11px}.scale-toggle{display:inline-flex;border:1px solid #d8dce0;border-radius:6px;overflow:hidden;margin:2px 0 8px}.scale-toggle button{border:0;background:#fff;padding:4px 11px;font-size:11.5px;cursor:pointer;color:#555}.scale-toggle button+button{border-left:1px solid #d8dce0}.scale-toggle button.on{background:#1a7f37;color:#fff}
