:root { color-scheme: dark; --bg: #030711; --panel: #0b1322; --text: #edf4ff; --muted: #a6b4c8; --blue: #72c8ff; --violet: #aa8bff; }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: radial-gradient(ellipse at 75% 0%, #14213d 0%, var(--bg) 48rem); color: var(--text); font: 16px/1.75 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
    a { color: var(--blue); text-underline-offset: 4px; }
    a:hover { color: #fff; }
    .wrap { width: min(860px, calc(100% - 36px)); margin: 0 auto; }
    header { padding: 26px 0; border-bottom: 1px solid #28334a; }
    .brand { color: var(--text); font-weight: 850; letter-spacing: .14em; text-decoration: none; }
    .brand span { display: inline-grid; width: 34px; height: 34px; margin-right: 9px; place-items: center; border-radius: 11px; background: linear-gradient(135deg, #168fd2, #6152d6); }
    nav { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 12px; font-size: .9rem; }
    main { padding: 42px 0 72px; }
    .eyebrow { color: var(--blue); font-size: .78rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
    h1 { max-width: 760px; margin: 8px 0 18px; font-size: clamp(2.2rem, 7vw, 4.5rem); line-height: 1.04; letter-spacing: -.055em; }
    h2 { margin-top: 42px; font-size: clamp(1.45rem, 4vw, 2rem); line-height: 1.2; letter-spacing: -.03em; }
    h3 { margin-bottom: 6px; font-size: 1.1rem; }
    p, li { color: var(--muted); }
    .lede { max-width: 760px; font-size: 1.15rem; line-height: 1.75; }
    .actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 34px; }
    .button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid #496f9c; border-radius: 14px; background: linear-gradient(120deg, #168fd2, #6152d6); color: white; font-weight: 800; text-decoration: none; }
    .button.secondary { background: #0b1322; border-color: #2c3b53; }
    .grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 22px 0; }
    .card { padding: 19px; border: 1px solid #26344c; border-radius: 18px; background: rgba(11, 19, 34, .82); }
    .card h3 { margin-top: 0; }
    .callout { margin: 26px 0; padding: 18px 20px; border-left: 3px solid var(--violet); border-radius: 0 12px 12px 0; background: rgba(170,139,255,.08); }
    .callout p { margin-bottom: 0; }
    .source-list li { margin: 8px 0; }
    footer { padding: 24px 0 42px; border-top: 1px solid #28334a; color: var(--muted); font-size: .88rem; }
    @media (max-width: 620px) { .grid { grid-template-columns: 1fr; } main { padding-top: 30px; } .wrap { width: min(100% - 28px, 860px); } }
.related-links { display:grid; gap:10px; margin:18px 0; padding-left:20px; }
.related-links li { margin:0; }
.breadcrumbs { margin:0 0 22px; color:var(--muted); font-size:.9rem; }
.breadcrumbs a { color:var(--blue); }
article section { scroll-margin-top:20px; }

/* Keep astronomy guides readable when teachers print or save them as PDFs. */
@media print {
  :root {
    color-scheme: light;
    --ink: #111827;
    --muted: #374151;
    --panel: #ffffff;
    --blue: #1d4ed8;
    --violet: #6d28d9;
  }

  html, body {
    background: #ffffff !important;
    color: #111827 !important;
    font-size: 11pt;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  header, footer, .actions, nav, .button, .breadcrumbs {
    display: none !important;
  }

  .wrap, main.wrap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  article, .card, .callout {
    color: #111827 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    border-color: #d1d5db !important;
  }

  h1, h2, h3, p, li, strong, a {
    color: #111827 !important;
  }

  h1 { font-size: 24pt; }
  h2 { margin-top: 20pt; font-size: 16pt; break-after: avoid; }
  h3 { font-size: 12pt; break-after: avoid; }
  p, li { line-height: 1.45; }
  a { text-decoration: underline; overflow-wrap: anywhere; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; overflow-wrap: anywhere; }
  li, .callout, .card { break-inside: avoid; }
  .grid { grid-template-columns: 1fr 1fr; gap: 10pt; }
}
