:root {
  color-scheme: only light;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  --blue: #075bdc;
  --navy: #082b58;
  --red: #f42d4f;
  --line: #d9e5ef;
  --muted: #6e8194;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { background: #071a34; color: var(--navy); overflow-x: auto; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.mobile-site-header, .mobile-home, .mobile-mall { display: none; }

.site { min-width: 1080px; min-height: 100vh; display: grid; place-items: start center; background: #071a34; }
.screen {
  position: relative;
  width: min(100vw, 1920px);
  min-width: 1080px;
  aspect-ratio: 16 / 9;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0, 14, 34, .35);
}
.screen:not(.is-active) { display: none; }
.design { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }

.hotspot {
  position: absolute;
  z-index: 2;
  padding: 0;
  border: 0;
  border-radius: .5vw;
  background: transparent;
  color: transparent;
}
.hotspot::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 0 rgba(0, 91, 220, 0); transition: box-shadow .16s, background .16s; }
.hotspot:hover::after { box-shadow: inset 0 0 0 .12vw rgba(0, 91, 220, .42); background: rgba(7, 91, 220, .045); }
.hotspot:focus-visible { outline: .18vw solid #0b6fe8; outline-offset: .12vw; }

.logo-home { left: 5.7%; top: 2.4%; width: 13.2%; height: 9.2%; }
.home-nav-home { left: 32.8%; top: 3.6%; width: 5.4%; height: 7.6%; }
.home-nav-bodytest { left: 39.4%; top: 3.6%; width: 7.6%; height: 7.6%; }
.home-nav-events { left: 48.1%; top: 3.6%; width: 7.6%; height: 7.6%; }
.home-nav-mall { left: 56.8%; top: 3.6%; width: 7.6%; height: 7.6%; }
.home-nav-downloads { left: 65.5%; top: 3.6%; width: 7.6%; height: 7.6%; }

.logo-mall { left: 4.9%; top: 1.8%; width: 14%; height: 8.5%; }
.mall-nav-home { left: 33.6%; top: 2.9%; width: 5.3%; height: 7.2%; }
.mall-nav-bodytest { left: 39.9%; top: 2.9%; width: 7.1%; height: 7.2%; }
.mall-nav-events { left: 47.7%; top: 2.9%; width: 7.1%; height: 7.2%; }
.mall-nav-mall { left: 55.5%; top: 2.9%; width: 7.1%; height: 7.2%; }
.mall-nav-downloads { left: 63.3%; top: 2.9%; width: 7.1%; height: 7.2%; }
.mall-cart { left: 74.6%; top: 2.5%; width: 9.1%; height: 7.7%; }
.mall-orders { left: 85.8%; top: 2.5%; width: 10.1%; height: 7.7%; }
.mall-next { left: 94.8%; top: 23.6%; width: 4.1%; height: 4.2%; }
.mall-page-cover {
  position: absolute; z-index: 1; left: 94.2%; top: 24.2%; width: 4.7%; padding: .35% 0;
  color: #72869a; background: rgba(232,244,255,.96); font-size: clamp(8px, .72vw, 14px); text-align: center;
}
.mall-page-number {
  position: absolute; z-index: 3; right: 5.8%; bottom: 1.3%; padding: .35% .75%; border-radius: 999px;
  color: #46647f; background: rgba(255,255,255,.82); box-shadow: 0 .15vw .65vw rgba(4,44,91,.09);
  font-size: clamp(8px, .7vw, 13px); pointer-events: none;
}
.mall-catalog { left: 5.5%; top: 23.7%; width: 6.1%; height: 5.4%; }
.mall-sort { left: 83.8%; top: 23.7%; width: 10.5%; height: 5.4%; }
.cart-badge {
  position: absolute; z-index: 4; left: 78.1%; top: 3.3%; min-width: 1.35%; aspect-ratio: 1;
  display: grid; place-items: center; padding: .15%; border-radius: 999px; color: #fff; background: var(--red);
  box-shadow: 0 .2vw .7vw rgba(244,45,79,.35); font-size: clamp(8px, .7vw, 14px); font-weight: 800;
  pointer-events: none;
}

.product { height: 30.8%; width: 21.1%; border-radius: 1.2vw; }
.p1 { left: 5.72%; top: 30.74%; }
.p2 { left: 28.23%; top: 30.74%; }
.p3 { left: 50.73%; top: 30.74%; }
.p4 { left: 73.23%; top: 30.74%; }
.p5 { left: 5.72%; top: 63.7%; }
.p6 { left: 28.23%; top: 63.7%; }
.p7 { left: 50.73%; top: 63.7%; }
.p8 { left: 73.23%; top: 63.7%; }

.support-launch { position: fixed; z-index: 80; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 20px; border: 0; border-radius: 999px; color: #fff; background: linear-gradient(90deg,#0753d7,#1388ee); box-shadow: 0 14px 36px rgba(7,91,220,.3); font-weight: 800; }
.support-launch span { width: 9px; height: 9px; border: 2px solid rgba(255,255,255,.7); border-radius: 50%; background: #38dfa7; box-shadow: 0 0 0 4px rgba(56,223,167,.18); }
.support-panel { position: fixed; z-index: 110; right: 24px; bottom: 84px; display: grid; grid-template-rows: auto 1fr; width: min(390px,calc(100vw - 32px)); max-height: min(680px,calc(100vh - 110px)); overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-radius: 22px; background: #fff; box-shadow: 0 26px 80px rgba(0,26,64,.32); }
.support-panel > header { display: flex; align-items: center; justify-content: space-between; padding: 17px 18px; color: #fff; background: linear-gradient(120deg,#082b58,#075bdc); }
.support-panel > header > div { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 8px; }
.support-panel > header b { font-size: 15px; }
.support-panel > header small { grid-column: 2; margin-top: 3px; color: rgba(255,255,255,.72); font-size: 10px; }
.support-panel > header button { border: 0; color: #fff; background: transparent; font-size: 28px; }
.support-online-dot { grid-row: 1 / 3; width: 10px; height: 10px; border-radius: 50%; background: #38dfa7; }
.support-welcome { overflow: auto; padding: 24px 20px; }
.support-welcome h2 { margin: 10px 0 8px; font-size: 23px; }
.support-welcome > p { margin: 0 0 18px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.support-welcome label { display: grid; gap: 6px; margin: 11px 0; color: #536b81; font-size: 12px; }
.support-welcome input, .support-welcome textarea, .support-reply-form textarea { width: 100%; padding: 11px 12px; border: 1px solid #cbd9e5; border-radius: 10px; outline: none; }
.support-panel input::-webkit-contacts-auto-fill-button,
.support-panel input::-webkit-credentials-auto-fill-button { position: absolute; right: 0; display: none !important; visibility: hidden; pointer-events: none; }
.support-welcome textarea { min-height: 88px; resize: vertical; }
.support-chat { display: grid; grid-template-rows: auto 1fr auto auto; min-height: 0; }
.support-chat-meta { display: flex; justify-content: space-between; align-items: center; padding: 9px 15px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.support-messages { display: flex; flex-direction: column; gap: 10px; min-height: 280px; overflow: auto; padding: 17px 15px; background: #f5f8fb; }
.support-message { max-width: 82%; padding: 10px 12px; border-radius: 14px 14px 14px 4px; color: #25455f; background: #fff; box-shadow: 0 3px 12px rgba(5,49,95,.06); font-size: 12px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.support-message.customer { align-self: flex-end; border-radius: 14px 14px 4px 14px; color: #fff; background: #0b6fe8; }
.support-message time { display: block; margin-top: 4px; color: #8ea0af; font-size: 9px; }
.support-message.customer time { color: rgba(255,255,255,.68); }
.support-typing { padding: 0 15px 8px; color: #8496a5; background: #f5f8fb; font-size: 10px; }
.support-reply-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 12px; border-top: 1px solid var(--line); }
.support-reply-form textarea { min-height: 46px; max-height: 100px; resize: none; }
.support-reply-form .primary { min-height: 46px; padding: 0 17px; }

.toast {
  position: fixed; z-index: 100; left: 50%; bottom: 34px; transform: translate(-50%, 22px);
  max-width: min(560px, 86vw); padding: 13px 22px; border-radius: 999px;
  color: #fff; background: rgba(4, 37, 76, .94); box-shadow: 0 12px 34px rgba(0, 20, 50, .28);
  opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s;
}
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

.overlay, .drawer-layer { position: fixed; inset: 0; z-index: 90; }
.overlay { display: grid; place-items: center; padding: 24px; background: rgba(2, 20, 45, .64); backdrop-filter: blur(8px); }
.dialog {
  position: relative; width: min(580px, 92vw); max-height: 92vh; overflow: auto;
  padding: 40px; border: 1px solid rgba(255,255,255,.7); border-radius: 26px; background: rgba(255,255,255,.98);
  box-shadow: 0 30px 80px rgba(0, 26, 64, .35); animation: dialog-in .2s ease-out;
}
@keyframes dialog-in { from { opacity: 0; transform: translateY(12px) scale(.98); } }
.dialog h2 { margin: 11px 0 10px; font-size: 30px; line-height: 1.25; }
.dialog p { color: var(--muted); line-height: 1.7; }
.close { border: 0; background: transparent; color: #5d7185; font-size: 30px; line-height: 1; }
.dialog > .close { position: absolute; right: 22px; top: 20px; }
.eyebrow { display: inline-flex; padding: 7px 12px; border-radius: 999px; color: #075bdc; background: #e8f2ff; font-size: 12px; font-weight: 700; }
.eyebrow.success { color: #008a69; background: #e5f8f2; }
.price { margin: 25px 0 12px; color: var(--red); font-size: 32px; font-weight: 800; }
.product-choice-row { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: end; gap: 18px; }
.product-specifications { min-width: 0; margin: 0 0 12px; padding: 0; border: 0; }
.product-specifications legend { margin-bottom: 7px; color: #4f6780; font-size: 12px; font-weight: 700; }
.product-specifications > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.product-specifications label { min-width: 0; cursor: pointer; }
.product-specifications input { position: absolute; opacity: 0; pointer-events: none; }
.product-specifications span { display: grid; min-height: 38px; place-items: center; padding: 6px 8px; border: 1px solid #cbdceb; border-radius: 10px; color: #355a78; background: #f8fbfe; font-size: 12px; font-weight: 700; text-align: center; transition: border-color .16s, color .16s, background .16s, box-shadow .16s; }
.product-specifications input:checked + span { border-color: #0b76eb; color: #075bdc; background: #eaf4ff; box-shadow: 0 0 0 2px rgba(11,118,235,.12); }
.product-specifications input:focus-visible + span { outline: 2px solid #0b76eb; outline-offset: 2px; }
.fee-card { display: grid; gap: 8px; padding: 15px 17px; border: 1px solid #dce8f2; border-radius: 16px; color: #587087; background: linear-gradient(145deg,#f8fbff,#f0f7ff); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); font-size: 13px; }
.fee-card > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.fee-card b { color: #173b62; font-size: 14px; }
.fee-card .fee-total { margin-top: 2px; padding-top: 10px; border-top: 1px dashed #c9d9e7; color: #0a2f5b; font-weight: 800; }
.fee-card .fee-total strong { color: var(--red); font-size: 24px; }
.shipping-progress { height: 7px; margin-top: 3px; overflow: hidden; border-radius: 999px; background: #dbe8f3; }
.shipping-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#075ee8,#22b5ec); transition: width .2s ease; }
.shipping-hint { margin: 0 !important; color: #e76524 !important; font-size: 12px !important; font-weight: 700; line-height: 1.5 !important; }
.shipping-hint.is-free { color: #008a69 !important; }
.product-fee-card { margin: 0 0 16px; }
.quantity { display: inline-grid; grid-template-columns: 42px 58px 42px; height: 42px; border: 1px solid #cdd9e3; border-radius: 11px; overflow: hidden; }
.quantity button { border: 0; background: #f0f5f9; color: #075bdc; font-size: 20px; }
.quantity output {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-inline: 1px solid #cdd9e3;
  font-size: clamp(24px, 1.67vw, 32px) !important;
  font-weight: 800;
  line-height: 1;
}
.dialog-actions { display: flex; gap: 12px; margin-top: 30px; }
.primary, .secondary { min-height: 50px; padding: 0 28px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; }
.primary { color: #fff; background: linear-gradient(90deg, #0753d7, #1388ee); box-shadow: 0 10px 24px rgba(7, 91, 220, .24); }
.secondary { color: #075bdc; border-color: #86afea; background: #fff; }
.full { width: 100%; }

.drawer-layer { display: flex; justify-content: flex-end; }
.drawer-shade { position: absolute; inset: 0; border: 0; background: rgba(2, 20, 45, .6); backdrop-filter: blur(5px); }
.drawer { position: relative; z-index: 1; display: grid; grid-template-rows: auto 1fr auto; width: min(480px, 92vw); height: 100%; padding: 28px; background: #fff; box-shadow: -24px 0 70px rgba(0, 20, 50, .3); animation: drawer-in .2s ease-out; }
@keyframes drawer-in { from { transform: translateX(32px); opacity: .5; } }
.drawer header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.drawer header h2 { font-size: 28px; }
.cart-items { overflow: auto; padding: 12px 0; }
.cart-empty { padding: 80px 15px; text-align: center; color: var(--muted); line-height: 1.8; }
.cart-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.cart-row h3 { margin: 0 0 7px; font-size: 15px; }
.cart-row p { margin: 0; color: var(--red); font-weight: 700; }
.cart-row button { align-self: center; border: 0; background: transparent; color: #75899c; }
.cart-row-actions { display: flex; align-items: center; gap: 4px; }
.cart-row-actions button { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #d1e0ec; border-radius: 9px; background: #f7fbfe; color: #2a5f88; }
.cart-row-actions button[data-remove] { width: auto; padding: 0 6px; border-color: transparent; color: #8799a8; background: transparent; font-size: 11px; }
.drawer footer { border-top: 1px solid var(--line); padding-top: 20px; }
.cart-fee-card { margin-bottom: 16px; }

.checkout-dialog, .orders-dialog { width: min(680px, 92vw); }
.checkout-summary { display: grid; gap: 7px; margin: 16px 0 20px; padding: 13px 14px; border-radius: 12px; color: #536b81; background: #f4f8fb; font-size: 12px; }
.checkout-summary div { display: flex; justify-content: space-between; gap: 14px; }
.checkout-dialog label { display: grid; gap: 7px; color: #4c647b; font-size: 13px; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.checkout-dialog input, .checkout-dialog textarea { width: 100%; margin-bottom: 16px; padding: 13px 14px; border: 1px solid #cbd8e3; border-radius: 10px; outline: none; }
.checkout-dialog input:focus, .checkout-dialog textarea:focus { border-color: #0b6fe8; box-shadow: 0 0 0 3px rgba(11,111,232,.12); }
.checkout-dialog textarea { min-height: 88px; resize: vertical; }
.checkout-dialog fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border: 0; padding: 0; }
.checkout-dialog fieldset legend { margin-bottom: 9px; color: #4c647b; font-size: 13px; }
.checkout-dialog fieldset label { display: flex; align-items: center; gap: 10px; margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfe; }
.checkout-dialog fieldset input { width: auto; margin: 0; }
.checkout-dialog fieldset label > span { display: grid; gap: 3px; }
.checkout-dialog fieldset label b { color: var(--navy); font-size: 14px; }
.checkout-dialog fieldset label small, .payment-context-note { color: var(--muted); font-size: 11px; line-height: 1.5; }
.payment-context-note { margin: 9px 2px 0 !important; }
.checkout-fee-card { margin-top: 20px; }
.privacy-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: start; gap: 9px !important; margin-top: 15px; color: #536b81 !important; line-height: 1.55; }
.privacy-consent input { width: auto; margin: 3px 0 0; }

.payment-dialog { width: min(500px, 92vw); text-align: center; }
.payment-dialog p { font-size: 12px; }
.demo-qr { position: relative; width: 210px; height: 210px; margin: 24px auto 0; border: 12px solid #fff; box-shadow: 0 0 0 1px #d5dfe8; background: repeating-linear-gradient(0deg, #071d3f 0 7px, #fff 7px 14px), repeating-linear-gradient(90deg, transparent 0 9px, rgba(255,255,255,.92) 9px 16px); background-blend-mode: multiply; }
.demo-qr::before, .demo-qr::after, .demo-qr i { content: ""; position: absolute; width: 45px; height: 45px; border: 9px solid #071d3f; background: #fff; }
.demo-qr::before { left: 10px; top: 10px; }
.demo-qr::after { right: 10px; top: 10px; }
.demo-qr i { left: 10px; bottom: 10px; }
.payment-order-info { display: grid; gap: 5px; margin: 14px 0 6px; padding: 12px; border-radius: 12px; color: #536b81; background: #f3f8fc; font-size: 12px; }
.payment-order-info b { color: var(--navy); }
.text-button { width: fit-content; padding: 4px 0; border: 0; color: var(--blue); background: transparent; font-weight: 700; }
.payment-order-info .text-button { margin: 2px auto 0; }
.payment-qr-shell { display: grid; place-items: center; width: 224px; height: 224px; margin: 18px auto 0; padding: 8px; border: 1px solid #d5e1ea; border-radius: 16px; background: #fff; box-shadow: 0 12px 32px rgba(5,49,95,.1); }
.payment-qr-shell img { display: block; width: 100%; height: 100%; object-fit: contain; }
.payment-code-card { width: min(312px,100%); margin: 18px auto 12px; padding: 18px 18px 14px; border: 1px solid #dce8f1; border-radius: 24px; background: linear-gradient(180deg,#f7fbff 0%,#fff 100%); box-shadow: 0 16px 42px rgba(6,49,95,.1); }
.payment-code-card .payment-qr-shell { width: 224px; height: 224px; margin: 0 auto; padding: 10px; border-radius: 18px; box-shadow: 0 8px 26px rgba(5,49,95,.08); }
.payment-code-card > strong { display: block; margin: 14px 0 0; color: var(--red); font-size: 30px; line-height: 1.1; }
.payment-code-card > p { margin: 7px 0 0; color: #60758b; }
.payment-qr-placeholder { display: grid; place-items: center; width: 100%; height: 100%; border: 2px dashed #b9cddd; border-radius: 12px; color: #6f8598; background: repeating-linear-gradient(135deg,#f8fbfd 0 12px,#eef5fa 12px 24px); font-weight: 700; line-height: 1.7; }
.payment-warning { margin: 10px 0; padding: 9px 11px; border-radius: 10px; color: #886000 !important; background: #fff4d5; line-height: 1.6 !important; }
.payment-device-hint { margin: 10px 0 0; color: #426783 !important; }
.payment-utility { display: flex; justify-content: center; gap: 18px; }
.payment-utility a { text-decoration: none; }
.payment-actions { justify-content: center; margin-top: 18px; }
.payment-actions .primary, .payment-actions .secondary { padding-inline: 20px; }

.order-card { margin-top: 14px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #f7fbff; }
.order-card header { display: flex; justify-content: space-between; color: var(--muted); font-size: 12px; }
.order-card h3 { margin: 12px 0 7px; font-size: 14px; line-height: 1.5; }
.order-card strong { color: var(--red); }
.orders-dialog > p { margin: 0 0 15px; font-size: 13px; }
.order-lookup-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #f7fbff; }
.order-lookup-form input { min-width: 0; padding: 11px 12px; border: 1px solid #cbd8e3; border-radius: 9px; outline: none; }
.order-lookup-form input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(7,91,220,.1); }
.order-lookup-form .secondary { min-height: 42px; padding-inline: 17px; }
.orders-toolbar { display: flex; justify-content: space-between; align-items: center; margin: 13px 2px 0; color: var(--muted); font-size: 12px; }
.orders-loading { padding: 55px 10px; color: var(--muted); text-align: center; }
.order-card-live { padding: 19px; background: #fff; box-shadow: 0 8px 24px rgba(5,49,95,.06); }
.order-card-live header { align-items: center; gap: 15px; }
.order-status { padding: 5px 9px; border-radius: 999px; color: #1c63a8 !important; background: #e7f3ff; white-space: nowrap; }
.status-payment_review { color: #8a5c00 !important; background: #fff0ca; }
.status-paid, .status-shipped, .status-completed { color: #007c5b !important; background: #e0f8ef; }
.status-cancelled { color: #68798a !important; background: #edf1f4; }
.order-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 10px 0; }
.order-summary > span { color: var(--muted); font-size: 12px; }
.order-shipping { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; padding: 11px 12px; border-radius: 10px; color: #275678; background: #eef7ff; font-size: 12px; }
.order-shipping.muted { color: var(--muted); background: #f2f5f7; }
.order-timeline { display: grid; gap: 7px; margin: 14px 0 0; padding: 0; list-style: none; }
.order-timeline li { display: flex; justify-content: space-between; gap: 13px; color: #5f7386; font-size: 11px; line-height: 1.5; }
.order-timeline time { white-space: nowrap; color: #93a4b3; }
.order-card-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.order-card-actions button { padding: 7px 12px; border: 1px solid #b9cfe2; border-radius: 999px; color: #2d5d83; background: #fff; font-size: 12px; }
.order-card-actions .primary.mini { min-height: 0; color: #fff; border-color: var(--blue); background: var(--blue); box-shadow: none; }

.subpage { width: min(100%, 1920px); min-height: 100vh; background: #f2f7fb; }
.bodytest-screen { overflow-x: hidden; }
.portal-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: block;
  width: 100%;
  height: clamp(86px, 7.92vw, 152px);
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: url("assets/home.svg") top center / 100% auto no-repeat;
  box-shadow: 0 6px 24px rgba(0,43,90,.06);
}
.portal-brand {
  position: absolute;
  left: 5.5%;
  top: 10%;
  width: 14.5%;
  height: 72%;
  padding: 0;
  border: 0;
  background: transparent;
}
.portal-brand > * { visibility: hidden; }
.portal-nav { position: absolute; inset: 0; display: block; }
.portal-nav button {
  position: absolute;
  top: 18%;
  height: 62%;
  padding: 0;
  border: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
}
.portal-nav button:nth-child(1) { left: 32.8%; width: 5.4%; }
.portal-nav button:nth-child(2) { left: 39.4%; width: 7.6%; }
.portal-nav button:nth-child(3) { left: 48.1%; width: 7.6%; }
.portal-nav button:nth-child(4) { left: 56.8%; width: 7.6%; }
.portal-nav button:nth-child(5) { left: 65.5%; width: 7.6%; }
.portal-brand:focus-visible, .portal-nav button:focus-visible { outline: 3px solid #0b6fe8; outline-offset: -3px; }
.subpage-title { padding: 62px clamp(40px, 8vw, 150px) 34px; background: linear-gradient(135deg, #fff, #e8f4ff); }
.subpage-title span, .service-kicker { color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.subpage-title h1 { margin: 10px 0 8px; font-size: clamp(30px, 3vw, 52px); }
.subpage-title p { margin: 0; color: var(--muted); }
.bodytest-book {
  display: block;
  width: 120%;
  max-width: none;
  height: auto;
  margin: 0 0 0 -10%;
  background: #fff;
  box-shadow: none;
}
.back-top { position: fixed; z-index: 20; right: 28px; bottom: 28px; padding: 12px 18px; border: 0; border-radius: 999px; color: #fff; background: #075bdc; box-shadow: 0 10px 28px rgba(7,91,220,.3); }

.service-screen { min-height: 100vh; background: linear-gradient(110deg, rgba(255,255,255,.97), rgba(228,241,254,.93)), url("assets/home.svg") center/cover no-repeat; }
.service-card { width: min(1100px, calc(100% - 80px)); margin: 0 auto; padding: 110px 0 90px; }
.service-card > h1 { max-width: 850px; margin: 15px 0 20px; font-size: clamp(42px, 5vw, 76px); line-height: 1.12; color: #082b58; }
.service-card > p { max-width: 760px; color: #536b81; font-size: 18px; line-height: 1.8; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 48px; }
.feature-grid article { padding: 28px; border: 1px solid rgba(7,91,220,.13); border-radius: 20px; background: rgba(255,255,255,.87); box-shadow: 0 14px 38px rgba(4,44,91,.08); }
.feature-grid b { color: #0c79e8; font-size: 13px; }
.feature-grid h2 { margin: 13px 0 8px; font-size: 22px; }
.feature-grid p { margin: 0; color: var(--muted); }
.service-actions { display: flex; gap: 13px; margin-top: 36px; }
.download-card { width: min(900px, calc(100% - 80px)); }
.download-list { display: grid; gap: 15px; margin-top: 42px; }
.download-list button { display: flex; align-items: center; justify-content: space-between; gap: 25px; width: 100%; padding: 22px 25px; border: 1px solid rgba(7,91,220,.16); border-radius: 18px; background: rgba(255,255,255,.9); color: #082b58; text-align: left; box-shadow: 0 12px 34px rgba(4,44,91,.07); }
.download-list button:disabled { cursor: not-allowed; opacity: .62; }
.download-list button:disabled em { color: #6c8093; background: #dce6ee; }
.download-list span { display: grid; gap: 6px; }
.download-list b { font-size: 20px; }
.download-list small { color: var(--muted); }
.download-list em { padding: 10px 20px; border-radius: 999px; color: #fff; background: var(--blue); font-style: normal; font-weight: 700; }

.catalog-dialog { width: min(820px, 94vw); }
.catalog-search { display: grid; gap: 7px; margin-top: 24px; color: #50677e; font-size: 13px; }
.catalog-search input { width: 100%; padding: 14px 16px; border: 1px solid #cbd8e3; border-radius: 12px; outline: none; }
.catalog-search input:focus { border-color: #0b6fe8; box-shadow: 0 0 0 3px rgba(11,111,232,.12); }
.catalog-controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0; }
.category-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.category-chips button { padding: 8px 12px; border: 1px solid #cbdbea; border-radius: 999px; color: #315270; background: #fff; }
.category-chips button.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.catalog-controls select { min-width: 140px; padding: 9px 12px; border: 1px solid #cbdbea; border-radius: 10px; background: #fff; color: #315270; }
.catalog-results { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-height: 360px; overflow: auto; padding-right: 3px; }
.catalog-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px; border: 1px solid #dbe6ef; border-radius: 13px; background: #f8fbfe; text-align: left; }
.catalog-item span { display: grid; gap: 5px; }
.catalog-item b { color: #082b58; }
.catalog-item small { color: var(--muted); }
.catalog-item strong { color: var(--red); white-space: nowrap; }
.catalog-empty { grid-column: 1 / -1; padding: 50px 10px; text-align: center; color: var(--muted); }

@media (max-width: 1120px) {
  .site, .screen { min-width: 960px; }
}

@media (max-width: 720px) {
  body { overflow-x: hidden; color-scheme: only light; background: #f2f7fb; }
  .mobile-site-header { position: sticky; top: 0; z-index: 70; display: grid; grid-template-columns: 1fr auto; align-items: center; min-height: 106px; padding: 9px 12px 8px; border-bottom: 1px solid rgba(8,43,88,.08); background: rgba(255,255,255,.97); backdrop-filter: blur(16px); }
  .mobile-brand { display: flex; align-items: center; gap: 7px; padding: 0; border: 0; color: var(--navy); background: transparent; text-align: left; }
  .mobile-brand strong { color: #034971; font-size: 31px; font-style: italic; line-height: 1; }
  .mobile-brand sup { color: var(--red); font-size: 11px; }
  .mobile-brand span { display: grid; }
  .mobile-brand b { font-size: 14px; }
  .mobile-brand small { font-size: 7px; letter-spacing: .06em; }
  .mobile-header-actions { display: flex; align-items: center; gap: 7px; }
  .mobile-header-actions > button { position: relative; min-height: 38px; padding: 0 12px; border: 1px solid #cbdcec; border-radius: 999px; color: #24577f; background: #fff; font-size: 12px; font-weight: 700; }
  .mobile-cart-badge { left: auto; right: -4px; top: -5px; min-width: 18px; height: 18px; padding: 0 4px; font-size: 10px; }
  .mobile-primary-nav { grid-column: 1 / -1; display: flex; gap: 6px; margin-top: 7px; overflow-x: auto; scrollbar-width: none; }
  .mobile-primary-nav::-webkit-scrollbar { display: none; }
  .mobile-primary-nav button { flex: 0 0 auto; min-height: 33px; padding: 0 12px; border: 1px solid #d5e2ee; border-radius: 999px; color: #43627d; background: #fff; font-size: 11px; font-weight: 700; white-space: nowrap; }
  .mobile-primary-nav button.is-active { color: #fff; border-color: var(--blue); background: var(--blue); box-shadow: 0 7px 18px rgba(7,91,220,.2); }
  .site, .screen { min-width: 0; }
  .site { display: block; min-height: calc(100vh - 106px); background: #f2f7fb; }
  .screen { width: 100%; min-height: calc(100vh - 106px); aspect-ratio: auto; overflow: visible; box-shadow: none; }
  .screen > .design, .screen > .hotspot, .screen > nav, .screen > .product-hotspots, .screen > .mall-page-cover, .screen > .mall-page-number, .screen > #cartBadge { display: none !important; }
  .mobile-home, .mobile-mall { display: block; }
  .mobile-home { min-height: calc(100vh - 106px); padding: 0 0 32px; background: linear-gradient(180deg,#fff 0,#f1f7fc 70%,#e8f3fb 100%); }
  .mobile-hero { padding: 0; }
  .mobile-desktop-hero { position: relative; min-height: 610px; overflow: hidden; background: url("assets/home-stadium.jpg") 62% center / cover no-repeat; }
  .mobile-desktop-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(255,255,255,.98) 0,rgba(255,255,255,.92) 39%,rgba(255,255,255,.48) 64%,rgba(2,42,89,.1) 82%,rgba(2,28,62,.33) 100%); }
  .mobile-hero-copy { position: relative; z-index: 1; padding: 36px 19px 0; }
  .mobile-kicker { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .16em; }
  .mobile-hero h1 { margin: 12px 0 16px; color: #0d54e7; font-size: clamp(31px,9vw,43px); line-height: 1.1; letter-spacing: -.035em; }
  .mobile-hero h1 span { color: #0d54e7; }
  .mobile-hero h2 { margin: 0; color: #0b1727; font-size: clamp(27px,7.5vw,36px); line-height: 1.32; letter-spacing: -.03em; }
  .mobile-hero-accent { display: block; width: 126px; height: 5px; margin-top: 15px; background: linear-gradient(90deg,#ee2e48 0 64%,transparent 64% 70%,#1388ee 70% 84%,transparent 84% 89%,#5a8ef0 89%); }
  .mobile-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
  .mobile-hero-actions button { min-height: 48px; padding: 0 13px; }
  .mobile-home-intro { position: relative; z-index: 2; margin: -92px 14px 20px; padding: 23px 20px; border: 1px solid rgba(255,255,255,.8); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 20px 50px rgba(4,43,84,.15); backdrop-filter: blur(14px); }
  .mobile-home-intro > span { color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
  .mobile-home-intro h2 { margin: 9px 0 12px; color: #092b56; font-size: 24px; }
  .mobile-home-intro p { margin: 5px 0; color: #587187; font-size: 13px; line-height: 1.65; }
  .mobile-home-intro > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
  .mobile-home-intro b { padding: 7px 9px; border-radius: 999px; color: #1762aa; background: #eaf4ff; font-size: 10px; }
  .mobile-service-section { padding: 17px 14px 0; }
  .mobile-service-section > header { padding: 0 3px 16px; }
  .mobile-service-section h2 { margin: 8px 0 6px; color: #082b58; font-size: 25px; }
  .mobile-service-section header p { margin: 0; color: #6a7f92; font-size: 12px; line-height: 1.6; }
  .mobile-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .mobile-service-grid button { display: grid; min-height: 148px; padding: 18px; border: 1px solid rgba(7,91,220,.1); border-radius: 18px; color: var(--navy); background: rgba(255,255,255,.96); box-shadow: 0 10px 30px rgba(5,49,95,.07); text-align: left; }
  .mobile-service-grid span { color: #1685ec; font-size: 11px; font-weight: 800; }
  .mobile-service-grid b { align-self: end; font-size: 17px; }
  .mobile-service-grid small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.55; }
  .mobile-store-callout { display: grid; gap: 18px; margin: 20px 14px 0; padding: 23px 20px; border-radius: 20px; color: #fff; background: linear-gradient(135deg,#072b59,#075bdc); box-shadow: 0 18px 38px rgba(5,56,132,.22); }
  .mobile-store-callout span { color: #83caff; font-size: 9px; font-weight: 900; letter-spacing: .15em; }
  .mobile-store-callout h2 { margin: 7px 0; font-size: 24px; }
  .mobile-store-callout p { margin: 0; color: #d8eaff; font-size: 12px; line-height: 1.6; }
  .mobile-store-callout button { width: 100%; background: #fff; color: var(--blue); box-shadow: none; }
  .mobile-trust { margin: 20px 0 0; color: #6d8295; font-size: 11px; text-align: center; }
  .mobile-mall { min-height: calc(100vh - 106px); padding: 25px 15px 42px; background: #f3f7fb; }
  .mobile-page-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 2px 3px 18px; }
  .mobile-page-title h1 { margin: 7px 0 4px; font-size: 27px; }
  .mobile-page-title p { margin: 0; color: var(--muted); font-size: 12px; }
  .mobile-page-title > button { padding: 8px 13px; border: 1px solid #b9d2eb; border-radius: 999px; color: var(--blue); background: #fff; font-weight: 700; }
  .mobile-shop-notice { display: flex; gap: 10px; margin-bottom: 14px; padding: 12px 13px; border-radius: 13px; color: #45677f; background: #e8f4ff; font-size: 11px; line-height: 1.55; }
  .mobile-shop-notice b { flex: 0 0 auto; color: #007b5b; }
  .mobile-product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
  .mobile-product-card { display: grid; min-width: 0; overflow: hidden; border: 1px solid rgba(7,91,220,.1); border-radius: 17px; background: #fff; box-shadow: 0 9px 26px rgba(6,48,92,.06); text-align: left; }
  .mobile-product-visual { display: flex; align-items: center; justify-content: center; height: 112px; background: linear-gradient(145deg,#e9f5ff,#dcecff); color: #0b64c7; font-size: 34px; font-weight: 900; }
  .mobile-product-visual sup { margin-left: 2px; font-size: 16px; }
  .mobile-product-card:nth-child(3n+2) .mobile-product-visual { background: linear-gradient(145deg,#edf8f4,#d9f1e8); color: #008264; }
  .mobile-product-card:nth-child(3n) .mobile-product-visual { background: linear-gradient(145deg,#fff1f3,#ffe2e8); color: #e72e50; }
  .mobile-product-content { display: grid; gap: 6px; padding: 13px; }
  .mobile-product-content small { color: var(--blue); font-size: 10px; font-weight: 800; }
  .mobile-product-content b { min-height: 40px; font-size: 14px; line-height: 1.45; }
  .mobile-product-content p { min-height: 34px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
  .mobile-product-content strong { color: var(--red); font-size: 18px; }
  .mobile-mall-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding: 17px; border-radius: 16px; color: #dfeeff; background: #082b58; font-size: 12px; }
  .mobile-mall-footer button { padding: 8px 11px; border: 0; border-radius: 999px; color: #082b58; background: #fff; font-weight: 700; }
  .support-launch { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); min-height: 44px; padding: 0 16px; font-size: 12px; }
  .support-panel { inset: 106px 0 0; width: 100%; max-height: none; border: 0; border-radius: 0; }
  .support-messages { min-height: 0; }
  .dialog { width: 100%; max-width: none; max-height: min(92vh,760px); padding: 30px 20px calc(24px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
  .overlay { align-items: end; padding: 0; }
  .drawer { width: 100%; padding: 22px 18px calc(20px + env(safe-area-inset-bottom)); }
  .two-columns { grid-template-columns: 1fr; gap: 0; }
  .checkout-dialog fieldset { grid-template-columns: 1fr; }
  .checkout-dialog fieldset label { padding: 11px 12px; }
  .payment-qr-shell { width: min(210px,60vw); height: min(210px,60vw); }
  .portal-header { display: none; }
  .portal-brand { position: static; display: none; }
  .portal-nav { position: static; display: flex; flex: 1 0 auto; gap: 6px; }
  .portal-nav button, .portal-nav button:nth-child(n) { position: static; width: auto; height: 38px; padding: 0 12px; border: 1px solid #d4e2ef; border-radius: 999px; color: #41617d; background: #fff; font-size: 12px; white-space: nowrap; }
  .portal-nav button.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
  .feature-grid, .catalog-results { grid-template-columns: 1fr; }
  .service-card { width: calc(100% - 34px); padding: 55px 0 70px; }
  .service-card > h1 { font-size: 39px; }
  .service-card > p { font-size: 15px; }
  .download-list button { align-items: flex-start; flex-direction: column; gap: 15px; }
  .catalog-controls { align-items: stretch; flex-direction: column; }
  .bodytest-book { width: 100%; margin-left: 0; }
  .payment-actions { flex-direction: column; }
  .payment-actions button { width: 100%; }
  .order-lookup-form { grid-template-columns: 1fr; }
  .order-timeline li, .order-shipping { align-items: flex-start; flex-direction: column; gap: 3px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* v3 public site: the Figma-approved desktop and mobile SVGs are the visual source of truth. */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; background: #274b89; }
.site { display: block; width: 100%; min-width: 0; min-height: 100vh; background: #274b89; }
.design-page { position: relative; width: 100%; max-width: none; margin: 0; overflow: hidden; background: #274b89; box-shadow: none; }
.design-page:not(.is-active) { display: none; }
.design-picture, .design-art { display: block; width: 100%; height: auto; }
.design-art { pointer-events: none; user-select: none; }
.site-legal-footer { position: relative; z-index: 2; display: flex; width: 100%; min-height: 86px; align-items: center; justify-content: center; padding: 23px clamp(28px,5vw,96px); overflow: hidden; color: #fff; border-top: 1px solid rgba(104,212,255,.28); background: linear-gradient(112deg,#07356b 0%,#0758b9 48%,#073f90 100%); }
.site-legal-footer::before { content: ""; position: absolute; inset: 0; opacity: .24; background: repeating-linear-gradient(-9deg,transparent 0 8px,rgba(104,212,255,.5) 9px 10px,transparent 11px 15px); transform: translateY(44%); pointer-events: none; }
.site-legal-footer__inner { position: relative; z-index: 1; display: flex; width: min(100%,1540px); align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px clamp(18px,1.8vw,34px); color: #fff; font-size: clamp(12px,.78vw,15px); font-weight: 700; line-height: 1.5; text-align: center; }
.site-legal-footer__inner > * { color: inherit; white-space: nowrap; }
.site-legal-footer__inner a { text-decoration: none; text-underline-offset: 4px; transition: color .18s ease,text-decoration-color .18s ease; }
.site-legal-footer__inner a:hover { color: #8fe7ff; text-decoration: underline; }
.site-legal-footer__inner a:focus-visible { border-radius: 4px; outline: 2px solid #fff; outline-offset: 4px; }
.mobile-mall-content { display: none; }
.design-controls, .product-hotspots, .download-hotspots { position: absolute; inset: 0; z-index: 12; pointer-events: none; }
.design-controls::after { content: ""; position: absolute; z-index: 3; left: 85%; right: 0; top: 0; height: calc(100vw * .04375); background: #0b2f5b; pointer-events: none; }
.design-page[data-design="mall"] .design-controls::after { background: #0b2f5b; }
.design-hit, .product-hit, .download-hit { position: absolute; z-index: 2; margin: 0; padding: 0; border: 0; background: transparent; pointer-events: auto; }
.design-hit:focus-visible, .product-hit:focus-visible, .download-hit:focus-visible { outline: 3px solid #68d4ff; outline-offset: -3px; }
.design-hit:hover, .product-hit:hover, .download-hit:hover { background: rgba(104,212,255,.055); box-shadow: inset 0 0 0 2px rgba(104,212,255,.38); }
.logo-hit { left: 5.83%; top: 0; width: 13%; height: calc(100vw * .04375); background: #0b3767; }
.logo-hit::before { content: ""; position: absolute; z-index: 4; left: 0; top: calc(100vw * .008333); width: calc(100vw * .095833); height: calc(100vw * .027083); background: url("assets/aplus-logo-original.png") left center / contain no-repeat; filter: brightness(0) invert(1); pointer-events: none; }
.nav-hit { top: 0; width: 5.8%; height: calc(100vw * .04375); }
.nav-1 { left: 33.33%; }
.nav-2 { left: 40.89%; }
.nav-3 { left: 48.96%; }
.nav-4 { left: 57.03%; }
.nav-5 { left: 65.10%; }
.orders-hit { left: 71.77%; top: calc(100vw * .010417); width: 6.04%; height: calc(100vw * .022917); border-radius: 999px; }
.cart-hit { left: 78.54%; top: calc(100vw * .010417); width: 6.04%; height: calc(100vw * .022917); border-radius: 999px; }
.design-page[data-design="mall"] .orders-hit { left: 71.77%; top: calc(100vw * .058333); }
.design-page[data-design="mall"] .cart-hit { left: 81.5%; top: calc(100vw * .058333); width: 8.6%; }
.design-page[data-design="downloads"] .orders-hit,
.design-page[data-design="downloads"] .cart-hit,
.design-page[data-design="downloads"] #cartBadge { display: none !important; }
.design-page[data-design="downloads"] .design-controls::before {
  content: "";
  position: absolute;
  z-index: 4;
  left: 70.5%;
  top: 0;
  width: 15%;
  height: calc(100vw * .04375);
  background: #0b2f5b;
  pointer-events: none;
}
.catalog-hit { display: none; }
.catalog-hit::after { content: "筛选商品"; display: grid; place-items: center; height: 100%; font-size: 14px; font-weight: 800; }
.product-hit { border-radius: 22px; }
.product-hit-1 { left:4.68750%; top:3.91071%; width:20.83333%; height:11.07143%; }
.product-hit-2 { left:27.08333%; top:3.91071%; width:20.83333%; height:11.07143%; }
.product-hit-3 { left:49.47917%; top:3.91071%; width:20.83333%; height:11.07143%; }
.product-hit-4 { left:71.87500%; top:3.91071%; width:20.83333%; height:11.07143%; }
.product-hit-5 { left:4.68750%; top:18.66000%; width:20.83333%; height:11.07143%; }
.product-hit-6 { left:27.08333%; top:18.66000%; width:20.83333%; height:11.07143%; }
.product-hit-7 { left:49.47917%; top:18.66000%; width:20.83333%; height:11.07143%; }
.product-hit-8 { left:71.87500%; top:18.66000%; width:20.83333%; height:11.07143%; }
.product-hit-9 { left:4.68750%; top:33.74000%; width:20.83333%; height:11.07143%; }
.product-hit-10 { left:27.08333%; top:33.74000%; width:20.83333%; height:11.07143%; }
.product-hit-11 { left:49.47917%; top:33.74000%; width:20.83333%; height:11.07143%; }
.product-hit-12 { left:71.87500%; top:33.74000%; width:20.83333%; height:11.07143%; }
.product-hit-13 { left:4.68750%; top:49.63000%; width:20.83333%; height:11.07143%; }
.product-hit-14 { left:27.08333%; top:49.63000%; width:20.83333%; height:11.07143%; }
.product-hit-15 { left:49.47917%; top:49.63000%; width:20.83333%; height:11.07143%; }
.product-hit-16 { left:71.87500%; top:49.63000%; width:20.83333%; height:11.07143%; }
.product-hit-17 { left:4.68750%; top:62.67000%; width:20.83333%; height:11.07143%; }
.product-hit-18 { left:27.08333%; top:62.67000%; width:20.83333%; height:11.07143%; }
.product-hit-19 { left:49.47917%; top:62.67000%; width:20.83333%; height:11.07143%; }
.product-hit-20 { left:71.87500%; top:62.67000%; width:20.83333%; height:11.07143%; }
.product-hit:hover { background: rgba(22,150,237,.07); box-shadow: inset 0 0 0 3px rgba(104,212,255,.75); }
.product-hit-4::before, .product-hit-5::before, .product-hit-6::before, .product-hit-7::before, .product-hit-8::before,
.product-hit-9::before, .product-hit-10::before, .product-hit-11::before, .product-hit-12::before { content: ""; position: absolute; z-index: 1; left: 2.5%; top: 1.6%; width: 95%; aspect-ratio: 1; border-radius: 18px 18px 0 0; background-position: center; background-size: cover; background-repeat: no-repeat; pointer-events: none; }
.product-hit-4::before { background-image: url("assets/products/product-charging-dock-card-v325.png"); }
.product-hit-5::before { background-image: url("assets/products/product-vital-capacity-hd.png"); }
.product-hit-6::before { background-image: url("assets/products/product-sit-reach-sit-up-hd.png"); }
.product-hit-7::before { background-image: url("assets/products/product-infrared-timing-hd.png"); }
.product-hit-8::before { background-image: url("assets/products/product-bmi-height-weight-hd.png"); }
.product-hit-9::before { background-image: url("assets/service-event-figma-v325.png"); }
.product-hit-10::before { background-image: url("assets/service-school-fitness-figma-v325.png"); }
.product-hit-11::before { background-image: url("assets/service-exam-support-figma-v325.png"); }
.product-hit-12::before { background-image: url("assets/service-equipment-rental-figma-v325.png"); }
.product-hit-9::before, .product-hit-10::before, .product-hit-11::before, .product-hit-12::before {
  top: 2.2%;
  height: 55%;
  aspect-ratio: auto;
  border-radius: 16px 16px 0 0;
  background-color: #fff;
  background-position: center top;
  background-size: 100% 100%;
}
.service-card-copy {
  position: absolute;
  z-index: 3;
  left: 2.5%;
  top: 56%;
  display: flex;
  width: 95%;
  height: 21.5%;
  box-sizing: border-box;
  padding: 2.7% 5% 1.5%;
  flex-direction: column;
  gap: .38vw;
  overflow: hidden;
  color: #102a56;
  background: #fff;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif;
  text-align: left;
  pointer-events: none;
}
.service-card-copy small { color: #365d8c; font-size: .78vw; font-weight: 700; line-height: 1.48; letter-spacing: 0; }
.service-card-copy b { color: #102a56; font-size: .9vw; font-weight: 800; line-height: 1.4; letter-spacing: 0; }
.mall-bodytest-heading {
  position: absolute;
  z-index: 4;
  left: 0;
  top: 15.80%;
  width: 100%;
  height: 2.85%;
  color: #fff;
  background: #2b5591;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif;
  text-align: left;
  pointer-events: none;
}
.mall-bodytest-heading small,
.mall-bodytest-heading h2,
.mall-bodytest-heading p,
.mall-bodytest-heading i { position: absolute; margin: 0; }
.mall-bodytest-heading small { left: 4.6875%; top: 20%; color: #68d4ff; font-size: calc(100vw * .00677); font-weight: 800; line-height: 1; }
.mall-bodytest-heading h2 { left: 4.6875%; top: 48%; color: #fff; font-size: calc(100vw * .015625); font-weight: 800; line-height: 1.15; }
.mall-bodytest-heading p { left: 20.3125%; top: 52%; color: #d6e4f7; font-size: calc(100vw * .008333); font-weight: 400; line-height: 1.2; }
.mall-bodytest-heading i { right: 4.6875%; top: 49%; width: 1.04167%; height: 4px; border-radius: 2px; background: #68d4ff; }
.download-hit { left: 9.375%; width: 81.25%; height: 16.11111%; border-radius: 26px; color: transparent; }
.download-hit.android { top: 26.48148%; }
.download-hit.windows { top: 44.62963%; }
.download-hit.ios { top: 62.77778%; }
.download-hit span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.download-hit small {
  position: absolute;
  left: 12.2%;
  top: 54%;
  display: block;
  max-width: 58%;
  overflow: hidden;
  color: #5f7896;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif;
  font-size: calc(100vw * .00885);
  font-weight: 600;
  line-height: 1.25;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
}
.download-hit:disabled { cursor: not-allowed; }
.product-dialog { width: min(860px,92vw); }
.product-dialog-image { display: block; width: 100%; height: min(430px,42vh); margin: 4px 0 24px; border-radius: 20px; object-fit: contain; background: #eef5fb; }
.product-dialog .quote-action { flex: 1; }
.design-page #cartBadge { left: auto; right: 15.2%; top: 30px; min-width: 22px; height: 22px; padding: 0 6px; font-size: 11px; }
.design-page[data-design="mall"] #cartBadge { right: 10.9%; top: 106px; }
body.support-notice-pulse .support-panel { animation: support-notice-pulse .75s ease-out 2; }
body.support-notice-pulse .support-launch { animation: support-launch-pulse .75s ease-out 2; }
@keyframes support-notice-pulse { 50% { box-shadow: 0 0 0 8px rgba(104,212,255,.28), 0 26px 80px rgba(0,26,64,.4); } }
@keyframes support-launch-pulse { 50% { transform: scale(1.08); box-shadow: 0 0 0 10px rgba(56,223,167,.22), 0 16px 40px rgba(7,91,220,.42); } }

/* Desktop mall: the customer-approved 1920 x 5600 PNG is the only visual
   source.  Commerce remains available through transparent hit areas. */
@media (min-width: 721px) {
  .design-page[data-design="home"] .design-controls::after,
  .design-page[data-design="home"] .logo-hit::before,
  .design-page[data-design="events"] .design-controls::after,
  .design-page[data-design="events"] .logo-hit::before { display: none !important; }
  .design-page[data-design="home"] .logo-hit,
  .design-page[data-design="home"] .design-hit:hover,
  .design-page[data-design="events"] .logo-hit,
  .design-page[data-design="events"] .design-hit:hover {
    background: transparent;
    box-shadow: none;
  }
  .design-page[data-design="mall"] {
    height: auto;
  }
  .design-page[data-design="mall"] > .mall-design-picture {
    display: block;
    height: auto;
    overflow: visible;
  }
  .design-page[data-design="mall"] > .mall-design-picture .design-art {
    width: 100%;
    height: auto;
  }
  .design-page[data-design="mall"] > .design-controls,
  .design-page[data-design="mall"] > .product-hotspots {
    inset: 0;
    height: auto;
  }
  .design-page[data-design="mall"] .design-controls::after,
  .design-page[data-design="mall"] .logo-hit::before,
  .design-page[data-design="mall"] .product-hit-4::before,
  .design-page[data-design="mall"] .product-hit-5::before,
  .design-page[data-design="mall"] .product-hit-6::before,
  .design-page[data-design="mall"] .product-hit-7::before,
  .design-page[data-design="mall"] .product-hit-8::before,
  .design-page[data-design="mall"] .product-hit-9::before,
  .design-page[data-design="mall"] .product-hit-10::before,
  .design-page[data-design="mall"] .product-hit-11::before,
  .design-page[data-design="mall"] .product-hit-12::before,
  .design-page[data-design="mall"] .service-card-copy,
  .design-page[data-design="mall"] .mall-bodytest-heading { display: none !important; }
  .design-page[data-design="mall"] .logo-hit,
  .design-page[data-design="mall"] .design-hit:hover,
  .design-page[data-design="mall"] .product-hit:hover {
    background: transparent;
    box-shadow: none;
  }
  .product-dialog {
    width: 42vw;
    max-height: calc(100dvh - 32px);
    overflow: hidden;
    padding: min(2.08vw,2.4vh);
    border-radius: min(1.35vw,2.5vh);
  }
  .product-dialog-image {
    height: min(30vh,15vw);
    margin: .2vw 0 .7vw;
    border-radius: 1.04vw;
  }
  .product-dialog h2 { margin: .57vw 0 .52vw; font-size: 1.56vw; }
  .product-dialog > p { margin-block: .6vw; font-size: .76vw; }
  .product-dialog .eyebrow { padding: .36vw .62vw; font-size: .625vw; }
  .product-dialog .price { margin: 1.3vw 0 .625vw; font-size: 1.67vw; }
  .product-dialog .product-choice-row { gap: .94vw; }
  .product-dialog .product-specifications { margin-bottom: .625vw; }
  .product-dialog .product-specifications legend { margin-bottom: .36vw; font-size: .625vw; }
  .product-dialog .product-specifications > div { gap: .36vw; }
  .product-dialog .product-specifications span { min-height: 1.98vw; padding: .31vw .42vw; border-radius: .52vw; font-size: .625vw; }
  .product-dialog .fee-card { gap: .42vw; padding: .78vw .89vw; border-radius: .83vw; font-size: .68vw; }
  .product-dialog .fee-card b { font-size: .73vw; }
  .product-dialog .fee-card .fee-total { padding-top: .52vw; }
  .product-dialog .fee-card .fee-total strong { font-size: 1.25vw; }
  .product-dialog .shipping-progress { height: .36vw; }
  .product-dialog .shipping-hint { font-size: .625vw !important; }
  .product-dialog .quantity {
    grid-template-columns: clamp(42px,2.19vw,48px) clamp(58px,3.02vw,66px) clamp(42px,2.19vw,48px);
    height: clamp(42px,2.19vw,48px);
    border-radius: .57vw;
  }
  .product-dialog .quantity button { font-size: clamp(20px,1.04vw,24px); }
  .product-dialog .dialog-actions { gap: .625vw; margin-top: 1.56vw; }
  .product-dialog .dialog-actions button { min-height: 2.6vw; padding: 0 1.46vw; font-size: .73vw; }
  .product-dialog > .close { right: 1.15vw; top: 1.04vw; font-size: 1.56vw; }
  .checkout-dialog,
  .orders-dialog {
    width: 42vw;
    max-height: 88vh;
    padding: 2.08vw;
    border-radius: 1.35vw;
  }
  .checkout-dialog {
    max-height: calc(100dvh - 24px);
    overflow: hidden;
    padding: min(1.6vw,2.1vh);
  }
  .checkout-dialog h2,
  .orders-dialog h2 { margin: .57vw 0 .52vw; font-size: 1.56vw; }
  .checkout-dialog > .close,
  .orders-dialog > .close { right: 1.15vw; top: 1.04vw; font-size: 1.56vw; }
  .checkout-dialog .eyebrow,
  .orders-dialog .eyebrow { padding: .36vw .62vw; font-size: .625vw; }
  .checkout-dialog label { gap: .36vw; font-size: .73vw; }
  .checkout-dialog .two-columns { gap: .73vw; }
  .checkout-dialog input,
  .checkout-dialog textarea { margin-bottom: .83vw; padding: .68vw .73vw; border-radius: .52vw; font-size: .73vw; }
  .checkout-dialog textarea { min-height: 4.58vw; }
  .checkout-dialog fieldset { gap: .52vw; }
  .checkout-dialog fieldset legend { margin-bottom: .47vw; font-size: .73vw; }
  .checkout-dialog fieldset label { gap: .52vw; padding: .68vw; border-radius: .63vw; }
  .checkout-dialog fieldset label b { font-size: .73vw; }
  .checkout-dialog fieldset label small,
  .checkout-dialog .payment-context-note { font-size: .625vw; }
  .checkout-summary { gap: .36vw; margin: .83vw 0 1.04vw; padding: .68vw .73vw; border-radius: .63vw; font-size: .68vw; }
  .checkout-fee-card { margin-top: 1.04vw; }
  .checkout-dialog .fee-card,
  .drawer .fee-card { gap: .42vw; padding: .78vw .89vw; border-radius: .83vw; font-size: .68vw; }
  .checkout-dialog .fee-card b,
  .drawer .fee-card b { font-size: .73vw; }
  .checkout-dialog .fee-card .fee-total,
  .drawer .fee-card .fee-total { padding-top: .52vw; }
  .checkout-dialog .fee-card .fee-total strong,
  .drawer .fee-card .fee-total strong { font-size: 1.25vw; }
  .checkout-dialog .shipping-progress,
  .drawer .shipping-progress { height: .36vw; }
  .checkout-dialog .shipping-hint,
  .drawer .shipping-hint { font-size: .625vw !important; }
  .checkout-dialog .primary,
  .checkout-dialog .secondary { min-height: 2.6vw; padding-inline: 1.46vw; font-size: .73vw; }
  .privacy-consent { gap: .47vw !important; margin-top: .78vw; font-size: .68vw !important; }
  .orders-dialog > p { margin-bottom: .78vw; font-size: .73vw; }
  .order-lookup-form { grid-template-columns: 1fr 1fr auto; gap: .47vw; padding: .73vw; border-radius: .73vw; }
  .order-lookup-form input { padding: .57vw .63vw; border-radius: .47vw; font-size: .68vw; }
  .order-lookup-form .secondary { min-height: 2.19vw; padding-inline: .89vw; font-size: .68vw; }
  .orders-toolbar { margin: .68vw .1vw 0; font-size: .68vw; }
  .orders-loading { padding: 2.86vw .52vw; font-size: .73vw; }
  .order-card { margin-top: .73vw; padding: .89vw; border-radius: .73vw; }
  .order-card header { font-size: .68vw; }
  .order-card h3 { margin: .63vw 0 .36vw; font-size: .73vw; }
  .order-card p { font-size: .68vw; }
  .order-card .primary,
  .order-card .secondary { min-height: 2.19vw; padding-inline: .89vw; font-size: .68vw; }
  .drawer {
    width: 28vw;
    padding: 1.46vw;
    box-shadow: -1.25vw 0 3.65vw rgba(0,20,50,.3);
  }
  .drawer header h2 { font-size: 1.46vw; }
  .drawer .close { font-size: 1.56vw; }
  .cart-items { padding: .63vw 0; }
  .cart-empty { padding: 4.17vw .78vw; font-size: .73vw; }
  .cart-row { gap: .63vw; padding: .94vw 0; }
  .cart-row h3 { margin-bottom: .36vw; font-size: .78vw; }
  .cart-row p { font-size: .73vw; }
  .cart-row-actions { gap: .21vw; }
  .cart-row-actions button { width: 1.56vw; height: 1.56vw; border-radius: .47vw; font-size: .73vw; }
  .cart-row-actions button[data-remove] { padding-inline: .31vw; font-size: .625vw; }
  .drawer footer { padding-top: 1.04vw; }
  .cart-fee-card { margin-bottom: .83vw; }
  .drawer .primary,
  .drawer .secondary { min-height: 2.6vw; padding-inline: 1.46vw; font-size: .73vw; }
  .support-launch {
    right: 1.25vw;
    bottom: 1.25vw;
    gap: .47vw;
    min-height: 2.5vw;
    padding: 0 1.04vw;
    font-size: .83vw;
  }
  .support-launch span { width: .47vw; height: .47vw; border-width: .1vw; }
  .support-panel {
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    width: 28vw;
    max-height: min(78vh,42vw);
    border-radius: 1.15vw;
    transform: translate(-50%,-50%);
  }
  .support-panel > header { padding: .9vw 1.05vw; }
  .support-panel > header > div { column-gap: .52vw; }
  .support-panel > header b { font-size: .94vw; }
  .support-panel > header small { margin-top: .16vw; font-size: .64vw; }
  .support-panel > header button { font-size: 1.56vw; }
  .support-online-dot { width: .63vw; height: .63vw; }
  .support-welcome { padding: 1.25vw 1.15vw; }
  .support-welcome h2 { margin: .52vw 0 .42vw; font-size: 1.35vw; }
  .support-welcome > p { margin-bottom: .94vw; font-size: .78vw; }
  .support-welcome label { gap: .31vw; margin: .57vw 0; font-size: .78vw; }
  .support-welcome input,
  .support-welcome textarea,
  .support-reply-form textarea { padding: .57vw .63vw; border-radius: .52vw; font-size: .78vw; }
  .support-welcome textarea { min-height: 4.58vw; }
  .support-welcome .primary { min-height: 2.6vw; font-size: .78vw; }
  .support-chat-meta { padding: .47vw .78vw; font-size: .68vw; }
  .support-messages { min-height: 14.58vw; gap: .52vw; padding: .89vw .78vw; }
  .support-message { padding: .52vw .63vw; border-radius: .73vw .73vw .73vw .21vw; font-size: .78vw; }
  .support-message.customer { border-radius: .73vw .73vw .21vw .73vw; }
  .support-message time { margin-top: .21vw; font-size: .63vw; }
  .support-typing { padding: 0 .78vw .42vw; font-size: .68vw; }
  .support-reply-form { gap: .42vw; padding: .63vw; }
  .support-reply-form textarea { min-height: 2.4vw; max-height: 5.21vw; }
  .support-reply-form .primary { min-height: 2.4vw; padding-inline: .89vw; font-size: .78vw; }
  .payment-dialog {
    width: 32vw;
    max-height: 88vh;
    padding: 2.08vw;
    border-radius: 1.35vw;
  }
  .payment-dialog h2 { margin: .57vw 0 .52vw; font-size: 1.56vw; }
  .payment-dialog > .close { right: 1.15vw; top: 1.04vw; font-size: 1.56vw; }
  .payment-dialog .eyebrow { padding: .36vw .62vw; font-size: .625vw; }
  .payment-dialog p { font-size: .68vw; }
  .payment-order-info { gap: .26vw; margin: .73vw 0 .31vw; padding: .63vw; border-radius: .63vw; font-size: .68vw; }
  .payment-order-info .text-button { margin-top: .1vw; }
  .payment-code-card { width: 18vw; margin: .94vw auto .63vw; padding: .94vw .94vw .73vw; border-radius: 1.25vw; }
  .payment-code-card .payment-qr-shell { width: 12.5vw; height: 12.5vw; padding: .52vw; border-radius: .94vw; }
  .payment-code-card > strong { margin-top: .73vw; font-size: 1.56vw; }
  .payment-code-card > p { margin-top: .36vw; }
  .payment-qr-placeholder { border-radius: .63vw; font-size: .73vw; }
  .payment-warning { margin: .52vw 0; padding: .47vw .57vw; border-radius: .52vw; }
  .payment-device-hint { margin-top: .52vw; }
  .payment-utility { gap: .94vw; font-size: .73vw; }
  .payment-actions { gap: .63vw; margin-top: .94vw; }
  .payment-actions .primary,
  .payment-actions .secondary { min-height: 2.6vw; padding-inline: 1.04vw; font-size: .73vw; }
  .catalog-dialog {
    width: 48vw;
    max-height: 88vh;
    padding: 2.08vw;
    border-radius: 1.35vw;
  }
  .catalog-dialog h2 { margin: .57vw 0 .52vw; font-size: 1.56vw; }
  .catalog-dialog > .close { right: 1.15vw; top: 1.04vw; font-size: 1.56vw; }
  .catalog-dialog .eyebrow { padding: .36vw .62vw; font-size: .625vw; }
  .catalog-search { gap: .36vw; margin-top: 1.25vw; font-size: .73vw; }
  .catalog-search input { padding: .73vw .83vw; border-radius: .63vw; font-size: .73vw; }
  .catalog-controls { gap: .73vw; margin: .94vw 0; }
  .category-chips { gap: .42vw; }
  .category-chips button { padding: .42vw .63vw; font-size: .68vw; }
  .catalog-controls select { min-width: 7.29vw; padding: .47vw .63vw; border-radius: .52vw; font-size: .68vw; }
  .catalog-results { gap: .52vw; max-height: 18.75vw; padding-right: .16vw; }
  .catalog-item { gap: .73vw; padding: .78vw; border-radius: .68vw; font-size: .73vw; }
  .catalog-item span { gap: .26vw; }
  .catalog-empty { padding: 2.6vw .52vw; font-size: .73vw; }
}

@media (max-width: 720px) {
  body { background: #274b89; }
  .mobile-site-header { position: sticky; top: 0; z-index: 70; display: grid; grid-template-columns: 1fr auto; align-items: center; min-height: 94px; padding: 7px 15px 0; border-bottom: 1px solid rgba(104,212,255,.18); background: #0b3767; box-shadow: 0 8px 24px rgba(0,20,50,.16); }
  .mobile-brand { display: flex; align-items: center; width: 132px; height: 42px; padding: 5px 0; border: 0; background: transparent; }
  .mobile-brand img { display: block; width: 122px; height: auto; filter: brightness(0) invert(1); }
  .mobile-header-actions { display: flex; align-items: center; gap: 7px; }
  .mobile-header-actions > button { position: relative; min-height: 33px; padding: 0 10px; border: 1px solid rgba(104,212,255,.5); border-radius: 999px; color: #eaf6ff; background: rgba(255,255,255,.04); font-size: 10px; font-weight: 800; }
  .mobile-cart-badge { left: auto; right: -5px; top: -6px; }
  .mobile-primary-nav { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5,1fr); gap: 0; width: calc(100% + 30px); margin: 0 -15px; overflow: visible; }
  .mobile-primary-nav button { position: relative; min-width: 0; min-height: 43px; padding: 0 2px; border: 0; border-radius: 0; color: #d7e9f9; background: transparent; font-size: 10px; font-weight: 800; white-space: nowrap; }
  .mobile-primary-nav button.is-active { color: #fff; background: transparent; box-shadow: none; }
  .mobile-primary-nav button.is-active::after { content: ""; position: absolute; left: 30%; right: 30%; bottom: 0; height: 3px; border-radius: 999px; background: #68d4ff; }
  .site { min-height: calc(100vh - 94px); background: #274b89; }
  .site-legal-footer { min-height: 0; padding: 22px 16px calc(24px + env(safe-area-inset-bottom)); }
  .site-legal-footer::before { opacity: .18; transform: translateY(58%); }
  .site-legal-footer__inner { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 12px; font-size: 10px; line-height: 1.55; }
  .site-legal-footer__inner > * { white-space: normal; }
  .site-legal-footer__wide { grid-column: 1 / -1; }
  .design-page { width: 100%; box-shadow: none; }
  .design-page > .design-picture { display: block; overflow: hidden; }
  .design-page:not([data-design="mall"]) > .design-picture .design-art { transform: translateY(-84px); margin-bottom: -84px; }
  .design-page[data-design="home"] > .design-picture .design-art { transform: translateY(-104px); margin-bottom: -104px; }
  .design-controls { display: none; }
  .design-controls::after { left: 70.5%; right: 0; top: 0; height: 42px; background: #0b2f5b; }
  .design-page[data-design="mall"] .design-controls::after { background: #0b2f5b; }
  .design-page[data-design="mall"] { overflow: visible; background: #f3f7fb; }
  .design-page[data-design="mall"] .mall-design-picture { display: none; }
  .design-page[data-design="mall"] .product-hotspots,
  .design-page[data-design="mall"] .catalog-hit { display: none; }
  .mobile-mall-content { position: relative; z-index: 3; display: block; margin-top: 0; padding: 28px 15px 54px; color: #fff; background: #274b89; }
  .mobile-mall-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
  .mobile-mall-heading span { color: #68d4ff; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
  .mobile-mall-heading h1 { margin: 5px 0 5px; color: #fff; font-size: 26px; line-height: 1.12; }
  .mobile-mall-heading p { margin: 0; color: #d6e4f7; font-size: 11px; }
  .mobile-mall-heading > button { flex: 0 0 auto; padding: 9px 13px; border: 1px solid #b9d2eb; border-radius: 999px; color: #075bdc; background: #fff; font-size: 12px; font-weight: 800; }
  .mobile-mall-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 0 0 14px; }
  .mobile-mall-actions button { position: relative; display: flex; min-width: 0; min-height: 52px; align-items: center; justify-content: center; gap: 6px; padding: 0 8px; border: 1px solid rgba(104,212,255,.4); border-radius: 15px; color: #fff; background: rgba(7,91,220,.24); font-size: 11px; font-weight: 800; }
  .mobile-mall-actions button span { color: #68d4ff; font-size: 16px; }
  .mobile-mall-actions button i.cart-badge { left: auto; right: 5px; top: 4px; font-style: normal; }
  .mobile-mall-content .mobile-shop-notice { display: flex; gap: 10px; margin: 0 0 20px; padding: 12px 13px; border-radius: 13px; color: #45677f; background: #e8f4ff; font-size: 11px; line-height: 1.55; }
  .mobile-mall-content .mobile-shop-notice b { flex: 0 0 auto; color: #007b5b; }
  .mobile-mall-content .mobile-product-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .mobile-product-collection { margin: 20px 2px 2px; padding-top: 18px; border-top: 1px solid rgba(214,228,247,.2); }
  .mobile-product-collection:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
  .mobile-product-collection span { color: #075bdc; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
  .mobile-product-collection h2 { margin: 4px 0 0; color: #fff; font-size: 22px; }
  .mobile-mall-content .mobile-product-card { display: grid; grid-template-columns: 1fr; min-width: 0; overflow: hidden; border: 1px solid rgba(7,91,220,.12); border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(6,48,92,.08); text-align: left; }
  .mobile-mall-content .mobile-product-visual { display: flex; align-items: center; justify-content: center; width: 100%; height: auto; min-height: 0; aspect-ratio: 1 / 1; padding: 0; background: #fff; }
  .mobile-mall-content .mobile-product-visual.is-empty { background: #fff; }
  .mobile-mall-content .mobile-product-visual img { display: block; width: 100%; height: 100%; max-height: none; border-radius: 0; object-fit: cover; }
  .mobile-mall-content .mobile-product-card[data-product-id="9"] .mobile-product-visual,
  .mobile-mall-content .mobile-product-card[data-product-id="10"] .mobile-product-visual,
  .mobile-mall-content .mobile-product-card[data-product-id="11"] .mobile-product-visual,
  .mobile-mall-content .mobile-product-card[data-product-id="12"] .mobile-product-visual { aspect-ratio: 1.18 / 1; background: #fff; }
  .mobile-mall-content .mobile-product-card[data-product-id="9"] .mobile-product-visual img,
  .mobile-mall-content .mobile-product-card[data-product-id="10"] .mobile-product-visual img,
  .mobile-mall-content .mobile-product-card[data-product-id="11"] .mobile-product-visual img,
  .mobile-mall-content .mobile-product-card[data-product-id="12"] .mobile-product-visual img { object-fit: fill; }
  .mobile-mall-content .mobile-product-content { display: flex; min-width: 0; min-height: 158px; padding: 16px 17px 17px; flex-direction: column; gap: 7px; border-top: 1px solid #eef3f8; }
  .mobile-mall-content .mobile-product-content small { color: #075bdc; font-size: 10px; font-weight: 900; }
  .mobile-mall-content .mobile-product-content b { min-height: 40px; color: #102a56; font-size: 15px; line-height: 1.42; }
  .mobile-mall-content .mobile-product-content p { min-height: 31px; margin: 0; color: #5f7694; font-size: 11px; line-height: 1.5; }
  .mobile-product-buy { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 7px; }
  .mobile-mall-content .mobile-product-buy strong { color: #f23b56; font-size: 22px; line-height: 1.2; }
  .mobile-product-buy em { min-width: 118px; padding: 10px 14px; border-radius: 999px; color: #fff; background: linear-gradient(90deg,#075ee8,#1696ed); box-shadow: 0 7px 18px rgba(7,91,220,.18); font-size: 12px; font-style: normal; font-weight: 800; text-align: center; white-space: nowrap; }
  .mobile-mall-content .mobile-mall-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; padding: 17px; border: 1px solid rgba(214,228,247,.18); border-radius: 16px; color: #dfeeff; background: #082b58; font-size: 12px; }
  .mobile-mall-content .mobile-mall-footer button { padding: 8px 11px; border: 0; border-radius: 999px; color: #082b58; background: #fff; font-weight: 800; }
  .logo-hit { left: 3.59%; top: 0; width: 25%; height: 42px; }
  .logo-hit::before { top: 8px; width: 92px; height: 26px; }
  .nav-hit { top: 42px; width: 20%; height: 42px; }
  .nav-1 { left: 0; }
  .nav-2 { left: 20%; }
  .nav-3 { left: 40%; }
  .nav-4 { left: 60%; }
  .nav-5 { left: 80%; }
  .design-page:not([data-design="mall"]) .orders-hit,
  .design-page:not([data-design="mall"]) .cart-hit { display: none; }
  .design-page[data-design="mall"] .orders-hit { left: 4.10%; top: 206px; width: 27.69%; height: 44px; }
  .design-page[data-design="mall"] .cart-hit { left: 34.87%; top: 206px; width: 27.69%; height: 44px; }
  .catalog-hit { top: 264px; right: 16px; width: 112px; height: 38px; }
  .catalog-hit::after { font-size: 12px; }
  .product-hit { border-radius: 16px; }
  .product-hit-1 { left:4.10256%; top:2.47180%; width:91.79487%; height:4.11967%; }
  .product-hit-2 { left:4.10256%; top:6.72655%; width:91.79487%; height:4.11967%; }
  .product-hit-3 { left:4.10256%; top:10.98129%; width:91.79487%; height:4.11967%; }
  .product-hit-4 { left:4.10256%; top:15.23604%; width:91.79487%; height:4.11967%; }
  .product-hit-5 { left:4.10256%; top:19.97704%; width:91.79487%; height:4.11967%; }
  .product-hit-6 { left:4.10256%; top:24.23178%; width:91.79487%; height:4.11967%; }
  .product-hit-7 { left:4.10256%; top:28.48653%; width:91.79487%; height:4.11967%; }
  .product-hit-8 { left:4.10256%; top:33.22753%; width:91.79487%; height:4.11967%; }
  .product-hit-9 { left:4.10256%; top:37.48227%; width:91.79487%; height:4.11967%; }
  .product-hit-10 { left:4.10256%; top:41.73702%; width:91.79487%; height:4.11967%; }
  .product-hit-11 { left:4.10256%; top:45.99176%; width:91.79487%; height:4.11967%; }
  .product-hit-12 { left:4.10256%; top:50.73276%; width:91.79487%; height:4.11967%; }
  .product-hit-13 { left:4.10256%; top:54.98751%; width:91.79487%; height:4.11967%; }
  .product-hit-14 { left:4.10256%; top:59.24225%; width:91.79487%; height:4.11967%; }
  .product-hit-15 { left:4.10256%; top:63.49699%; width:91.79487%; height:4.11967%; }
  .product-hit-16 { left:4.10256%; top:68.23800%; width:91.79487%; height:4.11967%; }
  .product-hit-17 { left:4.10256%; top:72.49274%; width:91.79487%; height:4.11967%; }
  .product-hit-18 { left:4.10256%; top:76.74748%; width:91.79487%; height:4.11967%; }
  .product-hit-19 { left:4.10256%; top:81.00223%; width:91.79487%; height:4.11967%; }
  .product-hit-20 { left:4.10256%; top:85.74323%; width:91.79487%; height:4.11967%; }
  .product-hit-21 { left:4.10256%; top:89.99797%; width:91.79487%; height:4.11967%; }
  .product-hit-22 { left:4.10256%; top:94.25272%; width:91.79487%; height:4.11967%; }
  /* The mobile SVG already draws each software card. Keep the live click target
     on the blue download button only so it cannot cover the card content. */
  .download-hit { left: 8.20513%; width: 83.58974%; height: 5.56724%; border-radius: 999px; }
  .download-hit.android { top: 28.29324%; }
  .download-hit.windows { top: 52.34443%; }
  .download-hit.ios { top: 76.39562%; }
  .download-hit small {
    left: 27%;
    top: calc(-52 * 100vw / 390);
    max-width: 70%;
    overflow: visible;
    color: #5f7896;
    font-size: 9.5px;
    line-height: 1.25;
    text-overflow: clip;
    white-space: nowrap;
  }
  .design-page #cartBadge,
  .design-page[data-design="mall"] #cartBadge { position: absolute; right: 38.5%; top: 211px; min-width: 18px; height: 18px; font-size: 9px; }
  .support-panel { inset: 94px 0 0; width: 100%; max-height: none; border: 0; border-radius: 0; }
  .support-launch { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); }
  .product-dialog-image { height: min(300px,38vh); margin-top: 0; border-radius: 16px; }
  .product-choice-row { grid-template-columns: 1fr; align-items: stretch; gap: 0; }
  .product-specifications > div { grid-template-columns: 1fr; }
  .product-dialog .dialog-actions { flex-wrap: wrap; }
  .back-top { display: none; }
  .payment-code-card { width: min(290px,100%); padding: 15px 14px 13px; border-radius: 21px; }
  .payment-code-card .payment-qr-shell { width: min(210px,56vw); height: min(210px,56vw); }
}
