:root{
  --bg:#03060f;
  --ink:#e8f4ff;
  --ink-dim:#8aa3c0;
  --glass:rgba(10,20,38,0.55);
  --glass-brd:rgba(120,180,255,0.18);
  --accent:#38e1ff;
  --accent-2:#5b8cff;
  --shadow:0 8px 40px rgba(0,0,0,0.55);
  --radius:16px;
  --panel-w:268px;      
  font-size:15px;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--ink);
  font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;}

#globeViz{position:fixed;inset:0;cursor:grab;}
#globeViz:active{cursor:grabbing;}

#globeViz canvas{display:block;width:100%;height:100%;}
canvas{display:block;}


#loader{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:26px;
  background:radial-gradient(circle at 50% 45%,#0a1530 0%,#03060f 70%);
  transition:opacity .8s ease, visibility .8s;}
#loader.gone{opacity:0;visibility:hidden;}

#loader:not(.gone) ~ :not(#graphicsRecovery){visibility:hidden;}
#loader:not(.gone) ~ :not(#graphicsRecovery) :is(a[href],button,input,select,textarea,[tabindex]),
#loader:not(.gone) ~ :is(a[href],button,input,select,textarea,[tabindex]){visibility:hidden;}
.loader-core{width:74px;height:74px;border-radius:50%;
  background:conic-gradient(from 0deg,#0b3a66,#2a8fd6,#7fe9ff,#2a8fd6,#0b3a66);
  -webkit-mask:radial-gradient(circle 27px at center, transparent 98%, #000 100%);
          mask:radial-gradient(circle 27px at center, transparent 98%, #000 100%);
  animation:spin 1.1s linear infinite;
  box-shadow:0 0 50px rgba(60,190,255,.5);}
@keyframes spin{to{transform:rotate(360deg)}}
.loader-text{letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:var(--ink-dim)}
.dots::after{content:"";animation:dots 1.4s steps(4,end) infinite}
@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}


#ambientCaption{position:fixed;left:38px;bottom:44px;z-index:22;max-width:min(560px,44vw);
  pointer-events:none;opacity:0;transform:translateY(10px);
  transition:opacity 1.6s cubic-bezier(.22,.61,.36,1), transform 1.6s cubic-bezier(.22,.61,.36,1);}
#ambientCaption.showing{opacity:1;transform:none;}
#ambientCaption figcaption{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
#ambientCaption .ac-place{font-size:2.05rem;font-weight:200;letter-spacing:.02em;
  color:var(--ink);line-height:1.05;
  text-shadow:0 2px 30px rgba(0,0,0,.85),0 1px 3px rgba(0,0,0,.7);}
#ambientCaption .ac-light{font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;
  color:var(--accent);opacity:.85;font-weight:600;
  text-shadow:0 1px 12px rgba(0,0,0,.9);}
#ambientCaption .ac-note{margin-top:9px;font-size:.9rem;line-height:1.5;font-weight:300;
  color:rgba(220,236,255,.72);max-width:44ch;
  text-shadow:0 1px 16px rgba(0,0,0,.9);}
@media (max-width:760px){
  #ambientCaption{left:16px;right:16px;bottom:auto;top:120px;max-width:none;}
  #ambientCaption .ac-place{font-size:1.5rem;}
}

@media (prefers-reduced-motion:reduce){
  #ambientCaption{transition:opacity .2s linear;transform:none;}
}


#titlebar{position:fixed;top:26px;left:30px;z-index:20;pointer-events:none;}
#titlebar::before{content:"";position:absolute;inset:-10px -14px;z-index:-1;
  border-radius:10px;pointer-events:none;
  background:linear-gradient(105deg,rgba(3,8,15,.70),rgba(3,8,15,.48) 72%,transparent);}
#titlebar h1{font-weight:800;font-size:1.7rem;letter-spacing:.22em;line-height:1;
  text-shadow:0 2px 30px rgba(0,0,0,.8);}
#titlebar h1 span{color:var(--accent);font-weight:300;}

.title-version{font-style:normal;font-size:.36em;font-weight:600;letter-spacing:.1em;
  color:var(--ink-dim);vertical-align:super;margin-left:10px;opacity:.75;
  font-variant-numeric:tabular-nums;
  
  pointer-events:auto;user-select:text;cursor:text;}
#titlebar p{margin-top:8px;font-size:.78rem;color:var(--ink-dim);letter-spacing:.04em;max-width:330px;}
.site-return{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;padding:8px 10px;border:1px solid rgba(152,199,239,.26);border-radius:9px;
  color:var(--ink);background:#091425;font:inherit;font-size:.8rem;line-height:1.3;
  text-decoration:none;white-space:nowrap;cursor:pointer;pointer-events:auto;}
.site-return svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.site-return:hover{color:#fff;background:#142b43;border-color:var(--accent);}
#siteReturn{margin-top:8px;}
body.ambient-idle #titlebar:focus-within{opacity:1;transition:none;}


.glass,#panel,#info,#searchwrap input,#tooltip,#resetView{
  background:var(--glass);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid var(--glass-brd);
  box-shadow:var(--shadow);
}



:root{ --chrome-gap:16px;
  
  --title-w:360px; }
#searchwrap{position:fixed;top:26px;z-index:25;
  left:calc(var(--title-w) + var(--chrome-gap));
  right:calc(var(--panel-w) + 26px + var(--chrome-gap));
  width:auto;max-width:420px;margin-inline:auto;}
#search{width:100%;padding:13px 18px;border-radius:30px;color:var(--ink);font-size:.92rem;outline:none;}
#search::placeholder{color:var(--ink-dim);}
#search:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(56,225,255,.15),var(--shadow);}
#results{list-style:none;margin-top:8px;max-height:48vh;overflow-y:auto;border-radius:14px;}
#results:not(:empty){background:var(--glass);backdrop-filter:blur(16px);
  border:1px solid var(--glass-brd);box-shadow:var(--shadow);padding:6px;}
#results li[data-result-index]{padding:9px 12px;border-radius:9px;cursor:pointer;display:flex;
  justify-content:space-between;align-items:center;gap:12px;font-size:.86rem;}
#results li[data-result-index]:hover,#results li[data-result-index].sel{background:rgba(56,225,255,.14);}
#results li[data-result-index]:focus-visible{outline:1px solid var(--accent);outline-offset:-1px;}
#results .r-copy{display:flex;flex-direction:column;min-width:0;gap:2px;}
#results .r-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);}
#results .r-context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--ink-dim);font-size:.7rem;letter-spacing:.01em;}
#results .r-type{flex:0 0 auto;max-width:42%;font-size:.63rem;color:var(--ink-dim);
  text-align:right;text-transform:uppercase;letter-spacing:.06em;line-height:1.25;}
#results .r-heading{padding:7px 12px 4px;color:rgba(185,216,244,.72);font-size:.61rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.13em;}
#results .r-heading:not(:first-child){margin-top:4px;border-top:1px solid rgba(150,200,240,.12);}
#results .r-empty{padding:12px;color:var(--ink-dim);font-size:.75rem;line-height:1.4;}


#panel{position:fixed;top:26px;right:26px;z-index:20;width:var(--panel-w);border-radius:var(--radius);
  padding:12px 14px 14px;display:flex;flex-direction:column;gap:15px;
  max-height:calc(100vh - 52px);overflow-y:auto;}
#panel,#info{scrollbar-width:thin;scrollbar-color:rgba(170,220,255,.42) transparent;}
#panel::-webkit-scrollbar,#info::-webkit-scrollbar{width:8px;}
#panel::-webkit-scrollbar-track,#info::-webkit-scrollbar-track{background:transparent;}
#panel::-webkit-scrollbar-thumb,#info::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(170,220,255,.32);}

.panel-filter{position:sticky;top:0;z-index:6;display:flex;align-items:center;
  margin:-12px -14px 0;padding:12px 14px 10px;
  background:linear-gradient(180deg,rgba(8,17,32,.98),rgba(8,17,32,.94) 72%,rgba(8,17,32,.90));
  box-shadow:0 10px 18px rgba(3,9,18,.32);}
.panel-filter input{width:100%;padding:8px 11px;border-radius:9px;
  background:rgba(255,255,255,.06);border:1px solid rgba(120,180,255,.16);
  color:var(--ink);font:inherit;font-size:.78rem;outline:none;
  transition:border-color .18s, background .18s;}
.panel-filter input::placeholder{color:rgba(138,163,192,.75);letter-spacing:.02em;}
.panel-filter input:focus{border-color:var(--accent);background:rgba(255,255,255,.09);}
.panel-filter input::-webkit-search-cancel-button{display:none;}
#panelFilterClear{position:absolute;right:22px;border:0;background:transparent;
  color:var(--ink-dim);font-size:1.05rem;line-height:1;cursor:pointer;padding:4px 6px;}
#panelFilterClear:hover{color:var(--accent);}
.panel-empty{font-size:.74rem;color:var(--ink-dim);padding:4px 2px 0;}


.panel-group h2{position:sticky;top:46px;z-index:4;
  background:linear-gradient(180deg,rgba(8,17,32,.97),rgba(8,17,32,.88));
  margin:0 -14px 10px;padding:7px 14px 6px;}
#panel.filtering .panel-group h2{position:static;background:none;margin:0 0 10px;padding:0;}

#panel:not(.filtering) .panel-group.collapsed > *:not(h2){display:none;}
#panel:not(.filtering) .panel-group.collapsed{margin-bottom:2px;padding-bottom:0;}
.panel-group h2{cursor:pointer;user-select:none;display:flex;align-items:center;gap:7px;}
.panel-group h2::before{content:'';flex:0 0 auto;width:0;height:0;
  border-left:4px solid currentColor;border-top:3.5px solid transparent;
  border-bottom:3.5px solid transparent;opacity:.55;
  transform:rotate(90deg);transition:transform .13s ease;}
.panel-group.collapsed h2::before{transform:rotate(0deg);}
.panel-group h2:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
.panel-group h2:hover{color:var(--ink);}

#panelCollapseAll{flex:0 0 auto;background:rgba(255,255,255,.05);
  border:1px solid rgba(120,180,255,.18);color:var(--ink-dim);border-radius:8px;
  font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 8px;
  cursor:pointer;font-weight:600;}
#panelCollapseAll:hover{color:var(--ink);border-color:var(--accent);}
#panelCollapseAll:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

#panel:not(.filtering) .panel-group.collapsed > *:not(h2){display:none;}
#panel:not(.filtering) .panel-group.collapsed{margin-bottom:2px;padding-bottom:0;}
.panel-group h2{cursor:pointer;user-select:none;display:flex;align-items:center;gap:7px;}
.panel-group h2::before{content:'';flex:0 0 auto;width:0;height:0;
  border-left:4px solid currentColor;border-top:3.5px solid transparent;
  border-bottom:3.5px solid transparent;opacity:.55;
  transform:rotate(90deg);transition:transform .13s ease;}
.panel-group.collapsed h2::before{transform:rotate(0deg);}
.panel-group h2:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
.panel-group h2:hover{color:var(--ink);}

#panelCollapseAll{flex:0 0 auto;background:rgba(255,255,255,.05);
  border:1px solid rgba(120,180,255,.18);color:var(--ink-dim);border-radius:8px;
  font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 8px;
  cursor:pointer;font-weight:600;}
#panelCollapseAll:hover{color:var(--ink);border-color:var(--accent);}
#panelCollapseAll:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.chk[hidden],.slider-row[hidden],.seg[hidden]{display:none!important;}

.global-time{border:1px solid rgba(120,180,255,.16);border-radius:12px;padding:10px 10px 11px;
  background:rgba(3,12,24,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);}
.global-time-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin-bottom:8px;font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;
  color:var(--ink-dim);font-weight:700;}
.global-time-head em{color:var(--accent);font-style:normal;font-size:.72rem;letter-spacing:.08em;
  font-variant-numeric:tabular-nums;text-align:right;}

.global-time-head em b{font-weight:700;}
.global-time-head em i{font-style:normal;color:var(--ink-dim);letter-spacing:.06em;}
.global-time .seg{margin-bottom:8px;}
.panel-group[hidden],#aboutBtn[hidden]{display:none!important;}
.panel-group h2{font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-dim);
  margin-bottom:10px;font-weight:600;}
.panel-group h2 em{color:var(--accent);font-style:normal;}


#sunFacts{font-size:.8rem;line-height:1.55;color:var(--ink-dim);font-variant-numeric:tabular-nums;}
#sunFacts b{color:var(--ink);font-weight:600;}
#sunFacts .sf-day{color:#ffd479;}

.sf-clock{margin:2px 0 8px;font-size:.86rem;font-weight:600;letter-spacing:.01em;
  color:var(--ink);font-variant-numeric:tabular-nums;}
.sf-clock:empty{display:none;}
#sunFacts .sf-night{color:#8fb7ff;}


.sun-sky{margin-top:10px;padding-top:9px;border-top:1px solid rgba(120,180,255,.14);
  display:flex;flex-direction:column;gap:3px;font-size:.74rem;line-height:1.45;}
.sun-sky .sky-band{font-weight:600;letter-spacing:.02em;color:var(--ink);}
.sun-sky .sky-num{color:var(--ink-dim);font-variant-numeric:tabular-nums;}
.sun-sky .sky-note{color:rgba(190,215,240,.55);font-size:.68rem;}
.sun-sky .sky-day{color:#ffe6a6;}
.sun-sky .sky-golden{color:#ffb35c;}
.sun-sky .sky-civil{color:#7fa8ff;}
.sun-sky .sky-nautical{color:#6f86e6;}
.sun-sky .sky-astro{color:#8a7ad6;}
.sun-sky .sky-night{color:#8fb7ff;}


.clock-play{margin-top:8px;}
.clock-play .mini-seg{width:100%;}
.clock-play .mini-seg button{padding:6px 3px;font-size:.65rem;}
.clock-date-row{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:.75rem;color:var(--ink-dim);}
.clock-date-row label{flex:0 0 auto;}
.clock-date-row input[type=date]{flex:1 1 auto;min-width:0;background:rgba(255,255,255,.06);
  border:1px solid rgba(120,180,255,.16);border-radius:8px;color:var(--ink);
  font:inherit;font-size:.74rem;padding:5px 7px;color-scheme:dark;}
.clock-date-row input[type=date]:focus{outline:none;border-color:var(--accent);}
#clockStamp{font-variant-numeric:tabular-nums;font-size:.68rem;letter-spacing:.03em;}

.chk{display:flex;align-items:center;gap:10px;font-size:.85rem;cursor:pointer;
  padding:5px 0;user-select:none;}

.chk input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}

.chk input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px;}
.chk span{width:38px;height:21px;border-radius:20px;background:rgba(255,255,255,.1);
  position:relative;flex:0 0 auto;transition:background .2s;}
.chk span::after{content:"";position:absolute;top:2.5px;left:2.5px;width:16px;height:16px;border-radius:50%;
  background:#fff;transition:transform .2s;}
.chk input:checked + span{background:linear-gradient(90deg,var(--accent-2),var(--accent));}
.chk input:checked + span::after{transform:translateX(17px);}
.chk em{color:var(--ink-dim);font-style:normal;font-size:.74rem;margin-left:auto;}
.auto-rotate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;}
.auto-rotate-toggle{min-width:0;}
.auto-rotate-toggle b{font:inherit;font-weight:400;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mini-seg{width:104px;flex:0 0 auto;}
.mini-seg button{padding:6px 5px;font-size:.68rem;}

.seg{display:flex;background:rgba(255,255,255,.06);border-radius:10px;padding:3px;gap:3px;}
.seg button{flex:1;border:0;background:transparent;color:var(--ink-dim);padding:8px 6px;
  border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .18s;font-family:inherit;}
.seg button.active{background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#01121e;font-weight:600;}

.terrain-scale button{font-size:.68rem;padding:7px 3px;}

.about-version{display:block;margin-top:6px;font-style:normal;font-size:.68rem;
  letter-spacing:.06em;color:var(--ink-dim);opacity:.75;}


.land-note{font-size:.68rem;color:var(--ink-dim);line-height:1.5;margin:0 0 9px;}
.land-note strong{color:var(--ink);font-weight:600;}
.land-caveat{margin-top:10px;}

.seg-wrap{flex-wrap:wrap;}
.seg-wrap button{flex:1 1 auto;min-width:52px;padding:7px 5px;font-size:.68rem;}
.land-presets{margin:0 0 10px;}

.start-actions{display:flex;flex-wrap:wrap;gap:6px;}
.start-actions button{flex:1 1 auto;min-width:88px;border:0;border-radius:10px;cursor:pointer;
  font-family:inherit;font-size:.7rem;font-weight:600;letter-spacing:.01em;padding:9px 8px;
  color:#01121e;background:linear-gradient(135deg,var(--accent-2),var(--accent));}
.start-actions button:hover{filter:brightness(1.08);}
.start-actions button:disabled{opacity:.55;cursor:default;}
.land-presets-label{display:block;font-size:.66rem;color:var(--ink-dim);margin:0 0 5px;
  letter-spacing:.04em;text-transform:uppercase;}
.seg-row{display:block;}
.seg-row>label{display:block;margin:0 0 5px;}
.land-find{margin-top:12px;}
.btn-wide{width:100%;border:0;border-radius:10px;padding:10px 8px;cursor:pointer;
  background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#01121e;
  font-weight:600;font-size:.74rem;font-family:inherit;letter-spacing:.01em;}
.btn-wide:disabled{opacity:.55;cursor:default;}
.btn-wide:hover:not(:disabled){filter:brightness(1.08);}
.land-find-status{font-size:.66rem;color:var(--ink-dim);margin-top:7px;line-height:1.5;}
.land-find-list{list-style:none;margin:8px 0 0;padding:0;max-height:290px;overflow-y:auto;}
.land-find-list li{margin:0 0 4px;}
.land-find-list button{width:100%;text-align:left;border:0;cursor:pointer;font-family:inherit;
  background:rgba(255,255,255,.05);border-radius:8px;padding:7px 9px;color:var(--ink);
  display:flex;align-items:baseline;gap:8px;}
.land-find-list button:hover{background:rgba(255,255,255,.11);}
.land-find-list .rank{font-size:.64rem;color:var(--ink-dim);min-width:1.4em;}
.land-find-list .where{flex:1;font-size:.7rem;line-height:1.35;}
.land-find-list .where em{display:block;font-style:normal;font-size:.63rem;color:var(--ink-dim);
  margin-top:2px;}
.land-find-list .pct{font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;}
.land-legend{margin-top:10px;}
.land-legend .bar{height:11px;border-radius:6px;width:100%;}
.land-legend .ends{display:flex;justify-content:space-between;font-size:.66rem;
  color:var(--ink-dim);margin-top:5px;}

.terrain-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px;}
.terrain-views button{border:1px solid rgba(120,180,255,.18);background:rgba(255,255,255,.045);
  color:var(--ink-dim);border-radius:9px;padding:7px 6px;font:inherit;font-size:.7rem;cursor:pointer;
  transition:border-color .18s,background .18s,color .18s,transform .18s;}
.terrain-views button:last-child{grid-column:1/-1;}
.terrain-views button:hover,.terrain-views button:focus-visible{border-color:rgba(56,225,255,.65);
  background:rgba(56,225,255,.10);color:var(--ink);outline:none;transform:translateY(-1px);}

.cloudstat{font-size:.68rem;color:var(--ink-dim);margin-top:9px;line-height:1.5;min-height:1em;}
.cloudstat.err{color:#ff9b8a;}

#legend{margin-top:11px;}
.legend-bar{height:11px;border-radius:6px;width:100%;}
.legend-scale{display:flex;justify-content:space-between;font-size:.66rem;color:var(--ink-dim);margin-top:5px;}


input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:20px;margin:0;
  background:transparent;outline:none;cursor:pointer;touch-action:none;}
input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:5px;
  background:rgba(255,255,255,.14);}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
  width:17px;height:17px;border-radius:50%;margin-top:-6px;
  background:var(--accent);cursor:pointer;box-shadow:0 0 10px rgba(56,225,255,.7);}
input[type=range]::-moz-range-track{height:5px;border-radius:5px;
  background:rgba(255,255,255,.14);}
input[type=range]::-moz-range-thumb{width:17px;height:17px;border:none;border-radius:50%;
  background:var(--accent);cursor:pointer;box-shadow:0 0 10px rgba(56,225,255,.7);}

#aboutBtn{border:1px solid rgba(120,180,255,.28);background:rgba(255,255,255,.07);
  color:var(--ink);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.82rem;
  cursor:pointer;text-align:center;transition:border-color .18s,background .18s,color .18s;}
#aboutBtn:hover,#aboutBtn:focus-visible{border-color:var(--accent);background:rgba(56,225,255,.12);
  color:#f4fbff;outline:none;}


#info{position:fixed;left:30px;bottom:30px;z-index:25;width:330px;border-radius:var(--radius);
  padding:22px 22px 20px;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .4s;}
#info.hidden{transform:translateY(30px) scale(.97);opacity:0;pointer-events:none;}
#infoClose{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--ink-dim);
  font-size:1.4rem;line-height:1;cursor:pointer;}
#infoClose:hover{color:var(--ink);}
.info-type{font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:600;}
#info h3{font-size:1.45rem;font-weight:700;margin:4px 0 2px;}
.info-region{font-size:.8rem;color:var(--ink-dim);margin-bottom:16px;}

.depthviz{height:64px;border-radius:10px;position:relative;overflow:hidden;margin-bottom:16px;
  background:linear-gradient(180deg,#0a2a45,#02060d);display:none;}
.depthviz.show{display:block;}
.depthviz .wline{position:absolute;left:0;right:0;height:1px;background:rgba(255,255,255,.08);}
.depthviz .marker{position:absolute;left:0;right:0;display:flex;align-items:center;gap:6px;
  padding:0 10px;font-size:.64rem;}
.depthviz .marker .dot{width:7px;height:7px;border-radius:50%;}
.depthviz .fill{position:absolute;left:0;right:0;top:0;
  background:linear-gradient(180deg,rgba(56,225,255,.0),rgba(20,80,160,.55));}

.stats{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;}
.stats .stat{}
.stats .k{font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-dim);}
.stats .v{font-size:1.02rem;font-weight:650;margin-top:2px;}
.stats .v small{font-size:.62rem;color:var(--ink-dim);font-weight:400;}
.info-note{font-size:.8rem;line-height:1.55;color:#cfe2f5;margin-top:16px;
  border-top:1px solid var(--glass-brd);padding-top:14px;}
.info-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.info-links.hidden{display:none;}
.info-links a{display:block;text-align:center;text-decoration:none;color:var(--ink);
  border:1px solid rgba(120,180,255,.28);background:rgba(255,255,255,.07);
  border-radius:9px;padding:9px 10px;font-size:.78rem;font-weight:650;
  transition:border-color .18s,background .18s,color .18s;}
.info-links a:hover,.info-links a:focus-visible{border-color:var(--accent);
  background:rgba(56,225,255,.13);color:#f4fbff;outline:none;}


#tooltip{position:fixed;z-index:40;max-width:min(320px,calc(100vw - 24px));padding:8px 13px;border-radius:10px;pointer-events:none;
  font-size:.82rem;transform:none;white-space:normal;transition:opacity .12s;}
#tooltip .t-name{font-weight:650;}
#tooltip .t-sun-img{float:right;width:58px;height:58px;margin:0 0 6px 10px;border-radius:50%;
  object-fit:cover;box-shadow:0 0 18px rgba(255,205,95,.24);}
#tooltip .t-sub{font-size:.7rem;color:var(--ink-dim);margin-top:1px;}
#tooltip .t-meta{font-size:.68rem;color:#cfe9ff;margin-top:5px;font-variant-numeric:tabular-nums;}
#tooltip .t-note{font-size:.68rem;color:var(--ink-dim);line-height:1.35;margin-top:4px;}
#tooltip .t-data{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 9px;
  margin-top:7px;padding-top:7px;border-top:1px solid rgba(140,205,255,.18);}
#tooltip .t-data strong{color:#f5fbff;font-size:.78rem;white-space:nowrap;}
#tooltip .t-data span{color:#a8cae7;font-size:.66rem;white-space:nowrap;}
#tooltip .t-data small{grid-column:1/-1;color:var(--ink-dim);font-size:.61rem;
  font-variant-numeric:tabular-nums;letter-spacing:.035em;}
#tooltip .t-data-empty strong,#tooltip .t-data-unavailable strong{color:#c4d0dc;font-weight:550;}
#tooltip.hidden{opacity:0;}


#uiTip{position:fixed;z-index:70;max-width:min(280px,calc(100vw - 24px));padding:9px 12px;
  border-radius:9px;background:rgba(3,9,18,.94);border:1px solid rgba(140,200,255,.3);
  box-shadow:0 10px 36px rgba(0,0,0,.45);color:#eaf6ff;font-size:.76rem;line-height:1.45;
  pointer-events:none;opacity:1;transform:translateY(0);transition:opacity .12s ease,transform .12s ease;}
#uiTip.hidden{opacity:0;transform:translateY(4px);}


#fps{position:fixed;left:30px;bottom:30px;z-index:18;font-size:.66rem;letter-spacing:.1em;
  color:var(--ink-dim);font-variant-numeric:tabular-nums;opacity:.6;pointer-events:none;}
#info:not(.hidden) ~ #fps{opacity:0;}


#resetView{position:fixed;right:calc(var(--panel-w) + 44px);bottom:30px;z-index:20;width:46px;height:46px;border-radius:50%;
  color:var(--ink);font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
#resetView:hover{color:var(--accent);border-color:var(--accent);}


#aboutBackdrop{position:fixed;inset:0;z-index:65;display:flex;align-items:center;justify-content:center;
  padding:22px;background:rgba(0,3,9,.46);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
#aboutBackdrop.hidden{display:none;}
#aboutCard{position:relative;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 32px);
  overflow:auto;border-radius:14px;padding:24px 26px 22px;background:rgba(9,18,34,.92);
  border:1px solid rgba(140,200,255,.22);box-shadow:0 20px 70px rgba(0,0,0,.62);}
#aboutClose{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--ink-dim);
  font-size:1.35rem;line-height:1;cursor:pointer;}
#aboutClose:hover,#aboutClose:focus-visible{color:var(--ink);outline:none;}
.about-kicker{font-size:.66rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:700;}
#aboutTitle{font-size:1.55rem;margin:5px 0 12px;letter-spacing:.08em;text-transform:uppercase;}
#aboutCard p{font-size:.88rem;line-height:1.62;color:#d7e8f7;margin-top:11px;}
#aboutCard .about-caveat{color:#b9cbe0;border-top:1px solid var(--glass-brd);padding-top:12px;}
.about-made{margin-top:18px;padding-top:14px;border-top:1px solid var(--glass-brd);
  color:var(--ink-dim);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;}
.about-made span{font-family:"Brandon Grotesque","BrandonGrotesque","Segoe UI",system-ui,sans-serif;
  color:var(--ink);font-weight:700;letter-spacing:.18em;}


.slider-row{margin-top:11px;}
.slider-row label{display:flex;justify-content:space-between;align-items:baseline;
  font-size:.76rem;color:var(--ink-dim);margin-bottom:5px;}
.slider-row label em{color:var(--accent);font-style:normal;font-variant-numeric:tabular-nums;}
.mini-reset{float:right;border:1px solid var(--glass-brd);background:rgba(255,255,255,.05);
  color:var(--ink-dim);font-family:inherit;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;
  padding:2px 8px;border-radius:7px;cursor:pointer;transition:all .16s;}
.mini-reset:hover{color:var(--accent);border-color:var(--accent);}


#cityLayer{position:fixed;inset:0;z-index:15;pointer-events:none;overflow:hidden;}
.city-label{position:absolute;left:0;top:0;transform-origin:0 0;white-space:nowrap;
  font-size:.72rem;color:#eaf4ff;letter-spacing:.02em;padding-left:9px;line-height:1;
  text-shadow:0 1px 4px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.9);}
.city-label::before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;margin-top:-2px;
  border-radius:50%;background:rgba(180,225,255,.85);box-shadow:0 0 5px rgba(120,200,255,.7);}
.city-label.capital{font-weight:700;color:#fff7e6;font-size:.76rem;}
.city-label.capital::before{width:6px;height:6px;margin-top:-3px;background:#ffd27a;
  box-shadow:0 0 7px rgba(255,200,110,.9);}

.city-label.admin{color:#f2f6ff;font-weight:600;}

.city-label.section{color:#c4d4e6;font-size:.66rem;opacity:.82;}
.city-label.section::before{width:3px;height:3px;margin-top:-1.5px;
  background:rgba(150,190,225,.7);box-shadow:none;}
.city-label.admin::before{width:5px;height:5px;margin-top:-2.5px;background:#cfe4ff;
  box-shadow:0 0 6px rgba(180,215,255,.85);}


#placeMarker{position:fixed;left:0;top:0;z-index:24;pointer-events:none;padding:7px 11px;
  border-radius:9px;background:rgba(5,15,28,.88);border:1px solid rgba(126,222,255,.62);
  box-shadow:0 8px 24px rgba(0,0,0,.42),0 0 16px rgba(56,225,255,.14);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f1fbff;
  font-size:.76rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;will-change:transform;}
#placeMarker.hidden{display:none;}
#placeMarker .place-marker-pin{position:absolute;left:50%;bottom:-18px;width:8px;height:8px;
  margin-left:-4px;border-radius:50%;background:var(--accent);border:1px solid #eaffff;
  box-shadow:0 0 10px rgba(56,225,255,.95);}
#placeMarker .place-marker-pin::before{content:"";position:absolute;left:3px;bottom:7px;
  width:1px;height:10px;background:linear-gradient(transparent,rgba(126,222,255,.9));}


#attribution{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:18;
  font-size:.62rem;color:var(--ink-dim);letter-spacing:.02em;pointer-events:none;
  background:rgba(3,9,18,.5);padding:3px 10px;border-radius:8px;max-width:min(560px,80vw);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;}
#attribution.hidden{display:none;}
#coords{position:fixed;left:50%;bottom:34px;transform:translateX(-50%);z-index:18;
  font-size:.66rem;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.06em;
  pointer-events:none;background:rgba(3,9,18,.5);padding:3px 11px;border-radius:8px;opacity:.85;}
#coords.data-chip{bottom:auto;transform:none;z-index:39;display:grid;grid-template-columns:auto 1fr;
  align-items:baseline;gap:2px 9px;max-width:min(300px,calc(100vw - 24px));padding:8px 11px;
  border:1px solid rgba(140,205,255,.24);background:rgba(3,9,18,.88);
  backdrop-filter:blur(13px) saturate(135%);-webkit-backdrop-filter:blur(13px) saturate(135%);
  box-shadow:0 7px 24px rgba(0,0,0,.32);border-radius:9px;opacity:1;letter-spacing:0;}
#coords.data-chip strong{font-size:.78rem;color:#f5fbff;white-space:nowrap;}
#coords.data-chip span{font-size:.65rem;color:#a8cae7;white-space:nowrap;}
#coords.data-chip small{grid-column:1/-1;font-size:.60rem;color:var(--ink-dim);
  letter-spacing:.035em;white-space:nowrap;}
#coords.hidden{display:none;}


@media (max-width:940px) and (min-width:761px){
  #searchwrap{top:96px;left:30px;right:calc(var(--panel-w) + 42px);
    max-width:420px;margin-inline:0;}
}
@media (max-width:760px){
  #titlebar{left:14px;top:12px;right:14px;}
  #titlebar h1{font-size:1.05rem;letter-spacing:.18em;}
  #titlebar p{display:none;}
  #searchwrap{top:50px;left:12px;right:12px;transform:none;width:auto;}
  #search{padding:12px 15px;font-size:.88rem;}
  #panel{left:12px;right:12px;top:auto;bottom:10px;width:auto;max-height:min(52vh,460px);
    border-radius:18px 18px 13px 13px;padding:10px 12px 12px;gap:13px;}
  #panel::before{content:"";position:sticky;top:0;z-index:3;align-self:center;width:42px;height:4px;
    margin:-2px auto 5px;border-radius:999px;background:rgba(210,235,255,.42);}
  .panel-filter{margin:-10px -12px 0;padding:6px 12px 9px;}
  .panel-group h2{top:40px;margin:0 -12px 10px;padding:6px 12px 5px;}
  .chk{min-height:34px;font-size:.86rem;}
  .seg button{min-height:36px;}
  #info{left:12px;right:12px;top:112px;bottom:auto;width:auto;max-height:31vh;overflow:auto;}
  #aboutCard{padding:22px 20px 20px;}
  #attribution{max-width:70vw;font-size:.56rem;}
  #fps{left:16px;bottom:calc(min(52vh,460px) + 22px);}
  #resetView{right:22px;bottom:calc(min(52vh,460px) + 22px);width:42px;height:42px;}
}


body.ambient-on #fps{display:none;}
body.ambient-on #panel,
body.ambient-on #titlebar,
body.ambient-on #searchwrap,
body.ambient-on #resetView,
body.ambient-on #info,
body.ambient-on #placeMarker,
body.ambient-on #coords{transition:opacity .28s ease;}
body.ambient-idle #panel,
body.ambient-idle #titlebar,
body.ambient-idle #searchwrap,
body.ambient-idle #resetView,
body.ambient-idle #info,
body.ambient-idle #placeMarker,
body.ambient-idle #coords,
body.ambient-idle #tooltip{opacity:0;pointer-events:none;transition:opacity 1.8s ease;}
.ambient-group h2 em{text-transform:none;}
@media (prefers-reduced-motion:reduce){
  body.ambient-idle #panel,
  body.ambient-idle #titlebar,
  body.ambient-idle #searchwrap,
  body.ambient-idle #resetView,
  body.ambient-idle #info,
  body.ambient-idle #placeMarker,
  body.ambient-idle #coords{transition:opacity .2s linear;}
}


.thermal-legend{margin:10px 0 4px;}
.thermal-legend .legend-bar{height:10px;border-radius:5px;width:100%;
  border:1px solid rgba(255,255,255,.10);}
.thermal-legend .legend-ticks{display:flex;justify-content:space-between;margin-top:4px;
  font-size:.64rem;color:var(--ink-dim);font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.thermal-legend .legend-note{margin-top:6px;font-size:.64rem;line-height:1.45;
  color:rgba(190,215,240,.55);}
#coords{font-variant-numeric:tabular-nums;}


#panelResize{position:fixed;z-index:21;width:11px;cursor:ew-resize;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;padding:0;touch-action:none;}
#panelResize::after{content:"";width:2px;height:min(52px,40%);border-radius:2px;
  background:rgba(150,200,255,.0);transition:background .18s;}
#panelResize:hover::after,#panelResize:focus-visible::after,
body.panel-resizing #panelResize::after{background:rgba(150,205,255,.55);}
#panelResize:focus-visible{outline:none;}
#panelResize:focus-visible::after{background:var(--accent);height:min(80px,60%);}

body.panel-resizing{cursor:ew-resize;user-select:none;-webkit-user-select:none;}
body.panel-resizing #panel{scrollbar-color:rgba(170,220,255,.42) transparent;}


#panel.wide .panel-group.cols{display:grid;grid-template-columns:1fr 1fr;
  column-gap:18px;align-items:start;}
#panel.wide .panel-group.cols > *:not(.chk){grid-column:1/-1;}


body.ambient-on #panelResize{transition:opacity .28s ease;}
body.ambient-idle #panelResize{opacity:0;pointer-events:none;transition:opacity 1.8s ease;}


@media (max-width:760px){
  #panelResize{display:none;}
  #resetView{right:22px;}
}


.aerial-target{display:flex;align-items:baseline;gap:8px;justify-content:space-between;
  margin-top:9px;font-size:.7rem;color:var(--ink-dim);font-variant-numeric:tabular-nums;}
.aerial-target span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.aerial-target .mini-reset{float:none;flex:0 0 auto;}
.aerial-readout{display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin-top:11px;
  padding:9px 10px;border:1px solid var(--glass-brd);border-radius:8px;
  background:rgba(255,255,255,.035);font-size:.69rem;}
.aerial-readout .k{color:var(--ink-dim);}
.aerial-readout .v{color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;}
.cloudstat.warn{color:#ffca7a;}
.aerial-group #aerialTurn{margin-top:10px;}


.aerial-hint{margin:0 0 9px;}
body.aerial-on canvas{cursor:grab;}
body.aerial-dragging canvas{cursor:grabbing;}



#panel{
  background:linear-gradient(180deg,rgba(7,15,30,.72),rgba(5,11,24,.80));
  border-color:rgba(120,180,255,.10);
  box-shadow:0 10px 60px rgba(0,0,0,.5);
  padding:14px 16px 18px;
}


.panel-group h2{
  font-size:.60rem;letter-spacing:.20em;font-weight:700;
  color:rgba(150,180,214,.92);
  padding:12px 0 9px;margin:0 0 4px;
}
.panel-group h2 em{color:var(--accent);opacity:.85;font-size:.92em;}
.panel-group{padding-bottom:14px;border-bottom:none;margin-bottom:2px;}


.chk{font-size:.82rem;font-weight:400;letter-spacing:0;color:rgba(224,238,255,.92);
  text-transform:none;line-height:1.35;padding:5px 0;gap:10px;}

.chk em,.slider-row em{color:var(--accent);font-style:normal;font-weight:600;
  font-variant-numeric:tabular-nums;opacity:.92;}
.slider-row{font-size:.72rem;letter-spacing:.05em;color:rgba(150,180,214,.9);}


.seg{background:rgba(255,255,255,.028);border-color:rgba(120,180,255,.10);}
.seg button{font-size:.68rem;letter-spacing:.045em;font-weight:500;padding:7px 6px;}
.seg button.active{font-weight:650;}


.cloudstat,#detailStat,#terrainStat,#clockStat,#terrainViewNote{
  font-size:.68rem;line-height:1.45;color:rgba(140,168,200,.72);font-weight:300;}


.start-here{background:linear-gradient(180deg,rgba(56,225,255,.055),rgba(56,225,255,.012));
  border:1px solid rgba(56,225,255,.14);border-radius:12px;
  padding:2px 13px 14px;margin-bottom:14px;}
.start-here h2{color:var(--accent);opacity:.95;}
.start-here .land-note{font-size:.82rem;line-height:1.5;font-weight:300;
  color:rgba(222,238,255,.86);}


:root{--ink-dim:#aec0d6;--sheet-gap:12px;--panel-toolbar-h:110px;}
#viewActions{position:fixed;top:26px;right:26px;z-index:44;}
#panelToggle{display:flex;align-items:center;justify-content:center;gap:10px;
  min-height:44px;min-width:128px;padding:10px 14px;border-radius:12px;
  border:1px solid rgba(152,199,239,.32);background:rgba(9,20,37,.96);
  box-shadow:0 4px 18px rgba(0,0,0,.25);color:var(--ink);font-family:inherit;
  font-size:.86rem;font-weight:600;line-height:1.2;cursor:pointer;}
#panelToggle svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;}
#panelToggle:hover{background:#142b43;border-color:var(--accent);}
#panelToggle[aria-expanded="true"]{border-color:rgba(56,225,255,.58);}
.panel-toggle-state{font-size:1.1rem;line-height:1;min-width:12px;color:var(--accent);}
#panel{top:80px;z-index:42;max-height:calc(100vh - 106px);max-height:calc(100dvh - 106px);
  background:rgba(8,17,31,.95);border-color:rgba(152,199,239,.23);
  backdrop-filter:none;-webkit-backdrop-filter:none;overscroll-behavior:contain;
  scroll-padding-top:calc(var(--panel-toolbar-h) + 44px + 8px);scroll-padding-bottom:8px;}

#panel.filtering{scroll-padding-top:calc(var(--panel-toolbar-h) + 8px);}
#panel button,#panel input,#panel select,#panel textarea,#panel a{
  scroll-margin-top:8px;scroll-margin-bottom:8px;}
#panel > *{flex-shrink:0;}
#panel[hidden],body.controls-closed #panelResize{display:none!important;}
#panel[data-control-section="explore"] > .panel-group:not([data-panel-section="explore"]),
#panel[data-control-section="layers"] > .panel-group:not([data-panel-section="layers"]),
#panel[data-control-section="time"] > .panel-group:not([data-panel-section="time"]),
#panel[data-control-section="camera"] > .panel-group:not([data-panel-section="camera"]),
#panel[data-control-section="explore"] > .global-time,
#panel[data-control-section="layers"] > .global-time,
#panel[data-control-section="camera"] > .global-time{display:none;}
#panelResize{z-index:43;}
#searchwrap{z-index:45;}
body.controls-closed #searchwrap{right:180px;}
body.controls-closed #resetView{right:26px;}
.panel-filter{margin:-14px -16px 0;padding:12px 12px 10px;gap:6px;
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;background:#08111f;box-shadow:none;}

.panel-filter::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;
  background:inherit;pointer-events:none;}
.panel-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:3px;
  padding-bottom:4px;border-bottom:1px solid rgba(152,199,239,.13);}
.panel-nav button{min-width:0;min-height:38px;padding:7px 4px;border:1px solid transparent;
  border-radius:8px;background:transparent;color:#b7c9dd;font:inherit;font-size:.72rem;
  font-weight:550;cursor:pointer;}
.panel-nav button[aria-pressed="true"]{color:#e8faff;background:#163b50;border-color:#3b7185;}
.panel-nav button:hover{color:#fff;background:#183043;}
.panel-nav button:last-child{padding-inline:7px;}
.panel-filter input{min-width:0;font-size:.84rem;min-height:38px;}
.panel-filter input::placeholder{color:#aebfd1;letter-spacing:0;}
#panelFilterClear{position:static;padding:6px;min-width:30px;min-height:38px;}
#panelCollapseAll{min-height:38px;font-size:.68rem;letter-spacing:.05em;}
.panel-group h2{top:var(--panel-toolbar-h);font-size:.73rem;letter-spacing:.1em;line-height:1.5;
  color:#b8cde3;background:#08111f;padding:10px 0 8px;}
.chk{font-size:.88rem;line-height:1.4;min-height:36px;}
.slider-row label{font-size:.82rem;line-height:1.45;}
.seg button{font-size:.75rem;letter-spacing:.01em;min-height:36px;padding:7px 5px;}
.cloudstat,#detailStat,#terrainStat,#clockStat,#terrainViewNote,.land-note,
.thermal-legend .legend-note,.sun-sky .sky-note{font-size:.78rem;line-height:1.55;
  color:#b4c6da;font-weight:400;}
.land-caveat{font-size:.75rem;line-height:1.55;color:#b4c6da;}
.land-note a,#aboutCard a,#attribution a{color:#84dfff;text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;}
.land-note a:hover,#aboutCard a:hover{color:#fff;}
button:focus-visible,a:focus-visible,#aboutClose:focus-visible,#infoClose:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;}
input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:5px;}
#info{z-index:41;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);
  overflow:auto;overscroll-behavior:contain;background:rgba(8,17,31,.96);
  backdrop-filter:none;-webkit-backdrop-filter:none;}
#infoClose,#aboutClose{width:44px;height:44px;top:5px;right:5px;border-radius:9px;}
#info h3{padding-right:24px;overflow-wrap:anywhere;}
#info.hidden{visibility:hidden;}
#results{max-height:min(48vh,calc(var(--ui-visible-height,100dvh) - 124px));overscroll-behavior:contain;}
#results:not(:empty){background:#0b192b;backdrop-filter:none;-webkit-backdrop-filter:none;}
#results li[data-result-index]{min-height:48px;}
#placeMarker{z-index:19;}
#aboutCard{background:#091222;scrollbar-width:thin;scrollbar-color:#536a84 transparent;
  max-height:calc(100dvh - 32px);overscroll-behavior:contain;}
#aboutTitle{padding-right:24px;}
.active-layer-hud{position:fixed;left:30px;bottom:74px;z-index:23;max-width:300px;
  padding:12px 14px;border:1px solid rgba(152,199,239,.28);border-radius:12px;
  background:rgba(8,17,31,.95);color:#dceaf8;font-size:.8rem;line-height:1.5;pointer-events:none;}
.active-layer-hud[hidden],body.has-info .active-layer-hud{display:none;}
.sky-view-card{position:fixed;left:24px;bottom:28px;z-index:43;max-width:min(360px,calc(100vw - 48px));
  padding:14px 16px;border:1px solid #375572;border-radius:12px;background:#08111f;color:#dceaf8;font-size:.8rem;line-height:1.5;}
.sky-view-card[hidden]{display:none;}
.sky-view-card strong{display:block;font-size:1rem;}
.sky-view-card p{margin:5px 0;}
.sky-view-card a{display:block;color:#84dfff;font-size:.73rem;text-decoration:underline;}
.sky-view-card button,#viewSkyTarget{display:block;padding:10px 14px;margin-top:10px;border:1px solid #42718c;border-radius:8px;background:#10253b;color:#effaff;min-height:42px;}
.sky-target-label{display:block;margin-top:14px;font-size:.82rem;color:#dceaf8;}
#skyTarget{width:100%;min-height:42px;margin-top:5px;background:#102033;color:#effaff;border:1px solid #375572;border-radius:8px;padding:8px;font:inherit;}
body.sky-view #globeViz{pointer-events:none;}
.sky-credits{position:fixed;left:30px;bottom:10px;z-index:23;max-width:calc(100vw - 430px);color:#adbdce;font-size:.64rem;line-height:1.4;}
.sky-credits a{color:#adbdce;text-decoration:underline;text-underline-offset:2px;}
.sky-credits a+a::before{content:' · ';}
body.sky-view .sky-credits{display:none;}
@media(max-width:1100px),(max-height:560px){.sky-credits{left:12px;bottom:64px;max-width:calc(100vw - 24px);font-size:.6rem;}body.controls-open .sky-credits,body.has-info .sky-credits{display:none;}}
@media(max-width:1100px),(max-height:560px){.sky-view-card{left:12px;bottom:76px;max-height:25dvh;overflow:auto;max-width:min(360px,calc(100vw - 24px));}body.controls-open .sky-view-card{display:none;}}
.active-layer-hud strong{display:block;color:#f1f8ff;font-size:.85rem;font-weight:650;}
.active-layer-hud .legend-bar,.active-layer-hud .bar{height:8px;margin:8px 0 4px;border-radius:5px;}
.active-layer-hud .legend-ticks,.active-layer-hud .ends{display:flex;justify-content:space-between;gap:12px;font-size:.73rem;}
.active-layer-hud .legend-note{margin-top:5px;color:#b4c6da;font-size:.73rem;}
body.ambient-on #viewActions,body.ambient-on .active-layer-hud{transition:opacity .28s ease;}
body.ambient-idle #viewActions,body.ambient-idle .active-layer-hud{
  opacity:0;pointer-events:none;transition:opacity 1.8s ease;}
body.ambient-idle #viewActions:focus-within{opacity:1;pointer-events:auto;}
#graphicsRecovery{position:fixed;inset:0;z-index:80;display:grid;place-items:center;
  padding:20px;background:rgba(3,6,15,.94);color:var(--ink);}
#graphicsRecovery[hidden]{display:none;}
#graphicsRecovery .recovery-card{width:min(440px,100%);max-height:calc(100dvh - 40px);overflow:auto;
  padding:28px;border:1px solid rgba(152,199,239,.3);border-radius:16px;background:#0b192b;
  box-shadow:0 14px 60px rgba(0,0,0,.5);}
#graphicsRecovery h2{font-size:1.35rem;line-height:1.3;font-weight:650;}
#graphicsRecovery p{font-size:.95rem;line-height:1.6;margin-top:12px;color:#c0d2e5;}
#graphicsRecovery button{min-height:44px;margin:18px 8px 0 0;padding:10px 14px;border-radius:9px;
  font:inherit;font-size:.87rem;font-weight:600;background:#173b54;border:1px solid #4e819b;
  color:#f1f9ff;cursor:pointer;}
#graphicsRecovery button:hover{background:#204c67;border-color:var(--accent);}
#graphicsRecovery .site-return{display:flex;width:fit-content;margin-top:18px;}

@media (max-width:1100px),(max-height:560px){
  :root{--panel-toolbar-h:122px;}
  #titlebar{left:max(16px,env(safe-area-inset-left));top:calc(18px + env(safe-area-inset-top));right:16px;}
  #titlebar h1{font-size:1.13rem;letter-spacing:.16em;}
  #titlebar p{display:none;}
  #siteReturn{position:absolute;top:-14px;right:0;margin-top:0;padding-inline:8px;font-size:.78rem;}
  #siteReturn .site-return-prefix{display:none;}
  #searchwrap,body.controls-closed #searchwrap{top:calc(54px + env(safe-area-inset-top));
    left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));
    width:auto;max-width:480px;margin-inline:auto;transform:none;}
  #search{padding:12px 16px;font-size:16px;}
  #viewActions{top:auto;right:max(12px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));}
  #panelToggle{min-height:48px;border-radius:14px;min-width:142px;}
  #panel{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));
    top:auto;bottom:calc(76px + env(safe-area-inset-bottom) + var(--ui-keyboard-inset,0px));
    width:auto;max-width:560px;margin-inline:auto;max-height:min(42vh,calc(100vh - 180px),560px);
    max-height:min(42dvh,calc(var(--ui-visible-height,100dvh) - 180px - env(safe-area-inset-top)),560px);
    padding:14px 16px 18px;gap:14px;border-radius:16px;}
  #panel::before{display:none;}
  #panelResize{display:none;}
  .panel-filter{padding:12px 12px 10px;margin:-14px -16px 0;}
  .panel-group h2{top:var(--panel-toolbar-h);margin:0 0 4px;padding:10px 0 8px;min-height:44px;}
  
  .panel-group h2 .mini-reset{min-height:44px;min-width:44px;flex-shrink:0;margin-top:-10px;margin-bottom:-8px;}
  #panel.filtering .panel-group h2 .mini-reset{margin-top:0;margin-bottom:0;}
  .chk{min-height:44px;}
  .seg button{min-height:44px;}
  .panel-filter input,#panelFilterClear,#panelCollapseAll,.panel-nav button{min-height:44px;}
  .panel-filter input{font-size:16px;}
  .panel-nav button,.start-actions button{font-size:.8rem;}
  #panelFilterClear{min-width:44px;}
  .start-actions button,.terrain-views button,.btn-wide,.land-find-list button,
  #viewSkyTarget,#returnFromSky,#aboutBtn,.info-links a,.clock-date-row input{min-height:44px;}
  input[type=range]{height:44px;}
  #info{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));
    top:auto;bottom:calc(76px + env(safe-area-inset-bottom));
    width:auto;max-width:560px;margin-inline:auto;max-height:48vh;max-height:48dvh;
    padding:20px;transition:none;}
  body.controls-open #info{display:none;}
  #resetView,body.controls-closed #resetView{right:auto;left:max(12px,env(safe-area-inset-left));
    bottom:calc(14px + env(safe-area-inset-bottom));height:48px;width:48px;z-index:43;
    background:#091425;backdrop-filter:none;-webkit-backdrop-filter:none;}
  #fps{left:72px;bottom:calc(30px + env(safe-area-inset-bottom));font-size:.65rem;
    max-width:max(0px,min(120px,calc(100vw - 234px)));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #attribution{bottom:calc(2px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);font-size:.6rem;}
  #ambientCaption{left:18px;right:18px;top:118px;bottom:auto;max-width:560px;}
  #ambientCaption .ac-place{font-size:1.5rem;}
  .active-layer-hud{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:320px;}
  body.controls-open .active-layer-hud{display:none;}
  body.keyboard-open #viewActions,body.keyboard-open #resetView,body.keyboard-open #fps,
  body.keyboard-open .active-layer-hud,body.keyboard-open #info{visibility:hidden;}
}
@media (max-height:560px) and (min-width:481px) and (orientation:landscape){
  #titlebar{right:auto;width:min(360px,calc(100vw - min(390px,48vw) - 40px));}
  #searchwrap,body.controls-closed #searchwrap{left:max(16px,env(safe-area-inset-left));right:auto;max-width:none;width:min(360px,42vw);}
  #panel,#info{left:auto;right:max(12px,env(safe-area-inset-right));top:calc(14px + env(safe-area-inset-top));bottom:calc(76px + env(safe-area-inset-bottom));
    width:min(390px,48vw);max-height:none;}
  #ambientCaption{max-width:42vw;}
}
@media (max-height:560px) and (min-width:481px) and (max-width:700px) and (orientation:landscape){
  #siteReturn{position:static;margin-top:10px;}
  #searchwrap,body.controls-closed #searchwrap{top:calc(106px + env(safe-area-inset-top));}
  #results{max-height:min(48vh,max(0px,calc(var(--ui-visible-height,100dvh) - 228px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));}
}
@media (prefers-reduced-motion:reduce){
  #panel,#info,#viewActions,.active-layer-hud{transition:none!important;}
}
@media (max-width:600px),(hover:none) and (pointer:coarse){
  .pointer-guide{display:none;}
}
html[data-bundled-detail-only] [data-external-detail] { display: none !important; }
