.constellation-page{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;background:#070c19;color:#eaf2ff}.constellation-header{flex-shrink:0;display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid #ffffff12;background:#0a101f}.constellation-header h2{font-size:20px;line-height:1.2;font-weight:800;letter-spacing:-.03em}.constellation-eyebrow{font-size:10px;letter-spacing:.13em;color:#95b4d7;margin-bottom:4px}.constellation-back,.constellation-reset{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid #ffffff25;border-radius:14px;color:#e7efff;background:#142138;font-size:13px;font-weight:700;padding:0 13px;flex-shrink:0}.constellation-reset{margin-left:auto;width:44px;padding:0}.constellation-scroll{min-height:0;flex:1;overflow:auto}.constellation-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;padding:24px;max-width:1500px;margin:0 auto;min-height:100%;align-items:center}.constellation-figure{align-self:stretch;display:flex;flex-direction:column;overflow:hidden;border:1px solid #9acbff25;border-radius:24px;background:#080f22}.constellation-sky{position:relative;flex:1;display:flex;align-items:center;min-height:330px;overflow:hidden;background:radial-gradient(ellipse at 60% 12%,#1d35633b,transparent 60%),radial-gradient(ellipse at 14% 86%,#22436528,transparent 48%),#050a17}.constellation-sky:before{content:"";pointer-events:none;position:absolute;width:115%;height:28%;top:38%;left:-10%;transform:rotate(-34deg);background:radial-gradient(ellipse,#4968af12,transparent 70%);filter:blur(12px)}.constellation-sky-label{position:absolute;top:20px;left:22px;right:12px;z-index:1;display:flex;align-items:center;gap:8px;color:#91a6c5;font-size:11px;letter-spacing:.02em;pointer-events:none}.constellation-sky-label>span{width:5px;height:5px;border-radius:50%;background:#b2dcff;box-shadow:0 0 10px #a0d5ff;flex-shrink:0}.constellation-sky-label.has-feedback{color:#ffd479}.constellation-map{position:relative;width:100%;aspect-ratio:1000 / 660;margin:28px 0 16px}.constellation-svg{width:100%;height:100%;display:block;overflow:visible}.constellation-figure figcaption{padding:12px 18px;border-top:1px solid #ffffff0f;color:#8298ba;font-size:11px;line-height:1.6}.constellation-twinkle{animation:constellation-shimmer 5s ease-in-out infinite alternate}.constellation-connect{stroke-dasharray:1;stroke-dashoffset:1;animation:constellation-draw .65s ease forwards}.constellation-pattern{transition:opacity .4s}.constellation-star-target{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);border:1px solid #a7d9ff44;border-radius:50%;background:#91b8ff08;color:#c3ddff;transition:background .18s,border-color .18s}.constellation-star-target:hover,.constellation-star-target:focus-visible{border-color:#d3edff;background:#91b8ff20}.constellation-star-target span{position:absolute;right:-5px;bottom:-5px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;color:#cce5ff;font-size:10px;font-weight:800;background:#162846;border:1px solid #aacaff50}.constellation-star-target.is-wrong{border-color:#ffa19d;background:#f5707020}.constellation-lesson{padding:8px 0;min-width:0}.constellation-steps{display:flex;gap:12px;margin-bottom:32px;font-size:11px;color:#7584a1}.constellation-steps li{display:flex;align-items:center;gap:5px}.constellation-steps li>span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #576682;border-radius:50%;font-size:10px}.constellation-steps li.is-active{color:#e3efff}.constellation-steps li.is-active>span{background:#253d64;border-color:#84abdf}.constellation-steps li[aria-current]>span{background:#ffd479;color:#111a2b;border-color:#ffd479}.constellation-kicker{display:flex;align-items:center;gap:6px;color:#9fbbef;font-size:12px;font-weight:700;margin-bottom:12px}.constellation-kicker.dipper{color:#a7dcff}.constellation-kicker.cassiopeia{color:#ffd479}.constellation-lesson h3{font-size:27px;font-weight:800;line-height:1.45;letter-spacing:-.045em;margin-bottom:16px;word-break:keep-all}.constellation-lesson p{font-size:14px;line-height:1.8;color:#a6b8d3;word-break:keep-all;margin-bottom:12px}.constellation-lesson strong{color:#eef5ff;font-weight:700}.constellation-primary,.constellation-secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border-radius:13px;padding:12px 14px;font-size:13px;font-weight:800;line-height:1.5;transition:background .15s}.constellation-primary{margin-top:22px;color:#192137;background:#ffd479;box-shadow:0 4px 20px #ffce7015}.constellation-primary:hover{background:#ffe3a7}.constellation-secondary{color:#d4e3fb;background:#15213a;border:1px solid #425574}.constellation-secondary:hover,.constellation-secondary[aria-pressed=true]{background:#233b5e;border-color:#95b7e6}.constellation-lesson .constellation-small{font-size:11px;color:#8e9fba;line-height:1.7;margin:14px 0}.constellation-route-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.constellation-route{display:flex;align-items:center;gap:10px;min-height:86px;border:1px solid #365470;border-radius:15px;background:#15253a;color:#a7dcff;padding:12px;text-align:left}.constellation-route.cassiopeia{border-color:#68563e;background:#29253a;color:#ffd479}.constellation-route:hover{filter:brightness(1.2)}.constellation-shape-icon{width:61px;flex-shrink:0}.constellation-route>span{flex:1}.constellation-route b{font-size:14px;display:block;color:#f2f6ff}.constellation-route small{display:block;font-size:10px;margin-top:5px;opacity:.9}.constellation-instruction{padding:16px;border-left:2px solid #a7dcff;border-radius:0 12px 12px 0;background:#12223a;margin-bottom:16px}.constellation-instruction.cassiopeia{border-color:#ffd479;background:#262237}.constellation-instruction p{font-size:13px;margin-bottom:12px}.constellation-instruction p:last-child{margin:0}.constellation-instruction b{color:#dceaff}.constellation-text-button{display:block;margin:8px auto 0;min-height:44px;color:#8fa8ce;font-size:12px;text-decoration:underline;text-underline-offset:4px}.constellation-stamps{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.constellation-stamps>span{display:inline-flex;align-items:center;gap:5px;font-size:11px;border:1px solid #3d4b61;border-radius:20px;color:#8b99ae;padding:6px 10px}.constellation-stamps .is-earned{color:#c0eddb;background:#16392f;border-color:#397a64}.constellation-answers{display:flex;gap:8px;margin-top:24px}.constellation-award{width:108px;height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#ffd479;background:radial-gradient(circle,#ffd47921,#ffd47903);border:1px solid #ffd47977;border-radius:50%;margin-bottom:20px;box-shadow:0 0 50px #ffd47910}.constellation-award span{font-size:11px;font-weight:800}.constellation-lesson .constellation-feedback{color:#ffd9a0;font-size:12px;margin:16px 0 0}.constellation-feedback:empty{display:none}.constellation-source{display:inline-block;margin-top:24px;color:#8d9fbd;font-size:10px;text-decoration:underline;text-underline-offset:4px}@keyframes constellation-shimmer{0%{opacity:.6}to{opacity:1}}@keyframes constellation-draw{to{stroke-dashoffset:0}}@media(min-width:720px)and (max-width:1099px)and (orientation:landscape){.constellation-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:20px}}@media(max-width:719px),(max-width:899px)and (orientation:portrait){.constellation-header{padding:12px 14px;gap:12px}.constellation-header h2{font-size:17px}.constellation-layout{display:flex;flex-direction:column;gap:20px;padding:14px;min-height:auto}.constellation-figure{width:100%;flex-shrink:0}.constellation-sky{min-height:270px}.constellation-map{margin:36px 0 12px}.constellation-sky-label{top:14px;left:14px;font-size:10px}.constellation-lesson{width:100%;max-width:600px;padding:0 4px 16px}.constellation-steps{margin-bottom:20px}.constellation-lesson h3{font-size:24px;margin-bottom:12px}.constellation-primary{margin-top:16px}}@media(min-width:720px)and (min-height:360px)and (max-height:600px){.constellation-header{padding:8px 16px}.constellation-header h2{font-size:17px}.constellation-layout{padding:12px 16px;gap:16px;align-items:start}.constellation-figure{position:sticky;top:12px;height:calc(100svh - 88px)}.constellation-sky{min-height:0}.constellation-map{width:min(100%,calc((100svh - 166px)*1.51515));margin:26px auto 8px}.constellation-sky-label{top:10px;left:12px;font-size:10px}.constellation-figure figcaption{padding:6px 10px;font-size:10px;line-height:1.4}.constellation-steps{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){.constellation-twinkle,.constellation-connect{animation:none!important}.constellation-connect{stroke-dashoffset:0}.constellation-pattern{transition:none}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Pretendard Variable,Pretendard,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html,body,#root{height:100%;margin:0}body{--tw-bg-opacity: 1;background-color:rgb(5 6 15 / var(--tw-bg-opacity, 1));font-family:Pretendard Variable,Pretendard,system-ui,sans-serif;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:auto}canvas{display:block;touch-action:none}.btn{display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;gap:.5rem;border-radius:12px;border-width:2.5px;--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.75rem 1.25rem;font-weight:700;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1));--tw-shadow: 4px 4px 0 #000;--tw-shadow-colored: 4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:75ms}.btn:active{--tw-translate-x: 4px;--tw-translate-y: 4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow: 0 0 0 #000;--tw-shadow-colored: 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn{min-height:56px}.btn-primary{display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;gap:.5rem;border-radius:12px;border-width:2.5px;--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.75rem 1.25rem;font-weight:700;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1));--tw-shadow: 4px 4px 0 #000;--tw-shadow-colored: 4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:75ms}.btn-primary:active{--tw-translate-x: 4px;--tw-translate-y: 4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow: 0 0 0 #000;--tw-shadow-colored: 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-primary{min-height:56px;--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hud-panel{border-radius:20px;border-width:2.5px;--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1));background-color:#fffffff2;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1));--tw-shadow: 6px 6px 0 #000;--tw-shadow-colored: 6px 6px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:6px;border-width:1.5px;--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-left-2{left:-.5rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.left-6{left:1.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-3{top:.75rem}.top-\[120px\]{top:120px}.top-\[46\%\]{top:46%}.top-\[68px\]{top:68px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[80\]{z-index:80}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-auto{margin-top:auto;margin-bottom:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.ml-auto{margin-left:auto}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-8{height:2rem}.h-\[2px\]{height:2px}.h-full{height:100%}.h-px{height:1px}.max-h-\[25vh\]{max-height:25vh}.max-h-\[45vh\]{max-height:45vh}.max-h-\[calc\(100\%-22rem\)\]{max-height:calc(100% - 22rem)}.max-h-\[calc\(100dvh-190px\)\]{max-height:calc(100dvh - 190px)}.min-h-0{min-height:0px}.min-h-11{min-height:2.75rem}.min-h-48{min-height:12rem}.min-h-\[44px\]{min-height:44px}.min-h-full{min-height:100%}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-32{width:8rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-8{width:2rem}.w-\[200px\]{width:200px}.w-\[360px\]{width:360px}.w-\[min\(86vw\,420px\)\]{width:min(86vw,420px)}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-11{min-width:2.75rem}.min-w-\[140px\]{min-width:140px}.min-w-\[44px\]{min-width:44px}.min-w-\[52px\]{min-width:52px}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-\[240px\]{max-width:240px}.max-w-\[94vw\]{max-width:94vw}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-floaty{animation:floaty 3s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.35}50%{opacity:1}}.animate-twinkle{animation:twinkle 2s ease-in-out infinite}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:20px}.rounded-md{border-radius:12px}.rounded-sm{border-radius:6px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-base{border-width:2.5px}.border-thin{border-width:1.5px}.border-b-base{border-bottom-width:2.5px}.border-b-thin{border-bottom-width:1.5px}.border-l-base{border-left-width:2.5px}.border-t-base{border-top-width:2.5px}.border-dashed{border-style:dashed}.border-amber-300\/50{border-color:#fcd34d80}.border-ink{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-ink\/15{border-color:#00000026}.border-ink\/30{border-color:#0000004d}.border-ink\/40{border-color:#0006}.border-ink\/50{border-color:#00000080}.border-white\/30{border-color:#ffffff4d}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-card{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-card\/30{background-color:#ffffff4d}.bg-card\/80{background-color:#fffc}.bg-card\/85{background-color:#ffffffd9}.bg-card\/95{background-color:#fffffff2}.bg-danger{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-paper{--tw-bg-opacity: 1;background-color:rgb(250 250 248 / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-space-900{--tw-bg-opacity: 1;background-color:rgb(5 6 15 / var(--tw-bg-opacity, 1))}.bg-space-900\/90{background-color:#05060fe6}.bg-space-900\/95{background-color:#05060ff2}.bg-success{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-space-800{--tw-gradient-from: #0a0e24 var(--tw-gradient-from-position);--tw-gradient-to: rgb(10 14 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-space-900{--tw-gradient-to: #05060f var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pt-\[12vh\]{padding-top:12vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-pixel{font-family:Galmuri11,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.text-\[\#8fd3ff\]{--tw-text-opacity: 1;color:rgb(143 211 255 / var(--tw-text-opacity, 1))}.text-accent{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-ink\/40{color:#0006}.text-ink\/50{color:#00000080}.text-ink\/55{color:#0000008c}.text-ink\/60{color:#0009}.text-ink\/70{color:#000000b3}.text-primary{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-primary-fg,.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/45{color:#ffffff73}.text-white\/50{color:#ffffff80}.text-white\/55{color:#ffffff8c}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.underline{text-decoration-line:underline}.accent-accent{accent-color:#FBBF24}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow-\[0_0_15px_yellow\]{--tw-shadow: 0 0 15px yellow;--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-brutal{--tw-shadow: 4px 4px 0 #000;--tw-shadow-colored: 4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-brutal-lg{--tw-shadow: 6px 6px 0 #000;--tw-shadow-colored: 6px 6px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-brutal-sm{--tw-shadow: 2px 2px 0 #000;--tw-shadow-colored: 2px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[2px_2px_0_rgba\(0\,0\,0\,0\.8\)\]{--tw-drop-shadow: drop-shadow(2px 2px 0 rgba(0,0,0,.8));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[2px_2px_0_rgba\(0\,0\,0\,0\.9\)\]{--tw-drop-shadow: drop-shadow(2px 2px 0 rgba(0,0,0,.9));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[3px_3px_0_rgba\(0\,0\,0\,0\.9\)\]{--tw-drop-shadow: drop-shadow(3px 3px 0 rgba(0,0,0,.9));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media(min-width:760px){.flight-hud{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.flight-badge{grid-area:1 / 1 / 2 / -1}.flight-mode{grid-area:2 / 1}.flight-thrust{grid-area:2 / 2}.flight-nav{grid-area:3 / 1}.flight-scale{grid-area:3 / 2}.flight-hud>[role=status]{grid-column:1 / -1;grid-row:4;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid #FBBF24;outline-offset:3px}[tabindex="0"]:focus-visible{outline:3px solid #FBBF24;outline-offset:-3px}.moon-observation{position:relative;min-height:0;flex:1;overflow:auto}.moon-observation:focus-visible{outline:3px solid #FBBF24;outline-offset:-3px}.moon-visual{position:relative;height:100%;min-height:180px}.moon-canvas{position:absolute;inset:0 0 80px}.moon-observation--explained{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:12px}.moon-observation--explained .moon-visual{height:auto;min-height:280px}.moon-phase-slider{min-height:44px;background:transparent}@media(min-width:720px){.moon-observation--explained{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}}@media(min-width:720px)and (max-height:600px){.moon-controls{flex-direction:row;align-items:center;gap:20px}.moon-controls .moon-phase-slider{flex:1;min-width:140px;width:auto}.moon-controls>div{flex-shrink:0}.moon-observation--explained .moon-visual{position:sticky;top:0;height:calc(100svh - 172px);min-height:180px}}.hover\:bg-paper:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 248 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.active\:translate-x-\[2px\]:active{--tw-translate-x: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:translate-y-\[2px\]:active{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.aria-pressed\:bg-accent[aria-pressed=true]{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}@media(min-width:640px){.sm\:top-3{top:.75rem}.sm\:block{display:block}.sm\:max-h-\[calc\(100\%-12rem\)\]{max-height:calc(100% - 12rem)}.sm\:min-w-\[68px\]{min-width:68px}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-3{gap:.75rem}.sm\:p-3{padding:.75rem}.sm\:p-6{padding:1.5rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media(min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>\*\]\:shrink-0>*{flex-shrink:0}
