/* 独立地球首页，与作品库共用蓝白配色。 */
.geo-intro{position:relative;margin:0;padding:0;width:100%;height:100svh;min-height:680px;border:0;border-radius:0;overflow:hidden;background:linear-gradient(115deg,#e5f1fc,#f1f8fc 65%,#e5f6f5);color:var(--ink);box-shadow:none;isolation:isolate;transition:opacity .6s,filter .6s,transform .6s}
.intro-canvas,.intro-grain,.intro-frame{position:absolute;inset:0;pointer-events:none}
.intro-canvas{width:100%;height:100%;z-index:-2;animation:intro-world 2.7s cubic-bezier(.18,.7,.2,1) both}
.intro-grain{z-index:-1;background:radial-gradient(ellipse at 16% 18%,#ffffff70,transparent 50%),linear-gradient(90deg,#e5f1fc75,transparent 65%);background-size:auto}
.intro-frame{inset:98px 40px 114px;border:1px solid #779dbc26;border-radius:2px}
.intro-frame:before,.intro-frame:after{content:"";position:absolute;width:35px;height:35px;border-color:#5f8bab6b;border-style:solid}
.intro-frame:before{left:-1px;top:-1px;border-width:1px 0 0 1px}.intro-frame:after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}
.intro-top{position:absolute;top:35px;left:52px;right:52px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.intro-brand{display:flex;align-items:center;gap:11px;font-size:16px;letter-spacing:3px;font-weight:650}.intro-symbol{font-size:30px;font-weight:400;color:var(--blue);letter-spacing:0}.intro-brand small{font-size:8px;font-weight:400;letter-spacing:2px;color:#70899c;margin-left:8px}
.intro-skip{background:transparent;color:#567b97;border:1px solid #7da5bf55;border-radius:30px;padding:10px 18px;font-size:12px;display:flex;gap:18px;align-items:center}.intro-skip:hover{background:#ffffff90;color:var(--blue)}.intro-skip span{font-size:16px}
.intro-copy{position:absolute;left:9%;top:50%;transform:translateY(-54%);width:49%;z-index:1}
.intro-kicker{display:flex;align-items:center;gap:12px;color:#628298;font-size:10px;letter-spacing:3px;margin-bottom:25px;animation:intro-rise .9s .15s both}.intro-kicker>span{width:6px;height:6px;background:#246aa6;border-radius:50%;box-shadow:0 0 14px #246aa655}
.intro-copy h1{font-size:clamp(44px,5.1vw,84px);font-weight:550;letter-spacing:-.055em;line-height:1.17;margin:0;color:var(--ink)}
.intro-copy h1>span{display:block;animation:intro-rise 1.15s cubic-bezier(.15,.7,.2,1) both}.intro-copy h1>span:nth-child(2){animation-delay:.24s}.intro-accent{color:var(--blue)}
.intro-description{font-size:14px;line-height:1.85;color:#70899c;margin-top:27px;animation:intro-rise 1s .55s both}
.intro-enter{margin-top:28px;border:1px solid #246aa655;background:var(--blue);color:white;border-radius:30px;padding:14px 23px;display:inline-flex;gap:35px;align-items:center;font-size:13px;font-weight:600;animation:intro-rise 1s .8s both;transition:background .2s,transform .2s}.intro-enter:hover{background:var(--blue-deep);transform:translateY(-2px)}.intro-enter span{font-size:19px;font-weight:400}
.intro-coordinate{position:absolute;right:9%;top:75%;font-size:10px;letter-spacing:1px;line-height:1.9;color:#70899c;text-align:right;animation:intro-rise 1s 1.2s both}.intro-coordinate span{display:block}.intro-coordinate span:last-child{font-size:8px;letter-spacing:2px}
.intro-bottom{position:absolute;bottom:40px;left:52px;right:52px;display:flex;justify-content:space-between;gap:35px;align-items:flex-end;animation:intro-rise 1s 1s both}
.intro-chapters{display:flex;gap:21px;align-items:center;font-size:10px;color:#8aa3b5;letter-spacing:1px}.intro-chapters b{margin-left:8px;color:#5f7d93;font-weight:400;font-size:12px}.intro-chapters i{height:1px;width:24px;background:#8bacbd55}
.intro-timeline{display:grid;grid-template-columns:1fr auto;gap:11px;width:230px;color:#5f7d93;font-size:10px}.intro-counter{color:#7b96a9;font-family:ui-monospace,monospace}.intro-track{grid-column:1/-1;height:1px;background:#a2c9d155}.intro-track span{display:block;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}
.geo-intro.intro-leaving{opacity:0;filter:blur(8px);transform:scale(1.035);pointer-events:none}.geo-intro.intro-leaving::backdrop{background:transparent}
.intro-replay{margin-top:16px;background:transparent;color:#567b97;padding:0;display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.6}.intro-replay:hover{color:var(--blue)}.intro-replay svg{width:13px;height:13px}
.welcome-orb{position:relative;width:155px;height:155px;display:grid;place-items:center;margin:0 12px;background:radial-gradient(circle,#8dcbdd22,transparent 70%)}
.welcome-sphere{width:115px;height:115px;border-radius:50%;display:grid;place-items:center;color:#7ea8c9;background:radial-gradient(circle at 28% 28%,#ffffffc9,#acd3e644);box-shadow:inset -5px -3px 22px #6faac319,0 0 25px #99cce325}
.welcome-sphere svg{stroke-width:.8}.welcome-orbit{position:absolute;width:153px;height:61px;border:1px solid #70a6c05c;border-radius:50%;transform:rotate(-28deg);animation:welcome-orbit 18s linear infinite}.welcome-orbit.second{width:144px;height:69px;transform:rotate(50deg);animation:welcome-orbit-two 24s linear infinite;border-color:#79b4bd40}.welcome-orbit span{position:absolute;width:5px;height:5px;background:#4e91b3;border-radius:50%;left:15px;top:7px;box-shadow:0 0 9px #69afc95c}.welcome-orbit.second span{background:#63a7b4;left:auto;right:9px;top:11px}
@keyframes welcome-orbit{to{transform:rotate(332deg)}}@keyframes welcome-orbit-two{to{transform:rotate(-310deg)}}
@keyframes intro-rise{from{opacity:0;transform:translateY(20px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes intro-world{from{opacity:0;transform:scale(.78) rotate(-9deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:1000px){.intro-copy{left:8%;width:60%}.intro-copy h1{font-size:clamp(44px,5.4vw,70px)}.intro-brand small{display:none}.intro-chapters{gap:12px}.intro-chapters i{width:12px}.intro-timeline{width:195px}.intro-top{left:32px;right:32px}.intro-bottom{left:32px;right:32px}.intro-frame{left:25px;right:25px}}
@media(max-width:699px){.intro-top{top:22px;left:23px;right:23px}.intro-brand{font-size:14px;gap:8px}.intro-symbol{font-size:25px}.intro-skip{font-size:10px;padding:8px 12px;gap:10px}.intro-frame{inset:80px 17px 124px}.intro-copy{left:9%;top:15.5%;width:85%;transform:none}.intro-kicker{font-size:8px;letter-spacing:2px;margin-bottom:18px}.intro-copy h1{font-size:clamp(34px,10vw,57px);line-height:1.2}.intro-description{font-size:11px;margin-top:18px}.intro-enter{font-size:11px;margin-top:17px;padding:10px 17px;gap:25px}.intro-coordinate{top:auto;bottom:150px;right:9%;font-size:8px}.intro-coordinate span:last-child{font-size:6px}.intro-bottom{bottom:27px;left:25px;right:25px;flex-direction:column;align-items:stretch;gap:23px}.intro-chapters{gap:10px;justify-content:space-between;font-size:8px}.intro-chapters b{font-size:10px;margin-left:4px}.intro-chapters i{width:10px}.intro-timeline{width:100%;font-size:9px}}
@media(max-height:650px) and (min-width:700px){.intro-copy h1{font-size:55px}.intro-description{margin-top:15px;font-size:12px}.intro-enter{margin-top:17px;padding:11px 20px}.intro-kicker{margin-bottom:15px}.intro-frame{inset:85px 30px 95px}.intro-top{top:24px}.intro-bottom{bottom:25px}.intro-coordinate{top:76%}}
@media(max-height:670px) and (max-width:699px){.intro-copy{top:15%}.intro-copy h1{font-size:34px}.intro-description{margin-top:12px}.intro-enter{margin-top:12px}.intro-coordinate{display:none}.intro-bottom{bottom:20px;gap:14px}.intro-frame{bottom:105px}.intro-kicker{margin-bottom:12px}}
@media(max-width:1150px) and (min-width:700px){.welcome-orb{width:105px;height:120px;margin:0}.welcome-sphere{width:90px;height:90px}.welcome-sphere svg{width:82px;height:82px}.welcome-orbit{width:116px;height:48px}.welcome-orbit.second{width:109px;height:52px}}
@media(prefers-reduced-motion:reduce){.geo-intro *{animation:none!important;transition:none!important}.geo-intro{transition:none!important}.intro-canvas,.welcome-orbit{animation:none!important}}

.intro-brand{color:inherit}.intro-nav{display:flex;align-items:center;gap:25px;font-size:12px;color:#567b97}.intro-nav a{color:inherit}.intro-enter{color:white}.intro-motion{padding:0;background:transparent;font-size:10px;color:#567b97;border:0}.intro-motion:disabled{cursor:default}.intro-track span{transform:scaleX(1)}
@media(max-width:699px){.geo-intro{min-height:820px}.intro-nav{gap:13px;font-size:11px}}
