/* The landscape stays central; controls move into a thumb-friendly mobile dock. */
.language-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:24px;background:#0719219c;gap:2px}
.language-switch button{min-width:58px;min-height:38px;padding:0 12px;border-radius:20px;font-size:11px;letter-spacing:0}
.language-switch [aria-pressed=true]{background:#dce9dd;color:#18322c}
.compact-weather,.mobile-scene-actions,.exit-immersive,.mobile-zone{display:none}
.immersive .exit-immersive{display:flex;align-items:center;gap:10px;position:absolute;right:24px;bottom:max(28px,env(safe-area-inset-bottom));z-index:25;border:1px solid var(--line);border-radius:30px;background:#0c252cbe;backdrop-filter:blur(18px);min-height:46px;padding:0 18px;font-size:12px}
.immersive .exit-immersive>span:first-child{font-size:23px}
html[lang=en] .intro h1{font-size:clamp(40px,4.2vw,65px);letter-spacing:-.03em;line-height:1.18}
html[lang=en] .place-head h2{letter-spacing:0;font-size:20px}
@media(max-width:1100px){.top-actions #data-status,.top-actions .live-dot{display:none}}
@media(max-width:700px), (max-height:500px) and (pointer:coarse){
  :root{--mobile-bottom:env(safe-area-inset-bottom,0px);--mobile-top:env(safe-area-inset-top,0px);--dock-bottom:calc(184px + var(--mobile-bottom))}
  html,body{font-size:14px;background:#030912}
  #globe{inset:calc(188px + var(--mobile-top)) 0 calc(320px + var(--mobile-bottom))}
  .terrain-view #globe,.immersive #globe{inset:0}
  .vignette{background:linear-gradient(180deg,#020b12aa,transparent 24%,transparent 58%,#020c14b3)}
  .topbar{height:calc(116px + var(--mobile-top));padding:calc(9px + var(--mobile-top)) 16px 0;gap:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:51px 52px;align-items:center}
  .brand{font-size:22px;gap:9px;letter-spacing:.16em;width:max-content}
  .brand-symbol{font-size:28px}.brand small{font-size:8px;letter-spacing:.12em;margin-top:5px}
  .top-actions{grid-column:2;grid-row:1;gap:4px}
  .top-actions .icon-btn{display:none}
  .language-switch{padding:2px;border-color:#d9f3df28}
  .language-switch button{min-height:40px;min-width:59px;font-size:11px;padding:0 10px}
  .view-switch{position:static;grid-column:1/-1;grid-row:2;justify-self:center;width:min(278px,85vw);padding:3px;gap:3px;border-radius:27px;background:#0c202aa3}
  .view-switch button{flex:1;min-height:40px;padding:0 12px;font-size:12px;border-radius:23px;white-space:nowrap}
  .intro{top:calc(135px + var(--mobile-top));left:0;right:0;text-align:center}
  .intro .eyebrow{display:none}
  .intro h1,html[lang=en] .intro h1{font-size:25px;line-height:1.5;font-weight:300;letter-spacing:.08em;margin:0}
  .intro h1 br{display:none}.intro h1 em{margin-left:.2em}
  html[lang=en] .intro h1{letter-spacing:-.01em;font-size:27px}
  .intro p{display:block;font-size:10px;letter-spacing:.03em;margin:8px 0 0;color:#b2c5cc}
  .intro-line{display:none}
  .location-panel,.location-panel.collapsed,.location-panel:not(.collapsed){left:16px;right:16px;bottom:var(--dock-bottom);width:auto;top:auto;padding:12px 16px;border-radius:20px;background:linear-gradient(130deg,#142e38db,#081e28e6);border-color:#dbefdf26;box-shadow:0 10px 40px #0003;max-height:calc(100dvh - 320px - var(--mobile-top) - var(--mobile-bottom));overscroll-behavior:contain}
  .location-panel.collapsed{height:112px;max-height:none;overflow:visible;padding:10px 16px}
  #search-form{height:42px;gap:9px;padding:0;border-color:#d9edeb19}
  #search{font-size:16px;height:40px;line-height:40px;letter-spacing:-.035em}
  #search::placeholder{font-size:12px;letter-spacing:0}
  #search-form button{min-width:40px;min-height:40px;padding:0}
  #search-form svg{width:16px;height:16px}
  .place-head,.location-panel.collapsed .place-head{margin-top:6px;gap:6px;min-height:44px}
  .place-head>div:first-child{min-width:0;flex:1}
  .place-head .eyebrow{font-size:9px;letter-spacing:.04em;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b2c7c9}
  .place-head h2,html[lang=en] .place-head h2{font-size:16px;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.4}
  .location-panel.collapsed .place-head .eyebrow{display:none}
  .location-panel.collapsed .compact-weather{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:0;max-width:100px}
  .compact-weather strong{font-size:28px;font-weight:400;line-height:1;letter-spacing:-.05em}
  .compact-weather>span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  #panel-toggle{width:44px;height:44px;min-width:44px;margin:0 0 0 3px;font-size:22px;background:#e6f1e608}
  .coordinates{font-size:10px;margin:6px 0 12px}
  .temperature{margin:14px 0 18px}.temperature strong{font-size:52px}.temperature>span:first-child{font-size:30px}.temperature>div{font-size:13px}.temperature small{font-size:11px}
  .metrics{margin-bottom:16px}.metrics>div>span{font-size:11px}.metrics strong{font-size:21px}.metrics small{font-size:11px}
  .marine-row{gap:18px;padding:12px 0 8px}.marine-row>div>span{font-size:11px}.marine-row strong{font-size:21px}.marine-row small{font-size:11px}
  #dive-btn{font-size:12px;min-height:44px}.data-note{font-size:11px;line-height:1.65}
  .forecast-heading{font-size:11px;margin:17px 0 12px}.hourly{gap:3px}.hour{min-width:0;min-height:76px;border-radius:10px;gap:8px;font-size:13px}.hour.chosen{background:#d8e8dc0d}.hour small{font-size:11px}.hour .w-icon{font-size:20px}
  #search-results{position:absolute;bottom:calc(100% + 10px);left:0;right:0;background:#0c2633f5;border:1px solid var(--line);border-radius:16px;padding:8px 12px;max-height:min(42dvh,300px);overflow:auto;box-shadow:0 8px 35px #0005;font-size:13px;backdrop-filter:blur(25px);z-index:20}
  .search-result{min-height:52px;padding:10px 6px;font-size:14px}.search-result small{font-size:11px;line-height:1.4}
  .location-panel:not(.collapsed) #search-results{position:static;box-shadow:none;max-height:210px;margin-top:10px}
  .mobile-scene-actions{display:flex;align-items:center;justify-content:space-between;position:absolute;left:18px;right:18px;bottom:calc(var(--dock-bottom) + 122px);z-index:8;pointer-events:none}
  .mobile-scene-actions button{pointer-events:auto;min-width:44px;min-height:44px;border:1px solid #e0f2e823;border-radius:50%;background:#0b202ab0;backdrop-filter:blur(12px);font-size:23px;display:grid;place-items:center}
  .touch-hint{font-size:10px;color:#a6bec8;letter-spacing:.01em;text-shadow:0 2px 8px #000}
  .scene-controls,body.panel-expanded .scene-controls{display:none;top:auto;bottom:calc(var(--dock-bottom) + 166px);left:16px;right:16px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#102934f5;backdrop-filter:blur(24px);box-shadow:0 10px 30px #0005;gap:7px;z-index:15;grid-template-columns:repeat(5,1fr)}
  .controls-open .scene-controls{display:grid}.scene-controls .control-separator{display:none}
  .scene-controls .scene-button,.scene-controls .scene-button:nth-last-child(2){display:flex;min-height:64px;font-size:11px;padding:8px 3px;gap:7px;background:#d5ecdd06}
  .scene-button>span:first-child{font-size:24px;height:27px}.scene-button.active{background:#dcebd916}
  .scene-controls #clean-toggle{display:none}
  .controls-open .scene-controls{grid-template-columns:repeat(4,1fr)}
  .navigation-controls{display:none}
  .scene-caption{display:none}
  .bottom-panel{left:16px;right:16px;bottom:calc(14px + var(--mobile-bottom))}
  .destinations{height:44px;padding:0;gap:20px;margin-bottom:6px;scroll-snap-type:x proximity;mask-image:linear-gradient(90deg,#000 92%,transparent)}
  .destinations button{min-height:44px;padding:0;font-size:12px;scroll-snap-align:start;flex-shrink:0}.destinations button>span{margin-left:5px}
  .destinations>.eyebrow{display:none}
  .timeline{display:grid;grid-template-columns:44px 1fr auto;grid-template-rows:44px 42px;padding:8px 12px 10px;column-gap:11px;row-gap:0;border-radius:19px;background:#0c2630d9}
  .play-btn{width:44px;height:44px;font-size:14px;grid-column:1;grid-row:1}
  .time-current{grid-column:2;grid-row:1;display:flex;flex-direction:row;align-items:baseline;gap:10px;min-width:0}
  .time-current strong{font-size:12px;white-space:nowrap}.time-current>span{font-size:18px;white-space:nowrap;letter-spacing:0}
  .mobile-zone{display:inline;font-size:9px;letter-spacing:0;color:#abc4c9}.time-zone{display:none}
  #now-btn{grid-column:3;grid-row:1;min-height:44px;min-width:44px;font-size:12px;padding:0}
  .time-track{grid-column:1/-1;grid-row:2;min-width:0;align-self:start;position:relative}
  .day-labels{display:none}.time-ticks{font-size:10px;margin-top:-6px;pointer-events:none;color:#adc4cb}
  .time-track .time-ticks span:nth-child(2),.time-track .time-ticks span:nth-child(3){display:block}
  input[type=range]{height:32px;width:100%;margin:0;display:block;touch-action:pan-y}
  .footer-meta{position:relative;margin:0;height:18px;padding:4px 0 0;align-items:center;gap:8px;font-size:9px}
  .footer-meta #grid-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-size:8px;color:#a2bbc4}
  .footer-meta button{font-size:9px;min-height:24px;flex-shrink:0;white-space:nowrap;padding:0}
  .desktop-hint{display:none}
  .cesium-viewer-bottom{bottom:0!important;left:8px!important;max-width:calc(100% - 16px)!important;opacity:.75;font-size:8px!important}
  .notice{top:calc(118px + var(--mobile-top));max-width:calc(100vw - 32px);width:max-content;font-size:12px;padding:12px 16px;z-index:21}
  body.panel-expanded .mobile-scene-actions{display:none}
  body.panel-expanded .location-panel{max-height:calc(100dvh - 316px - var(--mobile-top) - var(--mobile-bottom))}
  .immersive .topbar,.immersive .mobile-scene-actions,.immersive .scene-controls{display:none}
  .immersive .exit-immersive{right:16px;bottom:calc(24px + var(--mobile-bottom));font-size:13px}
  dialog{padding:24px;max-height:calc(100dvh - 50px - var(--mobile-top));border-radius:22px;overscroll-behavior:contain}
  dialog h2{font-size:28px}dialog p,dialog dt{font-size:14px}dialog dd{font-size:13px;line-height:1.85}dialog .icon-btn{width:44px;height:44px}dialog .legacy-link{font-size:12px;min-height:44px}
}
@media(max-width:370px){
  .topbar{padding-left:12px;padding-right:12px}.brand{font-size:19px}.brand-symbol{font-size:24px}.language-switch button{min-width:55px;padding:0 9px}
  .location-panel,.location-panel.collapsed,.location-panel:not(.collapsed),.bottom-panel{left:12px;right:12px}
  .time-current{gap:6px}.time-current strong{font-size:11px}.time-current>span{font-size:16px}.mobile-zone{font-size:8px}
  .timeline{column-gap:8px;padding-left:10px;padding-right:10px}.location-panel.collapsed .compact-weather{max-width:80px}.place-head h2{font-size:15px}
}
@media(max-height:700px) and (max-width:700px) and (orientation:portrait){
  .intro{top:121px}.intro h1,html[lang=en] .intro h1{font-size:21px}.intro p{display:none}
  .touch-hint{font-size:9px}.mobile-scene-actions{bottom:calc(var(--dock-bottom) + 116px)}
  #globe{inset:142px 0 calc(294px + var(--mobile-bottom))}
  .terrain-view #globe,.immersive #globe{inset:0}
  .location-panel:not(.collapsed){bottom:calc(18px + var(--mobile-bottom));max-height:calc(100dvh - 150px - var(--mobile-top))}
  body.panel-expanded .location-panel{bottom:calc(18px + var(--mobile-bottom));max-height:calc(100dvh - 150px - var(--mobile-top))}
  body.panel-expanded .bottom-panel{display:none}
}
@media(max-height:500px) and (pointer:coarse) and (orientation:landscape){
  .topbar{display:flex;height:64px;padding:8px max(18px,env(safe-area-inset-right)) 8px max(18px,env(safe-area-inset-left));gap:18px}.view-switch{width:230px;margin-left:auto}.top-actions{order:3}
  .intro{top:90px;left:36px;right:auto;text-align:left}.intro h1{font-size:23px}.intro p{display:none}
  #globe{inset:60px 325px 85px 0}.terrain-view #globe,.immersive #globe{inset:0}
  .location-panel,.location-panel.collapsed,.location-panel:not(.collapsed),body.panel-expanded .location-panel{left:auto;right:max(18px,env(safe-area-inset-right));width:290px;bottom:90px;max-height:calc(100dvh - 158px)}
  .bottom-panel{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:6px}
  .timeline{grid-template-columns:44px 178px 1fr 44px;grid-template-rows:44px;padding:6px 12px;gap:12px}
  .time-track{grid-row:1;grid-column:3;align-self:center}#now-btn{grid-column:4}.destinations{display:none}.footer-meta{height:20px}
  .mobile-scene-actions{left:auto;right:18px;width:290px;bottom:194px}.touch-hint{font-size:9px}
  .scene-controls{left:auto;right:18px;width:290px;bottom:243px}
}

.map-credits{position:absolute;left:12px;bottom:3px;max-width:90vw;z-index:10;line-height:10px;opacity:.75}
.map-credits .cesium-credit-logoContainer img{max-height:11px}.map-credits .cesium-widget-credits,.map-credits .cesium-credit-textContainer{font-size:8px!important}
@media(max-width:700px){.map-credits{left:16px;bottom:calc(2px + env(safe-area-inset-bottom));line-height:9px}.map-credits .cesium-credit-logoContainer img{max-height:9px}}
@media(max-height:700px) and (max-width:700px) and (orientation:portrait){#globe{inset:154px 0 calc(312px + var(--mobile-bottom))}.terrain-view #globe,.immersive #globe{inset:0}}

@media(max-height:500px) and (pointer:coarse) and (orientation:landscape){
  .intro{display:none}.scene-controls{right:auto;left:max(18px,env(safe-area-inset-left));bottom:90px;width:280px}
  .topbar{gap:12px}.view-switch{width:218px}.brand{font-size:20px}.brand-symbol{font-size:24px}
  #globe{inset:60px 325px 85px 0}.terrain-view #globe,.immersive #globe{inset:0}
}
/* Very short portrait screens reserve more space for the Earth. */
@media(max-height:650px) and (max-width:700px) and (orientation:portrait){
  :root{--dock-bottom:calc(140px + var(--mobile-bottom))}
  .destinations{display:none}
  .location-panel.collapsed{height:100px;padding-top:4px;padding-bottom:4px}
  #globe{inset:150px 0 calc(228px + var(--mobile-bottom))}
  .terrain-view #globe,.immersive #globe{inset:0}
  .mobile-scene-actions{bottom:calc(var(--dock-bottom) + 110px)}
  .touch-hint{visibility:hidden}
  .scene-controls{bottom:calc(var(--dock-bottom) + 160px)}
}
.map-credits{width:calc(100% - 32px);white-space:nowrap;pointer-events:none}
.map-credits .cesium-widget-credits{pointer-events:auto;white-space:nowrap}
.map-credits .cesium-credit-expand-link{font-size:8px!important;white-space:nowrap;padding-left:4px;line-height:10px}
@media(max-width:700px), (max-height:500px) and (pointer:coarse){
  .map-credits{bottom:calc(1px + env(safe-area-inset-bottom));line-height:10px}
  .bottom-panel{bottom:calc(22px + var(--mobile-bottom))}
  :root{--dock-bottom:calc(192px + var(--mobile-bottom))}
}
@media(max-height:650px) and (max-width:700px) and (orientation:portrait){:root{--dock-bottom:calc(148px + var(--mobile-bottom))}}
@media(max-height:500px) and (pointer:coarse) and (orientation:landscape){.bottom-panel{bottom:14px}.location-panel.collapsed,.location-panel:not(.collapsed){bottom:98px}}
