:root{color-scheme:dark;--panel-bg: rgba(9, 14, 26, .72);--panel-border: rgba(120, 160, 220, .22);--text: #e8eefb;--text-dim: #9bb0d0;--accent: #7fc4ff;--focus-ring: #ffd479}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#03050c;color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans KR,sans-serif;overflow:hidden}#viewport{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:grab}#viewport:active{cursor:grabbing}#globe-layer{position:fixed;inset:0;pointer-events:none;opacity:1}.surface-transition{position:fixed;inset:0;z-index:80;display:grid;place-items:center;overflow:hidden;opacity:0;pointer-events:none;cursor:progress;background:#160b0a;transition:opacity .72s cubic-bezier(.22,.78,.23,1)}.surface-transition[data-active=true]{opacity:1;pointer-events:auto}.surface-transition__veil{position:absolute;inset:-18%;background:radial-gradient(circle at 50% 46%,rgba(244,166,112,.36),transparent 20%),radial-gradient(circle at 50% 50%,rgba(172,72,43,.5),transparent 55%),linear-gradient(145deg,#321411,#160b0a 68%);transform:scale(1.08);transition:transform .9s cubic-bezier(.22,.78,.23,1)}.surface-transition[data-active=true] .surface-transition__veil{transform:scale(1)}.surface-transition__copy{position:relative;display:grid;gap:7px;width:min(360px,calc(100vw - 40px));padding:22px 24px 23px;border:1px solid rgba(255,203,167,.28);border-radius:16px;background:#2e120e8f;box-shadow:0 20px 70px #0000005c,0 0 60px #cb5a362e;color:#fff0e9;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translateY(14px) scale(.97);transition:transform .62s cubic-bezier(.22,.78,.23,1)}.surface-transition[data-active=true] .surface-transition__copy{transform:translateY(0) scale(1)}.surface-transition__eyebrow{color:#e8a080;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.surface-transition__copy strong{font-size:clamp(18px,4vw,24px);font-weight:650;letter-spacing:-.03em}.surface-transition__copy>span:last-child{color:#ffebe0b8;font-size:12px}@media(prefers-reduced-motion:reduce){.surface-transition,.surface-transition__veil,.surface-transition__copy{transition-duration:1ms}}.globe-host{position:absolute;inset:0;transition:opacity .12s linear}.globe-host canvas{width:100%;height:100%;display:block}.globe-host .cesium-viewer-toolbar,.globe-host .cesium-viewer-animationContainer,.globe-host .cesium-viewer-timelineContainer,.globe-host .cesium-viewer-fullscreenContainer{display:none}.globe-host .cesium-widget-credits{font-size:11px;color:var(--text-dim)}.globe-host .cesium-widget-credits{position:absolute;right:8px;bottom:6px;left:auto;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.8)}.hud{position:fixed;inset:0;display:grid;grid-template-columns:minmax(220px,260px) 1fr;grid-template-rows:repeat(6,auto);gap:12px;padding:16px;pointer-events:none}.hud__header{grid-column:1 / -1}.hud__hint{margin:4px 0 0;font-size:12px;color:var(--text-dim)}.hud__header h1{margin:0;font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.panel{grid-column:1;align-self:start;pointer-events:auto;padding:12px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:260px}.panel h2{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.body-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:42vh;overflow-y:auto}.body-list__button{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.body-list__button:hover{background:#78aaeb24}.body-list__button[aria-current=true]{border-color:#7fc4ff8c;background:#7fc4ff2e}.body-list__button--moon{padding-left:22px;font-size:13px;color:var(--text-dim)}.swatch{width:10px;height:10px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 6px currentColor}.body-list__ko{margin-left:auto;font-size:11px;color:var(--text-dim)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.btn{padding:5px 10px;border:1px solid var(--panel-border);border-radius:6px;background:#7fc4ff1f;color:var(--text);font:inherit;cursor:pointer}.btn:hover{background:#7fc4ff38}.slider{width:100%;accent-color:var(--accent)}.value{font-variant-numeric:tabular-nums;font-size:12px}.value--dim{display:block;margin-top:6px;color:var(--text-dim)}.readout{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:12px}.readout dt{color:var(--text-dim)}.readout dd{margin:0;font-variant-numeric:tabular-nums}.notice{position:fixed;left:50%;bottom:22px;transform:translate(-50%);padding:8px 14px;border:1px solid var(--panel-border);border-radius:999px;background:var(--panel-bg);color:var(--text);font-size:12px;opacity:0;transition:opacity .22s ease;pointer-events:none}.notice[data-visible=true]{opacity:1}.black-hole-infall{--infall-opacity: .35;--infall-scale: 1;position:fixed;inset:0;z-index:4;pointer-events:none;color:#f3eaff;opacity:var(--infall-opacity)}.black-hole-infall__vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 25%,rgba(70,24,120,.08) 48%,rgba(11,2,28,.82) 100%),repeating-radial-gradient(ellipse at center,transparent 0 9%,rgba(161,113,255,.08) 10%,transparent 13%);animation:black-hole-infall-pulse .46s ease-in-out infinite alternate}.black-hole-infall__readout{position:absolute;top:16px;left:50%;display:grid;gap:2px;min-width:180px;padding:8px 12px;border:1px solid rgba(201,160,255,.42);border-radius:9px;background:#190830b8;box-shadow:0 0 28px #874cff4d;transform:translate(-50%);text-align:center;font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.black-hole-infall__readout strong{color:#d6baff;letter-spacing:.16em;text-transform:uppercase}.black-hole-infall__readout span:not(.black-hole-infall__bar){color:#f4eaff}.black-hole-infall__bar{display:block;height:3px;margin-top:4px;overflow:hidden;border-radius:999px;background:#dec1ff33}.black-hole-infall__bar span{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,#7651ff,#e0b5ff);transition:transform .1s linear}@keyframes black-hole-infall-pulse{0%{transform:scale(1);opacity:.72}to{transform:scale(var(--infall-scale));opacity:1}}@media(prefers-reduced-motion:reduce){.black-hole-infall__vignette{animation:none}}.globe-loading{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--panel-border);border-radius:999px;background:var(--panel-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);font-size:13px;pointer-events:none}.globe-loading__spinner{width:13px;height:13px;border:2px solid rgba(127,196,255,.28);border-top-color:var(--accent);border-radius:50%;animation:globe-loading-spin .72s linear infinite}@keyframes globe-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.globe-loading__spinner{animation:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.hud--compact{display:flex;flex-direction:column;justify-content:flex-end;padding:0;gap:0}.compact-bar{order:2;display:flex;align-items:center;gap:10px;pointer-events:auto;padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));border-top:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.compact-bar__readout{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.25}.compact-bar__target{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-bar__altitude{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.compact-bar__button{flex:0 0 auto;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--panel-border);border-radius:8px;background:#7fc4ff1f;color:var(--text);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.compact-bar__button--icon{padding:0;font-size:12px}.compact-bar__button:hover{background:#7fc4ff38}.hud-sheet{order:1;pointer-events:auto;display:grid;gap:8px;padding:12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));max-height:62vh;overflow-y:auto;border-top:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.hud-sheet[hidden]{display:none}.hud--compact .panel{grid-column:auto;max-width:none;padding:4px 0;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hud--compact .panel+.panel{border-top:1px solid var(--panel-border);padding-top:10px}.hud--compact .body-list{max-height:none}@media(max-height:520px){.hud-sheet{max-height:46vh;grid-template-columns:1fr 1fr;align-items:start}.hud--compact .panel+.panel{border-top:0;padding-top:4px}.hud--compact .body-list{grid-template-columns:1fr 1fr}.hud--compact .readout{grid-template-columns:auto 1fr auto 1fr}}@media(hover:none)and (pointer:coarse){.body-list__button{min-height:44px;padding:8px 10px}.btn{min-height:44px;padding:8px 14px}.slider{-webkit-appearance:none;appearance:none;height:44px;background:transparent}.slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#7fc4ff40}.slider::-moz-range-track{height:4px;border-radius:2px;background:#7fc4ff40}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-9px;border:0;border-radius:50%;background:var(--accent)}.slider::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:var(--accent)}}.button{display:block;width:100%;padding:.55rem .8rem;font:inherit;color:var(--text, #dfe8ff);background:#5082dc29;border:1px solid var(--panel-border);border-radius:6px;cursor:pointer}.button:hover{background:#5082dc4d}.button[aria-pressed=true]{background:#6ebeff59;border-color:#96d2ff8c}.ship-bar{display:inline-block;width:9rem;height:.55rem;border-radius:3px;background:#8caadc2e;overflow:hidden;vertical-align:middle}.ship-bar__fill{display:block;height:100%;background:linear-gradient(90deg,#4da3ff,#9ad4ff);transition:width .12s linear}.panel__hint{margin:.55rem 0 0;font-size:.78rem;line-height:1.45;opacity:.75}.ship-touch{position:fixed;inset:auto 0 0;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));pointer-events:none;z-index:30}@media(max-width:720px),(max-height:520px){.ship-touch{bottom:calc(64px + env(safe-area-inset-bottom))}}.ship-touch__stick{pointer-events:auto;width:104px;height:104px;border-radius:50%;border:1px solid var(--panel-border);background:#090e1a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;position:relative;display:grid;place-items:center}.ship-touch__knob{width:36px;height:36px;border-radius:50%;background:#96d2ff8c;border:1px solid rgba(180,225,255,.85);box-shadow:0 0 12px #6ebeff59;pointer-events:none}.ship-touch__thrust{display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}.ship-touch__lane{pointer-events:auto;width:48px;height:140px;border-radius:24px;border:1px solid var(--panel-border);background:#090e1a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;position:relative}.ship-touch__lane-centre{position:absolute;left:8px;right:8px;top:50%;height:1px;background:#96d2ff66}.ship-touch__lane-thumb{position:absolute;left:50%;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;transform:translate(-50%);background:#96d2ffa6;border:1px solid rgba(180,225,255,.9);box-shadow:0 0 10px #6ebeff66;pointer-events:none}.ship-touch__button{pointer-events:auto;width:44px;height:44px;font-size:18px;border-radius:50%;font-family:inherit;color:var(--text, #dfe8ff);border:1px solid var(--panel-border);background:#090e1a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;cursor:pointer}.ship-touch__button.is-held{background:#6ebeff66;border-color:#96d2ffcc}.intro-veil{position:fixed;inset:0;z-index:90;overflow:hidden;background:#03050c;opacity:1;transition:opacity 2.6s cubic-bezier(.45,.05,.55,.95),visibility 0s linear 2.6s;pointer-events:none}.intro-veil[data-state=revealing]{opacity:0;visibility:hidden}.intro-veil[data-state=done]{display:none}.intro-veil__void{position:absolute;inset:0;background:radial-gradient(circle at 46% 44%,rgba(24,30,66,.55),transparent 58%),radial-gradient(circle at 62% 68%,rgba(12,20,44,.5),transparent 62%),#03050c}.intro-veil__spark{position:absolute;left:50%;top:50%;width:34vmin;height:34vmin;margin:-17vmin 0 0 -17vmin;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(186,214,255,.5) 22%,rgba(122,116,236,.22) 44%,transparent 70%);opacity:0;transform:scale(.04);will-change:transform,opacity;animation:intro-spark-ignite 1.5s cubic-bezier(.16,.9,.2,1) forwards,intro-spark-pulse 7.3s ease-in-out 1.5s infinite}@keyframes intro-spark-ignite{0%{opacity:0;transform:scale(.04)}38%{opacity:1;transform:scale(1.22)}to{opacity:.82;transform:scale(1)}}@keyframes intro-spark-pulse{0%,to{opacity:.72;transform:scale(.96)}50%{opacity:.92;transform:scale(1.07)}}.intro-veil__bloom{position:absolute;left:50%;top:50%;width:78vmax;height:78vmax;margin:-39vmax 0 0 -39vmax;opacity:0;transform:scale(.16);will-change:transform,opacity;animation:intro-bloom-unfurl 3.4s cubic-bezier(.2,.72,.24,1) forwards}.intro-veil__cloud{position:absolute;inset:0;border-radius:58% 42% 47% 53%/46% 55% 45% 54%;filter:blur(58px);mix-blend-mode:screen;will-change:transform}@keyframes intro-bloom-unfurl{0%{opacity:0;transform:scale(.16) rotate(0)}45%{opacity:.78}to{opacity:.82;transform:scale(1) rotate(14deg)}}.intro-veil__bloom--a{animation-delay:.38s}.intro-veil__bloom--a .intro-veil__cloud{background:radial-gradient(closest-side,rgba(140,116,255,.72),rgba(88,72,208,.34) 52%,transparent 76%);animation:intro-cloud-churn-a 29s linear .38s infinite}.intro-veil__bloom--b{width:64vmax;height:64vmax;margin:-32vmax 0 0 -32vmax;animation-delay:.98s}.intro-veil__bloom--b .intro-veil__cloud{border-radius:44% 56% 52% 48%/57% 43% 56% 44%;background:radial-gradient(closest-side,rgba(74,208,234,.6),rgba(40,128,182,.3) 54%,transparent 78%);animation:intro-cloud-churn-b 37s linear .98s infinite}.intro-veil__bloom--c{width:52vmax;height:52vmax;margin:-26vmax 0 0 -26vmax;animation-delay:1.56s}.intro-veil__bloom--c .intro-veil__cloud{border-radius:52% 48% 40% 60%/44% 52% 48% 56%;background:radial-gradient(closest-side,rgba(232,116,206,.56),rgba(148,64,184,.28) 50%,transparent 74%);animation:intro-cloud-churn-c 23s linear 1.56s infinite}@keyframes intro-cloud-churn-a{0%{transform:translate3d(-9%,-6%,0) rotate(0) scaleZ(1)}50%{transform:translate3d(-4%,-11%,0) rotate(180deg) scale3d(1.16,.88,1)}to{transform:translate3d(-9%,-6%,0) rotate(360deg) scaleZ(1)}}@keyframes intro-cloud-churn-b{0%{transform:translate3d(13%,8%,0) rotate(0) scale3d(.94,1.12,1)}50%{transform:translate3d(8%,14%,0) rotate(-180deg) scale3d(1.18,.9,1)}to{transform:translate3d(13%,8%,0) rotate(-360deg) scale3d(.94,1.12,1)}}@keyframes intro-cloud-churn-c{0%{transform:translate3d(-6%,15%,0) rotate(0) scale3d(1.1,.92,1)}50%{transform:translate3d(2%,9%,0) rotate(200deg) scale3d(.9,1.14,1)}to{transform:translate3d(-6%,15%,0) rotate(400deg) scale3d(1.1,.92,1)}}.intro-veil__dust{position:absolute;inset:-10%;background-image:radial-gradient(circle,rgba(255,255,255,.5) .6px,transparent .9px),radial-gradient(circle,rgba(190,214,255,.35) .5px,transparent .8px),radial-gradient(circle,rgba(226,200,255,.28) .6px,transparent .9px);background-size:137px 121px,89px 167px,211px 193px;background-position:0 0,43px 61px,97px 23px;opacity:0;transform:scale(1);will-change:transform,opacity;animation:intro-dust-settle 2.6s ease-out 1.7s forwards,intro-dust-drift 46s linear 1.7s infinite alternate}@keyframes intro-dust-settle{0%{opacity:0}to{opacity:.62}}@keyframes intro-dust-drift{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.06) translate3d(-1.5%,1%,0)}}.intro-veil[data-state=revealing] .intro-veil__bloom{animation:none;transform:scale(1.55) rotate(20deg);opacity:0;transition:transform 2.6s cubic-bezier(.3,.68,.22,1),opacity 2.1s cubic-bezier(.4,.62,.3,1)}.intro-veil[data-state=revealing] .intro-veil__spark{animation:none;transform:scale(2.4);opacity:0;transition:transform 1.7s cubic-bezier(.22,.8,.24,1),opacity 1.3s ease-out}.intro-veil[data-state=revealing] .intro-veil__dust{animation:none;transform:scale(1.12);opacity:0;transition:transform 2.6s cubic-bezier(.3,.7,.2,1),opacity 2.6s cubic-bezier(.5,.5,.4,1)}.intro-veil[data-state=revealing] .intro-veil__void{opacity:0;transition:opacity 2.4s cubic-bezier(.45,.05,.55,.95)}@media(max-width:720px),(max-height:520px){.intro-veil__cloud{filter:blur(38px)}.intro-veil__dust{background-size:168px 149px,113px 197px,241px 223px}}@media(prefers-reduced-motion:reduce){.intro-veil__spark,.intro-veil__bloom,.intro-veil__dust,.intro-veil__bloom--a .intro-veil__cloud,.intro-veil__bloom--b .intro-veil__cloud,.intro-veil__bloom--c .intro-veil__cloud{animation:none}.intro-veil__spark{opacity:.7;transform:scale(1)}.intro-veil__bloom{opacity:.6;transform:scale(1)}.intro-veil__dust{opacity:.5}.intro-veil[data-state=revealing] .intro-veil__spark,.intro-veil[data-state=revealing] .intro-veil__bloom,.intro-veil[data-state=revealing] .intro-veil__dust,.intro-veil[data-state=revealing] .intro-veil__void{transform:none;transition-duration:1ms}}.globe-host{transition:none}
