:root{--aes-safe-top:calc(max(env(safe-area-inset-top, 0px), var(--aes-tg-safe-top, 0px)) + var(--aes-tg-content-top, 0px));--aes-safe-bottom:calc(max(env(safe-area-inset-bottom, 0px), var(--aes-tg-safe-bottom, 0px)) + var(--aes-tg-content-bottom, 0px));--aes-safe-left:calc(max(env(safe-area-inset-left, 0px), var(--aes-tg-safe-left, 0px)) + var(--aes-tg-content-left, 0px));--aes-safe-right:calc(max(env(safe-area-inset-right, 0px), var(--aes-tg-safe-right, 0px)) + var(--aes-tg-content-right, 0px))}
:root{color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#070b10;color:#f4ead8}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden}
body{padding-left:var(--aes-safe-left);padding-right:var(--aes-safe-right)}
button{font:inherit}
button:focus-visible{outline:2px solid #e8c487;outline-offset:3px}
.app{position:relative;width:min(100%,520px);height:var(--aes-viewport-height, 100dvh);min-height:0;margin:0 auto;background:#070b10;overflow:hidden;box-shadow:0 0 90px #000}
.topbar{position:absolute;z-index:8;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:calc(13px + var(--aes-safe-top, env(safe-area-inset-top, 0px))) 18px 15px;background:linear-gradient(#070b10 35%,rgba(7,11,16,.94) 64%,transparent);pointer-events:none}
.identity{display:flex;flex-direction:column;gap:2px}.eyebrow{font-size:9px;letter-spacing:.18em;color:#b59e80;font-weight:700}.identity strong{font-size:16px;letter-spacing:.015em;font-weight:650}.station-state{align-self:center;display:flex;align-items:center;gap:7px;color:#c9d7d6;font-size:11px;white-space:nowrap}.status-light,.note-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8bc9bb;box-shadow:0 0 10px #62c8b0;animation:beacon 2.8s ease-in-out infinite}
.scene-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y;padding-top:calc(90px + var(--aes-safe-top));padding-bottom:calc(100px + var(--aes-safe-bottom));-webkit-overflow-scrolling:touch}.scene-scroll::-webkit-scrollbar{display:none}
.scene{position:relative;width:100%;aspect-ratio:841/1870;isolation:isolate;overflow:hidden}.scene::after{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:6%;background:linear-gradient(transparent,#070b10);pointer-events:none}.ship{position:absolute;inset:0;width:100%;height:100%;display:block}.space-effects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.asteroid{position:absolute;z-index:1;height:auto;pointer-events:none;filter:brightness(.68) drop-shadow(0 0 8px rgba(117,180,215,.55));will-change:transform;animation:asteroid-drift 14s ease-in-out infinite alternate}.asteroid-one{left:-6%;top:17%;width:18%;animation-duration:13s}.asteroid-two{right:-6%;top:43%;width:20%;animation-duration:17s;animation-direction:alternate-reverse;filter:brightness(.62) drop-shadow(0 0 9px rgba(129,177,213,.48))}.asteroid-three{left:-7%;top:72%;width:16%;animation-duration:15s;animation-delay:-6s}
.room-light{position:absolute;z-index:1;pointer-events:none;border-radius:50%;mix-blend-mode:screen;animation:breath 3.2s ease-in-out infinite}.bridge-light{left:27%;top:20%;width:46%;height:8%;background:radial-gradient(ellipse,rgba(56,188,255,.42),transparent 70%);animation-duration:2.6s}.habitat-light{left:25%;top:29%;width:50%;height:8%;background:radial-gradient(ellipse,rgba(255,178,79,.37),transparent 70%);animation-delay:-1.3s}.garden-light{left:24%;top:37%;width:52%;height:10%;background:radial-gradient(ellipse,rgba(119,237,139,.36),transparent 72%);animation-delay:-.8s}.archive-light{left:28%;top:47%;width:44%;height:9%;background:radial-gradient(ellipse,rgba(66,176,255,.47),transparent 72%);animation-delay:-2s}.bio-light{left:25%;top:65.5%;width:50%;height:10%;background:radial-gradient(ellipse,rgba(51,229,214,.4),transparent 70%);animation-duration:2.9s}
.console-glint{position:absolute;z-index:2;width:7%;height:2%;pointer-events:none;background:radial-gradient(ellipse,rgba(108,229,255,.95),rgba(55,189,246,.3) 45%,transparent 75%);filter:blur(2px);mix-blend-mode:screen;animation:screen-flicker 2.1s ease-in-out infinite}.glint-bridge{left:57%;top:23.5%}.glint-archive{left:46%;top:50.5%;width:10%;height:3%;animation-delay:-.7s}.glint-bio{left:44%;top:69.5%;height:4%;animation-delay:-1.2s;animation-duration:2.7s}
.scan{position:absolute;z-index:2;overflow:hidden;pointer-events:none;mix-blend-mode:screen}.scan::after{content:"";position:absolute;top:0;bottom:0;left:0;width:25%;background:linear-gradient(90deg,transparent,rgba(124,231,255,.52),transparent);filter:blur(4px);animation:scan-across 4.4s linear infinite}.scan-bridge{left:31%;top:22%;width:38%;height:4%}.scan-archive{left:34%;top:49%;width:33%;height:5%}.scan-archive::after{animation-delay:-1.6s}.scan-bio{left:30%;top:68%;width:40%;height:5%}.scan-bio::after{animation-delay:-3s}
.hull-beacon{position:absolute;z-index:2;width:5px;height:5px;border-radius:50%;background:#ffd193;box-shadow:0 0 9px 3px rgba(255,167,75,.75);pointer-events:none;animation:hull-blink 2.4s steps(1) infinite}.beacon-one{left:24%;top:28%}.beacon-two{left:76%;top:38%;animation-delay:-1.2s}.beacon-three{left:24%;top:56%;animation-delay:-.6s}.beacon-four{left:75%;top:67%;animation-delay:-1.8s}
.engine{position:absolute;z-index:1;top:82%;height:12%;width:13%;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,rgba(255,234,170,.93),rgba(255,153,56,.53) 29%,rgba(250,86,22,.2) 54%,transparent 78%);filter:blur(5px);mix-blend-mode:screen;transform-origin:center top;animation:thrust 1.25s ease-in-out infinite alternate}.engine-left{left:30%;animation-delay:-.4s}.engine-center{left:44%;top:85%;height:11%;animation-duration:1.05s}.engine-right{left:58%;animation-delay:-.8s}
.room{position:absolute;z-index:3;left:27%;width:46%;height:9%;border:1.5px solid transparent;border-radius:12px;background:transparent;color:transparent;cursor:pointer;touch-action:manipulation;transition:background .2s,border-color .2s,box-shadow .2s}.room span{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);min-width:82px;padding:5px 8px;border:1px solid rgba(174,215,221,.75);border-radius:4px;background:rgba(5,15,20,.91);box-shadow:0 2px 12px #000;color:#fff2db;font-size:10px;font-weight:750;letter-spacing:.075em;white-space:nowrap;opacity:1;transition:background .2s,box-shadow .2s}.room:hover span{background:rgba(18,42,51,.97);box-shadow:0 0 15px rgba(94,202,220,.5)}.room.active{border-color:rgba(178,234,241,.95);background:rgba(101,186,205,.11);box-shadow:inset 0 0 26px rgba(107,202,226,.16),0 0 24px rgba(90,195,221,.45)}.room.active span{border-color:#d4e7df;background:#18343b}.room-bridge{top:19%;height:9%}.room-habitat{top:28%;height:9%}.room-garden{top:37%;height:9.5%}.room-archive{top:46.5%;height:9%}.room-artifacts{top:55.5%;height:9.5%}.room-bio{top:65%;height:10.5%}
.dock{position:absolute;z-index:7;bottom:0;left:0;right:0;display:flex;justify-content:space-around;gap:4px;padding:12px 12px calc(11px + var(--aes-safe-bottom, env(safe-area-inset-bottom, 0px)));background:linear-gradient(transparent,rgba(7,11,16,.93) 20%,#0b1218 75%);border-top:1px solid rgba(145,177,182,.13)}.dock button{display:flex;flex:1;align-items:center;flex-direction:column;gap:3px;border:0;background:transparent;color:#c9ccc8;padding:5px 1px;cursor:pointer;font-size:11px}.dock button span{color:#8eacb2;font-size:10px;letter-spacing:.15em}.dock button.active{color:#f4d7a4}.dock button.active span{color:#e8b76e}
.sheet{position:absolute;z-index:9;bottom:calc(70px + var(--aes-safe-bottom, env(safe-area-inset-bottom, 0px)));left:12px;right:12px;max-height:min(42dvh,310px);overflow-y:auto;padding:9px 17px 17px;border:1px solid rgba(199,192,162,.35);border-radius:19px;background:linear-gradient(135deg,rgba(27,42,49,.97),rgba(12,20,27,.98));box-shadow:0 14px 45px #000b;transform:translateY(calc(100% + 90px));opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s}.sheet.open{transform:translateY(0);opacity:1;pointer-events:auto}.sheet-handle{width:35px;height:3px;margin:0 auto 13px;border-radius:4px;background:#677579}.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sheet-index{color:#d4ad77;font-size:10px;letter-spacing:.17em}.sheet h1{margin:3px 0 0;font-size:20px;font-weight:650}.close{margin:-4px -6px 0 0;padding:0 6px;border:0;background:transparent;color:#d8dedb;font-size:30px;line-height:1;cursor:pointer}.sheet p{margin:11px 0 16px;color:#c4d0ce;font-size:13px;line-height:1.45}.sheet-note{display:flex;align-items:center;gap:8px;color:#a8c8bf;font-size:11px}
@keyframes breath{0%,100%{opacity:.42;transform:scale(.9)}50%{opacity:1;transform:scale(1.13)}}@keyframes thrust{from{opacity:.52;transform:scaleY(.72)}to{opacity:1;transform:scaleY(1.3)}}@keyframes beacon{50%{opacity:.4;box-shadow:0 0 3px #62c8b0}}
@keyframes screen-flicker{0%,100%{opacity:.3;transform:scale(.8)}35%{opacity:1;transform:scale(1.35)}65%{opacity:.55;transform:scale(.95)}}
@keyframes scan-across{from{transform:translateX(-120%)}to{transform:translateX(500%)}}@keyframes hull-blink{0%,58%,100%{opacity:.15}60%,76%{opacity:1}}
@keyframes asteroid-drift{from{transform:translate3d(-6px,-7px,0) rotate(-7deg)}to{transform:translate3d(13px,10px,0) rotate(8deg)}}
@media (min-width:700px){body{background:radial-gradient(circle at center,#1a2934,#05080c 62%)}.app{border-inline:1px solid #27343a}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Stop decorative work only while this scene is not visible. */
.app[data-ambient-paused="true"] .scene *,
.app[data-ambient-paused="true"] .scene *::before,
.app[data-ambient-paused="true"] .scene *::after,
.app:not([data-view="home"]) .scene *::before,
.app:not([data-view="home"]) .scene *::after{animation-play-state:paused!important}
