FeilongTang commited on
Commit
ff548c5
·
1 Parent(s): cb21158

Refine border hierarchy and color balance

Browse files
Files changed (1) hide show
  1. app.py +47 -28
app.py CHANGED
@@ -1009,14 +1009,19 @@ CUSTOM_CSS = """
1009
  :root, .gradio-container, .gradio-container.dark {
1010
  --ovc-grad: linear-gradient(135deg, #4f46e5 0%, #2563eb 50%, #06b6d4 100%);
1011
  --ovc-grad-soft: linear-gradient(135deg, rgba(79,70,229,0.10), rgba(6,182,212,0.10));
1012
- --ovc-ring: rgba(79,70,229,0.40);
1013
- --ovc-ring-strong: rgba(79,70,229,0.62);
1014
- --ovc-line: rgba(100,116,139,0.34);
1015
- --ovc-line-strong: rgba(100,116,139,0.48);
1016
- --ovc-line-accent-soft: rgba(79,70,229,0.28);
1017
- --ovc-line-accent: rgba(79,70,229,0.40);
1018
- --ovc-line-accent-strong: rgba(79,70,229,0.58);
1019
- --ovc-line-cyan: rgba(6,182,212,0.26);
 
 
 
 
 
1020
  }
1021
  .gradio-container {
1022
  max-width: 1480px !important;
@@ -1057,6 +1062,7 @@ CUSTOM_CSS = """
1057
  repeating-linear-gradient(0deg, rgba(99,102,241,0.05) 0 1px, transparent 1px 28px),
1058
  repeating-linear-gradient(90deg, rgba(99,102,241,0.05) 0 1px, transparent 1px 28px);
1059
  border: 1px solid var(--ovc-line-accent-soft);
 
1060
  margin-bottom: 18px;
1061
  position: relative;
1062
  overflow: hidden;
@@ -1100,7 +1106,7 @@ CUSTOM_CSS = """
1100
  padding: 7px 14px;
1101
  border-radius: 999px;
1102
  background: var(--background-fill-primary, #fff);
1103
- border: 1px solid var(--ovc-line-accent);
1104
  color: #4338ca;
1105
  transition: transform 0.12s ease, box-shadow 0.18s ease,
1106
  background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
@@ -1112,7 +1118,7 @@ CUSTOM_CSS = """
1112
  color: #fff;
1113
  border-color: transparent;
1114
  transform: translateY(-1px);
1115
- box-shadow: 0 6px 16px rgba(79,70,229,0.32);
1116
  }
1117
  .gradio-container.dark .ovc-links a {
1118
  background: rgba(30,41,59,0.7);
@@ -1124,30 +1130,34 @@ CUSTOM_CSS = """
1124
  .ovc-card {
1125
  border-radius: 16px !important;
1126
  padding: 16px 18px !important;
1127
- border: 1px solid var(--ovc-line) !important;
1128
  background: var(--background-fill-primary) !important;
1129
- box-shadow: 0 1px 3px rgba(15,23,42,0.04);
1130
  transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
1131
  animation: ovc-fade-in 0.32s ease-out;
1132
  }
1133
  .ovc-card:hover {
1134
- border-color: var(--ovc-line-accent) !important;
1135
- box-shadow: 0 6px 22px rgba(15,23,42,0.07);
1136
  }
1137
  .ovc-card + .ovc-card {
1138
  margin-top: 2px;
1139
  }
1140
  /* Primary outputs: subtle accent ring + lift */
1141
  .ovc-card-primary {
1142
- border: 1px solid var(--ovc-ring) !important;
1143
  background:
1144
- linear-gradient(180deg, rgba(79,70,229,0.025), rgba(6,182,212,0.012)),
1145
  var(--background-fill-primary) !important;
1146
- box-shadow: 0 4px 18px rgba(79,70,229,0.08) !important;
 
 
1147
  }
1148
  .ovc-card-primary:hover {
1149
- border-color: var(--ovc-ring-strong) !important;
1150
- box-shadow: 0 10px 28px rgba(79,70,229,0.14) !important;
 
 
1151
  }
1152
  .ovc-card h3 {
1153
  display: inline-flex;
@@ -1157,8 +1167,9 @@ CUSTOM_CSS = """
1157
  font-weight: 700 !important;
1158
  text-transform: uppercase;
1159
  letter-spacing: 0.10em;
1160
- color: #4f46e5 !important;
1161
- background: rgba(79,70,229,0.08);
 
1162
  padding: 4px 10px !important;
1163
  border-radius: 999px;
1164
  margin: 0 0 12px !important;
@@ -1196,7 +1207,7 @@ CUSTOM_CSS = """
1196
  .ovc-preset button {
1197
  background: var(--ovc-grad-soft) !important;
1198
  color: #4338ca !important;
1199
- border: 1px solid var(--ovc-line-accent-soft) !important;
1200
  border-radius: 10px !important;
1201
  font-weight: 600 !important;
1202
  transition: all 0.15s ease;
@@ -1279,9 +1290,10 @@ CUSTOM_CSS = """
1279
  .ovc-card [data-testid="upload"],
1280
  .ovc-card .wrap,
1281
  .ovc-card .container {
1282
- border: 1px solid var(--ovc-line) !important;
1283
  box-shadow: none !important;
1284
  outline: none !important;
 
1285
  }
1286
  .ovc-card .video-container,
1287
  .ovc-card .image-container,
@@ -1289,8 +1301,11 @@ CUSTOM_CSS = """
1289
  .ovc-card-primary .video-container,
1290
  .ovc-card-primary .image-container,
1291
  .ovc-card-primary .plot-container {
1292
- background: linear-gradient(180deg, rgba(99,102,241,0.05), rgba(6,182,212,0.025)) !important;
1293
- border: 1px solid rgba(79,70,229,0.34) !important;
 
 
 
1294
  }
1295
  .ovc-card .upload-container,
1296
  .ovc-card .video-container,
@@ -1302,6 +1317,10 @@ CUSTOM_CSS = """
1302
  .ovc-card .upload-container,
1303
  .ovc-card [data-testid="file-upload"] {
1304
  min-height: 220px !important;
 
 
 
 
1305
  }
1306
  .ovc-card .plot-container,
1307
  .ovc-card [data-testid="plot"] {
@@ -1312,7 +1331,7 @@ CUSTOM_CSS = """
1312
  min-height: 260px !important;
1313
  }
1314
  .ovc-card .gradio-video, .ovc-card .gradio-image, .ovc-card .gradio-plot {
1315
- border-color: var(--ovc-line) !important;
1316
  background: transparent !important;
1317
  box-shadow: none !important;
1318
  outline: none !important;
@@ -1339,8 +1358,8 @@ CUSTOM_CSS = """
1339
  .ovc-stat {
1340
  padding: 12px 14px;
1341
  border-radius: 14px;
1342
- background: linear-gradient(135deg, rgba(79,70,229,0.07), rgba(6,182,212,0.04));
1343
- border: 1px solid var(--ovc-line-accent-soft);
1344
  transition: transform 0.18s ease, box-shadow 0.18s ease;
1345
  }
1346
  .ovc-stat:hover {
 
1009
  :root, .gradio-container, .gradio-container.dark {
1010
  --ovc-grad: linear-gradient(135deg, #4f46e5 0%, #2563eb 50%, #06b6d4 100%);
1011
  --ovc-grad-soft: linear-gradient(135deg, rgba(79,70,229,0.10), rgba(6,182,212,0.10));
1012
+ --ovc-ring: rgba(79,70,229,0.18);
1013
+ --ovc-ring-strong: rgba(79,70,229,0.30);
1014
+ --ovc-line-soft: rgba(148,163,184,0.18);
1015
+ --ovc-line: rgba(148,163,184,0.26);
1016
+ --ovc-line-strong: rgba(100,116,139,0.38);
1017
+ --ovc-line-accent-soft: rgba(79,70,229,0.18);
1018
+ --ovc-line-accent: rgba(79,70,229,0.28);
1019
+ --ovc-line-accent-strong: rgba(79,70,229,0.40);
1020
+ --ovc-line-cyan: rgba(6,182,212,0.18);
1021
+ --ovc-surface-tint: rgba(248,250,252,0.74);
1022
+ --ovc-surface-accent: rgba(79,70,229,0.035);
1023
+ --ovc-shadow-soft: 0 1px 2px rgba(15,23,42,0.04), 0 10px 30px rgba(15,23,42,0.03);
1024
+ --ovc-shadow-accent: 0 8px 28px rgba(79,70,229,0.08);
1025
  }
1026
  .gradio-container {
1027
  max-width: 1480px !important;
 
1062
  repeating-linear-gradient(0deg, rgba(99,102,241,0.05) 0 1px, transparent 1px 28px),
1063
  repeating-linear-gradient(90deg, rgba(99,102,241,0.05) 0 1px, transparent 1px 28px);
1064
  border: 1px solid var(--ovc-line-accent-soft);
1065
+ box-shadow: 0 10px 30px rgba(15,23,42,0.04);
1066
  margin-bottom: 18px;
1067
  position: relative;
1068
  overflow: hidden;
 
1106
  padding: 7px 14px;
1107
  border-radius: 999px;
1108
  background: var(--background-fill-primary, #fff);
1109
+ border: 1px solid var(--ovc-line-accent-soft);
1110
  color: #4338ca;
1111
  transition: transform 0.12s ease, box-shadow 0.18s ease,
1112
  background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
 
1118
  color: #fff;
1119
  border-color: transparent;
1120
  transform: translateY(-1px);
1121
+ box-shadow: 0 8px 20px rgba(79,70,229,0.18);
1122
  }
1123
  .gradio-container.dark .ovc-links a {
1124
  background: rgba(30,41,59,0.7);
 
1130
  .ovc-card {
1131
  border-radius: 16px !important;
1132
  padding: 16px 18px !important;
1133
+ border: 1px solid var(--ovc-line-soft) !important;
1134
  background: var(--background-fill-primary) !important;
1135
+ box-shadow: var(--ovc-shadow-soft);
1136
  transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
1137
  animation: ovc-fade-in 0.32s ease-out;
1138
  }
1139
  .ovc-card:hover {
1140
+ border-color: var(--ovc-line) !important;
1141
+ box-shadow: 0 8px 24px rgba(15,23,42,0.06);
1142
  }
1143
  .ovc-card + .ovc-card {
1144
  margin-top: 2px;
1145
  }
1146
  /* Primary outputs: subtle accent ring + lift */
1147
  .ovc-card-primary {
1148
+ border: 1px solid var(--ovc-line-accent-soft) !important;
1149
  background:
1150
+ linear-gradient(180deg, rgba(79,70,229,0.028), rgba(6,182,212,0.014)),
1151
  var(--background-fill-primary) !important;
1152
+ box-shadow:
1153
+ inset 0 0 0 1px rgba(255,255,255,0.65),
1154
+ var(--ovc-shadow-accent) !important;
1155
  }
1156
  .ovc-card-primary:hover {
1157
+ border-color: var(--ovc-line-accent) !important;
1158
+ box-shadow:
1159
+ inset 0 0 0 1px rgba(255,255,255,0.72),
1160
+ 0 10px 32px rgba(79,70,229,0.10) !important;
1161
  }
1162
  .ovc-card h3 {
1163
  display: inline-flex;
 
1167
  font-weight: 700 !important;
1168
  text-transform: uppercase;
1169
  letter-spacing: 0.10em;
1170
+ color: #3730a3 !important;
1171
+ background: rgba(79,70,229,0.06);
1172
+ border: 1px solid rgba(79,70,229,0.10);
1173
  padding: 4px 10px !important;
1174
  border-radius: 999px;
1175
  margin: 0 0 12px !important;
 
1207
  .ovc-preset button {
1208
  background: var(--ovc-grad-soft) !important;
1209
  color: #4338ca !important;
1210
+ border: 1px solid rgba(79,70,229,0.16) !important;
1211
  border-radius: 10px !important;
1212
  font-weight: 600 !important;
1213
  transition: all 0.15s ease;
 
1290
  .ovc-card [data-testid="upload"],
1291
  .ovc-card .wrap,
1292
  .ovc-card .container {
1293
+ border: 1px solid transparent !important;
1294
  box-shadow: none !important;
1295
  outline: none !important;
1296
+ background: transparent !important;
1297
  }
1298
  .ovc-card .video-container,
1299
  .ovc-card .image-container,
 
1301
  .ovc-card-primary .video-container,
1302
  .ovc-card-primary .image-container,
1303
  .ovc-card-primary .plot-container {
1304
+ background:
1305
+ linear-gradient(180deg, rgba(79,70,229,0.028), rgba(6,182,212,0.018)),
1306
+ var(--ovc-surface-tint) !important;
1307
+ border: 1px solid rgba(79,70,229,0.18) !important;
1308
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.68) !important;
1309
  }
1310
  .ovc-card .upload-container,
1311
  .ovc-card .video-container,
 
1317
  .ovc-card .upload-container,
1318
  .ovc-card [data-testid="file-upload"] {
1319
  min-height: 220px !important;
1320
+ background:
1321
+ linear-gradient(180deg, rgba(79,70,229,0.03), rgba(6,182,212,0.02)),
1322
+ rgba(248,250,252,0.72) !important;
1323
+ border: 1px solid rgba(79,70,229,0.16) !important;
1324
  }
1325
  .ovc-card .plot-container,
1326
  .ovc-card [data-testid="plot"] {
 
1331
  min-height: 260px !important;
1332
  }
1333
  .ovc-card .gradio-video, .ovc-card .gradio-image, .ovc-card .gradio-plot {
1334
+ border-color: transparent !important;
1335
  background: transparent !important;
1336
  box-shadow: none !important;
1337
  outline: none !important;
 
1358
  .ovc-stat {
1359
  padding: 12px 14px;
1360
  border-radius: 14px;
1361
+ background: linear-gradient(135deg, rgba(79,70,229,0.055), rgba(6,182,212,0.03));
1362
+ border: 1px solid rgba(79,70,229,0.12);
1363
  transition: transform 0.18s ease, box-shadow 0.18s ease;
1364
  }
1365
  .ovc-stat:hover {