@@ -560,4 +560,212 @@ img.clickable-image:hover { transform: scale(1.02); }
560560# modal-content { position : relative; max-width : 90% ; max-height : 90% ; text-align : center; }
561561# modal-img { max-width : 100% ; max-height : 100vh ; display : block; margin : auto; border-radius : 8px ; box-shadow : 0 0 20px rgba (255 , 255 , 255 , 0.2 ); }
562562.close-btn { position : absolute; top : 10px ; right : 10px ; color : # fff ; font-size : 2rem ; font-weight : bold; cursor : pointer; z-index : 10000 ; opacity : 0.8 ; padding : 5px 15px ; background : rgba (0 , 0 , 0 , 0.5 ); border-radius : 50% ; line-height : 1 ; }
563- .close-btn : hover { opacity : 1 ; }
563+ .close-btn : hover { opacity : 1 ; }
564+
565+
566+ /* ==========================================================================
567+ 12. DEEPFAKE INSPECTOR TOOL
568+ ========================================================================== */
569+
570+ .canvas-container {
571+ position : relative;
572+ background-color : # 0d0d0d ;
573+ border-radius : 12px ;
574+ display : flex;
575+ flex-direction : column;
576+ align-items : center;
577+ justify-content : center;
578+ overflow : hidden;
579+ min-height : 450px ; /* Mobile height */
580+ cursor : crosshair;
581+ border : 1px solid # 333 ;
582+ box-shadow : inset 0 0 60px rgba (0 , 0 , 0 , 0.7 );
583+ transition : border-color 0.3s ease;
584+ }
585+
586+ /* Balance width Sidebar on Desktop */
587+ @media (min-width : 1024px ) {
588+ .canvas-container {
589+ min-height : 720px ;
590+ }
591+ }
592+
593+ .canvas-container .drag-active {
594+ border-color : # 1976d2 ;
595+ background-color : # 1a1a1a ;
596+ }
597+
598+ .canvas-container .is-locked {
599+ border-color : # 28a745 ;
600+ }
601+
602+ # main-canvas {
603+ position : absolute;
604+ max-width : 100% ;
605+ height : auto;
606+ z-index : 1 ;
607+ }
608+
609+ .selection-box {
610+ position : absolute;
611+ width : 64px ;
612+ height : 64px ;
613+ border : 1px solid rgba (25 , 118 , 210 , 0.8 );
614+ background : rgba (25 , 118 , 210 , 0.1 );
615+ box-shadow : 0 0 0 4000px rgba (0 , 0 , 0 , 0.3 );
616+ pointer-events : none;
617+ z-index : 5 ;
618+ display : none;
619+ transition : border-color 0.3s , background 0.3s ;
620+ }
621+
622+ .selection-box .locked {
623+ border-color : # 28a745 ;
624+ background : rgba (40 , 167 , 69 , 0.2 );
625+ border-width : 2px ;
626+ box-shadow : 0 0 0 4000px rgba (0 , 0 , 0 , 0.5 );
627+ }
628+
629+ # lens-preview {
630+ position : absolute;
631+ width : 256px ;
632+ height : 256px ;
633+ border : 4px solid # fff ;
634+ box-shadow : 0 0 40px rgba (0 , 0 , 0 , 0.9 );
635+ display : none;
636+ border-radius : 50% ;
637+ pointer-events : none;
638+ z-index : 100 ;
639+ background-color : # 000 ;
640+ transition : transform 0.2s ease-out, border-color 0.3s ;
641+ }
642+
643+ .is-locked # lens-preview {
644+ border-color : # 28a745 ;
645+ transform : scale (1.05 );
646+ }
647+
648+ /* Center Empty State mathematically */
649+ # empty-state {
650+ position : absolute;
651+ top : 50% ;
652+ left : 50% ;
653+ transform : translate (-50% , -50% );
654+ display : flex;
655+ flex-direction : column;
656+ align-items : center;
657+ justify-content : center;
658+ text-align : center;
659+ width : 90% ;
660+ max-width : 400px ;
661+ padding : 40px 20px ;
662+ border : 2px dashed # 444 ;
663+ border-radius : 24px ;
664+ transition : all 0.4s cubic-bezier (0.175 , 0.885 , 0.32 , 1.275 );
665+ z-index : 2 ;
666+ background : rgba (255 , 255 , 255 , 0.02 );
667+ }
668+
669+ .drag-active # empty-state {
670+ border-color : # 1976d2 ;
671+ transform : translate (-50% , -50% ) scale (1.05 );
672+ }
673+
674+ # empty-state i {
675+ font-size : 5rem ;
676+ color : # 1976d2 ;
677+ margin-bottom : 24px ;
678+ filter : drop-shadow (0 0 15px rgba (25 , 118 , 210 , 0.4 ));
679+ animation : iconPulse 3s infinite ease-in-out;
680+ }
681+
682+ # empty-state p {
683+ font-size : 1.15rem ;
684+ font-weight : 500 ;
685+ color : # bbb ;
686+ line-height : 1.6 ;
687+ margin : 0 ;
688+ }
689+
690+ @keyframes iconPulse {
691+ 0% , 100% { transform : translateY (0 ); opacity : 0.8 ; }
692+ 50% { transform : translateY (-10px ); opacity : 1 ; filter : drop-shadow (0 0 25px rgba (25 , 118 , 210 , 0.6 )); }
693+ }
694+
695+ .switch {
696+ position : relative;
697+ display : inline-block;
698+ width : 50px ;
699+ height : 24px ;
700+ }
701+ .switch input { opacity : 0 ; width : 0 ; height : 0 ; }
702+ .slider {
703+ position : absolute;
704+ cursor : pointer;
705+ top : 0 ; left : 0 ; right : 0 ; bottom : 0 ;
706+ background-color : # ccc ;
707+ transition : .4s ;
708+ border-radius : 24px ;
709+ }
710+ .slider : before {
711+ position : absolute;
712+ content : "" ;
713+ height : 18px ; width : 18px ;
714+ left : 3px ; bottom : 3px ;
715+ background-color : white;
716+ transition : .4s ;
717+ border-radius : 50% ;
718+ }
719+ input : checked + .slider { background-color : # 1976d2 ; }
720+ input : checked + .slider : before { transform : translateX (26px ); }
721+
722+ .forensic-btn {
723+ display : inline-flex;
724+ align-items : center;
725+ justify-content : center;
726+ gap : 8px ;
727+ padding : 10px 16px ;
728+ border-radius : 8px ;
729+ font-weight : 600 ;
730+ font-size : 0.9rem ;
731+ transition : all 0.2s ;
732+ cursor : pointer;
733+ width : auto;
734+ white-space : nowrap;
735+ }
736+
737+ .sidebar-btn {
738+ width : 100% ;
739+ margin-bottom : 10px ;
740+ }
741+
742+ .btn-primary {
743+ background-color : # 1976d2 ;
744+ color : white;
745+ border : none;
746+ }
747+ .btn-primary : hover {
748+ background-color : # 1565c0 ;
749+ transform : translateY (-1px );
750+ box-shadow : 0 4px 12px rgba (25 , 118 , 210 , 0.3 );
751+ }
752+
753+ .btn-secondary {
754+ background-color : # f8f9fa ;
755+ color : # 333 ;
756+ border : 1px solid # ddd ;
757+ }
758+ .btn-secondary : hover {
759+ background-color : # e9ecef ;
760+ border-color : # ccc ;
761+ }
762+
763+ .btn-danger {
764+ background-color : # fff5f5 ;
765+ color : # dc3545 ;
766+ border : 1px solid # feb2b2 ;
767+ }
768+ .btn-danger : hover {
769+ background-color : # fee2e2 ;
770+ transform : translateY (-1px );
771+ }
0 commit comments