/* Map-first workspace: translucent surfaces with readable solid fallbacks. */
:root{--muted:#bac8d9;--line:#ffffff20;--glass-dark:rgba(13,25,43,.86);--glass-light:rgba(250,253,255,.87);--panel-width:344px;background:#173249}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.help-details{margin:14px 0;color:#c1d1e4;font-size:14px}.help-details summary{cursor:pointer;padding:8px 0}.help-details p{margin:5px 0 12px}.map-stage:not(:has(#detail:not([hidden]))) .map-bottom{display:none}.session-active .map-stage .map-bottom{display:flex}
body{background:#173249}.workspace{display:block;position:relative;height:100dvh;min-height:560px}.map-stage{position:absolute;inset:0;height:100%;width:100%}
.topbar{position:absolute;z-index:800;top:16px;left:16px;right:16px;height:64px;padding:0 18px;border:1px solid #ffffff35;border-radius:20px;background:var(--glass-dark);box-shadow:0 8px 32px #08172920;gap:18px}
.brand{font-size:21px;gap:10px}.brand-symbol{width:34px;height:34px;border-radius:11px;font-size:25px;background:linear-gradient(145deg,#7ba9ff,#3564df);box-shadow:inset 0 1px #ffffff66}.brand-symbol span{font-size:17px}.brand small{display:none}
.mode-nav{background:#ffffff08;border:1px solid #ffffff0c;border-radius:12px;padding:3px}.mode-nav button{min-height:40px;font-size:14px;padding:8px 17px;border-radius:9px}.mode-nav button.active{background:#ffffff1f;box-shadow:inset 0 1px #ffffff24,0 2px 8px #0001}.mode-nav span{background:#ffffff15}.mode-nav span:empty{display:none}
.sidebar-toggle{background:#ffffff0d;border:1px solid #ffffff26;border-radius:10px;min-height:40px;padding:9px 12px;font-size:14px;color:#e2ebf8;white-space:nowrap}
.sidebar{position:absolute;z-index:610;top:96px;bottom:16px;left:16px;width:var(--panel-width);padding:20px;background:var(--glass-dark);border:1px solid #ffffff30;border-radius:22px;box-shadow:0 12px 44px #071b3629;min-height:0;scrollbar-gutter:stable;transition:opacity .2s,transform .2s}
.sidebar-collapsed .sidebar{visibility:hidden;opacity:0;transform:translateX(-24px);pointer-events:none}.sidebar-collapsed{--panel-offset:16px}
.region-tabs{padding:3px;border:1px solid #ffffff13;background:#ffffff08;border-radius:11px}.region-tabs button{min-height:40px}.region-tabs button.active{background:#eaf2ffef;box-shadow:0 2px 8px #0001}
.filter-heading{margin:22px 0 4px}.filter-heading h2{font-size:16px}.selection-actions{gap:16px;margin:0 0 8px}.selection-actions>span{font-size:14px}.selection-actions button{font-size:14px;color:#c4d5ed;min-height:32px}
.categories{gap:6px}.category{border:1px solid #ffffff12;border-radius:10px;background:#ffffff03;padding:9px 8px;min-height:44px;font-size:14px}.category.active{background:#ffffff0d;border-color:#ffffff2b;border-left:1px solid #ffffff2b}.category i{width:14px;height:14px;border-radius:5px}.category:not(.active) i{border-color:var(--cat);opacity:.7}.category small{color:#b5c5d8}.category:hover{background:#ffffff19;border-color:#ffffff40}
.selection-button{background:#ffffff07;border-color:#ffffff24;border-radius:11px;padding:11px;margin-top:12px}.selection-button span{background:#ffffff13}.check-row{font-size:14px;margin:11px 0;color:#b9c9dd}.check-row input{width:16px;height:16px}.sidebar-footer{border-top:1px solid #ffffff13;margin-top:22px;padding-top:14px;font-size:12px;gap:3px}.sidebar-footer .text-button{font-size:13px;color:#c5d4e7}
.primary{background:#5c87f3;border:1px solid #8dabff70;border-radius:11px;box-shadow:inset 0 1px #ffffff17;min-height:46px}.primary:hover:not(:disabled){background:#739cff}.secondary{background:#ffffff13;border:1px solid #ffffff18;border-radius:10px}
input[type=search],input:not([type]),select{background:#06152745;border-color:#ffffff29;border-radius:11px}select option{background:#182b43;color:#f1f5fa}input::placeholder{color:#a9bcd3}.search-label{font-size:14px;margin:19px 0 8px}.list-meta{font-size:13px;margin:13px 0 9px}.place-row{padding:9px 4px;border-radius:10px}.place-row:hover,.place-row.active{background:#ffffff0e}.place-row .row-number{background:#ffffff09;color:#d2e2fb;border-radius:6px;min-width:38px}.place-row.active{box-shadow:inset 0 0 0 1px #ffffff1b}
#setupPanel{border-top:1px solid #ffffff1c;margin-top:17px;padding-top:19px}#setupPanel>h2{font-size:23px}.mode-description{background:transparent;border:0;padding:0;color:#c0cee0;font-size:14px}.adaptive-switch{background:#ffffff09;border-color:#ffffff29;padding:12px;border-radius:12px}.adaptive-switch:has(input:checked){background:#9b96ff1a;border-color:#a9a5ff60}.setup-grid label{font-size:14px!important}.adaptive-stats>div,.result-stats div,.statistics-summary>div{background:#ffffff09;border:1px solid #ffffff0c;border-radius:11px}.adaptive-stats p{font-size:13px}.question-heading h2{font-size:24px}#answerForm input{background:#06152760;border-color:#94b7fa80}.question-nav button{border-color:#ffffff33}.question-nav button.filled{background:#588cf550}
.map-tools{top:100px;left:calc(var(--panel-width) + 36px);right:20px;align-items:flex-start}.map-caption{padding:10px 13px;background:var(--glass-light);border:1px solid #ffffff7a;border-radius:14px;gap:2px;color:#1d374b!important;text-shadow:none!important;letter-spacing:.15px;font-size:12px;box-shadow:0 3px 16px #102b4510}.map-caption>span:first-child{font-size:17px!important;letter-spacing:.25px}.map-caption #mapContext{font-size:12px;color:#435e71}.map-buttons button{background:var(--glass-light);border:1px solid #ffffff80;border-radius:12px;min-height:42px;padding:10px 13px;font-size:14px;color:#1d374b}.map-buttons button:hover{background:#fff}
.sidebar-collapsed .map-tools{left:20px}.map-options{top:159px;left:auto;right:20px;min-width:0;max-width:min(490px,calc(100% - var(--panel-width) - 56px));border:1px solid #ffffff85;border-radius:14px;background:var(--glass-light);box-shadow:0 8px 28px #102f4520;color:#203b51}.map-options>summary{display:flex;align-items:center;gap:8px;padding:11px 14px;list-style:none;min-height:44px;font-size:14px}.map-options>summary::-webkit-details-marker{display:none}.map-options>summary>span{margin:0;font-size:13px;color:#4a6479}.map-options>summary .map-menu-icon{font-size:24px;line-height:16px;color:#284a68}.map-options[open]{width:490px;z-index:700}.map-options[open]>summary{border-bottom:1px solid #35546b19}.map-settings{border:0;padding:16px;max-height:calc(100dvh - 238px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.map-picker-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.map-picker-heading h2{font-size:18px;color:#1b364b;letter-spacing:-.3px}.map-picker-heading button{display:grid;place-items:center;width:36px;height:36px;border:0;background:#2447620b;border-radius:10px;color:#39566e;font-size:23px}.map-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.map-card{min-width:0;text-align:left;padding:4px 4px 8px;border:2px solid transparent;border-radius:12px;background:#ffffff36;color:#21394b;overflow:hidden;position:relative}.map-card img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:7px;background:#b7ccd9}.map-card strong{display:block;font-size:14px;font-weight:600;margin:7px 4px 0}.map-card small{display:block;font-size:12px;margin:3px 4px 0;color:#4d6476}.map-card[aria-pressed=true]{border-color:#3f75e0;background:#fff9;box-shadow:0 0 0 2px #6199ed16}.map-card[aria-pressed=true]::after{content:'✓';position:absolute;top:9px;right:9px;display:grid;place-items:center;background:#2563d8;color:#fff;border:2px solid #fff;width:22px;height:22px;border-radius:50%;font-size:12px}.map-card:hover{background:#fff9}.map-description{font-size:13px;line-height:1.5;color:#3f5b70;min-height:39px;margin:13px 0 8px}.favorite-button{background:#ffffff50;border:1px solid #31527425;border-radius:10px;padding:10px 12px;font-size:14px;min-height:42px;margin:0 0 12px;color:#255390}.favorite-button[aria-pressed=true]{background:#3974da10;border-color:#3974da35;color:#224e93}.layer-toggles{border-top:1px solid #31527420;display:grid;grid-template-columns:repeat(3,1fr);padding:12px 0 0;gap:10px}.map-options .layer-toggles label{font-size:14px;min-height:34px;gap:8px}.map-options .layer-toggles input{accent-color:#3e71d7}
.color-legend{position:static;max-width:none;background:none;border:0;border-top:1px solid #31527420;border-radius:0;box-shadow:none;margin-top:10px}.color-legend summary{padding:13px 0 5px;font-size:13px;min-height:40px;font-weight:500}.color-legend>div{padding:10px 0 0;gap:10px}.color-legend span{font-size:13px}.color-legend i{width:9px;height:9px}
.detail{left:auto;right:20px;bottom:58px;background:var(--glass-light);border:1px solid #ffffff8c;border-top:3px solid var(--unit-color);border-radius:19px;padding:20px;width:min(345px,calc(100% - var(--panel-width) - 58px));max-height:calc(100% - 260px);overflow:auto;box-shadow:0 16px 40px #09244025}.detail .secondary{background:#3b71dc12;border-color:#3b71dc24}.detail p{font-size:15px}.detail small{color:#496277}.detail .close-detail{min-width:36px;min-height:36px;top:7px;right:8px;border-radius:10px}.detail .close-detail:hover{background:#2854730d}.map-bottom{left:calc(var(--panel-width) + 36px);right:22px;bottom:26px}.map-bottom>span:first-child{font-size:12px;padding:6px 10px;border-radius:8px;background:var(--glass-light);color:#39546b;max-width:calc(100% - 48px)}.map-bottom .north{display:none}.sidebar-collapsed .map-bottom{left:20px}.sidebar-collapsed .detail{width:345px}.sidebar-collapsed .map-options{max-width:calc(100% - 40px)}
.leaflet-control-zoom{margin-right:20px!important;margin-bottom:112px!important;border:1px solid #ffffff75!important;border-radius:13px!important;box-shadow:0 4px 16px #12294420!important}.leaflet-control-zoom a{background:var(--glass-light)!important;width:40px!important;height:40px!important;line-height:40px!important;border-color:#35546b25!important}.leaflet-control-attribution{max-width:calc(100% - 390px);font-size:11px!important;background:#f4faffd9!important;border-radius:7px 0 0 0;padding:3px 7px!important}.sidebar-collapsed .leaflet-control-attribution{max-width:100%}.leaflet-tooltip.name-label{background:#fbfdfff2;border:0;padding:3px 7px;box-shadow:0 1px 4px #142f481a;color:#263e51}.pin{border-width:1.5px;background:#fcfdfff5;box-shadow:0 2px 7px #0d26344a;border-radius:9px}.pin.question{box-shadow:0 0 0 4px #fff4,0 4px 14px #091e5360}
.map-stage[data-style=night] .leaflet-tooltip.name-label{background:#142a40eb;color:#d7e6f5}.map-stage[data-style=night] .pin:not(.question){background:#eef4ffec}.satellite-notice{left:auto;right:70px;bottom:58px;background:var(--glass-light);border-color:#ffffff75;border-radius:12px;max-width:min(370px,calc(100% - var(--panel-width) - 110px))}.map-notice{background:var(--glass-light);border:1px solid #fff8;border-radius:18px}
dialog{background:var(--glass-dark);border:1px solid #ffffff45;border-radius:23px;box-shadow:0 24px 100px #07152766}dialog::backdrop{background:#04142966;backdrop-filter:blur(7px)}.choose-row{border-color:#ffffff17}.choose-row:hover{background:#ffffff0c}.hint{background:#ffffff0b;border-radius:0 10px 10px 0}.statistics-row{border-color:#ffffff20}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--glass-dark:rgba(12,25,43,.76);--glass-light:rgba(247,252,255,.78)}.topbar,.sidebar,.map-options,.map-caption,.map-buttons button,.detail,.map-bottom>span:first-child,.leaflet-control-zoom,.satellite-notice,.map-notice,dialog{-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%)}}
@media(min-width:1600px){:root{--panel-width:360px}.sidebar{padding:24px}}
@media(max-width:1050px) and (min-width:701px){:root{--panel-width:316px}.sidebar{padding:17px}.topbar{gap:12px}.mode-nav button{padding:8px 12px}.sidebar-toggle{font-size:13px;padding:8px}.map-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.map-options[open]{width:360px}.detail{width:300px;max-width:calc(100% - var(--panel-width) - 60px)}.map-tools{gap:8px}.map-buttons{max-width:52%;flex-wrap:wrap;justify-content:flex-end}.leaflet-control-attribution{max-width:calc(100% - 350px)}}
@media(max-width:700px){body{background:#122c42}.topbar{position:relative;inset:auto;margin:10px 10px 0;height:auto;min-height:97px;padding:10px;gap:8px;border-radius:18px;flex-wrap:wrap}.brand{font-size:19px}.brand-symbol{width:28px;height:28px;font-size:22px}.brand-symbol span{font-size:15px}.sidebar-toggle{margin-left:auto;font-size:13px;min-height:34px;padding:6px 9px}.mode-nav{width:100%;order:3;gap:2px;padding:2px}.mode-nav button{font-size:14px;min-height:38px;padding:7px 5px}.workspace{display:flex;flex-direction:column;height:auto;min-height:0;padding:0}.map-stage{position:relative;inset:auto;order:0;height:53svh;min-height:330px;margin-top:0;border-radius:0}.sidebar{position:relative;inset:auto;order:1;width:calc(100% - 20px);margin:0 10px 12px;max-height:none;min-height:0;padding:20px;border-radius:20px;overflow:visible;scrollbar-gutter:auto;transform:none!important}.sidebar-collapsed .sidebar{display:none}.sidebar-collapsed .map-stage{height:calc(100svh - 115px);min-height:330px}.map-tools,.sidebar-collapsed .map-tools{top:15px;left:14px;right:14px;gap:6px}.map-caption{padding:8px 10px;border-radius:12px}.map-caption>span:first-child{font-size:15px!important}.map-caption #mapContext{font-size:12px;max-width:145px;letter-spacing:0}.map-buttons button{min-height:42px;font-size:13px;padding:8px 10px}.map-tools .map-buttons{max-width:52%}.map-options,.sidebar-collapsed .map-options{top:83px;left:auto;right:14px;min-width:0;max-width:calc(100% - 28px)}.map-options>summary{padding:10px 12px}.map-options[open]{width:470px}.map-settings{padding:12px;max-height:calc(53svh - 153px);min-height:130px}.map-picker-heading{margin-bottom:8px}.map-picker-heading h2{font-size:17px}.map-cards{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.map-card{padding:3px 3px 6px;border-radius:10px}.map-card strong{font-size:13px;margin:6px 2px 0}.map-card small{font-size:12px;margin:3px 2px 0}.map-card img{aspect-ratio:1.6}.map-description{font-size:13px}.color-legend>div{max-height:none;overflow:visible}.map-bottom,.sidebar-collapsed .map-bottom{left:14px;right:14px;bottom:29px}.map-bottom>span:first-child{max-width:calc(100% - 52px);font-size:12px}.leaflet-control-zoom{margin-right:14px!important;margin-bottom:67px!important}.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important}.leaflet-control-attribution{max-width:100%;font-size:10px!important}.detail,.sidebar-collapsed .detail{left:14px;right:65px;bottom:65px;width:auto;max-width:none;max-height:calc(100% - 138px);padding:16px;border-radius:16px}.detail h2{font-size:20px}.detail p{font-size:14px}.detail .fine{display:block}.satellite-notice{left:14px;right:65px;bottom:64px;max-width:none;font-size:13px}.session-active .topbar{height:52px;min-height:52px;padding:9px 12px}.session-active .map-stage{position:relative;top:auto;height:44svh;min-height:280px;z-index:auto}.session-active .sidebar{padding:20px;min-height:0}.session-active .map-settings{max-height:calc(44svh - 155px)}.session-active .sidebar-toggle{display:none}.session-active .sidebar-footer{display:none}.session-active .question-heading h2{font-size:23px}.session-active .sidebar-collapsed .sidebar{display:block}.category{font-size:14px}.sidebar #filters .categories{grid-template-columns:1fr 1fr}.region-tabs{max-width:none}.setup-grid{grid-template-columns:1fr 1fr}.sidebar-footer{margin-top:22px}.map-menu-icon{display:none}.list-meta{font-size:14px}}
@media(max-width:370px){.sidebar{padding:16px}.mode-nav button{font-size:13px}.map-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.map-buttons button{font-size:12px;padding:8px}.map-caption #mapContext{max-width:125px}.map-options>summary{font-size:13px}.setup-grid{grid-template-columns:1fr}}
@media(prefers-reduced-transparency:reduce){:root{--glass-dark:#15273c;--glass-light:#f4f9fc}.topbar,.sidebar,.map-options,.detail{backdrop-filter:none;-webkit-backdrop-filter:none}}
