/* Hidden celestial archive: a full-screen easter egg, not a fourth homepage section. */
body.lore-open{overflow:hidden;overscroll-behavior:none}
.lore-trigger{border:0;padding:0;background:transparent;line-height:1;min-width:44px;min-height:44px;transition:transform .28s ease,text-shadow .28s ease}
.lore-trigger:hover{transform:rotate(12deg) scale(1.08);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 55%,transparent)}
.lore-trigger:focus-visible{border-radius:50%;outline-offset:2px}
.lore-section{position:fixed;inset:0;z-index:90;max-width:none;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;background:#03050d;color:#f6f0fb;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s}
.lore-section.is-open,.lore-section:target{opacity:1;visibility:visible;pointer-events:auto}
.lore-section:has(.lore-story:target){opacity:1;visibility:visible;pointer-events:auto}
.lore-section:not(.lore-enhanced):has(.lore-story:target) .lore-story:not(:target){display:none}
.lore-accessible-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lore-observatory{position:absolute;inset:0;overflow:hidden;background:#03050d}
.lore-viewport{position:absolute;inset:0;height:100%;isolation:isolate;background:radial-gradient(ellipse at 44% 44%,#101426 0,#080b17 46%,#03050d 100%);color:#f4eaf8}
#loreCanvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
#loreCanvas.is-dragging{cursor:grabbing}
#loreCanvas:focus-visible{outline:2px solid #e8d7ee;outline-offset:-4px}
.lore-chrome{transition:opacity .7s ease,transform .7s ease}
.lore-section.is-idle .lore-chrome{opacity:0;pointer-events:none}
.lore-scene-caption{position:absolute;z-index:5;inset:max(22px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) auto max(24px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none;font-size:9px;font-weight:700;letter-spacing:2.2px;color:#cfc5da}
.lore-section.is-idle .lore-scene-caption{transform:translateY(-8px)}
.lore-top-controls{display:flex;gap:7px;pointer-events:auto}
.lore-top-controls button,.lore-top-controls a,.lore-camera-controls button,.lore-story-close{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #ffffff25;border-radius:16px;padding:9px 13px;background:#16192ca6;color:#f3ebf8;box-shadow:inset 0 1px #ffffff12;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);font-size:10px;font-weight:650;letter-spacing:.2px}
.lore-top-controls button:hover,.lore-top-controls a:hover,.lore-camera-controls button:hover,.lore-story-close:hover{background:#3d344fbd;border-color:#ffffff4a}
.lore-top-controls button[aria-pressed="true"]{background:#5c496ba8;border-color:#efd8f27a}
#loreClose{width:44px;padding:0;font-size:17px}
.lore-labels{position:absolute;z-index:4;inset:0;pointer-events:none;overflow:hidden}
.lore-label{position:absolute;left:0;top:0;min-height:36px;padding:7px 11px;border:1px solid #ffffff22;border-radius:999px;background:#1215259c;color:#f4edf8;text-shadow:0 1px 6px #050610;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:9px;font-weight:650;letter-spacing:.45px;pointer-events:auto;white-space:nowrap;will-change:transform}
.lore-label::after{content:'';position:absolute;inset:-5px -4px;border-radius:inherit}
.lore-label:hover,.lore-label[aria-pressed="true"]{background:#4a3c5bc2;border-color:#f1d8f370;color:white}
.lore-scene-bottom{position:absolute;z-index:5;inset:auto max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));display:flex;align-items:end;justify-content:space-between;gap:18px;pointer-events:none}
.lore-section.is-idle .lore-scene-bottom{transform:translateY(8px)}
.lore-scene-bottom p{font-size:10px;line-height:1.75;color:#ded3e8;text-shadow:0 1px 7px #050610}
.lore-scene-bottom p span{font-size:9px;color:#a99fb8}
.lore-camera-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:end;pointer-events:auto}
.lore-library{position:absolute;z-index:6;left:max(24px,env(safe-area-inset-left));bottom:max(82px,calc(env(safe-area-inset-bottom) + 74px));width:min(420px,calc(100vw - 48px));max-height:min(62vh,550px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#ffffff32 transparent;-webkit-overflow-scrolling:touch;padding:25px 24px 22px;border:1px solid #ffffff24;border-radius:28px;background:linear-gradient(145deg,#1b1830df,#101426d8);box-shadow:0 30px 80px #01030d70,inset 0 1px #ffffff12;backdrop-filter:blur(28px) saturate(120%);-webkit-backdrop-filter:blur(28px) saturate(120%)}
.lore-enhanced .lore-library{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.985);transition:opacity .28s ease,transform .28s ease,visibility .28s}
.lore-enhanced .lore-library.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.lore-story-close{position:absolute;right:13px;top:13px;width:44px;min-height:44px;padding:0;border-radius:50%;font-size:14px}
.lore-index{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:18px;padding-right:46px;overscroll-behavior:contain}
.lore-index a{display:inline-flex;align-items:center;min-height:44px;padding:7px 11px;border:1px solid #ffffff14;border-radius:999px;color:#dcd2e6b8;font-size:9px;font-weight:600}
.lore-index a:hover,.lore-index a[aria-current="true"]{color:#fff;background:#69517670;border-color:#ead5ef48}
.lore-story+.lore-story{margin-top:25px}
.lore-enhanced .lore-story{margin:0}
.lore-number{margin-bottom:8px;color:#cfc1d49c;font-size:8px;font-weight:700;letter-spacing:1.6px}
.lore-story h3{font-family:'Baloo 2',sans-serif;font-size:34px;font-weight:550;line-height:1.08;letter-spacing:-.8px;color:#fff9ff}
.lore-epithet{margin:1px 0 11px;font-family:'Caveat',cursive;font-size:23px;color:#e7c8e6}
.lore-description{max-width:38ch;color:#e9dfefc9;font-size:12px;line-height:1.85}
.lore-footnote{display:none}
@media(max-width:700px){
 .lore-scene-caption{inset:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) auto max(14px,env(safe-area-inset-left));font-size:7px;letter-spacing:1.4px}
 .lore-top-controls{gap:5px}.lore-top-controls button{padding:8px 10px;font-size:9px}
 .lore-label{min-height:32px;padding:5px 8px;font-size:8px}
 .lore-label::after{inset:-6px -5px}
 .lore-scene-bottom{inset:auto max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));display:block}
 .lore-scene-bottom p{margin-bottom:8px;font-size:9px}.lore-scene-bottom p span{display:none}
 .lore-camera-controls{justify-content:start}.lore-camera-controls button{min-height:44px;padding:8px 11px;font-size:9px}#loreMotion{display:none}
 .lore-library{left:max(14px,calc(env(safe-area-inset-left) + 10px));right:max(14px,calc(env(safe-area-inset-right) + 10px));bottom:max(84px,calc(env(safe-area-inset-bottom) + 80px));width:auto;max-height:48vh;padding:21px 19px 18px;border-radius:24px}
 .lore-index{max-height:100px;overflow:auto}.lore-story h3{font-size:29px}.lore-epithet{font-size:21px}.lore-description{font-size:11px;line-height:1.78}
}
@media(prefers-reduced-motion:reduce){.lore-section,.lore-chrome,.lore-library,.lore-trigger{transition:none}.lore-trigger:hover,.lore-section.is-idle .lore-scene-caption,.lore-section.is-idle .lore-scene-bottom,.lore-enhanced .lore-library{transform:none}}
@media(prefers-reduced-transparency:reduce){.lore-top-controls button,.lore-top-controls a,.lore-camera-controls button,.lore-story-close,.lore-library,.lore-label{background:#111424;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){.lore-top-controls button,.lore-top-controls a,.lore-camera-controls button,.lore-library,.lore-label{background:#111424;border-color:#e9dff0}.lore-description,.lore-scene-bottom p{color:#f5eef9}}
@media(forced-colors:active){.lore-section,.lore-observatory,.lore-viewport{background:Canvas;color:CanvasText}.lore-top-controls button,.lore-top-controls a,.lore-camera-controls button,.lore-library,.lore-label,.lore-story-close{border:1px solid CanvasText;background:Canvas;color:CanvasText;backdrop-filter:none;-webkit-backdrop-filter:none}}
