Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -885,50 +885,57 @@ def rank_app(
|
|
| 885 |
progress(1.0, desc="Done ✅")
|
| 886 |
return first_html, meta, tmp.name, shortlist_df, "", "", ranked_dicts, idx0, nav
|
| 887 |
# =========================================================
|
| 888 |
-
# SGS CSS (
|
| 889 |
# =========================================================
|
| 890 |
CUSTOM_CSS = """
|
| 891 |
:root{
|
| 892 |
--sgs-blue:#0B3D91;
|
| 893 |
--sgs-green:#00A651;
|
| 894 |
|
| 895 |
-
/*
|
| 896 |
-
--text:#
|
| 897 |
-
--
|
| 898 |
|
| 899 |
-
/*
|
| 900 |
-
--
|
| 901 |
-
--
|
| 902 |
-
--
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 903 |
}
|
| 904 |
|
| 905 |
/* Layout */
|
| 906 |
.gradio-container{max-width:1180px !important;}
|
| 907 |
|
| 908 |
-
/* Background (
|
| 909 |
body, .gradio-container{
|
| 910 |
background:
|
| 911 |
-
radial-gradient(1200px 700px at 10% 10%, rgba(11,61,145,.
|
| 912 |
-
radial-gradient(900px 600px at 90% 20%, rgba(0,166,81,.
|
| 913 |
-
radial-gradient(800px 520px at 55% 90%, rgba(79,178,255,.
|
| 914 |
-
linear-gradient(180deg,
|
| 915 |
}
|
| 916 |
|
| 917 |
-
/*
|
| 918 |
body:before{
|
| 919 |
content:"";
|
| 920 |
position: fixed;
|
| 921 |
inset: 0;
|
| 922 |
pointer-events:none;
|
| 923 |
background: linear-gradient(120deg,
|
| 924 |
-
rgba(11,61,145,.
|
| 925 |
-
rgba(0,166,81,.
|
| 926 |
-
rgba(79,178,255,.
|
| 927 |
-
rgba(11,61,145,.
|
| 928 |
);
|
| 929 |
background-size: 320% 320%;
|
| 930 |
mix-blend-mode: multiply;
|
| 931 |
-
opacity: .
|
| 932 |
animation: bgShift 10s ease-in-out infinite;
|
| 933 |
}
|
| 934 |
@keyframes bgShift{
|
|
@@ -937,19 +944,21 @@ body:before{
|
|
| 937 |
100%{ background-position: 0% 50%; }
|
| 938 |
}
|
| 939 |
|
|
|
|
|
|
|
| 940 |
.gradio-container, .gradio-container *{ color: var(--text) !important; }
|
| 941 |
|
| 942 |
/* Hero */
|
| 943 |
.hero{
|
| 944 |
-
border:
|
| 945 |
-
background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(
|
| 946 |
border-radius: 22px;
|
| 947 |
padding: 20px 20px 18px;
|
| 948 |
display:flex;
|
| 949 |
align-items:flex-end;
|
| 950 |
justify-content:space-between;
|
| 951 |
gap:16px;
|
| 952 |
-
box-shadow: 0 18px 40px rgba(2,6,23,.
|
| 953 |
margin: 12px 0 16px;
|
| 954 |
position: relative;
|
| 955 |
overflow: hidden;
|
|
@@ -964,7 +973,7 @@ body:before{
|
|
| 964 |
.hero-left{max-width: 740px;}
|
| 965 |
.hero *{ position: relative; z-index: 1; }
|
| 966 |
|
| 967 |
-
/* Glow blobs
|
| 968 |
.hero:before, .hero:after{
|
| 969 |
content:"";
|
| 970 |
position:absolute;
|
|
@@ -972,17 +981,17 @@ body:before{
|
|
| 972 |
height: 360px;
|
| 973 |
border-radius: 999px;
|
| 974 |
filter: blur(44px);
|
| 975 |
-
opacity: .
|
| 976 |
pointer-events:none;
|
| 977 |
animation: floaty 7s ease-in-out infinite;
|
| 978 |
}
|
| 979 |
.hero:before{
|
| 980 |
-
background: radial-gradient(circle at 35% 35%, rgba(11,61,145,.
|
| 981 |
-
radial-gradient(circle at 35% 35%, rgba(79,178,255,.
|
| 982 |
top:-190px; left:-170px;
|
| 983 |
}
|
| 984 |
.hero:after{
|
| 985 |
-
background: radial-gradient(circle at 60% 40%, rgba(0,166,81,.
|
| 986 |
radial-gradient(circle at 60% 40%, rgba(11,61,145,.10), transparent 72%);
|
| 987 |
bottom:-220px; right:-190px;
|
| 988 |
animation-delay: -2.8s;
|
|
@@ -1011,9 +1020,9 @@ body:before{
|
|
| 1011 |
bottom: -7px;
|
| 1012 |
background: linear-gradient(90deg,
|
| 1013 |
rgba(11,61,145,0),
|
| 1014 |
-
rgba(11,61,145,.
|
| 1015 |
-
rgba(79,178,255,.
|
| 1016 |
-
rgba(0,166,81,.
|
| 1017 |
rgba(0,166,81,0)
|
| 1018 |
);
|
| 1019 |
filter: blur(1px);
|
|
@@ -1040,10 +1049,10 @@ body:before{
|
|
| 1040 |
justify-content:flex-end;
|
| 1041 |
}
|
| 1042 |
|
| 1043 |
-
/* KPI cards
|
| 1044 |
.kpi{
|
| 1045 |
background: rgba(255,255,255,.78);
|
| 1046 |
-
border:
|
| 1047 |
border-radius: 16px;
|
| 1048 |
padding: 10px 12px;
|
| 1049 |
min-width: 150px;
|
|
@@ -1053,35 +1062,36 @@ body:before{
|
|
| 1053 |
}
|
| 1054 |
.kpi:hover{
|
| 1055 |
transform: translateY(-2px);
|
| 1056 |
-
box-shadow: 0 18px 38px rgba(2,6,23,.
|
| 1057 |
-
border-color:
|
| 1058 |
}
|
| 1059 |
-
.kpi-label{color:rgba(
|
| 1060 |
.kpi-val{font-size:18px;font-weight:1000;margin-top:2px;}
|
| 1061 |
|
| 1062 |
-
/* Gradio
|
| 1063 |
.gradio-container .block{
|
| 1064 |
border-radius: 18px !important;
|
| 1065 |
-
border:
|
| 1066 |
-
background: rgba(255,255,255,.
|
| 1067 |
-
box-shadow:
|
| 1068 |
}
|
| 1069 |
|
| 1070 |
-
/* Inputs
|
| 1071 |
textarea, input[type="text"]{
|
| 1072 |
-
background: rgba(255,255,255,.
|
| 1073 |
-
border:
|
| 1074 |
border-radius: 14px !important;
|
| 1075 |
}
|
| 1076 |
textarea:focus, input[type="text"]:focus{
|
| 1077 |
outline: none !important;
|
| 1078 |
box-shadow: 0 0 0 3px rgba(79,178,255,.18) !important;
|
|
|
|
| 1079 |
}
|
| 1080 |
|
| 1081 |
/* Buttons */
|
| 1082 |
button.primary, .gradio-container button{
|
| 1083 |
border-radius: 14px !important;
|
| 1084 |
-
border: 1px solid rgba(15,23,42,.
|
| 1085 |
background: linear-gradient(90deg, rgba(11,61,145,.92), rgba(0,166,81,.78)) !important;
|
| 1086 |
color: #fff !important;
|
| 1087 |
transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
|
|
@@ -1095,40 +1105,40 @@ button.primary:active, .gradio-container button:active{
|
|
| 1095 |
transform: translateY(0) scale(.99);
|
| 1096 |
}
|
| 1097 |
|
| 1098 |
-
/* Tabs
|
| 1099 |
.gradio-container .tabs{
|
| 1100 |
-
border:
|
| 1101 |
border-radius: 18px !important;
|
| 1102 |
overflow: hidden;
|
| 1103 |
}
|
| 1104 |
.gradio-container .tabitem{
|
| 1105 |
-
background: rgba(255,255,255,.
|
| 1106 |
}
|
| 1107 |
.gradio-container .tab-nav{
|
| 1108 |
-
background: rgba(255,255,255,.
|
| 1109 |
-
border-bottom:
|
| 1110 |
}
|
| 1111 |
|
| 1112 |
-
/* Cards
|
| 1113 |
.cards{display:grid;grid-template-columns: 1fr; gap: 12px;}
|
| 1114 |
.card{
|
| 1115 |
-
background: linear-gradient(180deg,
|
| 1116 |
-
border:
|
| 1117 |
border-radius: 18px;
|
| 1118 |
padding: 14px;
|
| 1119 |
-
box-shadow:
|
| 1120 |
transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
|
| 1121 |
}
|
| 1122 |
.card:hover{
|
| 1123 |
transform: translateY(-2px);
|
| 1124 |
-
box-shadow: 0 20px 40px rgba(2,6,23,.
|
| 1125 |
-
border-color:
|
| 1126 |
}
|
| 1127 |
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
|
| 1128 |
.card-title{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
|
| 1129 |
.rank{
|
| 1130 |
background: rgba(11,61,145,.10);
|
| 1131 |
-
border:
|
| 1132 |
font-weight: 1000;
|
| 1133 |
border-radius: 999px;
|
| 1134 |
padding: 6px 10px;
|
|
@@ -1137,35 +1147,35 @@ button.primary:active, .gradio-container button:active{
|
|
| 1137 |
.file{font-weight:1000;font-size:16px;}
|
| 1138 |
.card-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
|
| 1139 |
|
| 1140 |
-
/* Badges / Pills
|
| 1141 |
.badge{
|
| 1142 |
display:inline-flex;align-items:center;
|
| 1143 |
padding: 6px 10px;border-radius: 999px;font-size:12px;font-weight:1000;
|
| 1144 |
-
border:
|
| 1145 |
color: var(--text) !important;
|
| 1146 |
}
|
| 1147 |
-
.b-exc{ background: rgba(0,166,81,.12); border-color: rgba(0,166,81,.
|
| 1148 |
-
.b-good{ background: rgba(11,61,145,.10); border-color: rgba(11,61,145,.
|
| 1149 |
-
.b-maybe{ background: rgba(245,158,11,.
|
| 1150 |
-
.b-weak{ background: rgba(239,68,68,.
|
| 1151 |
|
| 1152 |
.pill{
|
| 1153 |
display:inline-flex;align-items:center;justify-content:center;
|
| 1154 |
min-width:60px;padding: 6px 10px;border-radius: 999px;font-weight: 1000;
|
| 1155 |
-
border:
|
| 1156 |
-
background: rgba(255,255,255,.
|
| 1157 |
color: var(--text) !important;
|
| 1158 |
}
|
| 1159 |
-
.p-high{ background: rgba(0,166,81,.12); border-color: rgba(0,166,81,.
|
| 1160 |
-
.p-mid{ background: rgba(11,61,145,.10); border-color: rgba(11,61,145,.
|
| 1161 |
-
.p-low{ background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.
|
| 1162 |
-
.p-bad{ background: rgba(239,68,68,.10); border-color: rgba(239,68,68,.
|
| 1163 |
|
| 1164 |
/* Score bar */
|
| 1165 |
.bar{
|
| 1166 |
width: 100%; height: 10px; border-radius: 999px;
|
| 1167 |
-
background: rgba(
|
| 1168 |
-
border:
|
| 1169 |
margin: 10px 0 10px;
|
| 1170 |
}
|
| 1171 |
.fill{
|
|
@@ -1188,11 +1198,11 @@ button.primary:active, .gradio-container button:active{
|
|
| 1188 |
.list{margin:0;padding-left:18px;color:var(--text) !important;}
|
| 1189 |
.list li{margin:6px 0;line-height:1.30rem;color:var(--text) !important;}
|
| 1190 |
|
| 1191 |
-
/* Quotes / Evidence
|
| 1192 |
.quotes{display:grid;gap:10px;margin-top:6px;}
|
| 1193 |
.quote{
|
| 1194 |
-
background: rgba(255,255,255,.
|
| 1195 |
-
border:
|
| 1196 |
border-radius: 14px;
|
| 1197 |
padding: 10px 12px;
|
| 1198 |
color: var(--text) !important;
|
|
@@ -1201,13 +1211,13 @@ button.primary:active, .gradio-container button:active{
|
|
| 1201 |
}
|
| 1202 |
.quote.muted{opacity:.85;}
|
| 1203 |
|
| 1204 |
-
/* Checklist
|
| 1205 |
.checklist{display:grid;gap:8px;margin-top:6px;}
|
| 1206 |
.checkrow{
|
| 1207 |
display:grid; grid-template-columns: 1.1fr .4fr 1.5fr; gap:10px;
|
| 1208 |
padding:10px 12px; border-radius:14px;
|
| 1209 |
-
border:
|
| 1210 |
-
background: rgba(255,255,255,.
|
| 1211 |
font-size:13px;
|
| 1212 |
position: relative;
|
| 1213 |
overflow: hidden;
|
|
@@ -1217,10 +1227,10 @@ button.primary:active, .gradio-container button:active{
|
|
| 1217 |
position:absolute;
|
| 1218 |
left:0; top:0; bottom:0;
|
| 1219 |
width:4px;
|
| 1220 |
-
background: rgba(
|
| 1221 |
}
|
| 1222 |
.checkrow .req{font-weight:1000;color:var(--text) !important;}
|
| 1223 |
-
.checkrow .ev{color:rgba(
|
| 1224 |
.checkrow .st{font-weight:1000;text-align:center;letter-spacing:.4px;}
|
| 1225 |
|
| 1226 |
/* Status colors */
|
|
@@ -1228,35 +1238,26 @@ button.primary:active, .gradio-container button:active{
|
|
| 1228 |
.checkrow.partial:before{ background: rgba(245,158,11,.95); }
|
| 1229 |
.checkrow.miss:before{ background: rgba(239,68,68,.95); }
|
| 1230 |
|
| 1231 |
-
.checkrow.ok .st{ color: rgba(0,120,70,1) !important;
|
| 1232 |
.checkrow.partial .st{ color: rgba(150,95,10,1) !important; }
|
| 1233 |
.checkrow.miss .st{ color: rgba(160,20,20,1) !important; }
|
| 1234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1235 |
/* Respect reduced motion */
|
| 1236 |
@media (prefers-reduced-motion: reduce){
|
| 1237 |
body:before, .hero, .hero:before, .hero:after{
|
| 1238 |
animation: none !important;
|
| 1239 |
}
|
| 1240 |
}
|
| 1241 |
-
/* File uploader text color (LIGHT mode) */
|
| 1242 |
-
@media (prefers-color-scheme: light){
|
| 1243 |
-
|
| 1244 |
-
/* File component wrapper */
|
| 1245 |
-
.gradio-container .file,
|
| 1246 |
-
.gradio-container .file-upload,
|
| 1247 |
-
.gradio-container .upload-button{
|
| 1248 |
-
color: #000 !important;
|
| 1249 |
-
}
|
| 1250 |
-
|
| 1251 |
-
/* The actual clickable text inside the file uploader */
|
| 1252 |
-
.gradio-container .file * ,
|
| 1253 |
-
.gradio-container .file-upload *,
|
| 1254 |
-
.gradio-container .upload-button *{
|
| 1255 |
-
color: #000 !important;
|
| 1256 |
-
}
|
| 1257 |
-
}
|
| 1258 |
-
|
| 1259 |
-
|
| 1260 |
"""
|
| 1261 |
|
| 1262 |
|
|
|
|
| 885 |
progress(1.0, desc="Done ✅")
|
| 886 |
return first_html, meta, tmp.name, shortlist_df, "", "", ranked_dicts, idx0, nav
|
| 887 |
# =========================================================
|
| 888 |
+
# SGS CSS (neutral light-grey, visible borders on BOTH light/dark)
|
| 889 |
# =========================================================
|
| 890 |
CUSTOM_CSS = """
|
| 891 |
:root{
|
| 892 |
--sgs-blue:#0B3D91;
|
| 893 |
--sgs-green:#00A651;
|
| 894 |
|
| 895 |
+
/* Always-neutral UI (works on light & dark OS themes) */
|
| 896 |
+
--text:#111827;
|
| 897 |
+
--muted: rgba(17,24,39,.70);
|
| 898 |
|
| 899 |
+
/* Light grey surfaces */
|
| 900 |
+
--bg1:#f2f4f7;
|
| 901 |
+
--bg2:#e9edf2;
|
| 902 |
+
--surface:#f7f8fa;
|
| 903 |
+
--surface2:#ffffff;
|
| 904 |
+
|
| 905 |
+
/* Stronger borders so they stay visible everywhere */
|
| 906 |
+
--line: rgba(17,24,39,.22);
|
| 907 |
+
--line2: rgba(17,24,39,.28);
|
| 908 |
+
|
| 909 |
+
--shadow: 0 14px 28px rgba(2,6,23,.10);
|
| 910 |
}
|
| 911 |
|
| 912 |
/* Layout */
|
| 913 |
.gradio-container{max-width:1180px !important;}
|
| 914 |
|
| 915 |
+
/* Background (light grey, not pure white) */
|
| 916 |
body, .gradio-container{
|
| 917 |
background:
|
| 918 |
+
radial-gradient(1200px 700px at 10% 10%, rgba(11,61,145,.08), transparent 55%),
|
| 919 |
+
radial-gradient(900px 600px at 90% 20%, rgba(0,166,81,.07), transparent 60%),
|
| 920 |
+
radial-gradient(800px 520px at 55% 90%, rgba(79,178,255,.07), transparent 60%),
|
| 921 |
+
linear-gradient(180deg, var(--bg1), var(--bg2)) !important;
|
| 922 |
}
|
| 923 |
|
| 924 |
+
/* Subtle moving veil (safe + readable) */
|
| 925 |
body:before{
|
| 926 |
content:"";
|
| 927 |
position: fixed;
|
| 928 |
inset: 0;
|
| 929 |
pointer-events:none;
|
| 930 |
background: linear-gradient(120deg,
|
| 931 |
+
rgba(11,61,145,.06),
|
| 932 |
+
rgba(0,166,81,.05),
|
| 933 |
+
rgba(79,178,255,.05),
|
| 934 |
+
rgba(11,61,145,.06)
|
| 935 |
);
|
| 936 |
background-size: 320% 320%;
|
| 937 |
mix-blend-mode: multiply;
|
| 938 |
+
opacity: .35;
|
| 939 |
animation: bgShift 10s ease-in-out infinite;
|
| 940 |
}
|
| 941 |
@keyframes bgShift{
|
|
|
|
| 944 |
100%{ background-position: 0% 50%; }
|
| 945 |
}
|
| 946 |
|
| 947 |
+
/* IMPORTANT:
|
| 948 |
+
Keep text dark always so it's readable even if OS is in dark mode */
|
| 949 |
.gradio-container, .gradio-container *{ color: var(--text) !important; }
|
| 950 |
|
| 951 |
/* Hero */
|
| 952 |
.hero{
|
| 953 |
+
border:1.2px solid var(--line2);
|
| 954 |
+
background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(247,248,250,.82));
|
| 955 |
border-radius: 22px;
|
| 956 |
padding: 20px 20px 18px;
|
| 957 |
display:flex;
|
| 958 |
align-items:flex-end;
|
| 959 |
justify-content:space-between;
|
| 960 |
gap:16px;
|
| 961 |
+
box-shadow: 0 18px 40px rgba(2,6,23,.12);
|
| 962 |
margin: 12px 0 16px;
|
| 963 |
position: relative;
|
| 964 |
overflow: hidden;
|
|
|
|
| 973 |
.hero-left{max-width: 740px;}
|
| 974 |
.hero *{ position: relative; z-index: 1; }
|
| 975 |
|
| 976 |
+
/* Glow blobs */
|
| 977 |
.hero:before, .hero:after{
|
| 978 |
content:"";
|
| 979 |
position:absolute;
|
|
|
|
| 981 |
height: 360px;
|
| 982 |
border-radius: 999px;
|
| 983 |
filter: blur(44px);
|
| 984 |
+
opacity: .26;
|
| 985 |
pointer-events:none;
|
| 986 |
animation: floaty 7s ease-in-out infinite;
|
| 987 |
}
|
| 988 |
.hero:before{
|
| 989 |
+
background: radial-gradient(circle at 35% 35%, rgba(11,61,145,.22), transparent 62%),
|
| 990 |
+
radial-gradient(circle at 35% 35%, rgba(79,178,255,.18), transparent 70%);
|
| 991 |
top:-190px; left:-170px;
|
| 992 |
}
|
| 993 |
.hero:after{
|
| 994 |
+
background: radial-gradient(circle at 60% 40%, rgba(0,166,81,.18), transparent 64%),
|
| 995 |
radial-gradient(circle at 60% 40%, rgba(11,61,145,.10), transparent 72%);
|
| 996 |
bottom:-220px; right:-190px;
|
| 997 |
animation-delay: -2.8s;
|
|
|
|
| 1020 |
bottom: -7px;
|
| 1021 |
background: linear-gradient(90deg,
|
| 1022 |
rgba(11,61,145,0),
|
| 1023 |
+
rgba(11,61,145,.34),
|
| 1024 |
+
rgba(79,178,255,.34),
|
| 1025 |
+
rgba(0,166,81,.26),
|
| 1026 |
rgba(0,166,81,0)
|
| 1027 |
);
|
| 1028 |
filter: blur(1px);
|
|
|
|
| 1049 |
justify-content:flex-end;
|
| 1050 |
}
|
| 1051 |
|
| 1052 |
+
/* KPI cards */
|
| 1053 |
.kpi{
|
| 1054 |
background: rgba(255,255,255,.78);
|
| 1055 |
+
border:1.2px solid var(--line);
|
| 1056 |
border-radius: 16px;
|
| 1057 |
padding: 10px 12px;
|
| 1058 |
min-width: 150px;
|
|
|
|
| 1062 |
}
|
| 1063 |
.kpi:hover{
|
| 1064 |
transform: translateY(-2px);
|
| 1065 |
+
box-shadow: 0 18px 38px rgba(2,6,23,.12);
|
| 1066 |
+
border-color: var(--line2);
|
| 1067 |
}
|
| 1068 |
+
.kpi-label{color:rgba(17,24,39,.78) !important;font-size:12px;font-weight:800;}
|
| 1069 |
.kpi-val{font-size:18px;font-weight:1000;margin-top:2px;}
|
| 1070 |
|
| 1071 |
+
/* Gradio blocks */
|
| 1072 |
.gradio-container .block{
|
| 1073 |
border-radius: 18px !important;
|
| 1074 |
+
border: 1.2px solid var(--line) !important;
|
| 1075 |
+
background: rgba(255,255,255,.72) !important;
|
| 1076 |
+
box-shadow: var(--shadow);
|
| 1077 |
}
|
| 1078 |
|
| 1079 |
+
/* Inputs */
|
| 1080 |
textarea, input[type="text"]{
|
| 1081 |
+
background: rgba(255,255,255,.90) !important;
|
| 1082 |
+
border: 1.2px solid var(--line) !important;
|
| 1083 |
border-radius: 14px !important;
|
| 1084 |
}
|
| 1085 |
textarea:focus, input[type="text"]:focus{
|
| 1086 |
outline: none !important;
|
| 1087 |
box-shadow: 0 0 0 3px rgba(79,178,255,.18) !important;
|
| 1088 |
+
border-color: var(--line2) !important;
|
| 1089 |
}
|
| 1090 |
|
| 1091 |
/* Buttons */
|
| 1092 |
button.primary, .gradio-container button{
|
| 1093 |
border-radius: 14px !important;
|
| 1094 |
+
border: 1px solid rgba(15,23,42,.18) !important;
|
| 1095 |
background: linear-gradient(90deg, rgba(11,61,145,.92), rgba(0,166,81,.78)) !important;
|
| 1096 |
color: #fff !important;
|
| 1097 |
transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
|
|
|
|
| 1105 |
transform: translateY(0) scale(.99);
|
| 1106 |
}
|
| 1107 |
|
| 1108 |
+
/* Tabs */
|
| 1109 |
.gradio-container .tabs{
|
| 1110 |
+
border: 1.2px solid var(--line) !important;
|
| 1111 |
border-radius: 18px !important;
|
| 1112 |
overflow: hidden;
|
| 1113 |
}
|
| 1114 |
.gradio-container .tabitem{
|
| 1115 |
+
background: rgba(255,255,255,.70) !important;
|
| 1116 |
}
|
| 1117 |
.gradio-container .tab-nav{
|
| 1118 |
+
background: rgba(255,255,255,.70) !important;
|
| 1119 |
+
border-bottom: 1.2px solid var(--line) !important;
|
| 1120 |
}
|
| 1121 |
|
| 1122 |
+
/* Cards */
|
| 1123 |
.cards{display:grid;grid-template-columns: 1fr; gap: 12px;}
|
| 1124 |
.card{
|
| 1125 |
+
background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,248,250,.88));
|
| 1126 |
+
border:1.2px solid var(--line);
|
| 1127 |
border-radius: 18px;
|
| 1128 |
padding: 14px;
|
| 1129 |
+
box-shadow: var(--shadow);
|
| 1130 |
transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
|
| 1131 |
}
|
| 1132 |
.card:hover{
|
| 1133 |
transform: translateY(-2px);
|
| 1134 |
+
box-shadow: 0 20px 40px rgba(2,6,23,.12);
|
| 1135 |
+
border-color: var(--line2);
|
| 1136 |
}
|
| 1137 |
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
|
| 1138 |
.card-title{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
|
| 1139 |
.rank{
|
| 1140 |
background: rgba(11,61,145,.10);
|
| 1141 |
+
border:1.2px solid rgba(11,61,145,.22);
|
| 1142 |
font-weight: 1000;
|
| 1143 |
border-radius: 999px;
|
| 1144 |
padding: 6px 10px;
|
|
|
|
| 1147 |
.file{font-weight:1000;font-size:16px;}
|
| 1148 |
.card-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
|
| 1149 |
|
| 1150 |
+
/* Badges / Pills */
|
| 1151 |
.badge{
|
| 1152 |
display:inline-flex;align-items:center;
|
| 1153 |
padding: 6px 10px;border-radius: 999px;font-size:12px;font-weight:1000;
|
| 1154 |
+
border:1.2px solid var(--line);
|
| 1155 |
color: var(--text) !important;
|
| 1156 |
}
|
| 1157 |
+
.b-exc{ background: rgba(0,166,81,.12); border-color: rgba(0,166,81,.26); }
|
| 1158 |
+
.b-good{ background: rgba(11,61,145,.10); border-color: rgba(11,61,145,.24); }
|
| 1159 |
+
.b-maybe{ background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.28); }
|
| 1160 |
+
.b-weak{ background: rgba(239,68,68,.10); border-color: rgba(239,68,68,.26); }
|
| 1161 |
|
| 1162 |
.pill{
|
| 1163 |
display:inline-flex;align-items:center;justify-content:center;
|
| 1164 |
min-width:60px;padding: 6px 10px;border-radius: 999px;font-weight: 1000;
|
| 1165 |
+
border:1.2px solid var(--line);
|
| 1166 |
+
background: rgba(255,255,255,.78);
|
| 1167 |
color: var(--text) !important;
|
| 1168 |
}
|
| 1169 |
+
.p-high{ background: rgba(0,166,81,.12); border-color: rgba(0,166,81,.26); }
|
| 1170 |
+
.p-mid{ background: rgba(11,61,145,.10); border-color: rgba(11,61,145,.24); }
|
| 1171 |
+
.p-low{ background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.28); }
|
| 1172 |
+
.p-bad{ background: rgba(239,68,68,.10); border-color: rgba(239,68,68,.26); }
|
| 1173 |
|
| 1174 |
/* Score bar */
|
| 1175 |
.bar{
|
| 1176 |
width: 100%; height: 10px; border-radius: 999px;
|
| 1177 |
+
background: rgba(17,24,39,.08); overflow: hidden;
|
| 1178 |
+
border:1.2px solid var(--line);
|
| 1179 |
margin: 10px 0 10px;
|
| 1180 |
}
|
| 1181 |
.fill{
|
|
|
|
| 1198 |
.list{margin:0;padding-left:18px;color:var(--text) !important;}
|
| 1199 |
.list li{margin:6px 0;line-height:1.30rem;color:var(--text) !important;}
|
| 1200 |
|
| 1201 |
+
/* Quotes / Evidence */
|
| 1202 |
.quotes{display:grid;gap:10px;margin-top:6px;}
|
| 1203 |
.quote{
|
| 1204 |
+
background: rgba(255,255,255,.82);
|
| 1205 |
+
border:1.2px solid var(--line);
|
| 1206 |
border-radius: 14px;
|
| 1207 |
padding: 10px 12px;
|
| 1208 |
color: var(--text) !important;
|
|
|
|
| 1211 |
}
|
| 1212 |
.quote.muted{opacity:.85;}
|
| 1213 |
|
| 1214 |
+
/* Checklist */
|
| 1215 |
.checklist{display:grid;gap:8px;margin-top:6px;}
|
| 1216 |
.checkrow{
|
| 1217 |
display:grid; grid-template-columns: 1.1fr .4fr 1.5fr; gap:10px;
|
| 1218 |
padding:10px 12px; border-radius:14px;
|
| 1219 |
+
border:1.2px solid var(--line);
|
| 1220 |
+
background: rgba(255,255,255,.82);
|
| 1221 |
font-size:13px;
|
| 1222 |
position: relative;
|
| 1223 |
overflow: hidden;
|
|
|
|
| 1227 |
position:absolute;
|
| 1228 |
left:0; top:0; bottom:0;
|
| 1229 |
width:4px;
|
| 1230 |
+
background: rgba(17,24,39,.22);
|
| 1231 |
}
|
| 1232 |
.checkrow .req{font-weight:1000;color:var(--text) !important;}
|
| 1233 |
+
.checkrow .ev{color:rgba(17,24,39,0.88) !important;}
|
| 1234 |
.checkrow .st{font-weight:1000;text-align:center;letter-spacing:.4px;}
|
| 1235 |
|
| 1236 |
/* Status colors */
|
|
|
|
| 1238 |
.checkrow.partial:before{ background: rgba(245,158,11,.95); }
|
| 1239 |
.checkrow.miss:before{ background: rgba(239,68,68,.95); }
|
| 1240 |
|
| 1241 |
+
.checkrow.ok .st{ color: rgba(0,120,70,1) !important; }
|
| 1242 |
.checkrow.partial .st{ color: rgba(150,95,10,1) !important; }
|
| 1243 |
.checkrow.miss .st{ color: rgba(160,20,20,1) !important; }
|
| 1244 |
|
| 1245 |
+
/* File uploader text color (force readable) */
|
| 1246 |
+
.gradio-container .file,
|
| 1247 |
+
.gradio-container .file-upload,
|
| 1248 |
+
.gradio-container .upload-button,
|
| 1249 |
+
.gradio-container .file *,
|
| 1250 |
+
.gradio-container .file-upload *,
|
| 1251 |
+
.gradio-container .upload-button *{
|
| 1252 |
+
color: var(--text) !important;
|
| 1253 |
+
}
|
| 1254 |
+
|
| 1255 |
/* Respect reduced motion */
|
| 1256 |
@media (prefers-reduced-motion: reduce){
|
| 1257 |
body:before, .hero, .hero:before, .hero:after{
|
| 1258 |
animation: none !important;
|
| 1259 |
}
|
| 1260 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1261 |
"""
|
| 1262 |
|
| 1263 |
|