html[data-miniapp="true"] {
  --miniapp-safe-top: 0px; --miniapp-safe-bottom: 0px; --miniapp-safe-left: 0px; --miniapp-safe-right: 0px;
  --miniapp-height: 100dvh; color-scheme: light;
  -webkit-text-size-adjust: 100%; scroll-padding-bottom: 105px;
}
html[data-miniapp="true"][data-theme="dark"] { color-scheme: dark; }
html[data-miniapp="true"] body { min-height: var(--miniapp-height); overscroll-behavior-y: none; padding-bottom: calc(88px + max(env(safe-area-inset-bottom),var(--miniapp-safe-bottom))); }
html[data-miniapp="true"] .site-header { top: 0; padding-top: max(env(safe-area-inset-top),var(--miniapp-safe-top)); }
html[data-miniapp="true"] .container { padding-left: var(--miniapp-safe-left); padding-right: var(--miniapp-safe-right); }
html[data-miniapp="true"] .mobile-bottom-nav { display: block; bottom: max(10px,env(safe-area-inset-bottom),var(--miniapp-safe-bottom)); z-index: 95; }
html[data-miniapp="true"] .mobile-bottom-nav a { min-height: 48px; -webkit-tap-highlight-color: transparent; }
html[data-miniapp="true"] .mobile-bottom-nav .is-active { background: var(--primary-soft,#eaf2ff); color: var(--primary,#2563eb); border-radius: 12px; }
html[data-miniapp="true"] .site-footer { padding-bottom: 12px; }
html[data-miniapp="true"] button, html[data-miniapp="true"] a, html[data-miniapp="true"] input { touch-action: manipulation; }
html[data-miniapp="true"] input:not([type=checkbox]):not([type=radio]), html[data-miniapp="true"] select, html[data-miniapp="true"] textarea { font-size: 16px; }
html[data-miniapp="true"] .profile-v2-avatar img { object-fit: cover; }
.miniapp-gate { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: max(28px,var(--miniapp-safe-top)) 24px max(28px,var(--miniapp-safe-bottom)); background: #f3f6fb; color: #172033; font: 15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
[data-theme="dark"] .miniapp-gate { background: #10151e; color: #edf2fc; }
[data-miniapp-state="ready"] .miniapp-gate { display: none; }
.miniapp-gate [hidden] { display: none !important; }
.miniapp-gate-card { width: min(100%,390px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.miniapp-brand-mark { width: 80px; height: 80px; display: grid; place-items: center; position: relative; border-radius: 25px; background: #172538; color: #fff; font-size: 27px; font-weight: 850; letter-spacing: -2px; box-shadow: 0 14px 55px #129cea26; }
.miniapp-brand-mark span { position: absolute; top: -5px; right: -8px; font-size: 31px; color: #40bfff; }
.miniapp-eyebrow { color: #259bd4; font-size: 10px; font-weight: 800; letter-spacing: .22em; margin-top: 27px; }
.miniapp-gate h1 { font-size: clamp(25px,7vw,31px); line-height: 1.2; letter-spacing: -.04em; margin: 13px 0 8px; }
.miniapp-gate p { color: #68758b; max-width: 320px; margin: 0 0 23px; }
[data-theme="dark"] .miniapp-gate p { color: #9eacc0; }
.miniapp-loader { width: 27px; height: 27px; border: 2px solid #259bd430; border-top-color: #259bd4; border-radius: 50%; animation: miniapp-spin .8s linear infinite; margin: 11px 0; }
.miniapp-retry, .miniapp-open-telegram { border: 0; border-radius: 14px; font: inherit; font-weight: 700; padding: 13px 25px; cursor: pointer; background: #279edb; color: white; text-decoration: none; margin: 4px 0; min-height: 48px; }
.miniapp-open-telegram { display: inline-flex; align-items: center; gap: 18px; }
.miniapp-gate-note { color: #758499; margin-top: 38px; font-size: 11px; }
.miniapp-gate :focus-visible { outline: 3px solid #51c7ff; outline-offset: 4px; }
.miniapp-payment-dialog { width: min(420px,calc(100% - 32px)); padding: 25px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface,#fff); color: var(--text,#172033); }
.miniapp-payment-dialog::backdrop { background: #070d18b8; backdrop-filter: blur(5px); }
.miniapp-payment-dialog h2 { margin: 0 0 10px; }
.miniapp-payment-dialog p { color: var(--muted,#68758b); font-size: 14px; line-height: 1.6; }
.miniapp-payment-dialog a, .miniapp-payment-dialog button { display: block; width: 100%; padding: 14px; margin-top: 12px; border-radius: 12px; text-align: center; cursor: pointer; border: 0; font: inherit; font-weight: 700; }
.miniapp-payment-dialog a { background: #279edb; color: white; }
.miniapp-payment-dialog button { background: var(--surface-soft,#eef3f9); color: var(--text,#172033); }
html[data-miniapp-state="loading"] body, html[data-miniapp-state="error"] body { overflow: hidden; }
@keyframes miniapp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .miniapp-loader { animation: none; } }
@media (max-width: 600px) {
  html[data-miniapp="true"] .header-inner { min-height: 60px; }
  html[data-miniapp="true"] .account-tabs { overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap; }
  html[data-miniapp="true"] .account-tab { flex-shrink: 0; min-height: 44px; }
  html[data-miniapp="true"] .profile-v2-content-grid { grid-template-columns: minmax(0,1fr); }
  html[data-miniapp="true"] .profile-v2-form input { width: 100%; min-width: 0; }
  html[data-miniapp="true"] .profile-v2-static-field strong { overflow-wrap: anywhere; }
}

/* Mini App layout: one content column and independent bottom navigation/actions. */
html[data-miniapp="true"] {
  --miniapp-bottom-inset: max(env(safe-area-inset-bottom,0px),var(--miniapp-safe-bottom));
  --miniapp-top-inset: max(env(safe-area-inset-top,0px),var(--miniapp-safe-top));
  --miniapp-nav-height: calc(64px + var(--miniapp-bottom-inset));
  --miniapp-buybar-height: 0px;
  --miniapp-dock-height: calc(var(--miniapp-nav-height) + var(--miniapp-buybar-height));
  scroll-padding-top: calc(var(--miniapp-header-height,118px) + 16px);
  scroll-padding-bottom: calc(var(--miniapp-dock-height) + 20px);
}
html[data-miniapp="true"] body {
  display: flex; flex-direction: column; min-height: var(--miniapp-height,100svh);
  padding-bottom: calc(var(--miniapp-dock-height) + 16px); width: 100%; zoom: 1 !important;
}
html[data-miniapp="true"] body > main { flex: 1 0 auto; width: 100%; min-width: 0; min-height: 0; padding-bottom: 0 !important; }
html[data-miniapp="true"] :is(.container,.rm-container) {
  width: min(960px,calc(100% - 28px)); padding-left: var(--miniapp-safe-left); padding-right: var(--miniapp-safe-right);
}
html[data-miniapp="true"] :is(main section,main article,main aside,main form,.product-body,.product-info,.cart-item-main) { min-width: 0; }
html[data-miniapp="true"] :is(h1,h2,h3,.product-name,.price-pair,.summary-row,.profile-v2-provider) { overflow-wrap: anywhere; }
html[data-miniapp="true"] :is(input,select,textarea) { max-width: 100%; }
html[data-miniapp="true"] :is(button,.btn,.product-more,.skin-quick-add button) { min-height: 44px; }
html[data-miniapp="true"] .btn { height: auto; white-space: normal; line-height: 1.4; text-align: center; }
html[data-miniapp="true"] .site-header { padding-top: var(--miniapp-top-inset); z-index: 80; }
html[data-miniapp="true"] .site-header .header-inner {
  display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; gap: 8px 10px !important;
  padding-top: 8px !important; padding-bottom: 10px !important; min-height: 0 !important;
  padding-left: max(14px,var(--miniapp-safe-left)) !important; padding-right: max(14px,var(--miniapp-safe-right)) !important;
}
html[data-miniapp="true"] .site-header .brand { min-width: 0; gap: 7px; }
html[data-miniapp="true"] .site-header .brand-logo { width: 32px !important; height: 32px !important; flex: 0 0 32px; }
html[data-miniapp="true"] .site-header .brand-name { display: block !important; font-size: 11px !important; line-height: 1.3; white-space: normal; }
html[data-miniapp="true"] .site-header .brand-name > span { display: block; font-size: 9px; letter-spacing: .08em; }
html[data-miniapp="true"] .site-header .header-actions { grid-column: 2; grid-row: 1; gap: 6px !important; min-width: 0; }
html[data-miniapp="true"] .site-header .header-search { grid-column: 1/-1 !important; grid-row: 2 !important; min-width: 0; }
html[data-miniapp="true"] .site-header .header-search input { height: 44px !important; min-width: 0; padding-right: 12px; }
html[data-miniapp="true"] .header-actions > a[href="/cart/"] { display: none !important; }
html[data-miniapp="true"] .site-header :is(.icon-button,.header-instructions-toggle) { width: 40px !important; min-width: 40px !important; height: 40px !important; min-height: 40px !important; padding: 0 !important; }
html[data-miniapp="true"] .header-instructions-label, html[data-miniapp="true"] .header-instructions-chevron { display: none; }
html[data-miniapp="true"] .site-header :is(#profileMenu,#instructionsMenu) { max-width: calc(100vw - 28px); max-height: max(100px,calc(var(--miniapp-visible-height,100dvh) - var(--miniapp-header-height,118px) - var(--miniapp-nav-height) - 16px)); overflow-y: auto; overscroll-behavior: contain; }
html[data-miniapp="true"] .floating-support { display: none !important; }
html[data-miniapp="true"] .mobile-bottom-nav {
  display: block !important; position: fixed !important; inset: auto 0 0 !important; width: 100% !important;
  max-width: none !important; transform: none !important; margin: 0 !important;
  padding: 6px max(8px,var(--miniapp-safe-right)) calc(6px + var(--miniapp-bottom-inset)) max(8px,var(--miniapp-safe-left)) !important;
  border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important;
  background: var(--surface) !important; z-index: 95; box-shadow: 0 -6px 24px #0000000a !important;
}
html[data-miniapp="true"] .mobile-bottom-nav-grid { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 2px !important; width: min(960px,100%); margin: 0 auto; }
html[data-miniapp="true"] .mobile-bottom-nav .mobile-bottom-link {
  display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 5px !important;
  min-width: 0 !important; min-height: 52px !important; padding: 5px 1px !important; border-radius: 12px !important;
  font-size: 10px !important; line-height: 1.25 !important; white-space: nowrap; color: var(--muted) !important;
}
html[data-miniapp="true"] .mobile-bottom-nav .mobile-bottom-link i { font-size: 18px !important; }
html[data-miniapp="true"] .mobile-bottom-nav .mobile-bottom-link.is-active { color: var(--primary-dark) !important; background: var(--primary-soft) !important; }
html[data-miniapp="true"] .mobile-buybar {
  position: fixed !important; bottom: var(--miniapp-nav-height) !important; left: 0 !important; right: 0 !important;
  padding: 10px 14px !important; border-top: 1px solid var(--line); background: var(--surface) !important; z-index: 94;
  padding-left: max(14px,var(--miniapp-safe-left)) !important; padding-right: max(14px,var(--miniapp-safe-right)) !important;
}
html[data-miniapp="true"] .mobile-buybar-row { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(136px,1.2fr); align-items: center; gap: 12px; width: min(932px,100%); margin: auto; }
html[data-miniapp="true"] .mobile-buybar-price { min-width: 0; }
html[data-miniapp="true"] .mobile-buybar-price strong { font-size: 20px !important; }
html[data-miniapp="true"] .mobile-buybar-price span { display: block; white-space: normal; font-size: 10px; line-height: 1.4; }
html[data-miniapp="true"] .mobile-buybar :is(button,a.btn) { min-width: 0; width: 100%; min-height: 48px; font-size: 12px !important; padding: 10px !important; }
html[data-miniapp="true"] .miniapp-footer { margin-top: auto; padding: 22px 18px 24px; color: var(--muted); text-align: center; }
html[data-miniapp="true"] .miniapp-footer p { margin: 0; font-size: 11px; line-height: 1.7; }
html[data-miniapp="true"] :is(.account-v2,.cart-page,.product-wrap,.catalog-page) { padding-top: 20px; padding-bottom: 24px; }
html[data-miniapp="true"] .account-v2 .account-tabs {
  display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 4px !important;
  width: 100%; padding: 4px; margin-bottom: 16px; overflow: visible;
}
html[data-miniapp="true"] .account-v2 .account-tab { display: flex !important; flex-direction: column; justify-content: center; gap: 5px; min-width: 0; min-height: 60px; padding: 8px 3px !important; font-size: 11px !important; white-space: normal; }
html[data-miniapp="true"] .profile-v2-provider > span { min-width: 0; }
html[data-miniapp="true"] .profile-v2-provider small { overflow-wrap: anywhere; }
html[data-miniapp="true"] .profile-v2-save-row > span { text-align: center; }
html[data-miniapp="true"] .cart-item-actions { flex-wrap: wrap; gap: 8px; }
html[data-miniapp="true"] .qty-form { min-width: 0; flex-wrap: wrap; }
html[data-miniapp="true"] .qty-form input { width: 58px; min-height: 44px; }
html[data-miniapp="true"] .cart-summary :is(.summary-row,.promo-form) { min-width: 0; flex-wrap: wrap; }
html[data-miniapp="true"] .promo-form input { flex: 1 1 130px; }
html[data-miniapp="true"] .totp-input-wrap { display: flex; align-items: center; gap: 8px; min-width: 0; }
html[data-miniapp="true"] .totp-input { flex: 1 1 0; min-width: 0; padding-right: 14px !important; }
html[data-miniapp="true"] .totp-reveal { position: static !important; flex: 0 0 44px; margin: 0; transform: none !important; }
html[data-miniapp="true"] :is(.product-footer,.product-meta,.buy-line) { flex-wrap: wrap; gap: 8px; }
html[data-miniapp="true"] :is(.product-more,.skin-quick-add button) { min-width: 44px; }
html[data-miniapp="true"] dialog { max-width: calc(100% - 24px); max-height: calc(var(--miniapp-visible-height,100dvh) - var(--miniapp-top-inset) - 24px); overflow-y: auto; overscroll-behavior: contain; }
html[data-miniapp="true"] .balance-topup-dialog { width: min(560px,calc(100% - 24px)); margin: auto; padding: 18px; }
html[data-miniapp="true"] .balance-topup-head { align-items: flex-start; gap: 12px; }
html[data-miniapp="true"] .balance-topup-head h2 { min-width: 0; font-size: 18px; }
html[data-miniapp="true"] .balance-topup-head > button { flex: 0 0 44px; }
html[data-miniapp="true"] .balance-topup-presets { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
html[data-miniapp="true"].miniapp-keyboard-open :is(.mobile-bottom-nav,.mobile-buybar) { display: none !important; }
@media (max-width: 700px) {
  html[data-miniapp="true"] :is(.cart-layout,.product-page,.profile-v2-content-grid) { grid-template-columns: minmax(0,1fr); }
  html[data-miniapp="true"] .cart-summary { position: static; padding: 18px; }
  html[data-miniapp="true"] .cart-head { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  html[data-miniapp="true"] .cart-head > a { width: 100%; }
  html[data-miniapp="true"] .product-info { padding: 18px; }
  html[data-miniapp="true"] .product-info h1 { font-size: 25px; line-height: 1.3; }
  html[data-miniapp="true"] .products-grid:not(.home-spotlights) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px; }
  html[data-miniapp="true"] .skin-catalog-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; width: 100%; }
  html[data-miniapp="true"] .skin-tool-dropdown[open] { grid-column: 1/-1; }
  html[data-miniapp="true"] .skin-tool-panel { position: static; width: 100%; max-width: none; margin-top: 8px; box-shadow: none; }
  html[data-miniapp="true"] .skin-price-range { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-miniapp="true"] .product-card:not(.home-spotlight-card) .product-body { padding: 12px; }
  html[data-miniapp="true"] .product-card:not(.home-spotlight-card) .product-name { font-size: 13px; line-height: 1.5; }
}
@media (max-width: 360px) {
  html[data-miniapp="true"] :is(.container,.rm-container) { width: calc(100% - 24px); }
  html[data-miniapp="true"] .site-header .header-actions { gap: 4px !important; }
  html[data-miniapp="true"] .profile-v2-meta { grid-template-columns: minmax(0,1fr); }
  html[data-miniapp="true"] .profile-v2-meta div:last-child { grid-column: auto; }
  html[data-miniapp="true"] .product-card:not(.home-spotlight-card) .product-body { padding: 10px; }
  html[data-miniapp="true"] .product-price { font-size: 18px; }
  html[data-miniapp="true"] .products-grid:not(.home-spotlights) { grid-template-columns: minmax(0,1fr) !important; }
}
