
/*! NO8GEO-AUTHORSHIP-20261013 | 教学设计与平台开发：史若彬 | 版权所有，仅限个人使用，侵权必究 | no8geo.online
 * 声明适用于本站原创教学设计及平台开发；第三方库、授权素材与共创作品保留各自作者及许可。 */
/* no8geo.online 网站开屏（NO8GEO-20260928-03），配合 _cdn/site-splash.js */
html.splash-on,html.splash-on body{overflow:hidden}
html.splash-on body>:not(#site-splash){visibility:hidden}

#site-splash{position:fixed;inset:0;z-index:2147483000;overflow:hidden;background:#020914;color:#f0f7fb;cursor:pointer;
  font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;transition:opacity .7s ease}
#site-splash.is-leaving{opacity:0;pointer-events:none}
.site-splash__scene{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
#site-splash.is-ready .site-splash__scene{opacity:1}
/* 底部压暗，保证文字落在月面暗处时清晰 */
.site-splash__veil{position:absolute;left:0;right:0;bottom:0;height:42%;pointer-events:none;
  background:linear-gradient(180deg,rgba(2,9,20,0),rgba(2,9,20,.55) 55%,rgba(2,9,20,.82))}

.site-splash__language{position:absolute;z-index:2;top:max(18px,env(safe-area-inset-top));right:clamp(16px,4vw,48px);
  display:flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(180,234,255,.32);border-radius:999px;
  background:rgba(2,13,27,.62);color:#a9bdca;font:inherit;font-size:13px;letter-spacing:.04em;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.site-splash__language button{border:0;border-radius:999px;padding:6px 9px;background:transparent;color:#a9bdca;
  font:inherit;font-size:inherit;cursor:pointer}
.site-splash__language button[aria-pressed="true"]{background:rgba(197,235,251,.17);color:#f0f7fb;font-weight:700}
.site-splash__language button:hover{color:#fff}
.site-splash__language button:focus-visible{outline:2px solid #b4eaff;outline-offset:1px}
.site-splash__language-divider{color:#7492a6;font-size:12px}

.site-splash__copy{position:absolute;z-index:1;left:50%;bottom:66px;transform:translateX(-50%);
  width:min(calc(100% - 32px),820px);text-align:center;pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.85)}
.site-splash__kicker{margin:0 0 12px;color:#8dc9e7;opacity:0;transition:opacity .9s ease .2s}
.site-splash__brand{display:block;margin-bottom:4px;font-size:10px;line-height:1.3;letter-spacing:.22em}
.site-splash__title{display:block;font-size:clamp(13px,1.4vw,18px);line-height:1.35;letter-spacing:.12em;text-wrap:balance}
#site-splash.is-ready .site-splash__kicker{opacity:.85}
.site-splash__lines{margin:0;display:flex;flex-direction:column;align-items:center;gap:.28em;
  font-size:clamp(18px,2.7vw,34px);font-weight:600;letter-spacing:.08em;line-height:1.3}
.site-splash__line{display:block;min-height:1.3em;white-space:nowrap}
.site-splash__line[hidden]{display:none}
.site-splash__line:empty{visibility:hidden}
#site-splash.is-english .site-splash__lines{font-size:clamp(14px,1.8vw,23px);letter-spacing:.01em;line-height:1.32;gap:.1em}
#site-splash.is-english .site-splash__title{font-size:clamp(10px,1.1vw,14px);letter-spacing:.06em}
/* 打字光标 */
.site-splash__line.is-active::after{content:"";display:inline-block;width:2px;height:.95em;margin-left:.12em;vertical-align:-.1em;
  background:#b4eaff;box-shadow:0 0 8px #7ccbec;animation:site-splash-caret .9s steps(1) infinite}
@keyframes site-splash-caret{50%{opacity:0}}
.site-splash__hint{position:absolute;z-index:2;left:50%;top:68%;transform:translateX(-50%);
  display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 32px);margin:0;padding:10px 18px;
  border:1px solid rgba(180,234,255,.5);border-radius:999px;background:rgba(12,38,61,.58);
  color:#e6f6ff;font:inherit;font-size:15px;line-height:1.3;letter-spacing:.1em;white-space:nowrap;opacity:0;visibility:hidden;
  pointer-events:none;cursor:pointer;transition:opacity .6s ease,background .2s ease}
#site-splash.is-complete .site-splash__hint{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.35s,0s}
#site-splash.is-positioning .site-splash__hint{visibility:hidden;pointer-events:none}
.site-splash__hint:hover{background:rgba(46,101,139,.72)}
.site-splash__hint:focus-visible{outline:2px solid #b4eaff;outline-offset:3px}

.site-splash__loading{position:absolute;z-index:2;left:clamp(16px,3vw,42px);right:clamp(16px,3vw,42px);bottom:19px;
  display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;min-width:0;
  color:#c4e8f8;font-size:16px;line-height:1.3;letter-spacing:.04em;
  opacity:0;transition:opacity .6s ease;text-shadow:0 1px 9px #000;pointer-events:none}
#site-splash.is-ready .site-splash__loading{opacity:.9}
.site-splash__loading-status{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.site-splash__loading-percent{grid-column:3;text-align:right;color:#d2eaf5;font-size:12px;font-variant-numeric:tabular-nums}
.site-splash__progress{position:absolute;left:0;right:0;bottom:0;height:6px;background:rgba(160,210,236,.12)}
.site-splash__progress span{position:relative;display:block;width:0;height:100%;background:linear-gradient(90deg,#3778c8,#69d7e4,#d3f6ff);
  box-shadow:0 0 10px rgba(101,198,237,.68)}
.site-splash__progress span::after{content:"";position:absolute;right:0;top:-1px;width:14px;height:8px;
  background:#d3f6ff;filter:blur(4px)}

@media (max-width:640px){
  .site-splash__lines{font-size:clamp(18px,5.5vw,25px);letter-spacing:.06em}
  .site-splash__kicker{margin-bottom:10px}
  .site-splash__brand{font-size:9px;letter-spacing:.16em}
  .site-splash__title{font-size:13px;letter-spacing:.08em}
  .site-splash__hint{font-size:14px;padding:8px 15px}
  #site-splash.is-english .site-splash__lines{font-size:clamp(12px,3.6vw,20px);letter-spacing:0}
  #site-splash.is-english .site-splash__title{font-size:10px;letter-spacing:.02em}
  #site-splash.is-english .site-splash__hint{font-size:12px;letter-spacing:.04em}
  .site-splash__loading{left:12px;right:12px;bottom:max(17px,env(safe-area-inset-bottom));font-size:14px;
    grid-template-columns:32px minmax(0,1fr) 32px}
  .site-splash__loading-percent{font-size:10px}
}
@media (max-height:460px){
  .site-splash__lines{font-size:20px;gap:.12em}
  .site-splash__kicker{margin-bottom:8px}
  .site-splash__brand{font-size:9px;margin-bottom:2px}
  .site-splash__title{font-size:12px}
  #site-splash.is-english .site-splash__lines{font-size:13px}
  #site-splash.is-english .site-splash__title{font-size:10px}
  .site-splash__hint{font-size:13px;padding:7px 14px}
  .site-splash__loading{font-size:13px;bottom:16px}
}
@media (prefers-reduced-motion:reduce){
  #site-splash,.site-splash__scene,.site-splash__kicker,.site-splash__hint,.site-splash__loading{transition:none}
  .site-splash__line.is-active::after{animation:none}
}
