
input,select,textarea { caret-color:var(--accent); }

.signal-dot { box-shadow:none; }
.site-header nav {font-size: var(--type-control); gap: 28px;}
.menu-toggle { display:none; }
.menu-toggle svg,.experience-heading>button svg {width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: var(--icon-stroke);}
.site-header .motion-toggle {font-size: var(--type-caption); letter-spacing: 0; line-height:1;}
.hero h1,.planet-copy h3,h2 { letter-spacing:-.035em; }
.hero-description,.section-intro,.planet-description,.author-bio {font-size: var(--type-body); line-height: 1.8;}
.hero-coordinate,.hero-bottom,.hero-bottom .scroll-hint,.visual-caption,.drag-hint,.planet-stats dt,.planet-step,.text-link,.explorer-footnote {font-size: var(--type-caption); letter-spacing: 0;}
.section-heading { align-items:start; }
.section-heading .section-intro { max-width:40ch; }
.planet-category {color: var(--muted); font-size: var(--type-caption); letter-spacing: .035em;}
.planet-choice {font-size: var(--type-control);}
.planet-choice[data-pending=true] { color:var(--accent); }
.planet-stats { flex-wrap:wrap; }
.planet-stats dd { font-size:26px; }
.planet-stats .stat-unit {font-size: var(--type-caption);}
.planet-visual { min-width:0; }
.surface-credit {color: var(--muted); font-size: var(--type-caption); line-height: 1.6; margin-top: 14px;}
.surface-credit a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--line); }
.surface-credit a:hover { color:var(--accent); }
.experience-section { --sky-muted:var(--muted); --sky-line:var(--line); }
.experience-section label {font-size: var(--type-control);}

.experience-section .experience-note,.experience-section .experience-sources,.experience-status,.experience-actions>p {line-height: 1.8;}
.experience-heading>p {font-size: 16px; line-height: 1.7; max-width: 45ch; color: var(--muted);}
.scale-stage .scale-controls { --sky-muted:var(--muted); }
.scale-controls label,.scale-fit-button {font-size: var(--type-control);}

.scale-selector-row,.scale-zoom-row {grid-template-columns: 44px minmax(0,1fr) 44px;}
.scale-detail span,.scale-sun-label,.scale-planet-label {font-size: var(--type-caption);}
.sky-view-switch { display:flex; gap:28px; margin:24px 0 30px; border-bottom:1px solid var(--line); }
.sky-view-switch button {min-height: 48px; padding: 12px 0; font-size: var(--type-body); color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -1px;}
.sky-view-switch [aria-selected=true] { color:var(--accent); border-bottom-color:var(--accent); }
#sky-map { margin-top:0; scroll-margin-top:24px; }
#observing-plan { margin-top:0; }
.sky-map-block { --sky-line:var(--line); --sky-muted:var(--muted); }
.sky-workspace { min-width:0; }
.sky-map-block .sky-observer-caption,.sky-map-block .sky-chart-footer,.sky-map-block .sky-object,.sky-map-block .sky-details,.sky-map-block .sky-photo-credit {font-size: var(--type-control);}
.night-plan { --night-muted:var(--muted); --night-line:var(--line); }
.night-table,.night-table th,.night-table small,.night-table td,.night-group-names,.night-preview-note,.night-footer p,.night-chart-note {font-size: var(--type-caption);}
.night-table th { line-height:1.6; }
.night-object-button strong { font-size:17px; }
.night-group-summary { flex-wrap:wrap; }
.night-filter-buttons [data-plan-count],.night-count {font-size: var(--type-control);}

.context-help {margin-top: 24px; max-width: 75ch; color: var(--muted); font-size: var(--type-control);}
.context-help summary { color:var(--paper); cursor:pointer; min-height:48px; padding:12px 0; }
.context-help p { margin:12px 0; line-height:1.8; }
.sun-safety {margin-top: 14px; font-size: var(--type-caption); color: var(--muted);}
#postcard .experience-heading { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
#postcard .experience-heading h2 { flex-basis:100%; }
#postcard .experience-heading>p { flex:1; margin:0; font-size:16px; }
#postcard .experience-heading>button { display:inline-flex; align-items:center; gap:10px; }

#postcard .postcard-message-field button,#postcard .postcard-dock button {font-size: var(--type-control);}
#postcard .postcard-dock { gap:12px; padding:6px 14px; backdrop-filter:none; }
#postcard .postcard-settings { position:relative; }
#postcard .postcard-settings summary {list-style: none; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 52px; padding: 8px 10px; font-size: var(--type-control); cursor: pointer;}
#postcard .postcard-settings summary::-webkit-details-marker { display:none; }
#postcard .postcard-settings summary svg { width:16px; height:16px; }
#postcard .postcard-settings-panel { position:absolute; bottom:calc(100% + 18px); left:50%; transform:translateX(-50%); width:280px; padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--ui-surface); }
#postcard .postcard-settings-panel .postcard-colors { border:0; padding:0; flex-wrap:wrap; gap:12px; }
#postcard .postcard-settings-panel .postcard-trail { border:0; padding:12px 0 0; justify-content:space-between; height:auto; margin-top:10px; }
#postcard .postcard-swatches label { width:48px; height:48px; }
#postcard .postcard-help {font-size: var(--type-caption);}
.postcard-expanded { overflow:hidden; }
.postcard-workspace.is-expanded { position:fixed; inset:0; z-index:10001; display:flex; flex-direction:column; gap:12px; padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); background:var(--ink); overflow:auto; }
.postcard-editor-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-shrink:0; }
.postcard-editor-heading p { font-size:20px; }
#postcard .is-expanded .postcard-message { margin:0 auto; flex-shrink:0; width:min(100%,800px); }
#postcard .is-expanded .postcard-stage { flex:1; min-height:200px; margin:0; display:flex; flex-direction:column; }
#postcard .is-expanded #postcard-canvas { flex:1; min-height:0; height:0; aspect-ratio:auto; object-fit:contain; }
#postcard .is-expanded .postcard-dock { position:relative; left:auto; bottom:auto; transform:none; flex-shrink:0; margin:12px auto 0; }
#postcard .is-expanded .postcard-footer { flex-shrink:0; }
#postcard .is-expanded .postcard-help,#postcard .is-expanded .experience-status { margin:0; }
.sources-open { overflow:hidden; }

.sources-content h3 {margin: 24px 0 8px; font-size: var(--type-body); font-weight: 500;}
.sources-content h3:first-child { margin-top:0; }
.sources-content p {margin: 8px 0; font-size: var(--type-control); line-height: 1.65; color: var(--muted); overflow-wrap: anywhere;}
.sources-content a { color:var(--paper); text-decoration:underline; text-underline-offset:4px; }
.sources-content a:hover { color:var(--accent); }

.site-footer .credits,.site-footer>p {font-size: var(--type-caption); line-height: 1.8;}
.site-footer { flex-wrap:wrap; }
.site-footer .credits { max-width:70ch; }
.site-footer .credits>a { display:inline-flex; align-items:center; min-height:44px; border-bottom:0; color:var(--muted); text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:4px; }
.site-footer .credits>a:hover { color:var(--paper); }

.pointer-plasma { opacity:.22; }
.scene-cursor { display:none!important; }
#language-code {font-size: var(--type-caption);}
.light-footnote,.light-status {font-size: var(--type-caption);}
@media(max-width:1100px) { .planet-nav { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:760px) {
  .site-header { gap:12px; height:88px; margin-inline:20px; flex-wrap:nowrap; }
  .site-header .brand-wordmark { width:132px; }
  .site-header .header-controls { gap:4px; }
  .site-header .language-control { min-width:64px; }
  .site-header .motion-toggle { width:44px; min-height:48px; padding:0; justify-content:center; }
  .site-header #motion-label { display:none; }
  .menu-toggle {display: flex; align-items: center; gap: 8px; min-height: 48px; font-size: var(--type-control); order: 3;}
  .menu-toggle svg { display:none; }
  .site-header #main-navigation { display:flex; position:absolute; top:76px; left:0; right:0; padding:16px 20px; border:1px solid var(--line); border-radius:12px; background:var(--ui-surface); flex-direction:column; align-items:stretch; gap:4px; }
  .site-header #main-navigation a { min-height:48px; font-size:16px; }
  .hero-content { top:18%; }
  .hero-description,.section-intro,.planet-description {font-size: var(--type-body);}
  .planet-choice,.planet-category,.planet-stats dt,.stat-unit,.text-link,.visual-caption,.drag-hint {font-size: var(--type-caption);}
  .planet-choice { min-height:56px; gap:8px; }
  .planet-visual { height:350px; }
  .visual-caption { flex-wrap:wrap; gap:8px; bottom:0; }
  .drag-hint { margin-left:0; }
  .planet-description { max-width:65ch; }
}
@media(max-width:600px) {
  .section-shell { padding-block:64px; }
  .experience-section .experience-heading h2 { font-size:38px; }
  .night-table td:not(:first-child)::before {font-size: var(--type-caption);}
  .night-filter-buttons button,.night-table small {font-size: var(--type-caption);}
  .night-filter-buttons { gap:8px 14px; }
  #postcard .postcard-message-field {border-radius: 12px; border: 1px solid var(--field-border); background: var(--ui-surface);}
  #postcard .postcard-dock { position:relative; left:auto; bottom:auto; transform:none; width:100%; max-width:none; border-radius:12px; flex-wrap:wrap; justify-content:center; gap:4px 12px; padding:6px 12px; margin:14px 0 0; }
  #postcard .postcard-modes { flex-basis:100%; justify-content:center; }
  #postcard #star-undo,#postcard #star-clear { padding:8px 12px; border:0; }
  #postcard .postcard-message-field button {font-size: var(--type-control);}
  #postcard .postcard-settings-panel { left:0; transform:none; width:min(280px,calc(100vw - 64px)); }
  #postcard .is-expanded .postcard-dock { margin:8px 0 0; }
  #postcard .is-expanded .postcard-editor-heading p { font-size:16px; }
  #postcard .is-expanded .postcard-draft { display:none; }
  #postcard .is-expanded .postcard-footer { justify-content:end; }
  #postcard .is-expanded .postcard-help { display:none; }
  .postcard-workspace.is-expanded { gap:8px; padding-inline:10px; }
  .night-actions { width:100%; }
  .night-actions .primary-button { flex:1; }
}
@media(max-width:380px) { .site-header { margin-inline:14px; gap:6px; } .site-header .brand-wordmark { width:112px; } }
@media(prefers-reduced-motion:reduce) { .sky-view-switch button,.menu-toggle { transition:none; } }
