Elias207 commited on
Commit
39f3381
·
verified ·
1 Parent(s): 47c761e

Update static/css/style.css

Browse files
Files changed (1) hide show
  1. static/css/style.css +273 -379
static/css/style.css CHANGED
@@ -2,125 +2,78 @@
2
 
3
  * { box-sizing: border-box; user-select: none; -webkit-tap-highlight-color: transparent; outline: none; }
4
 
5
- /* افزودن پترن نویز ریز و زیبا به پس‌زمینه کل صفحه */
6
- body {
7
- margin: 0;
8
- background-color: var(--bg);
9
- background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
10
- color: var(--text);
11
- font-family: 'Vazirmatn', sans-serif;
12
- overflow-y: auto;
13
- overflow-x: hidden;
14
- display: flex;
15
- flex-direction: column;
16
- min-height: 100vh;
17
- padding-bottom: 50px;
18
- }
19
 
20
  /* --- صفحه خانه (پروژه‌ها) --- */
21
  #homeScreen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #121212; z-index: 5000; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; }
22
- .home-header { font-size: 1.5rem; font-weight: 900; margin-bottom: 20px; text-align: right; color: #eee; text-shadow: 0 4px 20px rgba(0,0,0,0.5); }
23
 
24
  .projects-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding-bottom: 80px; }
25
 
26
  .project-card {
27
- background: #252525; border-radius: 24px; overflow: hidden; position: relative;
28
- box-shadow: 0 10px 30px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.05); transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); cursor: pointer; aspect-ratio: 1 / 1.1; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,0.05);
29
  }
30
- .project-card:active { transform: scale(0.96); box-shadow: 0 5px 15px rgba(0,0,0,0.3); }
31
 
32
  .card-thumb { width: 100%; height: 70%; background: #333; background-size: cover; background-position: center; position: relative; }
33
- .card-overlay { position: absolute; bottom: 0; width: 100%; height: 60%; background: linear-gradient(to top, rgba(15,15,15,0.95), transparent); }
34
- .card-duration { position: absolute; bottom: 10px; right: 10px; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(8px); padding: 4px 10px; border-radius: 12px; font-size: 0.75rem; color: #fff; font-weight: bold; border: 1px solid rgba(255,255,255,0.1); }
35
- .card-menu { position: absolute; top: 10px; left: 10px; width: 35px; height: 35px; background: rgba(0, 0, 0, 0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1rem; backdrop-filter: blur(8px); transition: 0.2s; z-index: 10; border: 1px solid rgba(255,255,255,0.1); }
36
  .card-menu:active { background: var(--primary); transform: scale(0.9); }
37
 
38
- .card-details { padding: 12px; flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; background: #222; }
39
  .card-title { font-weight: bold; font-size: 1.1rem; color: #fff; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
40
  .card-date { font-size: 0.75rem; color: #888; }
41
 
42
  #noProjectsPlaceholder { display: none; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #666; position: absolute; top: 45%; left: 50%; transform: translate(-50%, -50%); width: 100%; }
43
- /* آیکون زیبا با SVG بک‌گراند */
44
- .placeholder-icon {
45
- width: 120px; height: 120px;
46
- border: 2px dashed rgba(124, 77, 255, 0.3);
47
- border-radius: 50%;
48
- display: flex; align-items: center; justify-content: center;
49
- font-size: 2.5rem; color: var(--primary);
50
- margin-bottom: 20px;
51
- background: radial-gradient(circle, rgba(124, 77, 255, 0.08) 0%, transparent 70%);
52
- animation: pulse 3s infinite ease-in-out;
53
- }
54
- .placeholder-text { font-size: 1.1rem; font-weight: bold; color: #ddd; opacity: 0.7; }
55
- @keyframes pulse { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(124, 77, 255, 0.2); } 50% { transform: scale(1.05); box-shadow: 0 0 0 20px rgba(124, 77, 255, 0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(124, 77, 255, 0); } }
56
-
57
- /* دکمه شناور با پترن نقطه‌ای ریز SVG */
58
- .fab-add {
59
- position: fixed; bottom: 40px; left: 50%; transform: translateX(-50%);
60
- background: linear-gradient(135deg, #FF7043, #FF5722);
61
- color: #fff; padding: 16px 40px; border-radius: 35px;
62
- font-size: 1.1rem; font-weight: 800;
63
- box-shadow: 0 10px 30px rgba(255, 87, 34, 0.4), inset 0 2px 0 rgba(255,255,255,0.2);
64
- border: none; cursor: pointer; display: flex; align-items: center; gap: 12px;
65
- z-index: 5001; transition: 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
66
- font-family: inherit; width: 85%; max-width: 380px; justify-content: center;
67
- background-image: url("data:image/svg+xml,%3Csvg width='4' height='4' viewBox='0 0 4 4' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='1' fill='rgba(255,255,255,0.1)'/%3E%3C/svg%3E");
68
- }
69
- .fab-add:active { transform: translateX(-50%) scale(0.92); box-shadow: 0 5px 15px rgba(255, 87, 34, 0.3); }
70
-
71
- .action-sheet-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); backdrop-filter: blur(5px); z-index: 6000; display: none; align-items: flex-end; justify-content: center; animation: fadeInOverlay 0.2s forwards; padding-bottom: 20px; }
72
- .action-sheet { background: #1e1e1e; width: 90%; max-width: 500px; border-radius: 24px; padding: 25px; display: flex; flex-direction: column; gap: 12px; transform: translateY(100%); animation: slideUp 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; box-shadow: 0 -10px 40px rgba(0,0,0,0.5); border: 1px solid rgba(255,255,255,0.05); }
73
- .sheet-title-main { color: #888; font-size: 0.9rem; text-align: center; margin-bottom: 10px; font-weight: bold; letter-spacing: 0.5px; }
74
- .sheet-btn { background: #2c2c2c; color: #fff; border: 1px solid rgba(255,255,255,0.05); padding: 16px; border-radius: 18px; font-size: 1rem; font-family: inherit; display: flex; align-items: center; gap: 15px; cursor: pointer; transition: 0.2s; font-weight: 600; }
75
- .sheet-btn:active { background: #383838; transform: scale(0.98); }
76
- .sheet-btn.delete-btn { color: #ff5252; background: rgba(255, 82, 82, 0.1); border-color: rgba(255, 82, 82, 0.2); }
77
- .sheet-btn i { width: 25px; text-align: center; font-size: 1.2rem; }
78
-
79
- .input-field { width: 100%; background: #111; border: 1px solid #333; color: #fff; padding: 16px; border-radius: 14px; font-family: inherit; font-size: 1rem; margin-bottom: 20px; text-align: center; transition: 0.3s; }
80
- .input-field:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(124, 77, 255, 0.2); }
81
-
82
  @keyframes slideUp { to { transform: translateY(0); } }
83
  @keyframes fadeInOverlay { from { opacity: 0; } to { opacity: 1; } }
84
 
85
- .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); backdrop-filter: blur(10px); z-index: 7000; display: none; align-items: center; justify-content: center; opacity: 0; transition: opacity: 0.3s; }
86
  .modal-overlay.show { opacity: 1; }
87
- .modal-box { background: #1e1e1e; border: 1px solid rgba(255,255,255,0.08); width: 85%; max-width: 350px; border-radius: 28px; padding: 30px 25px; text-align: center; transform: scale(0.8); transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); box-shadow: 0 20px 60px rgba(0,0,0,0.6); }
88
  .modal-overlay.show .modal-box { transform: scale(1); }
89
- .modal-icon { font-size: 3.5rem; color: var(--primary); margin-bottom: 20px; filter: drop-shadow(0 0 15px rgba(124, 77, 255, 0.4)); }
90
- .modal-title { font-size: 1.3rem; font-weight: 900; margin-bottom: 12px; color: #fff; }
91
- .modal-desc { font-size: 0.95rem; color: #aaa; margin-bottom: 30px; line-height: 1.6; }
92
- .modal-actions { display: flex; gap: 12px; justify-content: center; }
93
- .modal-btn { flex: 1; padding: 14px; border-radius: 16px; border: none; font-family: inherit; font-weight: bold; cursor: pointer; transition: 0.2s; font-size: 1rem; }
94
- .btn-confirm { background: var(--primary); color: #fff; box-shadow: 0 4px 15px rgba(124, 77, 255, 0.3); }
95
  .btn-cancel { background: #333; color: #fff; }
96
- .btn-confirm-action.split { background: #00C853; box-shadow: 0 4px 15px rgba(0, 200, 83, 0.3); }
97
- .btn-confirm-action.delete { background: #d32f2f; box-shadow: 0 4px 15px rgba(211, 47, 47, 0.3); }
98
 
99
- #editorScreen { display: none; width: 100%; flex-direction: column; min-height: 100vh; background: #050505; }
100
- .top-bar { position: sticky; top: 0; height: 60px; background: rgba(20, 20, 20, 0.85); backdrop-filter: blur(15px); display: flex; align-items: center; justify-content: space-between; padding: 0 20px; z-index: 100; border-bottom: 1px solid rgba(255,255,255,0.05); }
101
- .btn-home { background: rgba(255,255,255,0.05); color: #ccc; border: 1px solid rgba(255,255,255,0.05); font-size: 1.1rem; cursor: pointer; padding: 8px 12px; border-radius: 12px; transition: 0.2s; }
102
- .btn-home:hover { background: rgba(255,255,255,0.1); color: #fff; }
103
 
104
- /* ناحیه کاری با پترن شطرنجی SVG */
105
  #workspace {
106
  width: 100%;
107
  display: flex;
108
  justify-content: center;
109
  align-items: center;
110
- background-color: #080808;
111
- /* پترن شطرنجی حرفه‌ای */
112
- background-image:
113
- linear-gradient(45deg, #111 25%, transparent 25%),
114
- linear-gradient(-45deg, #111 25%, transparent 25%),
115
- linear-gradient(45deg, transparent 75%, #111 75%),
116
- linear-gradient(-45deg, transparent 75%, #111 75%);
117
- background-size: 20px 20px;
118
- background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
119
- padding: 30px 0;
120
- min-height: 350px;
121
  flex-shrink: 0;
122
  overflow: hidden;
123
- box-shadow: inset 0 0 50px rgba(0,0,0,0.8);
124
  }
125
  #scaler {
126
  transition: transform 0.1s ease-out;
@@ -128,117 +81,95 @@ display: flex;
128
  justify-content: center;
129
  align-items: center;
130
  }
131
- #videoContainer { position: relative; background: #000; overflow: hidden; cursor: pointer; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6); border-radius: 12px; border: 1px solid #222; }
132
  video { width: 100%; height: 100%; object-fit: contain; display: block; }
133
- #playOverlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; background: rgba(0,0,0,0.3); z-index: 10; transition: opacity 0.2s; backdrop-filter: blur(2px); }
134
  #playOverlay.playing { opacity: 0; pointer-events: none; }
135
- #playOverlay i { font-size: 4.5rem; color: rgba(255,255,255,0.9); filter: drop-shadow(0 0 15px rgba(0,0,0,0.5)); pointer-events: none; }
136
  #subtitleLayer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; display: flex; justify-content: center; z-index: 20; }
137
  #activeText { position: absolute; white-space: pre; pointer-events: auto; cursor: move; padding: 0 0 8px 0; line-height: 1; font-weight: bold; transition: background-color 0.2s, text-shadow 0.2s, -webkit-text-stroke 0.2s; transform-origin: center center; text-align: center; left: 50%; transform: translateX(-50%); }
138
- .word-active { background-color: var(--static-color); color: #fff; border-radius: 8px; padding: 0 8px; margin: 0 2px; box-shadow: 0 4px 12px rgba(160, 32, 240, 0.6); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
139
- .word-highlight { color: #00D7FF !important; transform: scale(1.2); display:inline-block; text-shadow: 0 0 15px rgba(0, 215, 255, 0.8); }
140
 
141
  .magic-bar { padding: 15px 20px 5px 20px; background: var(--bg); display: flex; justify-content: center; position: sticky; top: 60px; z-index: 95; }
142
- /* دکمه جادویی با درخشش SVG */
143
- .btn-ai-magic {
144
- background: linear-gradient(90deg, #FF0080 0%, #7928CA 50%, #FF0080 100%);
145
- background-size: 200% auto;
146
- color: white; border: none; width: 100%; max-width: 600px; padding: 14px 20px;
147
- border-radius: 20px; font-weight: 900; font-size: 1.1rem;
148
- display: flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer;
149
- box-shadow: 0 8px 25px rgba(121, 40, 202, 0.5), inset 0 2px 0 rgba(255,255,255,0.25);
150
- transition: all 0.3s; animation: gradientMove 3s linear infinite;
151
- font-family: 'Vazirmatn', sans-serif; position: relative; overflow: hidden;
152
- }
153
- /* افزودن یک درخشش ستاره‌ای SVG روی دکمه */
154
- .btn-ai-magic::before {
155
- content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
156
- background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 0L14.5 9.5L24 12L14.5 14.5L12 24L9.5 14.5L0 12L9.5 9.5L12 0Z' fill='rgba(255,255,255,0.15)'/%3E%3C/svg%3E");
157
- background-repeat: no-repeat; background-position: 90% center; background-size: 20px;
158
- }
159
- .btn-ai-magic:active { transform: scale(0.97); box-shadow: 0 4px 15px rgba(121, 40, 202, 0.4); }
160
  @keyframes gradientMove { to { background-position: 200% center; } }
161
 
162
- .controls-bar { display: flex; justify-content: center; gap: 12px; padding: 12px 15px; background: var(--bg); border-bottom: 1px solid #222; position: sticky; top: 115px; z-index: 90; flex-wrap: wrap; }
163
- .tool-btn { display: flex; flex-direction: column; align-items: center; gap: 6px; background: #1a1a1a; border: 1px solid #333; color: #aaa; cursor: pointer; transition: 0.2s; padding: 10px 12px; border-radius: 16px; min-width: 75px; flex: 1; max-width: 110px; }
164
- .tool-btn i { font-size: 1.3rem; margin-bottom: 2px; transition: 0.2s; }
165
- .tool-btn span { font-size: 0.7rem; font-weight: bold; }
166
- .tool-btn:hover { color: #fff; background: #252525; transform: translateY(-2px); }
167
- .tool-btn.active-tool { color: #fff; background: var(--primary); border-color: var(--primary); box-shadow: 0 4px 12px rgba(124, 77, 255, 0.4); }
168
- .tool-btn.active-tool i { transform: scale(1.1); }
169
 
170
- #toolsContainer { width: 100%; background: var(--panel-bg); overflow: hidden; min-height: 0; transition: none; border-bottom: 1px solid #222; }
171
- .tool-section { display: none; padding: 25px 20px; animation: fadeIn 0.3s ease; max-width: 800px; margin: 0 auto; }
172
  .tool-section.active-section { display: block; }
173
  @keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
174
 
175
- .btn-exp { background: var(--primary); color: #fff; border: none; padding: 12px 30px; border-radius: 14px; font-weight: bold; cursor: pointer; transition: 0.2s; font-family: inherit; box-shadow: 0 4px 15px rgba(124, 77, 255, 0.3); }
176
- .btn-magic-action { background: linear-gradient(135deg, #FF4081, #7C4DFF); width: 100%; border: none; padding: 14px; border-radius: 16px; color: white; font-weight: bold; font-family: inherit; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 15px; box-shadow: 0 5px 20px rgba(124, 77, 255, 0.4); transition: transform 0.2s; }
177
- .btn-magic-action:active { transform: scale(0.98); }
178
 
179
- .row { margin-bottom: 25px; }
180
- label { display: block; margin-bottom: 10px; color: #ccc; font-size: 0.95rem; font-weight: 600; padding-right: 5px; border-right: 3px solid var(--primary); padding-right: 10px; }
181
- textarea { width: 100%; background: #1a1a1a; color: #fff; border: 1px solid #333; padding: 15px; border-radius: 16px; font-family: inherit; font-size: 1rem; margin-bottom: 15px; resize: vertical; min-height: 100px; transition: 0.2s; }
182
- textarea:focus { border-color: var(--primary); background: #202020; }
183
 
184
  /* --- تغییرات اصلی این بخش: گرید و ابعاد کارت --- */
185
- .style-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; width: 100%; }
186
 
187
- .style-grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
188
 
189
  .style-card {
190
- background: #202020;
191
  border: 2px solid transparent;
192
- border-radius: 20px;
193
- padding: 8px;
194
  cursor: pointer;
195
  display: flex;
196
  flex-direction: column;
197
  align-items: center;
198
  justify-content: center;
199
- min-height: 0;
200
  width: 100%;
201
  position: relative;
202
- transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
203
- box-shadow: 0 5px 15px rgba(0,0,0,0.2);
204
- aspect-ratio: 1.4 / 1;
205
  }
206
 
207
- .style-grid-2col .style-card { min-height: 100px; height: auto; gap: 8px; padding: 15px; aspect-ratio: auto; }
208
 
209
- .style-card:hover { background: #2a2a2a; transform: translateY(-3px); }
210
- .style-card:active { transform: scale(0.97); }
211
- .style-card.selected { border-color: var(--primary); background: rgba(124, 77, 255, 0.1); box-shadow: 0 8px 20px rgba(124, 77, 255, 0.15); }
212
- .style-card.selected::after { content: '\f00c'; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; top: 10px; left: 10px; font-size: 0.75rem; color: #fff; background: var(--primary); width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
213
 
214
- .card-info { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 100%; margin-top: 8px; padding-top: 6px; border-top: 1px solid rgba(255,255,255,0.08); text-align: center; }
215
- .card-title-style { font-weight: 800; font-size: 0.85rem; color: #fff; white-space: nowrap; }
216
- .card-desc { color: #888; font-size: 0.7rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
217
 
218
- .anim-box { font-family: 'Lalezar'; font-size: 1rem; direction: rtl; display: flex; gap: 4px; margin-bottom: 5px; }
219
- .anim-word { color: #ddd; transition: 0.2s; padding: 0 3px; border-radius: 4px;}
220
- .anim-word.active { color: #fff; background-color: #A020F0; transform: scale(1.1); padding: 0 6px; box-shadow: 0 2px 8px rgba(160, 32, 240, 0.5); }
221
  .static-anim.active { background-color: var(--static-color) !important; color: #fff; }
222
 
223
- .card-settings { position: absolute; bottom: 8px; left: 8px; width: 28px; height: 28px; background: rgba(255,255,255,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 0.9rem; transition: 0.2s; z-index: 5; border: 1px solid rgba(255,255,255,0.1); }
224
- .card-settings:hover { background: rgba(255,255,255,0.2); }
225
 
226
- .mode-btn { flex: 1; padding: 14px; border-radius: 12px; background: #252525; color: #aaa; border: 2px solid transparent; cursor: pointer; font-weight: bold; transition: 0.2s; }
227
- .mode-btn.active { background: rgba(124, 77, 255, 0.15); color: var(--primary); border-color: var(--primary); }
228
- .font-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
229
- .font-btn { padding: 18px; background: #252525; border-radius: 14px; cursor: pointer; border: 2px solid transparent; position: relative; color: #fff; text-align: center; transition: 0.2s; }
230
- .font-btn:hover { background: #303030; }
231
- .font-btn.ticked { border-color: var(--primary); background: rgba(124, 77, 255, 0.1); }
232
  .font-btn.ticked::after { content: '\f00c'; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; top: 10px; left: 10px; color: var(--primary); }
233
 
234
- .custom-style-container { width: 100%; background: linear-gradient(90deg, #252525, #1e1e1e); border: 1px solid #333; border-right: 6px solid var(--primary); border-radius: 16px; margin-bottom: 25px; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s; max-height: 65px; cursor: pointer; position: relative; box-shadow: 0 5px 15px rgba(0,0,0,0.2); }
235
- .custom-style-container.open { max-height: 800px; box-shadow: 0 15px 40px rgba(0,0,0,0.5); border-color: #555; }
236
- .custom-header { height: 65px; padding: 0 25px; display: flex; align-items: center; justify-content: space-between; font-family: 'Lalezar'; font-size: 1.3rem; color: #fff; }
237
- .custom-header-title { display: flex; align-items: center; gap: 12px; }
238
- .custom-header-title i { color: var(--primary); font-size: 1.5rem; text-shadow: 0 0 10px rgba(124, 77, 255, 0.4); }
239
- .toggle-icon { transition: transform 0.3s; font-size: 1rem; color: #888; }
240
  .custom-style-container.open .toggle-icon { transform: rotate(180deg); color: #fff; }
241
- .custom-content { padding: 25px; opacity: 0; transition: opacity 0.3s ease 0.1s; border-top: 1px solid #333; background: #1a1a1a; }
242
  .custom-style-container.open .custom-content { opacity: 1; }
243
 
244
  .text-editor-ui { display: flex; flex-direction: column; width: 100%; height: 100%; background-color: var(--surface); padding-bottom: 10px; }
@@ -251,73 +182,69 @@ pointer-events: none; margin-top: 10px;
251
  .toolbar-area.show { opacity: 1; transform: translateY(0); pointer-events: all; }
252
 
253
  .tool-circle {
254
- width: 50px; height: 50px; border-radius: 50%; background: #252525;
255
  border: 1px solid #444; color: #ccc; display: flex; align-items: center; justify-content: center;
256
- font-size: 1.2rem; cursor: pointer; transition: 0.2s; box-shadow: 0 5px 15px rgba(0,0,0,0.2);
257
  }
258
- .tool-circle:active { transform: scale(0.92); border-color: var(--primary); color: var(--primary); }
259
- .tool-circle.active-state { background: rgba(124, 77, 255, 0.15); border-color: var(--primary); color: var(--primary); box-shadow: 0 0 15px rgba(124, 77, 255, 0.3); }
260
 
261
- .fixed-info-bar { width: 100%; height: 35px; display: flex; align-items: center; justify-content: flex-start; padding: 0 20px; border-bottom: 1px solid #222; background-color: var(--surface); }
262
- .global-time-text { color: #888; font-size: 0.85rem; font-family: monospace; direction: ltr; background: rgba(255,255,255,0.05); padding: 2px 8px; border-radius: 6px; }
263
 
264
  .timeline-scroll-area {
265
- flex: 1; width: 100%; overflow-x: auto; white-space: nowrap; padding: 20px 0;
266
  display: flex; align-items: center; scrollbar-width: none;
267
  }
268
  .timeline-scroll-area::-webkit-scrollbar { display: none; }
269
  .spacer { min-width: 50vw; }
270
 
271
  .word-chip {
272
- background-color: var(--chip-bg); color: #aaa; padding: 10px 20px;
273
- border-radius: 16px; margin: 0 6px; font-size: 1rem; cursor: pointer;
274
  transition: 0.2s; display: inline-flex; align-items: center; justify-content: center;
275
  border: 1px solid transparent;
276
  }
277
- .word-chip.active { background-color: var(--primary); color: #fff; font-weight: bold; transform: scale(1.1); box-shadow: 0 5px 15px rgba(124, 77, 255, 0.4); }
278
- .newline-indicator { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; color: #555; margin: 0 10px; background: rgba(255,255,255,0.05); border-radius: 50%; }
279
 
280
- .bottom-sheet-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); backdrop-filter: blur(5px); z-index: 6000; display: none; align-items: flex-end; justify-content: center; }
281
  .bottom-sheet-overlay.show { display: flex; }
282
 
283
  .bottom-sheet {
284
- width: 100%; background: #1a1a1a; border-top-left-radius: 35px; border-top-right-radius: 35px;
285
- padding: 30px 25px 80px 25px; transform: translateY(100%);
286
  transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
287
  display: none; flex-direction: column; gap: 20px;
288
- box-shadow: 0 -15px 50px rgba(0,0,0,0.7); border-top: 1px solid rgba(255,255,255,0.1);
289
  }
290
  .bottom-sheet.active { display: flex; transform: translateY(0); }
291
 
292
- .sheet-handle { width: 60px; height: 6px; background: #444; border-radius: 3px; margin: 0 auto 10px auto; }
293
- .sheet-title { text-align: center; color: #999; font-size: 0.95rem; margin-bottom: 10px; font-weight: bold; }
294
 
295
- .sheet-actions { display: flex; gap: 15px; margin-top: 10px; }
296
- .action-btn { flex: 1; padding: 16px; border-radius: 20px; border: none; font-family: inherit; font-size: 1rem; font-weight: bold; cursor: pointer; transition: 0.2s; }
297
- .action-btn:active { transform: scale(0.96); }
298
  .btn-cancel-sheet { background: #333; color: #ccc; }
299
- .btn-apply-sheet { background: var(--primary); color: #fff; box-shadow: 0 5px 20px rgba(124, 77, 255, 0.3); }
300
- .btn-delete-sheet { background: var(--danger-red); color: #fff; box-shadow: 0 5px 20px rgba(255, 82, 82, 0.3); }
301
 
302
- .sheet-input { width: 100%; background: #111; border: 1px solid #333; border-radius: 20px; padding: 20px; color: white; font-family: inherit; font-size: 1.2rem; text-align: center; transition: 0.3s; }
303
- .sheet-input:focus { border-color: var(--primary); background: #000; }
304
 
305
- .sheet-meta-row { display: flex; align-items: center; justify-content: center; gap: 20px; background: #252525; padding: 15px; border-radius: 20px; }
306
- .time-display-text { color: #bbb; font-family: monospace; font-size: 1.1rem; letter-spacing: 1px; direction: ltr; }
307
 
308
- .mini-play-btn { width: 40px; height: 40px; border-radius: 50%; background: #333; color: #fff; border: 1px solid #444; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.2s; }
309
- .mini-play-btn:hover { background: var(--primary); border-color: var(--primary); }
310
 
311
- .time-control-row { display: flex; align-items: center; justify-content: space-between; background: #222; padding: 15px 20px; border-radius: 24px; border: 1px solid #333; }
312
- .time-label { color: #aaa; font-size: 0.95rem; width: 60px; font-weight: bold; }
313
- .time-adjuster { display: flex; align-items: center; gap: 20px; }
314
- .time-btn { width: 45px; height: 45px; background: #333; border: 1px solid #444; border-radius: 14px; color: #fff; font-size: 1.3rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: 0.2s; }
315
- .time-btn:active { background: #444; transform: scale(0.9); }
316
- .time-value { font-family: monospace; font-size: 1.2rem; letter-spacing: 1px; width: 70px; text-align: center; direction: ltr; color: var(--primary); font-weight: bold; }
317
 
318
- .delete-icon-wrap { width: 80px; height: 80px; border-radius: 50%; background: rgba(255, 82, 82, 0.1); color: var(--danger-red); display: flex; align-items: center; justify-content: center; font-size: 2.5rem; margin: 0 auto; box-shadow: 0 0 30px rgba(255, 82, 82, 0.2); }
319
- .delete-msg { text-align: center; color: #fff; font-size: 1.15rem; margin-bottom: 15px; line-height: 1.6; }
320
- .highlight-word { color: var(--primary); font-weight: bold; padding: 2px 8px; background: rgba(124, 77, 255, 0.15); border-radius: 8px; }
321
 
322
  /* --- استایل‌های لودینگ نئونی جدید --- */
323
  #loader {
@@ -345,7 +272,6 @@ overflow: hidden;
345
  /* استایل صفحه نتیجه */
346
  #resultScreen {
347
  position: fixed; top:0; left:0; width:100%; height:100%; background: var(--bg); z-index: 6000; display: none; flex-direction: column; justify-content: center; align-items: center;
348
- background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415-.828-.828-.828.828-1.415-1.415.828-.828-.828-.828 1.415-1.415.828.828.828-.828 1.415 1.415-.828.828zM22.485 22.485l.83.828-1.415 1.415-.828-.828-.828.828-1.415-1.415.828-.828-.828-.828 1.415-1.415.828.828.828-.828 1.415 1.415-.828.828zM0 54.627l.828.83-1.415 1.415-.828-.828-.828.828L-3.658 54.627l.828-.828-.828-.828 1.415-1.415.828.828.828-.828 1.415 1.415-.828.828zM54.627 54.627l.83.828-1.415 1.415-.828-.828-.828.828-1.415-1.415.828-.828-.828-.828 1.415-1.415.828.828.828-.828 1.415 1.415-.828.828z' fill='%239C92AC' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
349
  }
350
 
351
  .loader-wrapper {
@@ -631,86 +557,87 @@ pointer-events: none;
631
  .picker-backdrop{ position: fixed; inset: 0; background: rgba(0,0,0,.46); opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s ease; z-index: 9998; }
632
  .picker-backdrop.active{ opacity: 1; visibility: visible; }
633
 
634
- .picker-modal{ position: fixed; bottom: 0; left: 50%; width: min(100%, 720px); transform: translateX(-50%) translateY(110%); transition: transform .28s cubic-bezier(0.2,0.8,0.2,1); background: rgba(28,28,30,.9); -webkit-backdrop-filter: blur(25px) saturate(180%); backdrop-filter: blur(25px) saturate(180%); border: 1px solid rgba(255,255,255,.12); box-shadow: var(--shadow-lg); border-radius: 35px 35px 0 0; z-index: 9999; display:flex; flex-direction:column; max-height: 92vh; padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
635
  .picker-modal.active{ transform: translateX(-50%) translateY(0); }
636
 
637
- .picker-header{ display:flex; align-items:center; justify-content:space-between; padding: 16px 20px; border-bottom: 1px solid var(--separator); flex-shrink: 0; }
638
- .picker-icon{ width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.10); display:flex; align-items:center; justify-content:center; color:#fff; cursor:pointer; transition: transform .12s ease; }
639
- .picker-icon:active{ transform: scale(.96); background: rgba(255,255,255,.15); }
640
 
641
- .picker-tabs{ margin: 15px 20px 10px 20px; padding: 5px; border-radius: 16px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); display:flex; gap: 6px; flex-shrink: 0; }
642
- .picker-tab{ flex:1; text-align:center; padding: 10px 0; border-radius: 12px; cursor:pointer; color: rgba(235,235,245,.62); font-weight: 900; transition: background .2s ease, color .2s ease; user-select:none; }
643
- .picker-tab.active{ background: rgba(255,255,255,.12); color:#fff; box-shadow: 0 2px 10px rgba(0,0,0,0.2); }
644
 
645
  .view-section{ display:none; overflow-y:auto; padding-bottom: 10px; }
646
  .view-section.active-view{ display:block; }
647
 
648
  /* Spectrum */
649
- .spectrum-container{ margin: 0 20px 10px 20px; height: 240px; border-radius: 20px; border: 1px solid rgba(255,255,255,.15); background: linear-gradient(to right, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); overflow:hidden; position:relative; cursor: crosshair; direction:ltr; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
650
  .spectrum-container::after{ content:""; position:absolute; inset:0; background: radial-gradient(900px 260px at 15% 0%, rgba(255,255,255,.14), transparent 55%); pointer-events:none; }
651
  .spectrum-overlay{ position:absolute; inset:0; background: linear-gradient(to bottom, transparent 0%, #ffffff 100%); mix-blend-mode: normal; }
652
- .spectrum-handle{ position:absolute; width: 32px; height: 32px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 4px 15px rgba(0,0,0,.5); transform: translate(-50%, -50%); pointer-events:none; background: transparent; backdrop-filter: blur(2px); }
653
 
654
  /* GRID */
655
- .grid-view-container{ margin: 0 20px 0 20px; padding: 15px; background: rgba(0,0,0,.15); border: 1px solid rgba(255,255,255,.08); border-radius: 22px; display:grid; grid-template-columns: repeat(auto-fill, minmax(32px, 1fr)); gap: 10px; max-height: 340px; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: smooth; }
656
- .grid-view-container::-webkit-scrollbar{ width: 6px; }
657
- .grid-view-container::-webkit-scrollbar-track{ background: transparent; }
658
- .grid-view-container::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.2); border-radius: 10px; }
659
- .grid-item{ aspect-ratio: 1; border-radius: 12px; cursor:pointer; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 4px 10px rgba(0,0,0,.2); transition: transform .12s ease; position: relative; overflow: hidden; }
660
- .grid-item:active{ transform: scale(.9); }
661
- .grid-item.selected{ border-color: #fff; transform: scale(1.05); box-shadow: 0 0 0 3px rgba(255,255,255,0.2); }
662
- .grid-item.selected::before{ content:"\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position:absolute; right: 4px; top: 4px; width: 14px; height: 14px; border-radius: 50%; display:flex; align-items:center; justify-content:center; font-size: 8px; color: #000; background: #fff; z-index: 2; }
 
663
 
664
  /* Manual View */
665
- .manual-view-container{ padding: 10px 20px; display:flex; flex-direction:column; gap: 12px; }
666
- .manual-control-row{ display:flex; align-items:center; gap: 12px; justify-content:space-between; }
667
- .manual-num-input{ width: 70px; border-radius: 16px; padding: 12px 0; text-align:center; font-weight: 900; font-size: 1.1rem; color:#fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); }
668
- .manual-slider-group{ flex:1; display:flex; flex-direction:column; gap: 8px; }
669
- .manual-label-text{ font-size:.85rem; color: #ccc; font-weight:bold; padding-right: 6px; }
670
- .rgb-slider{ -webkit-appearance:none; appearance:none; width: 100%; height: 44px; background: transparent; border-radius: 22px; --track-bg: rgba(255,255,255,.1); }
671
- .rgb-slider::-webkit-slider-runnable-track{ height: 12px; border-radius: 22px; background: var(--track-bg); }
672
- .rgb-slider::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 2px solid #ddd; margin-top: -8px; box-shadow: 0 4px 10px rgba(0,0,0,.3); cursor:pointer; }
673
- .hex-row{ margin-top: 10px; display:flex; align-items:center; gap: 12px; }
674
- .hex-input{ width: 140px; border-radius: 16px; padding: 14px 10px; text-align:center; font-family: monospace; font-weight: 900; color:#fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); letter-spacing: 1px; }
675
- .hex-label{ color: #aaa; font-weight: 900; font-size: .95rem; }
676
 
677
  /* Global Sliders (Bright/Alpha) */
678
- .sliders-global-wrapper{ margin-top: 15px; padding: 15px 20px 10px 20px; border-top: 1px solid var(--separator); flex-shrink: 0; }
679
- .global-slider-row{ display:flex; align-items:center; gap: 12px; margin-bottom: 25px; position:relative; }
680
- .global-slider-row:last-child{ margin-bottom: 10px; }
681
- .global-slider-container{ flex:1; position:relative; height: 46px; border-radius: 23px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.1); padding: 0 14px; display:flex; align-items:center; }
682
- .global-label-top{ position:absolute; right: 5px; top: -24px; font-size: .85rem; font-weight: bold; color: #ccc; }
683
- .value-pill{ min-width: 90px; height: 46px; border-radius: 23px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; gap: 8px; font-weight: 900; color:#fff; }
684
- .value-pill i{ font-size: 1rem; color: #ddd; }
685
- .common-slider{ -webkit-appearance:none; appearance:none; width: 100%; height: 44px; background: transparent; border-radius: 22px; --track-bg: rgba(255,255,255,.1); direction: ltr !important; }
686
- .common-slider::-webkit-slider-runnable-track{ height: 12px; border-radius: 22px; background: var(--track-bg); }
687
- .common-slider::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width: 30px; height: 30px; border-radius: 50%; background: #fff; border: 2px solid #eee; margin-top: -9px; box-shadow: 0 5px 15px rgba(0,0,0,.3); cursor:pointer; }
688
 
689
  /* FIX: Photoshop Checkered Pattern for Alpha Container & Preview */
690
  .alpha-checkered {
691
  width: 100%;
692
- height: 46px;
693
- border-radius: 20px;
694
  background-image: conic-gradient(#dedede 0.25turn, #ffffff 0.25turn 0.5turn, #dedede 0.5turn 0.75turn, #ffffff 0.75turn);
695
  background-size: 14px 14px;
696
  background-position: top left;
697
  overflow: hidden;
698
  display: flex;
699
  align-items: center;
700
- padding: 0 14px;
701
- border: 1px solid rgba(255,255,255,.15);
702
  }
703
 
704
  /* Footer & Large Preview Fix */
705
- .picker-footer{ margin-top: auto; padding: 15px 20px 10px 20px; display:flex; align-items:center; justify-content:space-between; gap: 15px; border-top: 1px solid var(--separator); flex-shrink: 0; background: transparent; }
706
 
707
  /* FIX: Photoshop Checkered Pattern for Large Preview */
708
  .large-preview {
709
- width: 70px;
710
- height: 70px;
711
- border-radius: 22px;
712
- border: 1px solid rgba(255,255,255,.15);
713
- box-shadow: 0 15px 30px rgba(0,0,0,.3);
714
  flex-shrink: 0;
715
  /* الگوی شطرنجی دقیق فتوشاپ */
716
  background-image: conic-gradient(#dedede 0.25turn, #ffffff 0.25turn 0.5turn, #dedede 0.5turn 0.75turn, #ffffff 0.75turn);
@@ -719,50 +646,50 @@ background-position: center;
719
  }
720
 
721
  .saved-colors-container{ display:flex; gap: 10px; align-items:center; flex-wrap: wrap; flex:1; justify-content:flex-end; max-height: 90px; overflow-y:auto; padding-right: 4px; }
722
- .btn-save-text{ height: 42px; border-radius: 21px; padding: 0 16px; display:flex; align-items:center; justify-content:center; gap: 8px; font-weight: 900; font-size: .85rem; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); cursor:pointer; user-select:none; transition: transform .12s ease; flex-shrink:0; }
723
- .btn-save-text:active{ transform: scale(.96); background: rgba(10,132,255,.25); }
724
- .saved-color-wrapper{ position:relative; width: 44px; height: 44px; flex-shrink:0; }
725
- .saved-circle{ width:100%; height:100%; border-radius: 16px; border: 1px solid rgba(255,255,255,.2); box-shadow: 0 4px 10px rgba(0,0,0,.2); cursor:pointer; transition: transform .12s ease; }
726
- .saved-circle:active{ transform: scale(.9); }
727
- .mini-delete-btn{ position:absolute; top:-8px; right:-8px; width: 22px; height: 22px; border-radius: 50%; background: #ff453a; border: 2px solid #1c1c1e; display:flex; align-items:center; justify-content:center; color:#fff; cursor:pointer; box-shadow: 0 5px 10px rgba(0,0,0,.3); transition: transform .12s ease; z-index:2; }
728
- .mini-delete-btn i{ font-size: 11px; }
729
- .mini-delete-btn:active{ transform: scale(.85); }
730
 
731
  /* Color Triggers inside accordion */
732
- .color-trigger-row{ display:flex; gap: 14px; margin: 16px 0 20px 0; }
733
- .color-trigger{ flex:1; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); padding: 14px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; position:relative; transition: transform .12s ease; }
734
- .color-trigger:active{ transform: scale(.98); background: rgba(255,255,255,.1); }
735
- .color-trigger::before{ content:"\f054"; font-family: "Font Awesome 6 Free"; font-weight: 900; position:absolute; left: 14px; color: #888; font-size: .9rem; }
736
- .color-label{ color: #ddd; font-weight: bold; font-size: .95rem; padding-left: 20px; }
737
- .color-preview-circle{ width: 38px; height: 38px; border-radius: 14px; border: 1px solid rgba(255,255,255,.5); box-shadow: 0 5px 15px rgba(0,0,0,.3); }
738
 
739
  /* Delete modal specific */
740
- .delete-overlay{ position: fixed; inset: 0; background: rgba(0,0,0,.6); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); z-index: 10000; display:none; align-items:center; justify-content:center; opacity:0; transition: opacity .22s ease; padding: 20px; }
741
  .delete-overlay.active{ display:flex; opacity:1; }
742
- .delete-box{ width: min(360px, 92vw); border-radius: 26px; background: #1c1c1e; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 25px 50px rgba(0,0,0,.6); padding: 26px 20px; text-align:center; transform: scale(.9); opacity:0; transition: transform .22s cubic-bezier(0.2,0.8,0.2,1), opacity .22s ease; }
743
  .delete-overlay.active .delete-box{ transform: scale(1); opacity:1; }
744
- .del-preview{ width: 70px; height: 70px; border-radius: 20px; margin: 0 auto 16px auto; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 15px 30px rgba(0,0,0,.3); }
745
- .del-title{ color:#fff; font-weight: 900; font-size: 1.1rem; margin: 10px 0 20px 0; }
746
- .del-actions{ display:flex; gap: 12px; }
747
- .del-btn{ flex:1; border:none; border-radius: 18px; padding: 14px 0; font-weight: 900; font-size: 1.05rem; cursor:pointer; transition: transform .12s ease, filter .12s ease; }
748
- .del-btn:active{ transform: scale(.97); }
749
- .del-btn-confirm{ background: #ff453a; color:#fff; box-shadow: 0 5px 15px rgba(255,69,58,0.3); }
750
- .del-btn-cancel{ background: rgba(255,255,255,.1); color:#fff; border: 1px solid rgba(255,255,255,.1); }
751
 
752
  /* ================================================== */
753
  /* === استایل‌های جدید برای بخش ظاهر (Appearance) === */
754
  /* ================================================== */
755
  #section-appearance .controls-panel {
756
- padding: 20px;
757
  }
758
 
759
  /* پنل‌های داخلی برای گروه‌بندی کنترل‌ها */
760
  .control-group-panel {
761
- background-color: #202024;
762
  border: 1px solid #3a3a3e;
763
- border-radius: 22px;
764
- padding: 22px;
765
- margin-bottom: 22px;
766
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
767
  }
768
  .control-group-panel:last-child {
@@ -772,30 +699,28 @@ margin-bottom: 0;
772
  /* بخش پیش‌نمایش زنده برای کادر */
773
  .box-preview-area {
774
  width: 100%;
775
- min-height: 100px;
776
  margin-bottom: 25px;
777
- padding: 20px;
778
  /* --- تغییر اصلی اینجاست --- */
779
  background-image: conic-gradient(#444 0.25turn, #333 0.25turn 0.5turn, #444 0.5turn 0.75turn, #333 0.75turn);
780
- background-size: 24px 24px;
781
  /* -------------------------- */
782
- border-radius: 16px;
783
  display: flex;
784
  justify-content: center;
785
  align-items: center;
786
  border: 1px solid #555;
787
- box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
788
  }
789
 
790
  .box-preview-element {
791
  color: #fff;
792
- font-size: 1.3rem;
793
  font-weight: bold;
794
  display: inline-block;
795
  white-space: nowrap;
796
  /* اینجا line-height وجود نداشت */
797
  transition: all 0.15s ease-out;
798
- text-shadow: 0 2px 10px rgba(0,0,0,0.5);
799
  }
800
 
801
  /* ======================================== */
@@ -803,10 +728,10 @@ text-shadow: 0 2px 10px rgba(0,0,0,0.5);
803
  /* ======================================== */
804
 
805
  .sheet-spinner-ring {
806
- width: 65px;
807
- height: 65px;
808
  border-radius: 50%;
809
- border: 5px solid #333;
810
  border-top-color: var(--primary);
811
  border-right-color: var(--primary);
812
  animation: ringSpin 1s cubic-bezier(0.5, 0, 0.5, 1) infinite;
@@ -818,8 +743,8 @@ animation: ringSpin 1s cubic-bezier(0.5, 0, 0.5, 1) infinite;
818
  }
819
 
820
  .success-checkmark-anim {
821
- width: 90px;
822
- height: 90px;
823
  border-radius: 50%;
824
  background: rgba(0, 230, 118, 0.15);
825
  display: flex;
@@ -829,10 +754,9 @@ animation: successPop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
829
  }
830
 
831
  .success-checkmark-anim i {
832
- font-size: 3.5rem;
833
  color: #00e676;
834
  animation: checkScale 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s both;
835
- filter: drop-shadow(0 0 10px rgba(0, 230, 118, 0.5));
836
  }
837
 
838
  @keyframes successPop {
@@ -852,8 +776,8 @@ to { transform: scale(1); }
852
  .word-count-grid {
853
  display: flex;
854
  overflow-x: auto;
855
- padding: 12px 0;
856
- gap: 12px;
857
  width: 100%;
858
  scrollbar-width: none;
859
  -ms-overflow-style: none;
@@ -865,25 +789,24 @@ display: none;
865
 
866
  .wc-btn {
867
  flex: 0 0 auto;
868
- width: 55px;
869
- height: 55px;
870
- border-radius: 16px;
871
  background: #333;
872
  color: #fff;
873
  border: 1px solid #444;
874
- font-size: 1.3rem;
875
- font-weight: 800;
876
  cursor: pointer;
877
  transition: 0.2s;
878
  display: flex;
879
  align-items: center;
880
  justify-content: center;
881
- box-shadow: 0 4px 10px rgba(0,0,0,0.2);
882
  }
883
  .wc-btn:active {
884
  background: var(--primary);
885
  border-color: var(--primary);
886
- transform: scale(0.92);
887
  }
888
 
889
  /* ======================================== */
@@ -901,32 +824,29 @@ width: 100%;
901
  }
902
 
903
  .trimmer-play-btn {
904
- width: 55px;
905
- height: 55px;
906
  border-radius: 50%;
907
  border: 2px solid var(--accent-orange);
908
- background: rgba(255, 112, 67, 0.1);
909
  color: var(--accent-orange);
910
- font-size: 1.5rem;
911
  display: flex;
912
  align-items: center;
913
  justify-content: center;
914
  cursor: pointer;
915
  transition: transform 0.2s;
916
- box-shadow: 0 0 15px rgba(255, 112, 67, 0.2);
917
  }
918
  .trimmer-play-btn:active {
919
  transform: scale(0.9);
920
- background: rgba(255, 112, 67, 0.2);
921
  }
922
 
923
  .trimmer-time-display {
924
  font-family: monospace;
925
- font-size: 1.4rem;
926
  color: #fff;
927
  font-weight: bold;
928
  direction: ltr;
929
- text-shadow: 0 0 10px rgba(0,0,0,0.5);
930
  }
931
 
932
  .trimmer-body {
@@ -934,49 +854,46 @@ display: flex;
934
  align-items: center;
935
  justify-content: space-between;
936
  width: 100%;
937
- gap: 15px;
938
- margin-bottom: 25px;
939
  }
940
 
941
  .word-preview-side {
942
- width: 70px;
943
- height: 70px;
944
- background: #252525;
945
- border-radius: 16px;
946
  display: flex;
947
  align-items: center;
948
  justify-content: center;
949
- color: #888;
950
- font-size: 0.95rem;
951
  font-weight: bold;
952
  text-align: center;
953
  flex-shrink: 0;
954
- border: 1px solid #333;
955
  }
956
 
957
  .trimmer-container {
958
  flex: 1;
959
  position: relative;
960
- height: 70px;
961
  background: #000;
962
- border-radius: 12px;
963
  overflow: hidden;
964
- box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
965
- border: 1px solid #222;
966
  }
967
 
968
  /* نوار کلی (ترک) */
969
  .timeline-strip {
970
  position: absolute;
971
  top: 50%;
972
- left: 10px;
973
  right: 10px;
974
- height: 45px;
975
  transform: translateY(-50%);
976
  background: linear-gradient(90deg, #333 0%, #444 50%, #333 100%);
977
  background-size: 20px 100%;
978
- border-radius: 6px;
979
- opacity: 0.6;
980
  }
981
 
982
  /* بخش فعال (بین دو هندل) */
@@ -984,13 +901,11 @@ opacity: 0.6;
984
  position: absolute;
985
  top: 0;
986
  bottom: 0;
987
- background: rgba(253, 216, 53, 0.15);
988
- border-top: 3px solid #FDD835;
989
- border-bottom: 3px solid #FDD835;
990
- left: 0;
991
- right: 0;
992
- z-index: 5;
993
- box-shadow: 0 0 15px rgba(253, 216, 53, 0.3);
994
  }
995
 
996
  /* هندل‌های زرد رنگ */
@@ -998,77 +913,56 @@ box-shadow: 0 0 15px rgba(253, 216, 53, 0.3);
998
  position: absolute;
999
  top: 0;
1000
  bottom: 0;
1001
- width: 24px;
1002
  background: #FDD835;
1003
  cursor: col-resize;
1004
  display: flex;
1005
  align-items: center;
1006
  justify-content: center;
1007
  color: #000;
1008
- font-size: 0.9rem;
1009
  z-index: 10;
1010
- border-radius: 6px;
1011
- box-shadow: 0 0 10px rgba(0,0,0,0.5);
1012
  }
1013
 
1014
  .trim-handle.left {
1015
- left: 0;
1016
- border-top-left-radius: 10px;
1017
- border-bottom-left-radius: 10px;
1018
  }
1019
 
1020
  .trim-handle.right {
1021
- right: 0;
1022
- border-top-right-radius: 10px;
1023
- border-bottom-right-radius: 10px;
 
1024
  }
1025
 
1026
  .trimmer-current-word {
1027
  text-align: center;
1028
  background: #333;
1029
- padding: 12px 25px;
1030
- border-radius: 20px;
1031
  color: #fff;
1032
- font-size: 1.2rem;
1033
  font-weight: bold;
1034
  align-self: center;
1035
  margin-bottom: 10px;
1036
- min-width: 120px;
1037
- border: 1px solid #444;
1038
- box-shadow: 0 4px 15px rgba(0,0,0,0.3);
1039
  }
1040
  /* --- استایل‌های جدید بخش فونت و تنظیمات --- */
1041
- .sub-nav-container { display: flex; background: #202020; padding: 6px; border-radius: 18px; margin-bottom: 25px; border: 1px solid #333; }
1042
- .sub-nav-btn { flex: 1; text-align: center; padding: 12px; border-radius: 14px; color: #999; font-weight: 800; font-size: 0.95rem; cursor: pointer; transition: 0.2s; }
1043
- .sub-nav-btn.active { background: var(--primary); color: #fff; box-shadow: 0 4px 12px rgba(124, 77, 255, 0.4); }
1044
  .sub-section-content { display: none; }
1045
- .sub-section-content.active { display: block; animation: fadeIn 0.25s ease; }
1046
-
1047
- .settings-row { display: flex; align-items: center; justify-content: space-between; background: #202020; padding: 16px 20px; border-radius: 20px; margin-bottom: 14px; border: 1px solid #333; transition: transform 0.2s, background 0.2s; cursor: pointer; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
1048
- .settings-row:active { transform: scale(0.97); background: #2a2a2a; }
1049
- .settings-left-part { display: flex; align-items: center; gap: 16px; }
1050
-
1051
- /* آیکون باکس بسیار زیبا شبیه iOS با گرادینت */
1052
- .settings-icon-box {
1053
- width: 44px; height: 44px;
1054
- border-radius: 14px;
1055
- /* گرادینت زیبا */
1056
- background: linear-gradient(135deg, rgba(124, 77, 255, 0.2) 0%, rgba(124, 77, 255, 0.05) 100%);
1057
- border: 1px solid rgba(124, 77, 255, 0.2);
1058
- display: flex; align-items: center; justify-content: center;
1059
- box-shadow: inset 0 0 10px rgba(124, 77, 255, 0.1);
1060
- position: relative;
1061
- overflow: hidden;
1062
- }
1063
- /* اضافه کردن درخشش SVG به پس زمینه آیکون */
1064
- .settings-icon-box::before {
1065
- content: ''; position: absolute; top:0; left:0; right:0; bottom:0;
1066
- background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='8' stroke='rgba(255,255,255,0.1)' stroke-width='1' fill='none'/%3E%3C/svg%3E");
1067
- background-repeat: no-repeat; background-position: center; opacity: 0.5;
1068
- }
1069
-
1070
- .settings-icon-box svg { width: 22px; height: 22px; fill: var(--primary); filter: drop-shadow(0 0 8px rgba(124,77,255,0.6)); z-index: 2; }
1071
- .settings-label { font-weight: 800; color: #fff; font-size: 1rem; }
1072
- .color-ring-container { width: 46px; height: 46px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.1); padding: 4px; display: flex; align-items: center; justify-content: center; transition: border-color 0.2s; }
1073
  .settings-row:hover .color-ring-container { border-color: var(--primary); }
1074
- .color-circle-inner { width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 2px 5px rgba(0,0,0,0.3); border: 1px solid rgba(0,0,0,0.1); }
 
2
 
3
  * { box-sizing: border-box; user-select: none; -webkit-tap-highlight-color: transparent; outline: none; }
4
 
5
+ body { margin: 0; background: var(--bg); color: var(--text); font-family: 'Vazirmatn'; overflow-y: auto; overflow-x: hidden; display: flex; flex-direction: column; min-height: 100vh; padding-bottom: 50px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
  /* --- صفحه خانه (پروژه‌ها) --- */
8
  #homeScreen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #121212; z-index: 5000; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; }
9
+ .home-header { font-size: 1.5rem; font-weight: 900; margin-bottom: 20px; text-align: right; color: #eee; }
10
 
11
  .projects-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding-bottom: 80px; }
12
 
13
  .project-card {
14
+ background: #252525; border-radius: 20px; overflow: hidden; position: relative;
15
+ box-shadow: 0 4px 10px rgba(0,0,0,0.3); transition: 0.2s; cursor: pointer; aspect-ratio: 1 / 1.1; display: flex; flex-direction: column;
16
  }
17
+ .project-card:active { transform: scale(0.97); }
18
 
19
  .card-thumb { width: 100%; height: 70%; background: #333; background-size: cover; background-position: center; position: relative; }
20
+ .card-overlay { position: absolute; bottom: 0; width: 100%; height: 50%; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); }
21
+ .card-duration { position: absolute; bottom: 10px; right: 10px; background: rgba(0,0,0,0.6); backdrop-filter: blur(4px); padding: 2px 8px; border-radius: 10px; font-size: 0.75rem; color: #fff; font-weight: bold; }
22
+ .card-menu { position: absolute; top: 10px; left: 10px; width: 35px; height: 35px; background: rgba(0,0,0,0.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1rem; backdrop-filter: blur(4px); transition: 0.2s; z-index: 10; }
23
  .card-menu:active { background: var(--primary); transform: scale(0.9); }
24
 
25
+ .card-details { padding: 10px; flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
26
  .card-title { font-weight: bold; font-size: 1.1rem; color: #fff; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
27
  .card-date { font-size: 0.75rem; color: #888; }
28
 
29
  #noProjectsPlaceholder { display: none; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #666; position: absolute; top: 45%; left: 50%; transform: translate(-50%, -50%); width: 100%; }
30
+ .placeholder-icon { width: 100px; height: 100px; border: 3px solid var(--primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2.5rem; color: var(--primary); margin-bottom: 20px; animation: pulse 2.5s infinite ease-in-out; background: rgba(124, 77, 255, 0.05); }
31
+ .placeholder-text { font-size: 1.1rem; font-weight: bold; color: #ddd; }
32
+ @keyframes pulse { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(124, 77, 255, 0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 15px rgba(124, 77, 255, 0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(124, 77, 255, 0); } }
33
+
34
+ .fab-add { position: fixed; bottom: 50px; left: 50%; transform: translateX(-50%); background: var(--accent-orange); color: #fff; padding: 15px 40px; border-radius: 30px; font-size: 1.1rem; font-weight: bold; box-shadow: 0 5px 20px rgba(255, 112, 67, 0.4); border: none; cursor: pointer; display: flex; align-items: center; gap: 10px; z-index: 5001; transition: 0.2s; font-family: inherit; width: 90%; max-width: 400px; justify-content: center; }
35
+ .fab-add:active { transform: translateX(-50%) scale(0.95); }
36
+
37
+ .action-sheet-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 6000; display: none; align-items: flex-end; justify-content: center; animation: fadeInOverlay 0.2s forwards; padding-bottom: 20px; }
38
+ .action-sheet { background: #222; width: 90%; max-width: 500px; border-radius: 20px; padding: 25px; display: flex; flex-direction: column; gap: 15px; transform: translateY(100%); animation: slideUp 0.3s forwards; }
39
+ .sheet-title-main { color: #888; font-size: 0.9rem; text-align: center; margin-bottom: 10px; }
40
+ .sheet-btn { background: #333; color: #fff; border: none; padding: 15px; border-radius: 15px; font-size: 1rem; font-family: inherit; display: flex; align-items: center; gap: 15px; cursor: pointer; }
41
+ .sheet-btn:active { background: #444; }
42
+ .sheet-btn.delete-btn { color: #ff5252; }
43
+ .sheet-btn i { width: 25px; text-align: center; }
44
+
45
+ .input-field { width: 100%; background: #111; border: 1px solid #444; color: #fff; padding: 12px; border-radius: 10px; font-family: inherit; font-size: 1rem; margin-bottom: 20px; text-align: center; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  @keyframes slideUp { to { transform: translateY(0); } }
47
  @keyframes fadeInOverlay { from { opacity: 0; } to { opacity: 1; } }
48
 
49
+ .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); backdrop-filter: blur(5px); z-index: 7000; display: none; align-items: center; justify-content: center; opacity: 0; transition: opacity: 0.3s; }
50
  .modal-overlay.show { opacity: 1; }
51
+ .modal-box { background: #222; border: 1px solid #444; width: 90%; max-width: 350px; border-radius: 20px; padding: 25px; text-align: center; transform: scale(0.8); transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); box-shadow: 0 10px 40px rgba(0,0,0,0.5); }
52
  .modal-overlay.show .modal-box { transform: scale(1); }
53
+ .modal-icon { font-size: 3rem; color: var(--primary); margin-bottom: 15px; }
54
+ .modal-title { font-size: 1.2rem; font-weight: bold; margin-bottom: 10px; color: #fff; }
55
+ .modal-desc { font-size: 0.9rem; color: #aaa; margin-bottom: 25px; line-height: 1.5; }
56
+ .modal-actions { display: flex; gap: 10px; justify-content: center; }
57
+ .modal-btn { flex: 1; padding: 12px; border-radius: 12px; border: none; font-family: inherit; font-weight: bold; cursor: pointer; transition: 0.2s; }
58
+ .btn-confirm { background: var(--primary); color: #fff; }
59
  .btn-cancel { background: #333; color: #fff; }
60
+ .btn-confirm-action.split { background: #00C853; }
61
+ .btn-confirm-action.delete { background: #d32f2f; }
62
 
63
+ #editorScreen { display: none; width: 100%; flex-direction: column; min-height: 100vh; }
64
+ .top-bar { position: sticky; top: 0; height: 60px; background: rgba(30,30,30,0.95); backdrop-filter: blur(10px); display: flex; align-items: center; justify-content: space-between; padding: 0 20px; z-index: 100; border-bottom: 1px solid #333; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
65
+ .btn-home { background: transparent; color: #ccc; border: none; font-size: 1.2rem; cursor: pointer; padding: 10px; }
 
66
 
 
67
  #workspace {
68
  width: 100%;
69
  display: flex;
70
  justify-content: center;
71
  align-items: center;
72
+ background: #000;
73
+ padding: 20px 0;
74
+ min-height: 300px;
 
 
 
 
 
 
 
 
75
  flex-shrink: 0;
76
  overflow: hidden;
 
77
  }
78
  #scaler {
79
  transition: transform 0.1s ease-out;
 
81
  justify-content: center;
82
  align-items: center;
83
  }
84
+ #videoContainer { position: relative; background: #000; overflow: hidden; cursor: pointer; box-shadow: 0 0 30px rgba(124, 77, 255, 0.1); border-radius: 8px;}
85
  video { width: 100%; height: 100%; object-fit: contain; display: block; }
86
+ #playOverlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; background: rgba(0,0,0,0.2); z-index: 10; transition: opacity 0.2s; }
87
  #playOverlay.playing { opacity: 0; pointer-events: none; }
88
+ #playOverlay i { font-size: 4rem; color: rgba(255,255,255,0.8); filter: drop-shadow(0 0 5px rgba(0,0,0,0.8)); pointer-events: none; }
89
  #subtitleLayer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; display: flex; justify-content: center; z-index: 20; }
90
  #activeText { position: absolute; white-space: pre; pointer-events: auto; cursor: move; padding: 0 0 8px 0; line-height: 1; font-weight: bold; transition: background-color 0.2s, text-shadow 0.2s, -webkit-text-stroke 0.2s; transform-origin: center center; text-align: center; left: 50%; transform: translateX(-50%); }
91
+ .word-active { background-color: var(--static-color); color: #fff; border-radius: 8px; padding: 0 8px; margin: 0 2px; box-shadow: 0 2px 8px rgba(160, 32, 240, 0.5); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
92
+ .word-highlight { color: #00D7FF !important; transform: scale(1.2); display:inline-block; text-shadow: 0 0 10px rgba(0, 215, 255, 0.5); }
93
 
94
  .magic-bar { padding: 15px 20px 5px 20px; background: var(--bg); display: flex; justify-content: center; position: sticky; top: 60px; z-index: 95; }
95
+ .btn-ai-magic { background: linear-gradient(90deg, #FF0080 0%, #7928CA 50%, #FF0080 100%); background-size: 200% auto; color: white; border: none; width: 100%; max-width: 600px; padding: 12px 20px; border-radius: 16px; font-weight: 900; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; box-shadow: 0 4px 20px rgba(121, 40, 202, 0.5); transition: all 0.3s; animation: gradientMove 3s linear infinite; font-family: 'Vazirmatn', sans-serif; }
96
+ .btn-ai-magic:active { transform: scale(0.98); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  @keyframes gradientMove { to { background-position: 200% center; } }
98
 
99
+ .controls-bar { display: flex; justify-content: center; gap: 10px; padding: 10px 10px; background: var(--bg); border-bottom: 1px solid #222; position: sticky; top: 115px; z-index: 90; flex-wrap: wrap; }
100
+ .tool-btn { display: flex; flex-direction: column; align-items: center; gap: 5px; background: var(--surface); border: 1px solid #333; color: #aaa; cursor: pointer; transition: 0.2s; padding: 8px 10px; border-radius: 12px; min-width: 70px; flex: 1; max-width: 100px; }
101
+ .tool-btn i { font-size: 1.2rem; margin-bottom: 2px; }
102
+ .tool-btn span { font-size: 0.75rem; font-weight: bold; }
103
+ .tool-btn:hover { color: #fff; background: #2a2a2a; }
104
+ .tool-btn.active-tool { color: #fff; background: var(--primary); border-color: var(--primary); }
 
105
 
106
+ #toolsContainer { width: 100%; background: var(--panel-bg); overflow: hidden; min-height: 0; transition: none; border-bottom: 1px solid #333; }
107
+ .tool-section { display: none; padding: 20px; animation: fadeIn 0.3s ease; max-width: 800px; margin: 0 auto; }
108
  .tool-section.active-section { display: block; }
109
  @keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
110
 
111
+ .btn-exp { background: var(--primary); color: #fff; border: none; padding: 10px 25px; border-radius: 12px; font-weight: bold; cursor: pointer; transition: 0.2s; font-family: inherit; }
112
+ .btn-magic-action { background: linear-gradient(135deg, #FF4081, #7C4DFF); width: 100%; border: none; padding: 12px; border-radius: 12px; color: white; font-weight: bold; font-family: inherit; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; }
 
113
 
114
+ .row { margin-bottom: 20px; }
115
+ label { display: block; margin-bottom: 8px; color: #ccc; font-size: 0.9rem; }
116
+ textarea { width: 100%; background: #222; color: #fff; border: 1px solid #444; padding: 15px; border-radius: 12px; font-family: inherit; font-size: 1rem; margin-bottom: 15px; resize: vertical; min-height: 80px; }
 
117
 
118
  /* --- تغییرات اصلی این بخش: گرید و ابعاد کارت --- */
119
+ .style-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
120
 
121
+ .style-grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
122
 
123
  .style-card {
124
+ background: #333;
125
  border: 2px solid transparent;
126
+ border-radius: 15px;
127
+ padding: 5px;
128
  cursor: pointer;
129
  display: flex;
130
  flex-direction: column;
131
  align-items: center;
132
  justify-content: center;
133
+ min-height: 0; /* تغییر: حذف حداقل ارتفاع */
134
  width: 100%;
135
  position: relative;
136
+ transition: all 0.2s;
137
+ box-shadow: 0 4px 6px rgba(0,0,0,0.2);
138
+ aspect-ratio: 1.4 / 1; /* تغییر: اضافه شدن نسبت ابعاد */
139
  }
140
 
141
+ .style-grid-2col .style-card { min-height: 100px; height: auto; gap: 8px; padding: 10px; aspect-ratio: auto; } /* ریست کردن aspect ratio برای بخش بالایی */
142
 
143
+ .style-card:active { transform: scale(0.98); }
144
+ .style-card.selected { border-color: var(--primary); background: #2a2a2a; }
145
+ .style-card.selected::after { content: '\f00c'; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; top: 8px; left: 8px; font-size: 0.7rem; color: #fff; background: var(--primary); width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 5px rgba(0,0,0,0.3); }
 
146
 
147
+ .card-info { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 100%; margin-top: 6px; padding-top: 4px; border-top: 1px solid rgba(255,255,255,0.1); text-align: center; }
148
+ .card-title-style { font-weight: bold; font-size: 0.8rem; color: #fff; white-space: nowrap; }
149
+ .card-desc { color: #aaa; font-size: 0.65rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
150
 
151
+ .anim-box { font-family: 'Lalezar'; font-size: 0.9rem; direction: rtl; display: flex; gap: 3px; margin-bottom: 5px; }
152
+ .anim-word { color: white; transition: 0.2s; padding: 0 2px; border-radius: 4px;}
153
+ .anim-word.active { color: #fff; background-color: #A020F0; transform: scale(1.05); padding: 0 4px; }
154
  .static-anim.active { background-color: var(--static-color) !important; color: #fff; }
155
 
156
+ .card-settings { position: absolute; bottom: 5px; left: 5px; width: 25px; height: 25px; background: rgba(255,255,255,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 0.8rem; transition: 0.2s; z-index: 5; border: 1px solid rgba(255,255,255,0.1); }
 
157
 
158
+ .mode-btn { flex: 1; padding: 12px; border-radius: 8px; background: #333; color: #aaa; border: 2px solid transparent; cursor: pointer; }
159
+ .mode-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); }
160
+ .font-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
161
+ .font-btn { padding: 15px; background: #333; border-radius: 8px; cursor: pointer; border: 2px solid transparent; position: relative; color: #fff; }
162
+ .font-btn.ticked { border-color: var(--primary); }
 
163
  .font-btn.ticked::after { content: '\f00c'; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; top: 10px; left: 10px; color: var(--primary); }
164
 
165
+ .custom-style-container { width: 100%; background: linear-gradient(90deg, #252525, #1e1e1e); border: 1px solid #444; border-right: 6px solid var(--primary); border-radius: 12px; margin-bottom: 25px; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s; max-height: 60px; cursor: pointer; position: relative; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
166
+ .custom-style-container.open { max-height: 600px; box-shadow: 0 10px 25px rgba(0,0,0,0.5); border-color: #666; }
167
+ .custom-header { height: 60px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; font-family: 'Lalezar'; font-size: 1.2rem; color: #fff; }
168
+ .custom-header-title { display: flex; align-items: center; gap: 10px; }
169
+ .custom-header-title i { color: var(--primary); font-size: 1.4rem; }
170
+ .toggle-icon { transition: transform 0.3s; font-size: 0.9rem; color: #888; }
171
  .custom-style-container.open .toggle-icon { transform: rotate(180deg); color: #fff; }
172
+ .custom-content { padding: 20px; opacity: 0; transition: opacity 0.3s ease 0.1s; border-top: 1px solid #333; background: #202020; }
173
  .custom-style-container.open .custom-content { opacity: 1; }
174
 
175
  .text-editor-ui { display: flex; flex-direction: column; width: 100%; height: 100%; background-color: var(--surface); padding-bottom: 10px; }
 
182
  .toolbar-area.show { opacity: 1; transform: translateY(0); pointer-events: all; }
183
 
184
  .tool-circle {
185
+ width: 45px; height: 45px; border-radius: 50%; background: #252525;
186
  border: 1px solid #444; color: #ccc; display: flex; align-items: center; justify-content: center;
187
+ font-size: 1.1rem; cursor: pointer; transition: 0.2s;
188
  }
189
+ .tool-circle:active { transform: scale(0.9); border-color: var(--primary); color: var(--primary); }
190
+ .tool-circle.active-state { background: rgba(124, 77, 255, 0.15); border-color: var(--primary); color: var(--primary); }
191
 
192
+ .fixed-info-bar { width: 100%; height: 30px; display: flex; align-items: center; justify-content: flex-start; padding: 0 20px; border-bottom: 1px solid #222; background-color: var(--surface); }
193
+ .global-time-text { color: #888; font-size: 0.8rem; font-family: monospace; direction: ltr; }
194
 
195
  .timeline-scroll-area {
196
+ flex: 1; width: 100%; overflow-x: auto; white-space: nowrap; padding: 15px 0;
197
  display: flex; align-items: center; scrollbar-width: none;
198
  }
199
  .timeline-scroll-area::-webkit-scrollbar { display: none; }
200
  .spacer { min-width: 50vw; }
201
 
202
  .word-chip {
203
+ background-color: var(--chip-bg); color: #aaa; padding: 8px 18px;
204
+ border-radius: 12px; margin: 0 4px; font-size: 0.95rem; cursor: pointer;
205
  transition: 0.2s; display: inline-flex; align-items: center; justify-content: center;
206
  border: 1px solid transparent;
207
  }
208
+ .word-chip.active { background-color: var(--primary); color: #fff; font-weight: bold; transform: scale(1.1); }
209
+ .newline-indicator { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; color: #555; margin: 0 10px; }
210
 
211
+ .bottom-sheet-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 6000; display: none; align-items: flex-end; justify-content: center; }
212
  .bottom-sheet-overlay.show { display: flex; }
213
 
214
  .bottom-sheet {
215
+ width: 100%; background: var(--surface); border-top-left-radius: 30px; border-top-right-radius: 30px;
216
+ padding: 25px 25px 80px 25px; transform: translateY(100%);
217
  transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
218
  display: none; flex-direction: column; gap: 20px;
219
+ box-shadow: 0 -10px 40px rgba(0,0,0,0.6);
220
  }
221
  .bottom-sheet.active { display: flex; transform: translateY(0); }
222
 
223
+ .sheet-handle { width: 50px; height: 5px; background: #333; border-radius: 3px; margin: 0 auto 5px auto; }
224
+ .sheet-title { text-align: center; color: #888; font-size: 0.9rem; margin-bottom: 5px; }
225
 
226
+ .sheet-actions { display: flex; gap: 12px; margin-top: 10px; }
227
+ .action-btn { flex: 1; padding: 15px; border-radius: 18px; border: none; font-family: inherit; font-size: 1rem; font-weight: bold; cursor: pointer; }
 
228
  .btn-cancel-sheet { background: #333; color: #ccc; }
229
+ .btn-apply-sheet { background: var(--primary); color: #fff; }
230
+ .btn-delete-sheet { background: var(--danger-red); color: #fff; }
231
 
232
+ .sheet-input { width: 100%; background: var(--input-bg); border: none; border-radius: 18px; padding: 18px; color: white; font-family: inherit; font-size: 1.1rem; text-align: center; }
 
233
 
234
+ .sheet-meta-row { display: flex; align-items: center; justify-content: center; gap: 15px; background: #252525; padding: 10px; border-radius: 15px; }
235
+ .time-display-text { color: #bbb; font-family: monospace; font-size: 1rem; letter-spacing: 1px; direction: ltr; }
236
 
237
+ .mini-play-btn { width: 35px; height: 35px; border-radius: 50%; background: #333; color: #fff; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; }
 
238
 
239
+ .time-control-row { display: flex; align-items: center; justify-content: space-between; background: var(--input-bg); padding: 10px 15px; border-radius: 18px; }
240
+ .time-label { color: #aaa; font-size: 0.9rem; width: 50px; }
241
+ .time-adjuster { display: flex; align-items: center; gap: 15px; }
242
+ .time-btn { width: 40px; height: 40px; background: #333; border: none; border-radius: 12px; color: #fff; font-size: 1.2rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
243
+ .time-value { font-family: monospace; font-size: 1.1rem; letter-spacing: 1px; width: 60px; text-align: center; direction: ltr; }
 
244
 
245
+ .delete-icon-wrap { width: 70px; height: 70px; border-radius: 50%; background: rgba(255, 82, 82, 0.1); color: var(--danger-red); display: flex; align-items: center; justify-content: center; font-size: 2rem; margin: 0 auto; }
246
+ .delete-msg { text-align: center; color: #fff; font-size: 1.1rem; margin-bottom: 10px; line-height: 1.6; }
247
+ .highlight-word { color: var(--primary); font-weight: bold; padding: 0 5px; }
248
 
249
  /* --- استایل‌های لودینگ نئونی جدید --- */
250
  #loader {
 
272
  /* استایل صفحه نتیجه */
273
  #resultScreen {
274
  position: fixed; top:0; left:0; width:100%; height:100%; background: var(--bg); z-index: 6000; display: none; flex-direction: column; justify-content: center; align-items: center;
 
275
  }
276
 
277
  .loader-wrapper {
 
557
  .picker-backdrop{ position: fixed; inset: 0; background: rgba(0,0,0,.46); opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s ease; z-index: 9998; }
558
  .picker-backdrop.active{ opacity: 1; visibility: visible; }
559
 
560
+ .picker-modal{ position: fixed; bottom: 0; left: 50%; width: min(100%, 720px); transform: translateX(-50%) translateY(110%); transition: transform .28s cubic-bezier(0.2,0.8,0.2,1); background: rgba(28,28,30,.74); -webkit-backdrop-filter: blur(22px) saturate(170%); backdrop-filter: blur(22px) saturate(170%); border: 1px solid rgba(255,255,255,.12); box-shadow: var(--shadow-lg); border-radius: 30px 30px 0 0; z-index: 9999; display:flex; flex-direction:column; max-height: 92vh; padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
561
  .picker-modal.active{ transform: translateX(-50%) translateY(0); }
562
 
563
+ .picker-header{ display:flex; align-items:center; justify-content:space-between; padding: 14px 16px; border-bottom: 1px solid var(--separator); flex-shrink: 0; }
564
+ .picker-icon{ width: 42px; height: 42px; border-radius: 999px; background: rgba(120,120,128,.22); border: 1px solid rgba(255,255,255,.10); display:flex; align-items:center; justify-content:center; color:#fff; cursor:pointer; transition: transform .12s ease; }
565
+ .picker-icon:active{ transform: scale(.96); }
566
 
567
+ .picker-tabs{ margin: 12px 16px 10px 16px; padding: 4px; border-radius: 14px; background: rgba(120,120,128,.18); border: 1px solid rgba(255,255,255,.10); display:flex; gap: 4px; flex-shrink: 0; }
568
+ .picker-tab{ flex:1; text-align:center; padding: 10px 0; border-radius: 10px; cursor:pointer; color: rgba(235,235,245,.62); font-weight: 900; transition: background .2s ease, color .2s ease; user-select:none; }
569
+ .picker-tab.active{ background: rgba(255,255,255,.14); color:#fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.10); }
570
 
571
  .view-section{ display:none; overflow-y:auto; padding-bottom: 10px; }
572
  .view-section.active-view{ display:block; }
573
 
574
  /* Spectrum */
575
+ .spectrum-container{ margin: 0 16px 6px 16px; height: 220px; border-radius: 18px; border: 1px solid rgba(255,255,255,.10); background: linear-gradient(to right, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); overflow:hidden; position:relative; cursor: crosshair; direction:ltr; box-shadow: inset 0 0 0 1px rgba(0,0,0,.25); }
576
  .spectrum-container::after{ content:""; position:absolute; inset:0; background: radial-gradient(900px 260px at 15% 0%, rgba(255,255,255,.14), transparent 55%); pointer-events:none; }
577
  .spectrum-overlay{ position:absolute; inset:0; background: linear-gradient(to bottom, transparent 0%, #ffffff 100%); mix-blend-mode: normal; }
578
+ .spectrum-handle{ position:absolute; width: 28px; height: 28px; border-radius: 999px; border: 3px solid rgba(255,255,255,.95); box-shadow: 0 10px 18px rgba(0,0,0,.45); transform: translate(-50%, -50%); pointer-events:none; background: rgba(0,0,0,.06); }
579
 
580
  /* GRID */
581
+ .grid-view-container{ margin: 0 16px 0 16px; padding: 12px; background: rgba(120,120,128,.10); border: 1px solid rgba(255,255,255,.10); border-radius: 18px; -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); display:grid; grid-template-columns: repeat(auto-fill, minmax(28px, 1fr)); gap: 8px; max-height: 320px; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: smooth; }
582
+ .grid-view-container::-webkit-scrollbar{ width: 10px; }
583
+ .grid-view-container::-webkit-scrollbar-track{ background: rgba(255,255,255,.04); border-radius: 999px; }
584
+ .grid-view-container::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.12); border-radius: 999px; border: 2px solid rgba(0,0,0,.0); background-clip: padding-box; }
585
+ .grid-item{ aspect-ratio: 1; border-radius: 10px; cursor:pointer; border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 14px rgba(0,0,0,.12); transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease; position: relative; overflow: hidden; }
586
+ .grid-item::after{ content:""; position:absolute; inset:0; background: radial-gradient(120% 120% at 20% 15%, rgba(255,255,255,.18), transparent 55%); pointer-events:none; opacity: .55; }
587
+ .grid-item:active{ transform: scale(.94); }
588
+ .grid-item.selected{ border-color: rgba(255,255,255,.90); box-shadow: 0 0 0 3px rgba(255,255,255,.14), inset 0 1px 0 rgba(255,255,255,.12), 0 12px 22px rgba(0,0,0,.18); transform: scale(1.02); }
589
+ .grid-item.selected::before{ content:"\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position:absolute; right: 6px; top: 6px; width: 16px; height: 16px; border-radius: 999px; display:flex; align-items:center; justify-content:center; font-size: 10px; color: rgba(0,0,0,.80); background: rgba(255,255,255,.92); box-shadow: 0 6px 12px rgba(0,0,0,.22); z-index: 2; }
590
 
591
  /* Manual View */
592
+ .manual-view-container{ padding: 10px 16px; display:flex; flex-direction:column; gap: 10px; }
593
+ .manual-control-row{ display:flex; align-items:center; gap: 10px; justify-content:space-between; }
594
+ .manual-num-input{ width: 64px; border-radius: 14px; padding: 10px 0; text-align:center; font-weight: 900; font-size: 1.05rem; color:#fff; background: rgba(120,120,128,.22); border: 1px solid rgba(255,255,255,.10); }
595
+ .manual-slider-group{ flex:1; display:flex; flex-direction:column; gap: 6px; }
596
+ .manual-label-text{ font-size:.82rem; color: rgba(235,235,245,.62); font-weight:900; padding-right: 6px; }
597
+ .rgb-slider{ -webkit-appearance:none; appearance:none; width: 100%; height: 40px; background: transparent; border-radius: 999px; --track-bg: rgba(255,255,255,.10); }
598
+ .rgb-slider::-webkit-slider-runnable-track{ height: 14px; border-radius: 999px; background: var(--track-bg); box-shadow: inset 0 1px 0 rgba(255,255,255,.10); }
599
+ .rgb-slider::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width: 28px; height: 28px; border-radius: 999px; background: rgba(255,255,255,.95); border: 2px solid rgba(255,255,255,.85); margin-top: -7px; box-shadow: 0 12px 20px rgba(0,0,0,.35); cursor:pointer; }
600
+ .hex-row{ margin-top: 6px; display:flex; align-items:center; gap: 10px; }
601
+ .hex-input{ width: 120px; border-radius: 14px; padding: 12px 10px; text-align:center; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-weight: 900; color:#fff; background: rgba(120,120,128,.22); border: 1px solid rgba(255,255,255,.10); letter-spacing: .5px; }
602
+ .hex-label{ color: rgba(235,235,245,.56); font-weight: 900; font-size: .9rem; }
603
 
604
  /* Global Sliders (Bright/Alpha) */
605
+ .sliders-global-wrapper{ margin-top: 10px; padding: 14px 16px 6px 16px; border-top: 1px solid var(--separator); flex-shrink: 0; }
606
+ .global-slider-row{ display:flex; align-items:center; gap: 10px; margin-bottom: 22px; position:relative; }
607
+ .global-slider-row:last-child{ margin-bottom: 8px; }
608
+ .global-slider-container{ flex:1; position:relative; height: 42px; border-radius: 18px; background: rgba(120,120,128,.12); border: 1px solid rgba(255,255,255,.10); padding: 0 12px; display:flex; align-items:center; -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
609
+ .global-label-top{ position:absolute; right: 2px; top: -22px; font-size: .82rem; font-weight: 900; color: rgba(235,235,245,.62); }
610
+ .value-pill{ min-width: 84px; height: 42px; border-radius: 999px; background: rgba(120,120,128,.22); border: 1px solid rgba(255,255,255,.10); display:flex; align-items:center; justify-content:center; gap: 8px; font-weight: 900; color:#fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
611
+ .value-pill i{ font-size: .95rem; color: rgba(235,235,245,.72); }
612
+ .common-slider{ -webkit-appearance:none; appearance:none; width: 100%; height: 40px; background: transparent; border-radius: 999px; --track-bg: rgba(255,255,255,.10); direction: ltr !important; }
613
+ .common-slider::-webkit-slider-runnable-track{ height: 14px; border-radius: 999px; background: var(--track-bg); box-shadow: inset 0 1px 0 rgba(255,255,255,.10); }
614
+ .common-slider::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width: 30px; height: 30px; border-radius: 999px; background: rgba(255,255,255,.95); border: 2px solid rgba(255,255,255,.85); margin-top: -8px; box-shadow: 0 12px 20px rgba(0,0,0,.35); cursor:pointer; }
615
 
616
  /* FIX: Photoshop Checkered Pattern for Alpha Container & Preview */
617
  .alpha-checkered {
618
  width: 100%;
619
+ height: 42px;
620
+ border-radius: 16px;
621
  background-image: conic-gradient(#dedede 0.25turn, #ffffff 0.25turn 0.5turn, #dedede 0.5turn 0.75turn, #ffffff 0.75turn);
622
  background-size: 14px 14px;
623
  background-position: top left;
624
  overflow: hidden;
625
  display: flex;
626
  align-items: center;
627
+ padding: 0 12px;
628
+ border: 1px solid rgba(255,255,255,.10);
629
  }
630
 
631
  /* Footer & Large Preview Fix */
632
+ .picker-footer{ margin-top: auto; padding: 12px 16px 0 16px; display:flex; align-items:center; justify-content:space-between; gap: 12px; border-top: 1px solid var(--separator); flex-shrink: 0; background: transparent; }
633
 
634
  /* FIX: Photoshop Checkered Pattern for Large Preview */
635
  .large-preview {
636
+ width: 64px;
637
+ height: 64px;
638
+ border-radius: 18px;
639
+ border: 1px solid rgba(255,255,255,.12);
640
+ box-shadow: 0 14px 24px rgba(0,0,0,.24);
641
  flex-shrink: 0;
642
  /* الگوی شطرنجی دقیق فتوشاپ */
643
  background-image: conic-gradient(#dedede 0.25turn, #ffffff 0.25turn 0.5turn, #dedede 0.5turn 0.75turn, #ffffff 0.75turn);
 
646
  }
647
 
648
  .saved-colors-container{ display:flex; gap: 10px; align-items:center; flex-wrap: wrap; flex:1; justify-content:flex-end; max-height: 90px; overflow-y:auto; padding-right: 4px; }
649
+ .btn-save-text{ height: 38px; border-radius: 999px; padding: 0 14px; display:flex; align-items:center; justify-content:center; gap: 8px; font-weight: 900; font-size: .82rem; color: rgba(255,255,255,.92); background: rgba(120,120,128,.18); border: 1px solid rgba(255,255,255,.10); cursor:pointer; user-select:none; transition: transform .12s ease, background .18s ease; flex-shrink:0; }
650
+ .btn-save-text:active{ transform: scale(.98); background: rgba(10,132,255,.22); border-color: rgba(10,132,255,.35); }
651
+ .saved-color-wrapper{ position:relative; width: 42px; height: 42px; flex-shrink:0; }
652
+ .saved-circle{ width:100%; height:100%; border-radius: 14px; border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 12px 18px rgba(0,0,0,.18); cursor:pointer; transition: transform .12s ease; }
653
+ .saved-circle:active{ transform: scale(.94); }
654
+ .mini-delete-btn{ position:absolute; top:-6px; right:-6px; width: 20px; height: 20px; border-radius: 999px; background: rgba(255,69,58,.95); border: 2px solid rgba(28,28,30,.88); display:flex; align-items:center; justify-content:center; color:#fff; cursor:pointer; box-shadow: 0 10px 16px rgba(0,0,0,.30); transition: transform .12s ease; z-index:2; }
655
+ .mini-delete-btn i{ font-size: 10px; }
656
+ .mini-delete-btn:active{ transform: scale(.92); }
657
 
658
  /* Color Triggers inside accordion */
659
+ .color-trigger-row{ display:flex; gap: 12px; margin: 14px 0 16px 0; }
660
+ .color-trigger{ flex:1; border-radius: 16px; background: rgba(44,44,46,.55); border: 1px solid rgba(255,255,255,.10); padding: 12px 12px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; position:relative; transition: transform .12s ease; }
661
+ .color-trigger:active{ transform: scale(.992); }
662
+ .color-trigger::before{ content:"\f054"; font-family: "Font Awesome 6 Free"; font-weight: 900; position:absolute; left: 12px; color: rgba(235,235,245,.42); font-size: .85rem; }
663
+ .color-label{ color: rgba(235,235,245,.80); font-weight: 900; font-size: .92rem; padding-left: 18px; }
664
+ .color-preview-circle{ width: 34px; height: 34px; border-radius: 12px; border: 1px solid rgba(255,255,255,.55); box-shadow: 0 10px 18px rgba(0,0,0,.28); }
665
 
666
  /* Delete modal specific */
667
+ .delete-overlay{ position: fixed; inset: 0; background: rgba(0,0,0,.58); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); z-index: 10000; display:none; align-items:center; justify-content:center; opacity:0; transition: opacity .22s ease; padding: 18px; }
668
  .delete-overlay.active{ display:flex; opacity:1; }
669
+ .delete-box{ width: min(340px, 92vw); border-radius: 22px; background: rgba(28,28,30,.88); border: 1px solid rgba(255,255,255,.12); box-shadow: var(--shadow-lg); padding: 22px 18px; text-align:center; transform: scale(.92); opacity:0; transition: transform .22s cubic-bezier(0.2,0.8,0.2,1), opacity .22s ease; }
670
  .delete-overlay.active .delete-box{ transform: scale(1); opacity:1; }
671
+ .del-preview{ width: 64px; height: 64px; border-radius: 18px; margin: 0 auto 14px auto; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 14px 22px rgba(0,0,0,.22); }
672
+ .del-title{ color:#fff; font-weight: 900; font-size: 1.02rem; margin: 8px 0 16px 0; }
673
+ .del-actions{ display:flex; gap: 10px; }
674
+ .del-btn{ flex:1; border:none; border-radius: 16px; padding: 12px 0; font-weight: 900; font-size: 1rem; cursor:pointer; transition: transform .12s ease, filter .12s ease; }
675
+ .del-btn:active{ transform: scale(.99); filter: brightness(1.05); }
676
+ .del-btn-confirm{ background: rgba(255,69,58,.95); color:#fff; }
677
+ .del-btn-cancel{ background: rgba(120,120,128,.22); color:#fff; border: 1px solid rgba(255,255,255,.10); }
678
 
679
  /* ================================================== */
680
  /* === استایل‌های جدید برای بخش ظاهر (Appearance) === */
681
  /* ================================================== */
682
  #section-appearance .controls-panel {
683
+ padding: 15px;
684
  }
685
 
686
  /* پنل‌های داخلی برای گروه‌بندی کنترل‌ها */
687
  .control-group-panel {
688
+ background-color: #1f1f23;
689
  border: 1px solid #3a3a3e;
690
+ border-radius: 18px;
691
+ padding: 20px;
692
+ margin-bottom: 20px;
693
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
694
  }
695
  .control-group-panel:last-child {
 
699
  /* بخش پیش‌نمایش زنده برای کادر */
700
  .box-preview-area {
701
  width: 100%;
702
+ min-height: 90px;
703
  margin-bottom: 25px;
704
+ padding: 15px;
705
  /* --- تغییر اصلی اینجاست --- */
706
  background-image: conic-gradient(#444 0.25turn, #333 0.25turn 0.5turn, #444 0.5turn 0.75turn, #333 0.75turn);
707
+ background-size: 20px 20px;
708
  /* -------------------------- */
709
+ border-radius: 12px;
710
  display: flex;
711
  justify-content: center;
712
  align-items: center;
713
  border: 1px solid #555;
 
714
  }
715
 
716
  .box-preview-element {
717
  color: #fff;
718
+ font-size: 1.2rem;
719
  font-weight: bold;
720
  display: inline-block;
721
  white-space: nowrap;
722
  /* اینجا line-height وجود نداشت */
723
  transition: all 0.15s ease-out;
 
724
  }
725
 
726
  /* ======================================== */
 
728
  /* ======================================== */
729
 
730
  .sheet-spinner-ring {
731
+ width: 60px;
732
+ height: 60px;
733
  border-radius: 50%;
734
+ border: 4px solid #333;
735
  border-top-color: var(--primary);
736
  border-right-color: var(--primary);
737
  animation: ringSpin 1s cubic-bezier(0.5, 0, 0.5, 1) infinite;
 
743
  }
744
 
745
  .success-checkmark-anim {
746
+ width: 80px;
747
+ height: 80px;
748
  border-radius: 50%;
749
  background: rgba(0, 230, 118, 0.15);
750
  display: flex;
 
754
  }
755
 
756
  .success-checkmark-anim i {
757
+ font-size: 3rem;
758
  color: #00e676;
759
  animation: checkScale 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s both;
 
760
  }
761
 
762
  @keyframes successPop {
 
776
  .word-count-grid {
777
  display: flex;
778
  overflow-x: auto;
779
+ padding: 10px 0;
780
+ gap: 10px;
781
  width: 100%;
782
  scrollbar-width: none;
783
  -ms-overflow-style: none;
 
789
 
790
  .wc-btn {
791
  flex: 0 0 auto;
792
+ width: 50px;
793
+ height: 50px;
794
+ border-radius: 14px;
795
  background: #333;
796
  color: #fff;
797
  border: 1px solid #444;
798
+ font-size: 1.2rem;
799
+ font-weight: bold;
800
  cursor: pointer;
801
  transition: 0.2s;
802
  display: flex;
803
  align-items: center;
804
  justify-content: center;
 
805
  }
806
  .wc-btn:active {
807
  background: var(--primary);
808
  border-color: var(--primary);
809
+ transform: scale(0.9);
810
  }
811
 
812
  /* ======================================== */
 
824
  }
825
 
826
  .trimmer-play-btn {
827
+ width: 50px;
828
+ height: 50px;
829
  border-radius: 50%;
830
  border: 2px solid var(--accent-orange);
831
+ background: transparent;
832
  color: var(--accent-orange);
833
+ font-size: 1.4rem;
834
  display: flex;
835
  align-items: center;
836
  justify-content: center;
837
  cursor: pointer;
838
  transition: transform 0.2s;
 
839
  }
840
  .trimmer-play-btn:active {
841
  transform: scale(0.9);
 
842
  }
843
 
844
  .trimmer-time-display {
845
  font-family: monospace;
846
+ font-size: 1.2rem;
847
  color: #fff;
848
  font-weight: bold;
849
  direction: ltr;
 
850
  }
851
 
852
  .trimmer-body {
 
854
  align-items: center;
855
  justify-content: space-between;
856
  width: 100%;
857
+ gap: 10px;
858
+ margin-bottom: 20px;
859
  }
860
 
861
  .word-preview-side {
862
+ width: 60px;
863
+ height: 60px;
864
+ background: #222;
865
+ border-radius: 12px;
866
  display: flex;
867
  align-items: center;
868
  justify-content: center;
869
+ color: #777;
870
+ font-size: 0.9rem;
871
  font-weight: bold;
872
  text-align: center;
873
  flex-shrink: 0;
 
874
  }
875
 
876
  .trimmer-container {
877
  flex: 1;
878
  position: relative;
879
+ height: 60px;
880
  background: #000;
881
+ border-radius: 10px;
882
  overflow: hidden;
883
+ /* اگر بخواهیم هندل‌ها بیرون نزنند */
 
884
  }
885
 
886
  /* نوار کلی (ترک) */
887
  .timeline-strip {
888
  position: absolute;
889
  top: 50%;
890
+ left: 10px; /* مارجین برای هندل‌ها */
891
  right: 10px;
892
+ height: 40px;
893
  transform: translateY(-50%);
894
  background: linear-gradient(90deg, #333 0%, #444 50%, #333 100%);
895
  background-size: 20px 100%;
896
+ border-radius: 4px;
 
897
  }
898
 
899
  /* بخش فعال (بین دو هندل) */
 
901
  position: absolute;
902
  top: 0;
903
  bottom: 0;
904
+ background: rgba(255, 255, 255, 0.15);
905
+ border-top: 2px solid #FDD835;
906
+ border-bottom: 2px solid #FDD835;
907
+ left: 0; /* این مقادیر با JS تغییر میکنن */
908
+ right: 0; /* این مقادیر با JS تغییر میکنن */
 
 
909
  }
910
 
911
  /* هندل‌های زرد رنگ */
 
913
  position: absolute;
914
  top: 0;
915
  bottom: 0;
916
+ width: 20px;
917
  background: #FDD835;
918
  cursor: col-resize;
919
  display: flex;
920
  align-items: center;
921
  justify-content: center;
922
  color: #000;
923
+ font-size: 0.8rem;
924
  z-index: 10;
925
+ border-radius: 4px;
 
926
  }
927
 
928
  .trim-handle.left {
929
+ left: 0; /* JS کنترل میکنه */
930
+ border-top-left-radius: 8px;
931
+ border-bottom-left-radius: 8px;
932
  }
933
 
934
  .trim-handle.right {
935
+ right: 0; /* JS کنترل میکنه (right: 0 یعنی چسبیده به ته) */
936
+ /* اما برای پوزیشن ابسولوت نسبت به پرنت، ما از style.left استفاده میکنیم */
937
+ border-top-right-radius: 8px;
938
+ border-bottom-right-radius: 8px;
939
  }
940
 
941
  .trimmer-current-word {
942
  text-align: center;
943
  background: #333;
944
+ padding: 10px 20px;
945
+ border-radius: 16px;
946
  color: #fff;
947
+ font-size: 1.1rem;
948
  font-weight: bold;
949
  align-self: center;
950
  margin-bottom: 10px;
951
+ min-width: 100px;
 
 
952
  }
953
  /* --- استایل‌های جدید بخش فونت و تنظیمات --- */
954
+ .sub-nav-container { display: flex; background: #252525; padding: 5px; border-radius: 14px; margin-bottom: 20px; }
955
+ .sub-nav-btn { flex: 1; text-align: center; padding: 10px; border-radius: 10px; color: #aaa; font-weight: 900; font-size: 0.9rem; cursor: pointer; transition: 0.2s; }
956
+ .sub-nav-btn.active { background: var(--primary); color: #fff; box-shadow: 0 4px 10px rgba(124, 77, 255, 0.3); }
957
  .sub-section-content { display: none; }
958
+ .sub-section-content.active { display: block; animation: fadeIn 0.2s ease; }
959
+
960
+ .settings-row { display: flex; align-items: center; justify-content: space-between; background: #252525; padding: 12px 16px; border-radius: 18px; margin-bottom: 12px; border: 1px solid #333; transition: transform 0.2s, background 0.2s; cursor: pointer; }
961
+ .settings-row:active { transform: scale(0.98); background: #2a2a2a; }
962
+ .settings-left-part { display: flex; align-items: center; gap: 14px; }
963
+ .settings-icon-box { width: 38px; height: 38px; border-radius: 12px; background: rgba(124, 77, 255, 0.1); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
964
+ .settings-icon-box svg { width: 20px; height: 20px; fill: var(--primary); filter: drop-shadow(0 0 5px rgba(124,77,255,0.5)); }
965
+ .settings-label { font-weight: 900; color: #eee; font-size: 0.95rem; }
966
+ .color-ring-container { width: 42px; height: 42px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.15); padding: 3px; display: flex; align-items: center; justify-content: center; transition: border-color 0.2s; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
967
  .settings-row:hover .color-ring-container { border-color: var(--primary); }
968
+ .color-circle-inner { width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 0 10px rgba(0,0,0,0.2); border: 1px solid rgba(0,0,0,0.1); }