/* 10.09 PSD: exclude the native WeChat header; retain flexible H5 viewport. */
@font-face { font-family: MiSans; src: url(../assets/fonts/misans/MiSans-Regular.woff2) format('woff2'); font-weight: 100 500; font-display: swap; }
@font-face { font-family: MiSans; src: url(../assets/fonts/misans/MiSans-Semibold.woff2) format('woff2'); font-weight: 600 900; font-display: swap; }
:root { --font: "MiSans","PingFang SC","Microsoft YaHei",sans-serif; }
[hidden] { display: none !important; }
#s-login { background: #142632 url(../assets/img/ui-20261009/bg-login-h5.jpg) center/cover no-repeat; }
.login-brand { position: absolute; width: calc(145 * var(--u)); left: 50%; top: 14%; transform: translateX(-50%); }
.login-bottom { position: absolute; left: 0; right: 0; bottom: max(5%, env(safe-area-inset-bottom)); display: flex; flex-direction: column; align-items: center; gap: calc(12 * var(--u)); }
.login-button { width: calc(270 * var(--u)); height: calc(40 * var(--u)); display: flex; align-items: center; justify-content: center; gap: calc(14 * var(--u)); border-radius: calc(5 * var(--u)); font-size: calc(14 * var(--u)); }
.login-button img { width: calc(23 * var(--u)); height: calc(20 * var(--u)); object-fit: contain; }
.login-wechat { background: var(--yellow); color: #000; }
.login-browser { color: #fff; border: 1px solid #ffffff80; }
.login-consent { display: flex; align-items: center; gap: calc(8 * var(--u)); max-width: 90%; color: #eee; font-size: calc(10 * var(--u)); margin-top: calc(9 * var(--u)); }
.login-consent input { accent-color: var(--yellow); width: 13px; height: 13px; }
.login-consent button { color: var(--yellow); text-decoration: underline; font-size: inherit; }
.login-message { min-height: calc(28 * var(--u)); max-width: 84%; color: #eee; text-align: center; font-size: calc(10 * var(--u)); line-height: 1.5; }
.splash-bg, .guide-bg { background-image: url(../assets/img/ui-20261009/bg-splash-h5.jpg); }
.splash-slogan { top: 7.2%; font-size: calc(23 * var(--u)); line-height: 1.16; letter-spacing: 0; font-weight: 400; }
.splash-bottom { bottom: 6.5%; gap: calc(9 * var(--u)); }
.brand-row { margin-bottom: calc(7 * var(--u)); gap: calc(5 * var(--u)); }
.brand-logo { width: calc(48 * var(--u)); }
.brand-text { font-size: calc(19 * var(--u)); letter-spacing: 0; }
.btn-history { background: #fff; }
.profile-bg { background: url(../assets/img/ui-20261009/bg-profile-h5.jpg) center/cover no-repeat; }
.skin-desc { max-width: calc(150 * var(--u)); font-size: calc(11.5 * var(--u)); }
#s-history { background: #efefef url(../assets/img/ui-20261009/bg-history-h5.jpg) center/cover fixed; }
.history-content { padding: calc(28 * var(--u)) calc(17 * var(--u)) calc(36 * var(--u)); }
.history-count { text-align: center; padding: calc(16 * var(--u)) calc(12 * var(--u)) calc(21 * var(--u)); }
.history-count > span { color: #888; font-size: calc(12 * var(--u)); }
.history-count > span::after { content: ''; display: block; width: calc(45 * var(--u)); margin: calc(12 * var(--u)) auto; border-bottom: 1px solid #eee; }
.history-count p { font-size: calc(12 * var(--u)); }
.identity-note { color: #888; font-size: calc(10 * var(--u)); line-height: 1.6; margin: calc(12 * var(--u)) calc(4 * var(--u)) calc(20 * var(--u)); }
.history-item { padding: calc(13 * var(--u)) calc(19 * var(--u)) calc(10 * var(--u)); overflow: hidden; margin-top: calc(6 * var(--u)); }
.history-item p { font-size: calc(12 * var(--u)); padding-bottom: calc(7 * var(--u)); border-bottom: 1px solid #eee; }
.history-item p span { color: #888; margin-right: calc(8 * var(--u)); }
.history-detail { display: block; margin: calc(7 * var(--u)) 0 0 auto; background: var(--yellow); border-radius: calc(5 * var(--u)); width: calc(80 * var(--u)); font-size: calc(12 * var(--u)); min-height: calc(23 * var(--u)); }
.history-retry { display: block; margin: 20px auto; color: #707070; text-decoration: underline; font-size: 12px; }
#s-report { background: #efefef url(../assets/img/ui-20261009/bg-report-h5.jpg) center top/100% auto; }
.report-body { padding: calc(28 * var(--u)) calc(17 * var(--u)) calc(42 * var(--u)); }
.report-title { font-size: calc(23 * var(--u)); padding: 0; margin-bottom: calc(23 * var(--u)); }
.card { border-radius: calc(7 * var(--u)); }
.card-summary { display: grid; grid-template-columns: 1fr 1fr; gap: calc(15 * var(--u)) 0; padding: calc(16 * var(--u)) calc(14 * var(--u)); }
.sum-score { width: auto; flex: none; }
.sum-age { min-width: 0; padding-left: calc(16 * var(--u)); align-items: center; }
.sum-age .stat-label { font-size: calc(12 * var(--u)); }
.stat-age b { font-size: calc(54 * var(--u)); }
.card-dims { grid-column: 1 / -1; padding: 0; }
.dims-row { margin: 0; }
.dim-name { font-size: calc(11 * var(--u)); }
.dim-score { font-size: calc(27 * var(--u)); }
.dim-score b { font-size: calc(36 * var(--u)); }
.dim-flag { font-size: calc(8 * var(--u)); }
.age-pill, .dims-note { display: none !important; }
.dimension-title { font-size: calc(23 * var(--u)); text-align: center; margin: calc(24 * var(--u)) 0 calc(12 * var(--u)); }
.card-detail { margin-top: 0; padding: calc(4 * var(--u)) calc(39 * var(--u)) calc(19 * var(--u)); }
.detail-tabs { border: none; }
.dtab-tx { font-size: calc(12 * var(--u)); padding-bottom: calc(10 * var(--u)); }
.dtab.active .dtab-tx::after { width: calc(76 * var(--u)); height: calc(7 * var(--u)); }
.dpanel.active { padding-top: calc(10 * var(--u)); }
.ditem { display: block; }
.viz-frame { position: relative; width: calc(215 * var(--u)); height: calc(278 * var(--u)); margin: 0 auto calc(12 * var(--u)); background: #f6f6f6; border-radius: calc(5 * var(--u)); overflow: hidden; }
.ditem-img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; position: relative; z-index: 1; }
.viz-missing { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #888; font-size: calc(12 * var(--u)); }
.ditem-img:not([hidden]) + .viz-missing { display: none; }
.ditem-text { border-top: 1px solid #eee; padding-top: calc(10 * var(--u)); }
.ditem-para { font-size: calc(12 * var(--u)); line-height: 1.55; }
.card-care { padding: calc(20 * var(--u)) calc(25 * var(--u)); }
.card-heading { font-size: calc(23 * var(--u)); text-align: center; margin-bottom: calc(18 * var(--u)); }
.care-item, .care-summary { font-size: calc(12 * var(--u)); }
.prod-card { min-height: calc(175 * var(--u)); }
.prod-info { padding: calc(32 * var(--u)) calc(15 * var(--u)) calc(20 * var(--u)); }
#product-title { font-size: calc(14 * var(--u)); font-weight: 600; white-space: nowrap; }
.prod-name { font-size: calc(12 * var(--u)); font-weight: 400; margin-top: calc(6 * var(--u)); }
.prod-badge { width: calc(36 * var(--u)); margin-top: calc(20 * var(--u)); }
.prod-scroll { flex-basis: 50%; }
.prod-scroll img { object-fit: cover; aspect-ratio: 1 / 1; }
#p-privacy { background: linear-gradient(#0008,#0008),url(../assets/img/ui-20261009/bg-splash-h5.jpg) center/cover; }
#p-photoguide .popup { padding: calc(62 * var(--u)) calc(30 * var(--u)) calc(40 * var(--u)); }
.popup-title-center { text-align: left; margin: 0 0 calc(18 * var(--u)); }
.guide-description { font-size: calc(12 * var(--u)); line-height: 1.6; margin-bottom: calc(35 * var(--u)); }
.cam-feature-lines { fill: none; stroke: #fff; stroke-width: 2.5; stroke-dasharray: 5 5; filter: drop-shadow(0 1px 1px #000); }
#s-cam:not(.cam-live) .cam-feature-lines { stroke: #111; filter: none; }
.font-credit { display: block; text-align: center; color: #888; font-size: 10px; margin: 24px auto 0; }
@media (max-height: 560px) { .login-brand { top: 8%; } .login-bottom { bottom: 2%; } .splash-slogan { font-size: calc(18 * var(--u)); } }
