/* FBLTWX · the night sky page (/night/, Round L). Colors are np.css's and bands.css's variables only; no new fonts. */
/* ---------- from np.css (V-fu1.2, Oct. 25, 2026): the rules only this page uses ---------- */
.np-night{padding:22px 0 30px}
.np-night p a{text-decoration:underline;text-underline-offset:2px}   /* links in running text: not by color alone */
.ng-updated{margin:4px 0 0}
/* Round X (Oct. 25, 2026): one look. Every section is Round M's (np.css .np-secbar in the page's navy, from
   body[data-page="night"] in np.css's page-color lines); under its bar, the meta line: its stamps on the left, its source or
   date on the right (home's np-secmeta way) */
.ng-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 14px;margin:-4px 0 6px}
.ng-meta .np-stamp,.ng-note{margin:0}
.ng-stamps{display:flex;flex-direction:column;gap:3px}
.ng-tools{margin:8px 0 0}   /* X4: Copy link and Print under the intro (share.js) */
/* Round X2: each section's finding, one sentence written from its data, the answer first (climate's .cl-find size); the
   verdict and the aurora answer keep their own look */
.ng-find{max-width:46em;margin:6px 0 10px;font-size:17px;font-weight:700;line-height:1.4}
/* tonight (L3): the verdict, one sentence from the rules */
.ng-verdict{margin:10px 0 0;font-size:24px;font-weight:900;line-height:1.25}
/* the dusk-to-dawn strip (L3): the drawing stretches to the width at a fixed height (set inline, rows in px); its labels
   are HTML over and under it, so they stay their real size at 390 (the /forecast/ ribbon's way) */
.ng-stripwrap{margin:10px 0 0;display:grid;grid-template-columns:auto minmax(0,1fr)}   /* row labels | the drawing; the times under it */
.ng-labs{position:relative;width:64px}
.ng-strippic{background:#fff;border:1px solid var(--rule)}
.ng-ticks{grid-column:2}
.ng-strip,.ng-kpsvg{display:block;width:100%}
.ng-strip *,.ng-kpsvg *{vector-effect:non-scaling-stroke}
.ng-t1{fill:var(--wk)} .ng-t2{fill:var(--close5)} .ng-t3{fill:var(--slate)} .ng-t4{fill:var(--navy)}   /* civil, nautical, astronomical, dark */
.ng-row{fill:var(--slate-bg)}
.ng-cl{fill:var(--slate)}
.ng-moon{fill:var(--nice)}
.ng-moonline{fill:none;stroke:var(--nice);stroke-width:1.5}
.ng-smoke{fill:var(--ink3);fill-opacity:.55}
.ng-now{stroke:var(--red);stroke-width:2}
.ng-lab{position:absolute;left:0;font-size:12px;line-height:16px;font-weight:800;color:var(--ink)}
.ng-ticks{position:relative;height:20px}
.ng-tick{position:absolute;top:2px;transform:translateX(-50%);font-size:13px;font-weight:700;color:var(--ink2);white-space:nowrap}
.ng-tick.start{transform:none}
.ng-tick.end{transform:translateX(-100%)}
.ng-key{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0 0}
.ng-key>span::before{content:"";display:inline-block;width:12px;height:8px;margin-right:4px;vertical-align:middle}   /* the swatches (not a glossary term's popover, X3) */
.ng-key .k-dark::before{background:var(--navy)}
.ng-key .k-cl::before{background:var(--slate)}
.ng-key .k-moon::before{background:var(--nice)}
.ng-key .k-smoke::before{background:var(--ink3)}
/* the photographer's line (L3) */
.ng-photo{list-style:none;margin:10px 0 0;padding:0;font-size:15px;line-height:1.4}
.ng-photo li{margin:3px 0 0}
.ng-photo b{font-weight:800}
/* the next 7 nights (L3) */
.ng-nights{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.ng-nights li{background:#fff;border-left:4px solid var(--navy);padding:6px 10px;font-size:15px}
.ng-wd{font-size:14px;font-weight:700;color:var(--ink3)}
.ng-wv{display:block;font-weight:700}
.ng-wm{display:block;font-size:14px;color:var(--ink2)}
.ng-ev{display:block;font-size:14px;font-weight:700}
.ng-notes{margin:28px 0 0;border-top:1px solid var(--rule);padding-top:10px}
.ng-notes p{margin:6px 0 0;max-width:80ch}
@media (max-width:560px){
  .np-night{padding-top:14px}
  .ng-verdict{font-size:21px}
  .ng-nights{grid-template-columns:minmax(0,1fr)}
}
/* the aurora (L4): the plain answer, now (each value with its age), the 3-day Kp chart, the 27-day outlook */
.ng-answer{margin:10px 0 0;padding:6px 10px;background:#fff;border-left:4px solid var(--slate);font-size:16px}
.ng-answer b{font-size:20px;font-weight:900;margin-right:4px}
.ng-answer.possible{border-left-color:var(--nice)}
.ng-answer.active{border-left-color:var(--red)}
.ng-nowlist{list-style:none;margin:8px 0 0;padding:0;font-size:15px;line-height:1.4}
.ng-nowlist li{margin:3px 0 0}
.ng-nowlist b{font-weight:800}
.ng-age{font-size:13px;color:var(--ink3)}
.ng-h4{margin:14px 0 0;font-size:16px;font-weight:900}
.ng-dark{fill:var(--wk)}
.ng-kpg{stroke:var(--rule);stroke-width:1}
.ng-kp7{stroke:var(--red);stroke-width:2;stroke-dasharray:6 4}
.ng-kpbar{fill:var(--slate)}
.ng-kpbar.hi{fill:var(--red)}
.ng-day{position:absolute;top:2px;text-align:center;font-size:13px;font-weight:700;color:var(--ink2)}
.ng-key .k-kp::before{background:var(--slate)}
.ng-key .k-kp7::before{background:var(--red);height:2px}
.ng-key .k-darkbg::before{background:var(--wk);border:1px solid var(--rule)}
.ng-27{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px}
.ng-27 li{display:grid;justify-items:center;padding:3px 2px;background:#fff;border:1px solid var(--rule);border-top:4px solid var(--rule)}
.ng-27 li.k5{border-top-color:var(--slate)}
.ng-27 li.k7{border-color:var(--red);border-top-color:var(--red)}
.ng-27 span{font-size:12px;color:var(--ink3)}
.ng-27 b{font-size:16px;font-weight:900}
.ng-27note{margin:6px 0 0}
/* the moon (L5): tonight's moon, the next full moon, the month's calendar (server-drawn, no script) */
.ng-moonrow{display:flex;gap:14px;align-items:center;margin:10px 0 0}
.ng-moonrow svg{flex:none}
.ng-moonname{margin:0;font-size:20px;font-weight:900}
.ng-moonrow .np-small{margin:2px 0 0}
.ng-full{margin:10px 0 0;font-size:15px}
.ng-cal{margin:14px 0 0}
.ng-calhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:8px}
.ng-calhead h3{margin:0;text-align:center}
.ng-calhead a{display:inline-flex;align-items:center;justify-self:start;min-height:44px;font-size:14px;font-weight:700}   /* X4: 44 px at 390 */
.ng-calhead a[rel=next]{justify-self:end;text-align:right}
.ng-month{width:100%;max-width:560px;margin:8px auto 0;border-collapse:collapse;table-layout:fixed;background:#fff}
.ng-month th{font-size:12px;font-weight:800;color:var(--ink3);padding:4px 0}
.ng-month td{border:1px solid var(--rule);text-align:center;vertical-align:top;padding:2px 0 4px}
.ng-month td.today{outline:3px solid var(--navy);outline-offset:-3px;background:var(--wk)}
.ng-dn{display:block;font-size:12px;font-weight:800;color:var(--ink2)}
.ng-month svg{display:block;margin:2px auto 0;width:min(34px,80%);height:auto}
.ng-phases{list-style:none;margin:8px auto 0;padding:0;max-width:560px;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px}
/* meteor showers (L6): each peak night within 30 days, then the list, the next first */
.ng-honest{margin:10px 0 0;padding:6px 10px;background:var(--slate-bg);border-left:4px solid var(--slate);font-size:15px}
.ng-shower{margin:10px 0 0;padding:8px 12px;background:#fff;border-top:4px solid var(--navy)}
.ng-shower h3{margin:0}
.ng-shower ul{margin:6px 0 0;padding-left:18px;font-size:15px;line-height:1.4}
.ng-showerlist{margin:12px 0 0;padding-left:22px;font-size:15px;line-height:1.4}
.ng-showerlist li{margin:6px 0 0}
.ng-pk{margin-left:4px;font-weight:700}
.ng-sd{display:block;font-size:14px;color:var(--ink2)}
.ng-tev{margin:6px 0 0;font-size:15px;font-weight:700}
/* the aurora log (L9): Kp 7 nights since 1932, KFBL's sky since 1993; the full list folds away */
.ng-alog-stats{margin:8px 0 0;font-size:16px;line-height:1.4}
.ng-alog-table{width:100%;max-width:560px;margin:8px 0 0;border-collapse:collapse;background:#fff;font-size:15px}
.ng-alog-table th,.ng-alog-table td{padding:4px 8px;border-bottom:1px solid var(--rule);text-align:left;font-weight:400}
.ng-alog-table thead th{font-size:13px;font-weight:800;color:var(--ink3)}
.ng-alog-table tbody th{font-weight:700;white-space:nowrap}
.ng-alog-all{margin:10px 0 0}
.ng-alog-all summary{font-weight:800;cursor:pointer;padding:11px 0}
.ng-alog-all .ng-alog-table{margin-top:0}
@media (max-width:359px){   /* X4: at 320 the night's dates may wrap (8 px past the edge otherwise), and the calendar's
   month links keep one line */
  .ng-alog-table th,.ng-alog-table td{padding:4px 5px}
  .ng-alog-table tbody th{white-space:normal}
  .ng-calhead{gap:4px}
  .ng-calhead a{font-size:13px;white-space:nowrap}
}
/* ---------- Round L's Phase 2 (L10 on): the first sections on Round M's furniture (np.css .np-secbar, .np-stamp, .np-term);
   every section since Round X ---------- */
.ng-sec>p{max-width:80ch}
/* planets (L10): a card each, two across from 560 px */
.ng-planets{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;font-size:15px;line-height:1.4}
.ng-planets li{padding:6px 10px;background:#fff;border-left:4px solid var(--navy)}
.ng-planets b{font-size:17px;font-weight:900}
.ng-pmag{margin-left:6px;font-size:14px;color:var(--ink2)}
.ng-pl{display:block}
.ng-pairs,.ng-none{margin:8px 0 0;font-size:15px}
@media (max-width:560px){
  .ng-planets{grid-template-columns:minmax(0,1fr)}
}
/* space station passes (L11): a card each, as the planets */
.ng-passes{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;font-size:15px;line-height:1.4}
.ng-passes li{padding:6px 10px;background:#fff;border-left:4px solid var(--navy)}
.ng-passes b{font-weight:900}
@media (max-width:560px){
  .ng-passes{grid-template-columns:minmax(0,1fr)}
}
/* the Milky Way's core (L12): tonight and the next 7 nights, a row each, in season; one line out of it */
.ng-mw{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;font-size:15px;line-height:1.4}
.ng-mw li{padding:6px 10px;background:#fff;border-left:4px solid var(--navy)}
.ng-mw b{font-weight:900}
@media (max-width:560px){
  .ng-mw{grid-template-columns:minmax(0,1fr)}
}
/* eclipses (L13): the next three as cards, as the meteor showers' peak nights; the rest a line */
.ng-eclipse{margin:10px 0 0;padding:8px 12px;background:#fff;border-top:4px solid var(--navy)}
.ng-eclipse h3{margin:0}
.ng-eclipse ul{margin:6px 0 0;padding-left:18px;font-size:15px;line-height:1.4}
.ng-eclipse .ng-safe{font-weight:700}
.ng-eclater{margin:10px 0 0;font-size:15px;max-width:80ch}
/* Round W3: The strip's paragraph, a key, in a fold under the strip (the rest of How This Page Works is /how-it-works/#night) */
.ng-how{margin:8px 0 0;max-width:80ch}
.ng-how summary{cursor:pointer;font-size:14px;font-weight:700;line-height:22px;padding:11px 0}   /* X4: 44 px */
.ng-how p{margin:6px 0 0}
