/* 网页版欢迎页（11-06 实验，见 welcome.js）：Flutter 起来前先画出欢迎页第一屏，样子照 lib/pages/auth/welcome_page.dart。
   数值都取自 Flutter 那边（括号里是出处），改了那边这里一起改。欢迎页一直是深色（welcome_page.dart 开头）。 */
/* 精简字体（scripts/gen-welcome-fonts.py 从 App 打包的同一套字体里只抽欢迎页用到的字）：字形、度量和 Flutter 的一样，每份几 KB */
@font-face { font-family: NPWInter; src: url(welcome-fonts/inter-400.woff2) format("woff2"); font-weight: 400; font-display: block; }
@font-face { font-family: NPWInter; src: url(welcome-fonts/inter-500.woff2) format("woff2"); font-weight: 500; font-display: block; }
@font-face { font-family: NPWInter; src: url(welcome-fonts/inter-700.woff2) format("woff2"); font-weight: 700; font-display: block; }
@font-face { font-family: NPWSc; src: url(welcome-fonts/sc-400.woff2) format("woff2"); font-weight: 400; font-display: block; }
@font-face { font-family: NPWTc; src: url(welcome-fonts/tc-400.woff2) format("woff2"); font-weight: 400; font-display: block; }
#np-splash.np-static { display: block; background: #060606; }
#np-splash.np-static > img, #np-splash.np-static > i { display: none; }
#np-welcome { position: absolute; inset: 0; padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  color: #fff; font-family: NPWInter, sans-serif; -webkit-font-smoothing: antialiased; overflow: hidden; }
#np-welcome.w-zh { font-family: NPWInter, NPWSc, sans-serif; }
#np-welcome.w-zh_Hant { font-family: NPWInter, NPWTc, sans-serif; }
/* 和 Flutter 逐像素对齐（11-06 截图逐个量，welcome_align）：浏览器把汉字画得比 Flutter 高约字号的 6%（16px 高 1、32px 高 1.5–2），
   中文时所有字往下挪 0.06em；按钮里的字各语言都比 Flutter 高约 1.25px，再往下挪这么多 */
#np-welcome { --w-shift: 0px; }
#np-welcome.w-zh, #np-welcome.w-zh_Hant { --w-shift: 0.06em; }
#np-welcome .w-hello, #np-welcome .w-one, #np-welcome .w-wrap { position: relative; top: var(--w-shift); }
#np-welcome button span { position: relative; top: calc(1.25px + var(--w-shift)); }
/* 手机宽度以内（phoneMaxWidth 480），居中 */
#np-welcome .w-frame { position: relative; height: 100%; max-width: 480px; margin: 0 auto; display: flex; flex-direction: column; }
/* 顶上：进度条（PageSizes.progressHeight 4、progressGap 4；深色 progressOff 白 12%、progressOn 白）、
   离 N 标那一行 20（welcomeBarToRow），那一行高 24（welcomeRowHeight）；左右 20、上 8（welcomeSide、welcomeTop） */
#np-welcome .w-top { padding: 8px 20px 0; }
#np-welcome .w-bar { display: flex; gap: 4px; }
#np-welcome .w-bar span { flex: 1; height: 4px; border-radius: 999px; background: rgba(255, 255, 255, .12); overflow: hidden; }
#np-welcome .w-bar b { display: block; height: 100%; width: 0; background: #fff; }
#np-welcome .w-row { display: flex; align-items: center; height: 24px; margin-top: 20px; }
/* N 标 20（welcomeMark）：App 图标里的白字占 0.585（markInIcon），图标放大到 20 / 0.585 再裁到 20，颜色矩阵见 index.html 的 np-mark */
#np-welcome .w-mark { position: relative; width: 20px; height: 20px; overflow: hidden; flex: none; }
#np-welcome .w-mark img { position: absolute; width: 34.188px; height: 34.188px; left: -7.094px; top: -7.094px; filter: url(#np-mark); }
/* 「欢迎来到 NewPay」：16 / 24 字重 500 字距 -0.24（AppText.subtitle），离 N 标 8（AppSpace.s） */
#np-welcome .w-hello { margin-left: 8px; font-size: 16px; line-height: 24px; font-weight: 500; letter-spacing: -0.24px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#np-welcome .w-slide { position: relative; flex: 1; overflow: visible; }
#np-welcome .w-text { position: absolute; left: 0; top: 0; transform-origin: 0 0; padding: 32px 32px 0; box-sizing: border-box; }
/* 标题 32 / 39 字重 700（AppText.welcomeTitle），三层：底层、模糊 2 透明 80%、透明 60%（PageSizes.glow*），
   字面左白右暗（WelcomeGlow.slide1：0.705 起暗、0.94 到 #1A1A1A），渐变铺满这一栏宽 */
#np-welcome .w-title { position: relative; font-size: 32px; line-height: 39px; font-weight: 700; letter-spacing: 0; }
#np-welcome .w-title > div { text-align: center; color: transparent;
  background: linear-gradient(90deg, #fff 0%, #fff 70.5%, #1a1a1a 94%, #1a1a1a 100%);
  -webkit-background-clip: text; background-clip: text; }
#np-welcome .w-title > div + div { position: absolute; left: 0; top: 0; width: 100%; }
#np-welcome .w-title > .w-blur { filter: blur(2px); opacity: .8; }
#np-welcome .w-title > .w-top-layer { opacity: .6; }
/* 说明 16 / 24 字距 -0.2（AppText.input），白 72%（AppOpacity.welcomeBody），离标题 12（AppSpace.m） */
#np-welcome .w-body { margin-top: 12px; font-size: 16px; line-height: 24px; font-weight: 400; letter-spacing: -0.2px;
  color: rgba(255, 255, 255, .72); text-align: center; }
#np-welcome .w-one { white-space: nowrap; }
#np-welcome .w-wrap { margin: 0 auto; }
#np-welcome .w-art { position: absolute; }
#np-welcome .w-art img { width: 100%; height: 100%; object-fit: contain; display: block; }
/* 底下两个按钮：上 16、左右 20、下 24（AppSpace.l、welcomeSide、AppSpace.xl），间隔 12（AppSpace.m）；
   大按钮高 64、胶囊、字 18 / 22 字重 500（AppButtonSize.large、AppText.button），左右内边距 24（buttonHPadding）。
   「注册」白底黑字（buttonNeutral），按下白 8% 底、#848484 字；「登录」白 8% 底白字（buttonGray），按下白 4% 底、#AEAEAE 字 */
#np-welcome .w-buttons { display: flex; gap: 12px; padding: 16px 20px 24px; }
#np-welcome button { flex: 1; min-width: 0; height: 64px; padding: 0 24px; border: 0; border-radius: 999px; font: inherit;
  font-size: 18px; line-height: 22px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer;
  -webkit-tap-highlight-color: transparent; }
#np-welcome .w-register { background: #fff; color: #060606; }
#np-welcome .w-register.w-pressed { background: rgba(255, 255, 255, .08); color: #848484; }
#np-welcome .w-login { background: rgba(255, 255, 255, .08); color: #fff; }
#np-welcome .w-login.w-pressed { background: rgba(255, 255, 255, .04); color: #aeaeae; }
/* N 标的颜色滤镜定义（index.html），本身不占地方 */
.np-defs { position: absolute; }
/* 量字用，不显示 */
#np-welcome .w-measure { position: absolute; left: -9999px; top: 0; visibility: hidden; }
