*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#030818;color:#f6f1df;font-family:Inter,'PingFang SC','Microsoft Yahei',system-ui,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #f0d49a;outline-offset:6px}#experience{position:relative;width:100%;height:100%;isolation:isolate}#universe,#poster,.grain,.vignette,#frame{position:absolute;inset:0;width:100%;height:100%}#poster{background:linear-gradient(#03081875,#030818ab),url('./assets/nebula.webp') center/cover;transition:opacity 1s}#universe{display:block;opacity:0;transition:opacity .8s}body.ready #poster{opacity:0}body.ready #universe{opacity:1}.grain{opacity:.035;pointer-events:none;z-index:2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0H180V180H0z'/%3E%3C/svg%3E")}.vignette{background:radial-gradient(ellipse at center,transparent 35%,#01040b99 100%);pointer-events:none;z-index:2}#frame{z-index:7;pointer-events:none;box-shadow:inset 0 0 0 1px #8eb8ff00,inset 0 0 65px #4285ff00;transition:box-shadow 1s}body.arrived #frame{box-shadow:inset 0 0 0 2px #8eb8ff88,inset 0 0 75px #4285ff50}header{position:absolute;left:5%;right:5%;top:max(28px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;z-index:10}.brand{display:flex;gap:12px;align-items:center;letter-spacing:3px;font-size:18px}.brand img{width:39px;height:39px;border-radius:50%;opacity:.85}.brand-sub{display:block;font-size:8px;letter-spacing:2.1px;margin-top:5px;color:#c0c9d6}.top-actions{display:flex;gap:25px;align-items:center;font-size:12px;letter-spacing:1px}.top-actions button{border:0;background:transparent;opacity:.65;padding:12px 0}.skip{border-bottom:1px solid #d6c39d66;padding:10px 0}.skip span{margin-left:20px}#intro{position:absolute;top:19%;left:0;right:0;text-align:center;pointer-events:none;z-index:4;opacity:1;transform:translateY(0);transition:opacity .5s,transform .5s}.eyebrow{font-size:10px;letter-spacing:4px;color:#c4c5c4}h1{font-weight:400;letter-spacing:5px;font-size:clamp(21px,3vw,40px);margin:19px 20px 24px;text-shadow:0 0 30px #5f9afa66}.hairline{height:1px;width:42px;margin:auto;background:#e4cb92}.mobile-break{display:none}body.pulled #intro{opacity:0;transform:translateY(-20px)}#final-title{position:absolute;left:0;right:0;bottom:20%;text-align:center;z-index:5;pointer-events:none;opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}body.title-visible #final-title{opacity:1;transform:none}.destination{font-size:9px;letter-spacing:5px;color:#ccd6ea}h2{margin:12px 0 5px;font-weight:400}#final-title h2{font-size:clamp(29px,4.8vw,56px);letter-spacing:.28em;padding-left:.28em}#final-title h2 span{display:inline-block;opacity:0;transform:translateY(18px)}body.title-visible #final-title h2 span{animation:letter-on .6s both}#final-title span:nth-child(2){animation-delay:.09s!important}#final-title span:nth-child(3){animation-delay:.18s!important}#final-title span:nth-child(4){animation-delay:.27s!important}#final-title span:nth-child(5){animation-delay:.36s!important}#final-title p{font-size:11px;letter-spacing:3px;color:#acbfd9;margin:15px 10px}@keyframes letter-on{0%{opacity:0;transform:translateY(18px);filter:blur(8px)}65%{text-shadow:0 0 25px #b8d6ff,0 0 60px #599dff}100%{opacity:1;transform:none;filter:blur(0);text-shadow:0 0 20px #699fee88}}#campus{position:absolute;bottom:13%;left:25%;width:50%;max-height:90px;color:#a7c6e3;opacity:0;transition:opacity 1s;pointer-events:none;z-index:3}body.title-visible #campus{opacity:.24}footer{position:absolute;bottom:72px;left:5%;right:5%;z-index:5;display:flex;align-items:center;gap:25px;font-size:10px;letter-spacing:2px;color:#9dabbe}.phase{display:flex;gap:15px;min-width:110px}#phase-no{color:#efd09a}.timeline{height:1px;background:#b4caff26;flex:1}#progress{height:1px;width:0;background:#edce93;box-shadow:0 0 9px #ecd499}#clock{font-variant-numeric:tabular-nums;font-size:9px;min-width:86px;text-align:right}#controls{position:absolute;bottom:26px;left:5%;display:flex;gap:18px;align-items:center;z-index:10;color:#a8b4c7;font-size:10px;letter-spacing:.6px}#controls button{background:transparent;border:0;padding:7px 0;font-size:11px}#controls label{display:flex;gap:7px;align-items:center;cursor:pointer}#controls input{accent-color:#dcb978;margin:0;width:12px;height:12px}.disclaimer{position:absolute;right:5%;bottom:33px;font-size:9px;color:#69788f;z-index:5}#status{position:absolute;left:0;right:0;top:53%;text-align:center;font-size:12px;letter-spacing:3px;color:#dfc999;z-index:5;transition:opacity .4s}body.ready #status{opacity:0;pointer-events:none}#failure{position:absolute;inset:25% 12%;text-align:center;background:#030818e8;z-index:20;padding:40px 15px;border:1px solid #8aa6d044;border-radius:15px}#failure a{display:inline-block;border:1px solid #d1bd8f;padding:12px 22px;margin-top:25px}#failure p{font-size:13px;color:#becbe1;line-height:1.8}#failure[hidden]{display:none}@media(max-width:600px){header{top:22px}.brand{font-size:15px}.brand-sub{font-size:7px}.brand img{width:32px;height:32px}.top-actions{gap:15px;font-size:10px}.skip span{margin-left:8px}.eyebrow{font-size:8px;letter-spacing:2px}#intro{top:20%}h1{font-size:24px;line-height:1.7;letter-spacing:3px}.mobile-break{display:block}#final-title{bottom:24%}#final-title h2{font-size:35px}#campus{left:10%;width:80%;bottom:17%}footer{bottom:100px;gap:10px}.phase{min-width:94px;gap:10px}#controls{bottom:50px;gap:13px;flex-wrap:wrap;right:5%;justify-content:center;font-size:9px}.disclaimer{left:0;right:0;text-align:center;bottom:20px}#clock{min-width:65px;letter-spacing:0}.destination{letter-spacing:3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}#final-title h2 span{opacity:1;transform:none}}
