diff --git a/src/components/ideas/IdeaDetail.vue b/src/components/ideas/IdeaDetail.vue index 8d34c24..1389c1d 100644 --- a/src/components/ideas/IdeaDetail.vue +++ b/src/components/ideas/IdeaDetail.vue @@ -850,4 +850,11 @@ watch(() => props.idea.id, loadHistory) border-color: var(--df-accent); background: var(--df-bg-raised); } + +/* ═══ 响应式:窄屏对抗式评估双栏堆叠 ═══ */ +@media (max-width: 760px) { + .debate-container { + grid-template-columns: 1fr; + } +} diff --git a/src/styles/global.css b/src/styles/global.css index e4b55c6..57da44b 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -193,7 +193,7 @@ html, body, #app { border: 0.5px solid var(--df-border); border-radius: var(--df-radius-lg); padding: 24px; - min-width: 360px; + min-width: min(360px, 90vw); max-width: 90vw; } .modal-title { font-size: 18px; font-weight: 500; color: var(--df-text); margin-bottom: 16px; } @@ -227,7 +227,7 @@ html, body, #app { .back-link:hover { text-decoration: underline; } /* — Filter Bar(列表页筛选 + 搜索)— Ideas / Tasks 共享 */ -.filter-bar { display: flex; gap: 8px; margin-bottom: var(--df-gap-page); align-items: center; } +.filter-bar { display: flex; gap: 8px; margin-bottom: var(--df-gap-page); align-items: center; flex-wrap: wrap; } .filter-btn { padding: 6px 14px; border: 0.5px solid var(--df-border); diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue index f47bbaf..715bf7a 100644 --- a/src/views/Dashboard.vue +++ b/src/views/Dashboard.vue @@ -140,8 +140,8 @@ onMounted(() => { /* ═══ Responsive ═══ */ -/* 窄窗口:单栏 */ -@media (max-width: 900px) { +/* 窄窗口:单栏(与 AppLayout 768px 断点对齐) */ +@media (max-width: 768px) { .dashboard { padding: 12px 14px 16px; } .dash-grid { grid-template-columns: 1fr; } .dash-right { flex-direction: row; flex-wrap: wrap; gap: 10px; } diff --git a/src/views/Ideas.vue b/src/views/Ideas.vue index a0771c8..969323f 100644 --- a/src/views/Ideas.vue +++ b/src/views/Ideas.vue @@ -498,14 +498,11 @@ watch(() => route.params.id, (id) => { /* empty-state / empty-icon 已提取到 global.css 全局 */ /* ===== 响应式 ===== */ -@media (max-width: 900px) { +@media (max-width: 768px) { .ideas { padding: 16px; } .ideas-layout { grid-template-columns: 1fr; } - .filter-bar { - flex-wrap: wrap; - } .search-box { max-width: 100%; order: -1; diff --git a/src/views/ProjectDetail.vue b/src/views/ProjectDetail.vue index d904963..6b21a51 100644 --- a/src/views/ProjectDetail.vue +++ b/src/views/ProjectDetail.vue @@ -821,7 +821,7 @@ onUnmounted(() => { } /* ===== 响应式 ===== */ -@media (max-width: 900px) { +@media (max-width: 768px) { .project-detail { padding: 16px; } .detail-grid { grid-template-columns: 1fr; diff --git a/src/views/Projects.vue b/src/views/Projects.vue index 91013a4..f4affce 100644 --- a/src/views/Projects.vue +++ b/src/views/Projects.vue @@ -496,7 +496,7 @@ async function runImport() { .trash-actions { display: flex; gap: 8px; } /* ===== 响应式 ===== */ -@media (max-width: 900px) { +@media (max-width: 768px) { .projects { padding: 16px; } .project-grid { grid-template-columns: 1fr; diff --git a/src/views/Tasks.vue b/src/views/Tasks.vue index 71038d9..45fb794 100644 --- a/src/views/Tasks.vue +++ b/src/views/Tasks.vue @@ -458,6 +458,8 @@ onUnmounted(() => { /* 搜索框 */ .search-input { width: 220px; + max-width: 100%; + flex: 1 1 220px; padding: 6px 12px; border: 0.5px solid var(--df-border); border-radius: var(--df-radius-sm);