/* Mobile adaptation overrides for memeltv.top */
@media (max-width: 768px) {
  html, body, #root {
    width: 100%;
    overflow-x: hidden;
  }

  body {
    font-size: 14px;
  }

  .content-wrapper,
  .clean-panel,
  .sub-tabs-container,
  .ant-card,
  .ant-card-body,
  .ant-descriptions,
  .ant-descriptions-view,
  .ant-collapse,
  .ant-collapse-content,
  .ant-form,
  .ant-form-item,
  .ant-row,
  .ant-col {
    min-width: 0;
  }

  /* Action bars and filter rows: allow wrapping */
  .ant-space,
  .ant-space-align-center,
  .ant-space-align-start,
  .header-actions,
  .tool-actions,
  .filter-actions,
  .toolbar-actions {
    flex-wrap: wrap !important;
    row-gap: 8px;
  }

  .ant-space-item {
    min-width: 0;
  }

  .ant-btn {
    max-width: 100%;
    white-space: normal;
    height: auto;
    line-height: 1.35;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  /* Input controls do not overflow */
  .ant-input,
  .ant-input-affix-wrapper,
  .ant-input-number,
  .ant-picker,
  .ant-select,
  .ant-select-selector,
  .ant-cascader-picker,
  .ant-upload,
  .ant-upload-wrapper,
  .ant-form-item-control,
  .ant-form-item-control-input,
  .ant-form-item-control-input-content {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Tables: horizontal scroll instead of layout break */
  .ant-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ant-table {
    min-width: 680px;
  }

  .ant-table-content,
  .ant-table-body,
  .ant-table-container {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Descriptions and statistics stack better on narrow screens */
  .ant-descriptions-row > th,
  .ant-descriptions-row > td,
  .ant-statistic {
    word-break: break-word;
  }

  .ant-statistic-content {
    font-size: 20px;
  }

  /* Charts: avoid clipping */
  .recharts-responsive-container,
  .recharts-wrapper,
  .echarts-for-react,
  .ant-card .chart-container,
  .ant-card .dashboard-chart,
  .ant-card .trend-chart {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
  }

  .recharts-wrapper,
  .recharts-surface {
    max-width: 100%;
  }

  /* Long tabs remain scrollable */
  .ant-tabs-nav-list {
    scrollbar-width: thin;
  }

  /* Drawer / modal full-screen friendly */
  .ant-drawer-content,
  .ant-modal-content {
    border-radius: 0 !important;
  }

  /* Markdown/JSON/code blocks in analysis panels */
  pre,
  code,
  .katex-display {
    max-width: 100%;
    overflow-x: auto;
    word-break: break-word;
  }
}

@media (max-width: 430px) {
  .app-content {
    padding: 8px !important;
    padding-bottom: calc(8px + env(safe-area-inset-bottom)) !important;
  }

  .sub-tabs-container {
    padding: 8px !important;
  }

  .ant-card-body {
    padding: 12px !important;
  }

  .ant-statistic-title {
    font-size: 12px !important;
  }

  .ant-statistic-content {
    font-size: 18px !important;
  }
}

/* Course materials mobile refinement */
@media (max-width: 768px) {
  /* Learning guide panel */
  .learning-guide-content {
    max-height: none !important;
    overflow-y: visible !important;
    padding-right: 0 !important;
  }

  .learning-guide-content .ant-collapse-header {
    padding: 10px 12px !important;
    font-size: 14px !important;
    line-height: 1.35;
  }

  .learning-guide-content .ant-collapse-content-box {
    padding: 10px 10px 0 !important;
  }

  .learning-guide-content .ant-btn-sm {
    margin: 2px !important;
    font-size: 12px !important;
    border-radius: 12px !important;
  }

  .learning-content {
    padding: 12px !important;
    border-left-width: 3px !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  .learning-content h1 {
    font-size: 18px !important;
    line-height: 1.35;
  }

  .learning-content h2 {
    font-size: 16px !important;
    line-height: 1.35;
  }

  .learning-content h3,
  .learning-content h4 {
    font-size: 15px !important;
    line-height: 1.35;
  }

  .learning-content pre {
    padding: 10px !important;
    margin: 10px 0 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .learning-content code {
    font-size: 12px !important;
    word-break: break-all;
  }

  .learning-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: separate !important;
  }

  .learning-content table thead,
  .learning-content table tbody {
    display: table;
    width: max-content;
    min-width: 100%;
  }

  .learning-content table th,
  .learning-content table td {
    white-space: nowrap;
    padding: 8px !important;
    font-size: 12px !important;
  }

  .learning-content ul {
    padding-left: 18px !important;
  }

  /* LTV lifecycle course */
  .ltv-course-container {
    padding: 8px !important;
  }

  .ltv-course-progress {
    margin-bottom: 8px !important;
  }

  .ltv-course-nav {
    position: static !important;
    top: auto !important;
    padding: 10px !important;
    border-radius: 10px !important;
    margin-bottom: 12px !important;
  }

  .ltv-course-nav-items {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    padding-bottom: 4px;
    scrollbar-width: thin;
  }

  .ltv-course-nav-items .ant-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .ltv-course-nav-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  .ltv-course-nav-actions .ant-btn,
  .ltv-course-nav-actions .ant-space,
  .ltv-course-nav-actions .ant-space-item {
    width: 100% !important;
  }

  .ltv-course-hero,
  .ltv-course-section,
  .ltv-course-section-body,
  .ltv-course-mini-card,
  .ltv-course-slide {
    border-radius: 8px !important;
  }

  .ltv-course-section {
    margin-top: 6px !important;
    border-left-width: 3px !important;
  }

  .ltv-course-section-body {
    margin-bottom: 14px !important;
  }

  .ltv-course-list {
    padding-left: 18px !important;
  }

  .ltv-course-formula {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    font-size: 12px;
    line-height: 1.5;
  }

  .ltv-course-steps {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ltv-course-steps .ant-steps {
    min-width: 680px;
  }

  .ltv-course-metrics-row > .ant-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .ltv-course-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ltv-course-table .ant-table {
    min-width: 720px;
  }

  .ltv-course-carousel {
    margin-top: 12px !important;
    overflow: hidden;
  }

  .ltv-course-carousel .slick-list {
    overflow: hidden !important;
  }

  .ltv-course-carousel .slick-track {
    display: flex !important;
  }

  .ltv-course-carousel .slick-slide {
    height: auto;
  }

  .ltv-course-carousel .slick-slide > div {
    height: 100%;
  }
}

@media (max-width: 430px) {
  .learning-content {
    padding: 10px !important;
  }

  .ltv-course-container {
    padding: 6px !important;
  }

  .ltv-course-nav {
    padding: 8px !important;
  }

  .ltv-course-mini-card .ant-card-body,
  .ltv-course-section-body .ant-card-body {
    padding: 10px !important;
  }
}

/* Analysis toolbox mobile refinement */
@media (max-width: 768px) {
  .analysis-sub-tabs,
  .analysis-sub-tabs .ant-tabs-content-holder {
    overflow-x: hidden !important;
  }

  /* Toolbox grid/cards: enforce one-column flow */
  .ad-tools-grid > .ant-col,
  .analysis-sub-tabs .ant-row > [class*="ant-col-"],
  .growth-dashboard .ant-row > [class*="ant-col-"],
  .point-card-manager .ant-row > [class*="ant-col-"],
  .aurora-dashboard .ant-row > [class*="ant-col-"],
  .the-great-surge-dashboard .ant-row > [class*="ant-col-"],
  .yuanqi-main-dashboard .ant-row > [class*="ant-col-"],
  .yuanqi-monitoring-dashboard .ant-row > [class*="ant-col-"],
  .live-dashboard .ant-row > [class*="ant-col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .analysis-sub-tabs .ant-row,
  .growth-dashboard .ant-row,
  .point-card-manager .ant-row,
  .aurora-dashboard .ant-row,
  .the-great-surge-dashboard .ant-row,
  .yuanqi-main-dashboard .ant-row,
  .yuanqi-monitoring-dashboard .ant-row,
  .live-dashboard .ant-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    row-gap: 10px;
  }

  /* Inline forms and action bars in tools */
  .analysis-sub-tabs .ant-form-inline,
  .analysis-sub-tabs .tool-actions,
  .analysis-sub-tabs .toolbar-actions,
  .analysis-sub-tabs .filter-actions,
  .analysis-sub-tabs .meme-log-toolbar,
  .analysis-sub-tabs .ltv-course-nav-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .analysis-sub-tabs .ant-form-inline .ant-form-item,
  .analysis-sub-tabs .tool-actions > *,
  .analysis-sub-tabs .toolbar-actions > *,
  .analysis-sub-tabs .filter-actions > *,
  .analysis-sub-tabs .meme-log-toolbar > * {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .analysis-sub-tabs .ant-form-inline .ant-form-item-control,
  .analysis-sub-tabs .ant-form-inline .ant-form-item-control-input,
  .analysis-sub-tabs .ant-form-inline .ant-form-item-control-input-content {
    width: 100% !important;
  }

  /* Cards/panels spacing */
  .analysis-sub-tabs .ant-card,
  .analysis-sub-tabs .feature-card,
  .analysis-sub-tabs .hero-card,
  .analysis-sub-tabs .metric-card,
  .analysis-sub-tabs .channel-card,
  .analysis-sub-tabs .city-card,
  .analysis-sub-tabs .creative-card,
  .analysis-sub-tabs .objective-card,
  .analysis-sub-tabs .mission-card,
  .analysis-sub-tabs .mission-panel,
  .analysis-sub-tabs .meme-log-panel,
  .analysis-sub-tabs .meme-video-bridge-panel,
  .analysis-sub-tabs .ai-chart-card,
  .analysis-sub-tabs .recharts-wrapper-container {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
  }

  .analysis-sub-tabs .ant-card-body,
  .analysis-sub-tabs .mission-panel .ant-card-body,
  .analysis-sub-tabs .meme-log-panel .ant-card-body,
  .analysis-sub-tabs .meme-video-bridge-panel .ant-card-body,
  .analysis-sub-tabs .ai-chart-card .ant-card-body {
    padding: 12px !important;
  }

  /* Charts and tables in toolbox */
  .analysis-sub-tabs .chart-container,
  .analysis-sub-tabs .dashboard-chart,
  .analysis-sub-tabs .trend-chart,
  .analysis-sub-tabs .ai-charts-container,
  .analysis-sub-tabs .recharts-responsive-container,
  .analysis-sub-tabs .recharts-wrapper,
  .analysis-sub-tabs .recharts-surface,
  .analysis-sub-tabs .echarts-for-react {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .analysis-sub-tabs .ant-table-wrapper,
  .analysis-sub-tabs .mtable {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .analysis-sub-tabs .ant-table {
    min-width: 680px;
  }

  /* Tags/buttons spacing in dense tool cards */
  .analysis-sub-tabs .ant-tag,
  .analysis-sub-tabs .ant-btn-sm {
    margin-bottom: 6px;
  }

  .analysis-sub-tabs .metric-subtitle,
  .analysis-sub-tabs .dashboard-desc {
    font-size: 12px !important;
    line-height: 1.5;
    word-break: break-word;
  }
}

@media (max-width: 430px) {
  .analysis-sub-tabs .ant-card-body,
  .analysis-sub-tabs .mission-panel .ant-card-body,
  .analysis-sub-tabs .meme-log-panel .ant-card-body,
  .analysis-sub-tabs .meme-video-bridge-panel .ant-card-body,
  .analysis-sub-tabs .ai-chart-card .ant-card-body {
    padding: 10px !important;
  }

  .analysis-sub-tabs .ant-statistic-content {
    font-size: 18px !important;
  }

  .analysis-sub-tabs .ant-btn {
    font-size: 12px !important;
  }
}

/* Mobile emergency overflow patch 20260510e */
@media (max-width: 768px) {
  html,
  body,
  #root,
  .app-layout,
  .app-content,
  .content-wrapper,
  .clean-panel,
  .sub-tabs-container,
  .analysis-sub-tabs {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Course materials: prevent long blocks from stretching viewport */
  .learning-content,
  .learning-content p,
  .learning-content li,
  .learning-content blockquote,
  .learning-content h1,
  .learning-content h2,
  .learning-content h3,
  .learning-content h4,
  .ltv-course-hero,
  .ltv-course-section,
  .ltv-course-section-body,
  .ltv-course-mini-card,
  .ltv-course-slide {
    min-width: 0 !important;
    max-width: 100% !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .learning-content img,
  .learning-content video,
  .learning-content iframe,
  .learning-content canvas,
  .learning-content svg {
    max-width: 100% !important;
    height: auto !important;
  }

  .ltv-course-formula {
    white-space: normal !important;
    overflow-x: visible !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .ltv-course-steps {
    overflow-x: hidden !important;
  }

  .ltv-course-steps .ant-steps {
    min-width: 0 !important;
    width: 100% !important;
  }

  .learning-content pre,
  .learning-content code,
  .formula-drawer pre,
  .formula-drawer code,
  .formula-drawer .formula-box,
  .formula-drawer .formula-box code,
  .formula-drawer .katex-display,
  .formula-drawer .katex,
  .formula-drawer .katex-html {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .formula-drawer.ant-drawer-right .ant-drawer-content-wrapper,
  .formula-drawer .ant-drawer-content-wrapper {
    width: 100% !important;
    max-width: 100vw !important;
  }

  .formula-drawer .formula-box,
  .formula-drawer .formula-box code,
  .formula-drawer .formula-item,
  .formula-drawer .formula-description,
  .formula-drawer .formula-example {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .formula-drawer .formula-box {
    display: block !important;
  }

  /* Analysis toolbox: prevent upload/generate button overlap */
  .analysis-sub-tabs .ant-space,
  .analysis-sub-tabs .ant-space-compact,
  .analysis-sub-tabs .ant-space-compact-block,
  .analysis-sub-tabs .ant-btn-group,
  .analysis-sub-tabs .tool-actions,
  .analysis-sub-tabs .toolbar-actions,
  .analysis-sub-tabs .filter-actions,
  .analysis-sub-tabs .meme-log-toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .analysis-sub-tabs .ant-space-item,
  .analysis-sub-tabs .ant-space-compact > *,
  .analysis-sub-tabs .ant-btn-group > *,
  .analysis-sub-tabs .tool-actions > *,
  .analysis-sub-tabs .toolbar-actions > *,
  .analysis-sub-tabs .filter-actions > *,
  .analysis-sub-tabs .meme-log-toolbar > *,
  .analysis-sub-tabs .point-card-manager .ant-space-item {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
  }

  .analysis-sub-tabs .ant-btn,
  .analysis-sub-tabs .ant-upload-wrapper,
  .analysis-sub-tabs .ant-upload,
  .analysis-sub-tabs .ant-upload-drag,
  .analysis-sub-tabs .ant-upload-select,
  .analysis-sub-tabs .ant-picker,
  .analysis-sub-tabs .ant-select,
  .analysis-sub-tabs .ant-input,
  .analysis-sub-tabs .ant-input-affix-wrapper,
  .analysis-sub-tabs .ant-input-number {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .analysis-sub-tabs .ant-btn {
    height: auto !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  .analysis-sub-tabs .ant-upload-drag {
    padding: 16px 10px !important;
  }

  .analysis-sub-tabs .ant-upload-text,
  .analysis-sub-tabs .ant-upload-hint,
  .analysis-sub-tabs .metric-subtitle,
  .analysis-sub-tabs .dashboard-desc {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .analysis-sub-tabs pre,
  .analysis-sub-tabs code,
  .analysis-sub-tabs .katex-display,
  .analysis-sub-tabs .katex,
  .analysis-sub-tabs .katex-html {
    max-width: 100% !important;
    overflow-x: auto !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .analysis-sub-tabs .ant-table-wrapper,
  .analysis-sub-tabs .ant-table-content,
  .analysis-sub-tabs .ant-table-body,
  .analysis-sub-tabs .ant-table-container,
  .analysis-sub-tabs .mtable {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .analysis-sub-tabs .ant-table {
    min-width: 640px !important;
  }
}

@media (max-width: 430px) {
  .analysis-sub-tabs .ant-space,
  .analysis-sub-tabs .ant-space-compact,
  .analysis-sub-tabs .ant-btn-group {
    gap: 6px !important;
  }

  .analysis-sub-tabs .ant-btn {
    font-size: 12px !important;
    padding: 6px 10px !important;
  }

  .formula-drawer .formula-box {
    padding: 10px !important;
    font-size: 12px !important;
  }
}
/* End mobile emergency overflow patch 20260510e */

