:root{
  --bg:#05070c;
  --bg2:#090d15;
  --panel:rgba(13,18,28,.74);
  --panel-solid:#0d131e;
  --panel-light:#121a27;
  --line:rgba(160,190,220,.13);
  --line-strong:rgba(160,190,220,.2);
  --text:#edf4fb;
  --muted:#8c9aad;
  --soft:#b8c5d3;
  --accent:#ffb18f;
  --accent2:#e87569;
  --ok:#75e6ae;
  --danger:#ff8585;
  --radius:22px;
  --shadow:0 24px 80px rgba(0,0,0,.34);
}

*{
  box-sizing:border-box;
}

html{
  min-height:100%;
  background:var(--bg);
}

body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(ellipse 62% 34% at 8% 18%,rgba(137,44,38,.28),transparent 74%),
    radial-gradient(ellipse 52% 30% at 88% 28%,rgba(190,79,51,.17),transparent 72%),
    radial-gradient(circle at 54% 3%,rgba(88,147,209,.12),transparent 32%),
    linear-gradient(180deg,#070809 0%,#100b0c 48%,#06080c 100%);
  color:var(--text);
  font-family:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  letter-spacing:.01em;
}

button,
a{
  font:inherit;
}

button{
  cursor:pointer;
}

.stars{
  pointer-events:none;
  position:fixed;
  inset:0;
  opacity:.27;
  background-image:
    radial-gradient(circle at 15% 25%,rgba(255,255,255,.7) 0 1px,transparent 1.5px),
    radial-gradient(circle at 72% 17%,rgba(255,255,255,.55) 0 1px,transparent 1.5px),
    radial-gradient(circle at 42% 67%,rgba(255,255,255,.45) 0 1px,transparent 1.5px),
    radial-gradient(circle at 88% 72%,rgba(255,255,255,.55) 0 1px,transparent 1.5px),
    radial-gradient(circle at 28% 90%,rgba(255,255,255,.35) 0 1px,transparent 1.5px);
  background-size:280px 220px,370px 290px,410px 330px,310px 260px,450px 370px;
  z-index:-1;
}

.topbar{
  position:sticky;
  top:0;
  z-index:30;
  height:84px;
  padding:0 34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  background:rgba(5,7,12,.72);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.brand-symbol{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  border:1px solid var(--line-strong);
  background:
    radial-gradient(circle at 35% 30%,rgba(155,217,255,.2),transparent 55%),
    linear-gradient(145deg,#111a28,#0a0f18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 12px 35px rgba(0,0,0,.22);
}

.brand-symbol span{
  font-size:22px;
  color:var(--accent);
}

.brand-name{
  font-size:17px;
  font-weight:780;
}

.brand-subtitle{
  color:var(--muted);
  font-size:11px;
  margin-top:4px;
}

.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.status-chip{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:var(--soft);
  font-size:11px;
}

.status-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ok);
  box-shadow:0 0 12px rgba(117,230,174,.8);
}

.instagram-button{
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#f0eaff;
  padding:9px 12px;
  border-radius:12px;
  border:1px solid rgba(198,178,255,.2);
  background:
    linear-gradient(
      135deg,
      rgba(198,178,255,.13),
      rgba(155,217,255,.07)
    );
  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease;
}

.instagram-button:hover{
  transform:translateY(-1px);
  border-color:rgba(198,178,255,.42);
  background:
    linear-gradient(
      135deg,
      rgba(198,178,255,.2),
      rgba(155,217,255,.11)
    );
}

.instagram-button svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}

.navigation{
  position:sticky;
  top:84px;
  z-index:29;
  display:flex;
  gap:5px;
  padding:12px 34px;
  border-bottom:1px solid var(--line);
  background:rgba(5,7,12,.52);
  backdrop-filter:blur(18px);
}

.nav-link,
.period-selector button,
.archive-filters button{
  border:0;
  color:var(--muted);
  background:transparent;
  padding:9px 13px;
  border-radius:10px;
  transition:.18s ease;
}

.nav-link:hover,
.period-selector button:hover,
.archive-filters button:hover{
  color:var(--text);
  background:rgba(255,255,255,.045);
}

.nav-link.active,
.period-selector button.selected,
.archive-filters button.selected{
  color:var(--text);
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 0 0 1px var(--line-strong);
}

main{
  width:min(1460px,100%);
  margin:auto;
  padding:42px 34px 72px;
}

.view{
  display:none;
}

.view.active{
  display:block;
}

.intro{
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:flex-end;
  margin-bottom:28px;
}

.eyebrow{
  color:#91a9c0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}

.intro h1,
.page-heading h1{
  margin:10px 0 12px;
  font-size:clamp(38px,5vw,68px);
  line-height:.98;
  letter-spacing:-.04em;
}

.intro h1 span{
  background:linear-gradient(100deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.intro p,
.page-heading p{
  color:var(--muted);
  max-width:650px;
  font-size:14px;
  line-height:1.65;
  margin:0;
}

.intro-meta{
  text-align:right;
  min-width:170px;
  padding-bottom:5px;
}

.meta-label{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
}

.clock{
  margin-top:7px;
  font-size:28px;
  font-weight:730;
  letter-spacing:-.03em;
}

.sky-state{
  margin-top:5px;
  color:var(--accent);
  font-size:11px;
}

.dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(310px,.75fr);
  gap:18px;
}

.card,
.metric-card,
.chart-card,
.table-card,
.image-card{
  border:1px solid var(--line);
  background:
    linear-gradient(
      145deg,
      rgba(18,25,37,.84),
      rgba(8,12,19,.74)
    );
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-radius:var(--radius);
}

.camera-card{
  overflow:hidden;
}

.card-top{
  padding:19px 20px 14px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}

.card-top h2{
  margin:5px 0 0;
  font-size:22px;
  letter-spacing:-.025em;
}

.live-label{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
  letter-spacing:.12em;
  color:#ffb4b4;
  font-weight:800;
}

.live-pulse{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ff8585;
  box-shadow:0 0 14px rgba(255,133,133,.9);
}

.live-frame{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#020408;
}

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

.camera-overlay{
  position:absolute;
  left:15px;
  bottom:15px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(2,4,8,.58);
  border:1px solid rgba(255,255,255,.08);
  color:#d6e1ec;
  font-size:10px;
  backdrop-filter:blur(12px);
}

.camera-footer{
  padding:14px 20px 19px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.camera-footer strong,
.camera-footer span{
  display:block;
}

.camera-footer strong{
  font-size:12px;
}

.camera-footer span{
  color:var(--muted);
  font-size:10px;
  margin-top:3px;
}

.secondary-button{
  border:1px solid var(--line-strong);
  background:rgba(255,255,255,.035);
  color:var(--text);
  border-radius:11px;
  padding:9px 12px;
  transition:.18s ease;
}

.secondary-button:hover{
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
}

.weather-now{
  padding:21px;
}

.temperature{
  margin-top:14px;
  font-size:58px;
  line-height:1;
  letter-spacing:-.06em;
  font-weight:820;
}

.weather-condition{
  margin-top:8px;
  color:var(--muted);
  font-size:11px;
}

.weather-list{
  margin-top:24px;
}

.weather-list div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,.055);
  font-size:12px;
}

.weather-list span{
  color:var(--muted);
}

.weather-list strong{
  font-weight:700;
}

.weather-list .pressure-row{
  display:grid;
  grid-template-columns:1fr auto;
}

.pressure-row small{
  grid-column:1 / -1;
  color:var(--muted);
  font-size:10px;
  line-height:1.4;
}

.data-age{
  margin-top:15px;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}

.metric-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:13px;
  margin-top:17px;
}

.metric-card{
  padding:17px 18px;
}

.metric-card span,
.metric-card small{
  display:block;
  color:var(--muted);
  font-size:10px;
}

.metric-card strong{
  display:block;
  margin:7px 0 4px;
  font-size:27px;
  letter-spacing:-.035em;
}

.section{
  margin-top:42px;
}

.section-header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}

.section-header h2{
  margin:6px 0 0;
  font-size:21px;
  letter-spacing:-.025em;
}

.section-note{
  color:var(--muted);
  font-size:10px;
}

.charts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
}

.chart-card{
  padding:15px;
  min-height:260px;
}

.chart-card.large{
  min-height:330px;
}

.chart-title{
  color:#c9d5e2;
  font-size:11px;
  font-weight:760;
  margin-bottom:10px;
}

.chart-card canvas{
  width:100%;
  height:210px;
  display:block;
}

.chart-card.large canvas{
  height:270px;
}

.media-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.media-item{
  border:1px solid var(--line);
  border-radius:15px;
  overflow:hidden;
  background:var(--panel-solid);
}

.media-thumb{
  display:block;
  width:100%;
  height:170px;
  object-fit:cover;
  background:#020408;
}

.media-meta{
  padding:10px 11px 12px;
}

.media-meta strong{
  display:block;
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.media-meta small{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:4px;
}

.page-heading{
  margin-bottom:25px;
}

.page-heading h1{
  font-size:clamp(36px,4.7vw,58px);
}

.day-night-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.image-card{
  overflow:hidden;
}

.image-card-header{
  padding:17px 18px 13px;
}

.image-card-header h3{
  margin:5px 0 0;
  font-size:17px;
}

.image-container{
  aspect-ratio:16/9;
  background:#020408;
  overflow:hidden;
}

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

.large-live{
  border:1px solid var(--line);
  background:#020408;
  border-radius:20px;
  overflow:hidden;
}

.large-live img{
  display:block;
  width:100%;
  max-height:78vh;
  object-fit:contain;
}

.period-selector,
.archive-filters{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-bottom:16px;
}

.charts-large{
  display:grid;
  gap:14px;
}

.table-card{
  margin-top:15px;
  padding:16px;
}

.table-wrap{
  overflow:auto;
}

table{
  width:100%;
  border-collapse:collapse;
  font-size:11px;
}

th,
td{
  white-space:nowrap;
  padding:9px 8px;
  border-bottom:1px solid rgba(255,255,255,.055);
  text-align:right;
}

th:first-child,
td:first-child{
  text-align:left;
}

th{
  color:var(--muted);
  font-weight:700;
}

.archive-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.archive-item{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel-solid);
}

.archive-thumb{
  width:100%;
  height:195px;
  display:block;
  object-fit:cover;
  background:#020408;
}

.archive-meta{
  padding:11px;
}

.archive-meta strong{
  display:block;
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.archive-meta small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
}

footer{
  width:min(1460px,100%);
  margin:auto;
  padding:22px 34px 40px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
  font-size:10px;
}

footer strong{
  color:var(--text);
  display:block;
  margin-bottom:4px;
}

footer div span{
  display:block;
}

footer a{
  color:#c8baff;
  text-decoration:none;
}

footer a:hover{
  color:#e3dfff;
}

@media(max-width:1100px){

  .dashboard-grid{
    grid-template-columns:1fr;
  }

  .charts{
    grid-template-columns:1fr 1fr;
  }

  .media-row{
    grid-template-columns:repeat(3,1fr);
  }

  .archive-grid{
    grid-template-columns:repeat(3,1fr);
  }

}

@media(max-width:760px){

  .topbar{
    height:74px;
    padding:0 15px;
  }

  .brand-subtitle{
    display:none;
  }

  .brand-name{
    font-size:15px;
  }

  .header-actions .status-chip{
    display:none;
  }

  .instagram-button{
    padding:8px;
  }

  #instagramHandle{
    display:none;
  }

  .navigation{
    top:74px;
    padding:9px 15px;
    overflow:auto;
  }

  main{
    padding:28px 15px 52px;
  }

  .intro{
    display:block;
  }

  .intro-meta{
    text-align:left;
    margin-top:20px;
  }

  .metric-grid,
  .charts,
  .day-night-grid{
    grid-template-columns:1fr;
  }

  .media-row{
    grid-template-columns:1fr 1fr;
  }

  .archive-grid{
    grid-template-columns:1fr 1fr;
  }

  footer{
    padding:20px 15px 30px;
    flex-direction:column;
    align-items:flex-start;
  }

}

@media(max-width:480px){

  .media-row,
  .archive-grid{
    grid-template-columns:1fr;
  }

  .archive-filters{
    overflow:auto;
    flex-wrap:nowrap;
  }

  .archive-filters button{
    white-space:nowrap;
  }

}
/* Fonti meteo e astronomiche */
.weather-intelligence{
  margin-top:44px;
}
.source-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.source-card{
  min-height:245px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(18,25,37,.86),rgba(8,12,19,.76));
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.source-icon{
  width:40px;
  height:40px;
  margin-bottom:18px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:var(--accent);
  background:rgba(155,217,255,.09);
  border:1px solid var(--line-strong);
  font-size:20px;
}
.source-card h3{
  margin:7px 0 0;
  font-size:18px;
  letter-spacing:-.02em;
} .source-card p{
  max-width:42ch;
  margin:9px 0 16px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.source-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  color:var(--accent);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.source-link:hover{
  color:#d8f1ff;
}
.source-note{
  margin-top:8px;
  color:var(--muted);
  font-size:10px;
}
.source-disclaimer{
  margin:13px 2px 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}
@media(max-width:1000px){
  .source-grid{
    grid-template-columns:1fr 1fr;
  }
  .source-card:last-child{
    grid-column:1 / -1;
  }
}
@media(max-width:650px){
  .source-grid{
    grid-template-columns:1fr;
  }
  .source-card:last-child{
    grid-column:auto;
  }
  .source-card{
    min-height:0;
  }
}
.status-chip.stale{
  color:#ffc0c0;
  border-color:rgba(255,133,133,.28);
}
.status-chip.stale .status-dot{
  background:var(--danger);
  box-shadow:0 0 12px rgba(255,133,133,.7);
}


.language-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035)}
.language-switch button{min-width:34px;padding:6px 8px;border:0;border-radius:999px;color:var(--muted);background:transparent;font-size:10px;font-weight:800}
.language-switch button[aria-pressed="true"]{color:#07101a;background:var(--accent)}
.media-item,.archive-item,.source-card{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.media-item:hover,.archive-item:hover,.source-card:hover{transform:translateY(-3px);border-color:rgba(155,217,255,.34);box-shadow:0 24px 70px rgba(0,0,0,.42)}
.media-thumb,.archive-thumb,.image-container img,.large-live img{cursor:zoom-in}
.live-frame img,.image-container img{object-fit:contain;background:radial-gradient(ellipse at center,#111a28,#020408 75%)}
.instagram-note{color:var(--muted);font-size:12px;line-height:1.6}
.lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:28px 76px;border:0;background:rgba(2,4,9,.96);color:var(--text)}
.lightbox::backdrop{background:rgba(2,4,9,.92);backdrop-filter:blur(14px)}
.lightbox figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.lightbox figure img{max-width:100%;max-height:calc(100% - 36px);object-fit:contain}
.lightbox figcaption{color:var(--soft);font-size:12px;text-align:center}
.lightbox-close,.lightbox-arrow{position:absolute;border:1px solid var(--line-strong);border-radius:50%;color:var(--text);background:rgba(18,25,37,.82);cursor:pointer}
.lightbox-close{top:20px;right:22px;width:44px;height:44px;font-size:28px}
.lightbox-arrow{top:50%;width:48px;height:48px;font-size:34px;transform:translateY(-50%)}
.lightbox-prev{left:18px}.lightbox-next{right:18px}
@media(max-width:700px){.lightbox{padding:66px 12px 48px}.lightbox-arrow{top:auto;bottom:14px;transform:none}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.header-actions{gap:6px}.language-switch button{min-width:30px}}
.meteor-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.meteor-stat,.meteor-event{
  border:1px solid rgba(255,177,143,.16);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(34,19,21,.82),rgba(12,14,20,.88));
  box-shadow:var(--shadow);
}
.meteor-stat{
  min-height:150px;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.meteor-stat span,.meteor-stat small,.meteor-event time,.meteor-event small{
  color:var(--muted);
  font-size:11px;
}
.meteor-stat strong{
  margin:14px 0 7px;
  color:#ffd5c2;
  font-size:clamp(18px,2vw,25px);
}
.meteor-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.meteor-event{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:8px;
  border-color:var(--line);
}
.meteor-event strong{
  color:var(--accent);
  font-size:16px;
}
.meteor-event time{
  font-variant-numeric:tabular-nums;
}
.meteor-empty,.meteor-disclaimer{
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.meteor-disclaimer{
  margin-top:24px;
  padding:14px 16px;
  border-left:2px solid var(--accent2);
  background:rgba(232,117,105,.06);
}
@media(max-width:800px){
  .meteor-summary-grid,.meteor-list{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .meteor-summary-grid,.meteor-list{grid-template-columns:1fr}
}
.intro h1 span{
  background:linear-gradient(100deg,#ffc0a0,#e87569 62%,#f6d3ba);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.card,.metric-card,.chart-card,.table-card,.image-card,.source-card{
  border-color:rgba(255,210,190,.11);
}
.navigation{
  box-shadow:0 8px 32px rgba(25,6,8,.18);
}
.nav-link.active{
  color:#ffe3d5;
  background:linear-gradient(120deg,rgba(199,83,65,.17),rgba(255,177,143,.08));
}
.source-icon{
  color:#ffc0a0;
  background:rgba(232,117,105,.11);
}
.weather-list .pressure-row{
  border-bottom-color:rgba(255,177,143,.16);
}

.sky-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:15px 17px;margin-bottom:15px;border:1px solid var(--line);border-radius:16px;background:rgba(13,19,29,.78)}
.sky-toolbar>label{display:grid;gap:7px}.sky-toolbar input[type=datetime-local]{font:inherit;color:var(--text);background:#0b111b;border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;color-scheme:dark}
.sky-toggles{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}.sky-toggles label{display:flex;align-items:center;gap:6px}.sky-toggles input{accent-color:#f3a778}
.sky-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.85fr);gap:16px;align-items:start}
.sky-map-card,.sky-target-panel{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:linear-gradient(145deg,rgba(18,25,37,.94),rgba(8,12,19,.91));box-shadow:var(--shadow)}
.sky-map-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}
.sky-map-top strong{display:block;margin-top:5px;font-size:15px}.sky-condition-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}
.sky-condition-chips span{font-size:10px;color:#dfd0e8;border:1px solid rgba(198,178,255,.18);padding:7px 9px;border-radius:999px;background:rgba(158,119,205,.09)}
#skyMap{display:block;width:100%;height:min(64vh,650px);min-height:420px;touch-action:none}
.sky-map-hint{padding:9px 14px;color:var(--muted);font-size:10px;border-top:1px solid rgba(255,255,255,.05)}
.sky-target-panel{padding:17px}.sky-target-panel-head{display:flex;justify-content:space-between;align-items:end;gap:12px}.sky-target-panel-head h2{font-size:20px;margin:5px 0 0}.sky-target-panel-head>span{color:var(--accent);font-size:10px}
.sky-equipment,.sky-darkness-note{margin:13px 0;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.035);color:var(--muted);font-size:11px;line-height:1.55}
.sky-darkness-note{border-left:2px solid #d99e77;color:#e0cfbf}
.sky-target-list{display:grid;gap:9px;max-height:650px;overflow:auto;padding-right:3px}
.sky-target{padding:12px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(255,255,255,.025);transition:border-color .2s,background .2s}
.sky-target.selected,.sky-target:hover{border-color:rgba(245,174,124,.42);background:rgba(245,174,124,.07)}
.sky-target-head{display:flex;justify-content:space-between;gap:8px;align-items:start}.sky-target-head strong{font-size:12px;line-height:1.4}.sky-target-head span{font-size:12px;color:#f3b27e;font-weight:750;white-space:nowrap}
.sky-target>small{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:5px}.sky-target>small.sky-moon-fit{color:#b6a5ce}
.sky-target-button{margin-top:9px;border:1px solid rgba(245,174,124,.23);border-radius:9px;padding:7px 9px;color:#f2d2bd;background:rgba(245,174,124,.07);font-size:10px;cursor:pointer}
.sky-target-button:hover{background:rgba(245,174,124,.15)}
.sky-attribution{margin:13px 0 0;color:var(--muted);font-size:9px;line-height:1.55}
@media(max-width:1000px){.sky-layout{grid-template-columns:1fr}.sky-target-list{max-height:none}.sky-target-panel{order:2}}
@media(max-width:600px){#skyMap{min-height:340px;height:52vh}.sky-map-top{align-items:flex-start;flex-direction:column}.sky-condition-chips{justify-content:start}.sky-toolbar{align-items:stretch}.sky-toggles{gap:10px}}

.project-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:24px;padding:26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(125deg,rgba(29,36,49,.96),rgba(20,20,30,.9));box-shadow:var(--shadow)}
.project-kicker,.project-card-number{font-size:10px;letter-spacing:.17em;color:#edaa86;font-weight:800}.project-intro h2{font-size:clamp(24px,3vw,37px);margin:8px 0 12px}.project-intro p,.project-card p,.project-gallery>p{color:var(--muted);font-size:13px;line-height:1.75}.project-download{display:inline-flex;margin-top:10px;padding:12px 16px;border-radius:11px;background:linear-gradient(120deg,#b95348,#db8a65);color:#fff;text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 8px 24px #a7413330}
.project-facts{display:grid;align-content:center;gap:5px;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(0,0,0,.14)}.project-facts span{margin-top:7px;font-size:9px;letter-spacing:.15em;color:var(--muted)}.project-facts strong{font-size:12px}
.project-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin:16px 0;padding:17px;border:1px solid var(--line);border-radius:17px;background:rgba(11,16,25,.74)}.project-flow>div{display:grid;gap:5px}.project-flow b{font-size:10px;color:#eaa27c}.project-flow strong{font-size:12px}.project-flow small{font-size:10px;line-height:1.4;color:var(--muted)}.project-flow>i{font-style:normal;color:#d5896b}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.project-card{padding:20px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(150deg,rgba(24,30,41,.9),rgba(12,16,23,.84))}.project-card h2{margin:9px 0;font-size:19px}.project-card code{overflow-wrap:anywhere;color:#f0b394;font-size:11px}
.project-gallery{margin-top:27px}.project-gallery .section-header{margin-bottom:5px}.project-images{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.project-images figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:rgba(13,18,27,.9)}.project-images img{display:block;width:100%;height:340px;object-fit:cover;cursor:zoom-in}.project-images figure:nth-child(2) img{height:340px;object-fit:cover;object-position:center 43%}.project-images figcaption{display:grid;gap:5px;padding:13px 15px}.project-images figcaption strong{font-size:12px}.project-images figcaption span{font-size:10px;color:var(--muted)}.project-license{margin-top:18px;padding:13px 15px;border-left:2px solid #d88968;background:rgba(255,255,255,.025);color:var(--muted);font-size:10px;line-height:1.6}
@media(max-width:900px){.project-intro{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-flow{grid-template-columns:1fr 1fr}.project-flow>i{display:none}.project-images img,.project-images figure:nth-child(2) img{height:280px}}
@media(max-width:600px){.project-images{grid-template-columns:1fr}.project-images img,.project-images figure:nth-child(2) img{height:auto;max-height:380px}.project-intro{padding:19px}.project-flow{padding:13px}}

.observatory-location{margin-top:42px}
.location-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr);gap:14px;align-items:stretch}
.location-map-card,.future-photo{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(18,25,37,.9),rgba(8,12,19,.84));overflow:hidden;box-shadow:var(--shadow)}
.location-map-card{max-width:520px;margin-inline:0}.location-map-card iframe{display:block;width:100%;height:210px;border:0;filter:saturate(.72) brightness(.82) contrast(1.08)}
.location-caption{display:grid;gap:5px;padding:14px 16px}
.location-caption strong,.future-photo strong{font-size:13px}
.location-caption span,.future-photo span{color:var(--muted);font-size:10px;line-height:1.5}
.future-photo-stack{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.future-photo{min-height:170px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;position:relative}
.future-photo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(232,117,105,.13),transparent 45%)}
.future-photo>*{position:relative}
.future-photo-icon{width:max-content;padding:7px 9px;border:1px solid var(--line-strong);border-radius:999px;color:#ffc0a0;font-size:9px;font-weight:800;letter-spacing:.13em}
@media(max-width:900px){.location-grid{grid-template-columns:1fr}.location-map-card{max-width:100%}.future-photo-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.location-map-card iframe{height:200px}}
@media(max-width:600px){.future-photo-stack{grid-template-columns:1fr}.location-map-card iframe{height:180px}}

.project-downloads{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.project-downloads .project-download{margin-top:0}
.project-download-secondary{background:rgba(255,255,255,.045);border:1px solid var(--line-strong);box-shadow:none}
.project-download-secondary:hover{background:rgba(255,255,255,.08)}
.project-download-note{display:block;margin-top:9px;color:var(--muted);font-size:10px;line-height:1.55}

/* ============================================================
   SOCIAL OBSERVATORY + TONIGHT PICKS
   ============================================================ */

.section-lead{
  max-width:760px;
  margin:8px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.65;
}

.tonight-picks{
  margin-top:42px;
}

.tonight-picks-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}

.night-pick-card,
.night-pick-skeleton{
  position:relative;
  overflow:hidden;
  min-height:205px;
  padding:19px;
  border:1px solid rgba(145,217,255,.13);
  border-radius:19px;
  background:
    radial-gradient(circle at 92% 12%,rgba(145,217,255,.11),transparent 33%),
    radial-gradient(circle at 8% 95%,rgba(255,189,122,.08),transparent 38%),
    linear-gradient(145deg,rgba(15,22,34,.96),rgba(7,10,17,.96));
  box-shadow:0 18px 54px rgba(0,0,0,.22);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.night-pick-card:hover{
  transform:translateY(-4px);
  border-color:rgba(145,217,255,.3);
  box-shadow:0 24px 70px rgba(0,0,0,.3);
}

.night-pick-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:22px;
}

.night-pick-rank{
  color:rgba(255,255,255,.2);
  font-size:28px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.06em;
}

.night-pick-alt{
  padding:6px 9px;
  border:1px solid rgba(145,217,255,.13);
  border-radius:999px;
  color:#a9dffb;
  background:rgba(145,217,255,.045);
  font-size:9px;
  font-weight:760;
}

.night-pick-card>strong{
  display:block;
  color:#eef5fb;
  font-size:17px;
  letter-spacing:-.025em;
}

.night-pick-card>small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:9px;
  line-height:1.45;
}

.night-pick-frame{
  min-height:28px;
}

.night-pick-open{
  margin-top:17px;
  padding:0;
  border:0;
  background:none;
  color:#ffbd7a;
  font-size:10px;
  font-weight:760;
  cursor:pointer;
}

.night-pick-open:hover{
  color:#ffd7ad;
}

.night-pick-skeleton{
  grid-column:1/-1;
  display:grid;
  place-items:center;
  min-height:120px;
  color:var(--muted);
  font-size:11px;
}

.social-observatory{
  position:relative;
  margin-top:52px;
}

.social-header{
  align-items:flex-end;
}

.social-orbit-mark{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border:1px solid rgba(198,178,255,.16);
  border-radius:50%;
  color:#c8b5ff;
  background:
    radial-gradient(circle,rgba(198,178,255,.13),transparent 64%);
  box-shadow:0 0 60px rgba(155,217,255,.08);
  font-size:18px;
}

.social-observatory-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:16px;
}

.social-platform-card{
  position:relative;
  overflow:hidden;
  padding:22px;
  border:1px solid var(--line);
  border-radius:23px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.instagram-platform{
  background:
    radial-gradient(circle at 0% 0%,rgba(198,178,255,.16),transparent 36%),
    radial-gradient(circle at 100% 100%,rgba(255,189,122,.11),transparent 38%),
    linear-gradient(145deg,rgba(21,17,35,.96),rgba(8,11,18,.97));
}

.telescopius-platform{
  background:
    radial-gradient(circle at 100% 0%,rgba(145,217,255,.13),transparent 38%),
    linear-gradient(145deg,rgba(12,22,32,.96),rgba(7,10,17,.97));
}

.social-platform-copy{
  margin-bottom:18px;
}

.social-platform-copy h3{
  margin:6px 0 9px;
  font-size:clamp(22px,2.2vw,32px);
  line-height:1.02;
  letter-spacing:-.04em;
}

.social-platform-copy>p{
  max-width:620px;
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.6;
}

.social-primary-button,
.social-secondary-button{
  display:inline-flex;
  align-items:center;
  margin-top:16px;
  padding:10px 13px;
  border-radius:12px;
  text-decoration:none;
  font-size:10px;
  font-weight:800;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.social-primary-button{
  color:#0a1016;
  background:linear-gradient(100deg,#d6c5ff,#9bd9ff);
  box-shadow:0 10px 28px rgba(155,217,255,.12);
}

.social-secondary-button{
  color:#d9edfa;
  border:1px solid rgba(145,217,255,.17);
  background:rgba(145,217,255,.05);
}

.social-primary-button:hover,
.social-secondary-button:hover{
  transform:translateY(-2px);
}

.social-small-note{
  margin-top:10px !important;
  font-size:9px !important;
  opacity:.86;
}

.social-media-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.social-media-grid .media-item{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:#04070c;
  transition:transform .22s ease,border-color .22s ease;
}

.social-media-grid .media-item:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.2);
}

.social-media-grid .media-item>a{
  display:block;
  overflow:hidden;
}

.social-media-grid .media-thumb{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .45s ease,filter .45s ease;
}

.social-media-grid .media-item:hover .media-thumb{
  transform:scale(1.035);
  filter:saturate(1.06) contrast(1.03);
}

.social-media-grid .media-meta{
  padding:11px 12px 13px;
  background:linear-gradient(180deg,rgba(12,17,25,.88),rgba(7,10,16,.98));
}

.social-media-grid .media-meta strong{
  font-size:10px;
  color:#edf4fb;
}

.social-media-grid .media-meta small{
  color:#8290a1;
  font-size:8px;
}

@media(max-width:980px){
  .tonight-picks-grid{grid-template-columns:1fr}
  .social-observatory-grid{grid-template-columns:1fr}
}

@media(max-width:600px){
  .social-platform-card{padding:16px}
  .social-media-grid{grid-template-columns:1fr 1fr}
  .social-orbit-mark{display:none}
}

@media(max-width:430px){
  .social-media-grid{grid-template-columns:1fr}
}

/* ============================================================
   NINA LIVE OBSERVATORY
   ============================================================ */
.nina-home{margin-top:34px}
.nina-home-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nina-status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;border:1px solid var(--line-strong);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.035)}
.nina-status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#91d9ff;box-shadow:0 0 12px #91d9ff88}
.nina-status-pill.offline::before{background:#788494;box-shadow:none}
.nina-status-pill.live::before{background:#ff8c7a;box-shadow:0 0 14px #ff8c7aaa}
.nina-home-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:14px}
.nina-preview{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 50% 35%,rgba(72,95,127,.2),rgba(7,11,18,.96));min-height:260px}
.nina-preview img{display:block;width:100%;height:100%;object-fit:contain;background:#05080d}
.nina-preview-home{height:300px}
.nina-preview-large{height:min(62vh,620px);min-height:420px}
.nina-preview-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:8px;padding:28px;color:var(--muted)}
.nina-preview-empty strong{color:var(--text);font-size:17px}
.nina-preview-empty span{max-width:420px;font-size:11px;line-height:1.6}
.nina-frame-overlay{position:absolute;left:12px;bottom:12px;padding:7px 9px;border-radius:9px;background:rgba(3,6,10,.72);backdrop-filter:blur(8px);font-size:10px;color:#dce7f1}
.nina-home-info{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(18,25,37,.9),rgba(8,12,19,.84));padding:22px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.nina-home-info h3{font-size:clamp(23px,3vw,36px);margin:0}
.nina-home-info>small{color:var(--muted);font-size:10px;line-height:1.6}
.nina-quick-stats,.nina-data-grid,.nina-position-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.nina-quick-stats>div,.nina-data-grid>div,.nina-position-values>div{padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.025);display:grid;gap:4px}
.nina-quick-stats span,.nina-data-grid span,.nina-position-values span{font-size:9px;color:var(--muted);letter-spacing:.07em;text-transform:uppercase}
.nina-quick-stats strong,.nina-data-grid strong,.nina-position-values strong{font-size:14px}
.nina-live-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);gap:14px}
.nina-main-card{padding:16px}
.nina-side-panel{display:grid;gap:14px;align-content:start}
.nina-data-card,.nina-position-card{padding:18px}
.nina-data-grid{margin-top:14px}
.nina-position-card h3{margin:10px 0 13px;font-size:22px}
.nina-live-footer{display:flex;justify-content:space-between;gap:10px;padding:12px 3px 1px;color:var(--muted);font-size:10px}
.nina-compass{display:grid;place-items:center;margin:18px 0}
.nina-compass-ring{width:128px;height:128px;border:1px solid var(--line-strong);border-radius:50%;position:relative;background:radial-gradient(circle,rgba(85,112,145,.09),transparent 66%)}
.nina-compass-ring span{position:absolute;font-size:9px;color:var(--muted);font-weight:800}
.nina-compass-ring .north{top:7px;left:50%;transform:translateX(-50%)}
.nina-compass-ring .south{bottom:7px;left:50%;transform:translateX(-50%)}
.nina-compass-ring .east{right:8px;top:50%;transform:translateY(-50%)}
.nina-compass-ring .west{left:8px;top:50%;transform:translateY(-50%)}
.nina-compass-ring i{position:absolute;left:50%;top:50%;width:2px;height:46px;background:linear-gradient(#ff9c84,#d76559);transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(0deg);border-radius:2px;box-shadow:0 0 10px rgba(255,156,132,.35)}
.nina-compass-ring i::after{content:"";position:absolute;top:-4px;left:50%;width:7px;height:7px;border-radius:50%;background:#ff9c84;transform:translateX(-50%)}
.nina-dual-live{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nina-dual-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(9,13,20,.9);padding:12px}
.nina-dual-card img{display:block;width:100%;height:330px;object-fit:contain;background:#04070b;border-radius:11px;margin-top:10px}
.nina-log-grid{display:grid;gap:12px}
.nina-log-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(18,25,37,.82),rgba(8,12,19,.82));padding:15px}
.nina-log-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.nina-log-head h3{margin:3px 0 5px;font-size:18px}
.nina-log-head small,.nina-log-meta small{color:var(--muted);font-size:10px}
.nina-log-status{font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:6px 8px;border-radius:999px;border:1px solid var(--line-strong);white-space:nowrap}
.nina-log-meta{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 12px}
.nina-log-meta strong{font-size:11px}
.nina-thumb-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px}
.nina-thumb-row img{width:120px;height:82px;object-fit:cover;border-radius:9px;border:1px solid var(--line);background:#05080d}
.nina-log-empty{padding:22px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);font-size:11px;text-align:center}
@media(max-width:980px){
  .nina-home-grid,.nina-live-layout{grid-template-columns:1fr}
  .nina-preview-home{height:330px}
  .nina-preview-large{height:520px}
}
@media(max-width:700px){
  .nina-dual-live{grid-template-columns:1fr}
  .nina-dual-card img{height:260px}
  .nina-preview-home{height:250px}
  .nina-preview-large{height:390px;min-height:330px}
  .nina-home-actions{justify-content:flex-start}
}

.nina-setup-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px}
.nina-setup-actions small{color:var(--muted);font-size:10px}
