/* One palette for the entire product, including the observatory. */
:root{color-scheme:light;--bg:#fff;--page:#fff;--surface:#fff;--surface-soft:#f5f5f7;--inset:#e8e8ed;--text:#1d1d1f;--secondary:#454549;--muted:#6e6e73;--dim:#74747a;--line:#d2d2d7;--line-soft:#e2e2e7;--nav:#fafafae8;--nav-line:#0000000d;--blue:#0071e3;--blue-hover:#0077ed;--link:#0066cc;--blue-soft:#eaf3ff;--table-head:#ebebee;--hover:#eaeef3;--decoration:#dedee3;--green-soft:#e3ede8;--green:#28674b;--violet-soft:#e8e5f3;--violet:#67538e;--error:#b42318;--warning:#8c5314;--icon-filter:none;--chart-bg:#f5f7fa;--chart-panel:#fff;--chart-dock:#ffffffed;--chart-text:#25354b;--chart-muted:#53657b;--chart-line:#c6d2e0;--chart-active:#e4efff;--chart-accent:#0066b8;--chart-input:#f7f9fc}
:root[data-theme=dark]{color-scheme:dark;--bg:#101114;--page:#101114;--surface:#1c1d22;--surface-soft:#191b20;--inset:#303238;--text:#f5f5f7;--secondary:#d0d1d6;--muted:#a3a6b0;--dim:#989ca7;--line:#424650;--line-soft:#343740;--nav:#17181deb;--nav-line:#ffffff0e;--blue:#0071e3;--blue-hover:#1683f0;--link:#79b9ff;--blue-soft:#182c46;--table-head:#262930;--hover:#293340;--decoration:#41444f;--green-soft:#18362c;--green:#85d9b1;--violet-soft:#30263e;--violet:#c6abea;--error:#ffb4a9;--warning:#edc182;--icon-filter:invert(1);--chart-bg:#0b1019;--chart-panel:#171e2a;--chart-dock:#1b2533ed;--chart-text:#dce7f5;--chart-muted:#afc1d7;--chart-line:#3a4b60;--chart-active:#243950;--chart-accent:#98c8ff;--chart-input:#101b2c}
body,.course-page{background:var(--page);color:var(--text)}
input,select,textarea{color-scheme:inherit}select option{background:var(--surface);color:var(--text)}
.topbar{gap:22px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}.theme-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);color:var(--text);background:var(--surface);border-radius:24px;min-width:38px;min-height:36px;padding:7px 11px;font:inherit;font-size:11px;cursor:pointer}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.theme-toggle .sun-icon{display:none}[data-theme=dark] .theme-toggle .sun-icon{display:block}[data-theme=dark] .theme-toggle .moon-icon{display:none}.theme-toggle:hover{background:var(--surface-soft)}
.brand img,.site-footer .brand img,.text-button img,.value-icon,.course-art img,.home-story-strip>img,.share-menu summary img,.privacy-note img,.settings-sheet .icon-button img,.pill-button img{filter:var(--icon-filter)}
.light-button,.profile-button,.header-cta{color:#fff}.light-button img,.profile-button img{filter:invert(1)}.outline-button{color:var(--link)}.outline-button:hover{color:#fff}.filter-chip[aria-pressed=true]{background:var(--text);color:var(--page)}.moon-display{background:var(--surface-soft);color:var(--text);border:1px solid var(--line-soft)}.moon-display p,.moon-display .mini-info{color:var(--muted)}.feature-tabs a[aria-current=true]{background:var(--surface);color:var(--text)}
.observatory{background:var(--chart-bg);color:var(--chart-text);--line:var(--chart-line);--muted:var(--chart-muted);--dim:var(--chart-muted);border:1px solid var(--chart-line)}.observatory img{filter:var(--icon-filter)}.observatory .glass{background:var(--chart-panel);border-color:var(--chart-line)}.chart-toolbar .segmented button{color:var(--chart-muted)}.observatory .segmented button[aria-pressed=true]{background:var(--chart-active);color:var(--chart-text)}.observatory .icon-button{color:var(--chart-text)}.chart-caption,.chart-caption span:last-child,.chart-legend,.legend-note,.space-controls p,.space-controls .space-scale-note{color:var(--chart-muted)}
.observatory .transport{background:var(--chart-dock);border-color:var(--chart-line)}.transport label,.range-labels,.timeline-range-heading>span,.timeline-range-heading>small,.timeline-range-inputs label{color:var(--chart-muted)}.transport input,.transport select,.transport .date-control input{color:var(--chart-text);color-scheme:inherit}.observatory select option{color:var(--chart-text);background:var(--chart-panel)}.observatory .play-button{background:var(--chart-accent)}.observatory .play-button img{filter:invert(1)}[data-theme=dark] .observatory .play-button img{filter:none}.transport input[type=range]{background:linear-gradient(90deg,var(--chart-accent) 0%,var(--chart-accent) var(--progress,77%),var(--chart-line) var(--progress,77%),var(--chart-line) 100%)}.transport input[type=range]::-webkit-slider-thumb{background:var(--chart-accent)}.transport input[type=range]::-moz-range-thumb{background:var(--chart-accent)}
.timeline-range-form{border-color:var(--chart-line)}.timeline-range-inputs input{background:var(--chart-input);color:var(--chart-text);border-color:var(--chart-line);color-scheme:inherit}.timeline-range-inputs button{background:var(--chart-active);color:var(--chart-accent);border-color:var(--chart-line)}.timeline-range-inputs button:hover{background:var(--chart-panel)}#rangeError,.below-transport .text-button,#recordStatus{color:var(--chart-muted)}#rangeError.invalid,.observatory .error{color:var(--error)}.below-transport .text-button img{filter:var(--icon-filter)}.space-control-buttons button{background:var(--chart-panel);color:var(--chart-text);border-color:var(--chart-line)}.space-control-buttons button:hover{background:var(--chart-active)}
.inspector,.observatory .inspector{border-color:var(--chart-line)}.inspector .eyebrow,.select-planet select,.planet-topic,.metric span,.position-big small,.interpretation,.planet-row .row-position,.switch-line,.switch-line small,.inspector-note p{color:var(--chart-muted)}.position-big,.metric strong,.planet-row,.planet-name{color:var(--chart-text)}.planet-row[aria-pressed=true]{background:var(--chart-active);color:var(--chart-text);border-color:var(--chart-line)}.planet-row:hover{background:var(--chart-active)}.inspector-note a{color:var(--chart-accent)}.inspector .motion-badge{background:var(--chart-active);color:var(--chart-accent)}.inspector .motion-badge.retrograde{color:var(--warning);background:var(--chart-panel)}
.planet-art,.observatory .planet-art,.table-shell .planet-art{filter:none!important;object-fit:contain;display:inline-block;flex-shrink:0;vertical-align:middle}.planet-row .symbol{width:38px;height:38px;margin-right:2px}.planet-row .planet-art{width:44px;height:44px;margin:-3px}.planet-row{min-height:46px}.table-symbol{display:inline-flex;width:36px;margin-right:6px;vertical-align:middle}.table-symbol .planet-art{width:40px;height:40px;margin:-2px}.planet-symbol .planet-art{width:82px;height:82px;margin:-9px}.planet-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 64px}.lens-detail-button{border:1px solid var(--chart-line);background:var(--chart-active);color:var(--chart-accent);border-radius:12px;width:100%;padding:11px 14px;text-align:left;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;margin:18px 0}.lens-detail-button:hover{background:var(--chart-panel)}
.map-help{color:var(--chart-muted);text-align:center;font-size:11px;line-height:1.6;margin:0 0 18px}.map-help strong{color:var(--chart-text);font-weight:500}
.placement-dialog{padding:0;width:min(680px,calc(100vw - 32px));max-height:min(90dvh,960px);overflow:auto;border:1px solid var(--line-soft);border-radius:30px;background:var(--surface);color:var(--text);box-shadow:0 35px 120px #0005;overscroll-behavior:contain}.placement-dialog::backdrop{background:#03081180;backdrop-filter:blur(10px)}.placement-dialog[open]{animation:placement-arrive .3s cubic-bezier(.22,1,.36,1)}.placement-dialog-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;background:var(--nav);backdrop-filter:blur(16px);padding:15px 24px;border-bottom:1px solid var(--line-soft)}.placement-dialog-header>span{color:var(--muted);font-size:10px;letter-spacing:1.3px;font-weight:600}.placement-dialog-header .icon-button{background:var(--surface-soft);color:var(--text);font-size:24px;font-weight:300;width:34px;height:34px;border-radius:50%}.placement-content{padding:26px 32px 32px}.placement-identity{display:flex;align-items:center;gap:12px;margin-bottom:18px}.placement-identity .planet-art{width:98px;height:98px;margin-left:-13px}.placement-identity .eyebrow{font-size:10px;color:var(--link)}.placement-identity h2{font-size:38px;font-weight:600;letter-spacing:-1.5px;line-height:1.1;margin:7px 0}.placement-identity p{font-size:13px;color:var(--muted);margin:0}.placement-summary{font-size:20px;line-height:1.5;letter-spacing:-.4px;margin:16px 0 24px}.placement-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;background:var(--line-soft);margin:0 0 24px}.placement-facts>div{background:var(--surface-soft);padding:14px}.placement-facts dt{font-size:10px;color:var(--muted);margin-bottom:5px}.placement-facts dd{margin:0;font-size:12px;font-weight:500;overflow-wrap:anywhere}.placement-content h3{font-size:17px;font-weight:600;letter-spacing:-.3px;margin:25px 0 8px}.placement-content section>p{font-size:14px;color:var(--secondary);line-height:1.75;margin:0}.placement-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.placement-pair>section{background:var(--surface-soft);padding:19px;border-radius:16px}.placement-pair h3{font-size:13px;margin:0 0 9px}.placement-pair p{font-size:13px!important}.placement-reflection{border-left:3px solid var(--blue);padding:2px 0 2px 20px;margin:25px 0}.placement-reflection h3{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--link);margin:0 0 8px}.placement-reflection p{font-size:18px!important;color:var(--text)!important;line-height:1.5!important}.placement-context{color:var(--muted);font-size:11px;line-height:1.7;margin:20px 0 0}.placement-context a{color:var(--link)}.placement-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line-soft);padding-top:20px;margin-top:22px}.placement-actions .outline-button,.placement-actions .light-button{font-size:12px;min-height:40px;padding:9px 16px}.placement-source{font-size:11px;color:var(--muted);line-height:1.6;margin:0}
@keyframes placement-arrive{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:1000px){.topbar{gap:14px}.topbar .nav-tabs{gap:18px}.theme-toggle>span{display:none}.theme-toggle{padding:8px;min-width:36px}.header-actions{gap:8px}}
@media(max-width:780px){.header-actions{grid-column:2;grid-row:1}.topbar .nav-tabs{grid-column:1/-1}.observatory .inspector{background:var(--chart-panel)}.planet-symbol .planet-art{width:70px;height:70px}.placement-dialog{border-radius:24px}.placement-content{padding:22px}.placement-identity h2{font-size:31px}.placement-identity .planet-art{width:82px;height:82px}.placement-summary{font-size:18px}.placement-dialog-header{padding:13px 20px}.placement-facts>div{padding:12px 10px}.placement-facts dd{font-size:11px}.placement-pair{grid-template-columns:1fr}.placement-actions{flex-wrap:wrap}.placement-actions .light-button{margin-left:auto}.map-help{font-size:10px}}
@media(max-width:380px){.topbar .brand{font-size:14px;gap:5px}.header-actions{gap:5px}.profile-button,.header-cta{font-size:10px;padding:7px 10px}.placement-facts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.placement-dialog[open]{animation:none}}
@media print{.theme-toggle,.placement-dialog{display:none!important}:root[data-theme=dark]{--page:#fff;--surface:#fff;--surface-soft:#f5f5f7;--text:#1d1d1f;--secondary:#454549;--muted:#6e6e73;--line:#d2d2d7;--line-soft:#e2e2e7;--link:#0066cc;--icon-filter:none}}

.light-button:hover{color:#fff}.chapter-group a[aria-current] .lesson-index{color:#fff}#toast{color:#f5f5f7;background:#1d1d1ff2}.observatory .switch-line input:checked+.switch{background:var(--blue)}

.big-three .planet-art{display:block;width:55px;height:55px;margin:0 auto 5px}.trio-rising{display:grid!important;place-items:center;width:55px;height:55px;margin:0 auto 5px;font-size:27px!important;color:var(--link)!important}

/* Explicit device-storage choice on both profile forms. */
.settings-sheet .storage-choice,.feature-card .storage-choice{display:flex;align-items:flex-start;gap:10px;margin:22px 0 10px;font-size:13px;color:var(--text)}
.storage-choice input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:var(--blue)}
.storage-choice span{line-height:1.5}
