/* Shared by both storefront entries; explicit sizing beats lazy route styles. */
:root { --shop-canvas-width: 450px; }
html body uni-app uni-page-body,
body:is(.pages-login-login,.pages-login-regist) uni-app uni-page-body {
  width: 100% !important;
  max-width: var(--shop-canvas-width) !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}
:root uni-app .fooder_box,
:root uni-app .u-navbar--fixed,
:root uni-app .fixed[data-v-690cb28b],
:root uni-app .recharge-main-box .recharge-main-bottom {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: var(--shop-canvas-width);
  margin-inline: auto;
  box-sizing: border-box;
}
:root uni-app .u-popup__content {
  max-width: min(100%, var(--shop-canvas-width));
  margin-inline: auto;
  box-sizing: border-box;
}
:root uni-app .l-lang-btn {
  right: max(10px, calc((100% - var(--shop-canvas-width)) / 2 + 10px)) !important;
}
/* Compact controls still have at least a 44px touch target and can wrap labels. */
:root uni-app .btn,
:root uni-app .recharge-bottom-button,
:root uni-app .recharge-main-box .botton,
:root uni-app .tijioa.btn-sub,
:root uni-app .u-button--primary,
:root uni-app .receipt-submit,
:root uni-app .buy-btn.center {
  box-sizing: border-box;
  height: auto;
  min-height: 44px;
  padding: 9px 14px;
  font-size: 14px;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}
:root uni-app .box-common { padding: 12px; }
:root uni-app .index-nav1 { padding: 10px 6px; }
:root uni-app .index-nav1:not(.m-row-center) { gap: 4px; margin: 10px; }
:root uni-app .index-nav1 > .btn {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 8px 2px;
  font-size: 11px;
}
:root uni-app .index-video { width: 100%; height: clamp(150px, 45vw, 220px); }
:root uni-app .index-video .uni-video-video { width: 100% !important; height: 100% !important; }
:root uni-app .index-nav1.m-row-center { margin: 10px 0; }
:root uni-app .index-nav1.m-row-center > uni-view { min-height: 44px; font-size: 13px; }
:root uni-app .index-nav1.m-row-center uni-image.w2 { width: 28px !important; height: 28px !important; margin-top: 0 !important; }
/* An empty commission carousel should not reserve a 200px blank panel. */
:root uni-app .new-list:has(.goods-swiper):not(:has(uni-swiper-item)) { display: none; }
:root uni-app .u-cell__body { min-height: 48px; padding: 10px 12px; }
:root uni-app .grabbing-list { padding: 8px 6px; }
:root uni-app .grabbing-list > uni-view { padding: 7px 4px; }
:root uni-app .shop-profile-content { padding: 14px 12px 6px; }
:root uni-app .shop-page-title { font-size: 21px; }
:root uni-app .shop-member-strip { margin: 10px 0; }
:root uni-app .shop-stat-grid { gap: 8px; }
:root uni-app .shop-stat { box-sizing: border-box; min-height: 78px; padding: 12px; }
:root uni-app .shop-stat-label { margin-bottom: 6px; }
:root uni-app .shop-stat-value { font-size: 20px; }
:root uni-app .shop-section { margin-top: 14px; }
:root uni-app .shop-section-title { margin-bottom: 8px; }
:root uni-app .shop-actions { padding: 10px 6px; }
:root uni-app .shop-action { gap: 6px; min-height: 44px; }
:root uni-app .shop-action-icon { width: 36px; height: 36px; border-radius: 12px; }
:root uni-app .shop-account-row { min-height: 48px; padding: 8px 0; }
:root uni-app .shop-rows { padding: 0 10px; }
:root uni-app .fooder_box.shop-nav {
  left: 10px !important;
  right: 10px !important;
  width: calc(100% - 20px) !important;
  max-width: calc(var(--shop-canvas-width) - 20px);
  bottom: calc(6px + env(safe-area-inset-bottom, 0px));
  border-radius: 18px;
}
:root uni-app .shop-nav .shop-nav-list { padding: 4px; }
:root uni-app .shop-nav-button { box-sizing: border-box; min-height: 48px; padding: 4px 2px; border-radius: 13px; }
:root uni-app .shop-nav-center .shop-nav-icon-wrap { width: 38px; height: 38px; margin-top: -11px; border-radius: 14px; }
:root uni-app .shop-nav-spacer { height: calc(80px + env(safe-area-inset-bottom, 0px)); }
:root uni-app .recharge-main-box .recharge-main-bottom {
  min-height: 62px;
  padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
}
:root uni-app uni-page[data-page="pages/index/purchase"] .goods-item { padding: 12px; margin-top: 8px; }
:root uni-app uni-page[data-page="pages/index/purchase"] .goods-item > .btn {
  min-height: 44px;
  margin-top: 12px !important;
  padding: 9px 14px;
  white-space: normal;
}
:root uni-app uni-page[data-page="pages/index/purchase"] .wave-bottom > .text-center { padding: 12px; font-size: 17px; }
:root uni-app uni-page[data-page="pages/index/purchase"] .wave-bottom > .page-padding:not(.sticky) > .m-flex { min-height: 48px; padding: 10px 12px; }
:root uni-app uni-page[data-page="pages/index/purchase"] .wave-bottom > .sticky { margin-bottom: 10px; }
/* Auth keeps the same artwork and hierarchy, with less decorative whitespace. */
.tk-auth { min-height: 100vh; min-height: 100dvh; }
.tk-auth .auth-header { max-width: var(--shop-canvas-width); padding: 14px 16px; gap: 10px; }
.tk-auth .auth-brand { font-size: 20px; gap: 8px; }
.tk-auth .auth-mark { width: 34px; height: 38px; flex-basis: 34px; font-size: 19px; }
.tk-auth .auth-round { width: 44px; height: 44px; }
.tk-auth .auth-main { width: min(100% - 24px, 560px); margin-top: 8px; }
.tk-auth .auth-hero { min-height: 108px; padding: 16px; border-radius: 18px; }
.tk-auth .auth-has-poster { height: 108px; padding: 0; }
.tk-auth .auth-poster-image { object-fit: contain; }
.tk-auth .auth-hero-copy strong { font-size: 23px; letter-spacing: 2px; }
.tk-auth .auth-hero-copy p { margin-top: 6px; }
.tk-auth h1 { font-size: 24px; margin: 14px 0; }
.tk-auth .auth-intro { margin: -4px 0 14px; font-size: 14px; }
.tk-auth .auth-card { padding: 20px; border-radius: 20px; }
.tk-auth h2 { font-size: 21px; margin-bottom: 18px; }
.tk-auth .auth-field { margin-bottom: 12px; }
.tk-auth .auth-field label { margin-bottom: 6px; font-size: 13px; }
.tk-auth .auth-input-wrap { min-height: 46px; padding: 0 12px; gap: 8px; }
.tk-auth .auth-input-wrap input { padding: 11px 0; font-size: 16px; }
.tk-auth .auth-eye { min-height: 44px; min-width: 44px; }
.tk-auth .auth-forgot { min-height: 44px; margin: -6px 0 6px auto; }
.tk-auth .auth-action { min-height: 44px; padding: 10px 14px; font-size: 14px; }
.tk-auth .auth-secondary { margin-top: 10px; }
.tk-auth .auth-hint { margin: -6px 0 14px; }
.tk-auth .auth-footer { padding: 18px 12px calc(16px + env(safe-area-inset-bottom, 0px)); }
.tk-auth .auth-language-menu { top: 62px; inset-inline-end: 16px; }
.tk-auth .auth-language-option { min-height: 44px; padding: 10px 14px; }
@media (max-width: 350px) {
  .tk-auth .auth-header { padding-inline: 12px; }
  .tk-auth .auth-brand { font-size: 17px; }
  .tk-auth .auth-card { padding: 16px; }
  :root uni-app .shop-stat { padding: 10px; }
  :root uni-app .shop-stat-value { font-size: 18px; }
}
