/* vgis_ui.css version v6 — 2026-03-29T13:20:00Z — turns the projection chooser into a retractable edge control with a globe-grid handle and Experimental hover badges. */

    #probePanelBackdrop{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.18);
      opacity:0;
      pointer-events:none;
      transition:opacity .22s ease;
      z-index:70000;
    }
    #probePanelBackdrop.open{
      opacity:1;
      pointer-events:auto;
    }

 #probePanel{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:min(430px, 38vw);
  max-width:92vw;
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  z-index:70010;
  transform:translateX(-105%);
  transition:transform .25s ease, top .18s ease, border-radius .18s ease;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  touch-action:pan-y;
  pointer-events:auto;
  backdrop-filter:blur(8px);
}
    #probePanel.open{
      transform:translateX(0);
    }
    #probePanel.dragging{
      transition:none;
    }

    #probePanel .pp-handleWrap{
      display:none;
      padding:10px 0 8px;
      min-height:44px;
      background:rgba(255,255,255,.96);
      touch-action:none;
      -webkit-user-select:none;
      user-select:none;
    }
    #probePanel .pp-handle{
      width:64px;
      height:7px;
      padding:16px 34px;
      box-sizing:content-box;
      background:#cfcfcf;
      background-clip:content-box;
      border-radius:999px;
      margin:0 auto;
      touch-action:none;
      cursor:ns-resize;
      -webkit-user-select:none;
      user-select:none;
    }

    #probePanel .pp-head{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:14px 16px 12px;
      border-bottom:1px solid #e5e5e5;
      background:rgba(255,255,255,.96);
      flex:0 0 auto;
    }
    #probePanel .pp-headText{
      min-width:0;
      flex:1;
    }
    #probePanel .pp-kicker{
      font:11px/1.2 sans-serif;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#666;
      margin-bottom:4px;
    }
	
#probePanel.wgpsn-panel{
      background:linear-gradient(180deg, rgba(231,233,238,.98) 0%, rgba(244,244,246,.98) 100%);
    }
    #probePanel.wgpsn-panel .pp-handleWrap,
    #probePanel.wgpsn-panel .pp-head{
      background:rgba(241,243,246,.96);
      border-bottom-color:#b4bac3;
    }
    #probePanel.wgpsn-panel .pp-kicker{
      font:700 12px/1.2 sans-serif;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#32363d;
      margin-bottom:6px;
    }
    #probePanel.wgpsn-panel .pp-title{
      color:#111;
      font-size:20px;
    }
    #probePanel.wgpsn-panel .pp-summary,
    #probePanel.wgpsn-panel .pp-props,
    #probePanel.wgpsn-panel .pp-card,
    #probePanel.wgpsn-panel .pp-photo{
      border-color:#bcc2ca;
    }
    #probePanel.wgpsn-panel .pp-mtg-card{
      margin:0 0 18px;
      border:3px solid #b08a3c;
      border-radius:22px;
      overflow:hidden;
      background:linear-gradient(180deg, #e8dcc0 0%, #d7c79d 100%);
      box-shadow:0 12px 28px rgba(0,0,0,.18);
    }
    #probePanel.wgpsn-panel .pp-mtg-namebar,
    #probePanel.wgpsn-panel .pp-mtg-typebar{
      padding:10px 14px;
      background:linear-gradient(180deg, #edf1f5 0%, #bcc4cd 50%, #eef2f5 100%);
      color:#111;
      text-shadow:0 1px 0 rgba(255,255,255,.55);
    }
    #probePanel.wgpsn-panel .pp-mtg-namebar{
      border-bottom:1px solid rgba(0,0,0,.65);
      font:700 20px/1.15 sans-serif;
      letter-spacing:.01em;
    }
    #probePanel.wgpsn-panel .pp-mtg-typebar{
      border-top:1px solid rgba(0,0,0,.65);
      font:700 13px/1.25 sans-serif;
      letter-spacing:.05em;
      text-transform:uppercase;
    }
    #probePanel.wgpsn-panel .pp-mtg-photo{
      margin:0;
      border:0;
      border-radius:0;
      background:#f3f1ec;
    }
    #probePanel.wgpsn-panel .pp-mtg-photo img{
      display:block;
      width:100%;
      aspect-ratio:16 / 9;
      object-fit:cover;
    }
    #probePanel.wgpsn-panel .pp-mtg-info{
      margin:12px;
      padding:12px 14px;
      border:1px solid rgba(0,0,0,.24);
      border-radius:14px;
      background:rgba(255,255,255,.82);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
    }
    #probePanel.wgpsn-panel .pp-mtg-row{
      display:grid;
      grid-template-columns:minmax(84px, 116px) 1fr;
      gap:10px;
      padding:7px 0;
      border-top:1px solid rgba(0,0,0,.08);
    }
    #probePanel.wgpsn-panel .pp-mtg-row:first-child{
      border-top:0;
      padding-top:0;
    }
    #probePanel.wgpsn-panel .pp-mtg-row:last-child{
      padding-bottom:0;
    }
    #probePanel.wgpsn-panel .pp-mtg-label{
      font:700 11px/1.2 sans-serif;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:#4d535c;
    }
    #probePanel.wgpsn-panel .pp-mtg-value{
      font:14px/1.4 sans-serif;
      color:#111;
      word-break:break-word;
    }
    #probePanel.wgpsn-panel .pp-mtg-value a{
      color:#0645ad;
      text-decoration:underline;
    }
	
	
    #probePanel .pp-title{
      margin:0;
      font:700 24px/1.08 sans-serif;
      color:#111;
      word-break:break-word;
    }
    #probePanel .pp-title.pp-title-has-profile{
      position:relative;
      overflow:hidden;
      padding:8px 12px 12px;
      margin:-8px -12px -2px;
      border-radius:12px;
      min-height:66px;
    }
    #probePanel .pp-titleProfileBg{
      position:absolute;
      inset:0;
      display:block;
      pointer-events:none;
      z-index:0;
      opacity:1;
    }
    #probePanel .pp-titleProfileBg svg{
      display:block;
      width:100%;
      height:100%;
    }
    #probePanel .pp-titleProfileBg path{
      fill:none;
      stroke:rgba(60,84,150,0.55);
      stroke-width:2.6;
      stroke-linecap:round;
      stroke-linejoin:round;
      vector-effect:non-scaling-stroke;
    }
    #probePanel .pp-titleText{
      position:relative;
      z-index:1;
      display:block;
    }
    #probePanel .pp-title.pp-title-has-profile .pp-source{
      position:relative;
      z-index:1;
      display:block;
      margin-top:6px;
    }
    #probePanel .pp-close{
      appearance:none;
      border:0;
      background:transparent;
      color:#444;
      font:700 28px/1 sans-serif;
      cursor:pointer;
      padding:0;
      width:32px;
      height:32px;
      flex:0 0 32px;
    }

    #probePanel .pp-body{
      padding:16px;
      overflow:auto;
      overscroll-behavior:contain;
      font:14px/1.45 sans-serif;
      color:#222;
      flex:1 1 auto;
      min-height:0;
    }

    #probePanel .pp-badges{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:0 0 14px;
    }
    #probePanel .pp-badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:4px 9px;
      border-radius:999px;
      background:#f1f3f4;
      color:#333;
      font:12px/1.2 sans-serif;
    }

    #probePanel .pp-photo{
      margin:0 0 14px;
      border-radius:14px;
      overflow:hidden;
      border:1px solid #ddd;
      background:#f7f7f7;
    }
    #probePanel .pp-photo img{
      display:block;
      width:100%;
      height:auto;
    }

    #probePanel .panel-cutout-frame{
      position:relative;
      overflow:hidden;
      background:#000;
      --panel-cutout-frame-thickness: 8px;
      --panel-cutout-segment-x: 6%;
      --panel-cutout-segment-y: 6%;
    }

    #probePanel .panel-cutout-frame::before{
      content:none;
    }

    #probePanel .panel-cutout-frame-overlay{
      position:absolute;
      inset:0;
      pointer-events:none;
      z-index:6;
      width:100%;
      height:100%;
      display:block;
    }

    #probePanel .panel-cutout-scale-info{
      padding:7px 12px 8px;
      border-top:1px solid #d8d8d8;
      background:#fff;
      font:11px/1.35 sans-serif;
      color:#333;
    }

    #probePanel .panel-cutout-scale-line{
      margin:0 0 2px;
    }

    #probePanel .panel-cutout-scale-row{
      display:flex;
      align-items:center;
      gap:8px;
      margin-top:5px;
      white-space:nowrap;
    }

    #probePanel .panel-cutout-scale-bar{
      display:inline-block;
      height:8px;
      min-width:28px;
      max-width:72%;
      border:1px solid #111;
      background:linear-gradient(90deg, #111 0 50%, #fff 50% 100%);
      box-sizing:border-box;
    }

    #probePanel .panel-cutout-frame-note{
      color:#666;
      white-space:normal;
    }

    #probePanel .pp-wiki-entry .pp-photo{
      border-radius:18px;
      overflow:hidden;
      border:1px solid #d7d7d7;
      background:#fff;
      box-shadow:0 2px 10px rgba(0,0,0,.06);
    }
    #probePanel .pp-wiki-entry .pp-photo img{
      display:block;
      width:100%;
      height:auto;
    }

    #probePanel .pp-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:10px;
      margin:0 0 16px;
    }
    #probePanel .pp-card{
      border:1px solid #e5e5e5;
      border-radius:14px;
      padding:10px 12px;
      background:#fff;
      min-width:0;
    }
    #probePanel .pp-cardLabel{
      font:11px/1.2 sans-serif;
      letter-spacing:.05em;
      text-transform:uppercase;
      color:#777;
      margin:0 0 4px;
    }
    #probePanel .pp-cardValue{
      font:14px/1.35 sans-serif;
      color:#111;
      word-break:break-word;
    }

    #probePanel .pp-section{
      margin:0 0 16px;
    }
    #probePanel .pp-section h3{
      margin:0 0 8px;
      font:700 14px/1.2 sans-serif;
      color:#111;
    }

    #probePanel .pp-summary{
      border:1px solid #e5e5e5;
      border-radius:14px;
      padding:12px;
      background:#fff;
    }

    #probePanel .pp-props{
      border:1px solid #e5e5e5;
      border-radius:14px;
      overflow:hidden;
      background:#fff;
    }
    #probePanel .pp-prop{
      display:grid;
      grid-template-columns:minmax(110px, 38%) 1fr;
      gap:10px;
      padding:10px 12px;
      border-top:1px solid #efefef;
    }
    #probePanel .pp-prop:first-child{
      border-top:0;
    }
    #probePanel .pp-propKey{
      font:600 12px/1.3 sans-serif;
      color:#666;
      word-break:break-word;
    }
    #probePanel .pp-propVal{
      font:14px/1.35 sans-serif;
      color:#111;
      word-break:break-word;
    }

    #probePanel .pp-propVal a{
      color:#0645ad;
      text-decoration:underline;
    }

    #probePanel .pp-body.wgpsn-google-body{
      padding:0 0 16px;
    }

    #probePanel .wgpsn-google-panel{
      display:flex;
      flex-direction:column;
      gap:0;
      --wgpsn-hero-height: 248px;
    }

    #probePanel .wgpsn-google-media{
      display:block;
      margin:0;
      height:var(--wgpsn-hero-height);
      overflow:hidden;
      background:#f3f1ec;
    }

    #probePanel .wgpsn-google-media.has-side-media{
      display:grid;
      grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
      gap:0;
      align-items:stretch;
    }

    #probePanel .wgpsn-google-media-left,
    #probePanel .wgpsn-google-media-right{
      min-width:0;
      min-height:0;
      height:100%;
      background:#f3f1ec;
    }

    #probePanel .wgpsn-google-media-left .pp-photo,
    #probePanel .wgpsn-google-media-right .pp-photo{
      margin:0;
      border:0;
      border-radius:0;
      background:#f3f1ec;
      height:100%;
    }

    #probePanel .wgpsn-google-media-left .pp-photo > div,
    #probePanel .wgpsn-google-media-right .pp-photo > div{
      height:100%;
      background:#f3f1ec;
    }

    #probePanel .wgpsn-google-media-right{
      display:none;
    }

    #probePanel .wgpsn-google-media.has-side-media .wgpsn-google-media-right{
      display:block;
    }

    #probePanel .wgpsn-google-media-left img,
    #probePanel .wgpsn-google-media-right img{
      display:block;
      width:100%;
      height:100%;
      background:#f3f1ec;
    }

    #probePanel .wgpsn-google-media-left img{
      object-fit:contain;
      object-position:center center;
    }

    #probePanel .wgpsn-google-media-right img{
      object-fit:cover;
      object-position:center top;
    }

    #probePanel .wgpsn-google-dtm-row{
      padding:12px 16px 0;
      background:#f8f8f8;
    }

    #probePanel .wgpsn-dtm-card.pp-photo{
      margin:0;
      border-radius:8px;
      background:#fff;
      border-color:#d9d9d9;
      overflow:hidden;
    }

    #probePanel .wgpsn-dtm-title{
      padding:8px 10px 7px;
      border-bottom:1px solid #e3e3e3;
      font:700 12px/1.2 Arial, Helvetica, sans-serif;
      color:#222;
      background:#fafafa;
    }

    #probePanel .wgpsn-dtm-imageWrap{
      position:relative;
      aspect-ratio:1 / 1;
      background:#f3f1ec;
      overflow:hidden;
    }

    #probePanel .wgpsn-dtm-imageWrap img{
      display:block;
      width:100%;
      height:100%;
      object-fit:contain;
      object-position:center center;
      background:transparent;
    }

    #probePanel .wgpsn-dtm-info{
      padding:8px 10px 10px;
      border-top:1px solid #e3e3e3;
      background:#fff;
      color:#333;
      font:11px/1.35 Arial, Helvetica, sans-serif;
    }

    #probePanel .wgpsn-dtm-colorbar-bar{
      height:10px;
      border:1px solid rgba(0,0,0,.28);
      background:#bbb;
      box-sizing:border-box;
    }

    #probePanel .wgpsn-dtm-colorbar-labels,
    #probePanel .wgpsn-dtm-metrics,
    #probePanel .wgpsn-dtm-scale-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      min-width:0;
    }

    #probePanel .wgpsn-dtm-colorbar-labels{
      margin-top:3px;
      color:#555;
    }

    #probePanel .wgpsn-dtm-scale{
      margin-top:7px;
    }

    #probePanel .wgpsn-dtm-scale-row{
      justify-content:flex-start;
      white-space:nowrap;
    }

    #probePanel .wgpsn-dtm-scale-bar{
      display:inline-block;
      height:8px;
      min-width:28px;
      max-width:72%;
      border:1px solid #111;
      background:linear-gradient(90deg, #111 0 50%, #fff 50% 100%);
      box-sizing:border-box;
      flex:0 0 auto;
    }

    #probePanel .wgpsn-dtm-metrics{
      margin-top:3px;
      flex-wrap:wrap;
      justify-content:flex-start;
      color:#555;
    }

    #probePanel .wgpsn-google-nameBar{
      padding:16px 16px 12px;
    }

    #probePanel .wgpsn-google-content{
      padding:16px;
    }

    #probePanel .wgpsn-google-name{
      font:700 38px/1.04 Arial, Helvetica, sans-serif;
      color:#111;
      letter-spacing:-0.015em;
      word-break:break-word;
      margin:0;
    }

    #probePanel .wgpsn-google-nameOriginal{
      margin:6px 0 14px;
      font:13px/1.35 Arial, Helvetica, sans-serif;
      color:#4b4f55;
      word-break:break-word;
    }


    #probePanel .wgpsn-google-relations{
      display:flex;
      flex-direction:column;
      gap:4px;
      margin:8px 0 14px;
      color:#3c4043;
      font:13px/1.35 Arial, Helvetica, sans-serif;
    }

    #probePanel .wgpsn-google-relationLine{
      word-break:break-word;
    }

    #probePanel .wgpsn-google-split{
      display:grid;
      grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
      gap:0;
      margin:0 0 14px;
      border:1px solid #d6dbe1;
      border-radius:16px;
      overflow:hidden;
      background:#fff;
    }

    #probePanel .wgpsn-google-splitCard{
      min-width:0;
      padding:12px 14px;
      border-left:1px solid #e1e4e8;
      background:#fff;
    }

    #probePanel .wgpsn-google-splitCard:first-child{
      border-left:0;
    }

    #probePanel .wgpsn-google-splitLabel{
      margin:0 0 6px;
      font:700 11px/1.2 Arial, Helvetica, sans-serif;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:#5f6368;
    }

    #probePanel .wgpsn-google-splitType{
      margin:0 0 6px;
      font:700 14px/1.3 Arial, Helvetica, sans-serif;
      color:#202124;
      word-break:break-word;
    }

    #probePanel .wgpsn-google-splitValue{
      font:14px/1.45 Arial, Helvetica, sans-serif;
      color:#2c2f33;
      word-break:break-word;
    }

    #probePanel .wgpsn-google-env{
      color:#3c4043;
      font:13px/1.35 Arial, Helvetica, sans-serif;
      margin:0 0 16px;
      padding:10px 12px;
      border:1px solid #e1e4e8;
      border-radius:14px;
      background:#fff;
    }

    #probePanel .wgpsn-google-envMain{
      font-weight:600;
      color:#1f1f1f;
      white-space:normal;
    }

    #probePanel .wgpsn-google-envTime{
      margin-top:3px;
      color:#5f6368;
      white-space:normal;
    }

    #probePanel .wgpsn-iau-card{
      border:1px solid #e1e4e8;
      border-radius:16px;
      background:#fff;
      overflow:hidden;
      margin:0 0 16px;
    }

    #probePanel .wgpsn-iau-head{
      padding:12px 14px;
      background:#f8f9fa;
      border-bottom:1px solid #eceff1;
      font:700 13px/1.2 Arial, Helvetica, sans-serif;
      color:#202124;
      letter-spacing:.01em;
    }

    #probePanel .wgpsn-iau-body{
      padding:12px 14px;
      display:flex;
      flex-direction:column;
      gap:8px;
      font:14px/1.4 Arial, Helvetica, sans-serif;
      color:#202124;
    }

    #probePanel .wgpsn-iau-row strong{
      font-weight:700;
    }

    #probePanel.wgpsn-panel,
    #probePanel.wgpsn-panel .pp-body,
    #probePanel.wgpsn-panel .wgpsn-google-panel,
    #probePanel.wgpsn-panel .wgpsn-google-panel *{
      font-family:var(--nomen-active-font-family, Arial, Helvetica, sans-serif);
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel{
      background:
        radial-gradient(38px 22px at 0 7%, rgba(91,43,13,.28), transparent 74%),
        radial-gradient(54px 28px at 100% 16%, rgba(105,49,14,.26), transparent 72%),
        radial-gradient(42px 24px at 8% 100%, rgba(90,39,12,.24), transparent 73%),
        radial-gradient(58px 30px at 94% 100%, rgba(97,45,14,.27), transparent 74%),
        linear-gradient(180deg, #fbf1d4 0%, #f7e5b8 100%);
      border:2px solid #7a3f18;
      box-shadow:
        inset 0 0 0 2px rgba(255,248,221,.7),
        inset 0 0 28px rgba(91,43,13,.25),
        0 18px 44px rgba(65,34,12,.28);
      box-sizing:border-box;
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:3;
      pointer-events:none;
      border-radius:inherit;
      background:
        radial-gradient(36px 20px at 13% 0, rgba(82,34,10,.34), transparent 70%),
        radial-gradient(30px 18px at 42% 0, rgba(116,57,18,.24), transparent 72%),
        radial-gradient(46px 24px at 79% 0, rgba(73,29,8,.32), transparent 70%),
        radial-gradient(28px 48px at 0 34%, rgba(116,56,17,.24), transparent 72%),
        radial-gradient(24px 54px at 100% 62%, rgba(80,32,9,.30), transparent 72%),
        radial-gradient(52px 28px at 24% 100%, rgba(109,51,15,.25), transparent 72%),
        radial-gradient(44px 24px at 68% 100%, rgba(75,30,8,.31), transparent 70%);
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-handleWrap,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-head{
      background:rgba(246,226,181,.94);
      border-bottom-color:#8f511f;
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-summary,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-props,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-card,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .wgpsn-google-split,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .wgpsn-google-splitCard,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .wgpsn-google-env,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .wgpsn-iau-card,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-mtg-info{
      background:rgba(255,243,204,.88);
      border-color:#b27838;
      box-shadow:inset 0 0 18px rgba(105,49,14,.08);
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .wgpsn-iau-head,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-mtg-namebar,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-mtg-typebar{
      background:linear-gradient(180deg, #f2d89f 0%, #d8ad63 52%, #f4dfab 100%);
      border-color:#8f511f;
      color:#2b1608;
      text-shadow:0 1px 0 rgba(255,247,218,.65);
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-photo,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-mtg-photo,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .panel-cutout-frame{
      position:relative;
      background:#f5e4bd;
      border-color:#9d6330;
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-photo img,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-mtg-photo img,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .panel-cutout-frame img,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .panel-cutout-frame canvas{
      filter:none !important;
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-photo img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-mtg-photo img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .panel-cutout-frame img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .wgpsn-google-media img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-photo img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-mtg-photo img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .panel-cutout-frame img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-google-media img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="gill"] #probePanel.wgpsn-panel .pp-photo img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="gill"] #probePanel.wgpsn-panel .pp-mtg-photo img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="gill"] #probePanel.wgpsn-panel .panel-cutout-frame img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]),
    :root[data-nomen-font-mode="gill"] #probePanel.wgpsn-panel .wgpsn-google-media img:not(.nomen-halftone-rendered):not([data-nomen-halftone-unavailable="1"]){
      visibility:hidden;
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel img.nomen-line-halftone-rendered,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel img.nomen-gray-quantized-rendered,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel img.nomen-dot-halftone-rendered,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel img.nomen-gray-quantized-rendered,
    :root[data-nomen-font-mode="gill"] #probePanel.wgpsn-panel img.nomen-color-dot-halftone-rendered,
    :root[data-nomen-font-mode="gill"] #probePanel.wgpsn-panel img.nomen-gray-quantized-rendered{
      filter:none !important;
      visibility:visible;
    }

    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-photo::after,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .pp-mtg-photo::after,
    :root[data-nomen-font-mode="vinque"] #probePanel.wgpsn-panel .panel-cutout-frame::after{
      content:none;
      background:none;
      opacity:0;
    }

    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-body{
      font-size:16.5px;
    }

    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-kicker,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-badge,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-propKey{
      font-size:14px;
    }

    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-title,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-mtg-namebar{
      font-size:24px;
    }

    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-mtg-typebar,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-google-nameOriginal,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-google-relations,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-google-env,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-iau-head{
      font-size:15px;
    }

    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-mtg-label,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-cardLabel,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-google-splitLabel,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .panel-cutout-scale-info{
      font-size:13px;
    }

    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-mtg-value,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-cardValue,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-section h3,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .pp-propVal,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-google-splitType,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-google-splitValue,
    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-iau-body{
      font-size:16.5px;
    }

    :root[data-nomen-font-mode="widmanstadius"] #probePanel.wgpsn-panel .wgpsn-google-name{
      font-size:clamp(32px, 9vw, 45px);
    }

    #probePanel .wgpsn-barelist{
      margin:0;
      padding-left:18px;
    }

    #probePanel .wgpsn-barelist li{
      margin:3px 0;
    }

    @media (max-width: 768px){
      #probePanel .pp-body.wgpsn-google-body{
        padding:0 0 14px;
      }

      #probePanel .wgpsn-google-media.has-side-media{
        grid-template-columns:1fr 1fr;
      }

      #probePanel .wgpsn-google-panel{
        --wgpsn-hero-height: 208px;
      }

      #probePanel .wgpsn-google-content{
        padding:14px;
      }

      #probePanel .wgpsn-google-name{
        font-size:27px;
      }

      #probePanel .wgpsn-google-split{
        grid-template-columns:1fr 1fr;
      }

      #probePanel .wgpsn-google-splitCard{
        padding:11px 12px;
      }
    }
	
	.pp-source{
  font-size:11px;
  font-weight:400;
  opacity:.65;
  margin-top:2px;
  letter-spacing:.03em;
}

    @media (max-width: 768px){
      #probePanelBackdrop{
        background:rgba(0,0,0,.24);
      }

      #probePanel{
        left:0;
        right:0;
        width:auto;
        max-width:none;
        top:34vh;
        bottom:0;
        border-radius:18px 18px 0 0;
        transform:translateY(105%);
      }
          #probePanel.open{
        transform:translateY(0);
      }
      #probePanel.full{
        border-radius:0;
      }
      #probePanel .pp-handleWrap{
        display:block;
      }
      #probePanel .pp-head{
        padding-top:8px;
      }
      #probePanel .pp-title{
        font-size:22px;
      }
      #probePanel .pp-grid{
        grid-template-columns:1fr 1fr;
      }
    }

.modal{position:fixed; inset:0; background:rgba(0,0,0,.5); display:none; align-items:center; justify-content:center; z-index:70020}
    .modal .box{background:#fff; max-width:640px; width:90%; padding:14px; border-radius:6px; border:1px solid #ccc; font:14px/1.4 sans-serif; white-space:pre-wrap}
    .modal .close{float:right; cursor:pointer; font-weight:bold}
	
	
	.panorama-pin-icon{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.panorama-pin{
  width:38px;
  height:38px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
  background:#111;
  position:relative;
}

.panorama-pin img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.panorama-pin::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.28);
}

.pp-photo-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.pp-photo-stack .pp-photo{
  margin:0;
}

.pp-pano-sources{
  font-size:11px;
  line-height:1.35;
  color:#555;
  margin-top:8px;
}

#panoramaViewer{
  position:fixed;
  inset:0;
  z-index:70050;
  background:rgba(0,0,0,.92);
  display:none;
  flex-direction:column;
}

#panoramaViewer.open{
  display:flex;
}

#panoramaViewerHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 14px;
  color:#fff;
  font:700 14px/1.2 sans-serif;
  background:rgba(0,0,0,.35);
  border-bottom:1px solid rgba(255,255,255,.15);
}

#panoramaViewerClose{
  appearance:none;
  border:0;
  background:transparent;
  color:#fff;
  font:700 28px/1 sans-serif;
  cursor:pointer;
  width:34px;
  height:34px;
  padding:0;
}

#panoramaViewerBody{
  flex:1 1 auto;
  overflow-x:auto;
  overflow-y:hidden;
  display:flex;
  gap:16px;
  align-items:center;
  padding:18px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}

#panoramaViewerBody img{
  max-height:calc(100vh - 130px);
  width:auto;
  max-width:none;
  object-fit:contain;
  background:#000;
  scroll-snap-align:center;
  border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

#panoramaViewerFoot{
  color:rgba(255,255,255,.82);
  font:11px/1.35 sans-serif;
  padding:8px 14px 14px;
}


	

/* Left-edge tool column (2026-07-13 layout): Tools menu owns the top-left corner (top:8),
   quick tools sit below it, then the zoom dock, then the distance ruler — one proportional stack. */
.quick-tools-dock{
  position:fixed;
  left:8px;
  top:50px;
  z-index:2300;
}

.quick-zoom-dock{
  position:absolute;
  left:8px;
  top:150px;
  display:flex;
  flex-direction:column;
  gap:4px;
  z-index:2301;
  pointer-events:auto;
}

.quick-zoom-btn{
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid rgba(0,0,0,.22);
  border-radius:50%;
  background:rgba(255,255,255,.96);
  box-shadow:0 1px 5px rgba(0,0,0,.28);
  color:#111;
  font:700 16px/1 sans-serif;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}

.quick-zoom-btn:hover{
  background:#fff;
}

.quick-zoom-btn:active{
  transform:translateY(1px);
}

.quick-zoom-btn:focus{
  outline:2px solid #1a73ff;
  outline-offset:2px;
}

.quick-tools-grid{
  display:grid;
  grid-template-columns:repeat(3, 36px);
  grid-template-rows:repeat(2, 36px);
  gap:8px;
  padding:0;
  max-width:36px;
  max-height:36px;
  overflow:hidden;
  background:transparent;
  border:1px solid transparent;
  border-radius:18px;
  box-shadow:none;
  transition:max-width .22s ease, max-height .22s ease, padding .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
  backdrop-filter:blur(6px);
}

.quick-tools-grid.is-open{
  max-width:124px;
  max-height:80px;
  padding:8px;
  background:rgba(255,255,255,.95);
  border-color:rgba(0,0,0,.16);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}

.quick-tool-slot{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.quick-tools-grid:not(.is-open) > .quick-tool-slot:not(.quick-tool-slot--orbit){
  opacity:0;
  pointer-events:none;
}

.quick-tools-grid > .quick-tool-slot:not(.quick-tool-slot--orbit){
  transition:opacity .16s ease;
}

#quickToolsGrid #orbitCanvas,
#quickToolsGrid #btnGPS,
#quickToolsGrid .mapTitle,
#quickToolsGrid #timeFab,
#quickToolsGrid #balloonGameFab{
  position:static !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 !important;
  width:36px !important;
  height:36px !important;
  min-width:36px;
  min-height:36px;
  box-sizing:border-box;
}

#quickToolsGrid .mapTitle{
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
}

#quickToolsGrid .mapTitle button,
#quickToolsGrid #btnGPS,
#quickToolsGrid #timeFab,
#quickToolsGrid #balloonGameFab,
#quickToolsGrid #orbitCanvas{
  box-shadow:0 1px 5px rgba(0,0,0,0.4);
}

#quickToolsGrid .mapTitle img{
  width:32px;
  height:32px;
}

#quickToolsGrid #orbitCanvas{
  z-index:auto !important;
  cursor:pointer;
}

#quickToolsGrid #orbitCanvas:focus{
  outline:2px solid #1a73ff;
  outline-offset:2px;
}

#creditsPanel,
#timePanel{
  left:12px !important;
  top:104px !important;
  z-index:2400;
}

	.mapTitle {
  position:fixed;
  left:100px;
  top:12px;
  width:36px;
  height:36px;
  padding:0;
  z-index:2000;
  background:#fff;
  border:1px solid rgba(0,0,0,0.2);
  border-radius:50%;
  box-shadow:0 1px 5px rgba(0,0,0,0.4);
  overflow:hidden;
}

.mapTitle a,
.mapTitle button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}

.mapTitle button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
}

.mapTitle img{
  width:32px;
  height:32px;
  display:block;
  object-fit:contain;
}

#creditsPanel{
  position:fixed;
  left:100px;
  top:56px;
  width:360px;
  max-width:min(92vw, 360px);
  height:min(70vh, 460px);
  background:rgba(255,255,255,.97);
  border:1px solid #ccc;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
  z-index:2100;
  display:none;
  overflow:hidden;
  backdrop-filter:blur(4px);
}

#creditsPanelHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  border-bottom:1px solid #e5e5e5;
  font:700 12px/1.2 sans-serif;
  background:#fff;
}

#creditsPanelClose{
  border:0;
  background:transparent;
  cursor:pointer;
  font:700 18px/1 sans-serif;
  padding:0;
  width:22px;
  height:22px;
}

#creditsPanelBody{
  height:calc(100% - 39px);
  background:#fff;
}

#creditsPanelBody iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
}

#timeFab{
  position:fixed;
  left:144px;
  top:12px;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(0,0,0,0.2);
  border-radius:50%;
  box-shadow:0 1px 5px rgba(0,0,0,0.4);
  cursor:pointer;
  z-index:2000;
  padding:0;
}

#timeFab svg{
  width:18px;
  height:18px;
  display:block;
}

#timePanel{
  position:fixed;
  left:144px;
  top:56px;
  width:260px;
  max-width:min(92vw, 260px);
  background:rgba(255,255,255,.97);
  border:1px solid #ccc;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
  z-index:2100;
  display:none;
  overflow:hidden;
  backdrop-filter:blur(4px);
}

#timePanelHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  border-bottom:1px solid #e5e5e5;
  font:700 12px/1.2 sans-serif;
  background:#fff;
}

#timePanelClose{
  border:0;
  background:transparent;
  cursor:pointer;
  font:700 18px/1 sans-serif;
  padding:0;
  width:22px;
  height:22px;
}

#timePanelBody{
  padding:10px;
  font:12px/1.35 monospace;
  color:#111;
}


    /* Steep Sided Dome sharp shadow */
.ssd-icon .ssd-dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;     /* perfect circle */
  background:orange;     /* orange fill */
  border:1px solid #000; /* black outline */
}
.leaflet-marker-icon.icon-layer{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.wind-streak-icon .wind-streak-glyph{
  display:block;
  width:24px;
  height:24px;
  overflow:visible;
}
.wind-streak-legend-chip .wind-streak-glyph{
  display:block;
  overflow:visible;
}



 /* kill the white box on ALL div icons */
.leaflet-pane .leaflet-marker-icon.leaflet-div-icon,
.leaflet-pane .leaflet-marker-shadow.leaflet-div-icon,
.leaflet-div-icon.venera-icon {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
	/* CSS */
.davinci-zephyr-icon {
  animation: fadeBlink 1s infinite ease-in-out;
}

@keyframes fadeBlink {
  0%, 100% { opacity: 0; }
  40%, 60% { opacity: 1; }
}
.venera-label {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #111;
  font-weight: 700;
  padding: 0;
}
.leaflet-tooltip.venera-label::before { /* remove the arrow */
  display: none;
}

.quad-label {
  background: transparent;
  border: 0;
  box-shadow: none;
  font-weight: 800;
  padding: 0;
}

.leaflet-tooltip.quad-label::before {
  display: none;
}

.quad-label a {
  color: #FF3600 !important;
  text-decoration: none;
}

.quad-label a:hover {
  text-decoration: underline;
}


.leaflet-tooltip.quad-label,
.leaflet-tooltip.quad-label a {
  text-shadow:
    0 0 5px #fff;
}

/* must come last so it wins */
.quad-label a:hover {
  text-decoration: underline !important;
}

 .chip.riftfill {
  background: purple;
  opacity: .35;
  border: 1px solid #5a1a99; /* dark purple outline */
  width: 14px;
  height: 12px;
  display: inline-block;
  vertical-align: middle;
}

.chip.smalldot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: red;
  display: inline-block;
  vertical-align: middle;
}

.chip.vgis-chip-shield-plains,
.chip.vgis-chip-shield-clusters,
.chip.vgis-chip-polygonal-lava,
.chip.vgis-chip-reticulate-plains,
.chip.vgis-chip-smooth-plains,
.chip.vgis-chip-regional-plains-upper,
.chip.vgis-chip-regional-plains-lower,
.chip.vgis-chip-lobate-plains,
.chip.vgis-chip-volcanic-field,
.chip.vgis-chip-ridged-plains{
  width:14px;
  height:12px;
  display:inline-block;
  vertical-align:middle;
  border:1px solid rgba(0,0,0,.38);
  box-sizing:border-box;
}

.chip.vgis-chip-shield-plains{
  background:#f7bfd0;
  border-color:#d97891;
}

.chip.vgis-chip-shield-clusters{
  background:#f29caf;
  border-color:#cc5d78;
}

.chip.vgis-chip-polygonal-lava{
  background:#e66f88;
  border-color:#b94762;
}

.chip.vgis-chip-reticulate-plains{
  border-radius:50%;
  background:
    linear-gradient(90deg, transparent 44%, #b8232d 45% 55%, transparent 56%),
    linear-gradient(0deg, transparent 44%, #b8232d 45% 55%, transparent 56%),
    #f7b9c8;
  background-size:6px 6px;
}

.chip.vgis-chip-smooth-plains{
  background:#d5f2ff;
  border-color:#82bfdc;
}

.chip.vgis-chip-regional-plains-upper{
  background:#aeddf3;
  border-color:#69a9ca;
}

.chip.vgis-chip-regional-plains-lower{
  background:#90c9e9;
  border-color:#5c9ec2;
}

.chip.vgis-chip-lobate-plains{
  background:#6fb7dc;
  border-color:#4b8fb7;
}

.chip.vgis-chip-volcanic-flow{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#0b3d75;
  border:1px solid #05284e;
  display:inline-block;
  vertical-align:middle;
  box-sizing:border-box;
}

.chip.vgis-chip-volcanic-field{
  background:#b44c70;
  border-color:#7f2c4e;
}

.chip.vgis-chip-caldera{
  width:12px;
  height:12px;
  border:2px solid #d71920;
  border-radius:50%;
  display:inline-block;
  vertical-align:middle;
  box-sizing:border-box;
}

.chip.vgis-chip-ridged-plains{
  background:#8d1e5b;
  border-color:#6d123f;
  opacity:.75;
}

.vgis-layer-color-hidden-chip{
  display:none !important;
}

.vgis-layer-color-input,
.vgis-geologic-color-input{
  appearance:none;
  -webkit-appearance:none;
  width:18px;
  height:18px;
  padding:0;
  margin:0 3px;
  border:1px solid rgba(0,0,0,.38);
  border-radius:2px;
  background:transparent;
  box-sizing:border-box;
  cursor:pointer;
  vertical-align:middle;
}

.vgis-layer-color-input::-webkit-color-swatch-wrapper,
.vgis-geologic-color-input::-webkit-color-swatch-wrapper{
  padding:0;
}

.vgis-layer-color-input::-webkit-color-swatch,
.vgis-geologic-color-input::-webkit-color-swatch{
  border:0;
}

.vgis-layer-color-input::-moz-color-swatch,
.vgis-geologic-color-input::-moz-color-swatch{
  border:0;
}

.chip.vgis-chip-pit-craters{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#000;
  display:inline-block;
  vertical-align:middle;
}

.vgis-reticulate-marker{
  width:20px;
  height:20px;
  display:block;
  border:2px solid #b8232d;
  border-radius:50%;
  background:
    linear-gradient(90deg, transparent 43%, rgba(184,35,45,.85) 44% 56%, transparent 57%),
    linear-gradient(0deg, transparent 43%, rgba(184,35,45,.85) 44% 56%, transparent 57%),
    rgba(247,185,200,.52);
  background-size:7px 7px;
  box-sizing:border-box;
}

.unit-label {
  font: 12px/1.2 sans-serif;
  color: #000;
  text-align: center;
  white-space: nowrap;
}
	
 



.flyover {
  position:fixed;
  z-index:2000;
  pointer-events:none;
  will-change: transform, opacity;
}
.flyover svg { width:36px; height:36px; display:block }
@keyframes flyLR { from{ transform:translateX(-60px) translateY(var(--y)); }
                   to{   transform:translateX(calc(100vw + 60px)) translateY(var(--y)); } }
@keyframes flyRL { from{ transform:translateX(calc(100vw + 60px)) translateY(var(--y)); }
                   to{   transform:translateX(-60px) translateY(var(--y)); } }
@keyframes flyTB { from{ transform:translateY(-60px) translateX(var(--x)); }
                   to{   transform:translateY(calc(100vh + 60px)) translateX(var(--x)); } }
@keyframes flyBT { from{ transform:translateY(calc(100vh + 60px)) translateX(var(--x)); }
                   to{   transform:translateY(-60px) translateX(var(--x)); } }


.falling-satellite {
  position:fixed;
  left: var(--x, 50%);
  top: -80px;
  z-index:2000;
  pointer-events:none;
  animation: fallDown 12s linear forwards;
}
.falling-satellite svg { width:120px; height:auto; }
@keyframes fallDown {
  from { transform: translateY(-100px); opacity:1; }
  to   { transform: translateY(110vh); opacity:0.8; }
}

/* ütközés utáni gyors eltűnés */
.vanish{ animation: flyVanish .2s linear forwards }
@keyframes flyVanish{ to{ opacity:0; transform:scale(.85) } }

.legend input[type="range"] {
  margin-left: 22px;
  transition: opacity .15s ease, filter .15s ease;
}

.legend input[type="range"]:disabled {
  opacity: .38;
  filter: grayscale(1);
  cursor: default;
}

.legend-section{
  margin:8px 0;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 1px 3px rgba(0,0,0,.08);
  transition:transform .18s ease, box-shadow .18s ease, opacity .12s ease;
  will-change:transform;
}

.legend-section__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  cursor:pointer;
  user-select:none;
  font-weight:700;
}

.legend-section__head .row{
  margin:0;
  width:100%;
}

.legend-section__head .row label{
  cursor:pointer;
}

.legend-section__chevron{
  flex:0 0 auto;
  font:700 14px/1 sans-serif;
  transition:transform .18s ease;
}

.legend-section__body{
  display:none;
  padding:8px 10px 10px;
  background:rgba(255,255,255,.55);
}

.legend-section.open .legend-section__body{
  display:block;
}

.legend-section.open .legend-section__chevron{
  transform:rotate(90deg);
}

.legend-section[data-section="utilities"]{
  background:#fff0f0;
  border-color:#f2a3a3;
}

.legend-section[data-section="atmosphere"]{
  background:#fff7e8;
  border-color:#e9c27a;
}

.legend-section[data-section="surface"],
.legend-section[data-section="surface-raster"]{
  background:#fffde9;
  border-color:#d8cf6a;
}

.legend-section[data-section="presets"]{
  background:#eefbe9;
  border-color:#9fd08a;
}

.legend-section[data-section="user-defined"]{
  background:#eef4ff;
  border-color:#9fbdf2;
}


.legend-saved-wrap{
  margin:8px 0 10px;
  padding:8px 10px;
  border:1px solid rgba(19,96,42,.22);
  border-radius:12px;
  background:rgba(236,250,240,.92);
}

.legend-saved-title{
  font:700 12px/1.2 sans-serif;
  color:#0f5a27;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.legend-saved-list{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.legend-favorite-row{
  margin:0;
}

.layer-save-btn{
  margin-left:auto;
  appearance:none;
  border:0;
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#d8e2d8;
  color:#fff;
  font:700 11px/1 sans-serif;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
  flex:0 0 18px;
}

.legend-section__body .row.is-save-inline > div:first-child{
  display:flex;
  align-items:center;
  gap:3px;
  width:100%;
  min-width:0;
}

.legend-section__body .row.is-save-inline > div:first-child label{
  flex:1 1 auto;
  min-width:0;
}

.legend-section__body .row.is-save-inline[data-checkbox-id="chk_dtm"] > div:first-child{
  flex-wrap:wrap;
}

.legend-section__body .row.is-save-inline[data-checkbox-id="chk_dtm"] > div:first-child br{
  display:none;
}

.legend-section__body .row.is-save-inline[data-checkbox-id="chk_dtm"] > div:first-child label{
  flex:1 1 0;
  min-width:0;
}

.legend-section__body .row.is-save-inline[data-checkbox-id="chk_dtm"] > div:first-child .layer-save-btn{
  margin-left:6px;
}

.legend-section__body .row.is-save-inline[data-checkbox-id="chk_dtm"] > div:first-child img{
  display:block;
  flex:0 0 130px;
  width:130px;
  margin:4px 0 0 22px;
}

.legend-section__body .row.is-save-inline > div:first-child select{
  flex:0 0 auto;
  max-width:92px;
}

.legend-section__body .row.is-save-inline > div:first-child .layer-save-btn{
  margin-left:auto;
}

.legend-section__body .row.is-save-inline > input[type="range"]{
  width:calc(100% - 30px);
  margin-left:18px;
  box-sizing:border-box;
}

.layer-save-btn:hover{
  filter:brightness(.96);
}

.layer-save-btn.is-active{
  background:#1f9d4c;
}

.legend-section__drag{
  flex:0 0 auto;
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  color:#667085;
  cursor:grab;
  user-select:none;
  touch-action:none;
  font:700 14px/1 sans-serif;
}

.legend-section__drag:hover{
  background:rgba(0,0,0,.06);
}

.legend-subbox{
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:8px 10px;
  margin:6px 0;
  background:rgba(255,255,255,.58);
}
.legend-subbox__title{
  font:700 11px/1.2 sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#555;
  margin:0 0 7px 0;
}
.legend-subbox .row:first-of-type{ margin-top:0; }
.legend-subbox .row:last-child{ margin-bottom:0; }

.vgis-nomen-descriptor-box{
  border-radius:8px;
  margin:6px 0 8px 22px;
}

.vgis-nomen-descriptor-title{
  margin-bottom:0;
}

.vgis-nomen-descriptor-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  text-align:left;
  cursor:pointer;
}

.vgis-nomen-descriptor-chevron{
  flex:0 0 auto;
  font-size:12px;
  line-height:1;
  transition:transform .16s ease;
}

.vgis-nomen-descriptor-box:not(.is-collapsed) .vgis-nomen-descriptor-chevron{
  transform:rotate(90deg);
}

.vgis-nomen-descriptor-body{
  margin-top:7px;
}

.vgis-nomen-descriptor-status{
  font:11px/1.25 sans-serif;
  color:#555;
  margin-bottom:6px;
}

.vgis-nomen-descriptor-status[data-tone="error"]{
  color:#9f1d1d;
}

.vgis-nomen-descriptor-names-toggle{
  display:flex;
  align-items:center;
  gap:5px;
  margin:0 0 7px 0;
  font:700 12px/1.2 sans-serif;
  color:#222;
  cursor:pointer;
}

.vgis-nomen-descriptor-names-toggle input{
  margin:0;
}

.vgis-nomen-descriptor-color-row{
  margin:0 0 7px 0;
}

.vgis-nomen-descriptor-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:220px;
  overflow:auto;
  padding-right:2px;
}

.vgis-nomen-descriptor-row{
  display:grid;
  grid-template-columns:auto 16px minmax(72px, 1fr) auto;
  gap:5px;
  align-items:center;
  min-width:0;
  font:12px/1.2 sans-serif;
  cursor:pointer;
}

.vgis-nomen-descriptor-row input{
  margin:0;
}

.vgis-nomen-descriptor-swatch{
  width:13px;
  height:11px;
  border:2px dashed currentColor;
  box-sizing:border-box;
  opacity:1;
}

.vgis-nomen-descriptor-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.vgis-nomen-descriptor-count{
  color:#666;
  font-size:10px;
  white-space:nowrap;
}

.vgis-nomen-descriptor-label{
  background:transparent;
  border:0;
  pointer-events:none;
  white-space:nowrap;
}

.vgis-nomen-descriptor-label span{
  display:inline-block;
  transform:translate(-50%, -50%);
  padding:1px 3px;
  border-radius:3px;
  background:rgba(255,255,255,.72);
  color:var(--vgis-nomen-descriptor-label-color, #111);
  text-shadow:var(--vgis-nomen-descriptor-label-shadow, 0 1px 1px rgba(255,255,255,.9), 0 -1px 1px rgba(255,255,255,.9));
  font:700 11px/1.1 sans-serif;
}

.legend-section.is-dragging{
  opacity:.78;
  position:relative;
  z-index:8;
  box-shadow:0 10px 22px rgba(0,0,0,.16);
}

body.dragging-legend-section .legend-section__drag{
  cursor:grabbing;
}

/* legend hover tooltip */
.tooltip-box{
  position:fixed;
  background:#fff;
  border:1px solid #666;
  padding:4px 6px;
  font:12px/1.3 sans-serif;
  border-radius:4px;
  box-shadow:0 2px 4px rgba(0,0,0,.3);
  display:none;
  z-index:65000;
  max-width:260px;
  white-space:normal;
  pointer-events:none;
}

.parabola-shock-wave{
  filter: blur(1.8px);
  mix-blend-mode:multiply;
}

.parabola-shock-wave-dust{
  filter: blur(3.4px);
  mix-blend-mode:multiply;
}


/* topo height box */
.topo-box{
  background:rgba(255,255,255,.9);
  border:1px solid #999;
  padding:0px 4px;
  font:12px/1.3 monospace;
  min-width:72px; min-height:auto;
  border-radius:4px;
  box-shadow:0 1px 2px rgba(0,0,0,.2);
  white-space:nowrap;
}
 
 
 
 /* === legend sticky info popup === */
.legend-info{
  color:#1e88ff;
  font-weight:bold;
  margin-left:4px;
  cursor:pointer;
  position:relative;
}

/* saját tooltip az ikon mellett */
.info-tip{
  position:absolute;
  left:18px;
  top:-6px;
  background:#fff;
  border:1px solid #666;
  padding:6px 8px;
  font:12px/1.35 sans-serif;
  border-radius:4px;
  box-shadow:0 2px 6px rgba(0,0,0,.3);
  max-width:240px;
  z-index:60000;
}

.info-tip .close{
  position:absolute;
  right:4px;
  top:2px;
  cursor:pointer;
  font-weight:bold;
}

/* info icon should not trigger row tooltips */
.legend-info{
  pointer-events:auto;
}

.legend-info:hover{
  z-index:60000;
}

/* temperature */
.temp-swatch{display:inline-block;width:14px;height:14px;margin-right:6px;border:1px solid #000;vertical-align:middle}
.temp-row{margin:2px 0;white-space:nowrap}

/* wind legend */
.wind-legend-row{
  margin:3px 0;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:6px;
}

.wind-chip{
  position:relative;
  display:inline-block;
  vertical-align:middle;
  margin-right:4px;
  border-radius:999px;
  overflow:hidden;
  flex:0 0 auto;
  background:linear-gradient(90deg,
    rgba(255,255,255,0.04) 0%,
    rgba(255,255,255,0.08) 35%,
    rgba(255,255,255,0.14) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.08),
    0 0 2px rgba(0,0,0,.18);
}

.wind-chip::before{
  content:'';
  position:absolute;
  left:-55%;
  top:50%;
  width:55%;
  height:2px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.18) 35%,
    rgba(255,255,255,0.98) 100%);
  filter:blur(.2px);
  animation:windLegendFlow 1.05s linear infinite;
}

.wind-chip::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:999px;
  background:linear-gradient(90deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.05) 55%,
    rgba(255,255,255,0.14) 100%);
}

@keyframes windLegendFlow{
  from{ left:-55%; }
  to{ left:100%; }
}

.wind-chip.s1{width:12px; height:5px; opacity:.42}
.wind-chip.s2{width:16px; height:5px; opacity:.56}
.wind-chip.s3{width:20px; height:6px; opacity:.72}
.wind-chip.s4{width:24px; height:6px; opacity:.86}
.wind-chip.s5{width:28px; height:7px; opacity:1}

/* provinces */

.leaflet-tooltip.label-box{
  background:#fff;
  color:#000;
  border-radius:6px;
  padding:2px 6px;
  box-shadow:0 0 3px rgba(0,0,0,.3);
  border:1px solid #ccc;
  font-size:12px;
  font-weight:500;
  z-index: 20000; /* a rétegek fölé */
  opacity:1; /* tooltip mindig látszódjon */
  pointer-events: auto;
}

.legend-chip{
  display:inline-block;width:16px;height:10px;
  border:1px solid #999;border-radius:3px;margin-right:6px;vertical-align:middle;
}

#geoprovLegend {
  display: none;
  margin: 6px 0 0 22px;
  font: 12px/1.2 sans-serif;
}

#geoprovLegend .legend-row {
  display: flex;
  flex-direction: column; /* függőleges irány */
  align-items: flex-start;
  margin: 6px 0;
  padding: 6px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fafafa;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}

#geoprovLegend .legend-chip {
  display: block;
  width: 30px;
  height: 14px;
  margin: 3px 0;
  border: 1px solid #999;
  border-radius: 3px;
}
#geoprovLegend strong {
  margin-top: 4px;
}

#row_geoprov {
  display: block;   /* ne legyen flex, sorba törjön */
}

#geoprovLegend {
  display: none;
  margin-left: 22px;
}

.legend-row {
  display: flex;
  flex-direction: column;   /* oszlopban rendezzük: felül a színek, alul a cím */
  align-items: flex-start;
  margin: 6px 0;
}

.legend-chips {
  display: flex;
  flex-wrap: wrap;          /* hogy több sorba törhessen */
  gap: 4px;
  margin-bottom: 2px;
}

.legend-chip {
  display: inline-block;
  width: 20px;
  height: 14px;
  border: 1px solid #999;
  border-radius: 3px;
}

.download-icon{
  margin-left:4px;
  cursor:pointer;
  font-size:12px;
  opacity:0.7;
}
.download-icon:hover{
  opacity:1;
}


/* graticule */
.grat-label{
  background:#fff;border:1px solid #999;border-radius:3px;
  padding:1px 3px;font:11px/1.2 monospace;color:#000;
  box-shadow:0 1px 2px rgba(0,0,0,.2);
}


.legend .row a{
  color:#000;           /* fekete */
  text-decoration:none; /* ne legyen aláhúzva */
  font-weight:500;
}


/* === Leaflet draw inside EDITOR (vertical) === */
	#editorBody .leaflet-draw{
	  position: static !important;
	}

	/* a teljes toolbar oszlopban */
	#editorBody .leaflet-draw-toolbar{
	  display:flex;
	  flex-direction:column;
	  gap:4px;
	  margin:0 0 8px 0;
	}

	/* minden ikon külön sor */
	#editorBody .leaflet-draw-toolbar a{
	  float:none !important;
	  display:block !important;
	  margin:0 !important;
	}

	/* az akció linkek (Save/Cancel stb.) se törjenek szét */
	#editorBody .leaflet-draw-actions{
	  display:flex;
	  flex-direction:column;
	  gap:4px;
	}

	/* === draw actions panel flip LEFT === */
	#editorBody .leaflet-draw-actions{
	  left:auto !important;
	  right:100% !important;   /* balra nyíljon */
	  margin-right:6px;
	}

	/* háromszög nyíl tükrözése */
	#editorBody .leaflet-draw-actions a{
	  white-space:nowrap;
	}

	/* tooltip arrow flip */
	#editorBody .leaflet-draw-actions:before{
	  left:auto !important;
	  right:-6px !important;
	  transform:scaleX(-1);
	}

/* === bottom-right Leaflet info control === */
#bottomHUD{
  display:none !important;
}

.leaflet-bottom.leaflet-left .leaflet-control-venushud{
  clear:none;
  margin:0;
}

.leaflet-bottom .leaflet-control-venushud{
  margin-bottom:0 !important;
}

.leaflet-left .leaflet-control-venushud{
  margin-left:0 !important;
}

.leaflet-control-venushud{
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(0,0,0,.18);
  border-radius:0;
  box-shadow:none;
  padding:0;
  max-width:min(920px, calc(100vw - 120px));
  overflow:hidden;
}

#hudContent{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  font:11px/1.2 Arial, Helvetica, sans-serif;
  white-space:nowrap;
}

#hudContent .vh-item{
  display:flex;
  align-items:center;
  gap:4px;
  min-height:20px;
  padding:1px 6px;
  box-sizing:border-box;
  background:transparent;
  border-left:1px solid rgba(0,0,0,.12);
}

#hudContent .vh-item:first-child{
  border-left:0;
}

#hudContent .vh-label,
#hudContent .vh-value,
#hudContent #topoBox,
#hudContent .leaflet-control-scale-line{
  display:inline;
  font:inherit;
  line-height:1.2;
}

#hudContent .vh-label{
  color:#555;
  margin:0;
}

#hudContent .vh-value{
  white-space:nowrap;
  color:#111;
}

#hudContent #topoBox{
  display:inline-block;
  width:50px;
  text-align:right;
}

#hudContent .vh-coords{
  min-width:220px;
}

#hudContent .vh-scaleWrap{
  min-width:132px;
}

#hudContent #venusScaleWrap{
  display:flex;
  align-items:flex-end;
}

#hudContent .leaflet-control,
#hudContent .leaflet-control-scale{
  position:static !important;
  margin:0 !important;
  float:none !important;
}

#hudContent .leaflet-control-scale{
  display:flex;
  align-items:flex-end;
  border:none;
  background:transparent;
  box-shadow:none;
}

#hudContent .leaflet-control-scale-line{
  box-sizing:border-box;
  margin:0;
  padding:1px 4px 0;
  border-width:0 1px 1px;
}

#hudContent #topoBox.topo-box{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  min-width:0;
  padding:0;
}

@media (max-width: 900px){
  .leaflet-control-venushud{
    max-width:min(560px, calc(100vw - 24px));
  }

  #hudContent{
    flex-wrap:wrap;
  }

  #hudContent .vh-item{
    flex:1 1 calc(50% - 1px);
    min-width:0;
  }

  #hudContent .vh-coords,
  #hudContent .vh-scaleWrap{
    min-width:0;
  }
}


.google-layers-control{
  position:fixed;
  left:12px;
  bottom:30px;
  z-index:2350;
  display:flex;
  align-items:flex-end;
  gap:10px;
  pointer-events:none;
}

.google-layers-main,
.google-layers-option,
.google-layers-mobile-btn{
  pointer-events:auto;
  font:12px/1.2 Arial, Helvetica, sans-serif;
  color:#111;
}

.google-layers-main{
  appearance:none;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  border-radius:12px;
  width:118px;
  min-height:58px;
  padding:6px;
  display:grid;
  grid-template-columns:46px 1fr;
  grid-template-rows:auto auto;
  gap:4px 8px;
  align-items:center;
  box-shadow:0 1px 6px rgba(0,0,0,.28);
  cursor:pointer;
}

.google-layers-main:hover,
.google-layers-option:hover,
.google-layers-mobile-btn:hover{
  background:#f8f8f8;
}

.gl-main-preview,
.gl-option-preview,
.gl-mobile-preview{
  position:relative;
  overflow:hidden;
  background:#d8d8d8;
  background-size:cover;
  background-position:center center;
  border-radius:9px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
}

.gl-main-preview{
  grid-row:1 / span 2;
  width:46px;
  height:46px;
}

.gl-main-title{
  font-weight:700;
  text-align:left;
}

.gl-main-subtitle{
  color:#555;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.gl-layers-icon{
  position:absolute;
  right:4px;
  bottom:4px;
  width:18px;
  height:18px;
  border-radius:6px;
  background:rgba(255,255,255,.92);
  box-shadow:0 1px 2px rgba(0,0,0,.18);
}

.gl-layers-icon::before,
.gl-layers-icon::after,
.gl-layers-icon span{
  content:'';
  position:absolute;
  left:50%;
  width:10px;
  height:2px;
  background:#5f6368;
  border-radius:999px;
  transform:translateX(-50%);
}

.gl-layers-icon::before{ top:5px; }
.gl-layers-icon span{ top:8px; }
.gl-layers-icon::after{ top:11px; }

.google-layers-options{
  display:flex;
  gap:8px;
  align-items:flex-end;
  opacity:0;
  transform:translateX(-8px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}

.google-layers-control.is-open .google-layers-options{
  opacity:1;
  transform:translateX(0);
  pointer-events:auto;
}

.google-layers-option{
  appearance:none;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  border-radius:12px;
  width:86px;
  padding:6px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:stretch;
  box-shadow:0 1px 6px rgba(0,0,0,.24);
  cursor:pointer;
}

.google-layers-option.is-active{
  box-shadow:0 0 0 2px #1a73e8, 0 1px 6px rgba(0,0,0,.24);
}

.gl-option-preview{
  width:100%;
  height:48px;
}

.gl-option-label{
  font-weight:600;
  text-align:left;
}

.google-layers-mobile-btn,
.google-layers-sheet,
.google-layers-sheet-backdrop{
  display:none;
}

.google-layers-sheet-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.18);
  z-index:2345;
}

.google-layers-sheet{
  position:fixed;
  left:12px;
  right:12px;
  bottom:56px;
  z-index:2355;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(0,0,0,.16);
  border-radius:18px 18px 12px 12px;
  box-shadow:0 12px 30px rgba(0,0,0,.24);
  padding:10px;
}

.google-layers-sheet-handle{
  width:42px;
  height:5px;
  border-radius:999px;
  background:#d0d0d0;
  margin:0 auto 10px;
}

.google-layers-sheet-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.google-layers-sheet .google-layers-option{
  width:auto;
  box-shadow:none;
}

body.gl-mobile-sheet-open .google-layers-sheet,
body.gl-mobile-sheet-open .google-layers-sheet-backdrop{
  display:block;
}

@media (max-width: 720px){
  .google-layers-control{
    bottom:58px;
  }

  .google-layers-main,
  .google-layers-options{
    display:none;
  }

  .google-layers-mobile-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    padding:0;
    appearance:none;
    border:1px solid rgba(0,0,0,.18);
    background:#fff;
    border-radius:12px;
    box-shadow:0 1px 6px rgba(0,0,0,.28);
    cursor:pointer;
  }

  .gl-mobile-preview{
    width:36px;
    height:36px;
  }
}


  



.vgis-projection-wrap{
  position:fixed;
  left:0;
  bottom:98px;
  z-index:2360;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  pointer-events:auto;
  transform:translateX(calc(-100% + 30px));
  transition:transform .22s ease;
}

.vgis-projection-wrap:hover,
.vgis-projection-wrap:focus-within,
.vgis-projection-wrap.is-open{
  transform:translateX(0);
}

.vgis-projection-native-select{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.vgis-projection-fab,
.vgis-projection-option{
  pointer-events:auto;
  font:12px/1.2 Arial, Helvetica, sans-serif;
  color:#111;
}

.vgis-projection-fab{
  appearance:none;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  border-radius:0 18px 18px 0;
  width:72px;
  height:62px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  box-shadow:0 1px 6px rgba(0,0,0,.28);
  cursor:pointer;
  position:relative;
  padding-left:8px;
}

.vgis-projection-fab:hover,
.vgis-projection-option:hover{
  background:#f8f8f8;
}

.vgis-projection-fab__glyphWrap{
  display:grid;
  place-items:center;
}

.vgis-projection-fab__chevron{
  position:absolute;
  right:10px;
  bottom:10px;
  width:7px;
  height:7px;
  border-right:2px solid #475569;
  border-bottom:2px solid #475569;
  transform:rotate(45deg);
  transition:transform .18s ease;
}

.vgis-projection-wrap.is-open .vgis-projection-fab__chevron{
  transform:rotate(-135deg);
}

.vgis-projection-fab__code{
  font:700 10px/1 Arial, Helvetica, sans-serif;
  color:#334155;
  letter-spacing:.01em;
}

.vgis-projection-popover[hidden]{
  display:none !important;
}

.vgis-projection-popover{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 64px));
  gap:8px;
  padding:8px;
  margin-left:12px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(0,0,0,.16);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.22);
  pointer-events:auto;
}


.vgis-projection-option{
  appearance:none;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  border-radius:14px;
  width:64px;
  height:62px;
  padding:5px 4px 4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  box-shadow:0 1px 4px rgba(15,23,42,.12);
  cursor:pointer;
}

/* First-visit callout that hangs into the map, pointing at the projection-switcher FAB (which is
 * otherwise a mostly off-screen 30px sliver). Dismissed permanently via its close button or on
 * first use of the switcher -- see injectProjectionFirstVisitCallout in vgis_projection_manager.js. */
.vgis-projection-callout{
  position:fixed;
  left:0;
  bottom:172px;
  z-index:2400;
  width:196px;
  background:#2563eb;
  color:#fff;
  border-radius:0 16px 16px 16px;
  box-shadow:0 10px 24px rgba(15,23,42,.4);
  padding:11px 26px 13px 16px;
  pointer-events:auto;
  animation:vgisProjectionCalloutIn .45s ease-out, vgisProjectionCalloutPulse 1.9s ease-in-out 1.2s 2;
}

.vgis-projection-callout__close{
  position:absolute;
  top:2px;
  right:2px;
  appearance:none;
  border:none;
  background:transparent;
  color:#fff;
  font:700 18px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
  opacity:.82;
  padding:6px 9px;
}

.vgis-projection-callout__close:hover{
  opacity:1;
}

.vgis-projection-callout__title{
  font:700 15px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing:.01em;
  margin:0 0 3px;
}

.vgis-projection-callout__body{
  font:12px/1.4 Arial, Helvetica, sans-serif;
  opacity:.94;
}

.vgis-projection-callout__pointer{
  position:absolute;
  left:16px;
  bottom:-9px;
  width:0;
  height:0;
  border-left:9px solid transparent;
  border-right:9px solid transparent;
  border-top:10px solid #2563eb;
}

@keyframes vgisProjectionCalloutIn{
  from{ transform:translateX(-48px); opacity:0; }
  to{ transform:translateX(0); opacity:1; }
}

@keyframes vgisProjectionCalloutPulse{
  0%, 100%{ box-shadow:0 10px 24px rgba(15,23,42,.4); }
  50%{ box-shadow:0 10px 30px rgba(37,99,235,.75), 0 0 0 4px rgba(37,99,235,.25); }
}

.vgis-projection-option.is-active{
  background:#eef6ff;
  border-color:#3b82f6;
  box-shadow:0 0 0 1px rgba(59,130,246,.22), 0 2px 6px rgba(59,130,246,.18);
}

.vgis-projection-option[data-projection-experimental="true"]{
  position:relative;
}

.vgis-projection-option[data-projection-experimental="true"]::after{
  content:'Experimental';
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  transform:translateX(-50%) translateY(4px);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(15,23,42,.92);
  color:#fff;
  font:700 10px/1 Arial, Helvetica, sans-serif;
  letter-spacing:.01em;
  box-shadow:0 6px 16px rgba(15,23,42,.22);
  transition:opacity .16s ease, transform .16s ease;
}

.vgis-projection-option[data-projection-experimental="true"]:hover::after,
.vgis-projection-option[data-projection-experimental="true"]:focus-visible::after{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.vgis-projection-option__code{
  font:700 9px/1 Arial, Helvetica, sans-serif;
  color:#334155;
  letter-spacing:0;
}

.vgis-projection-glyph{
  position:relative;
  display:block;
  box-sizing:border-box;
  width:24px;
  height:22px;
  color:#2563eb;
}

.vgis-projection-glyph::before,
.vgis-projection-glyph::after{
  content:'';
  position:absolute;
  inset:0;
  box-sizing:border-box;
}

.vgis-projection-glyph--plate::before{
  border:2px solid currentColor;
  border-radius:5px;
  background:
    linear-gradient(to right, transparent 30%, rgba(37,99,235,.28) 30%, rgba(37,99,235,.28) 38%, transparent 38%, transparent 62%, rgba(37,99,235,.28) 62%, rgba(37,99,235,.28) 70%, transparent 70%),
    linear-gradient(to bottom, transparent 30%, rgba(37,99,235,.28) 30%, rgba(37,99,235,.28) 38%, transparent 38%, transparent 62%, rgba(37,99,235,.28) 62%, rgba(37,99,235,.28) 70%, transparent 70%);
}

.vgis-projection-glyph--globe-grid{
  width:24px;
  height:24px;
}

.vgis-projection-glyph--globe-grid::before{
  border:2px solid currentColor;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 22%, rgba(37,99,235,.18) 22%, rgba(37,99,235,.18) 28%, transparent 28%, transparent 48%, rgba(37,99,235,.18) 48%, rgba(37,99,235,.18) 54%, transparent 54%),
    linear-gradient(to right, transparent 24%, rgba(37,99,235,.25) 24%, rgba(37,99,235,.25) 28%, transparent 28%, transparent 48%, rgba(37,99,235,.28) 48%, rgba(37,99,235,.28) 52%, transparent 52%, transparent 72%, rgba(37,99,235,.25) 72%, rgba(37,99,235,.25) 76%, transparent 76%),
    linear-gradient(to bottom, transparent 24%, rgba(37,99,235,.25) 24%, rgba(37,99,235,.25) 28%, transparent 28%, transparent 48%, rgba(37,99,235,.28) 48%, rgba(37,99,235,.28) 52%, transparent 52%, transparent 72%, rgba(37,99,235,.25) 72%, rgba(37,99,235,.25) 76%, transparent 76%);
}

.vgis-projection-glyph--mercator{
  width:18px;
  height:24px;
}

.vgis-projection-glyph--mercator::before{
  border:2px solid currentColor;
  border-radius:4px;
  background:
    linear-gradient(to right, transparent 30%, rgba(37,99,235,.28) 30%, rgba(37,99,235,.28) 38%, transparent 38%, transparent 62%, rgba(37,99,235,.28) 62%, rgba(37,99,235,.28) 70%, transparent 70%),
    linear-gradient(to bottom, transparent 18%, rgba(37,99,235,.28) 18%, rgba(37,99,235,.28) 24%, transparent 24%, transparent 50%, rgba(37,99,235,.28) 50%, rgba(37,99,235,.28) 56%, transparent 56%, transparent 78%, rgba(37,99,235,.28) 78%, rgba(37,99,235,.28) 84%, transparent 84%);
}

.vgis-projection-glyph--robinson{
  width:24px;
  height:18px;
}

.vgis-projection-glyph--robinson::before{
  border:2px solid currentColor;
  border-radius:44% 44% 40% 40% / 58% 58% 42% 42%;
  clip-path:polygon(6% 34%, 14% 18%, 30% 8%, 50% 5%, 70% 8%, 86% 18%, 94% 34%, 100% 50%, 94% 66%, 86% 82%, 70% 92%, 50% 95%, 30% 92%, 14% 82%, 6% 66%, 0 50%);
  background:
    linear-gradient(to right, transparent 48%, rgba(37,99,235,.3) 48%, rgba(37,99,235,.3) 52%, transparent 52%),
    linear-gradient(to bottom, transparent 31%, rgba(37,99,235,.22) 31%, rgba(37,99,235,.22) 37%, transparent 37%, transparent 63%, rgba(37,99,235,.22) 63%, rgba(37,99,235,.22) 69%, transparent 69%);
}

.vgis-projection-glyph--lambert-west,
.vgis-projection-glyph--lambert-east{
  width:24px;
  height:24px;
}

.vgis-projection-glyph--lambert-west::before,
.vgis-projection-glyph--lambert-east::before{
  border:2px solid currentColor;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 24%, rgba(37,99,235,.18) 24%, rgba(37,99,235,.18) 31%, transparent 31%),
    linear-gradient(to right, transparent 48%, rgba(37,99,235,.3) 48%, rgba(37,99,235,.3) 52%, transparent 52%),
    linear-gradient(to bottom, transparent 48%, rgba(37,99,235,.26) 48%, rgba(37,99,235,.26) 52%, transparent 52%);
}

.vgis-projection-glyph--lambert-west::before{
  clip-path:inset(0 50% 0 0);
}

.vgis-projection-glyph--lambert-east::before{
  clip-path:inset(0 0 0 50%);
}

.vgis-projection-glyph--lambert-west::after,
.vgis-projection-glyph--lambert-east::after{
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font:700 9px/1 Arial, Helvetica, sans-serif;
  text-align:center;
  color:#334155;
}

.vgis-projection-glyph--lambert-west::after{
  content:'W';
  transform:translateX(-3px);
}

.vgis-projection-glyph--lambert-east::after{
  content:'E';
  transform:translateX(3px);
}

.vgis-projection-glyph--north-polar::before,
.vgis-projection-glyph--south-polar::before{
  border:2px solid currentColor;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 23%, rgba(37,99,235,.2) 23%, rgba(37,99,235,.2) 29%, transparent 29%, transparent 49%, rgba(37,99,235,.2) 49%, rgba(37,99,235,.2) 55%, transparent 55%),
    linear-gradient(to right, transparent 48%, rgba(37,99,235,.28) 48%, rgba(37,99,235,.28) 52%, transparent 52%),
    linear-gradient(to bottom, transparent 48%, rgba(37,99,235,.28) 48%, rgba(37,99,235,.28) 52%, transparent 52%);
}

.vgis-projection-glyph--north-polar::after,
.vgis-projection-glyph--south-polar::after{
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font:700 9px/1 Arial, Helvetica, sans-serif;
  text-align:center;
  color:#334155;
  content:'N';
}

.vgis-projection-glyph--south-polar::after{
  content:'S';
}

.vgis-projection-disabled-row{
  opacity:.46;
}

.vgis-projection-disabled-row label,
.vgis-projection-disabled-row .chip,
.vgis-projection-disabled-row .download-icon{
  filter:grayscale(1);
}

.vgis-projection-disabled-control,
.google-layers-option.vgis-projection-disabled-button{
  cursor:not-allowed !important;
}

.google-layers-option.vgis-projection-disabled-button,
.google-layers-option:disabled{
  opacity:.42;
  filter:grayscale(1);
}

@media (max-width: 900px){
  .vgis-projection-wrap{
    left:0;
    bottom:90px;
  }

  .vgis-projection-popover{
    grid-template-columns:repeat(2, minmax(0, 58px));
    gap:7px;
    padding:7px;
  }

  .vgis-projection-option{
    width:58px;
    height:58px;
  }

  .vgis-projection-fab{
    width:66px;
    height:58px;
  }
}


.temp-cloud{background:transparent;border:0;pointer-events:none}
.temp-cloud__inner{
  display:inline-block;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  color:#fff;
  font:600 12px/1.1 Arial,Helvetica,sans-serif;
  white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,0.9);
}
.temp-cloud__inner::before{content:none}

.vgis-pdf-export-controls{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  align-items:stretch;
  margin-top:2px;
  padding-top:6px;
  border-top:1px solid rgba(0,0,0,.12);
  font:12px/1.25 Arial, Helvetica, sans-serif;
}

.vgis-pdf-export-controls label{
  color:#333;
  font-weight:700;
}

.vgis-pdf-export-controls select,
.vgis-pdf-export-controls button{
  width:100%;
  box-sizing:border-box;
  border:1px solid #ccc;
  border-radius:6px;
  background:#fff;
  padding:4px 8px;
  font:12px/1.25 Arial, Helvetica, sans-serif;
}

.vgis-pdf-export-controls button{
  cursor:pointer;
}

/* end v6 — 2026-03-29T13:20:00Z */
