/* Loaded only by the Shanghai lepan.work entry point. */
.mobile-tabs { display: none; }
:focus-visible { outline: 3px solid #197363; outline-offset: 3px; }
@media (max-width: 860px) {
  html { scroll-padding-top: 88px; -webkit-text-size-adjust: 100%; }
  body { overflow-wrap: anywhere; }
  .app-shell { min-height: 100svh; padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: calc(10px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
  }
  .topbar > nav { display: none; }
  .brand { gap: 8px; font-size: 16px; }
  .brand-mark { width: 34px; height: 34px; border-radius: 11px; }
  .session-state { min-height: 44px; justify-self: end; padding: 10px 12px; }
  .page { width: calc(100% - 32px); padding: 24px 0; }
  .home-page { padding-bottom: 0; }
  .landing-hero {
    width: calc(100% - 24px); margin-top: 12px; padding: 24px 14px 14px;
    gap: 24px; border-radius: 24px; min-height: auto;
  }
  .hero-copy { padding: 0 6px; gap: 12px; }
  .hero-title { font-family: inherit; font-size: clamp(28px, 7.4vw, 40px); line-height: 1.22; text-wrap: balance; }
  .hero-copy .lead { margin: 0; font-size: 16px; line-height: 1.7; }
  .hero-points { gap: 6px; margin-top: 0; }
  .hero-points span { font-size: 12px; min-height: 28px; padding: 4px 9px; }
  .badge { justify-self: start; }
  .panel, .card { min-width: 0; padding: 20px 16px; border-radius: 18px; }
  .signup-card { scroll-margin-top: 90px; }
  .signup-card > p { margin: 0; }
  .stack { gap: 14px; }
  .layout, .plan-grid, .platform-grid, .download-detail, .import-step-layout { grid-template-columns: minmax(0, 1fr); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .metric { padding: 14px 12px; border-radius: 16px; font-size: 13px; }
  .metric strong { font-size: 16px; }
  .after-hero { padding-top: 16px; }
  input, textarea, select { min-width: 0; font-size: 16px; border-radius: 12px; }
  input, select { min-height: 50px; }
  form { gap: 16px; }
  label { gap: 8px; }
  .button, button { min-height: 48px; border-radius: 12px; touch-action: manipulation; }
  .actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 10px; }
  .button, .actions > * { max-width: 100%; white-space: normal; text-align: center; }
  .detail-row { gap: 12px; }
  .detail-row > * { min-width: 0; }
  .detail-row strong { flex-shrink: 0; }
  .platform-tabs { padding-left: 0; scroll-snap-type: x proximity; }
  .platform-tab { min-width: 96px; min-height: 48px; scroll-snap-align: start; }
  .download-detail { padding: 18px 12px; }
  .install-actions { width: 100%; }
  .import-guide-image { max-width: 360px; justify-self: center; }
  img, video { max-width: 100%; height: auto; }
  pre { max-width: 100%; overflow-x: auto; }
  .mobile-tabs {
    position: fixed; z-index: 20; bottom: 0; left: 0; right: 0;
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0;
    padding: 7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    background: rgba(255, 253, 248, .97); backdrop-filter: blur(18px);
    border-top: 1px solid var(--line); box-shadow: 0 -4px 24px #23191508;
  }
  .mobile-tabs a { display: flex; flex-direction: column; gap: 3px; min-height: 52px; padding: 6px 2px; border-radius: 12px; font-size: 11px; font-weight: 600; color: var(--muted); }
  .mobile-tabs svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-tabs a[aria-current="page"] { color: var(--primary-dark); background: var(--soft); }
  .mobile-tabs a:hover { text-decoration: none; }
  .support-widget { right: 14px; bottom: calc(86px + env(safe-area-inset-bottom)); }
  .support-toggle { min-width: 48px; min-height: 48px; padding: 10px 14px; }
  .support-chatbox { width: min(390px, calc(100vw - 28px)); height: min(600px, calc(100dvh - 210px - env(safe-area-inset-bottom))); bottom: 60px; }
  .support-chatbox .icon-button, .topic-chip, .send-button { min-height: 44px; }
  .support-chatbox .icon-button { min-width: 44px; }
  .support-chatbox-form textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
