:root{--g:rgba(255,255,255,.82);--gb:rgba(20,22,26,.06);--tx:#16181d;--mu:#6b7280;--ac:#e31937;--r:18px}
@media (prefers-color-scheme:dark){:root{--g:rgba(24,26,31,.82);--gb:rgba(255,255,255,.08);--tx:#f3f4f6;--mu:#9ca3af}}
body{font:14px -apple-system,"Inter","Segoe UI",system-ui,sans-serif;color:var(--tx)}
.glass{background:var(--g);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--gb);box-shadow:0 10px 40px rgba(0,0,0,.18);border-radius:var(--r)}
#rail{position:absolute;z-index:4;top:16px;left:16px;display:flex;flex-direction:column;gap:6px;padding:8px}
#rail button{width:52px;height:52px;border:0;border-radius:14px;background:transparent;color:var(--tx);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;letter-spacing:.02em;transition:background .2s,transform .15s}
#rail button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
#rail button:hover{background:var(--gb)}#rail button.on{background:var(--tx);color:var(--g)}#rail button:active{transform:scale(.94)}
#bar{left:92px!important;top:16px!important;width:340px!important;padding:20px 22px!important;max-height:calc(100vh - 48px)!important;border-radius:var(--r)!important;background:var(--g)!important;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--gb);box-shadow:0 10px 40px rgba(0,0,0,.18)!important;color:var(--tx);transition:opacity .25s ease,transform .3s cubic-bezier(.2,.8,.2,1)}
#bar.closed{opacity:0;transform:translateX(-24px);pointer-events:none}
#bar>b:first-child{font-size:18px;font-weight:600;letter-spacing:-.01em;display:block}
#bar .ptitle{font-size:20px;font-weight:600;margin:0 0 8px}
#bar details{border-top:1px solid var(--gb);margin-top:14px;padding-top:14px}#bar summary{font-size:15px;list-style:none;padding:4px 0}#bar summary::-webkit-details-marker{display:none}
#bar .sec label{font-size:14px;padding:8px 0;display:flex;align-items:center;gap:10px}
#bar input[type=checkbox]{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:13px;background:#c7cad1;position:relative;flex:none;cursor:pointer;transition:background .2s;margin:0}
#bar input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0004;transition:left .2s}
#bar input[type=checkbox]:checked{background:var(--ac)}#bar input[type=checkbox]:checked::after{left:21px}
#bar select,#bar input[type=number]{padding:9px 10px;border-radius:10px;border:1px solid var(--gb);background:rgba(127,127,127,.08);color:var(--tx);font-size:14px}
#bar button.b{padding:10px 14px;border-radius:12px;border:0;background:rgba(127,127,127,.14);color:var(--tx);font-size:13px;margin:4px 4px 0 0}
#bar input[type=range]{accent-color:var(--ac);height:28px}
.muted{color:var(--mu)!important}
#legend{right:16px!important;bottom:36px!important;border-radius:var(--r)!important;padding:14px 16px!important;background:var(--g)!important;backdrop-filter:blur(18px);color:var(--tx);box-shadow:0 10px 40px rgba(0,0,0,.18)!important;transition:opacity .25s}#legend.closed{opacity:0;pointer-events:none}
#q{border-radius:14px!important;padding:13px 16px!important;border:1px solid var(--gb)!important;background:var(--g)!important;color:var(--tx);backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(0,0,0,.15)!important;font-size:15px!important}
#qbox{top:16px!important}
#chips{position:absolute;z-index:3;top:72px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 420px);display:flex;gap:8px;overflow-x:auto;padding:4px;scrollbar-width:none}
#chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--gb);background:var(--g);backdrop-filter:blur(18px);color:var(--tx);border-radius:999px;padding:10px 16px;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.12);transition:all .2s;white-space:nowrap}
.chip small{color:var(--mu);margin-left:6px;font-weight:400}.chip.on{background:var(--ac);color:#fff;border-color:var(--ac)}.chip.on small{color:#ffe3e6}
.chip[disabled]{opacity:.45;cursor:not-allowed}.chip[disabled] small{font-style:italic}
.covtip .maplibregl-popup-content{background:rgba(20,22,26,.85);color:#fff;border-radius:10px;padding:6px 10px;font-size:12px}.covtip .maplibregl-popup-tip{display:none}

.lsw{margin:6px 0 4px}.lsh{font-size:13px;color:var(--mu);margin-bottom:10px}.info{position:relative;cursor:help;margin-left:4px}
.tipx{display:none;position:absolute;left:0;top:20px;width:240px;padding:10px 12px;border-radius:12px;background:rgba(20,22,26,.92);color:#fff;font-size:12px;line-height:1.4;z-index:9}.info:hover .tipx,.info:focus .tipx{display:block}
.lsbar{position:relative;height:12px;border-radius:6px;background:linear-gradient(90deg,#9e9e9e 0%,#9e9e9e 20%,#fcc419 32%,#fd7e14 55%,#e03131 79%,#c92a2a 100%);margin:14px 0 6px}
.lsbar input[type=range]{position:absolute;left:-2px;right:-2px;top:-8px;width:calc(100% + 4px)!important;margin:0;background:transparent;-webkit-appearance:none;appearance:none;height:28px}
.lsbar input[type=range]::-webkit-slider-runnable-track{background:transparent}.lsbar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--tx);box-shadow:0 2px 8px #0005;cursor:grab}
.lsbar input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--tx)}
.ticks{position:relative;height:16px;font-size:11px;color:var(--mu)}.ticks span{position:absolute;transform:translateX(-50%)}.ticks span:first-child{transform:none}.ticks.lbl{font-size:12px;color:var(--tx);height:18px}.ticks.lbl span{transform:translateX(-50%)!important}
.lscnt{margin-top:10px;font-size:14px}
.ticks span{white-space:nowrap}

#qp #chips{position:static;transform:none;max-width:none;flex-direction:column;gap:6px;overflow:visible;padding:6px 0}
#qp .chip{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;box-shadow:none;background:rgba(127,127,127,.1);text-align:left}
#qp .chip.on{background:var(--ac)}
#rail button{position:relative}.rbadge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;border-radius:9px;background:var(--ac);color:#fff;font-size:11px;line-height:18px;text-align:center}
#qpill{position:absolute;z-index:5;top:72px;left:50%;transform:translateX(-50%);background:var(--g);backdrop-filter:blur(18px);border:1px solid var(--gb);border-radius:999px;padding:8px 8px 8px 16px;font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.15);display:flex;gap:10px;align-items:center}
#qpill button{border:0;border-radius:999px;background:var(--ac);color:#fff;padding:6px 12px;cursor:pointer}

#qres{background:#fff!important;color:#111!important;border-radius:14px!important;margin-top:6px;overflow:hidden;max-height:60vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.2)!important}
#qres:empty{display:none}
#qres .qi{color:#111;padding:11px 16px;border-bottom:1px solid #eceef1;font-size:14px}#qres .qi b{font-weight:600}
#qres .qi .muted,#qres .muted{color:#555!important}
#qres .qi:hover,#qres .qi.act{background:#e7f0ff;box-shadow:inset 3px 0 0 #155eef}
#q{color:#111!important;background:rgba(255,255,255,.92)!important}#q::placeholder{color:#555}
@media (prefers-color-scheme:dark){
#q{color:#f5f5f5!important;background:rgba(24,26,31,.92)!important}#q::placeholder{color:#b0b4bb}
#qres{background:#1b1d22!important;color:#f5f5f5!important}#qres .qi{color:#f5f5f5;border-bottom-color:#2b2e35}
#qres .qi .muted,#qres .muted{color:#b0b4bb!important}#qres .qi:hover,#qres .qi.act{background:#2a3550;box-shadow:inset 3px 0 0 #6ea8fe}}

/* Popups/cards: always solid light, never inherit glass/dark theme */
.maplibregl-popup-content{background:#fff!important;color:#111!important;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-family:inherit}
.maplibregl-popup-content .card,.maplibregl-popup-content .kv,.maplibregl-popup-content .gis{color:#555!important}
.maplibregl-popup-content b,.maplibregl-popup-content strong{color:#111!important;font-weight:700}
.maplibregl-popup-content h3,.maplibregl-popup-content h4{color:#111!important}
.maplibregl-popup-content .muted{color:#666!important}
.maplibregl-popup-content .role{color:#1864ab!important}
.maplibregl-popup-content .crm,.maplibregl-popup-content a.btn,.maplibregl-popup-content .pbtn{color:#fff!important}
.maplibregl-popup-content .blake{color:#000!important}
.maplibregl-popup-close-button{color:#333!important;font-size:18px}
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fff!important}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#fff!important}
.locktip .maplibregl-popup-content,.covtip .maplibregl-popup-content{background:rgba(20,22,26,.92)!important;color:#fff!important}
.pbtn{background:#6b7280}.pbtn.on{background:#c2410c}
#legend b{color:var(--tx)}
#rail button,.chip,#bar,#legend,#qpill,#qres .qi{transition:all .2s ease}
#tools{position:absolute;z-index:3;top:200px;right:10px;display:flex;flex-direction:column;padding:4px;gap:2px;border-radius:12px}
#tools button{width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:var(--tx);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
#tools button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}#tools button:hover{background:var(--gb)}#tools button.on{background:var(--ac);color:#fff}
.maplibregl-ctrl-top-right .maplibregl-ctrl-group{border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.18)}
#basemaps{position:absolute;z-index:3;left:16px;bottom:28px;display:flex;gap:6px;padding:6px;border-radius:16px}
#basemaps button{border:2px solid transparent;background:transparent;border-radius:12px;padding:3px;cursor:pointer;color:var(--tx);font-size:11px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:border-color .2s}
#basemaps button.on{border-color:var(--ac)}#basemaps .th{width:52px;height:38px;border-radius:9px;display:block;background-size:cover}
.th-map{background:linear-gradient(135deg,#f2efe9 0 45%,#aad3df 45% 60%,#cfe8c4 60%)}.th-sat{background:linear-gradient(135deg,#3d5a3a,#24384e 60%,#6d6a52)}.th-hyb{background:linear-gradient(135deg,#3d5a3a,#24384e 60%,#6d6a52);box-shadow:inset 0 0 0 2px #ffd43b}
.th-topo{background:repeating-radial-gradient(circle at 30% 60%,#e9e4d0 0 4px,#c9b98f 4px 5px)}.th-dark{background:linear-gradient(135deg,#15171b 0 50%,#0e1a2b 50%)}
#measure{position:absolute;z-index:4;top:200px;right:60px;padding:12px 14px;min-width:180px;font-size:13px;line-height:1.6}#measure .mh{color:var(--mu);font-size:11px}#measure button{margin-top:6px;border:0;border-radius:8px;padding:6px 10px;background:rgba(127,127,127,.15);color:var(--tx);cursor:pointer}
#svpanel{position:absolute;z-index:7;right:16px;top:16px;bottom:16px;width:min(560px,48vw);display:flex;flex-direction:column;overflow:hidden;transform:translateX(110%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}#svpanel.on{transform:none}
#svpanel .svh{display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:13px}#svpanel .sva{color:var(--mu);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#svpanel .svo{color:var(--ac);text-decoration:none}#svpanel .svx{border:0;background:rgba(127,127,127,.15);color:var(--tx);border-radius:8px;width:30px;height:30px;cursor:pointer}
#svpanel iframe{flex:1;border:0;width:100%}
.svbtn{margin:4px 6px 6px 0;border:0;border-radius:8px;padding:6px 12px;background:#111;color:#fff!important;cursor:pointer;font-size:12px}
#toast{position:absolute;z-index:9;left:50%;bottom:90px;transform:translate(-50%,20px);background:rgba(20,22,26,.92);color:#fff;padding:10px 16px;border-radius:12px;font-size:13px;opacity:0;pointer-events:none;transition:all .2s}#toast.on{opacity:1;transform:translate(-50%,0)}
/* legend: compact dark glass, collapsible */
#legend{background:rgba(20,22,26,.86)!important;color:#f1f3f5!important;font-size:12px!important;line-height:1.55;max-width:230px!important;border:1px solid rgba(255,255,255,.08)}
#legend b{color:#fff!important;cursor:pointer}#legend>div:first-child b::after{content:" ▾";color:#aaa}#legend.mini>div:first-child b::after{content:" ▸"}#legend.mini>div:not(:first-child){display:none}
#legend .muted{color:#b5bac1!important}
.maplibregl-ctrl-attrib{font-size:10px}
.egg-m{font-size:20px;cursor:pointer;filter:drop-shadow(0 2px 3px #0008);animation:eggpop .6s cubic-bezier(.2,1.6,.4,1) both}.egg-m.big{font-size:34px}.egg-m.flag{font-size:38px;animation:eggwave 1.2s ease-in-out infinite alternate}
@keyframes eggpop{from{transform:scale(0) translateY(20px);opacity:0}to{transform:none;opacity:1}}@keyframes eggwave{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
.egg-flash{position:absolute;z-index:10;left:50%;top:40%;transform:translate(-50%,-50%);font:700 44px/1 system-ui;color:#ffd43b;text-shadow:0 4px 30px #000;letter-spacing:.04em;animation:eggfl 2.6s ease both;pointer-events:none}
@keyframes eggfl{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-60%)}}
.claimbtn{display:block;width:100%;margin:8px 0 4px;padding:11px;border:0;border-radius:12px;font:600 14px inherit;cursor:pointer;background:#e31937;color:#fff!important;transition:all .2s}
.claimbtn:hover{filter:brightness(1.08)}.claimbtn[disabled]{background:#e9ecef;color:#495057!important;cursor:not-allowed}.claimbtn.rel{background:#f1f3f5;color:#111!important}
.ownedby{margin:6px 0 0;padding:8px 10px;border-radius:10px;background:#fff4e6;color:#5c3c00!important;font-size:13px}.ownedby b{color:#5c3c00!important}.ownedby a{color:#155eef!important}.ownedby.mine{background:#ebfbee;color:#1b5e20!important}.ownedby.mine b{color:#1b5e20!important}
.more{margin:2px 0 4px;border:0!important;padding:0!important}.more summary{color:#555;font-size:12px;cursor:pointer;list-style:none;padding:4px 0}.more summary::-webkit-details-marker{display:none}
.more .mi{display:block;width:100%;text-align:left;border:0;background:#f8f9fa;color:#111!important;border-radius:8px;padding:8px 10px;margin:3px 0;font-size:13px;cursor:pointer}.more .mi[disabled]{color:#666!important;cursor:not-allowed}.more .mi i{font-size:11px;margin-left:6px}
.cmodal{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;animation:cfade .2s}
.cbox{background:#fff;color:#111;border-radius:18px;padding:22px;width:min(360px,90vw);max-height:80vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}.cbox h3{margin:0 0 6px;font-size:18px}.cbox .muted{color:#555!important;font-size:13px}
.cbox .cq{width:100%;box-sizing:border-box;margin:12px 0 8px;padding:11px 12px;border:1px solid #dee2e6;border-radius:10px;font-size:14px;color:#111;background:#fff}
.clist button{display:block;width:100%;text-align:left;padding:12px;border:0;border-radius:10px;background:#f8f9fa;color:#111;margin:4px 0;font-size:14px;cursor:pointer;transition:background .2s}.clist button:hover{background:#e7f0ff}
.cnew{display:flex;gap:6px;align-items:center}.cnew .cq{margin:8px 0}.cgo{border:0;border-radius:10px;background:#e31937;color:#fff;padding:11px 12px;white-space:nowrap;cursor:pointer}
@keyframes cfade{from{opacity:0}}
#repbox .rep{font-size:13px;margin-bottom:6px}#repbox a{color:var(--ac)}
#bar button.b[style]{color:#fff!important}#bar button#selcsv{background:#c2410c!important}#bar button#selimport{background:#1864ab!important}

.crow{display:flex;gap:6px}.crow .claimbtn{flex:1}.claimbtn.ren{background:#111;color:#fff!important}
.quota{font-size:13px;margin:4px 0 6px}
.cbox.wide{width:min(560px,94vw)}.cbox h4{margin:14px 0 4px;font-size:14px}.cfg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.cfg label{font-size:12px;color:#555;display:flex;flex-direction:column;gap:3px}.cfg input{padding:8px;border:1px solid #dee2e6;border-radius:8px;color:#111;background:#fff}.cfg .csave{grid-column:span 2}
.arow{display:flex;gap:6px;align-items:center;padding:8px 0;border-top:1px solid #f1f3f5;font-size:13px}.arow span{flex:1}.arow small{color:#666}.arow select{padding:6px;border-radius:8px;border:1px solid #dee2e6;color:#111;background:#fff}.arel{border:0;border-radius:8px;background:#f1f3f5;color:#111;padding:7px 10px;cursor:pointer}
/* basemap switcher: Google-style collapsed thumbnail, expands on hover/focus; never overlaps panels */
#basemaps{transition:left .25s ease,opacity .2s}#basemaps button:not(.on){display:none}
#basemaps:hover button,#basemaps:focus-within button{display:flex}
body:has(#bar:not(.closed)) #basemaps{left:448px}
body:has(#svpanel.on) #measure{display:none}
@media (max-width:760px){#bar{left:76px!important;width:calc(100vw - 92px)!important;box-sizing:border-box}body:has(#bar:not(.closed)) #basemaps,body:has(#bar:not(.closed)) #legend{opacity:0;pointer-events:none}#chips,#qpill{max-width:60vw}#qbox{left:calc(50% + 30px)!important;width:calc(100vw - 150px)!important}#svpanel{width:calc(100vw - 32px)}}
body:has(#bar:not(.closed)) #basemaps{left:496px}
@media (min-width:761px){body:has(#bar:not(.closed)) #qbox,body:has(#bar:not(.closed)) #qpill{left:calc(496px + (100vw - 496px - 120px)/2)!important;width:min(420px,calc(100vw - 640px))!important}}
@media (max-width:760px){body:has(#bar:not(.closed)) :is(#tools,#qbox,#qpill,.maplibregl-ctrl-top-right,.maplibregl-ctrl-bottom-right){opacity:0;pointer-events:none}}
.govbadge{margin:6px 0 0;padding:8px 10px;border-radius:10px;background:#f1f3f5;border:1px solid #adb5bd;color:#343a40!important;font-size:13px;font-weight:600}
.hrow{font-size:13px;margin:8px 0 2px;display:flex;align-items:center;gap:8px}.hrow select{flex:1}
.dual{position:relative;height:28px}.dual input{position:absolute;left:0;right:0;width:100%!important;pointer-events:none;background:transparent;-webkit-appearance:none;appearance:none;height:28px;margin:0}.dual input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--ac);box-shadow:0 1px 4px #0004;cursor:grab}.dual input::-webkit-slider-runnable-track{height:4px;background:rgba(127,127,127,.25);border-radius:2px}.dual input+input::-webkit-slider-runnable-track{background:transparent}
.hleg{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;margin:8px 0}.hleg i{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:4px;vertical-align:middle}
#qp .qpg{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mu);margin:8px 2px 0}
#qp .hsctl{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:12px;color:var(--mu);margin:2px 0}
#qp .hsctl button{border:1px solid var(--gb);background:rgba(127,127,127,.1);color:var(--tx);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}
#qp .hsctl button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.hsw ul{margin:4px 0 0 16px;padding:0;font-size:12px}
