.tonight-inner {
  width:min(100%,calc(1160px + 2 * var(--gutter)));
  margin-inline:auto;
  padding:clamp(32px,6vw,82px) var(--gutter) clamp(52px,8vw,108px);
}
.tonight-breadcrumb {
  display:flex; flex-wrap:wrap; align-items:center; gap:7px 9px;
  margin:0 0 clamp(22px,4vw,44px); color:var(--muted); font-size:13px;
}
.tonight-breadcrumb a {
  color:var(--accent); text-underline-offset:.22em;
}
.tonight-hero h1 {
  max-width:18ch; margin:0; color:var(--text); font-size:clamp(38px,7vw,88px);
  font-weight:735; letter-spacing:-.06em; line-height:1.02;
}
.tonight-hero p {
  max-width:67ch; margin:14px 0 0; color:var(--muted);
  font-size:clamp(16px,1.7vw,21px); line-height:1.55;
}
.tonight-controls,.tonight-card,.tonight-empty,.tonight-guide {
  --text:var(--panel-ink); --muted:var(--panel-muted); --accent:var(--panel-accent);
  --line:var(--panel-line);
  border:1px solid var(--line); background:var(--panel-bg); color:var(--text);
  box-shadow:0 12px 38px #03060e35; color-scheme:light;
}
.tonight-controls {
  display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px 14px;
  width:fit-content; max-width:100%; margin-top:clamp(20px,3.5vw,34px);
  padding:12px 15px; border-radius:14px;
}
.tonight-controls label {
  display:block; margin:0 0 4px; color:var(--muted); font-size:13px; font-weight:680;
}
.tonight-controls > label {
  align-self:center; margin:0;
}
.tonight-controls select,.tonight-controls button {
  max-width:100%; min-height:44px; padding:8px 11px;
  border:1px solid var(--line); border-radius:8px; font:inherit;
}
.tonight-controls select {
  min-width:min(100%,11rem); background:#fff; color:var(--text); font-size:16px;
}
.tonight-controls button {
  background:var(--panel-inset); color:var(--accent); font-size:14px; font-weight:650;
}
.tonight-controls :is(select,button):hover:not(:disabled) { border-color:var(--accent); }
.tonight-controls button:disabled { opacity:.6; cursor:default; }
.tonight-status {
  max-width:72ch; margin:12px 0 0; color:var(--muted); font-size:14px; line-height:1.55;
}
.tonight-status:empty { display:none; }
.tonight-status[data-state=error] { color:#ffb6ae; }
.tonight-controls .tonight-status {
  flex-basis:100%; margin:0; font-size:13px;
}
.tonight-controls .tonight-status[data-state=error] { color:#ad342c; }
.tonight-observations {
  margin-top:clamp(26px,4vw,56px);
}
.tonight-observations > button {
  margin-top:10px; min-height:44px; padding:8px 12px;
  border:1px solid var(--panel-line); border-radius:8px; background:var(--panel-bg);
  color:var(--panel-accent); font-size:14px; font-weight:650;
}
.tonight-observations > button:hover:not(:disabled) { background:var(--panel-inset); }
.tonight-observations > button:disabled { opacity:.55; cursor:default; }
.tonight-page h2 {
  margin:0; font-size:clamp(26px,3.8vw,44px); font-weight:720;
  letter-spacing:-.045em; line-height:1.08;
}
.tonight-results {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,2vw,23px);
  margin:clamp(16px,2.6vw,26px) 0 0; padding:0; list-style:none;
}
.tonight-card,.tonight-empty {
  min-width:0; padding:clamp(15px,2.4vw,25px); border-radius:16px;
}
.tonight-card {
  display:flex; flex-direction:column; gap:15px;
}
.tonight-card :is(h2,h3) {
  margin:0; color:var(--text); font-size:clamp(22px,2.6vw,32px); font-weight:710;
  letter-spacing:-.037em; line-height:1.1; overflow-wrap:anywhere;
}
.tonight-card p {
  margin:7px 0 0; color:var(--muted); font-size:14px; line-height:1.55;
}
.tonight-card .tonight-window {
  color:var(--accent); font-weight:700; font-variant-numeric:tabular-nums;
}
.tonight-card dl {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;
  margin:auto 0 0;
}
.tonight-card dl > div {
  min-width:0; padding:9px 10px; border-radius:8px; background:var(--panel-inset);
}
.tonight-card dt {
  margin:0 0 3px; color:var(--muted); font-size:12px; font-weight:615; line-height:1.25;
}
.tonight-card dd {
  margin:0; color:var(--text); font-size:clamp(15px,1.8vw,19px); font-weight:690;
  font-variant-numeric:tabular-nums; line-height:1.2; overflow-wrap:anywhere;
}
.tonight-card .tonight-next {
  display:block; margin:0; padding-top:11px; border-top:1px solid var(--line);
  color:var(--accent); font-size:13px; font-weight:620; line-height:1.45;
}
.tonight-empty {
  grid-column:1 / -1; margin:0; font-size:15px; line-height:1.55;
}
.tonight-guide {
  margin-top:clamp(26px,5vw,64px); padding:clamp(18px,3.6vw,39px); border-radius:18px;
}
.tonight-guide :is(p,li) {
  max-width:73ch; color:var(--muted); font-size:clamp(15px,1.65vw,18px); line-height:1.6;
}
.tonight-guide p { margin:12px 0 0; }
.tonight-guide ul { margin:12px 0 0; padding-inline-start:1.15em; }
.tonight-guide li + li { margin-top:4px; }
.tonight-page :is(.tonight-card,.tonight-guide) a {
  color:var(--accent); text-underline-offset:.21em; overflow-wrap:anywhere;
}
@media (max-width:980px) {
  .tonight-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:630px) {
  .tonight-results { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:420px) {
  .tonight-controls { width:100%; }
  .tonight-controls > div { min-width:0; flex:1 0 100%; }
  .tonight-controls select { width:100%; }
  .tonight-controls > label { margin-bottom:-6px; }
}
