/* The approved lake/city scene, with a steady veil for long-form reading. */
body.subpage-stellar {
    --stellar-surface: #0b1015;
    --stellar-rgb: 11, 16, 21;
    --stellar-picture: url('../imgs/stellar/night.webp');
    --stellar-veil: .62;
    --text-primary: #f4f6f7;
    --text-secondary: #b8c3cc;
    --stellar-chrome: rgba(11, 16, 21, .94);
    background: var(--stellar-surface);
    color: var(--text-primary);
    -webkit-text-size-adjust: 100%;
}
:root[data-theme="light"] body.subpage-stellar {
    --stellar-surface: #f3f7f8;
    --stellar-rgb: 243, 247, 248;
    --stellar-picture: url('../imgs/stellar/day.webp');
    --stellar-veil: .78;
    --text-primary: #182d3a;
    --text-secondary: #465d6a;
    --stellar-chrome: rgba(243, 247, 248, .94);
    --bg-card: rgba(255, 255, 255, .6);
    --border-color: rgba(24, 45, 58, .18);
    --border-strong: rgba(24, 45, 58, .28);
    --text-tertiary: #526777;
    background: var(--stellar-surface);
}
.subpage-stellar .stellar-scene { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.subpage-stellar .stellar-world, .subpage-stellar .stellar-panorama, .subpage-stellar .stellar-stars { position: absolute; inset: 0; }
.subpage-stellar .stellar-panorama { background: var(--stellar-picture) center / cover no-repeat; }
.subpage-stellar .stellar-stars canvas { display: block; width: 100%; height: 100%; }
.subpage-stellar .stellar-scene:not(.has-landscape) .stellar-stars, .subpage-stellar .stellar-stars.is-lost { visibility: hidden; }
.subpage-stellar .stellar-veil { position: absolute; inset: 0; background: var(--stellar-surface); opacity: var(--stellar-veil); }
.subpage-stellar:not(.is-motion-limited) .stellar-scene.has-landscape .stellar-veil { visibility: hidden; }
.subpage-stellar.is-motion-limited .stellar-stars, .subpage-stellar.has-project-film .stellar-scene { display: none; }
body.subpage-stellar:not(.has-project-film)::before { content: ''; position: fixed; inset: 0 0 auto; height: 88px; z-index: 3; pointer-events: none; background: linear-gradient(var(--stellar-chrome) 75%, transparent); }
.subpage-stellar .subpage-tools { display: flex; align-items: center; gap: 8px; }
.subpage-stellar .subpage-tools :is(.theme-btn, .motion-btn, .lang-btn) { min-width: 44px; height: 44px; border: 1px solid var(--glass-border); border-radius: 50%; color: var(--text-primary); background: var(--stellar-chrome); font-family: var(--font-sans); touch-action: manipulation; }
.subpage-stellar .subpage-tools :is(.theme-btn, .motion-btn) { display: grid; place-items: center; padding: 0; cursor: pointer; }
.subpage-stellar .subpage-tools .lang-btn { padding: 8px 14px; border-radius: 24px; font-size: 14px; }
.subpage-stellar .subpage-tools :is(#currentFlag, .lang-btn > span:last-child) { display: none; }
.subpage-stellar .subpage-tools .lang-dropdown { background: var(--stellar-chrome); }
.subpage-stellar .subpage-tools .lang-option { min-height: 44px; }
.subpage-stellar .motion-btn i, .subpage-stellar .subpage-theme-icon { width: 18px; height: 18px; background: currentColor; mask: url('../imgs/icons/lucide/pause.svg') center / contain no-repeat; }
.subpage-stellar .motion-btn[aria-pressed="true"] i { mask-image: url('../imgs/icons/lucide/play.svg'); }
.subpage-stellar .subpage-theme-icon { mask-image: url('../imgs/icons/lucide/sun-moon.svg'); }
.subpage-stellar .motion-btn:disabled { opacity: .45; cursor: default; }
.subpage-stellar .back-button { top: 24px; min-height: 44px; display: inline-flex; align-items: center; padding: 10px 14px; border-radius: 22px; color: var(--text-primary); background: var(--stellar-chrome); letter-spacing: 0; }
.subpage-stellar :is(.container, .notes-wrap, .doc) { min-width: 0; overflow-wrap: anywhere; }
.subpage-stellar :is(.daily-list li, .note-body, .doc p, .doc li) { font-size: 16px; font-weight: 400; }
.subpage-stellar .daily-list li { border-color: var(--glass-border); }
.subpage-stellar :is(.daily-date, .dl-title, .notes-head h1, .doc h1, .proj-name, .nf-code) { background: none; color: var(--text-primary); -webkit-text-fill-color: currentColor; }
.subpage-stellar .nf-wrap { min-height: 100svh; padding: 110px 24px 60px; }
body.subpage-stellar:has(.nf-wrap) { overflow-y: auto; }
@media (max-width: 700px) {
    body.subpage-stellar:not(.has-project-film)::before { height: 80px; }
    .subpage-stellar .subpage-tools { top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); }
    .subpage-stellar .back-button { top: max(16px, env(safe-area-inset-top)); left: max(16px, env(safe-area-inset-left)); max-width: calc(100vw - 210px); font-size: 13px; }
    .subpage-stellar :is(.container, .notes-wrap, .doc) { padding-top: calc(100px + env(safe-area-inset-top)); padding-bottom: max(60px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
    .subpage-stellar :is(.daily-hero, .daily-list li, .dl-header, .dl-group) { animation: none; opacity: 1; transform: none; }
}
