:root{--sky-0:#0b1030;--sky-1:#161b4a;--sky-2:#2a2c6b;--sky-3:#4b3f7f;--paper:#f3e9d2;--paper-shade:#d9cba8;--ink:#2a2c6b;--ink-muted:#55578a;--rose:#e8708a;--amber:#f2b24a;--font:Pretendard,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--radius:14px;--shadow:0 6px 24px rgb(5 8 28/0.28);--z-sky:0;--z-label:10;--z-intro:20;--z-journey:30;--z-panel:40;--z-bar:45;--z-search:50;color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{margin:0;height:100%;overflow:hidden}body{font-family:var(--font);color:var(--paper);background:linear-gradient(180deg,var(--sky-0) 0,var(--sky-1) 45%,var(--sky-2) 80%,var(--sky-3) 100%) fixed;background-color:var(--sky-0);-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--ink-muted)}.small{font-size:13px}.sky-app{position:fixed;inset:0}.sky-canvas{position:absolute;inset:0;z-index:var(--z-sky);touch-action:none;user-select:none;-webkit-user-select:none;outline:none}.sky-canvas:focus-visible{outline:2px solid var(--amber);outline-offset:-4px}.star-label{position:absolute;top:0;left:0;z-index:var(--z-label);padding:3px 8px;border-radius:6px;background:rgb(11 16 48/.72);color:var(--paper);font-size:13px;line-height:1.3;white-space:nowrap;pointer-events:none}.paper-note{margin:0;padding:10px 16px;border:1px solid var(--paper-shade);border-radius:10px;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;box-shadow:var(--shadow)}.sky-failed{top:50%;transform:translate(-50%,-50%)}.intro-note,.sky-failed{position:absolute;left:50%;z-index:var(--z-intro);max-width:calc(100vw - 32px)}.intro-note{bottom:24px;transform:translateX(-50%);width:max-content;text-align:center;animation:fade-in .6s var(--ease-out-quart) both}.perf-overlay{bottom:8px;left:8px;padding:2px 6px;border-radius:4px;background:rgb(0 0 0/.55);color:#fff;font:12px/1.4 ui-monospace,monospace;pointer-events:none}.perf-overlay,.top-bar{position:absolute;z-index:var(--z-bar)}.top-bar{top:16px;right:16px;display:flex;align-items:center;gap:8px}.paper-button{height:40px;padding:0 14px;border:1px solid var(--paper-shade);border-radius:10px;background:var(--paper);color:var(--ink);font-size:14px;cursor:pointer;transition:background-color .15s var(--ease-out-quart)}.paper-button:hover:not(:disabled){background:#fbf3df}.paper-button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.paper-button:disabled,.paper-button[aria-disabled=true]{color:var(--ink-muted);cursor:not-allowed}.account-slot{position:relative;width:40px;height:40px}.account-slot--wide{width:auto}.avatar-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--paper-shade);border-radius:50%;background:var(--paper);color:var(--ink);font-size:16px;font-weight:700;line-height:1;cursor:pointer}.avatar-button[aria-expanded=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-search);width:max-content;min-width:200px;max-width:min(280px,calc(100vw - 32px));padding:6px;border:1px solid var(--paper-shade);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);animation:menu-in .16s var(--ease-out-quart) both}.account-name{margin:0 0 4px;padding:8px 10px 10px;border-bottom:1px solid var(--paper-shade);font-size:15px;font-weight:600;overflow-wrap:anywhere}.menu-item{display:block;width:100%;padding:10px;border:0;border-radius:8px;background:none;color:var(--ink);font-size:14px;text-align:left;cursor:pointer}.menu-item:hover:not(:disabled){background:rgb(217 203 168/.45)}.account-error{position:absolute;top:calc(100% + 8px);right:0;width:max-content;max-width:min(280px,calc(100vw - 32px));font-size:13px}.account-menu :focus-visible,.paper-panel :focus-visible,.planet-panel :focus-visible{outline-color:var(--ink)}.text-button{padding:4px 2px;border:0;background:none;color:var(--ink);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:10px;background:transparent;cursor:pointer}.search{position:relative}.search-close,.search-toggle{display:none}.search-field{position:relative}.search-field input{width:240px;height:40px;padding:0 14px;border:1px solid var(--paper-shade);border-radius:10px;background:var(--paper);color:var(--ink);font-size:15px}.search-field input::placeholder{color:var(--ink-muted)}.search-field input::-webkit-search-cancel-button{display:none}.search-results{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-search);width:100%;min-width:240px;margin:0;padding:6px;list-style:none;border:1px solid var(--paper-shade);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.search-results[hidden]{display:none}.search-option{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:7px;cursor:pointer}.search-option[aria-selected=true]{background:var(--paper-shade)}.search-option[aria-selected=true] .search-platform{color:var(--ink)}.search-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-platform{flex:none;color:var(--ink-muted);font-size:12px}.search-empty{padding:10px 12px;color:var(--ink-muted);font-size:14px}.paper-panel,.planet-panel{position:absolute;top:72px;right:24px;bottom:24px;z-index:var(--z-panel);display:flex;flex-direction:column;width:360px;height:max-content;max-height:calc(100% - 96px);overflow-y:auto;border:1px solid var(--paper-shade);border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:var(--shadow);animation:panel-in .24s var(--ease-out-quart) both;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--paper-shade) transparent}.panel-close{position:absolute;top:8px;right:8px;z-index:1;color:var(--ink)}.planet-stage{position:relative;flex:none;display:grid;place-items:center;height:210px;padding-top:24px}.planet{position:relative;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at 32% 30%,transparent 0 42%,rgb(11 16 48/.5) 100%),var(--planet)}.planet-ring{top:50%;width:200px;height:46px;border:3px solid rgb(217 180 90/.85);border-radius:50%;transform:translate(-50%,-50%) rotate(-14deg)}.avatar,.planet-ring{position:absolute;left:50%}.avatar{top:8px;display:grid;place-items:center;width:72px;height:72px;overflow:hidden;border:3px solid var(--paper);border-radius:50%;background:var(--paper-shade);transform:translateX(-50%);box-shadow:0 2px 8px rgb(11 16 48/.25)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-initial{color:var(--ink);font-size:28px;font-weight:600}.panel-body{padding:4px 24px 24px}.panel-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 6px;font-size:22px;line-height:1.3;outline:none}.panel-title:focus-visible{outline:none}.live-badge{color:#b5405d;font-size:13px;font-weight:600}.panel-meta{margin:0 0 2px;color:var(--ink-muted);font-size:14px}.population{margin:18px 0 20px;padding-top:16px;border-top:1px solid var(--paper-shade);font-size:15px;line-height:1.55}.population p{margin:0 0 6px}.population-count{font-size:18px;font-weight:600}.residents{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.residents li{padding:2px 10px;border:1px solid var(--paper-shade);border-radius:999px;font-size:13px}.depart-button,.primary-button{width:100%;height:48px;border:0;border-radius:12px;background:var(--amber);color:var(--ink);font-size:16px;font-weight:600;cursor:pointer;transition:filter .15s var(--ease-out-quart)}.primary-button:hover:not(:disabled){filter:brightness(1.05)}.depart-button:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed}.depart-note{margin:8px 0 0;text-align:center}.panel-head{display:flex;flex:none;align-items:center;gap:4px;padding:12px 8px 4px 24px}.panel-head:has(.panel-back){padding-left:8px}.panel-back,.panel-x{flex:none;color:var(--ink)}.panel-heading{flex:1 1;margin:0;font-size:20px;line-height:1.3;outline:none}.panel-heading:focus-visible{outline:none}.panel-content{padding:4px 24px 24px}.panel-lead{margin:0 0 16px;font-size:14px;line-height:1.55}.form-note{min-height:1.5em;margin:8px 0 0;font-size:13px;line-height:1.5;text-align:center}.ship-stage{display:grid;place-items:center;margin:0 -8px}.ship{width:100%;max-width:240px;height:auto;overflow:visible}.ship-fill,.ship-line,.ship-window{stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:fill .24s var(--ease-out-quart),stroke .24s var(--ease-out-quart)}.ship-line{fill:none}.ship-part[data-state=full] .ship-fill,.ship-part[data-state=full] .ship-line,.ship-part[data-state=full] .ship-window{stroke:var(--ink)}.ship-part[data-state=empty] .ship-fill,.ship-part[data-state=empty] .ship-line,.ship-part[data-state=empty] .ship-window{fill:none;stroke:var(--ink-muted);stroke-dasharray:4 3}.ship-hull[data-state=full] .ship-fill{fill:#6fa3d9}.ship-hull[data-state=full] .ship-window{fill:var(--paper)}.ship-flag[data-state=full] .ship-fill{fill:var(--rose)}.ship-fuel[data-state=full] .ship-fill{fill:var(--amber)}.ship-flag-text{fill:var(--ink);font-weight:700}.ship .bloom{opacity:0;transform-box:fill-box;transform-origin:center;pointer-events:none}.ship .bloom[data-on=true]{animation:bloom .7s var(--ease-out-quart) both}.ship[data-complete=fresh] .bloom-all{animation:bloom 1.1s var(--ease-out-quart) .18s both}@keyframes bloom{0%{opacity:0;transform:scale(.35)}25%{opacity:1}to{opacity:0;transform:scale(1.2)}}.hangar-lead{margin:4px 0 12px;font-size:14px;line-height:1.5;text-align:center}.hangar-lead:empty{margin:0}.parts{display:grid;gap:8px;margin:8px 0 0;padding:0;list-style:none}.part{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;border:1px dashed var(--ink-muted);border-radius:12px;background:transparent;color:var(--ink);text-align:left}button.part{cursor:pointer;transition:background-color .15s var(--ease-out-quart)}button.part:hover:not(:disabled){background:rgb(217 203 168/.35)}button.part:disabled{cursor:progress;opacity:.7}.part[data-filled=true]{border-style:solid;border-color:var(--paper-shade);background:rgb(255 255 255/.35)}.part-swatch{flex:none;width:14px;height:14px;border:1.5px dashed var(--ink-muted);border-radius:50%}.part[data-filled=true] .part-swatch{border:1.5px solid var(--ink)}.part[data-filled=true] .part-swatch[data-part=hull]{background:#6fa3d9}.part[data-filled=true] .part-swatch[data-part=flag]{background:var(--rose)}.part[data-filled=true] .part-swatch[data-part=fuel]{background:var(--amber)}.part-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.part-label{font-size:15px;font-weight:600}.part-status{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.part-go,.part-status{color:var(--ink-muted)}.part-go{flex:none}.ship-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--paper-shade)}.ship-stats div{display:flex;flex-direction:column;gap:4px}.ship-stats dt{color:var(--ink-muted);font-size:12px}.ship-stats dd{margin:0;font-size:16px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.engine-stars{display:inline-flex;gap:2px;padding-top:2px}.engine-stars svg{fill:none;stroke:var(--ink-muted);stroke-width:1.6;stroke-linejoin:round}.engine-stars svg[data-on=true]{fill:var(--amber);stroke:var(--ink)}.depart-time{margin:14px 0 0;font-size:15px;font-weight:500}.journey-now{display:grid;gap:10px;padding:28px 0 4px;text-align:center}.journey-now p{margin:0}.journey-title{font-size:18px;font-weight:600;line-height:1.4}.census-form{display:grid;gap:18px}.census-question{min-width:0;margin:0;padding:0;border:0}.census-question legend{margin-bottom:10px;padding:0;font-size:15px;font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{position:relative;display:inline-flex}.chip input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.chip span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid rgb(85 87 138/.5);border-radius:999px;font-size:14px;transition:background-color .15s var(--ease-out-quart),color .15s var(--ease-out-quart)}.chip:hover span{background:rgb(217 203 168/.35)}.chip input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--paper)}.chip input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.nickname-form{display:grid;gap:8px}.nickname-form .panel-lead{margin-bottom:8px}.field-label{font-size:14px;font-weight:600}.field-row{position:relative}.text-field{width:100%;height:44px;padding:0 60px 0 14px;border:1px solid var(--ink-muted);border-radius:10px;background:#fbf6ea;color:var(--ink);font-size:16px}.text-field:disabled{opacity:.6}.text-field[aria-invalid=true]{border-color:#b5405d}.field-count{position:absolute;top:50%;right:12px;color:var(--ink-muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transform:translateY(-50%)}.field-count[data-over=true]{color:#b5405d}.field-hint{margin:0 0 8px;color:var(--ink-muted);font-size:13px;line-height:1.5}.secondary-button{width:100%;height:44px;padding:0 16px;border:1px solid var(--ink-muted);border-radius:12px;background:transparent;color:var(--ink);font-size:15px;font-weight:600;cursor:pointer;transition:background-color .15s var(--ease-out-quart)}.secondary-button:hover:not(:disabled){background:rgb(217 203 168/.35)}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.depart-lead{font-weight:600;text-align:center}.depart-lead,.depart-status p{margin:0 0 10px;font-size:15px}.depart-status p{line-height:1.5}.here-line{margin:0;font-size:15px;font-weight:600;text-align:center}.resident-line{margin:2px 0 10px;font-weight:600}.launch-confirm{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--paper-shade)}.confirm-title{margin:0;font-size:17px;line-height:1.4;outline:none}.confirm-title:focus-visible{outline:none}.launch-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 0}.launch-route div{display:flex;flex-direction:column;gap:4px;min-width:0}.launch-route dt{color:var(--ink-muted);font-size:12px}.launch-route dd{margin:0;overflow:hidden;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.launch-note{margin:0 0 4px;color:var(--ink-muted);font-size:13px;line-height:1.5}.confirm-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px}.confirm-actions .secondary-button{height:48px}.launch-confirm .form-note:empty{display:none}.planet-stage>.landing-orbit,.planet-stage>.planet{grid-area:1/1}.landing-orbit{position:relative;width:0;height:0;animation:landing-spin 2s cubic-bezier(.3,0,.2,1) both}.landing-ship{position:absolute;top:-5px;left:-5px;width:10px;height:10px;border-radius:50%;background:#ffd98a;box-shadow:0 0 0 2px var(--ink),0 0 14px 4px rgb(255 217 138/.8);animation:landing-in 2s cubic-bezier(.55,0,.75,.6) both}@keyframes landing-spin{to{transform:rotate(600deg)}}@keyframes landing-in{0%{transform:translateX(108px) scale(1);opacity:0}10%{opacity:1}88%{opacity:1}to{transform:translateX(0) scale(.3);opacity:0}}.planet[data-landed=true]:after{content:"";position:absolute;inset:-34%;border-radius:50%;background:radial-gradient(circle,rgb(255 217 138/.6),rgb(255 217 138/0) 66%);animation:bloom 1.1s var(--ease-out-quart) both;pointer-events:none}.landed{display:grid;gap:10px;text-align:center}.landed-title{margin:0;font-size:20px;font-weight:700;line-height:1.35}.landed .form-note{margin:0}.journey-bar{position:absolute;bottom:24px;left:50%;z-index:var(--z-journey);display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;width:max-content;max-width:min(480px,calc(100vw - 32px));padding:8px 10px 8px 14px;border:1px solid var(--paper-shade);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);transform:translateX(-50%);animation:fade-in .24s var(--ease-out-quart) both}.journey-bar :focus-visible{outline-color:var(--ink)}.journey-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#ffd98a;box-shadow:0 0 0 1.5px var(--ink)}.journey-bar-text{display:flex;flex:1 1;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0;margin:0;font-size:14px;line-height:1.4}.journey-bar-star{padding:4px 0;border:0;background:none;color:var(--ink);font-size:15px;font-weight:600;text-align:left;cursor:pointer}.journey-bar-star:hover{text-decoration:underline;text-underline-offset:3px}.journey-bar-left{color:var(--ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar-primary{height:36px;padding:0 14px;border:0;border-radius:10px;background:var(--amber);color:var(--ink);font-size:15px;font-weight:600;cursor:pointer}.cancel-ask{display:grid;flex-basis:100%;gap:8px;padding-top:6px;border-top:1px solid var(--paper-shade)}.cancel-ask p{margin:0;font-size:14px;line-height:1.5}.cancel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.cancel-actions .secondary-button{width:auto;height:36px}.cancel-ask .form-note{margin:0;text-align:left}.cancel-ask .form-note:empty{display:none}.journey-now .text-button{justify-self:center}.journey-now .cancel-ask{text-align:left}.orbit-note{margin:0;line-height:1.5;text-wrap:balance}.or-line{display:flex;align-items:center;gap:10px;margin:12px 0 4px;color:var(--ink-muted);font-size:13px}.or-line:after,.or-line:before{content:"";flex:1 1;height:1px;background:var(--paper-shade)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes panel-in{0%{opacity:0;transform:translateX(16px)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(32px)}}@keyframes fade-in{0%{opacity:0}}@media (max-width:639.98px){.top-bar{top:12px;right:12px}.search-toggle{display:inline-grid;border:1px solid var(--paper-shade);background:var(--paper);color:var(--ink)}.search-field{display:none}.search[data-expanded=true] .search-field{position:fixed;top:12px;right:12px;left:12px;display:flex;gap:6px}.search[data-expanded=true] .search-field input{flex:1 1;width:auto}.search[data-expanded=true] .search-close{display:inline-grid;border:1px solid var(--paper-shade);background:var(--paper);color:var(--ink)}.search-results{left:0;right:0;min-width:0}.paper-panel,.planet-panel{top:auto;right:0;bottom:0;left:0;width:auto;max-height:72vh;border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;animation-name:sheet-in}.paper-panel{max-height:88vh;max-height:88dvh}.paper-panel .panel-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.ship{max-width:200px}.planet-stage{height:180px}.planet{width:112px;height:112px}.planet-ring{width:170px;height:40px}.intro-note{bottom:16px}.journey-bar{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;width:auto;max-width:none;transform:none}}@media (prefers-reduced-motion:reduce){.paper-panel,.planet-panel{animation-name:fade-in}.account-menu,.intro-note,.journey-bar{animation:none}.landing-orbit,.planet[data-landed=true]:after{display:none}.ship .bloom[data-on=true],.ship[data-complete=fresh] .bloom-all{animation:none}.ship-fill,.ship-line,.ship-window{transition:none}}