/* The Night Atlas — a deliberately restrained two-ink palette.
   One saturated iris button. Everything else is midnight, moonlight or muted lavender.
   Kept separate from the application stylesheet for dependable cache-busting. */
:root {
  --paper: #101729;
  --paper2: #182238;
  --ink: #F6F3F2;
  --muted: #AFBBD0;
  --rule: rgba(218,226,245,.18);
  --rust: #C9BDF6;
  --night: #101729;
  --cream: #F7F5F1;
  --soft: #BAC6DA;
  --iris: #554CBD;
  --iris-hover: #4740A7;
  --moon: #F6F3F2;
}
body {
  color: var(--ink);
  background:
    radial-gradient(780px 550px at 15% 19%, rgba(80,88,152,.19), transparent 76%),
    radial-gradient(630px 620px at 83% 40%, rgba(40,52,96,.12), transparent 82%),
    linear-gradient(145deg, #0B1425 0%, #11172A 56%, #191D32 100%);
}
body::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1100px;
  pointer-events: none;
  opacity: .28;
  background-image:
    radial-gradient(circle, #F4F5FF 0 1px, transparent 1.4px),
    radial-gradient(circle, #BCB5EA 0 .8px, transparent 1.5px);
  background-size: 269px 281px, 349px 307px;
  background-position: 21px 9px, 154px 127px;
}
.site-wrap, .site-footer { position: relative; }
.site-header { border-color: rgba(226,230,248,.15); }
.wordmark { color: #F4F2F3; }
.wordmark-symbol, .wordmark-stop { color: #D7CEF7; }
.site-nav { color: #D2D8E5; }
.site-nav a:hover { color: #FFFFFF; }
.overline { color: #C8BBEA; }
.front { gap: clamp(34px, 5vw, 100px); padding: 72px 0 85px; align-items: center; }
.front-intro { min-height: 0; padding: 20px 0; }
.front-intro::before { display: none; }
.front-intro h1 {
  color: #F7F3F0;
  margin: 22px 0 30px;
  font-size: clamp(60px, 5.8vw, 88px);
  max-width: 690px;
  letter-spacing: -.062em;
  line-height: 1.075;
}
.front-intro h1 em, .plain-page h1 em, .universe-intro h1 em { color: #C8BBF0; }
.front-lede { color: #F2F0F6; font-size: clamp(20px, 1.92vw, 27px); line-height: 1.48; }
.front-description { color: #AFBBD0; max-width: 480px; font-size: 16px; margin-top: 20px; line-height: 1.83; }
.front-signals, .text-jump, .front-foot { display: none !important; }
.small-orbit { color: #B5ACE4; opacity: .38; width: 260px; margin-top: 36px; }
.small-orbit svg { height: auto; }
/* Warm paper form; local variables keep typography and inputs readable. */
.dispatch-card {
  --ink: #20263B;
  --muted: #626A7A;
  --rule: #E0DFE8;
  --rust: #5148AD;
  color: #20263B;
  background: #F7F5F1;
  border: 1px solid rgba(225,224,235,.88);
  border-top: 3px solid #AAA3CE;
  border-radius: 15px;
  box-shadow: 0 35px 74px rgba(0,0,0,.23);
  padding: 32px 34px 30px;
  backdrop-filter: none;
}
.dispatch-card::before { display:none; }
.dispatch-meta { color: #726BA3; font-weight: 750; letter-spacing: .15em; }
.dispatch-card h2 { color: #252B3E; margin: 18px 0 21px; }
.dispatch-card textarea {
  border: 1px solid #D4D3DF;
  background: #FEFDFC;
  color: #24283A;
  border-radius: 7px;
  box-shadow: none;
  padding: 19px 20px;
  min-height: 174px;
}
.dispatch-card textarea:focus { border-color: #6D64BD; outline: 2px solid rgba(109,100,189,.15); }
.dispatch-card textarea::placeholder { color: #8D8C9B; }
.compose-under { color: #7E8390; }
.mini-fields, .privacy-selection { border-color: #E0DFE8; }
.field-label, .privacy-selection legend { color: #777A88; }
.mini-fields select { color: #262B40; }
.privacy-option {
  border: 1px solid #DDDCE6;
  border-radius: 8px;
  background: #FFFDFC;
  padding: 13px 12px;
}
.privacy-option:has(input:checked) {
  border-color: #6D64BD;
  background: #EFEDF9;
}
.privacy-option input, .consent-line input { accent-color: #584FC0; }
.privacy-option span { color: #272C3D; }
.privacy-option small { color: #707485; }
.consent-line span, .form-postscript { color: #757987; }
.consent-line a { color: #453C98; text-underline-offset: 3px; }
.form-error { background: #FDEFEA; color: #A02D36; border-color:#A02D36; }
.submit-message,
.button-ink,
.paypal-action {
  border: 1px solid #554CBD;
  border-radius: 8px;
  background: #554CBD;
  color: #FFFFFF;
  box-shadow: none;
}
.submit-message {
  font-size: 15px;
  min-height: 62px;
  margin-top: 16px;
  font-weight: 700;
  letter-spacing: .015em;
}
.submit-message:hover,
.button-ink:hover,
.paypal-action:hover {
  background: #463E9F;
  border-color: #463E9F;
  color: #FFFFFF;
}
.form-postscript { line-height: 1.65; }
.little-guide { border-top: 1px solid rgba(231,232,246,.13); padding-top: 48px; }
.guide-head h2 { color: #F4F1F4; }
.guide-steps>div { border-color: rgba(230,234,255,.26); background: none; }
.guide-steps span { color: #C1B6ED; }
.guide-steps strong { color: #F4F2F5; }
.guide-steps p { color: #ADBACF; }
.closing-ribbon {
  margin-top: 24px;
  background: rgba(27,32,55,.62);
  border: 1px solid rgba(215,217,242,.14);
  color: #F2F0F7;
}
.closing-ribbon em { color: #CEC3F7; }
.closing-ribbon a { color: #EAE7F5; border-color: #8887AB; }
.site-footer { background: #0A1121; border-color: rgba(235,235,250,.12); }
.footer-signature { color: #D7D4E5; }
.footer-nav { color: #B9C1D2; }
.footer-nav a:hover { color: #FFFFFF; }
.footer-bottom { border-color: rgba(235,235,250,.10); color: #929EB2; }

/* Arrival / share page */
.arrival-intro h1, .arrival-intro>p:last-child, .coordinate-superlabel,
.coordinate-row strong, .share-head h2, .share-head>p:last-child,
.share-label, .share-guidance, .star-arrival { color: #F6F3F2; }
.arrival-intro>p:last-child, .share-head>p:last-child,
.share-guidance, .astral-footnote, .coordinate-row span { color: #ACB9CF; }
.arrival-coordinates { color: #C9BDF6; }
.coordinate-row { border-color: rgba(232,235,249,.17); }
.astral-index { border-color: rgba(232,235,249,.17); }
.star-print { border-color: rgba(217,225,247,.20); background: #0B1325; box-shadow: 0 22px 42px rgba(0,0,0,.20); }
.share-primary-actions .button-ink { color: #FFF; }
.button-outline { border-color: rgba(222,225,243,.44); color: #F7F3F3; background: rgba(255,255,255,.04); border-radius: 8px; }
.button-outline:hover { color: #FFFFFF; background: rgba(120,116,195,.24); border-color: #B3AEE8; }
.network-actions button { border:1px solid rgba(228,231,246,.28); background: rgba(255,255,255,.04); color: #EDECF5; border-radius: 7px; }
.network-actions button:hover { color: #FFFFFF; border-color:#9891D6; background: rgba(109,100,189,.25); }
.share-warning { color: #C9BDF6; }
.share-feedback { color: #CCC5FA; }
.word-display { border-color: rgba(224,229,248,.19); }
.word-display blockquote { color: #F5F1ED; }
.word-display>p:last-child { color:#ACB8CA; }
.keeper-note {
  --ink: #22293B; --muted: #626A7A; --rust: #554CBD;
  color:#22293B; background: #F1EFED;
  border-radius: 12px;
}
.keeper-note h2 { color:#22293B; }
.keeper-note p:not(.overline) {color:#697181;}
.keeper-note .overline {color:#655CAC;}
.keeper-note .button-outline { border-color:#6460A5; color:#373C64; background:transparent; }
.keeper-note .button-outline:hover {background:#E4E0F7;color:#242749;}
.support-section { background:#252C49; border:1px solid rgba(224,229,250,.20); border-radius: 12px; }
.support-section .overline { color:#CBC2F2; }
.support-section p:not(.overline) {color:#C0C8D9;}
.paypal-action { white-space:nowrap; }
.next-steps a:hover, .flag-section a:hover { color: #D7CBFF; }
.flag-section { color:#B7C0D4; }

/* Public atlas: dark canvas with a readable light paper preview. */
.universe-intro h1, .public-head h2 { color: #F5F2F4; }
.universe-intro>p:last-child, .universe-warning {color:#B4BDD0;}
.universe-map-wrap {background:#0C1528;border:1px solid rgba(231,231,250,.15);}
.atlas-title { color:#F5F3F8; }
.atlas-title small,.map-caption{color:#AEB8CC;}
.atlas-marker{color:#C9BDF6;}
.atlas-tool {border-color:#505A79;color:#F2F0F8;background:#151F35;}
.atlas-tool:hover {background:#302F61;color:#FFFFFF;border-color:#9D93E0;}
.atlas-expand {background:#554CBD;border-color:#554CBD;color:#FFFFFF;}
.universe-gallery.atlas-fullscreen {background:#101729;}
.atlas-fullscreen .universe-map-wrap { background:#101729; }
.universe-preview, .public-card, .empty-public-state {
  --ink: #22293C; --muted: #697181; --rust: #554CBD; --rule:#D8D9E4;
  background: #F5F3EF; color:#22293C; border: 1px solid #DAD9E1; border-radius: 11px;
}
.universe-preview .eyebrow, .public-link { color:#554CBD; }
.universe-preview h3, .public-card h3 { color:#22293C; }
.preview-message, .public-excerpt {color:#303448;}
.preview-meta, .preview-footer, .public-meta, .public-kind, .public-date {color:#6E7482;}
.public-head{border-color:rgba(231,231,250,.18)}
.empty-public-state { color:#697181; }

/* Static legal, contact and report pages stay legible against the dark site background. */
.plain-page {color:#F3F1F4;}
.plain-page h1,.plain-page h2 {color:#F4F1F4;}
.plain-page>p {color:#B8C3D6;}
.plain-page>.lead,.legal-lede {color:#F3F1F4!important;}
.plain-page a:not(.button-ink){color:#D4C8FA;}
.plain-page .button-ink { color:#FFFFFF; }
.legal-page h2, .legal-note {border-color:rgba(230,232,250,.17);}
.report-page select{background:#F4F2EF;color:#22293B;border-color:#D8D8E2;}
.report-page label{color:#E8E6EF;}
.missing-page p{color:#B8C3D6;}

@media(max-width:900px) {
 .front {padding:52px 0 69px;}
 .front-intro {padding:0;}
 .front-intro h1 {font-size:clamp(56px,9vw,82px);}
 .small-orbit {margin-top:21px;}
}
@media(max-width:700px) {
 .site-wrap {padding:0 22px;}
 .front {padding-top:40px;}
 .front-intro h1 {font-size:clamp(48px,9vw,66px);}
 .dispatch-card {padding:26px 22px 25px;border-radius:13px;}
 .dispatch-card textarea {min-height:160px;}
 .closing-ribbon {margin-left:-22px;margin-right:-22px;border-left:0;border-right:0;border-radius:0;}
}
@media(max-width:430px) {
 .site-wrap {padding:0 17px;}
 .front-intro h1{font-size:clamp(46px,11vw,54px);}
 .dispatch-card {padding:20px 17px 22px;}
 .dispatch-card h2 {font-size:30px;}
 .closing-ribbon {margin-left:-17px;margin-right:-17px;}
}
@media(max-width:700px) {
 .small-orbit {display:none;}
}
