@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=Manrope:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#e6edf8;background:#050b16;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:300;--ice:#c5ddff;--muted:#91a0b9;--serif:"Playfair Display",Georgia,serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html,body,#experience{margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}body{background:#050b16}button{font:inherit;color:inherit}#experience{position:relative;isolation:isolate;background:radial-gradient(ellipse at 53% 54%,#0d1a2c 0,#07101e 43%,#040812)}#sky{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;opacity:.82}.nebula{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(85px);opacity:.13;transition:transform 2s}.nebula-one{width:40vw;height:35vw;top:12%;left:18%;background:#315b8b}.nebula-two{width:35vw;height:40vw;right:5%;bottom:5%;background:#203d66;opacity:.09}.scene{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity 1.25s ease,transform 1.4s ease,visibility 1.25s}.scene.is-active{opacity:1;visibility:visible;transform:none}.intro-content{width:min(700px,90vw);padding:2rem}.eyebrow{font:10px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:#9aabc3;margin:0 0 26px}.intro h1,.ending h2{font:400 clamp(3rem,8vw,6.7rem)/1.04 var(--serif);letter-spacing:-.045em;margin:0;color:#eaf1fc}.intro h1 em,.ending h2 em{font-weight:400;color:#a9c3e6}.subtitle{max-width:420px;margin:29px auto 40px;color:#a6b3c8;font-size:14px;line-height:1.85;letter-spacing:.015em}.enter-button,.restart-button,.next-star{border:0;background:none;cursor:pointer;color:#d8e6fa;display:inline-flex;gap:22px;align-items:center;font:10px var(--mono);letter-spacing:.16em;text-transform:uppercase;padding:12px 0}.enter-button span,.restart-button,.next-star{position:relative}.enter-button:after,.restart-button:after,.next-star:after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:1px;background:#718bad;transform:scaleX(.38);transform-origin:left;transition:transform .4s}.enter-button:hover:after,.restart-button:hover:after,.next-star:hover:after{transform:scaleX(1)}.enter-button i{font-style:normal;color:#9bbce4;font-size:15px}.scroll-hint{position:absolute;bottom:37px;width:1px;height:40px;background:linear-gradient(#88a4ca,transparent);opacity:.6;animation:float 2.7s ease-in-out infinite}.map-scene{padding:clamp(38px,7vh,78px) 4vw 34px;justify-content:space-between}.map-header{z-index:2}.map-header .eyebrow{margin-bottom:16px}.map-header h2{font:400 clamp(2rem,4vw,3rem) var(--serif);margin:0;color:#e2ebf9}.map-instruction{font-size:12px;color:#8292ac;margin:12px 0}.map-wrap{position:absolute;top:25%;right:8%;bottom:19%;left:8%;max-width:1120px;margin:auto}.connections{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.connection{stroke:#81a3d029;stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .9s,filter .9s}.connection.lit{stroke:#a7cfff8a;filter:drop-shadow(0 0 4px #7daee9)}.stars-map{position:absolute;top:0;right:0;bottom:0;left:0}.map-star{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:42px;height:42px;border:0;border-radius:50%;background:transparent;cursor:pointer;display:grid;place-items:center;z-index:1}.star-core{display:block;width:7px;height:7px;border-radius:50%;background:#d9e8ff;box-shadow:0 0 10px 3px #9fc8ff80;transition:transform .4s,box-shadow .5s}.map-star:hover .star-core,.map-star:focus-visible .star-core{transform:scale(1.6);box-shadow:0 0 20px 7px #9fc8ff90}.map-star:focus-visible{outline:1px solid #bcd7ff;border-radius:50%}.map-star:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid #d1e2ff22;border-radius:50%;transition:transform .5s,opacity .5s}.map-star:hover:before{transform:scale(1.6);opacity:0}.star-label{position:absolute;top:31px;left:50%;transform:translate(-50%);white-space:nowrap;font:9px var(--mono);letter-spacing:.09em;color:#8b9cb5;opacity:.78;pointer-events:none}.map-star:hover .star-label{color:#d9e8fb;opacity:1}.map-footer{z-index:2;width:min(460px,85vw);display:flex;align-items:center;gap:17px;color:#91a1ba;font:9px var(--mono);letter-spacing:.06em}.progress-label{white-space:nowrap}.progress-track{height:1px;background:#26374d;flex:1;min-width:25px}.progress-track span{display:block;width:0;height:1px;background:#b7d5fa;box-shadow:0 0 8px #99c4fa;transition:width .7s}.quiet-button{white-space:nowrap;background:none;border:0;color:#72829a;font:9px var(--mono);padding:8px 0;cursor:default}.quiet-button:disabled{opacity:.8}.quiet-button.ready{color:#cadcf5;cursor:pointer}.ending{background:linear-gradient(180deg,#060d1a85,#0814266b),radial-gradient(ellipse at 50% 100%,#152d4d 0,transparent 55%)}.ending-content{position:relative;z-index:1;padding:2rem;max-width:650px}.ending h2{font-size:clamp(3rem,7vw,5.8rem)}.ending .eyebrow{margin-bottom:24px}.final-rule,.panel-rule{width:35px;height:1px;background:#7895bb;margin:30px auto}.final-message{font:15px/1.9 var(--serif);color:#b5c4d9;max-width:440px;margin:0 auto 30px}.restart-button{font-size:9px}.snow{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.snow:before,.snow:after{content:"";position:absolute;top:-100%;right:0;bottom:-100%;left:0;background-image:radial-gradient(1px 1px at 20px 30px,#e4f1ff 98%,transparent),radial-gradient(2px 2px at 130px 80px,#e4f1ff 98%,transparent),radial-gradient(1px 1px at 230px 190px,#dceaff 98%,transparent),radial-gradient(1.5px 1.5px at 320px 40px,#fff 98%,transparent);background-size:370px 260px;opacity:.48;animation:snow 18s linear infinite}.snow:after{background-size:530px 390px;animation-duration:29s;opacity:.28;filter:blur(.6px)}.message-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:#0206109c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:1}.message-panel{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);width:min(450px,calc(100vw - 36px));padding:53px 48px 40px;text-align:center;background:linear-gradient(145deg,#101c2cf2,#091321f5);border:1px solid #7189a72c;box-shadow:0 25px 100px #0009}.message-panel[hidden],.message-backdrop[hidden]{display:none}.close-message{position:absolute;right:17px;top:13px;border:0;background:none;font-size:25px;font-weight:200;color:#9baec8;cursor:pointer;padding:6px}.message-panel .eyebrow{font-size:9px;margin-bottom:20px}.message-panel h2{font:400 36px var(--serif);margin:0;color:#e2ecfa}.panel-rule{margin:23px auto;width:25px}.message-panel #message-copy{font:14px/1.9 var(--serif);color:#aab9ce;min-height:55px}.next-star{margin-top:20px;font-size:9px}.dialog-open{overflow:hidden}.warp{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(circle at center,#142c4b 0,transparent 12%,#020610 76%);transition:opacity .3s,visibility .3s}.warp-active{opacity:1;visibility:visible}.warp:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:repeating-conic-gradient(from 0deg,transparent 0deg 1.5deg,#9bcaff35 1.6deg 1.68deg,transparent 1.8deg 4deg);animation:rotate 2s linear infinite;-webkit-mask-image:radial-gradient(ellipse,transparent 4%,#000 15%,transparent 62%);mask-image:radial-gradient(ellipse,transparent 4%,#000 15%,transparent 62%)}.warp-core{width:3px;height:3px;border-radius:50%;background:#e9f4ff;box-shadow:0 0 60px 30px #a2d0ff8c;animation:pulse 1.2s infinite alternate}.traveling .nebula{transform:scale(1.6);opacity:.35}.snowfall #sky{opacity:.36}@keyframes float{50%{transform:translateY(8px);opacity:.25}}@keyframes snow{to{transform:translateY(260px)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes pulse{to{box-shadow:0 0 90px 45px #a2d0ffbb}}@media(max-width:650px){.intro h1{font-size:clamp(3.1rem,14vw,5.3rem)}.subtitle{font-size:13px;max-width:320px}.map-scene{padding:44px 16px 23px}.map-wrap{top:27%;right:3%;bottom:22%;left:3%}.map-header h2{font-size:2.1rem}.star-label{font-size:8px;letter-spacing:.015em}.map-footer{gap:10px;width:94vw;font-size:8px}.quiet-button{font-size:8px}.message-panel{padding:50px 30px 33px}.message-panel h2{font-size:31px}.nebula{filter:blur(60px)}}@media(max-height:650px){.map-scene{padding-top:24px;padding-bottom:16px}.map-wrap{top:23%;right:8%;bottom:19%;left:8%}.map-header .eyebrow{margin-bottom:8px}.map-header h2{font-size:2rem}.map-instruction{margin:6px 0}.intro .eyebrow{margin-bottom:18px}.subtitle{margin:20px auto 27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{--serif:Georgia,"Times New Roman",serif;--mono:"Courier New",monospace}#experience{height:100vh;height:100dvh;min-height:0}.scene{min-height:0}button{-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #bfd8fa;outline-offset:5px}.ending{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#55708e transparent}.ending-content{width:min(700px,100%);margin:auto;padding:max(36px,env(safe-area-inset-top)) 24px max(30px,env(safe-area-inset-bottom))}.ending h2{font-size:clamp(2.8rem,7vw,5.8rem)}.final-rule{margin:23px auto}.final-message{max-width:570px;font:400 clamp(15px,1.3vw,17px)/1.8 var(--serif);color:#d1dced}.final-message p{margin:0 0 1em}.final-message p:last-child{margin:0}.restart-button{margin-top:20px;padding:14px 4px}.map-star{width:48px;height:48px;touch-action:manipulation}.star-core{width:8px;height:8px}.map-star.discovered .star-core{background:#eef6ff;box-shadow:0 0 15px 6px #9fc8ffb0}.map-star.discovered:before{border-color:#d1e2ff75;transform:scale(1.18)}.map-star.selected .star-core{transform:scale(1.7);box-shadow:0 0 25px 9px #9fc8ffc2}.message-panel{width:min(520px,calc(100vw - 28px));max-height:min(88vh,760px);max-height:min(88dvh,760px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#55708e transparent;padding:54px clamp(24px,7vw,48px) 32px}.message-panel #message-copy{min-height:0;font:400 15px/1.8 var(--serif);color:#c3d0e2;text-align:left}.message-panel #message-copy p{margin:0 0 1em}.message-panel #message-copy p:last-child{margin:0}.close-message{width:44px;height:44px;top:8px;right:8px;display:grid;place-items:center}.next-star{min-height:44px}.quiet-button{min-height:40px}.snow:before,.snow:after{animation-play-state:paused}.ending.is-active .snow:before,.ending.is-active .snow:after{animation-play-state:running}#sky{transition:opacity 1.6s ease}.snowfall #sky{opacity:.13}@media(max-width:650px){.intro-content{padding:24px 20px}.intro h1{font-size:clamp(2.85rem,13.8vw,4.8rem)}.eyebrow{letter-spacing:.18em;line-height:1.7}.subtitle{max-width:320px}.map-scene{padding:max(26px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom))}.map-wrap{top:25%;right:2%;bottom:23%;left:2%}.star-label{display:none}.map-footer{width:100%;gap:8px}.progress-label,.quiet-button{font-size:8px}.quiet-button{letter-spacing:0}.ending-content{padding-left:24px;padding-right:24px}.ending .eyebrow{margin-bottom:15px}.ending h2{font-size:clamp(2.65rem,12vw,4rem)}.final-message{font-size:15px;line-height:1.75}.final-rule{margin:18px auto}}@media(max-width:360px){.map-footer{gap:6px}.quiet-button{max-width:136px;white-space:normal;line-height:1.4}.progress-track{min-width:18px}.ending-content{padding-left:19px;padding-right:19px}.ending h2{font-size:2.55rem}}@media(max-height:560px)and (orientation:landscape){.intro-content{padding:12px}.intro h1{font-size:clamp(2.3rem,8vh,3.6rem)}.intro .eyebrow{margin-bottom:10px}.subtitle{margin:12px auto 14px;line-height:1.55}.map-scene{padding-top:12px;padding-bottom:8px}.map-header .eyebrow{margin-bottom:4px}.map-header h2{font-size:1.7rem}.map-instruction{margin:3px 0}.map-wrap{top:24%;right:8%;bottom:22%;left:8%}.ending-content{padding-top:20px;padding-bottom:20px}.ending h2{font-size:2.6rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
