@@ -31,6 +31,49 @@ main {
3131 color : var (--text-secondary );
3232}
3333
34+ # loading p {
35+ color : var (--text-secondary );
36+ font-size : 0.95rem ;
37+ margin-top : 1rem ;
38+ }
39+
40+ /* Loading progress steps */
41+ .loading-progress {
42+ display : flex;
43+ gap : 0.5rem ;
44+ margin-top : 1.5rem ;
45+ flex-wrap : wrap;
46+ justify-content : center;
47+ }
48+
49+ .loading-step {
50+ display : flex;
51+ align-items : center;
52+ gap : 0.4rem ;
53+ padding : 0.5rem 0.75rem ;
54+ background : rgba (255 , 255 , 255 , 0.05 );
55+ border : 1px solid rgba (255 , 255 , 255 , 0.1 );
56+ border-radius : 8px ;
57+ font-size : 0.75rem ;
58+ color : var (--text-muted );
59+ transition : all 0.3s ease;
60+ }
61+
62+ .loading-step .active {
63+ background : rgba (201 , 162 , 39 , 0.15 );
64+ border-color : var (--gold-primary );
65+ color : var (--gold-primary );
66+ }
67+
68+ .loading-step .active i {
69+ animation : pulse 1s infinite;
70+ }
71+
72+ @keyframes pulse {
73+ 0% , 100% { opacity : 1 ; }
74+ 50% { opacity : 0.5 ; }
75+ }
76+
3477/* ========== STATS BAR ========== */
3578.stats-bar {
3679 display : flex;
@@ -519,6 +562,47 @@ tr:hover {
519562 font-style : italic;
520563}
521564
565+ /* ========== ID WRAPPER WITH COPY ========== */
566+ .id-wrapper {
567+ display : inline-flex;
568+ align-items : center;
569+ gap : 0.4rem ;
570+ }
571+
572+ .btn-copy-id {
573+ display : inline-flex;
574+ align-items : center;
575+ justify-content : center;
576+ width : 24px ;
577+ height : 24px ;
578+ padding : 0 ;
579+ background : transparent;
580+ border : 1px solid rgba (255 , 255 , 255 , 0.1 );
581+ border-radius : 4px ;
582+ color : var (--text-muted );
583+ font-size : 0.7rem ;
584+ cursor : pointer;
585+ opacity : 0 ;
586+ transition : all 0.2s ease;
587+ }
588+
589+ tr : hover .btn-copy-id {
590+ opacity : 1 ;
591+ }
592+
593+ .btn-copy-id : hover {
594+ background : rgba (201 , 162 , 39 , 0.15 );
595+ border-color : var (--gold-primary );
596+ color : var (--gold-primary );
597+ }
598+
599+ .btn-copy-id .copied {
600+ background : rgba (34 , 197 , 94 , 0.2 );
601+ border-color : # 4ade80 ;
602+ color : # 4ade80 ;
603+ opacity : 1 ;
604+ }
605+
522606/* ========== ACTION BUTTONS ========== */
523607.btn-edit {
524608 display : inline-flex;
@@ -2033,6 +2117,62 @@ footer a {
20332117 transform : translateY (0 );
20342118}
20352119
2120+ /* ========== CHARACTER COUNTER ========== */
2121+ .char-counter {
2122+ display : flex;
2123+ align-items : center;
2124+ gap : 0.5rem ;
2125+ margin-top : 0.5rem ;
2126+ padding : 0.5rem 0.75rem ;
2127+ background : rgba (255 , 255 , 255 , 0.03 );
2128+ border-radius : 6px ;
2129+ font-size : 0.8rem ;
2130+ font-family : 'JetBrains Mono' , monospace;
2131+ }
2132+
2133+ .char-counter .counter-current {
2134+ font-weight : 600 ;
2135+ color : var (--text-primary );
2136+ }
2137+
2138+ .char-counter .counter-separator {
2139+ color : var (--text-muted );
2140+ }
2141+
2142+ .char-counter .counter-original {
2143+ color : var (--text-secondary );
2144+ }
2145+
2146+ .char-counter .counter-diff {
2147+ margin-left : auto;
2148+ display : flex;
2149+ align-items : center;
2150+ gap : 0.3rem ;
2151+ padding : 0.2rem 0.5rem ;
2152+ border-radius : 4px ;
2153+ font-size : 0.75rem ;
2154+ }
2155+
2156+ .char-counter .neutral .counter-diff {
2157+ background : rgba (255 , 255 , 255 , 0.05 );
2158+ color : var (--text-muted );
2159+ }
2160+
2161+ .char-counter .longer .counter-diff {
2162+ background : rgba (59 , 130 , 246 , 0.15 );
2163+ color : # 60a5fa ;
2164+ }
2165+
2166+ .char-counter .shorter .counter-diff {
2167+ background : rgba (34 , 197 , 94 , 0.15 );
2168+ color : # 4ade80 ;
2169+ }
2170+
2171+ .char-counter .warning .counter-diff {
2172+ background : rgba (245 , 158 , 11 , 0.2 );
2173+ color : # fbbf24 ;
2174+ }
2175+
20362176/* ===== MOBILE LAYOUT - Stacked & Compact ===== */
20372177@media (max-width : 900px ) {
20382178 .modal-overlay {
0 commit comments