/* Psammite — Live Shoreline instrument UI (shared). Pairs with js/live-shoreline.js.
   Uses --mono if the page defines it; falls back to a mono stack otherwise. */
#livebar{position:absolute;z-index:373;right:16px;bottom:124px;width:288px;max-width:78vw;display:none;
  padding:13px 15px 14px;border-radius:7px;color:#dbe6ef;
  background:linear-gradient(157deg,rgba(14,22,30,.95),rgba(8,12,17,.95));border:1px solid #05070a;
  box-shadow:0 8px 26px rgba(0,0,0,.5);backdrop-filter:blur(3px)}
#livebar.on{display:block}
#livebar .lv-l{display:flex;align-items:center;gap:8px;font:600 9px/1 var(--mono,'IBM Plex Mono',ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;color:#8fb7d8}
#livebar .lv-dot{width:7px;height:7px;border-radius:50%;background:#39b7ff;box-shadow:0 0 0 0 rgba(57,183,255,.6);animation:lvpulse 1.8s infinite}
@keyframes lvpulse{0%{box-shadow:0 0 0 0 rgba(57,183,255,.55)}70%{box-shadow:0 0 0 7px rgba(57,183,255,0)}100%{box-shadow:0 0 0 0 rgba(57,183,255,0)}}
#livebar .lv-date{font-family:Cinzel,serif;font-size:21px;font-weight:500;color:#fff;margin:7px 0 2px;letter-spacing:.02em}
#livebar .lv-meta{font:500 10px/1.3 var(--mono,'IBM Plex Mono',ui-monospace,monospace);letter-spacing:.03em;color:#7f8f9d;min-height:12px}
#livebar input[type=range]{width:100%;margin:11px 0 6px;accent-color:#39b7ff;cursor:pointer}
#livebar input[type=range]:disabled{opacity:.4;cursor:default}
#livebar .lv-note{font:400 11px/1.45 Spectral,serif;font-style:italic;color:#9fb0be}
#livebar .lv-conf{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(120,140,160,.18);
  font:500 9px/1.3 var(--mono,'IBM Plex Mono',ui-monospace,monospace);letter-spacing:.03em;color:#6f8090;text-transform:uppercase}
#livebar .lv-conf span{flex:none;width:22px;height:6px;border-radius:3px;background:linear-gradient(90deg,rgba(57,183,255,0),#39b7ff,rgba(57,183,255,0))}

#addrsearch{position:absolute;z-index:374;top:14px;left:50%;transform:translateX(-50%);display:flex;width:min(520px,72vw);
  border:1px solid #05070a;border-radius:6px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.5)}
#addrsearch input{flex:1;border:0;padding:8px 14px;font:400 14px Spectral,serif;color:#eef3f9;background:rgba(12,19,27,.94);outline:none}
#addrsearch input::placeholder{color:#7f8f9d}
#addrsearch button{border:0;padding:0 16px;font:600 11px/1 var(--mono,'IBM Plex Mono',ui-monospace,monospace);letter-spacing:.12em;text-transform:uppercase;
  color:#0e1418;background:linear-gradient(160deg,#7fd0ff,#39a7e6);cursor:pointer}
#addrsearch button:hover{background:linear-gradient(160deg,#9bdcff,#54b7f2)}
#addrsearch.busy button{opacity:.6;pointer-events:none}

#addrcard{position:absolute;z-index:374;top:60px;left:50%;transform:translateX(-50%);width:min(420px,82vw);display:none;
  padding:15px 17px 15px;border-radius:8px;color:#e6eef5;
  background:linear-gradient(157deg,rgba(14,22,30,.97),rgba(8,12,17,.97));border:1px solid #05070a;box-shadow:0 10px 30px rgba(0,0,0,.55)}
#addrcard.on{display:block}
#addrcard #addrx{position:absolute;top:8px;right:11px;border:0;background:none;color:#7f8f9d;font-size:20px;cursor:pointer;line-height:1}
#addrcard #addrx:hover{color:#fff}
#addrcard .ac-addr{font:600 10px/1.3 var(--mono,'IBM Plex Mono',ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:#8fb7d8;padding-right:18px}
#addrcard .ac-verdict{font-family:Cinzel,serif;font-size:22px;font-weight:500;margin:5px 0 11px;letter-spacing:.01em}
#addrcard .ac-grid{display:flex;gap:0;border:1px solid rgba(120,140,160,.30);border-radius:5px;overflow:hidden;margin-bottom:10px}
#addrcard .ac-cell{flex:1;padding:9px 11px;border-right:1px solid rgba(120,140,160,.22);display:flex;flex-direction:column;gap:2px}
#addrcard .ac-cell:last-child{border-right:0}
#addrcard .ac-cell b{font-family:Cinzel,serif;font-size:17px;font-weight:600;color:#fff}
#addrcard .ac-cell span{font:500 8.5px/1.2 var(--mono,'IBM Plex Mono',ui-monospace,monospace);letter-spacing:.05em;text-transform:uppercase;color:#7f8f9d}
#addrcard .ac-note{font:400 11px/1.45 Spectral,serif;font-style:italic;color:#9fb0be}

/* dark themed zoom control + spacing (Leaflet) */
.leaflet-bottom.leaflet-right{margin-bottom:58px;margin-right:6px}
.leaflet-control-zoom{border:1px solid #05070a!important;box-shadow:0 2px 10px rgba(0,0,0,.4)!important}
.leaflet-control-zoom a{background:linear-gradient(160deg,#2b333c,#171c22)!important;color:#cfd8e0!important;
  border-bottom:1px solid #05070a!important;width:28px;height:28px;line-height:28px;font-size:16px}
.leaflet-control-zoom a:hover{background:linear-gradient(160deg,#39424c,#20272e)!important;color:#fff!important}

/* Responsive: on narrow viewports the address bar owns a full-width top row,
   and the title / readout panels drop below it (per-page rules set their top). */
@media(max-width:1024px){
  #addrsearch{top:8px;left:8px;right:8px;width:auto;transform:none}
  #addrcard{top:54px;left:8px;right:8px;width:auto;max-width:none;transform:none}
}
@media(max-height:760px){ #livebar .lv-note,#livebar .lv-conf{display:none} }
@media(max-width:640px){#addrsearch input{font-size:13px}}
