/* Helisep brand theme for the Global Helium-3 Atlas.
   Loads after app.css and commercial-v13.css and wins by order.
   The app is token driven, so the theme starts by redefining the tokens,
   then restyles the components the tokens cannot reach. */

/* ------------------------------------------------------------------ fonts */
@font-face{font-family:"Chakra Petch";font-weight:600;font-style:normal;font-display:swap;
  src:url("/static/fonts/chakra-petch-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Chakra Petch";font-weight:700;font-style:normal;font-display:swap;
  src:url("/static/fonts/chakra-petch-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;
  src:url("/static/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-style:normal;font-display:swap;
  src:url("/static/fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;
  src:url("/static/fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;
  src:url("/static/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;
  src:url("/static/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}

/* ------------------------------------------------------------------ tokens */
:root{
  --navy:#0F2042; --navy-deep:#0A172F; --navy-raised:#16305C; --navy-line:#22406F;
  --cyan:#2A8FF2; --cyan-soft:#6FB4F7; --amber:#FF7A00; --amber-hi:#FF941F;
  --buff:#C29B68; --platinum:#F1F5F9; --mist:#A9B8D6; --mist-dim:#7E90B4;

  --paper:var(--navy-deep);
  --surface:var(--navy);
  --surface-strong:var(--navy-raised);
  --ink:var(--platinum);
  --ink-2:var(--platinum);
  --muted:var(--mist);
  --subtle:var(--mist-dim);
  --line:var(--navy-line);
  --line-strong:#2E4E85;
  --brand:var(--cyan);
  --brand-dark:var(--cyan-soft);
  --brand-soft:rgba(42,143,242,.15);
  --science:var(--cyan-soft);
  --science-soft:rgba(111,180,247,.14);
  --infrastructure:var(--amber);
  --infrastructure-soft:rgba(255,122,0,.14);
  --target:var(--buff);
  --target-soft:rgba(194,155,104,.16);
  --danger:#FF6B6B; --danger-soft:rgba(255,107,107,.14);
  --success:#37C978; --success-soft:rgba(55,201,120,.15);
  --shadow-sm:0 1px 2px rgba(0,0,0,.35),0 6px 20px rgba(0,0,0,.3);
  --shadow-lg:0 22px 60px rgba(0,0,0,.55);
  --hnav-h:58px;
  --util-h:36px;
  color-scheme:dark;
}

/* ------------------------------------------------------------------ base */
body{font-family:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif}
h1,h2,h3,.featured-heading,.drawer-title h2,.view-card strong{
  font-family:"Chakra Petch","IBM Plex Sans",sans-serif;letter-spacing:.01em}
kbd,.search-shortcut,.eyebrow,.result-count,#modeLabel,.highlight-tag,
.official-status,.plain-note,.dynamic-legend-foot{font-family:"IBM Plex Mono",monospace}
a{color:var(--cyan-soft)}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:var(--navy-deep)}
*::-webkit-scrollbar-thumb{background:var(--navy-line);border-radius:6px;border:2px solid var(--navy-deep)}
*::-webkit-scrollbar-thumb:hover{background:#2E4E85}
*{scrollbar-color:var(--navy-line) var(--navy-deep);scrollbar-width:thin}
::selection{background:rgba(42,143,242,.4)}

/* ------------------------------------------------------------------ site nav */
.hnav{position:relative;z-index:1400;height:var(--hnav-h);background:var(--navy-deep);
  border-bottom:1px solid var(--navy-line)}
.hnav-in{height:100%;display:flex;align-items:center;gap:26px;padding:0 22px}
.hnav-logo{display:flex;align-items:center;flex:0 0 auto}
.hnav-logo img{height:32px;width:auto;display:block}
.hnav-links{display:flex;align-items:center;gap:22px;margin-left:auto}
.hnav-links a{font-size:.86rem;font-weight:500;color:var(--mist);text-decoration:none;
  transition:color .18s ease}
.hnav-links a:hover{color:var(--platinum)}
.hnav-links a.hnav-here{color:var(--platinum)}
.hnav-cta{background:var(--amber);color:var(--navy)!important;font-weight:600;
  padding:9px 16px;border-radius:9px;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.hnav-cta:hover,.hnav-cta:focus-visible{background:var(--amber-hi);color:var(--navy)!important;
  transform:translateY(-1px);box-shadow:0 10px 26px rgba(255,122,0,.5)}
.hnav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--navy-line);
  border-radius:9px;color:var(--platinum);font-family:"IBM Plex Mono",monospace;font-size:.74rem;
  letter-spacing:.12em;padding:9px 14px;cursor:pointer}
@media(max-width:1080px){
  .hnav-toggle{display:block}
  .hnav-links{display:none;position:absolute;top:var(--hnav-h);left:0;right:0;z-index:1400;
    flex-direction:column;align-items:stretch;gap:0;background:var(--navy-deep);
    border-bottom:1px solid var(--navy-line);box-shadow:var(--shadow-lg);padding:8px 0}
  .hnav-links.open{display:flex}
  .hnav-links a{padding:13px 22px}
  .hnav-links a.hnav-cta{margin:8px 22px 10px;text-align:center;border-radius:9px}
}

/* utility bar: investor login above the site nav, a plain text link with an
   amber lock, no pill (PORTAL §19.2, same as site.css) */
.util-bar{position:relative;z-index:1401;height:var(--util-h);background:var(--navy-deep);
  border-bottom:1px solid rgba(255,255,255,.06)}
.util-in{height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 22px}
.util-login{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;line-height:1.2;
  color:var(--platinum);text-decoration:none;padding:4px 0;border:0;border-radius:4px;background:none;
  transition:color .18s ease}
.util-login svg{color:var(--amber);flex:0 0 auto}
.util-login:hover,.util-login:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px}
.util-login:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

/* app fills the space under the site nav, and under the utility bar where
   there is one (the /ops/ workspace has none) */
.app{height:calc(100% - var(--hnav-h))}
.util-bar ~ .app{height:calc(100% - var(--hnav-h) - var(--util-h))}

/* ------------------------------------------------------------------ topbar */
.topbar{background:var(--navy-deep);border-bottom:1px solid var(--navy-line)}
.brand-lockup{display:none}
.brand-copy h1{font-size:15px;color:var(--platinum);letter-spacing:.02em}
.brand-copy #modeLabel{color:var(--buff);text-transform:uppercase;letter-spacing:.14em;font-size:10px}
.search-wrap{background:var(--navy);border:1px solid var(--navy-line);border-radius:11px}
.search-wrap:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(42,143,242,.2)}
.search-icon{color:var(--mist-dim)}
.search-input{color:var(--platinum);background:transparent}
.search-input::placeholder{color:var(--mist-dim)}
.search-shortcut{background:var(--navy-raised);border:1px solid var(--navy-line);color:var(--mist);
  border-radius:6px}
.search-results{background:var(--navy);border:1px solid var(--navy-line);box-shadow:var(--shadow-lg);
  border-radius:12px}
.search-item{color:var(--platinum)}
.search-item:hover,.search-item:focus{background:rgba(42,143,242,.14)}
.top-action{color:var(--mist);border-radius:9px}
.top-action:hover{background:var(--navy);color:var(--platinum)}
.top-action .top-action-icon{color:var(--cyan-soft)}

/* ------------------------------------------------------------------ sidebar */
.sidebar{background:var(--navy);border-right:1px solid var(--navy-line)}
.sidebar-head .eyebrow{color:var(--buff);letter-spacing:.16em}
.view-card{background:var(--navy);border:1px solid var(--navy-line);color:var(--platinum);
  transition:border-color .18s ease,background .18s ease,transform .18s ease}
/* the light skin's near-white divider between the cards (commercial-v13.css, 0,2,0) */
.view-card + .view-card{border-top-color:var(--navy-line)}
.view-card:hover{border-color:var(--cyan);transform:translateX(2px)}
.view-card p{color:var(--mist)}
.view-card.active{border-color:var(--cyan);background:rgba(42,143,242,.12);
  box-shadow:inset 3px 0 0 var(--cyan),0 0 0 1px rgba(42,143,242,.25)}
.view-card[data-view="science"].active{border-color:var(--cyan-soft);background:rgba(111,180,247,.1);
  box-shadow:inset 3px 0 0 var(--cyan-soft),0 0 0 1px rgba(111,180,247,.25)}
.view-card[data-view="infrastructure"].active{border-color:var(--amber);background:rgba(255,122,0,.1);
  box-shadow:inset 3px 0 0 var(--amber),0 0 0 1px rgba(255,122,0,.3)}
.friendly-summary{background:rgba(42,143,242,.1);border:1px solid rgba(42,143,242,.3);
  border-left:3px solid var(--cyan);color:var(--mist);border-radius:10px}
.friendly-summary strong{color:var(--platinum)}
.btn-primary{background:var(--amber);color:var(--navy);border:0;font-weight:600;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.btn-primary:hover{background:var(--amber-hi);transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(255,122,0,.45)}
.btn-secondary{background:transparent;border:1px solid var(--navy-line);color:var(--platinum)}
.btn-secondary:hover{border-color:var(--cyan);background:rgba(42,143,242,.1)}
.btn-quiet{background:transparent;color:var(--mist)}
.btn-quiet:hover{color:var(--platinum);background:var(--navy-raised)}
.text-button{color:var(--cyan-soft)}
.text-button:hover{color:var(--platinum)}
.featured-starts{border-top:2px solid var(--buff)}
.featured-heading{color:var(--platinum)}
.featured-list button,.featured-list .featured-item{background:var(--navy);
  border:1px solid var(--navy-line);color:var(--platinum);border-radius:10px;
  transition:border-color .18s ease,background .18s ease}
.featured-list button:hover{border-color:var(--buff);background:rgba(194,155,104,.1)}
.featured-list small,.featured-list p{color:var(--mist-dim)}
.control-group{border-color:var(--navy-line)}
.control-group label,.check-row{color:var(--mist)}
.control-group select,.control-group input[type="text"],.control-group input[type="number"],
.filter-grid select,.filter-grid input{background:var(--navy-deep);border:1px solid var(--navy-line);
  color:var(--platinum);border-radius:9px}
.control-group select:focus,.filter-grid select:focus{border-color:var(--cyan)}
input[type="checkbox"],input[type="radio"],input[type="range"]{accent-color:var(--cyan)}
.layer-toggle:hover{background:var(--navy-raised)}
.official-status{background:var(--navy-deep);color:var(--mist);border:1px solid var(--navy-line)}
.official-status[data-kind="success"]{background:var(--success-soft);color:#7FE0A8;border-color:rgba(55,201,120,.35)}
.official-status[data-kind="warning"]{background:var(--target-soft);color:var(--buff);border-color:rgba(194,155,104,.4)}
.review-summary-box div{background:var(--navy-deep);border:1px solid var(--navy-line)}
.sidebar-footer{background:var(--navy);border-top:1px solid var(--navy-line)}
.result-count{color:var(--buff);letter-spacing:.08em}
.highlight-tag{color:var(--cyan-soft);background:rgba(42,143,242,.12);border-radius:6px}
.accordion-stack details{border-color:var(--navy-line)}
.accordion-stack summary{color:var(--platinum)}
.plain-note,.glossary{color:var(--mist-dim)}
.legend-diamond{border-color:#8a6a3c}

/* ------------------------------------------------------------------ panels */
.dynamic-legend,.modal-panel,.feedback-panel{background:var(--navy);border:1px solid var(--navy-line);
  box-shadow:var(--shadow-lg);color:var(--platinum)}
.dynamic-legend-head{border-bottom:1px solid var(--navy-line)}
.dynamic-legend-head .eyebrow{color:var(--buff)}
.dynamic-legend-foot{background:var(--navy-deep);color:var(--mist-dim);border-top:1px solid var(--navy-line)}
.dynamic-legend-empty strong{color:var(--platinum)}
.icon-button{color:var(--mist);border-radius:8px}
.icon-button:hover{background:var(--navy-raised);color:var(--platinum)}

/* drawer */
.drawer{background:var(--navy);border-left:1px solid var(--navy-line);box-shadow:var(--shadow-lg)}
/* closed, the drawer is only transparent and moved down; on a tall phone or tablet it still
   sat over the bottom of the map and the Explore drawer and took their clicks */
.drawer:not(.open){pointer-events:none}
/* ...and out of the tab order and the accessibility tree: visibility flips only after the
   slide-out, so the closing animation still shows */
.drawer{transition:transform .24s ease,opacity .24s ease,visibility 0s linear .24s}
.drawer.open{visibility:visible;transition:transform .24s ease,opacity .24s ease,visibility 0s}
.drawer:not(.open){visibility:hidden}
.drawer-head{border-bottom:1px solid var(--navy-line);background:var(--navy-deep)}
.drawer-title .eyebrow{color:var(--buff);letter-spacing:.15em}
.drawer-title h2{color:var(--platinum)}
.drawer-title p{color:var(--mist)}
.profile-section h3{color:var(--buff);font-family:"IBM Plex Mono",monospace;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase}
.profile-section{border-color:var(--navy-line)}
.source-link{color:var(--cyan-soft)}
.helis-profile-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 4px;
  padding-top:14px;border-top:1px solid var(--navy-line)}
.helis-profile-cta a.helis-cta-main{display:inline-flex;align-items:center;gap:8px;
  font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;background:var(--cyan);
  color:#fff;border-radius:9px;padding:10px 15px;text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.helis-profile-cta a.helis-cta-main:hover{transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(42,143,242,.45)}
.helis-profile-cta .helis-cta-note{font-size:11px;color:var(--mist-dim);
  font-family:"IBM Plex Mono",monospace}

/* ------------------------------------------------------------------ map chrome */
#map{background:#DCE5F0}
.leaflet-container{background:#DCE5F0;font-family:"IBM Plex Sans",sans-serif}

/* Basemap tone. Voyager carries the daylight cartography, warmed very
   slightly so the land reads friendly rather than clinical. The dark
   alternative in the layer switcher keeps its own tone. */
.helisep-basemap{filter:saturate(1.04) brightness(1.02)}
.leaflet-gl-layer{position:absolute;inset:0}
.leaflet-gl-layer canvas{width:100%!important;height:100%!important}
#map.helisep-dark-ground .leaflet-gl-layer{filter:invert(1) hue-rotate(195deg) brightness(.82) saturate(.55)}
#map.helisep-dark-ground{background:#0A172F}
.maplibregl-ctrl-attrib,.maplibregl-ctrl-bottom-right{display:none}
.leaflet-bar{border:1px solid var(--navy-line)!important;box-shadow:var(--shadow-sm)}
.leaflet-bar a{background:var(--navy);color:var(--platinum);border-bottom:1px solid var(--navy-line)}
.leaflet-bar a:hover{background:var(--navy-raised);color:#fff}
.leaflet-bar a.leaflet-disabled{background:var(--navy-deep);color:var(--mist-dim)}
.leaflet-control-layers{background:var(--navy);border:1px solid var(--navy-line)!important;
  color:var(--platinum);border-radius:10px;box-shadow:var(--shadow-sm)}
.leaflet-control-layers-expanded{padding:12px 14px}
.leaflet-control-layers label{color:var(--mist)}
.leaflet-control-attribution{background:rgba(255,255,255,.86)!important;color:#40526F;
  font-family:"IBM Plex Mono",monospace;font-size:9px}
.leaflet-control-attribution a{color:#1F4C8A}
.leaflet-control-scale-line{background:rgba(10,23,47,.7);color:var(--mist);border-color:var(--navy-line)}

/* popups and tooltips */
.leaflet-popup-content-wrapper{background:var(--navy);color:var(--platinum);
  border:1px solid var(--navy-line);border-left:3px solid var(--cyan);border-radius:12px;
  box-shadow:var(--shadow-lg)}
.leaflet-popup-tip{background:var(--navy);border:1px solid var(--navy-line)}
.leaflet-popup-close-button{color:var(--mist)!important}
.leaflet-popup-close-button:hover{color:#fff!important}
.helisep-popup-title{color:var(--platinum);font-family:"Chakra Petch",sans-serif}
.helisep-popup-meta{color:var(--mist)}
.helisep-popup-value{color:var(--amber);font-family:"IBM Plex Mono",monospace}
.helisep-popup-note{color:var(--mist-dim)}
.helisep-popup-action{color:var(--cyan-soft);font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase}
.helis-tooltip{background:var(--navy-deep)!important;color:var(--platinum)!important;
  border:1px solid var(--cyan)!important;border-radius:8px!important;
  font-family:"IBM Plex Mono",monospace!important;box-shadow:var(--shadow-sm)!important}
.helis-tooltip::before{border-top-color:var(--cyan)!important}

/* markers and clusters */
.helisep-dot{filter:drop-shadow(0 0 5px rgba(0,0,0,.6))}
.atlas-cluster div,.isotope-cluster div,.well-cluster div,.target-cluster div{
  background:rgba(10,23,47,.88)!important;color:#fff!important;
  font-family:"IBM Plex Mono",monospace;font-weight:600;
  box-shadow:0 0 0 4px rgba(42,143,242,.2),0 6px 18px rgba(0,0,0,.5)!important}
.atlas-cluster div{border:2.5px solid var(--cyan)!important}
.isotope-cluster div{border:2.5px solid var(--cyan-soft)!important;
  box-shadow:0 0 0 4px rgba(111,180,247,.18),0 6px 18px rgba(0,0,0,.5)!important}
.well-cluster div{border:2.5px solid var(--platinum)!important;
  box-shadow:0 0 0 4px rgba(241,245,249,.15),0 6px 18px rgba(0,0,0,.5)!important}
.target-cluster div{border:2.5px solid var(--buff)!important;
  box-shadow:0 0 0 4px rgba(194,155,104,.2),0 6px 18px rgba(0,0,0,.5)!important}
.legend-cluster::before{background:var(--navy-deep);border:2.5px solid var(--cyan);
  box-shadow:0 0 0 1px rgba(42,143,242,.3)}

/* loading and modals */
.loading{background:rgba(10,23,47,.85);color:var(--platinum);backdrop-filter:blur(4px)}
.spinner{border-color:var(--navy-line);border-top-color:var(--cyan)}
.help-number{background:var(--cyan);color:#fff}
.unmapped-list li{border-color:var(--navy-line)}

/* swatch corrections for the dark ground */
.swatch-atlas{background:var(--cyan)}
.swatch-well{background:var(--platinum)}

@media (prefers-reduced-motion: reduce){
  .view-card,.btn-primary,.hnav-cta,.top-action{transition:none}
}

/* ---------------------------------------------------- floating map controls */
.map-fab,.map-context{background:rgba(10,23,47,.92);border:1px solid var(--navy-line);
  color:var(--platinum);box-shadow:var(--shadow-sm);backdrop-filter:blur(6px);border-radius:9px}
.map-fab:hover{background:var(--navy-raised);border-color:var(--cyan)}
.map-context{border-top:3px solid var(--cyan)}
.map-context strong{color:var(--platinum)}
.map-context span{color:var(--mist-dim)}
.legend-button-mark{border-top-color:var(--platinum);border-bottom-color:var(--amber);
  box-shadow:inset 0 -2px 0 var(--cyan)}
.return-selection{background:var(--navy);border:1px solid var(--cyan);color:var(--platinum);
  box-shadow:var(--shadow-sm)}

/* bottom center count chips */
.map-counts .count-chip,.map-counts span,.map-counts button{background:rgba(10,23,47,.9);
  border:1px solid var(--navy-line);color:var(--mist);font-family:"IBM Plex Mono",monospace;
  border-radius:8px}
.map-counts strong,.map-counts b{color:var(--platinum)}

/* featured heading contrast */
.featured-heading h3{color:var(--platinum)}
.featured-list button strong{color:var(--platinum)}

/* layers control toggle icon on dark: replace the stock icon with a light glyph */
.leaflet-control-layers-toggle,
.leaflet-touch .leaflet-control-layers-toggle{background-color:var(--navy);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F1F5F9' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 8l10 5 10-5-10-5z'/%3E%3Cpath d='m2 13 10 5 10-5' stroke='%236FB4F7'/%3E%3C/svg%3E");
  background-size:19px 19px}
.leaflet-control-layers-toggle:hover{background-color:var(--navy-raised)}

/* ------------------------------------------------- drawer profile internals */
.plain-language-banner{background:rgba(42,143,242,.12);border:1px solid rgba(42,143,242,.35);
  border-left:3px solid var(--cyan);border-radius:12px}
.plain-language-banner.science{background:rgba(111,180,247,.1);border-color:rgba(111,180,247,.35);
  border-left-color:var(--cyan-soft)}
.plain-language-banner.infrastructure{background:rgba(255,122,0,.1);border-color:rgba(255,122,0,.35);
  border-left-color:var(--amber)}
.plain-language-banner .eyebrow{color:var(--buff)}
.plain-language-banner strong{color:var(--platinum)}
.plain-language-banner p{color:var(--mist)}
.technical-toggle{color:var(--cyan-soft)}
.technical-toggle:hover{color:var(--platinum)}
.kv{background:var(--navy-deep);border:1px solid var(--navy-line)}
.k{color:var(--mist-dim)}
.v{color:var(--platinum)}
.badge{background:var(--navy-raised);color:var(--mist)}
.badge-official{background:rgba(255,122,0,.16);color:var(--amber)}
.match-badge-accepted{background:rgba(55,201,120,.16);color:#7FE0A8}
.match-badge-pending{background:rgba(111,180,247,.16);color:var(--cyan-soft)}
.match-badge-rejected{background:rgba(255,107,107,.16);color:#FF9B9B}
.profile-section p{color:var(--mist)}
.caveat,.plain-note{background:rgba(194,155,104,.14);color:#DDBE94;
  border:1px solid rgba(194,155,104,.35)}
.internal-note{background:rgba(111,180,247,.12);color:var(--cyan-soft);
  border:1px solid rgba(111,180,247,.3)}
.source-link{background:var(--navy-deep);border-color:var(--navy-line);color:var(--cyan-soft)}
.source-link:hover{border-color:var(--cyan);background:rgba(42,143,242,.1)}

/* featured panel was hardcoded white in the commercial skin */
.featured-starts{background:var(--navy-deep);border-color:var(--navy-line);
  border-top:3px solid var(--buff)}
.featured-list button:hover,.featured-list button:focus-visible{background:rgba(42,143,242,.14);
  border-color:var(--cyan)}
.highlights article{background:var(--navy-deep);border:1px solid var(--navy-line);color:var(--mist)}
.highlights article strong{color:var(--platinum)}

/* help modal internals were hardcoded light */
.help-grid article{background:var(--navy-deep);border-color:var(--navy-line)}
.help-grid h3{color:var(--platinum)}
.help-grid p{color:var(--mist)}
.help-grid p strong{color:var(--cyan-soft)}
.glossary h3{color:var(--platinum)}
.glossary dl div{background:var(--navy-deep);border:1px solid var(--navy-line)}
.glossary dt{color:var(--buff)}
.glossary dd{color:var(--mist)}

/* Leaflet controls stay dark on every device; the commercial skin paints
   them white through several high-specificity selectors, so the theme
   closes the question with importance. */
.leaflet-control-zoom a,.leaflet-bar a,
.leaflet-touch .leaflet-control-zoom a,.leaflet-touch .leaflet-bar a{
  background:var(--navy)!important;color:var(--platinum)!important;
  border-bottom:1px solid var(--navy-line)!important}
.leaflet-control-zoom a:hover,.leaflet-bar a:hover,
.leaflet-touch .leaflet-control-zoom a:hover,.leaflet-touch .leaflet-bar a:hover{
  background:var(--navy-raised)!important}
.leaflet-control-layers,.leaflet-touch .leaflet-control-layers{
  background:var(--navy)!important}
.leaflet-control-layers-toggle,.leaflet-touch .leaflet-control-layers-toggle{
  background-color:var(--navy)!important}

/* compact topbar on phones: the search owns the row */
@media(max-width:640px){
  .topbar{grid-template-columns:minmax(0,1fr) auto;padding:8px 10px}
  .brand-block{display:none}
}

/* the nav dropdown must clear the app topbar, which sits at 3000 */
.hnav{z-index:3100}

/* --------------------------------------------------- modal heads and forms */
.drawer-head,.modal-head{background:var(--navy-deep);border-bottom:1px solid var(--navy-line)}
.modal-head h2{color:var(--platinum)}
.modal-head p{color:var(--mist)}
.modal-head .eyebrow{color:var(--buff)}
.modal-backdrop{background:rgba(6,14,28,.72);backdrop-filter:blur(3px)}
.modal-body{color:var(--mist)}

/* data status counters were white numerals on white cards */
.status-grid article{background:var(--navy-deep);border:1px solid var(--navy-line)}
.status-grid strong{color:var(--platinum);font-family:"Chakra Petch",sans-serif}
.status-grid span{color:var(--mist)}

/* every form surface in the app */
.feedback-panel{border-color:var(--navy-line)}
.feedback-panel summary{background:var(--navy-deep);color:var(--platinum)}
.feedback-panel summary:hover{background:var(--navy-raised)}
.feedback-panel form{border-top:1px solid var(--navy-line)}
.feedback-panel label,.modal-panel label{color:var(--mist)}
input[type="text"],input[type="email"],input[type="search"],input[type="number"],
textarea,select{background:var(--navy-deep);border:1px solid var(--navy-line);color:var(--platinum);
  border-radius:9px}
input::placeholder,textarea::placeholder{color:var(--mist-dim)}
input:focus,textarea:focus,select:focus{border-color:var(--cyan);outline:none;
  box-shadow:0 0 0 3px rgba(42,143,242,.2)}

/* records that exist only in the internal build say so in their drawer */
.helis-unpublished{border-top:1px solid rgba(255,122,0,.35)}
.helis-unpub-tag{display:inline-flex;align-items:center;gap:7px;font-family:"IBM Plex Mono",monospace;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);
  background:rgba(255,122,0,.12);border:1px solid rgba(255,122,0,.4);border-radius:8px;padding:8px 12px}

/* ------------------------------------------------- derived helium-3 grade */
.helis-grade{margin-top:18px;padding-top:16px;border-top:1px solid var(--navy-line)}
.helis-grade h3{color:var(--buff);font-family:"IBM Plex Mono",monospace;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.helis-grade-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.helis-grade-val{font-family:"Chakra Petch",sans-serif;font-size:26px;font-weight:700;color:var(--platinum)}
.helis-grade-band{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:5px 11px;
  border:1px solid var(--navy-line);color:var(--mist)}
.helis-grade-band.band-exceptional{color:var(--amber);border-color:rgba(255,122,0,.5);
  background:rgba(255,122,0,.12)}
.helis-grade-band.band-high{color:var(--buff);border-color:rgba(194,155,104,.5);
  background:rgba(194,155,104,.12)}
.helis-grade-band.band-moderate{color:var(--cyan-soft);border-color:rgba(111,180,247,.45);
  background:rgba(111,180,247,.1)}
.helis-grade-note{margin:9px 0 0;font-size:12px;line-height:1.55;color:var(--mist)}
.helis-grade-method{color:var(--mist-dim);font-family:"IBM Plex Mono",monospace;font-size:11px}

/* ------------------------------------------------------- v2.1 map symbology */
/* clusters become quiet count pills, only where markers physically collide */
.atlas-cluster,.isotope-cluster,.well-cluster,.target-cluster{background:none!important;
  display:flex;align-items:center;justify-content:center}
.atlas-cluster div,.isotope-cluster div,.well-cluster div,.target-cluster div{
  width:auto!important;height:22px!important;min-width:22px;padding:0 7px;border-radius:999px!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  font:600 11px/1 "IBM Plex Mono",monospace!important;letter-spacing:0;color:#fff!important;
  border:1.5px solid #fff!important;box-shadow:0 2px 8px rgba(15,32,66,.35)!important;margin:0!important}
.atlas-cluster div span,.isotope-cluster div span,.well-cluster div span,.target-cluster div span{line-height:1}
.atlas-cluster div{background:var(--navy)!important}
.target-cluster div{background:var(--buff)!important}
.isotope-cluster div{background:var(--cyan)!important}
.well-cluster div{background:#5F729A!important}
.legend-cluster::before{background:var(--navy);border:1.5px solid #fff;box-shadow:0 2px 6px rgba(15,32,66,.35)}
/* site markers get a little more presence on the Voyager ground */
.helisep-dot{--dot-size:12px;box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 0 3.5px rgba(15,32,66,.18),0 3px 8px rgba(15,32,66,.3)!important;
  filter:none}
.helisep-marker-shell:hover .helisep-dot,.helisep-marker-shell.marker-selected .helisep-dot{
  box-shadow:0 0 0 2px #fff,0 0 0 5px rgba(255,122,0,.55),0 4px 12px rgba(15,32,66,.35)!important}

/* ------------------------------------------------------- welcome and tour */
.helis-welcome{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;
  background:rgba(6,14,28,.72);backdrop-filter:blur(4px);padding:20px}
.helis-welcome.open{display:flex}
body.helis-modal-open{overflow:hidden}
.hw-panel{position:relative;width:min(860px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--navy);
  border:1px solid var(--navy-line);border-top:4px solid var(--amber);border-radius:16px;padding:34px 36px 28px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);color:var(--platinum)}
.hw-close{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--mist);font-size:26px;cursor:pointer;line-height:1}
.hw-close:hover{color:#fff}
.hw-kicker{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--buff)}
.hw-panel h2{font-family:"Chakra Petch",sans-serif;font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.2;margin:10px 0 12px;color:#fff}
.hw-lede{margin:0 0 22px;font-size:15px;line-height:1.6;color:var(--mist)}
.hw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.hw-tile{text-align:left;background:var(--navy-deep);border:1px solid var(--navy-line);border-radius:12px;padding:16px 16px 14px;
  color:var(--mist);cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease;display:flex;flex-direction:column;gap:4px}
.hw-tile:hover{border-color:var(--cyan);transform:translateY(-2px);background:var(--navy-raised)}
.hw-tile .hw-num{font-family:"Chakra Petch",sans-serif;font-size:26px;font-weight:700;color:var(--cyan-soft);line-height:1}
.hw-tile b{color:#fff;font-size:15px;margin-top:6px}
.hw-tile span:last-child{font-size:12.5px;line-height:1.5}
.hw-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}
.hw-tour{background:var(--amber);color:var(--navy);border:0;border-radius:10px;padding:13px 20px;font:600 14px "IBM Plex Sans",sans-serif;cursor:pointer;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.hw-tour:hover{background:var(--amber-hi);transform:translateY(-1px);box-shadow:0 10px 26px rgba(255,122,0,.45)}
.hw-skip{background:none;border:1px solid var(--navy-line);color:var(--platinum);border-radius:10px;padding:12px 18px;font:500 14px "IBM Plex Sans",sans-serif;cursor:pointer}
.hw-skip:hover{border-color:var(--cyan)}
.hw-foot{margin:20px 0 0;font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--mist-dim)}
.hw-foot a{color:var(--cyan-soft)}
@media(max-width:760px){.hw-grid{grid-template-columns:1fr}.hw-panel{padding:26px 20px 22px}}

.helis-tour{position:absolute;z-index:1450;left:16px;top:16px;width:min(400px,calc(100% - 32px));display:none;
  background:rgba(10,23,47,.94);backdrop-filter:blur(8px);border:1px solid var(--navy-line);border-left:4px solid var(--amber);
  border-radius:12px;padding:18px 20px 14px;box-shadow:0 18px 44px rgba(0,0,0,.5);color:var(--platinum)}
.helis-tour.open{display:block}
.ht-kicker{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--buff)}
.ht-title{font-family:"Chakra Petch",sans-serif;font-size:19px;margin:6px 0 6px;color:#fff}
.ht-text{margin:0 0 14px;font-size:13.5px;line-height:1.6;color:var(--mist)}
.ht-nav{display:flex;align-items:center;gap:10px}
.ht-nav button{font:600 12px "IBM Plex Mono",monospace;border-radius:8px;padding:8px 12px;cursor:pointer}
.ht-back{background:none;border:1px solid var(--navy-line);color:var(--mist)}
.ht-back:disabled{opacity:.35;cursor:default}
.ht-next{background:var(--amber);border:0;color:var(--navy)}
.ht-next:hover{background:var(--amber-hi)}
.ht-end{margin-left:auto;background:none;border:0;color:var(--mist-dim);text-decoration:underline;padding:8px 4px}
.ht-dots{display:inline-flex;gap:5px}
.ht-dots i{width:7px;height:7px;border-radius:50%;background:var(--navy-line)}
.ht-dots i.on{background:var(--amber)}
/* The tour opens a record on each stop, and the record drawer (z-index 1400) covered the
   card's Back, Next and End tour wherever the two meet: on phones, where the drawer is a
   sheet over the lower map, and below about 1280 px, where it reaches the card from the
   right. The card sits above the drawer (under the modals at 1700 and up), and at those
   widths at the bottom of the map, so the record's name and summary stay in view (A11Y-2).
   While the Explore drawer is open on a phone the card goes back under it. */
@media(max-width:1279px){.helis-tour{top:auto;bottom:16px}}
@media(max-width:840px){.helis-tour{bottom:8px}}
@media(max-width:640px){.helis-tour{left:8px;width:calc(100% - 16px)}}
.sidebar.open ~ .map-wrap .helis-tour{z-index:1300}
.helis-about-fab span[aria-hidden]{font-family:"Chakra Petch",sans-serif;font-weight:700}

/* --------------------------------------------------- layer switches in the key */
.helis-layers{padding:12px 16px 10px;border-bottom:1px solid var(--navy-line);background:var(--navy-deep)}
.hl-title{display:block;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--buff);margin-bottom:8px}
.hl-row{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;padding:6px 0;cursor:pointer;color:var(--platinum);font-size:12.5px}
.hl-row:hover .hl-label{color:#fff}
.hl-row .layer-swatch{width:14px;height:14px;border-radius:4px}
.hl-switch{position:relative;width:34px;height:20px;display:inline-block}
.hl-switch input{position:absolute;opacity:0;width:0;height:0}
.hl-switch i{position:absolute;inset:0;border-radius:999px;background:var(--navy-line);transition:background .18s ease}
.hl-switch i::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .18s ease}
.hl-switch input:checked+i{background:var(--cyan)}
.hl-switch input:checked+i::after{transform:translateX(14px)}
.hl-switch input:focus-visible+i{outline:2px solid var(--amber);outline-offset:2px}

/* --------------------------------------------------- stay updated */
.helis-updates{position:fixed;inset:0;z-index:5100;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(6,14,28,.66);backdrop-filter:blur(4px);opacity:0;transition:opacity .22s ease}
.helis-updates.open{opacity:1}
.hu-panel{position:relative;width:min(560px,100%);background:var(--navy);border:1px solid var(--navy-line);border-top:4px solid var(--cyan);
  border-radius:16px;padding:30px 32px 24px;box-shadow:0 30px 80px rgba(0,0,0,.6);color:var(--platinum)}
.hu-close{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--mist);font-size:26px;cursor:pointer;line-height:1}
.hu-close:hover{color:#fff}
.hu-kicker{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--buff)}
.hu-panel h2{font-family:"Chakra Petch",sans-serif;font-size:1.35rem;line-height:1.25;margin:8px 0 8px;color:#fff}
.hu-lede{margin:0 0 18px;font-size:14px;line-height:1.55;color:var(--mist)}
.hu-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.hu-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hu-field{display:flex;flex-direction:column;gap:5px}
.hu-field span{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist-dim)}
.hu-field input{background:var(--navy-deep);border:1px solid var(--navy-line);border-radius:9px;color:var(--platinum);padding:11px 12px;font:14px "IBM Plex Sans",sans-serif}
.hu-field input:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px rgba(42,143,242,.2)}
.hu-actions{display:flex;gap:12px;align-items:center;margin-top:16px}
.hu-submit{background:var(--amber);color:var(--navy);border:0;border-radius:10px;padding:12px 18px;font:600 14px "IBM Plex Sans",sans-serif;cursor:pointer;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.hu-submit:hover{background:var(--amber-hi);transform:translateY(-1px);box-shadow:0 10px 26px rgba(255,122,0,.45)}
.hu-submit:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.hu-skip{background:none;border:1px solid var(--navy-line);color:var(--mist);border-radius:10px;padding:11px 16px;font:500 14px "IBM Plex Sans",sans-serif;cursor:pointer}
.hu-skip:hover{border-color:var(--cyan);color:var(--platinum)}
.hu-status{margin:10px 0 0;min-height:1.2em;font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--cyan-soft)}
.hu-thanks{margin:6px 0;font-size:15px;line-height:1.55;color:var(--platinum)}
.hu-foot{margin:14px 0 0;font-family:"IBM Plex Mono",monospace;font-size:10.5px;line-height:1.5;color:var(--mist-dim)}
@media(max-width:560px){.hu-row{grid-template-columns:1fr}.hu-panel{padding:24px 20px 20px}}
.helis-updates[hidden]{display:none!important}

/* --------------------------------------------------- sidebar scrolling */
/* The handoff let only the accordion scroll; on a 768 pixel screen the fixed blocks
   above it use the whole column and the accordion collapses to nothing. The whole
   column scrolls now, and the footer stays pinned to the bottom of it. */
.sidebar{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0}
.sidebar>*{flex:none}
.accordion-stack{flex:none;min-height:auto;overflow:visible}
.sidebar-footer{position:sticky;bottom:0;z-index:2;margin-top:auto}
/* a control that takes keyboard focus scrolls clear of the pinned footer (WCAG 2.4.11, A11Y-7) */
.sidebar{scroll-padding-bottom:72px}

/* ------------------------------------------ interaction states (PORTAL §19.5) */
/* The light commercial skin underneath paints several hover states for a
   white page: a near-white view card under white text, navy text on the
   secondary buttons, white icon buttons and form fields. Every state below
   was measured in the page at 4.5:1 or better against its real background. */
.sidebar{color:var(--platinum)}
.sidebar-head h2{color:var(--platinum)}
.view-card:not(.active):hover{background:rgba(42,143,242,.08);border-color:var(--cyan)}
.view-card:not(.active):active{background:rgba(42,143,242,.15)}
.view-card:focus-visible{outline:3px solid var(--amber);outline-offset:-3px}
.view-card small{color:var(--mist)}
.view-icon-science,.view-icon-infrastructure{color:var(--navy-deep)}
.btn-primary:focus-visible{background:var(--amber-hi);color:var(--navy)}
.btn-primary:active{background:var(--amber);transform:none;box-shadow:none}
.btn-secondary:hover,.btn-secondary:focus-visible{color:var(--platinum);border-color:var(--cyan);
  background:rgba(42,143,242,.12)}
.btn-secondary:active{color:var(--platinum);background:rgba(42,143,242,.2)}
.btn-quiet:focus-visible{color:var(--platinum);background:var(--navy-raised)}
.text-button:hover,.text-button:focus-visible{color:var(--platinum);text-decoration:underline}
.icon-button,.legend-close{background:transparent;border-color:var(--navy-line);color:var(--mist)}
.icon-button:hover,.icon-button:focus-visible,.legend-close:hover,.legend-close:focus-visible{
  background:var(--navy-raised);border-color:var(--cyan);color:var(--platinum)}
.featured-list button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.featured-list button:active{background:rgba(42,143,242,.22)}
.featured-list button:hover small,.featured-list button:focus-visible small,.featured-list button:active small{color:var(--mist)}
.dynamic-legend-section h3{color:var(--buff)}
/* the well layer swatch was navy on the navy key; it now matches the well count pills */
.swatch-well{background:#5F729A!important}
.search-item:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}
.top-action:focus-visible{background:var(--navy);color:var(--platinum)}
.map-fab:focus-visible{background:var(--navy-raised);border-color:var(--cyan)}
.map-fab:active{background:var(--navy)}
.layer-toggle:focus-within{background:var(--navy-raised)}
/* "input:focus" above drops the native ring for every input, and a border colour does
   nothing on a checkbox, radio button or slider: they get the amber ring (A11Y-1) */
input[type="range"]:focus-visible,input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{
  outline:2px solid var(--amber);outline-offset:2px;box-shadow:none}
.source-link:focus-visible{border-color:var(--cyan);background:rgba(42,143,242,.1)}
.technical-toggle:focus-visible{color:var(--platinum)}
.helis-profile-cta a.helis-cta-main{color:var(--navy-deep)}
.helis-profile-cta a.helis-cta-main:hover,.helis-profile-cta a.helis-cta-main:focus-visible{
  background:var(--cyan-soft);color:var(--navy-deep)}
.help-number{color:var(--navy-deep)}
.feedback-panel input,.feedback-panel textarea{background:var(--navy-deep);border-color:var(--navy-line);
  color:var(--platinum)}
.feedback-panel summary:focus-visible{background:var(--navy-raised);outline-offset:-3px}
.return-selection:hover,.return-selection:focus-visible{background:var(--navy-raised);color:var(--platinum)}
.hw-skip:focus-visible,.hu-skip:focus-visible{border-color:var(--cyan);color:var(--platinum)}
.hw-tile:focus-visible{border-color:var(--cyan);background:var(--navy-raised)}

/* phones: the map and the controls drawer start below the site bars. The app
   placed both at the height of its own bar alone, from before the site nav and
   the login bar sat above it, so the Explore, Map key and Help buttons and the
   top of the drawer were hidden under the site nav. */
@media (max-width: 840px){
  .hnav ~ .app .sidebar,.hnav ~ .app .map-wrap{top:calc(var(--hnav-h) + var(--topbar))}
  .util-bar ~ .hnav ~ .app .sidebar,.util-bar ~ .hnav ~ .app .map-wrap{
    top:calc(var(--util-h) + var(--hnav-h) + var(--topbar))}
}

/* ------------------------------------ signal strength panel (PORTAL §19.4) */
/* Built by investor.js for signed-in viewers only; public pages never have it. */
.isig{margin:12px 14px 4px;padding:13px 14px 12px;background:var(--navy-deep);border:1px solid var(--navy-line);
  border-top:3px solid var(--amber);border-radius:10px;color:var(--platinum)}
.isig .isig-eyebrow{color:var(--amber-hi);letter-spacing:.16em}
.isig-title{margin:4px 0 0;font-size:15px;color:var(--platinum)}
.isig-lede{margin:6px 0 11px;font-size:11.5px;line-height:1.5;color:var(--mist)}
.isig-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.isig-chip{display:grid;justify-items:center;gap:5px;min-width:0;padding:9px 2px 8px;background:var(--navy);
  border:1px solid var(--navy-line);border-radius:8px;color:var(--platinum);cursor:pointer;
  font:600 11.5px/1.1 "IBM Plex Mono",monospace;transition:border-color .16s ease,background .16s ease}
.isig-dot{width:11px;height:11px;border-radius:50%;background:var(--isig-color,var(--cyan));
  box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(15,32,66,.4)}
/* the top class is navy, the colour of the chip itself, and read as an empty circle: it is
   drawn as a navy core in a white disc, as in the map key (A11Y-4) */
.isig-chip[data-signal="high"] .isig-dot{background:radial-gradient(circle closest-side,var(--isig-color) 0 55%,#fff 62%)}
.legend-symbol.legend-core::before{background:radial-gradient(circle closest-side,var(--symbol-color) 0 55%,#fff 62%)}
.isig-chip-range{white-space:nowrap}
.isig-count{font-size:10.5px;font-weight:500;color:var(--mist)}
.isig-chip:hover{border-color:var(--cyan);background:var(--navy-raised)}
.isig-chip:hover .isig-count{color:var(--platinum)}
.isig-chip:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.isig-chip:active{background:var(--navy-line)}
.isig-chip[aria-pressed="true"]{border-color:var(--amber);background:rgba(255,122,0,.14);
  box-shadow:inset 0 -3px 0 var(--amber)}
.isig-chip[aria-pressed="true"]:hover{background:rgba(255,122,0,.22)}
.isig-chip[aria-pressed="true"] .isig-count{color:var(--platinum)}
.isig-axis{display:flex;justify-content:space-between;margin:6px 2px 0;font:500 9.5px "IBM Plex Mono",monospace;
  letter-spacing:.12em;text-transform:uppercase;color:var(--mist-dim)}
.isig-min{display:grid;gap:6px;margin-top:12px;font-size:11px;font-weight:600;color:var(--mist)}
.isig-min output{color:var(--platinum);font-family:"IBM Plex Mono",monospace;font-size:11px}
.isig-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:10px;
  padding-top:9px;border-top:1px solid var(--navy-line)}
.isig-status{margin:0;font-size:11px;line-height:1.45;color:var(--mist)}
.isig-clear{flex:none;padding:2px 0}
.isig-clear:disabled{color:var(--mist-dim);cursor:default;text-decoration:none}
.investor-tag{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;border:1px solid rgba(255,122,0,.55);
  border-radius:999px;background:rgba(255,122,0,.1);color:var(--amber-hi);font:600 9px/1.5 "IBM Plex Mono",monospace;
  letter-spacing:.12em;text-transform:uppercase;vertical-align:1px}
/* phones: the header copy that holds the tag is hidden at 840 px and below, so the same
   tag sits in the floating bar over the map, between Explore and the Map key (R-SIG-3) */
.investor-tag-map{display:none}
@media (max-width: 840px){
  .map-floating-bar .investor-tag-map{display:inline-flex;flex:0 1 auto;min-width:0;margin:0 auto;padding:4px 9px;
    background:rgba(10,23,47,.92);border-color:rgba(255,122,0,.7);font-size:9.5px;
    box-shadow:var(--shadow-sm);white-space:nowrap;overflow:hidden}
  .map-floating-bar .investor-tag-map ~ .map-fab,.map-floating-bar .map-fab:has(~ .investor-tag-map){flex-shrink:0}
}
/* the smallest phones: the tag tightens rather than squeezing Explore */
@media (max-width: 359px){
  .map-floating-bar .investor-tag-map{padding:4px 6px;font-size:8px;letter-spacing:.02em}
}
@media (prefers-reduced-motion: reduce){.isig-chip,.util-login{transition:none}}
