@charset "UTF-8";
:root{color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#020408;color:#e8eef4;font-family:system-ui,"Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #a9dfff;outline-offset:5px}
.orbital{height:100svh;min-height:660px;position:relative;isolation:isolate;overflow:hidden;background:#020408}.cosmic-plate{position:absolute;inset:0;background:url('media/orbit/lunar-background.png') center bottom/100% 100% no-repeat;z-index:-1}.space-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 28%,transparent 30%,#00010615 75%,#00010840 100%);pointer-events:none;z-index:1}
#universe{position:absolute;inset:0 0 24%;touch-action:none;cursor:grab;outline:none}#universe:active{cursor:grabbing}#universe canvas{display:block;width:100%;height:100%}
.orbit-header{position:absolute;top:0;left:0;right:0;padding:28px 34px;display:flex;justify-content:space-between;align-items:flex-start;z-index:5}.orbit-brand{font-size:23px;letter-spacing:4px;line-height:1.2;font-weight:350}.orbit-brand small{display:block;font-size:8px;letter-spacing:6px;margin-top:9px;color:#aeb6c0}.skip{font-size:12px;letter-spacing:2px;color:#c9d0d7;padding:8px 10px;border-radius:30px;transition:background .2s}.skip:hover{background:#d4eaff15}.orbit-coordinate,.orbit-kicker{display:none}
.orbit-copy{position:absolute;left:3%;right:3%;top:64.5%;text-align:center;z-index:3;pointer-events:none}.orbit-copy h1{margin:0;font-weight:350;line-height:1.25;letter-spacing:.19em;text-shadow:0 0 16px #e2f0ff30}.brand-line{display:block;font-size:clamp(29px,3.5vw,54px);letter-spacing:.26em;margin-bottom:23px}.slogan-line{display:block;font-size:clamp(25px,3.15vw,48px);letter-spacing:.17em}.accent{color:#bde6ff;text-shadow:0 0 8px #82cdff77,0 0 28px #5ab9ff44}.glyph{display:inline-block;position:relative;animation:metal-type 1.7s cubic-bezier(.12,.65,.12,1) both;animation-delay:calc(1.4s + var(--i)*.048s);transform-origin:50% 60%}.glyph:after{content:"";position:absolute;width:2px;height:2px;background:#c4edff;top:10%;left:50%;box-shadow:8px -16px 4px #8bd0ff,-8px 13px 3px #c3edff;animation:bits 1.7s ease-out both;animation-delay:calc(1.2s + var(--i)*.048s)}
.signal-star{position:absolute;left:39%;top:calc(clamp(29px,3.5vw,54px)*1.25 + 10px);width:3px;height:3px;border-radius:50%;background:#f2fcff;box-shadow:0 0 5px 2px #c8eeff,0 0 15px 3px #70bfff8a;animation:star-arrive 2.8s 1.3s both,star-breathe 7s 4.1s ease-in-out infinite;pointer-events:none}.signal-star:before{content:"";position:absolute;left:-66px;top:1px;width:135px;height:1px;background:linear-gradient(90deg,transparent,#86caff25 25%,#edfaff 50%,#82caff25 75%,transparent);filter:blur(.25px)}.signal-star:after{content:"";position:absolute;top:-10px;left:1px;width:1px;height:24px;background:linear-gradient(transparent,#eaffff,transparent);filter:blur(.3px)}.signal-distant{left:72%;transform:scale(.45);opacity:.4;animation-delay:1.7s,4.5s}.signal-distant:before{width:75px;left:-36px}.signal-distant:after{height:14px;top:-6px}
.enter{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-width:226px;margin-top:30px;padding:14px 30px;border:1px solid #f2f3ef9a;border-radius:32px;font-size:13px;letter-spacing:3px;font-weight:350;background:linear-gradient(170deg,#dce8ed14,#05080bc9 55%,#9eb5c025);box-shadow:inset 0 1px 2px #fff9,0 3px 18px #0008;pointer-events:auto;transition:box-shadow .3s,border-color .3s,transform .3s;animation:label-in 1s 3.4s both}.enter:hover{box-shadow:inset 0 1px 2px #fffa,0 0 32px #74bdff33;border-color:#edfaff;transform:translateY(-2px)}.enter i{display:none}.orbit-footer{position:absolute;bottom:22px;left:35px;right:35px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;color:#b2bdc8;letter-spacing:1px;text-shadow:0 1px 4px #000}.orbit-controls{display:flex;gap:6px;align-items:center}.orbit-controls button{padding:8px 11px;border:1px solid #9cb8cf30;background:#03080da0;backdrop-filter:blur(8px);border-radius:25px;font-size:9px;letter-spacing:1px}.orbit-controls button:hover{border-color:#9fcae4}.scene-status{font-size:8px;min-width:135px;text-align:right;opacity:.7}.scene-status:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:#94d9ff;margin-right:7px;box-shadow:0 0 8px #94d9ff}#fallback{position:absolute;top:45%;left:0;right:0;text-align:center;color:#a8bbcd;font-size:13px;line-height:2}#fallback a{border-bottom:1px solid}.no-script{position:absolute;top:42%;left:10%;right:10%;text-align:center;z-index:8;background:#07111b;padding:25px}.exiting .orbit-copy,.exiting .orbit-header,.exiting .orbit-footer{opacity:0;transition:opacity .55s}.exiting #universe{filter:brightness(1.6);transition:filter .7s}
@keyframes metal-type{0%{opacity:0;filter:blur(9px);clip-path:inset(48% -25%);transform:translate3d(calc((var(--i) - 9)*7px),-22px,0) rotateY(65deg) scale(1.25);text-shadow:-9px 0 #81c6ff,9px 0 #d6f4ff}32%{opacity:.8;clip-path:inset(30% -25% 25%);filter:blur(2px)}50%{clip-path:inset(0 -25%);text-shadow:-2px 0 #59baff,2px 0 #d6f4ff}68%{opacity:1;filter:blur(0);transform:none;text-shadow:0 0 25px #c8e9ff}100%{opacity:1;filter:blur(0);transform:none;clip-path:inset(-20%);text-shadow:0 0 14px #b9d9ff20}}
@keyframes bits{0%{opacity:0;transform:translate(15px,-25px)}35%{opacity:1}100%{opacity:0;transform:translate(0,3px)}}@keyframes star-arrive{0%{opacity:0;filter:blur(4px);scale:.15}45%{opacity:1;filter:blur(0);scale:1.45}100%{opacity:.85;filter:blur(0);scale:1}}@keyframes star-breathe{0%,100%{opacity:.6}45%{opacity:1}70%{opacity:.7}}@keyframes label-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.reduced .glyph,.reduced .enter,.reduced .signal-star{animation:none}.reduced .glyph:after{display:none}
@media(max-width:700px){.orbital{min-height:660px}.cosmic-plate{background-position:51% bottom;background-size:cover}.orbit-header{padding:23px 22px}.orbit-brand{font-size:20px}.orbit-brand small{font-size:7px;letter-spacing:4px}.skip{font-size:10px}#universe{inset:5% 0 34%}.orbit-copy{top:64%;left:12px;right:12px}.brand-line{font-size:29px;margin-bottom:20px}.slogan-line{font-size:clamp(17px,4.7vw,27px);letter-spacing:.03em;line-height:1.65}.signal-star{top:47px;left:34%;scale:.8}.signal-distant{left:77%;scale:.5}.enter{min-width:200px;padding:13px 24px;margin-top:23px;font-size:12px}.orbit-footer{bottom:16px;left:15px;right:15px;flex-wrap:wrap;justify-content:center;gap:10px}.gesture{width:100%;text-align:center;font-size:9px}.scene-status{display:none}.orbit-controls button{padding:8px 10px;font-size:9px}}
@media(max-height:700px) and (min-width:701px){.orbital{min-height:540px}.orbit-copy{top:62%}.brand-line{font-size:30px;margin-bottom:18px}.slogan-line{font-size:30px}.signal-star{top:45px}.enter{margin-top:20px;padding:10px 25px}.orbit-footer{bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.glyph:after{display:none}}

/* R9.3.1: the full-width scene must not paint a persistent outline after pointer focus. */
#universe:focus,#universe:focus-visible{outline:none}
.keyboard-nav #universe:focus::after{content:"键盘控制 · 方向键旋转 · ＋ / − 缩放";position:absolute;top:76px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:7px 12px;border:1px solid #9bcce166;border-radius:18px;background:#050b14d9;color:#cee9f9;font-size:11px;letter-spacing:1px;line-height:1.5;pointer-events:none}
