@jjlmoya/utils-social 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -660,903 +660,3 @@ const t = (ui ?? {}) as TinderPhotoOptimizerUI;
660
660
  init();
661
661
  </script>
662
662
 
663
- <style>
664
- .tfo-root {
665
- --tfo-pink: #FD297B;
666
- --tfo-orange: #FF5864;
667
- --tfo-gradient: linear-gradient(45deg, #FD297B, #FF5864, #FF655B);
668
- --tfo-text: #1a1a1a;
669
- --tfo-muted: #64748b;
670
- --tfo-bg: #f8fafc;
671
- --tfo-panel-bg: rgba(255, 255, 255, 0.95);
672
- --tfo-panel-border: rgba(255, 255, 255, 0.3);
673
- --tfo-metric-bg: #f8fafc;
674
- --tfo-metric-border: #f1f5f9;
675
- --tfo-action-bg: #fff;
676
- --tfo-action-border: #f1f5f9;
677
- --tfo-action-color: #475569;
678
- --tfo-btn-icon-bg: #f8fafc;
679
- --tfo-btn-icon-color: #64748b;
680
- --tfo-analysis-bg: #fff;
681
- --tfo-alert-color: #1a1a1a;
682
- --tfo-switch-off: #e2e8f0;
683
- }
684
-
685
- :global(.theme-dark) .tfo-root {
686
- --tfo-text: #f1f5f9;
687
- --tfo-muted: #94a3b8;
688
- --tfo-bg: #0f172a;
689
- --tfo-panel-bg: rgba(15, 23, 42, 0.85);
690
- --tfo-panel-border: rgba(255, 255, 255, 0.08);
691
- --tfo-metric-bg: rgba(255, 255, 255, 0.05);
692
- --tfo-metric-border: rgba(255, 255, 255, 0.08);
693
- --tfo-action-bg: rgba(255, 255, 255, 0.04);
694
- --tfo-action-border: rgba(255, 255, 255, 0.08);
695
- --tfo-action-color: #94a3b8;
696
- --tfo-btn-icon-bg: rgba(255, 255, 255, 0.06);
697
- --tfo-btn-icon-color: #94a3b8;
698
- --tfo-analysis-bg: rgba(15, 23, 42, 0.6);
699
- --tfo-alert-color: #e2e8f0;
700
- --tfo-switch-off: #334155;
701
- }
702
-
703
- .tfo-container {
704
- display: grid;
705
- grid-template-columns: 1fr 380px;
706
- gap: 3rem;
707
- padding: 3rem;
708
- max-width: 1300px;
709
- margin: 2rem auto;
710
- color: var(--tfo-text);
711
- background: var(--tfo-bg);
712
- border-radius: 3rem;
713
- border: 1px solid rgba(0, 0, 0, 0.05);
714
- box-shadow: 0 40px 80px rgba(0, 0, 0, 0.08);
715
- position: relative;
716
- overflow: hidden;
717
- }
718
-
719
- :global(.theme-dark) .tfo-container {
720
- border-color: rgba(255, 255, 255, 0.06);
721
- }
722
-
723
- .tfo-container::before {
724
- content: '';
725
- position: absolute;
726
- top: -20%;
727
- right: -10%;
728
- width: 60%;
729
- height: 60%;
730
- background: radial-gradient(circle at center, rgba(254, 60, 114, 0.08) 0%, transparent 70%);
731
- pointer-events: none;
732
- }
733
-
734
- @media (max-width: 1200px) {
735
- .tfo-container {
736
- grid-template-columns: 1fr;
737
- gap: 2rem;
738
- padding: 2rem;
739
- margin: 1rem;
740
- border-radius: 2rem;
741
- }
742
- .tfo-sidebar { order: 2; }
743
- .tfo-editor { order: 1; }
744
- }
745
-
746
- @media (max-width: 640px) {
747
- .tfo-container {
748
- padding: 1.25rem;
749
- margin: 0.5rem;
750
- gap: 1.5rem;
751
- border-radius: 1.5rem;
752
- }
753
- .tfo-panel {
754
- padding: 1.25rem;
755
- border-radius: 20px;
756
- }
757
- .tfo-analysis-board { margin-top: 1.5rem; }
758
- .tfo-alert { font-size: 0.9rem; }
759
- }
760
-
761
- .tfo-editor {
762
- display: flex;
763
- flex-direction: column;
764
- gap: 2rem;
765
- min-width: 0;
766
- }
767
-
768
- .tfo-simulator-wrapper {
769
- position: relative;
770
- width: 100%;
771
- max-width: 380px;
772
- margin: 0 auto;
773
- }
774
-
775
- .tfo-sidebar {
776
- display: flex;
777
- flex-direction: column;
778
- gap: 1.5rem;
779
- }
780
-
781
- .tfo-panel {
782
- background: var(--tfo-panel-bg);
783
- backdrop-filter: blur(20px);
784
- border: 1px solid var(--tfo-panel-border);
785
- border-radius: 28px;
786
- padding: 1.8rem;
787
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03), 0 1px 1px rgba(0, 0, 0, 0.01);
788
- transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
789
- }
790
-
791
- .tfo-panel:hover {
792
- box-shadow: 0 20px 50px rgba(0, 0, 0, 0.07);
793
- transform: translateY(-4px);
794
- border-color: rgba(253, 41, 123, 0.1);
795
- }
796
-
797
- .tfo-panel h3 {
798
- font-size: 0.75rem;
799
- margin: 0 0 1.2rem;
800
- color: var(--tfo-pink);
801
- text-transform: uppercase;
802
- letter-spacing: 1.2px;
803
- font-weight: 800;
804
- }
805
-
806
- .tfo-control-group {
807
- display: flex;
808
- flex-direction: column;
809
- gap: 0.8rem;
810
- margin-bottom: 1.2rem;
811
- }
812
-
813
- .tfo-control-group label {
814
- font-size: 0.85rem;
815
- font-weight: 600;
816
- color: var(--tfo-muted);
817
- display: flex;
818
- justify-content: space-between;
819
- }
820
-
821
- input[type="range"] {
822
- width: 100%;
823
- accent-color: var(--tfo-pink);
824
- }
825
-
826
- .tfo-toggles-grid {
827
- display: flex;
828
- flex-direction: column;
829
- gap: 1.2rem;
830
- }
831
-
832
- .tfo-switch-item {
833
- display: flex;
834
- align-items: center;
835
- justify-content: space-between;
836
- cursor: pointer;
837
- padding: 0.5rem 0;
838
- }
839
-
840
- .tfo-switch-info {
841
- display: flex;
842
- flex-direction: column;
843
- gap: 0.2rem;
844
- }
845
-
846
- .tfo-switch-label {
847
- font-size: 0.95rem;
848
- font-weight: 700;
849
- color: var(--tfo-text);
850
- transition: color 0.2s;
851
- }
852
-
853
- .tfo-switch-item:hover .tfo-switch-label { color: var(--tfo-pink); }
854
-
855
- .tfo-switch-desc {
856
- font-size: 0.75rem;
857
- color: var(--tfo-muted);
858
- }
859
-
860
- .tfo-switch-wrapper {
861
- position: relative;
862
- display: inline-block;
863
- width: 44px;
864
- height: 24px;
865
- flex-shrink: 0;
866
- }
867
-
868
- .tfo-switch-wrapper input {
869
- opacity: 0;
870
- width: 0;
871
- height: 0;
872
- }
873
-
874
- .tfo-track {
875
- position: absolute;
876
- cursor: pointer;
877
- inset: 0;
878
- background-color: var(--tfo-switch-off);
879
- transition: 0.4s;
880
- border-radius: 24px;
881
- }
882
-
883
- .tfo-track::before {
884
- position: absolute;
885
- content: "";
886
- height: 18px;
887
- width: 18px;
888
- left: 3px;
889
- bottom: 3px;
890
- background-color: white;
891
- transition: 0.4s;
892
- border-radius: 50%;
893
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
894
- }
895
-
896
- input:checked + .tfo-track { background: var(--tfo-gradient); }
897
- input:checked + .tfo-track::before { transform: translateX(20px); }
898
-
899
- .tfo-metrics-grid {
900
- display: grid;
901
- grid-template-columns: repeat(3, 1fr);
902
- gap: 0.8rem;
903
- margin-top: 0.5rem;
904
- }
905
-
906
- @media (max-width: 480px) {
907
- .tfo-metrics-grid { grid-template-columns: repeat(2, 1fr); }
908
- }
909
-
910
- .tfo-metric-card {
911
- background: var(--tfo-metric-bg);
912
- padding: 0.8rem 0.4rem;
913
- border-radius: 16px;
914
- display: flex;
915
- flex-direction: column;
916
- align-items: center;
917
- text-align: center;
918
- border: 1px solid var(--tfo-metric-border);
919
- transition: all 0.3s ease;
920
- min-width: 0;
921
- overflow: hidden;
922
- }
923
-
924
- .tfo-metric-card:hover {
925
- border-color: var(--tfo-pink);
926
- box-shadow: 0 4px 12px rgba(253, 41, 123, 0.05);
927
- transform: scale(1.05);
928
- }
929
-
930
- .tfo-metric-value {
931
- font-size: 0.85rem;
932
- font-weight: 800;
933
- color: var(--tfo-pink);
934
- margin-bottom: 2px;
935
- white-space: nowrap;
936
- overflow: hidden;
937
- text-overflow: ellipsis;
938
- max-width: 100%;
939
- }
940
-
941
- .tfo-metric-label {
942
- font-size: 0.65rem;
943
- text-transform: uppercase;
944
- letter-spacing: 0.5px;
945
- color: var(--tfo-muted);
946
- font-weight: 600;
947
- }
948
-
949
- .tfo-actions-panel { padding: 1.2rem; }
950
-
951
- .tfo-action-grid {
952
- display: grid;
953
- grid-template-columns: 1fr 1fr;
954
- gap: 1rem;
955
- }
956
-
957
- .tfo-action-btn {
958
- display: flex;
959
- flex-direction: column;
960
- align-items: center;
961
- gap: 0.6rem;
962
- padding: 1rem 0.5rem;
963
- background: var(--tfo-action-bg);
964
- border: 1.5px solid var(--tfo-action-border);
965
- border-radius: 16px;
966
- color: var(--tfo-action-color);
967
- cursor: pointer;
968
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
969
- }
970
-
971
- .tfo-btn-icon {
972
- width: 40px;
973
- height: 40px;
974
- background: var(--tfo-btn-icon-bg);
975
- border-radius: 12px;
976
- display: flex;
977
- align-items: center;
978
- justify-content: center;
979
- color: var(--tfo-btn-icon-color);
980
- transition: all 0.3s;
981
- }
982
-
983
- .tfo-action-btn span {
984
- font-size: 0.8rem;
985
- font-weight: 700;
986
- }
987
-
988
- .tfo-action-btn:hover {
989
- border-color: var(--tfo-pink);
990
- transform: translateY(-4px);
991
- box-shadow: 0 10px 20px rgba(253, 41, 123, 0.1);
992
- }
993
-
994
- .tfo-action-btn:hover .tfo-btn-icon {
995
- background: #fff5f7;
996
- color: var(--tfo-pink);
997
- }
998
-
999
- :global(.theme-dark) .tfo-action-btn:hover .tfo-btn-icon {
1000
- background: rgba(253, 41, 123, 0.15);
1001
- color: var(--tfo-pink);
1002
- }
1003
-
1004
- .tfo-action-btn.is-active {
1005
- background: #fff5f7;
1006
- border-color: var(--tfo-pink);
1007
- color: var(--tfo-pink);
1008
- }
1009
-
1010
- :global(.theme-dark) .tfo-action-btn.is-active {
1011
- background: rgba(253, 41, 123, 0.1);
1012
- }
1013
-
1014
- .tfo-action-btn.is-active .tfo-btn-icon {
1015
- background: var(--tfo-pink);
1016
- color: white;
1017
- }
1018
-
1019
- .tfo-export-desc {
1020
- font-size: 11px;
1021
- margin-bottom: 1rem;
1022
- color: var(--tfo-muted);
1023
- }
1024
-
1025
- .tfo-export-btn {
1026
- width: 100%;
1027
- padding: 1.2rem;
1028
- background: var(--tfo-gradient);
1029
- border: none;
1030
- border-radius: 16px;
1031
- color: white;
1032
- font-weight: 800;
1033
- font-size: 1.05rem;
1034
- cursor: pointer;
1035
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1036
- box-shadow: 0 10px 25px rgba(253, 41, 123, 0.2);
1037
- }
1038
-
1039
- .tfo-export-btn:hover {
1040
- transform: translateY(-3px);
1041
- box-shadow: 0 15px 35px rgba(253, 41, 123, 0.35);
1042
- filter: brightness(1.05);
1043
- }
1044
-
1045
- .tfo-analysis-board {
1046
- display: flex;
1047
- flex-direction: column;
1048
- gap: 1rem;
1049
- margin-top: 2rem;
1050
- width: 100%;
1051
- }
1052
-
1053
- .tfo-analysis-col {
1054
- display: none;
1055
- background: var(--tfo-analysis-bg);
1056
- border-radius: 20px;
1057
- padding: 1rem;
1058
- border: 1px solid rgba(0, 0, 0, 0.05);
1059
- flex-direction: column;
1060
- gap: 0.5rem;
1061
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
1062
- }
1063
-
1064
- :global(.theme-dark) .tfo-analysis-col {
1065
- border-color: rgba(255, 255, 255, 0.06);
1066
- }
1067
-
1068
- .tfo-col-header {
1069
- display: flex;
1070
- align-items: center;
1071
- gap: 0.6rem;
1072
- font-size: 0.75rem;
1073
- font-weight: 800;
1074
- text-transform: uppercase;
1075
- letter-spacing: 0.5px;
1076
- opacity: 0.7;
1077
- margin-bottom: 0.2rem;
1078
- }
1079
-
1080
- .tfo-col-icon {
1081
- width: 18px;
1082
- height: 18px;
1083
- display: flex;
1084
- align-items: center;
1085
- justify-content: center;
1086
- }
1087
-
1088
- .tfo-analysis-col--success .tfo-col-header { color: #10b981; }
1089
- .tfo-analysis-col--warning .tfo-col-header { color: #f59e0b; }
1090
- .tfo-analysis-col--error .tfo-col-header { color: #ef4444; }
1091
-
1092
- .tfo-alerts-stack {
1093
- display: flex;
1094
- flex-direction: column;
1095
- gap: 0.5rem;
1096
- }
1097
-
1098
- .tfo-alert {
1099
- display: flex;
1100
- align-items: flex-start;
1101
- gap: 0.8rem;
1102
- padding: 0.6rem 0;
1103
- font-size: 0.85rem;
1104
- font-weight: 600;
1105
- color: var(--tfo-alert-color);
1106
- border-bottom: 1px solid rgba(0, 0, 0, 0.03);
1107
- line-height: 1.4;
1108
- overflow-wrap: break-word;
1109
- }
1110
-
1111
- :global(.theme-dark) .tfo-alert {
1112
- border-bottom-color: rgba(255, 255, 255, 0.04);
1113
- }
1114
-
1115
- .tfo-alert:last-child { border-bottom: none; }
1116
-
1117
- .tfo-alert::before {
1118
- content: '';
1119
- margin-top: 0.6rem;
1120
- width: 8px;
1121
- height: 8px;
1122
- border-radius: 50%;
1123
- flex-shrink: 0;
1124
- }
1125
-
1126
- .tfo-alert--success::before {
1127
- background: #10b981;
1128
- box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
1129
- }
1130
-
1131
- .tfo-alert--warning::before {
1132
- background: #f59e0b;
1133
- box-shadow: 0 0 10px rgba(245, 158, 11, 0.4);
1134
- }
1135
-
1136
- .tfo-alert--error::before {
1137
- background: #ef4444;
1138
- box-shadow: 0 0 10px rgba(239, 68, 68, 0.4);
1139
- }
1140
-
1141
- .tfo-ai-loader {
1142
- position: absolute;
1143
- inset: 0;
1144
- background: rgba(255, 255, 255, 0.85);
1145
- backdrop-filter: blur(12px);
1146
- z-index: 5;
1147
- display: flex;
1148
- align-items: center;
1149
- justify-content: center;
1150
- border-radius: 40px;
1151
- }
1152
-
1153
- :global(.theme-dark) .tfo-ai-loader {
1154
- background: rgba(15, 23, 42, 0.85);
1155
- }
1156
-
1157
- .tfo-loader-content {
1158
- display: flex;
1159
- flex-direction: column;
1160
- align-items: center;
1161
- gap: 1.5rem;
1162
- color: var(--tfo-pink);
1163
- }
1164
-
1165
- .tfo-scanner-bar {
1166
- position: absolute;
1167
- top: 0;
1168
- left: 0;
1169
- width: 100%;
1170
- height: 4px;
1171
- background: var(--tfo-gradient);
1172
- box-shadow: 0 0 20px var(--tfo-pink);
1173
- animation: tfo-scan 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
1174
- z-index: 1001;
1175
- }
1176
-
1177
- @keyframes tfo-scan {
1178
- 0% { top: 10%; }
1179
- 50% { top: 90%; }
1180
- 100% { top: 10%; }
1181
- }
1182
-
1183
- .tfo-hidden {
1184
- display: none;
1185
- }
1186
-
1187
- .tfo-device {
1188
- width: 100%;
1189
- aspect-ratio: 9/19;
1190
- background: #fff;
1191
- display: flex;
1192
- flex-direction: column;
1193
- position: relative;
1194
- user-select: none;
1195
- border-radius: 54px;
1196
- border: 14px solid #1a1a1a;
1197
- box-shadow: 0 50px 100px rgba(0, 0, 0, 0.15);
1198
- overflow: hidden;
1199
- }
1200
-
1201
- @media (max-width: 640px) {
1202
- .tfo-device {
1203
- border-width: 8px;
1204
- border-radius: 36px;
1205
- }
1206
-
1207
- .tfo-status-bar {
1208
- height: 34px;
1209
- padding: 0 15px;
1210
- }
1211
-
1212
- .tfo-dynamic-island {
1213
- width: 80px;
1214
- height: 20px;
1215
- }
1216
-
1217
- .tfo-app-header {
1218
- height: 44px;
1219
- padding: 0 15px;
1220
- }
1221
-
1222
- .tfo-card-info {
1223
- padding-bottom: 15px;
1224
- }
1225
-
1226
- .tfo-name {
1227
- font-size: 22px;
1228
- }
1229
-
1230
- .tfo-job {
1231
- font-size: 14px;
1232
- }
1233
-
1234
- .tfo-tags {
1235
- font-size: 10px;
1236
- }
1237
- }
1238
-
1239
- .tfo-status-bar {
1240
- height: 44px;
1241
- padding: 0 20px;
1242
- display: flex;
1243
- justify-content: space-between;
1244
- align-items: center;
1245
- font-size: 14px;
1246
- font-weight: 600;
1247
- color: #1a1a1a;
1248
- }
1249
-
1250
- .tfo-dynamic-island {
1251
- width: 100px;
1252
- height: 25px;
1253
- background: #000;
1254
- border-radius: 20px;
1255
- }
1256
-
1257
- .tfo-status-icons {
1258
- display: flex;
1259
- gap: 6px;
1260
- }
1261
-
1262
- .tfo-app-header {
1263
- height: 50px;
1264
- display: flex;
1265
- justify-content: space-between;
1266
- align-items: center;
1267
- padding: 0 20px;
1268
- border-bottom: 1px solid #f1f5f9;
1269
- background: #fff;
1270
- }
1271
-
1272
- .tfo-logo {
1273
- flex: 1;
1274
- display: flex;
1275
- justify-content: center;
1276
- }
1277
-
1278
- .tfo-icon-placeholder, .tfo-settings-icon {
1279
- width: 40px;
1280
- height: 40px;
1281
- display: flex;
1282
- align-items: center;
1283
- justify-content: center;
1284
- color: #cbd5e1;
1285
- }
1286
-
1287
- .tfo-card-container {
1288
- flex: 1;
1289
- padding: 12px;
1290
- display: flex;
1291
- align-items: center;
1292
- justify-content: center;
1293
- background: #fff;
1294
- }
1295
-
1296
- .tfo-main-card {
1297
- position: relative;
1298
- width: 100%;
1299
- height: 100%;
1300
- border-radius: 24px;
1301
- overflow: hidden;
1302
- background: #000;
1303
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
1304
- }
1305
-
1306
- .tfo-canvas {
1307
- width: 100%;
1308
- height: 100%;
1309
- object-fit: cover;
1310
- }
1311
-
1312
- .tfo-card-overlay {
1313
- position: absolute;
1314
- inset: 0;
1315
- display: flex;
1316
- flex-direction: column;
1317
- justify-content: space-between;
1318
- padding: 12px;
1319
- pointer-events: none;
1320
- background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 40%),
1321
- linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, transparent 15%);
1322
- }
1323
-
1324
- .tfo-progress {
1325
- display: flex;
1326
- gap: 4px;
1327
- }
1328
-
1329
- .tfo-segment {
1330
- flex: 1;
1331
- height: 3px;
1332
- background: rgba(255, 255, 255, 0.4);
1333
- border-radius: 2px;
1334
- }
1335
-
1336
- .tfo-segment--active { background: #fff; }
1337
-
1338
- .tfo-card-info {
1339
- color: #fff;
1340
- padding-bottom: 20px;
1341
- z-index: 20;
1342
- }
1343
-
1344
- .tfo-primary-info {
1345
- display: flex;
1346
- align-items: center;
1347
- gap: 8px;
1348
- margin-bottom: 4px;
1349
- }
1350
-
1351
- .tfo-badge {
1352
- width: 20px;
1353
- height: 20px;
1354
- background: #1da1f2;
1355
- border-radius: 50%;
1356
- display: flex;
1357
- align-items: center;
1358
- justify-content: center;
1359
- }
1360
-
1361
- .tfo-name {
1362
- font-size: 28px;
1363
- font-weight: 800;
1364
- margin: 0;
1365
- }
1366
-
1367
- .tfo-secondary-info {
1368
- display: flex;
1369
- flex-direction: column;
1370
- gap: 4px;
1371
- }
1372
-
1373
- .tfo-job {
1374
- font-size: 16px;
1375
- font-weight: 600;
1376
- }
1377
-
1378
- .tfo-tags {
1379
- display: flex;
1380
- gap: 12px;
1381
- font-size: 12px;
1382
- font-weight: 500;
1383
- opacity: 0.9;
1384
- }
1385
-
1386
- .tfo-tag {
1387
- display: flex;
1388
- align-items: center;
1389
- gap: 4px;
1390
- }
1391
-
1392
- .tfo-device-actions {
1393
- height: 100px;
1394
- display: flex;
1395
- justify-content: space-evenly;
1396
- align-items: center;
1397
- padding: 0 10px;
1398
- background: #fff;
1399
- }
1400
-
1401
- .tfo-btn-circular {
1402
- width: 44px;
1403
- height: 44px;
1404
- border-radius: 50%;
1405
- background: #fff;
1406
- border: none;
1407
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
1408
- display: flex;
1409
- align-items: center;
1410
- justify-content: center;
1411
- cursor: pointer;
1412
- transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
1413
- }
1414
-
1415
- .tfo-btn-nope, .tfo-btn-like {
1416
- width: 54px;
1417
- height: 54px;
1418
- box-shadow: 0 6px 15px rgba(0, 0, 0, 0.12);
1419
- }
1420
-
1421
- .tfo-btn-circular:active { transform: scale(0.92); }
1422
- .tfo-btn-circular:hover {
1423
- transform: translateY(-2px);
1424
- box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
1425
- }
1426
-
1427
- .tfo-nav-bar {
1428
- height: 60px;
1429
- display: flex;
1430
- justify-content: space-evenly;
1431
- align-items: center;
1432
- border-top: 1px solid #f1f5f9;
1433
- color: #94a3b8;
1434
- background: #fff;
1435
- }
1436
-
1437
- .tfo-nav-item--active { color: #FD297B; }
1438
-
1439
- .tfo-grid-overlay {
1440
- position: absolute;
1441
- inset: 0;
1442
- display: grid;
1443
- grid-template-columns: repeat(3, 1fr);
1444
- grid-template-rows: repeat(3, 1fr);
1445
- pointer-events: none;
1446
- z-index: 1;
1447
- }
1448
-
1449
- .tfo-grid-overlay div {
1450
- border: 0.5px solid rgba(255, 255, 255, 0.3);
1451
- }
1452
-
1453
- .tfo-deadzones {
1454
- position: absolute;
1455
- inset: 0;
1456
- pointer-events: none;
1457
- z-index: 2;
1458
- }
1459
-
1460
- .tfo-deadzone {
1461
- position: absolute;
1462
- left: 0;
1463
- width: 100%;
1464
- background: rgba(255, 0, 0, 0.2);
1465
- border: 2px dashed rgba(255, 0, 0, 0.5);
1466
- display: flex;
1467
- align-items: center;
1468
- justify-content: center;
1469
- color: #fff;
1470
- font-size: 10px;
1471
- font-weight: 700;
1472
- text-transform: uppercase;
1473
- }
1474
-
1475
- .tfo-deadzone--top {
1476
- top: 0;
1477
- height: 15%;
1478
- }
1479
-
1480
- .tfo-deadzone--bottom {
1481
- bottom: 0;
1482
- height: 28%;
1483
- }
1484
-
1485
- .tfo-deadzone span {
1486
- background: #ff4458;
1487
- padding: 2px 6px;
1488
- border-radius: 4px;
1489
- }
1490
-
1491
- .tfo-reset-btn {
1492
- background: none;
1493
- border: none;
1494
- color: #94a3b8;
1495
- cursor: pointer;
1496
- padding: 8px;
1497
- border-radius: 50%;
1498
- transition: all 0.3s ease;
1499
- display: flex;
1500
- align-items: center;
1501
- justify-content: center;
1502
- }
1503
-
1504
- .tfo-reset-btn:hover {
1505
- background: #f1f5f9;
1506
- color: var(--tfo-pink);
1507
- }
1508
-
1509
- .tfo-upload-overlay {
1510
- position: absolute;
1511
- inset: 0;
1512
- background: #0a0a0a;
1513
- display: flex;
1514
- flex-direction: column;
1515
- align-items: center;
1516
- justify-content: center;
1517
- color: white;
1518
- cursor: pointer;
1519
- z-index: 3;
1520
- transition: all 0.4s ease;
1521
- padding: 2rem;
1522
- text-align: center;
1523
- }
1524
-
1525
- .tfo-upload-overlay.tfo-hidden {
1526
- opacity: 0;
1527
- pointer-events: none;
1528
- transform: scale(1.1);
1529
- }
1530
-
1531
- .tfo-upload-circle {
1532
- width: 80px;
1533
- height: 80px;
1534
- background: rgba(255, 255, 255, 0.05);
1535
- border: 2px dashed rgba(255, 255, 255, 0.2);
1536
- border-radius: 50%;
1537
- display: flex;
1538
- align-items: center;
1539
- justify-content: center;
1540
- margin-bottom: 1.5rem;
1541
- transition: all 0.3s ease;
1542
- }
1543
-
1544
- .tfo-main-card:hover .tfo-upload-circle {
1545
- background: rgba(253, 41, 123, 0.1);
1546
- border-color: var(--tfo-pink);
1547
- color: var(--tfo-pink);
1548
- transform: translateY(-5px);
1549
- }
1550
-
1551
- .tfo-upload-overlay h3 {
1552
- margin: 0;
1553
- font-size: 1.2rem;
1554
- font-weight: 700;
1555
- }
1556
-
1557
- .tfo-upload-overlay p {
1558
- margin: 0.5rem 0 0;
1559
- font-size: 0.9rem;
1560
- opacity: 0.5;
1561
- }
1562
- </style>