/* ── 品牌字标字体（与侧边栏一致）── */
@font-face { font-family: 'Great Vibes'; src: url('/fonts/solace/great-vibes.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Allura'; src: url('/fonts/solace/allura.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Parisienne'; src: url('/fonts/solace/parisienne.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Sacramento'; src: url('/fonts/solace/sacramento.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Caveat'; src: url('/fonts/solace/caveat.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Patrick Hand'; src: url('/fonts/solace/patrick-hand.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Delius'; src: url('/fonts/solace/delius.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Architects Daughter'; src: url('/fonts/solace/architects-daughter.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Handlee'; src: url('/fonts/solace/handlee.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Coming Soon'; src: url('/fonts/solace/coming-soon.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Schoolbell'; src: url('/fonts/solace/schoolbell.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Nanum Pen Script'; src: url('/fonts/solace/nanum-pen-script.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Shadows Into Light'; src: url('/fonts/solace/shadows-into-light.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Indie Flower'; src: url('/fonts/solace/indie-flower.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Kalam'; src: url('/fonts/solace/kalam.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Rock Salt'; src: url('/fonts/solace/rock-salt.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Permanent Marker'; src: url('/fonts/solace/permanent-marker.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Reenie Beanie'; src: url('/fonts/solace/reenie-beanie.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Just Another Hand'; src: url('/fonts/solace/just-another-hand.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Zeyada'; src: url('/fonts/solace/zeyada.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Nothing You Could Do'; src: url('/fonts/solace/nothing-you-could-do.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Gloria Hallelujah'; src: url('/fonts/solace/gloria-hallelujah.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Chewy'; src: url('/fonts/solace/chewy.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'UnifrakturMaguntia'; src: url('/fonts/solace/unifrakturmaguntia.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Pirata One'; src: url('/fonts/solace/pirata-one.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Grenze Gotisch'; src: url('/fonts/solace/grenze-gotisch.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'MedievalSharp'; src: url('/fonts/solace/medievalsharp.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Cinzel Decorative'; src: url('/fonts/solace/cinzel-decorative.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Italiana'; src: url('/fonts/solace/italiana.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Poiret One'; src: url('/fonts/solace/poiret-one.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

/* ── 开屏中文（只含开屏用到的字）── */
@font-face { font-family: 'SplashCN-ZhiMang'; src: url('/fonts/solace/cn/zhi-mang-xing.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SplashCN-MaShanZheng'; src: url('/fonts/solace/cn/ma-shan-zheng.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SplashCN-LongCang'; src: url('/fonts/solace/cn/long-cang.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SplashCN-LiuJianMaoCao'; src: url('/fonts/solace/cn/liu-jian-mao-cao.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SplashCN-ZCOOLKuaiLe'; src: url('/fonts/solace/cn/zcool-kuaile.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SplashCN-ZCOOLQingKe'; src: url('/fonts/solace/cn/zcool-qingke-huangyou.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SplashCN-NotoSerif900'; src: url('/fonts/solace/cn/noto-serif-sc-900.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SplashCN-ZCOOLXiaoWei'; src: url('/fonts/solace/cn/zcool-xiaowei.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SplashCN-NotoSans300'; src: url('/fonts/solace/cn/noto-sans-sc-300.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

/* ── 开屏本体 ── */
#boot-splash {
  --splash-serif: "Songti SC", "Noto Serif SC", Georgia, serif;
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 2.4vh;
  padding-left: 13vw;
  background: var(--sp-bg, #FFFDFB);
  pointer-events: auto;
  opacity: 1;
  transition: opacity 0.45s ease;
  font-family: var(--splash-serif);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
#boot-splash.out { opacity: 0; pointer-events: none; }
/* 开屏脚本还没跑起来时，先按当前深浅模式垫底色，避免闪白 */
:where(html[data-polaris-appearance='dark']) #boot-splash { background: var(--sp-bg, #120B0E); }

#boot-splash .row { display: flex; align-items: baseline; gap: 5vw; height: 9.4vh; }
#boot-splash .L {
  flex: 0 0 19vw;
  width: 19vw;
  padding-right: 7vw;
  font-size: min(8.4vh, 15vw);
  line-height: 1;
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 0.45s ease, transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1);
}
#boot-splash .L.in { opacity: 1; transform: none; }
#boot-splash .Li {
  display: inline-block;
  padding: 0.65em 0.7em;
  margin: -0.65em -0.7em;
  background-image: var(--sp-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: var(--sp-glow);
}
#boot-splash .wd { position: relative; height: 7.4vh; flex: 1; }
#boot-splash .w {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6vh;
  padding: 2.2vh 2.6vw 2.4vh 2.6vw;
  margin: -2.2vh -2.6vw -2.4vh -2.6vw;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.7s cubic-bezier(0.3, 0.6, 0.2, 1);
}
#boot-splash .w.in { clip-path: inset(0 0 0 0); }
#boot-splash b {
  font-weight: 400;
  font-size: min(3.2vh, 5.9vw);
  line-height: 1.15;
  padding: 0.55em 0.35em 0.6em 0.3em;
  margin: -0.55em -0.35em -0.6em -0.3em;
  background-image: var(--sp-word);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: var(--sp-glow);
}
#boot-splash i {
  font-style: normal;
  font-size: min(2.1vh, 3.9vw);
  letter-spacing: 0.34em;
  line-height: 1.25;
  color: var(--sp-cn);
}

/* 粉金 · 浅色 */
#boot-splash.sp-rose-light {
  --sp-bg: radial-gradient(56% 44% at 50% 45%, rgba(255, 244, 238, 0.9), rgba(255, 253, 251, 0) 70%), #FFFDFB;
  --sp-grad: linear-gradient(135deg, #E39AA3 0%, #D17882 46%, #BC803D 100%);
  --sp-word: linear-gradient(135deg, #D67E88 0%, #C66E79 48%, #B77C3E 100%);
  --sp-cn: #A15C68;
  --sp-glow: drop-shadow(0 1px 1px rgba(150, 100, 70, 0.10));
}

/* 粉金 · 深色 */
#boot-splash.sp-rose-dark {
  --sp-bg: radial-gradient(50% 40% at 50% 42%, rgba(190, 90, 110, 0.12), transparent 72%), #120B0E;
  --sp-grad: linear-gradient(135deg, #F2C6CB 0%, #D17882 46%, #C9A25F 100%);
  --sp-word: linear-gradient(135deg, #EAB6BC 0%, #D17882 46%, #C9A25F 100%);
  --sp-cn: #D3A0A5;
  --sp-glow: drop-shadow(0 0 18px rgba(220, 150, 160, 0.12));
}

/* 蓝金 · 浅色 */
#boot-splash.sp-blue-light {
  --sp-bg: radial-gradient(56% 44% at 50% 45%, rgba(214, 230, 247, 0.8), rgba(251, 253, 255, 0) 70%), #FBFDFF;
  --sp-grad: linear-gradient(135deg, #8FB2D9 0%, #5F86B8 48%, #B07A36 100%);
  --sp-word: linear-gradient(135deg, #7FA5CE 0%, #5F86B8 48%, #B07A36 100%);
  --sp-cn: #5F7E9E;
  --sp-glow: drop-shadow(0 1px 1px rgba(90, 110, 140, 0.10));
}

/* 蓝金 · 深色 */
#boot-splash.sp-blue-dark {
  --sp-bg: radial-gradient(50% 40% at 50% 42%, rgba(120, 160, 215, 0.12), transparent 72%), #090B14;
  --sp-grad: linear-gradient(135deg, #C9D9EC 0%, #83A8D8 46%, #C9A25F 100%);
  --sp-word: linear-gradient(135deg, #BFD2E8 0%, #83A8D8 46%, #C9A25F 100%);
  --sp-cn: #9DB7CF;
  --sp-glow: drop-shadow(0 0 18px rgba(160, 190, 230, 0.12));
}

/* 红金 · 浅色 */
#boot-splash.sp-red-light {
  --sp-bg: radial-gradient(56% 44% at 50% 45%, rgba(255, 222, 222, 0.82), rgba(255, 251, 250, 0) 70%), #FFFBFA;
  --sp-grad: linear-gradient(135deg, #D97A88 0%, #A94A5C 48%, #B07A36 100%);
  --sp-word: linear-gradient(135deg, #C96577 0%, #A94A5C 48%, #B07A36 100%);
  --sp-cn: #9E5561;
  --sp-glow: drop-shadow(0 1px 1px rgba(150, 90, 90, 0.10));
}

/* 红金 · 深色 */
#boot-splash.sp-red-dark {
  --sp-bg: radial-gradient(50% 40% at 50% 42%, rgba(180, 80, 100, 0.12), transparent 72%), #120A0C;
  --sp-grad: linear-gradient(135deg, #F0B7B7 0%, #AB5163 46%, #C9A25F 100%);
  --sp-word: linear-gradient(135deg, #E8A9AA 0%, #AB5163 46%, #C9A25F 100%);
  --sp-cn: #C98E92;
  --sp-glow: drop-shadow(0 0 18px rgba(210, 140, 150, 0.12));
}

@media (prefers-reduced-motion: reduce) {
  #boot-splash, #boot-splash .L, #boot-splash .w { transition-duration: 0.01ms; }
}
