/* Keyta mobile hardening (≤760px). Additive; desktop unchanged. */
@media (max-width: 760px) {
  html {
    overflow-x: clip;
  }
  body {
    overflow-x: clip;
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }

  /* Shell */
  .hc-header {
    padding-top: env(safe-area-inset-top);
    height: calc(56px + env(safe-area-inset-top));
    min-height: calc(56px + env(safe-area-inset-top));
  }
  .hc-main {
    padding: 16px 12px;
    padding-bottom: calc(28px + env(safe-area-inset-bottom));
    max-width: 100%;
    overflow-x: clip;
  }
  .hc-workspace,
  .hc-main > *,
  .research-app,
  .workspace-app {
    max-width: 100%;
    min-width: 0;
  }
  .hc-icon-button,
  .hc-mobile-toggle,
  .hc-account-button {
    min-height: 44px;
    min-width: 44px;
  }
  .hc-account-button {
    padding-inline: 10px;
  }
  .hc-header-actions {
    gap: 2px;
  }
  /* Ease crowding with login: hide EN on narrow phones */
  .hc-language {
    display: none !important;
  }

  /* Feedback: never float a FAB over content on mobile.
     Entry points: sidebar bottom (when drawer open) + feedback-nudge.js. */
  .hc-feedback-mobile {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.kfn-open .hc-feedback-mobile {
    visibility: hidden;
    pointer-events: none;
  }
  /* Sidebar green 反馈 only when drawer is open */
  body:not(.hc-nav-open) .hc-sidebar > .hc-feedback {
    display: none;
  }
  .hc-nav-open .hc-sidebar > .hc-feedback {
    display: inline-flex;
    margin: auto 0 0;
    width: 100%;
  }

  /* Sidebar drawer */
  .hc-sidebar,
  .hc-collapsed .hc-sidebar {
    width: min(86vw, 300px) !important;
    height: 100dvh;
    max-height: 100dvh;
    padding-top: env(safe-area-inset-top);
    padding-bottom: calc(14px + env(safe-area-inset-bottom));
    z-index: 180;
  }
  .hc-nav-open .hc-nav-scrim {
    display: block;
    position: fixed;
    inset: 0;
    border: 0;
    background: #0008;
    z-index: 170;
  }
  .hc-nav-open .hc-sidebar {
    z-index: 180;
  }
  /* Hide ⌘K (collapsed-open restore sets display:initial) */
  .hc-search kbd,
  .hc-collapsed .hc-search kbd,
  .hc-nav-open .hc-search kbd,
  .hc-collapsed.hc-nav-open .hc-search kbd {
    display: none !important;
  }

  /* Core dialogs → bottom sheet style */
  .hc-backdrop {
    align-items: flex-end;
    justify-content: stretch;
    padding: 0;
  }
  .hc-dialog,
  .hc-dialog-wide {
    width: 100%;
    max-width: 100%;
    max-height: min(90dvh, calc(100dvh - env(safe-area-inset-top) - 8px));
    border-radius: 16px 16px 0 0;
    margin: 0;
  }
  .hr-dialog {
    width: 100%;
    max-width: 100%;
    max-height: min(90dvh, calc(100dvh - env(safe-area-inset-top) - 8px));
    inset: auto 0 0 0;
    margin: 0;
    border-radius: 16px 16px 0 0;
    padding-bottom: calc(16px + env(safe-area-inset-bottom));
  }

  /* Workspace shell */
  .workspace-app .topbar {
    height: calc(52px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 12px 0;
    gap: 8px;
  }
  .workspace-app .main {
    padding: 12px 12px 0;
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
    max-width: 100%;
    overflow-x: clip;
  }
  .workspace-app .overlay {
    align-items: flex-end;
    justify-content: stretch;
    padding: 0;
  }
  .workspace-app .overlay.drawer-overlay {
    justify-content: stretch;
  }
  .workspace-app .dialog,
  .workspace-app .dialog.wide,
  .workspace-app .search-dialog {
    width: 100%;
    max-width: 100%;
    max-height: min(90dvh, calc(100dvh - env(safe-area-inset-top) - 8px));
    border-radius: 16px 16px 0 0;
    margin: 0;
    align-self: flex-end;
  }
  .workspace-app .drawer {
    width: 100%;
    max-width: 100%;
    height: min(90dvh, calc(100dvh - env(safe-area-inset-top)));
    border-left: 0;
    border-radius: 16px 16px 0 0;
    align-self: flex-end;
  }
  .workspace-app .table-scroll,
  .workspace-app .wd-table-scroll,
  .workspace-app .market-table-toolbar,
  .workspace-app #market-table > .table-scroll {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .workspace-app .btn,
  .workspace-app .icon-button,
  .workspace-app .theme-button,
  .workspace-app .account-button,
  .workspace-app .star-button,
  .workspace-app .market-trade-button {
    min-height: 44px;
  }
  .workspace-app .icon-button,
  .workspace-app .theme-button,
  .workspace-app .star-button {
    min-width: 44px;
  }

  /* Dashboard grids → single column */
  .workspace-app .dashboard-v3 .overview-band,
  .workspace-app .dashboard-v3 .dashboard-content,
  .workspace-app .dashboard-v3.side-left .overview-band,
  .workspace-app .dashboard-v3.side-left .dashboard-content,
  .workspace-app .overview-band,
  .workspace-app .dashboard-content {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .workspace-app .dashboard-v3 .macro-strip,
  .workspace-app .macro-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow-x: auto;
  }
  .workspace-app .dashboard-v3 .market-panel,
  .workspace-app .dashboard-v3 .feed-panel,
  .workspace-app .dashboard-v2 .market-panel,
  .workspace-app .dashboard-v2 .feed-panel {
    height: auto;
    min-height: 280px;
    max-height: none;
  }

  /* Smart trends */
  .st-page,
  .st-main-grid,
  .st-metrics,
  .st-costs {
    max-width: 100%;
    min-width: 0;
  }
  .st-main-grid {
    grid-template-columns: 1fr !important;
  }
  .st-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .st-table-scroll,
  .st-history-chart,
  .st-liq-chart {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .research-app .st-toolbar button {
    min-height: 44px;
  }

  /* KOL insights / radar */
  .ki-layout,
  .ki-summary,
  .ko-grid,
  .ko-expanded,
  .ko-ai-grid,
  .kr-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .ki-page,
  .ko-overview,
  .kr-page {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }
  .ki-asset-list,
  .ki-level-table,
  .ko-level-list,
  .ko-opinion-list {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .research-app .ki-type-tabs button,
  .research-app .ki-direction-tabs button,
  .research-app .ki-window-tabs button,
  .ko-overview .ko-level,
  .kr-tabs button {
    min-height: 44px;
  }
  .kr-modal[open] {
    width: 100%;
    max-width: 100%;
    max-height: min(90dvh, calc(100dvh - env(safe-area-inset-top) - 8px));
    border-radius: 16px 16px 0 0;
    margin: auto 0 0;
  }

  /* 原推雷达: keep toolbar/meta/feed in normal flow — no sticky overlay */
  .kr-stream {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .kr-toolbar,
  .kr-meta {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    inset: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: auto !important;
    flex: none;
    background: var(--surface);
  }
  .kr-feed {
    position: relative;
    margin-top: 0 !important;
    padding-top: 0 !important;
    flex: 1 1 auto;
    min-height: 160px;
    max-height: min(52dvh, 420px);
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
  .kr-proof {
    order: 2;
  }
  .kr-grid > .kr-stream {
    order: 1;
  }

  /* Research discovery tables */
  .research-app .table-scroll,
  .research-app .smart-discovery,
  .research-app .directory-head,
  .research-app .filter-tabs {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .research-app .btn,
  .research-app button.tab,
  .research-app .filter-tabs button {
    min-height: 44px;
  }

  /* Boot skeleton already has 760 breakpoint; tighten cards for ~390 width */
  .keyta-boot-skel {
    width: min(1080px, 100%);
    margin-inline: 0;
  }
  .keyta-boot-cards {
    grid-template-columns: 1fr 1fr;
  }
  .keyta-boot {
    padding: 24px 14px;
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }
}
