diff --git a/apps/web/src/oj/classroom/components/ExplainModal.vue b/apps/web/src/oj/classroom/components/ExplainModal.vue
index 9abdd31..39955c4 100644
--- a/apps/web/src/oj/classroom/components/ExplainModal.vue
+++ b/apps/web/src/oj/classroom/components/ExplainModal.vue
@@ -273,7 +273,10 @@ kbd {
.sheet.narrow {
width: calc(100vw - 16px);
+ /* 全站给 .n-modal 的「左右各留 16px」在这里不要 */
+ max-width: none;
max-height: calc(100vh - 16px);
+ max-height: calc(100dvh - 16px);
padding: 12px 14px 16px;
gap: 12px;
}
diff --git a/apps/web/src/oj/problem/components/SimilarProblems.vue b/apps/web/src/oj/problem/components/SimilarProblems.vue
index 65dc4e4..04ee688 100644
--- a/apps/web/src/oj/problem/components/SimilarProblems.vue
+++ b/apps/web/src/oj/problem/components/SimilarProblems.vue
@@ -79,6 +79,11 @@ function difficultyType(difficulty: string) {
margin: 0 0 8px;
}
+/* 列表项的内容区默认按内容撑宽,长标题会把难度挤出屏幕,省略号也不出来 */
+.similar :deep(.n-list-item__main) {
+ min-width: 0;
+}
+
.link {
display: inline-flex;
align-items: center;
diff --git a/apps/web/src/oj/rank/components/RankMe.vue b/apps/web/src/oj/rank/components/RankMe.vue
index 3d8e819..ead1e0c 100644
--- a/apps/web/src/oj/rank/components/RankMe.vue
+++ b/apps/web/src/oj/rank/components/RankMe.vue
@@ -175,7 +175,8 @@ function threatNote(me: RankRow, behind: RankRow) {