/* ============================================================
 * mobile.css · v1.4.2 手机端密度与流程增强
 * 仅在 767px 及以下生效，桌面端视觉与流程保持不变。
 * ============================================================ */
.mobile-workflow-summary,
.mobile-action-dock {
  display: none;
}

@media (max-width: 767px) {
  :root {
    --mobile-action-h: 64px;
  }

  body {
    font-size: 12px;
    padding-bottom: calc(var(--mobile-nav-h) + var(--safe-bottom));
  }

  .app-container {
    padding-bottom: calc(var(--mobile-nav-h) + var(--safe-bottom) + 24px);
  }

  .page-header {
    gap: 10px;
    padding-top: 14px;
    padding-bottom: 12px;
  }

  .page-header h1,
  .page-title {
    font-size: clamp(20px, 6.6vw, 26px);
  }

  .page-subtitle,
  .ranking-section-head p,
  .step-content .step-head-desc {
    font-size: 11px;
    line-height: 1.55;
  }

  .card {
    padding: 12px 10px;
  }

  .markdown-body {
    font-size: 12px;
    line-height: 1.68;
  }

  .markdown-body h1 { font-size: 20px; }
  .markdown-body h2 { font-size: 18px; }
  .markdown-body h3 { font-size: 15px; }
  .markdown-body h4 { font-size: 13px; }

  .creation-source-modal { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; }
  .creation-source-grid { grid-template-columns:1fr; gap:10px; }
  .creation-source-card { min-height:148px; padding:18px; }
  .creation-source-card strong { font-size:19px; }
  .novel-adaptation-header { align-items:flex-start; }
  .novel-adaptation-layout { grid-template-columns:1fr; gap:14px; }
  .novel-import-card { position:static; padding:16px; }
  .novel-progress-card,
  .novel-result-card { padding:16px; }
  .novel-section-head { gap:10px; }
  .novel-section-head:not(.compact) { flex-direction:column; }
  .novel-result-actions { width:100%; justify-content:stretch; }
  .novel-result-actions .btn { flex:1; }
  .novel-progress-stats { gap:6px; }
  .novel-progress-stats span { padding:9px; }
  .novel-task-actions { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .novel-task-actions .btn { width:100%; }
  .novel-result-summary { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
  .novel-result-summary article { padding:12px; }
  .novel-result-tabs {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:4px;
    overflow:visible;
  }
  .novel-result-tabs .tab {
    width:100%;
    min-width:0;
    padding:8px 4px;
    white-space:normal;
  }
  .novel-result-content { max-height:none; overflow:visible; }
  .novel-fact-row > div { align-items:flex-start; flex-direction:column; gap:4px; }
  .novel-rhythm-row { grid-template-columns:1fr; }
  .novel-rhythm-row p { grid-column:auto; }
  .novel-handoff-banner { align-items:flex-start; flex-direction:column; }
  .novel-handoff-banner .btn { width:100%; }

  .btn,
  .btn-sm,
  .auth-status-btn,
  .theme-toggle,
  .tab,
  .duration-chip,
  select,
  input[type="button"],
  input[type="submit"] {
    min-height: var(--touch-min);
  }

  .home-auth-status,
  body:not(.home-active) .home-auth-status {
    position: relative;
    top: auto;
    right: auto;
    display: flex;
    width: calc(100% - 24px);
    min-height: 44px;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
    margin: 8px 12px 0;
  }

  .home-auth-status {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .mobile-account-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .mobile-account-menu-panel {
    position: absolute;
    z-index: 85;
    top: calc(100% + 6px);
    right: 0;
    display: none;
    width: min(280px, calc(100vw - 24px));
    padding: 10px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    background: var(--bg-2);
    box-shadow: var(--shadow-lg);
  }

  .mobile-account-menu-panel.is-open {
    display: grid;
    gap: 7px;
  }

  .mobile-account-menu-panel .home-credit-balance,
  .mobile-account-menu-panel .auth-status-btn {
    width: 100%;
    justify-content: center;
  }

  .mobile-task-center-trigger {
    min-height: 44px;
    padding: 0 9px;
    font-size: 10px;
  }

  .mobile-task-center-trigger .task-center-count {
    min-width: 17px;
    height: 17px;
    margin-left: 3px;
    font-size: 9px;
  }

  .task-center-drawer {
    width: 100vw;
    max-width: 100vw;
    padding: 14px 14px calc(18px + env(safe-area-inset-bottom));
    border-left: 0;
  }

  .task-center-sync-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .task-center-sync-actions {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .task-center-sync-row .btn,
  .task-center-stop-confirm-actions .btn {
    min-height: 44px;
  }

  .task-center-clear-confirm-actions .btn {
    min-height: 44px;
  }

  .task-center-item-top {
    align-items: flex-start;
  }

  .task-center-actions .btn {
    min-height: 44px;
  }

  /* 首页改为自然文档流，避免固定高度和海报定位互相挤压。 */
  #view-home,
  .home-active #view-home {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }

  #view-home .home-hero {
    min-height: auto;
    padding: 14px 0 18px;
    overflow: hidden;
  }

  #view-home .home-guide-actions {
    left: 12px;
    right: 12px;
    width: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  #view-home .home-guide-card {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 7px 6px;
    text-align: center;
    justify-items: center;
    align-content: center;
  }

  #view-home .home-hero-copy {
    padding-top: 70px;
  }

  #view-home .home-hero:has(.home-announcement:not(.hidden)) .home-hero-copy {
    padding-top: 70px;
  }

  #view-home .home-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    margin-top: 16px;
    margin-bottom: 0;
    gap: 6px;
    align-items: stretch;
  }

  #view-home .home-primary-btn {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    height: 44px;
    padding: 0 5px;
    border-width: 1px;
    font-size: 11px;
    line-height: 1.1;
    white-space: nowrap;
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.22);
  }

  #view-home .home-capability-list {
    margin: 16px auto 12px;
  }

  #view-home .home-capability-list li {
    padding: 9px 5px;
  }

  #view-home .home-capability-list strong { font-size: 12px; }
  #view-home .home-capability-list span { font-size: 10px; }

  #view-home .cover-showcase20 {
    position: relative;
    inset: auto;
    width: 100%;
    height: 216px;
    margin: 4px 0 0;
    padding: 0 12px 12px;
    transform: none;
  }

  #view-home .cover-wall {
    height: 194px;
  }

  .inspiration-region-section { gap: 10px; }
  .inspiration-route-options,
  .inspiration-mode-options { gap: 8px; }
  .inspiration-route-option { min-height: 76px; padding: 11px 13px; gap: 4px; }
  .inspiration-route-option strong { font-size: 14px; }
  .inspiration-route-option span { font-size: 10px; }
  .inspiration-mode-option { min-height: 60px; padding: 9px 12px; gap: 3px; }
  .inspiration-mode-option strong { font-size: 12px; }
  .inspiration-mode-option span { font-size: 10px; }
  .inspiration-mode-options { margin-bottom: 12px; }
  .inspiration-mode-panel-head { margin-bottom: 10px; }
  .inspiration-mode-panel-head strong { font-size: 12px; }
  .inspiration-mode-panel-head span { font-size: 10px; }
  .topic-advisor-panel { padding: 12px; margin-bottom: 14px; }
  .topic-advisor-panel-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .topic-advisor-market-source { align-items: stretch; flex-direction: column; }
  .topic-advisor-market-source .btn { width: 100%; }
  .topic-advisor-actions { align-items: stretch; flex-direction: column; }
  .topic-advisor-actions .btn { width: 100%; }
  .topic-advisor-results { grid-template-columns: 1fr; gap: 10px; }
  .topic-advisor-card { padding: 12px; }
  .topic-advisor-card-actions .btn { width: 100%; }
  .sentence-inspiration-box { grid-template-columns: 1fr; }
  .sentence-inspiration-actions .btn { width: 100%; }

  .project-grid { gap: 10px; }
  .project-card { padding: 14px 12px; }
  .project-card .pc-title { font-size: 15px; }
  .project-card .pc-head,
  .project-card .pc-status-row,
  .project-card .pc-next { gap: 8px; }
  .project-card .pc-head,
  .project-card .pc-status-row { margin-bottom: 8px; }
  .project-card .pc-next { margin-bottom: 7px; padding: 8px 9px; }
  .project-card .pc-next span,
  .project-card .pc-stage { font-size: 10px; }
  .project-card .pc-next strong { font-size: 11px; }
  .project-card .pc-route,
  .project-card .pc-status-row,
  .project-card .pc-tag,
  .project-card .pc-footer { font-size: 10px; }
  .project-card .pc-route { margin-bottom: 8px; }
  .project-card .pc-params { gap: 4px; margin-bottom: 9px; }
  .project-card .pc-tag { padding: 2px 7px; }
  .project-card .pc-footer { padding-top: 8px; }

  /* 一级导航只复用现有页面入口，不接管业务路由。 */
  .mobile-bottom-nav {
    display: flex;
    align-items: stretch;
    padding-top: 4px;
    box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.22);
  }

  html[data-theme="light"] .mobile-bottom-nav {
    background: rgba(247, 249, 253, 0.96);
    border-top-color: var(--border);
    box-shadow: 0 -8px 24px rgba(45, 58, 88, 0.12);
  }

  html[data-theme="light"] .mobile-bottom-nav .mbn-item {
    color: var(--text-1);
  }

  html[data-theme="light"] .mobile-bottom-nav .mbn-item.active {
    color: var(--primary);
    background: var(--primary-dim);
  }

  .mobile-bottom-nav .mbn-item {
    min-width: 0;
    min-height: 48px;
    justify-content: center;
    padding: 4px 2px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
  }

  .mobile-bottom-nav .mbn-item.active {
    color: var(--accent);
    background: rgba(255, 181, 71, 0.09);
  }

  .mobile-bottom-nav .theme-toggle {
    position: static;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 48px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    font-size: 0;
    color: var(--text-2);
  }

  .mobile-bottom-nav .theme-toggle::after {
    content: "主题";
    font-size: 11px;
    font-weight: 700;
  }

  body.mobile-workspace-active .mobile-bottom-nav,
  body.mobile-keyboard-open .mobile-bottom-nav,
  body.mobile-keyboard-open .mobile-action-dock {
    display: none;
  }

  /* 工作台顶部只保留一个可展开的进度摘要。 */
  .workspace-topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
    margin-bottom: 10px;
  }

  .ws-top-left {
    display: block;
    min-width: 0;
  }

  .ws-project-title {
    display: -webkit-box;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .ws-project-meta {
    display: block;
    max-width: 100%;
    margin-top: 5px;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: transparent;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ws-top-right {
    display: grid;
    justify-items: end;
    gap: 6px;
  }

  .ws-top-right .progress-badge {
    padding: 5px 9px;
    font-size: 10px;
  }

  #btnBackHome {
    width: auto;
    min-width: 44px;
    padding: 8px 10px;
    font-size: 10px;
  }

  .mobile-workflow-summary {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    margin: 0 0 9px;
    padding: 8px 11px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg-2);
    color: var(--text-0);
    text-align: left;
  }

  .mobile-workflow-summary span,
  .mobile-workflow-summary strong,
  .mobile-workflow-summary small {
    display: block;
  }

  .mobile-workflow-summary strong {
    font-size: 13px;
  }

  .mobile-workflow-summary small {
    margin-top: 3px;
    color: var(--text-2);
    font-size: 10px;
  }

  .mobile-workflow-summary em {
    flex: 0 0 auto;
    color: var(--accent);
    font-size: 11px;
    font-style: normal;
  }

  #view-workspace .macro-flow-bar,
  #view-workspace .stepper-bar {
    display: none;
  }

  #view-workspace.mobile-workflow-expanded .macro-flow-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin: 0 0 8px;
    padding: 0;
  }

  #view-workspace.mobile-workflow-expanded .macro-phase {
    min-height: 54px;
    padding: 6px;
    gap: 5px;
  }

  #view-workspace.mobile-workflow-expanded .macro-phase-index {
    width: 24px;
    height: 24px;
    font-size: 10px;
  }

  #view-workspace.mobile-workflow-expanded .macro-phase-copy strong { font-size: 10px; }
  #view-workspace.mobile-workflow-expanded .macro-phase-copy small { font-size: 10px; }
  #view-workspace.mobile-workflow-expanded .macro-phase.active:not(.mobile-current) {
    border-color: var(--border-soft);
    box-shadow: none;
  }
  #view-workspace.mobile-workflow-expanded .macro-phase.mobile-current {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px var(--glow);
  }

  #view-workspace.mobile-workflow-expanded .stepper-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px 3px;
    margin-bottom: 9px;
    padding: 8px 2px;
  }

  #view-workspace.mobile-workflow-expanded .stepper-step { min-height: 52px; }
  #view-workspace.mobile-workflow-expanded .stepper-circle { width: 26px; height: 26px; font-size: 10px; }
  #view-workspace.mobile-workflow-expanded .stepper-label { font-size: 10px; }
  #view-workspace.mobile-workflow-expanded .stepper-desc { font-size: 10px; }

  #view-workspace .step-content {
    min-height: 0;
    padding: 12px 10px;
  }

  #view-workspace .step-content .step-head {
    margin-bottom: 12px;
    padding-bottom: 10px;
  }

  #view-workspace .step-content .step-head-title {
    font-size: 16px;
  }

  #view-workspace .stage-section { margin-bottom: 16px; }
  #view-workspace .stage-section-label { margin-bottom: 6px; font-size: 11px; }
  #view-workspace .creative-brief-editor { gap: 9px; min-height: 0; padding: 16px 12px; }

  #view-workspace .workflow-task-strip {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 10px;
    margin-top: 14px;
    padding: 9px 10px;
  }

  #view-workspace .workflow-task-track {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  #view-workspace .workflow-task-copy strong {
    font-size: 12px;
  }

  #view-workspace .workflow-task-copy span {
    font-size: 10px;
  }

  #view-workspace .workflow-task-strip .btn {
    min-height: 34px;
    padding: 6px 9px;
    font-size: 11px;
  }

  body.mobile-workspace-active .app-container {
    padding-bottom: calc(var(--mobile-action-h) + var(--safe-bottom) + 24px);
  }

  .mobile-action-dock {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 115;
    min-height: calc(var(--mobile-action-h) + var(--safe-bottom));
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 8px 12px calc(8px + var(--safe-bottom));
    border-top: 1px solid var(--border);
    background: rgba(11, 14, 26, 0.96);
    box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(16px);
  }

  body.mobile-workspace-active .mobile-action-dock {
    display: grid;
  }

  .mobile-dock-main {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }

  .mobile-dock-main small {
    display: -webkit-box;
    overflow: hidden;
    color: var(--text-2);
    font-size: 10px;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .mobile-action-dock .btn {
    min-height: 44px;
    padding: 7px 10px;
    font-size: 11px;
  }

  .mobile-dock-primary {
    max-width: 180px;
  }

  /* 爆款雷达：概览更紧凑，剧目表在手机端转为卡片。 */
  #view-rankings .page-header {
    gap: 10px;
  }

  #view-rankings .page-header .btn-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  #view-rankings .ranking-agent-card,
  #view-rankings .ranking-panel {
    padding: 14px 12px;
  }

  #view-rankings .ranking-agent-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
  }

  #view-rankings .ranking-agent-head .btn {
    width: auto;
    padding-inline: 10px;
  }

  #view-rankings .radar-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
  }

  #view-rankings .ranking-kpi {
    min-height: 82px;
    padding: 9px;
  }

  #view-rankings .ranking-kpi span,
  #view-rankings .ranking-kpi p { font-size: 10px; }
  #view-rankings .ranking-kpi strong { font-size: 13px; }

  #view-rankings .radar-overview-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  #view-rankings .radar-overview-row {
    grid-template-columns: 72px minmax(70px, 1fr) 26px;
    gap: 8px;
  }

  #view-rankings .radar-video-note {
    display: grid;
    gap: 4px;
  }

  #view-rankings .ranking-tabs {
    position: sticky;
    top: 0;
    z-index: 12;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    overflow: visible;
    margin: 0 -14px 12px;
    padding: 8px 14px;
    background: rgba(11, 14, 26, 0.94);
    backdrop-filter: blur(14px);
  }

  #view-rankings .ranking-tabs .tab {
    width: 100%;
    min-width: 0;
    padding: 8px 4px;
    white-space: normal;
  }

  #view-rankings .ranking-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }

  #view-rankings .ranking-search {
    grid-column: 1 / -1;
  }

  #view-rankings .ranking-table-wrap {
    overflow: visible;
  }

  #view-rankings .radar-library-table {
    display: block;
    min-width: 0;
    overflow: visible;
    white-space: normal;
  }

  #view-rankings .radar-library-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  #view-rankings .radar-library-table tbody {
    display: grid;
    gap: 12px;
  }

  #view-rankings .radar-library-table tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
    padding: 12px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    background: var(--bg-3);
  }

  #view-rankings .radar-library-table td {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    color: var(--text-1);
    white-space: normal;
  }

  #view-rankings .radar-library-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: var(--text-3);
    font-size: 10px;
  }

  #view-rankings:not(.active) .radar-library-table td::before {
    content: none;
  }

  #view-inspiration:not(.active) .inspiration-root-field > span::after {
    content: none;
  }

  #view-rankings .radar-library-table td:nth-child(1) {
    align-self: center;
  }

  #view-rankings .radar-library-table td:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  #view-rankings .radar-library-table td:nth-child(8) {
    display: flex;
    align-items: end;
  }

  #view-rankings .ranking-drama-cell {
    min-width: 0;
    align-items: flex-start;
  }

  #view-rankings .ranking-drama-cell img {
    width: 52px;
    height: 68px;
  }

  #view-rankings .ranking-drama-cell strong {
    display: block;
    overflow-wrap: anywhere;
  }

  #view-rankings .radar-library-table .row-actions,
  #view-rankings .radar-library-table .row-actions .btn {
    width: 100%;
  }

  #view-rankings .radar-detail-hero {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }

  #view-rankings .radar-detail-cover {
    width: 78px;
    height: 104px;
  }

  #view-rankings .radar-detail-hero h2 {
    font-size: 20px;
    overflow-wrap: anywhere;
  }

  #view-rankings .radar-detail-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  #view-rankings .radar-detail-actions .btn,
  #view-rankings .radar-deep-entry .btn {
    width: 100%;
  }

  #view-non-short {
    max-width: 100%;
    overflow-x: hidden;
  }

  #view-non-short .non-short-main { padding: 20px 12px; }
  #view-non-short .non-short-welcome { margin-top: 18px; }
  #view-non-short .non-short-welcome h1 { font-size: 28px; line-height: 1.18; margin: 10px 0 12px; }
  #view-non-short .non-short-welcome > p { font-size: 13px; line-height: 1.6; }
  #view-non-short .non-short-format-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; gap: 8px; }
  #view-non-short .non-short-format-card { min-height: 108px; padding: 12px; gap: 6px; }
  #view-non-short .non-short-format-card strong { font-size: 16px; }
  #view-non-short .non-short-format-card span { font-size: 11px; }
  #view-non-short .non-short-sidebar { padding: 18px 12px; gap: 12px; }
  #view-non-short .non-short-project-head h1 { font-size: 32px; }
  #view-non-short .non-short-stage-panel,
  #view-non-short .non-short-output-panel { padding: 16px 12px; }
  #view-non-short .non-short-stage-heading h2 { font-size: 24px; }
}

@media (max-width: 319px) {
  #view-home .home-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-home .home-primary-btn {
    font-size: 11px;
  }

  #view-non-short .non-short-format-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 479px) {

  #view-rankings .ranking-agent-head {
    grid-template-columns: 1fr;
  }

  #view-rankings .ranking-agent-head .btn {
    width: 100%;
  }

  .mobile-dock-main {
    grid-template-columns: 1fr;
  }

  .mobile-dock-main small {
    display: none;
  }

  .mobile-dock-primary {
    max-width: none;
  }
}

/* 市场雷达：三个数据域保持同一行且不吸顶，内容在 390px 内收口。 */
@media (max-width: 767px) {
  #view-rankings .radar-domain-tabs {
    position: static;
    top: auto;
    z-index: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    max-width: none;
    margin: 0 0 12px;
    padding: 0;
    overflow: visible;
    background: transparent;
    backdrop-filter: none;
  }

  #view-rankings .radar-domain-tabs .tab {
    min-height: 40px;
    padding: 8px 6px;
    white-space: normal;
  }

  #view-rankings .novel-market-summary-grid,
  #view-rankings .novel-market-opportunity-grid,
  #view-rankings .novel-market-rhythm-summary {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  #view-rankings .novel-market-opportunity-card {
    padding: 12px;
  }

  #view-rankings .novel-market-opportunity-card .btn {
    width: 100%;
  }

  #view-rankings .novel-market-panel .ranking-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #view-rankings .novel-market-rhythm-panel {
    min-width: 0;
    max-width: 100%;
    padding: 12px;
  }

  #view-rankings .novel-market-rhythm-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #view-rankings .novel-market-rhythm-panel .ranking-section-head {
    align-items: flex-start;
  }

  #view-rankings .novel-market-rhythm-panel .btn {
    min-height: 44px;
  }

  #view-rankings .novel-market-panel .ranking-table {
    min-width: 720px;
  }
}

/* 授权设定库：390px 下保持单列、可滚动且操作按钮可触达。 */
@media (max-width: 767px) {
  .novel-library-modal {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 8px);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .novel-library-modal .modal-header,
  .novel-library-body,
  .novel-library-footer {
    padding: 14px;
  }

  .novel-library-context-hint {
    font-size: 11px;
  }

  .novel-library-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .novel-library-asset-list {
    grid-auto-flow: column;
    grid-auto-columns: minmax(210px, 86%);
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
  }

  .novel-library-asset {
    scroll-snap-align: start;
  }

  .novel-library-detail-head {
    flex-direction: column;
    gap: 7px;
  }

  .novel-library-detail-head h3 {
    font-size: 19px;
  }

  .novel-library-dimension-grid {
    grid-template-columns: 1fr;
  }

  .novel-library-boundary-group {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .novel-library-section-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .novel-library-section-title span {
    text-align: left;
  }

  .novel-library-preview-dimensions {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .novel-library-preview-dimensions dd {
    margin-bottom: 6px;
  }

  .novel-library-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .novel-library-footer-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .novel-library-footer-actions .btn,
  .novel-library-import-entry .btn {
    width: 100%;
  }

  .novel-library-import-entry,
  .novel-library-source-note {
    align-items: stretch;
    flex-direction: column;
  }

  .sentence-inspiration-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}
