PluginProbe
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder / 51.1.86
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder v51.1.86
51.1.86 51.1.84 51.1.85 51.1.83 51.1.82 51.1.81 51.1.79 51.1.78 51.1.77 51.1.76 51.1.74 51.1.75 51.1.65 51.1.64 51.1.63 trunk 51.1.14 51.1.2 51.1.35 51.1.36 51.1.37 51.1.38 51.1.39 51.1.44 51.1.45 All 40 releases
← All changes | includes/extensions/Docs_KB/assets/frontend.css +1198 -772 51.1.44 → 51.1.86 View file →
@@ -1,81 +1,182 @@
1 1 /**
2 - * Docs & Knowledge Base - Frontend Styles
3 - * Apple-inspired design with clean, modern aesthetics
2 + * Docs & Knowledge Base v2 – Apple Liquid-Glass Frontend
4 3 *
4 + * Design inspired by apple.com/iphone-17-pro:
5 + * • SF Pro Display font stack with tight tracking
6 + * • Frosted-glass / backdrop-filter surfaces
7 + * • Full-width alternating light/dark sections
8 + * • Generous whitespace, scroll-triggered reveals
9 + * • Subtle card hover animations with glassmorphism
10 + * • Dark-mode support via data-theme attribute
11 + *
5 12 * @package King_Addons
6 13 */
7 14
8 -/* ======================================
9 - CSS Variables
10 - ====================================== */
15 +/* ═══════════════════════════════════════════
16 + 0. CSS CUSTOM PROPERTIES
17 + ═══════════════════════════════════════════ */
11 18 :root {
12 - --kng-docs-primary: #0066ff;
13 - --kng-docs-primary-hover: #0052cc;
14 - --kng-docs-bg: #f5f5f7;
15 - --kng-docs-surface: #ffffff;
19 + /* Brand */
20 + --kng-docs-primary: #0071e3;
21 + --kng-docs-primary-hover: #0077ed;
22 + --kng-docs-icon-color: #0071e3;
23 + --kng-docs-link-color: #0071e3;
24 +
25 + /* Surface (light) */
26 + --kng-docs-bg: #fbfbfd;
27 + --kng-docs-bg-alt: #f5f5f7;
28 + --kng-docs-surface: rgba(255, 255, 255, 0.72);
29 + --kng-docs-surface-solid: #ffffff;
30 + --kng-docs-surface-hover: rgba(255, 255, 255, 0.92);
31 +
32 + /* Text */
16 33 --kng-docs-text: #1d1d1f;
17 34 --kng-docs-text-secondary: #6e6e73;
18 35 --kng-docs-text-muted: #86868b;
19 - --kng-docs-border: #e5e5ea;
20 - --kng-docs-shadow: rgba(0, 0, 0, 0.04);
21 - --kng-docs-shadow-lg: rgba(0, 0, 0, 0.08);
22 - --kng-docs-radius: 16px;
36 +
37 + /* Borders / Shadows */
38 + --kng-docs-border: rgba(0, 0, 0, 0.06);
39 + --kng-docs-divider: rgba(0, 0, 0, 0.04);
40 + --kng-docs-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
41 + --kng-docs-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
42 + --kng-docs-shadow-lg: 0 12px 48px rgba(0, 0, 0, 0.08);
43 + --kng-docs-shadow-glow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 8px 40px rgba(0, 0, 0, 0.06);
44 +
45 + /* Radii */
46 + --kng-docs-radius-xl: 24px;
47 + --kng-docs-radius: 20px;
48 + --kng-docs-radius-md: 16px;
23 49 --kng-docs-radius-sm: 12px;
24 50 --kng-docs-radius-xs: 8px;
25 - --kng-docs-transition: 0.2s ease;
26 - --kng-docs-font: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif;
51 +
52 + /* Motion */
53 + --kng-docs-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
54 + --kng-docs-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
55 + --kng-docs-transition: 0.3s var(--kng-docs-ease);
56 + --kng-docs-transition-fast: 0.18s var(--kng-docs-ease);
57 +
58 + /* Typography */
59 + --kng-docs-font: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', 'Segoe UI', Roboto, system-ui, sans-serif;
60 + --kng-docs-font-mono: 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace;
27 61 }
28 62
29 -/* ======================================
30 - Base Page Styles
31 - ====================================== */
63 +/* ── Dark mode ── */
64 +[data-kng-theme="dark"] {
65 + --kng-docs-bg: #000000;
66 + --kng-docs-bg-alt: #111111;
67 + --kng-docs-surface: rgba(30, 30, 30, 0.72);
68 + --kng-docs-surface-solid: #1c1c1e;
69 + --kng-docs-surface-hover: rgba(44, 44, 46, 0.88);
70 + --kng-docs-text: #f5f5f7;
71 + --kng-docs-text-secondary: #a1a1a6;
72 + --kng-docs-text-muted: #86868b;
73 + --kng-docs-border: rgba(255, 255, 255, 0.08);
74 + --kng-docs-divider: rgba(255, 255, 255, 0.05);
75 + --kng-docs-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.2);
76 + --kng-docs-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
77 + --kng-docs-shadow-lg: 0 12px 48px rgba(0, 0, 0, 0.4);
78 + --kng-docs-shadow-glow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 8px 40px rgba(0, 0, 0, 0.3);
79 +}
80 +
81 +/* ═══════════════════════════════════════════
82 + 1. BASE / RESET
83 + ═══════════════════════════════════════════ */
32 84 .kng-docs-page {
33 85 font-family: var(--kng-docs-font);
34 - background: var(--kng-docs-bg);
86 + background:
87 + radial-gradient(ellipse 80% 40% at 50% -5%, rgba(0,113,227,0.10) 0%, transparent 70%),
88 + radial-gradient(ellipse 50% 30% at 85% 40%, rgba(90,200,250,0.07) 0%, transparent 60%),
89 + radial-gradient(ellipse 40% 25% at 15% 60%, rgba(175,82,222,0.05) 0%, transparent 60%),
90 + var(--kng-docs-bg);
91 + color: var(--kng-docs-text);
35 92 min-height: 100vh;
36 - padding: 40px 0 80px;
37 93 -webkit-font-smoothing: antialiased;
94 + -moz-osx-font-smoothing: grayscale;
95 + line-height: 1.47059;
96 + letter-spacing: -0.022em;
38 97 }
39 98
99 +[data-kng-theme="dark"] .kng-docs-page,
100 +[data-kng-theme="dark"].kng-docs-page {
101 + background:
102 + radial-gradient(ellipse 80% 40% at 50% -5%, rgba(0,113,227,0.18) 0%, transparent 70%),
103 + radial-gradient(ellipse 50% 30% at 85% 40%, rgba(90,200,250,0.10) 0%, transparent 60%),
104 + radial-gradient(ellipse 40% 25% at 15% 60%, rgba(175,82,222,0.08) 0%, transparent 60%),
105 + #000000;
106 +}
107 +
108 +.kng-docs-page *,
109 +.kng-docs-page *::before,
110 +.kng-docs-page *::after {
111 + box-sizing: border-box;
112 +}
113 +
40 114 .kng-docs-container {
41 - max-width: 1200px;
115 + max-width: 1120px;
42 116 margin: 0 auto;
43 117 padding: 0 24px;
44 118 }
45 119
46 -/* ======================================
47 - Hero Section
48 - ====================================== */
120 +.kng-docs-wide-container {
121 + max-width: 1440px;
122 + margin: 0 auto;
123 + padding: 0 24px;
124 +}
125 +
126 +/* ═══════════════════════════════════════════
127 + 2. HERO SECTION
128 + ═══════════════════════════════════════════ */
49 129 .kng-docs-hero {
50 130 text-align: center;
51 - padding: 60px 0 40px;
52 - max-width: 700px;
131 + padding: 80px 0 48px;
132 + max-width: 680px;
53 133 margin: 0 auto;
54 134 }
55 135
136 +.kng-docs-hero-eyebrow {
137 + display: inline-flex;
138 + align-items: center;
139 + gap: 6px;
140 + font-size: 14px;
141 + font-weight: 600;
142 + letter-spacing: 0.02em;
143 + text-transform: uppercase;
144 + color: var(--kng-docs-primary);
145 + margin-bottom: 16px;
146 +}
147 +
148 +.kng-docs-hero-eyebrow svg {
149 + width: 16px;
150 + height: 16px;
151 +}
152 +
56 153 .kng-docs-hero-title {
57 - font-size: 48px;
154 + font-size: clamp(40px, 6vw, 64px);
58 155 font-weight: 700;
59 - letter-spacing: -0.025em;
156 + letter-spacing: -0.04em;
157 + line-height: 1.05;
60 158 color: var(--kng-docs-text);
61 159 margin: 0 0 16px;
62 160 }
63 161
64 162 .kng-docs-hero-subtitle {
65 - font-size: 20px;
163 + font-size: clamp(17px, 2vw, 21px);
164 + font-weight: 400;
66 165 color: var(--kng-docs-text-secondary);
67 - margin: 0 0 32px;
68 - line-height: 1.5;
166 + line-height: 1.52381;
167 + letter-spacing: 0.011em;
168 + margin: 0 0 40px;
69 169 }
70 170
71 -/* ======================================
72 - Search
73 - ====================================== */
171 +/* ═══════════════════════════════════════════
172 + 3. SEARCH — Frosted Glass Capsule
173 + ═══════════════════════════════════════════ */
74 174 .kng-docs-search {
75 175 position: relative;
76 - max-width: 600px;
77 - margin: 0 auto;
176 + max-width: 640px;
177 + margin: 0 auto 64px;
178 + z-index: 50;
78 179 }
79 180
80 181 .kng-docs-search-inner {
81 182 position: relative;
@@ -84,13 +185,14 @@
84 185 }
85 186
86 187 .kng-docs-search-icon {
87 188 position: absolute;
88 - left: 20px;
89 - width: 24px;
90 - height: 24px;
189 + left: 22px;
190 + width: 20px;
191 + height: 20px;
91 192 color: var(--kng-docs-text-muted);
92 193 pointer-events: none;
194 + transition: color var(--kng-docs-transition-fast);
93 195 }
94 196
95 197 .kng-docs-search-input {
96 198 width: 100%;
@@ -97,41 +199,85 @@
97 199 height: 56px;
98 200 padding: 0 56px;
99 201 font-size: 17px;
100 202 font-family: var(--kng-docs-font);
101 - border: none;
102 - border-radius: 28px;
203 + font-weight: 400;
204 + letter-spacing: -0.022em;
205 + color: var(--kng-docs-text);
206 + border: 1px solid var(--kng-docs-border);
207 + border-radius: 980px;
103 208 background: var(--kng-docs-surface);
104 - box-shadow: 0 2px 20px var(--kng-docs-shadow-lg);
105 - transition: box-shadow var(--kng-docs-transition);
209 + backdrop-filter: blur(20px) saturate(180%);
210 + -webkit-backdrop-filter: blur(20px) saturate(180%);
211 + box-shadow: var(--kng-docs-shadow);
212 + transition: all var(--kng-docs-transition);
213 + outline: none;
106 214 }
107 215
108 216 .kng-docs-search-input:focus {
109 - outline: none;
110 - box-shadow: 0 4px 30px rgba(0, 102, 255, 0.15);
217 + border-color: var(--kng-docs-primary);
218 + box-shadow: var(--kng-docs-shadow-lg), 0 0 0 4px rgba(0, 113, 227, 0.12);
219 + background: var(--kng-docs-surface-hover);
111 220 }
112 221
222 +.kng-docs-search-input:focus ~ .kng-docs-search-icon {
223 + color: var(--kng-docs-primary);
224 +}
225 +
113 226 .kng-docs-search-input::placeholder {
114 227 color: var(--kng-docs-text-muted);
115 228 }
116 229
230 +/* Shortcut hint */
231 +.kng-docs-search-shortcut {
232 + position: absolute;
233 + right: 18px;
234 + display: flex;
235 + align-items: center;
236 + gap: 4px;
237 + pointer-events: none;
238 + transition: opacity var(--kng-docs-transition-fast);
239 +}
240 +
241 +.kng-docs-search-shortcut kbd {
242 + display: inline-flex;
243 + align-items: center;
244 + justify-content: center;
245 + min-width: 24px;
246 + height: 24px;
247 + padding: 0 6px;
248 + font-family: var(--kng-docs-font);
249 + font-size: 12px;
250 + font-weight: 500;
251 + color: var(--kng-docs-text-muted);
252 + background: var(--kng-docs-bg-alt);
253 + border: 1px solid var(--kng-docs-border);
254 + border-radius: 6px;
255 +}
256 +
257 +.kng-docs-search-input:focus ~ .kng-docs-search-shortcut {
258 + opacity: 0;
259 +}
260 +
261 +/* Loader */
117 262 .kng-docs-search-loader {
118 263 position: absolute;
119 264 right: 20px;
265 + display: none;
120 266 }
121 267
122 268 .kng-docs-search-loader svg {
123 - width: 24px;
124 - height: 24px;
269 + width: 22px;
270 + height: 22px;
125 271 color: var(--kng-docs-primary);
126 - animation: kng-docs-spin 1s linear infinite;
272 + animation: kng-spin 0.8s linear infinite;
127 273 }
128 274
129 -@keyframes kng-docs-spin {
130 - from { transform: rotate(0deg); }
275 +@keyframes kng-spin {
131 276 to { transform: rotate(360deg); }
132 277 }
133 278
279 +/* Results dropdown */
134 280 .kng-docs-search-results {
135 281 position: absolute;
136 282 top: calc(100% + 8px);
137 283 left: 0;
@@ -136,22 +282,37 @@
136 282 top: calc(100% + 8px);
137 283 left: 0;
138 284 right: 0;
139 285 background: var(--kng-docs-surface);
286 + backdrop-filter: blur(40px) saturate(200%);
287 + -webkit-backdrop-filter: blur(40px) saturate(200%);
288 + border: 1px solid var(--kng-docs-border);
140 289 border-radius: var(--kng-docs-radius);
141 - box-shadow: 0 8px 40px var(--kng-docs-shadow-lg);
142 - max-height: 400px;
290 + box-shadow: var(--kng-docs-shadow-lg);
291 + max-height: 420px;
143 292 overflow-y: auto;
144 - z-index: 100;
293 + overscroll-behavior: contain;
294 + display: none;
145 295 }
146 296
297 +.kng-docs-search-results::-webkit-scrollbar {
298 + width: 6px;
299 +}
300 +
301 +.kng-docs-search-results::-webkit-scrollbar-thumb {
302 + background: var(--kng-docs-border);
303 + border-radius: 3px;
304 +}
305 +
147 306 .kng-docs-search-result {
148 - display: block;
149 - padding: 16px 20px;
307 + display: flex;
308 + flex-direction: column;
309 + gap: 4px;
310 + padding: 14px 20px;
150 311 text-decoration: none;
151 312 color: inherit;
152 - border-bottom: 1px solid var(--kng-docs-border);
153 - transition: background var(--kng-docs-transition);
313 + border-bottom: 1px solid var(--kng-docs-divider);
314 + transition: background var(--kng-docs-transition-fast);
154 315 }
155 316
156 317 .kng-docs-search-result:last-child {
157 318 border-bottom: none;
@@ -156,760 +317,569 @@
156 317 .kng-docs-search-result:last-child {
157 318 border-bottom: none;
158 319 }
159 320
160 -.kng-docs-search-result:hover {
161 - background: var(--kng-docs-bg);
321 +.kng-docs-search-result:hover,
322 +.kng-docs-search-result:focus {
323 + background: var(--kng-docs-surface-hover);
324 + outline: none;
162 325 }
163 326
164 327 .kng-docs-search-result-title {
165 328 font-weight: 600;
329 + font-size: 15px;
166 330 color: var(--kng-docs-text);
167 - margin-bottom: 4px;
168 331 }
169 332
170 333 .kng-docs-search-result-title mark {
171 - background: rgba(0, 102, 255, 0.15);
334 + background: rgba(0, 113, 227, 0.12);
172 335 color: var(--kng-docs-primary);
173 - padding: 0 2px;
174 - border-radius: 2px;
336 + padding: 1px 3px;
337 + border-radius: 3px;
175 338 }
176 339
177 -.kng-docs-search-result-category {
340 +.kng-docs-search-result-meta {
341 + display: flex;
342 + align-items: center;
343 + gap: 8px;
178 344 font-size: 13px;
179 345 color: var(--kng-docs-text-muted);
180 346 }
181 347
182 -.kng-docs-search-empty {
183 - padding: 32px 20px;
184 - text-align: center;
185 - color: var(--kng-docs-text-secondary);
348 +.kng-docs-search-result-meta .kng-docs-dot {
349 + width: 3px;
350 + height: 3px;
351 + border-radius: 50%;
352 + background: var(--kng-docs-text-muted);
353 + opacity: 0.5;
186 354 }
187 355
188 -/* Category page search */
189 -.kng-docs-search-category {
190 - margin-bottom: 40px;
191 -}
192 -
193 -/* ======================================
194 - Empty State
195 - ====================================== */
196 -.kng-docs-empty {
356 +.kng-docs-search-empty {
357 + padding: 40px 24px;
197 358 text-align: center;
198 - padding: 80px 20px;
199 -}
200 -
201 -.kng-docs-empty svg {
202 - width: 64px;
203 - height: 64px;
204 - color: var(--kng-docs-text-muted);
205 - margin-bottom: 20px;
206 -}
207 -
208 -.kng-docs-empty h3 {
209 - font-size: 20px;
210 - font-weight: 600;
211 - color: var(--kng-docs-text);
212 - margin: 0 0 8px;
213 -}
214 -
215 -.kng-docs-empty p {
216 359 color: var(--kng-docs-text-secondary);
217 - margin: 0;
360 + font-size: 15px;
218 361 }
219 362
220 -/* ======================================
221 - Categories Grid - Base
222 - ====================================== */
363 +/* ═══════════════════════════════════════════
364 + 4. CATEGORIES GRID — Glass Cards
365 + ═══════════════════════════════════════════ */
223 366 .kng-docs-categories {
224 367 display: grid;
225 368 grid-template-columns: repeat(var(--kng-docs-columns, 3), 1fr);
226 - gap: 24px;
227 - margin-top: 40px;
369 + gap: 20px;
370 + padding-bottom: 80px;
228 371 }
229 372
230 -@media (max-width: 992px) {
231 - .kng-docs-categories {
232 - grid-template-columns: repeat(2, 1fr);
233 - }
373 +@media (max-width: 1024px) {
374 + .kng-docs-categories { grid-template-columns: repeat(2, 1fr); }
234 375 }
235 376
236 377 @media (max-width: 640px) {
237 - .kng-docs-categories {
238 - grid-template-columns: 1fr;
239 - }
378 + .kng-docs-categories { grid-template-columns: 1fr; }
240 379 }
241 380
242 -/* ======================================
243 - Layout: Box
244 - ====================================== */
245 -.kng-docs-category-box {
381 +/* ── Glass Card Layout ── */
382 +.kng-docs-category--glass-card {
383 + position: relative;
246 384 background: var(--kng-docs-surface);
385 + backdrop-filter: blur(20px) saturate(180%);
386 + -webkit-backdrop-filter: blur(20px) saturate(180%);
387 + border: 1px solid var(--kng-docs-border);
247 388 border-radius: var(--kng-docs-radius);
248 - padding: 24px;
249 - box-shadow: 0 2px 12px var(--kng-docs-shadow);
250 - transition: transform var(--kng-docs-transition), box-shadow var(--kng-docs-transition);
389 + padding: 32px 28px;
390 + text-decoration: none;
391 + color: inherit;
392 + display: flex;
393 + flex-direction: column;
394 + gap: 12px;
395 + overflow: hidden;
396 + transition: transform var(--kng-docs-transition), box-shadow var(--kng-docs-transition), border-color var(--kng-docs-transition);
251 397 }
252 398
253 -.kng-docs-category-box:hover {
254 - transform: translateY(-4px);
255 - box-shadow: 0 8px 32px var(--kng-docs-shadow-lg);
399 +.kng-docs-category--glass-card:hover {
400 + transform: translateY(-4px) scale(1.01);
401 + box-shadow: var(--kng-docs-shadow-lg);
402 + border-color: rgba(0, 113, 227, 0.2);
256 403 }
257 404
258 -.kng-docs-category-box .kng-docs-category-header {
259 - display: flex;
260 - align-items: center;
261 - gap: 12px;
262 - margin-bottom: 16px;
405 +.kng-docs-category--glass-card::before {
406 + content: '';
407 + position: absolute;
408 + inset: 0;
409 + background: linear-gradient(135deg, rgba(0, 113, 227, 0.04) 0%, transparent 60%);
410 + border-radius: inherit;
411 + opacity: 0;
412 + transition: opacity var(--kng-docs-transition);
413 + pointer-events: none;
263 414 }
264 415
265 -.kng-docs-category-box .kng-docs-category-icon {
266 - width: 40px;
267 - height: 40px;
416 +.kng-docs-category--glass-card:hover::before {
417 + opacity: 1;
418 +}
419 +
420 +/* Icon badge */
421 +.kng-docs-category__icon {
422 + width: 48px;
423 + height: 48px;
268 424 display: flex;
269 425 align-items: center;
270 426 justify-content: center;
271 - background: linear-gradient(135deg, var(--icon-color, var(--kng-docs-primary)) 0%, color-mix(in srgb, var(--icon-color, var(--kng-docs-primary)) 80%, #5ac8fa) 100%);
272 - border-radius: var(--kng-docs-radius-xs);
427 + background: linear-gradient(135deg, var(--kng-docs-icon-color), color-mix(in srgb, var(--kng-docs-icon-color) 70%, #5ac8fa));
428 + border-radius: var(--kng-docs-radius-sm);
273 429 flex-shrink: 0;
430 + box-shadow: 0 4px 12px rgba(0, 113, 227, 0.2);
274 431 }
275 432
276 -.kng-docs-category-box .kng-docs-category-icon svg {
277 - width: 22px;
278 - height: 22px;
433 +.kng-docs-category__icon svg {
434 + width: 24px;
435 + height: 24px;
279 436 color: #fff;
280 437 }
281 438
282 -.kng-docs-category-box .kng-docs-category-title {
283 - flex: 1;
284 - font-size: 18px;
439 +.kng-docs-category__title {
440 + font-size: 20px;
285 441 font-weight: 600;
442 + letter-spacing: -0.02em;
286 443 color: var(--kng-docs-text);
287 - text-decoration: none;
288 - transition: color var(--kng-docs-transition);
444 + margin: 0;
289 445 }
290 446
291 -.kng-docs-category-box .kng-docs-category-title:hover {
292 - color: var(--kng-docs-primary);
447 +.kng-docs-category__desc {
448 + font-size: 15px;
449 + color: var(--kng-docs-text-secondary);
450 + line-height: 1.47;
451 + margin: 0;
452 + display: -webkit-box;
453 + -webkit-line-clamp: 2;
454 + -webkit-box-orient: vertical;
455 + overflow: hidden;
293 456 }
294 457
295 -.kng-docs-category-box .kng-docs-category-count {
458 +.kng-docs-category__count {
296 459 font-size: 13px;
297 460 font-weight: 500;
298 461 color: var(--kng-docs-text-muted);
299 - background: var(--kng-docs-bg);
300 - padding: 4px 10px;
301 - border-radius: 20px;
462 + margin-top: auto;
463 + padding-top: 4px;
302 464 }
303 465
304 -.kng-docs-category-box .kng-docs-category-desc {
305 - font-size: 14px;
306 - color: var(--kng-docs-text-secondary);
307 - margin: 0 0 16px;
308 - line-height: 1.5;
309 -}
310 -
311 -.kng-docs-category-box .kng-docs-category-list {
466 +/* Article preview list inside glass-card */
467 +.kng-docs-category--glass-card .kng-docs-category__articles {
312 468 list-style: none;
313 - margin: 0;
314 469 padding: 0;
470 + margin: 4px 0 0;
471 + display: flex;
472 + flex-direction: column;
473 + gap: 2px;
315 474 }
316 475
317 -.kng-docs-category-box .kng-docs-category-list li {
318 - margin-bottom: 8px;
319 -}
320 -
321 -.kng-docs-category-box .kng-docs-category-list a {
476 +.kng-docs-category--glass-card .kng-docs-category__articles li {
322 477 display: flex;
323 478 align-items: center;
324 - padding: 10px 12px;
325 - font-size: 14px;
326 - color: var(--kng-docs-text);
327 - text-decoration: none;
328 - background: var(--kng-docs-bg);
329 - border-radius: var(--kng-docs-radius-xs);
330 - transition: background var(--kng-docs-transition), color var(--kng-docs-transition);
331 -}
332 -
333 -.kng-docs-category-box .kng-docs-category-list a:hover {
334 - background: var(--kng-docs-primary);
335 - color: #fff;
336 -}
337 -
338 -.kng-docs-category-more {
339 - display: inline-flex;
340 - align-items: center;
341 - gap: 4px;
342 - margin-top: 12px;
343 - font-size: 14px;
344 - font-weight: 500;
345 - color: var(--kng-docs-primary);
346 - text-decoration: none;
347 - transition: gap var(--kng-docs-transition);
348 -}
349 -
350 -.kng-docs-category-more:hover {
351 479 gap: 8px;
352 480 }
353 481
354 -.kng-docs-category-more svg {
355 - width: 16px;
356 - height: 16px;
357 -}
358 -
359 -/* ======================================
360 - Layout: Card
361 - ====================================== */
362 -.kng-docs-category-card {
482 +.kng-docs-category--glass-card .kng-docs-category__article-link {
363 483 display: flex;
364 - flex-direction: column;
365 484 align-items: center;
366 - text-align: center;
367 - padding: 40px 24px;
368 - background: var(--kng-docs-surface);
369 - border-radius: var(--kng-docs-radius);
370 - text-decoration: none;
371 - box-shadow: 0 2px 12px var(--kng-docs-shadow);
372 - transition: transform var(--kng-docs-transition), box-shadow var(--kng-docs-transition);
485 + gap: 7px;
486 + font-size: 13px;
487 + color: var(--kng-docs-text-secondary);
488 + white-space: nowrap;
489 + overflow: hidden;
490 + text-overflow: ellipsis;
373 491 }
374 492
375 -.kng-docs-category-card:hover {
376 - transform: translateY(-4px);
377 - box-shadow: 0 12px 40px var(--kng-docs-shadow-lg);
493 +.kng-docs-category--glass-card .kng-docs-category__article-link svg {
494 + width: 13px;
495 + height: 13px;
496 + color: var(--kng-docs-text-muted);
497 + flex-shrink: 0;
378 498 }
379 499
380 -.kng-docs-category-card .kng-docs-category-icon {
381 - width: 64px;
382 - height: 64px;
383 - display: flex;
384 - align-items: center;
385 - justify-content: center;
386 - background: linear-gradient(135deg, var(--icon-color, var(--kng-docs-primary)) 0%, color-mix(in srgb, var(--icon-color, var(--kng-docs-primary)) 70%, #5ac8fa) 100%);
387 - border-radius: 20px;
388 - margin-bottom: 20px;
500 +.kng-docs-category__arrow {
501 + position: absolute;
502 + right: 20px;
503 + top: 50%;
504 + transform: translateY(-50%);
505 + width: 20px;
506 + height: 20px;
507 + color: var(--kng-docs-text-muted);
508 + opacity: 0;
509 + transition: opacity var(--kng-docs-transition-fast), transform var(--kng-docs-transition-fast);
389 510 }
390 511
391 -.kng-docs-category-card .kng-docs-category-icon svg {
392 - width: 32px;
393 - height: 32px;
394 - color: #fff;
512 +.kng-docs-category--glass-card:hover .kng-docs-category__arrow {
513 + opacity: 1;
514 + transform: translateY(-50%) translateX(4px);
395 515 }
396 516
397 -.kng-docs-category-card .kng-docs-category-title {
398 - font-size: 18px;
399 - font-weight: 600;
400 - color: var(--kng-docs-text);
401 - margin-bottom: 8px;
402 -}
403 -
404 -.kng-docs-category-card .kng-docs-category-desc {
405 - font-size: 14px;
406 - color: var(--kng-docs-text-secondary);
407 - margin-bottom: 12px;
408 - line-height: 1.5;
409 -}
410 -
411 -.kng-docs-category-card .kng-docs-category-count {
412 - font-size: 13px;
413 - color: var(--kng-docs-text-muted);
414 -}
415 -
416 -/* ======================================
417 - Layout: Modern
418 - ====================================== */
419 -.kng-docs-layout-modern {
420 - display: flex;
421 - flex-direction: column;
517 +/* ── Glass List Layout ── */
518 +.kng-docs-layout--glass-list .kng-docs-categories {
519 + grid-template-columns: 1fr;
422 520 gap: 12px;
423 521 }
424 522
425 -.kng-docs-category-modern {
523 +.kng-docs-category--glass-list {
524 + position: relative;
426 525 display: flex;
427 526 align-items: center;
428 - gap: 16px;
527 + gap: 20px;
528 + background: var(--kng-docs-surface);
529 + backdrop-filter: blur(20px) saturate(180%);
530 + -webkit-backdrop-filter: blur(20px) saturate(180%);
531 + border: 1px solid var(--kng-docs-border);
532 + border-radius: var(--kng-docs-radius-md);
429 533 padding: 20px 24px;
430 - background: var(--kng-docs-surface);
431 - border-radius: var(--kng-docs-radius);
432 534 text-decoration: none;
433 - box-shadow: 0 1px 4px var(--kng-docs-shadow);
434 - transition: transform var(--kng-docs-transition), box-shadow var(--kng-docs-transition);
535 + color: inherit;
536 + transition: transform var(--kng-docs-transition), box-shadow var(--kng-docs-transition), border-color var(--kng-docs-transition);
435 537 }
436 538
437 -.kng-docs-category-modern:hover {
539 +.kng-docs-category--glass-list:hover {
438 540 transform: translateX(4px);
439 - box-shadow: 0 4px 16px var(--kng-docs-shadow-lg);
541 + box-shadow: var(--kng-docs-shadow);
542 + border-color: rgba(0, 113, 227, 0.2);
440 543 }
441 544
442 -.kng-docs-category-modern .kng-docs-category-icon {
443 - width: 56px;
444 - height: 56px;
445 - display: flex;
446 - align-items: center;
447 - justify-content: center;
448 - background: linear-gradient(135deg, var(--icon-color, var(--kng-docs-primary)) 0%, color-mix(in srgb, var(--icon-color, var(--kng-docs-primary)) 70%, #5ac8fa) 100%);
449 - border-radius: 16px;
450 - flex-shrink: 0;
451 -}
452 -
453 -.kng-docs-category-modern .kng-docs-category-icon svg {
454 - width: 28px;
455 - height: 28px;
456 - color: #fff;
457 -}
458 -
459 -.kng-docs-category-modern .kng-docs-category-content {
545 +.kng-docs-category--glass-list .kng-docs-category__content {
460 546 flex: 1;
547 + min-width: 0;
461 548 }
462 549
463 -.kng-docs-category-modern .kng-docs-category-title {
550 +.kng-docs-category--glass-list .kng-docs-category__title {
464 551 font-size: 17px;
465 - font-weight: 600;
466 - color: var(--kng-docs-text);
467 - margin-bottom: 4px;
468 552 }
469 553
470 -.kng-docs-category-modern .kng-docs-category-desc {
554 +.kng-docs-category--glass-list .kng-docs-category__desc {
471 555 font-size: 14px;
472 - color: var(--kng-docs-text-secondary);
473 - margin-bottom: 4px;
474 - line-height: 1.4;
556 + -webkit-line-clamp: 1;
475 557 }
476 558
477 -.kng-docs-category-modern .kng-docs-category-count {
478 - font-size: 13px;
479 - color: var(--kng-docs-text-muted);
559 +.kng-docs-category--glass-list .kng-docs-category__count {
560 + margin-top: 4px;
480 561 }
481 562
482 -.kng-docs-category-modern .kng-docs-category-arrow {
563 +.kng-docs-category--glass-list .kng-docs-category__arrow-list {
483 564 width: 20px;
484 565 height: 20px;
485 566 color: var(--kng-docs-text-muted);
486 567 flex-shrink: 0;
568 + transition: transform var(--kng-docs-transition-fast);
487 569 }
488 570
489 -/* ======================================
490 - Breadcrumbs
491 - ====================================== */
492 -.kng-docs-breadcrumbs {
493 - display: flex;
494 - align-items: center;
495 - flex-wrap: wrap;
496 - gap: 8px;
497 - font-size: 14px;
498 - margin-bottom: 24px;
499 -}
500 -
501 -.kng-docs-breadcrumb-item {
502 - display: inline-flex;
503 - align-items: center;
504 - gap: 6px;
505 - color: var(--kng-docs-text-secondary);
506 - text-decoration: none;
507 - transition: color var(--kng-docs-transition);
508 -}
509 -
510 -.kng-docs-breadcrumb-item:hover {
571 +.kng-docs-category--glass-list:hover .kng-docs-category__arrow-list {
511 572 color: var(--kng-docs-primary);
573 + transform: translateX(3px);
512 574 }
513 575
514 -.kng-docs-breadcrumb-item svg {
515 - width: 16px;
516 - height: 16px;
576 +/* ── Glass Grid — two-row card with articles ── */
577 +.kng-docs-category--glass-grid {
578 + background: var(--kng-docs-surface);
579 + backdrop-filter: blur(20px) saturate(180%);
580 + -webkit-backdrop-filter: blur(20px) saturate(180%);
581 + border: 1px solid var(--kng-docs-border);
582 + border-radius: var(--kng-docs-radius);
583 + padding: 28px;
584 + display: flex;
585 + flex-direction: column;
586 + gap: 16px;
587 + transition: box-shadow var(--kng-docs-transition), border-color var(--kng-docs-transition);
517 588 }
518 589
519 -.kng-docs-breadcrumb-sep {
520 - color: var(--kng-docs-text-muted);
590 +.kng-docs-category--glass-grid:hover {
591 + box-shadow: var(--kng-docs-shadow);
592 + border-color: rgba(0, 113, 227, 0.15);
521 593 }
522 594
523 -.kng-docs-breadcrumb-current {
524 - color: var(--kng-docs-text);
525 - font-weight: 500;
526 -}
527 -
528 -/* ======================================
529 - Category Page
530 - ====================================== */
531 -.kng-docs-category-header-section {
532 - text-align: center;
533 - padding: 40px 0;
534 -}
535 -
536 -.kng-docs-category-icon-large {
537 - width: 80px;
538 - height: 80px;
539 - display: inline-flex;
595 +.kng-docs-category--glass-grid .kng-docs-category__header {
596 + display: flex;
540 597 align-items: center;
541 - justify-content: center;
542 - background: linear-gradient(135deg, var(--icon-color, var(--kng-docs-primary)) 0%, color-mix(in srgb, var(--icon-color, var(--kng-docs-primary)) 70%, #5ac8fa) 100%);
543 - border-radius: 24px;
544 - margin-bottom: 20px;
598 + gap: 14px;
545 599 }
546 600
547 -.kng-docs-category-icon-large svg {
548 - width: 40px;
549 - height: 40px;
550 - color: #fff;
601 +.kng-docs-category--glass-grid .kng-docs-category__header-text {
602 + flex: 1;
603 + min-width: 0;
551 604 }
552 605
553 -.kng-docs-category-page-title {
554 - font-size: 36px;
555 - font-weight: 700;
556 - letter-spacing: -0.025em;
557 - color: var(--kng-docs-text);
558 - margin: 0 0 12px;
606 +.kng-docs-category--glass-grid .kng-docs-category__title {
607 + font-size: 18px;
559 608 }
560 609
561 -.kng-docs-category-page-desc {
562 - font-size: 17px;
563 - color: var(--kng-docs-text-secondary);
564 - margin: 0 0 12px;
565 - max-width: 600px;
566 - margin-left: auto;
567 - margin-right: auto;
568 -}
569 -
570 -.kng-docs-category-page-count {
571 - font-size: 14px;
572 - color: var(--kng-docs-text-muted);
573 -}
574 -
575 -/* Subcategories */
576 -.kng-docs-subcategories {
577 - margin-bottom: 40px;
578 -}
579 -
580 -.kng-docs-subcategories-title {
581 - font-size: 14px;
610 +.kng-docs-category--glass-grid .kng-docs-category__count-badge {
611 + font-size: 12px;
582 612 font-weight: 600;
583 - text-transform: uppercase;
584 - letter-spacing: 0.05em;
585 613 color: var(--kng-docs-text-muted);
586 - margin: 0 0 16px;
614 + background: var(--kng-docs-bg-alt);
615 + padding: 3px 10px;
616 + border-radius: 980px;
617 + white-space: nowrap;
587 618 }
588 619
589 -.kng-docs-subcategories-grid {
590 - display: grid;
591 - grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
592 - gap: 16px;
620 +.kng-docs-category--glass-grid .kng-docs-category__articles {
621 + list-style: none;
622 + padding: 0;
623 + margin: 0;
624 + display: flex;
625 + flex-direction: column;
626 + gap: 2px;
593 627 }
594 628
595 -.kng-docs-subcategory-card {
629 +.kng-docs-category--glass-grid .kng-docs-category__article-link {
596 630 display: flex;
597 631 align-items: center;
598 - gap: 12px;
599 - padding: 16px 20px;
600 - background: var(--kng-docs-surface);
601 - border-radius: var(--kng-docs-radius-sm);
632 + gap: 8px;
633 + padding: 8px 12px;
634 + border-radius: var(--kng-docs-radius-xs);
602 635 text-decoration: none;
603 - box-shadow: 0 1px 4px var(--kng-docs-shadow);
604 - transition: transform var(--kng-docs-transition), box-shadow var(--kng-docs-transition);
636 + font-size: 14px;
637 + color: var(--kng-docs-text);
638 + transition: background var(--kng-docs-transition-fast), color var(--kng-docs-transition-fast);
605 639 }
606 640
607 -.kng-docs-subcategory-card:hover {
608 - transform: translateX(4px);
609 - box-shadow: 0 4px 12px var(--kng-docs-shadow-lg);
641 +.kng-docs-category--glass-grid .kng-docs-category__article-link:hover {
642 + background: var(--kng-docs-bg-alt);
643 + color: var(--kng-docs-primary);
610 644 }
611 645
612 -.kng-docs-subcategory-icon {
613 - width: 40px;
614 - height: 40px;
615 - display: flex;
616 - align-items: center;
617 - justify-content: center;
618 - background: var(--kng-docs-bg);
619 - border-radius: var(--kng-docs-radius-xs);
646 +.kng-docs-category--glass-grid .kng-docs-category__article-link svg {
647 + width: 14px;
648 + height: 14px;
649 + color: var(--kng-docs-text-muted);
620 650 flex-shrink: 0;
621 651 }
622 652
623 -.kng-docs-subcategory-icon svg {
624 - width: 20px;
625 - height: 20px;
653 +.kng-docs-category--glass-grid .kng-docs-category__more {
654 + display: inline-flex;
655 + align-items: center;
656 + gap: 4px;
657 + font-size: 14px;
658 + font-weight: 500;
626 659 color: var(--kng-docs-primary);
660 + text-decoration: none;
661 + padding: 6px 0;
662 + transition: gap var(--kng-docs-transition-fast);
627 663 }
628 664
629 -.kng-docs-subcategory-content {
630 - flex: 1;
665 +.kng-docs-category--glass-grid .kng-docs-category__more:hover {
666 + gap: 8px;
631 667 }
632 668
633 -.kng-docs-subcategory-name {
634 - display: block;
635 - font-weight: 600;
636 - color: var(--kng-docs-text);
637 - margin-bottom: 2px;
669 +.kng-docs-category--glass-grid .kng-docs-category__more svg {
670 + width: 16px;
671 + height: 16px;
638 672 }
639 673
640 -.kng-docs-subcategory-count {
641 - font-size: 13px;
642 - color: var(--kng-docs-text-muted);
674 +/* ═══════════════════════════════════════════
675 + 5. EMPTY STATE
676 + ═══════════════════════════════════════════ */
677 +.kng-docs-empty {
678 + text-align: center;
679 + padding: 100px 24px;
643 680 }
644 681
645 -.kng-docs-subcategory-arrow {
646 - width: 16px;
647 - height: 16px;
682 +.kng-docs-empty svg {
683 + width: 56px;
684 + height: 56px;
648 685 color: var(--kng-docs-text-muted);
649 - flex-shrink: 0;
686 + margin-bottom: 20px;
687 + opacity: 0.5;
650 688 }
651 689
652 -/* Articles List */
653 -.kng-docs-articles-title {
654 - font-size: 14px;
690 +.kng-docs-empty h3 {
691 + font-size: 22px;
655 692 font-weight: 600;
656 - text-transform: uppercase;
657 - letter-spacing: 0.05em;
658 - color: var(--kng-docs-text-muted);
659 - margin: 0 0 16px;
693 + letter-spacing: -0.02em;
694 + margin: 0 0 8px;
660 695 }
661 696
662 -.kng-docs-articles {
663 - list-style: none;
697 +.kng-docs-empty p {
698 + font-size: 15px;
699 + color: var(--kng-docs-text-secondary);
664 700 margin: 0;
665 - padding: 0;
666 - background: var(--kng-docs-surface);
667 - border-radius: var(--kng-docs-radius);
668 - box-shadow: 0 2px 12px var(--kng-docs-shadow);
669 - overflow: hidden;
670 701 }
671 702
672 -.kng-docs-article-item {
673 - border-bottom: 1px solid var(--kng-docs-border);
674 -}
675 -
676 -.kng-docs-article-item:last-child {
677 - border-bottom: none;
678 -}
679 -
680 -.kng-docs-article-link {
703 +/* ═══════════════════════════════════════════
704 + 6. BREADCRUMBS
705 + ═══════════════════════════════════════════ */
706 +.kng-docs-breadcrumbs {
681 707 display: flex;
682 708 align-items: center;
683 - gap: 16px;
684 - padding: 20px 24px;
685 - text-decoration: none;
686 - transition: background var(--kng-docs-transition);
687 -}
688 -
689 -.kng-docs-article-link:hover {
690 - background: var(--kng-docs-bg);
691 -}
692 -
693 -.kng-docs-article-icon {
694 - width: 24px;
695 - height: 24px;
696 - color: var(--kng-docs-primary);
697 - flex-shrink: 0;
698 -}
699 -
700 -.kng-docs-article-info {
701 - flex: 1;
702 -}
703 -
704 -.kng-docs-article-item-title {
705 - display: block;
706 - font-weight: 600;
707 - color: var(--kng-docs-text);
708 - margin-bottom: 4px;
709 -}
710 -
711 -.kng-docs-article-excerpt {
712 - font-size: 14px;
713 - color: var(--kng-docs-text-secondary);
714 -}
715 -
716 -.kng-docs-article-date {
709 + gap: 8px;
710 + padding: 24px 0 20px;
717 711 font-size: 13px;
712 + font-weight: 500;
718 713 color: var(--kng-docs-text-muted);
719 - flex-shrink: 0;
714 + flex-wrap: wrap;
720 715 }
721 716
722 -.kng-docs-article-arrow {
723 - width: 16px;
724 - height: 16px;
717 +.kng-docs-breadcrumb-item {
718 + display: inline-flex;
719 + align-items: center;
720 + gap: 5px;
721 + text-decoration: none;
725 722 color: var(--kng-docs-text-muted);
726 - flex-shrink: 0;
723 + transition: color var(--kng-docs-transition-fast);
727 724 }
728 725
729 -/* Pagination */
730 -.kng-docs-pagination {
731 - margin-top: 32px;
732 - text-align: center;
726 +.kng-docs-breadcrumb-item svg {
727 + width: 14px;
728 + height: 14px;
733 729 }
734 730
735 -.kng-docs-pagination .page-numbers {
736 - display: inline-flex;
737 - align-items: center;
738 - justify-content: center;
739 - gap: 8px;
740 - list-style: none;
741 - margin: 0;
742 - padding: 0;
731 +.kng-docs-breadcrumb-item:hover {
732 + color: var(--kng-docs-primary);
743 733 }
744 734
745 -.kng-docs-pagination .page-numbers li {
746 - margin: 0;
735 +.kng-docs-breadcrumb-sep {
736 + color: var(--kng-docs-text-muted);
737 + opacity: 0.4;
738 + font-size: 12px;
747 739 }
748 740
749 -.kng-docs-pagination .page-numbers a,
750 -.kng-docs-pagination .page-numbers span {
751 - display: inline-flex;
752 - align-items: center;
753 - justify-content: center;
754 - min-width: 40px;
755 - height: 40px;
756 - padding: 0 12px;
757 - font-size: 14px;
758 - font-weight: 500;
741 +.kng-docs-breadcrumb-current {
759 742 color: var(--kng-docs-text);
760 - background: var(--kng-docs-surface);
761 - border-radius: var(--kng-docs-radius-xs);
762 - text-decoration: none;
763 - transition: all var(--kng-docs-transition);
743 + font-weight: 600;
764 744 }
765 745
766 -.kng-docs-pagination .page-numbers a:hover {
767 - background: var(--kng-docs-primary);
768 - color: #fff;
769 -}
770 -
771 -.kng-docs-pagination .page-numbers .current {
772 - background: var(--kng-docs-primary);
773 - color: #fff;
774 -}
775 -
776 -.kng-docs-pagination .page-numbers svg {
777 - width: 16px;
778 - height: 16px;
779 -}
780 -
781 -/* ======================================
782 - Single Article
783 - ====================================== */
746 +/* ═══════════════════════════════════════════
747 + 7. SINGLE DOC LAYOUT
748 + ═══════════════════════════════════════════ */
784 749 .kng-docs-single-layout {
785 750 display: grid;
786 751 grid-template-columns: 1fr;
787 752 gap: 40px;
753 + padding-bottom: 80px;
788 754 }
789 755
790 756 .kng-docs-single-layout.has-sidebar {
791 - grid-template-columns: 280px 1fr;
757 + grid-template-columns: 260px 1fr;
792 758 }
793 759
794 -@media (max-width: 992px) {
795 - .kng-docs-single-layout.has-sidebar {
760 +.kng-docs-single-layout.has-sidebar.has-toc-aside {
761 + grid-template-columns: 260px 1fr 220px;
762 +}
763 +
764 +@media (max-width: 1024px) {
765 + .kng-docs-single-layout.has-sidebar,
766 + .kng-docs-single-layout.has-sidebar.has-toc-aside {
796 767 grid-template-columns: 1fr;
797 768 }
798 769 }
799 770
800 -/* Sidebar */
771 +/* ── Sidebar ── */
801 772 .kng-docs-sidebar {
802 773 position: relative;
803 774 }
804 775
805 -.kng-docs-sidebar-inner {
806 - background: var(--kng-docs-surface);
807 - border-radius: var(--kng-docs-radius);
808 - padding: 24px;
809 - box-shadow: 0 2px 12px var(--kng-docs-shadow);
810 -}
811 -
812 776 .kng-docs-sidebar.is-sticky .kng-docs-sidebar-inner {
813 777 position: sticky;
814 778 top: 100px;
779 + max-height: calc(100vh - 120px);
780 + overflow-y: auto;
815 781 }
816 782
783 +.kng-docs-sidebar-inner {
784 + background: var(--kng-docs-surface);
785 + backdrop-filter: blur(20px) saturate(180%);
786 + -webkit-backdrop-filter: blur(20px) saturate(180%);
787 + border: 1px solid var(--kng-docs-border);
788 + border-radius: var(--kng-docs-radius-md);
789 + padding: 20px;
790 +}
791 +
817 792 .kng-docs-sidebar-title {
818 - font-size: 15px;
819 - font-weight: 600;
820 - color: var(--kng-docs-text);
821 - margin: 0 0 16px;
793 + font-size: 13px;
794 + font-weight: 700;
795 + letter-spacing: 0.02em;
796 + text-transform: uppercase;
797 + color: var(--kng-docs-text-muted);
798 + margin: 0 0 12px;
822 799 padding-bottom: 12px;
823 - border-bottom: 1px solid var(--kng-docs-border);
800 + border-bottom: 1px solid var(--kng-docs-divider);
824 801 }
825 802
826 803 .kng-docs-sidebar-list {
827 804 list-style: none;
805 + padding: 0;
828 806 margin: 0;
829 - padding: 0;
807 + display: flex;
808 + flex-direction: column;
809 + gap: 1px;
830 810 }
831 811
832 -.kng-docs-sidebar-list li {
833 - margin-bottom: 4px;
834 -}
835 -
836 -.kng-docs-sidebar-list a {
837 - display: block;
838 - padding: 10px 12px;
812 +.kng-docs-sidebar-list li a {
813 + display: flex;
814 + align-items: center;
815 + justify-content: space-between;
816 + gap: 8px;
817 + padding: 8px 12px;
839 818 font-size: 14px;
840 819 color: var(--kng-docs-text-secondary);
841 820 text-decoration: none;
842 821 border-radius: var(--kng-docs-radius-xs);
843 - transition: all var(--kng-docs-transition);
822 + transition: all var(--kng-docs-transition-fast);
823 + font-weight: 400;
844 824 }
845 825
846 -.kng-docs-sidebar-list a:hover {
847 - color: var(--kng-docs-text);
848 - background: var(--kng-docs-bg);
826 +.kng-docs-sidebar-list li a:hover {
827 + background: var(--kng-docs-bg-alt);
828 + color: var(--kng-docs-primary);
849 829 }
850 830
851 831 .kng-docs-sidebar-list li.is-current a {
832 + background: rgba(0, 113, 227, 0.08);
852 833 color: var(--kng-docs-primary);
853 - background: rgba(0, 102, 255, 0.08);
854 - font-weight: 500;
834 + font-weight: 600;
855 835 }
856 836
857 -.kng-docs-sidebar-list a {
858 - display: flex;
859 - justify-content: space-between;
860 - align-items: center;
861 -}
862 -
863 837 .kng-docs-sidebar-count {
864 838 font-size: 12px;
839 + font-weight: 600;
865 840 color: var(--kng-docs-text-muted);
866 - background: var(--kng-docs-bg);
841 + background: var(--kng-docs-bg-alt);
867 842 padding: 2px 8px;
868 - border-radius: 10px;
843 + border-radius: 980px;
869 844 }
870 845
871 -/* Article */
846 +/* ── Article ── */
872 847 .kng-docs-article {
873 - background: var(--kng-docs-surface);
874 - border-radius: var(--kng-docs-radius);
875 - padding: 40px;
876 - box-shadow: 0 2px 12px var(--kng-docs-shadow);
848 + min-width: 0;
877 849 }
878 850
879 -@media (max-width: 640px) {
880 - .kng-docs-article {
881 - padding: 24px;
882 - }
883 -}
884 -
885 851 .kng-docs-article-actions {
886 852 display: flex;
887 853 justify-content: flex-end;
888 - margin-bottom: 20px;
854 + gap: 8px;
855 + margin-bottom: 16px;
889 856 }
890 857
891 -.kng-docs-print-btn {
858 +.kng-docs-action-btn {
892 859 display: inline-flex;
893 860 align-items: center;
894 861 gap: 6px;
895 - padding: 8px 16px;
862 + padding: 8px 14px;
896 863 font-size: 13px;
897 864 font-weight: 500;
865 + font-family: var(--kng-docs-font);
898 866 color: var(--kng-docs-text-secondary);
899 - background: var(--kng-docs-bg);
900 - border: none;
901 - border-radius: var(--kng-docs-radius-xs);
867 + background: var(--kng-docs-surface);
868 + backdrop-filter: blur(10px);
869 + border: 1px solid var(--kng-docs-border);
870 + border-radius: 980px;
902 871 cursor: pointer;
903 - transition: all var(--kng-docs-transition);
872 + transition: all var(--kng-docs-transition-fast);
904 873 }
905 874
906 -.kng-docs-print-btn:hover {
875 +.kng-docs-action-btn:hover {
876 + background: var(--kng-docs-surface-hover);
907 877 color: var(--kng-docs-text);
908 - background: var(--kng-docs-border);
878 + border-color: rgba(0, 0, 0, 0.12);
909 879 }
910 880
911 -.kng-docs-print-btn svg {
881 +.kng-docs-action-btn svg {
912 882 width: 16px;
913 883 height: 16px;
914 884 }
915 885
@@ -917,41 +887,74 @@
917 887 margin-bottom: 32px;
918 888 }
919 889
920 890 .kng-docs-article-title {
921 - font-size: 32px;
891 + font-size: clamp(28px, 4vw, 40px);
922 892 font-weight: 700;
923 - letter-spacing: -0.025em;
893 + letter-spacing: -0.04em;
894 + line-height: 1.1;
895 + margin: 0 0 16px;
924 896 color: var(--kng-docs-text);
925 - margin: 0 0 16px;
926 - line-height: 1.3;
927 897 }
928 898
929 899 .kng-docs-article-meta {
930 900 display: flex;
901 + align-items: center;
902 + gap: 16px;
931 903 flex-wrap: wrap;
932 - gap: 20px;
904 + font-size: 14px;
905 + color: var(--kng-docs-text-muted);
933 906 }
934 907
935 -.kng-docs-article-date,
936 -.kng-docs-article-reading {
908 +.kng-docs-article-meta > span {
937 909 display: inline-flex;
938 910 align-items: center;
939 911 gap: 6px;
940 - font-size: 14px;
912 +}
913 +
914 +.kng-docs-article-meta svg {
915 + width: 15px;
916 + height: 15px;
917 + opacity: 0.6;
918 +}
919 +
920 +/* Tags */
921 +.kng-docs-article-tags {
922 + display: flex;
923 + align-items: center;
924 + gap: 6px;
925 + flex-wrap: wrap;
926 + margin-top: 8px;
927 +}
928 +
929 +.kng-docs-tag {
930 + display: inline-flex;
931 + align-items: center;
932 + gap: 4px;
933 + padding: 4px 10px;
934 + font-size: 12px;
935 + font-weight: 500;
941 936 color: var(--kng-docs-text-muted);
937 + background: var(--kng-docs-bg-alt);
938 + border-radius: 980px;
939 + text-decoration: none;
940 + transition: all var(--kng-docs-transition-fast);
942 941 }
943 942
944 -.kng-docs-article-date svg,
945 -.kng-docs-article-reading svg {
946 - width: 16px;
947 - height: 16px;
943 +.kng-docs-tag:hover {
944 + color: var(--kng-docs-primary);
945 + background: rgba(0, 113, 227, 0.08);
948 946 }
949 947
950 -/* Table of Contents */
948 +/* ═══════════════════════════════════════════
949 + 8. TABLE OF CONTENTS — Frosted Glass
950 + ═══════════════════════════════════════════ */
951 951 .kng-docs-toc {
952 - background: var(--kng-docs-bg);
953 - border-radius: var(--kng-docs-radius-sm);
952 + background: var(--kng-docs-surface);
953 + backdrop-filter: blur(20px) saturate(180%);
954 + -webkit-backdrop-filter: blur(20px) saturate(180%);
955 + border: 1px solid var(--kng-docs-border);
956 + border-radius: var(--kng-docs-radius-md);
954 957 padding: 20px 24px;
955 958 margin-bottom: 32px;
956 959 }
957 960
@@ -958,292 +961,314 @@
958 961 .kng-docs-toc-title {
959 962 display: flex;
960 963 align-items: center;
961 964 gap: 8px;
962 - font-size: 14px;
963 - font-weight: 600;
964 - color: var(--kng-docs-text);
965 + font-size: 13px;
966 + font-weight: 700;
967 + letter-spacing: 0.02em;
968 + text-transform: uppercase;
969 + color: var(--kng-docs-text-muted);
965 970 margin: 0 0 12px;
966 971 }
967 972
968 973 .kng-docs-toc-title svg {
969 - width: 18px;
970 - height: 18px;
974 + width: 16px;
975 + height: 16px;
971 976 }
972 977
973 978 .kng-docs-toc-list {
974 979 list-style: none;
980 + padding: 0;
975 981 margin: 0;
976 - padding: 0;
982 + display: flex;
983 + flex-direction: column;
984 + gap: 2px;
977 985 }
978 986
979 -.kng-docs-toc-item {
980 - margin-bottom: 6px;
981 -}
982 -
983 987 .kng-docs-toc-item a {
984 988 display: block;
985 - padding: 6px 0;
989 + padding: 6px 12px;
986 990 font-size: 14px;
987 991 color: var(--kng-docs-text-secondary);
988 992 text-decoration: none;
989 - transition: color var(--kng-docs-transition);
993 + border-radius: var(--kng-docs-radius-xs);
994 + border-left: 2px solid transparent;
995 + transition: all var(--kng-docs-transition-fast);
990 996 }
991 997
992 -.kng-docs-toc-item a:hover {
998 +.kng-docs-toc-item a:hover,
999 +.kng-docs-toc-item.is-active a {
993 1000 color: var(--kng-docs-primary);
1001 + background: rgba(0, 113, 227, 0.06);
1002 + border-left-color: var(--kng-docs-primary);
994 1003 }
995 1004
996 -.kng-docs-toc-h3 {
997 - padding-left: 16px;
1005 +.kng-docs-toc-h3 a { padding-left: 24px; }
1006 +.kng-docs-toc-h4 a { padding-left: 36px; }
1007 +.kng-docs-toc-h5 a { padding-left: 48px; }
1008 +
1009 +/* Floating TOC aside */
1010 +.kng-docs-toc-floating {
1011 + position: relative;
998 1012 }
999 1013
1000 -.kng-docs-toc-h4 {
1001 - padding-left: 32px;
1014 +.kng-docs-toc-floating.is-sticky .kng-docs-toc-floating-inner {
1015 + position: sticky;
1016 + top: 100px;
1017 + max-height: calc(100vh - 120px);
1018 + overflow-y: auto;
1002 1019 }
1003 1020
1004 -/* Floating TOC */
1005 -.kng-docs-toc-floating {
1006 - display: none;
1021 +.kng-docs-toc-floating-inner {
1022 + padding: 16px;
1007 1023 }
1008 1024
1009 -@media (min-width: 1400px) {
1010 - .kng-docs-single-layout:not(.has-sidebar) {
1011 - position: relative;
1012 - }
1013 -
1014 - .kng-docs-toc-floating {
1015 - display: block;
1016 - position: absolute;
1017 - left: calc(100% + 40px);
1018 - top: 0;
1019 - width: 240px;
1020 - }
1021 -
1022 - .kng-docs-toc-floating.is-sticky .kng-docs-toc-floating-inner {
1023 - position: sticky;
1024 - top: 100px;
1025 - }
1026 -
1027 - .kng-docs-toc-floating-inner {
1028 - background: var(--kng-docs-surface);
1029 - border-radius: var(--kng-docs-radius);
1030 - padding: 20px;
1031 - box-shadow: 0 2px 12px var(--kng-docs-shadow);
1032 - }
1033 -
1034 - .kng-docs-toc-floating .kng-docs-toc-title {
1035 - font-size: 12px;
1036 - text-transform: uppercase;
1037 - letter-spacing: 0.05em;
1038 - color: var(--kng-docs-text-muted);
1039 - }
1040 -
1041 - .kng-docs-toc-floating .kng-docs-toc-item a {
1042 - font-size: 13px;
1043 - }
1025 +.kng-docs-toc-floating-inner .kng-docs-toc-title {
1026 + font-size: 12px;
1044 1027 }
1045 1028
1046 -/* Article Content */
1029 +.kng-docs-toc-floating-inner .kng-docs-toc-item a {
1030 + font-size: 13px;
1031 + padding: 5px 10px;
1032 +}
1033 +
1034 +@media (max-width: 1024px) {
1035 + .kng-docs-toc-floating { display: none; }
1036 +}
1037 +
1038 +/* ═══════════════════════════════════════════
1039 + 9. ARTICLE CONTENT
1040 + ═══════════════════════════════════════════ */
1047 1041 .kng-docs-article-content {
1048 - font-size: 16px;
1049 - line-height: 1.75;
1042 + font-size: 17px;
1043 + line-height: 1.64706;
1044 + letter-spacing: -0.022em;
1050 1045 color: var(--kng-docs-text);
1051 1046 }
1052 1047
1053 1048 .kng-docs-article-content h2 {
1054 - font-size: 24px;
1049 + font-size: 28px;
1055 1050 font-weight: 700;
1056 - margin: 40px 0 20px;
1057 - padding-top: 20px;
1058 - color: var(--kng-docs-text);
1051 + letter-spacing: -0.032em;
1052 + margin: 48px 0 16px;
1053 + scroll-margin-top: 100px;
1059 1054 }
1060 1055
1061 1056 .kng-docs-article-content h3 {
1062 - font-size: 20px;
1057 + font-size: 22px;
1063 1058 font-weight: 600;
1064 - margin: 32px 0 16px;
1065 - color: var(--kng-docs-text);
1059 + letter-spacing: -0.026em;
1060 + margin: 40px 0 12px;
1061 + scroll-margin-top: 100px;
1066 1062 }
1067 1063
1068 1064 .kng-docs-article-content h4 {
1069 - font-size: 17px;
1065 + font-size: 18px;
1070 1066 font-weight: 600;
1071 - margin: 24px 0 12px;
1072 - color: var(--kng-docs-text);
1067 + margin: 32px 0 10px;
1068 + scroll-margin-top: 100px;
1073 1069 }
1074 1070
1075 1071 .kng-docs-article-content p {
1076 - margin: 0 0 16px;
1072 + margin: 0 0 20px;
1077 1073 }
1078 1074
1079 1075 .kng-docs-article-content a {
1080 - color: var(--kng-docs-primary);
1081 - text-decoration: none;
1076 + color: var(--kng-docs-link-color);
1077 + text-decoration: underline;
1078 + text-decoration-color: rgba(0, 113, 227, 0.3);
1079 + text-underline-offset: 2px;
1080 + transition: text-decoration-color var(--kng-docs-transition-fast);
1082 1081 }
1083 1082
1084 1083 .kng-docs-article-content a:hover {
1085 - text-decoration: underline;
1084 + text-decoration-color: var(--kng-docs-link-color);
1086 1085 }
1087 1086
1088 -.kng-docs-article-content ul,
1089 -.kng-docs-article-content ol {
1090 - margin: 0 0 16px;
1091 - padding-left: 24px;
1087 +.kng-docs-article-content img {
1088 + max-width: 100%;
1089 + height: auto;
1090 + border-radius: var(--kng-docs-radius-sm);
1091 + margin: 24px 0;
1092 1092 }
1093 1093
1094 -.kng-docs-article-content li {
1095 - margin-bottom: 8px;
1096 -}
1097 -
1098 1094 .kng-docs-article-content pre {
1099 - background: #1e1e1e;
1100 - color: #d4d4d4;
1095 + background: var(--kng-docs-bg-alt);
1096 + border: 1px solid var(--kng-docs-border);
1101 1097 border-radius: var(--kng-docs-radius-sm);
1102 - padding: 20px;
1098 + padding: 20px 24px;
1103 1099 overflow-x: auto;
1104 - margin: 0 0 16px;
1100 + font-family: var(--kng-docs-font-mono);
1105 1101 font-size: 14px;
1106 1102 line-height: 1.6;
1103 + margin: 24px 0;
1107 1104 }
1108 1105
1109 1106 .kng-docs-article-content code {
1110 - font-family: 'SF Mono', Monaco, Consolas, monospace;
1111 - font-size: 0.9em;
1112 - background: var(--kng-docs-bg);
1107 + font-family: var(--kng-docs-font-mono);
1108 + font-size: 0.88em;
1109 + background: var(--kng-docs-bg-alt);
1113 1110 padding: 2px 6px;
1114 1111 border-radius: 4px;
1115 1112 }
1116 1113
1117 1114 .kng-docs-article-content pre code {
1118 - background: none;
1115 + background: transparent;
1119 1116 padding: 0;
1120 1117 }
1121 1118
1122 1119 .kng-docs-article-content blockquote {
1123 - margin: 0 0 16px;
1124 - padding: 16px 20px;
1125 - background: var(--kng-docs-bg);
1126 - border-left: 4px solid var(--kng-docs-primary);
1120 + border-left: 3px solid var(--kng-docs-primary);
1121 + margin: 24px 0;
1122 + padding: 16px 24px;
1123 + background: rgba(0, 113, 227, 0.04);
1127 1124 border-radius: 0 var(--kng-docs-radius-xs) var(--kng-docs-radius-xs) 0;
1125 + color: var(--kng-docs-text-secondary);
1128 1126 }
1129 1127
1130 -.kng-docs-article-content blockquote p:last-child {
1131 - margin-bottom: 0;
1128 +.kng-docs-article-content ul,
1129 +.kng-docs-article-content ol {
1130 + padding-left: 24px;
1131 + margin: 16px 0;
1132 1132 }
1133 1133
1134 -.kng-docs-article-content img {
1135 - max-width: 100%;
1136 - height: auto;
1137 - border-radius: var(--kng-docs-radius-sm);
1138 - margin: 16px 0;
1134 +.kng-docs-article-content li {
1135 + margin-bottom: 8px;
1139 1136 }
1140 1137
1141 1138 .kng-docs-article-content table {
1142 1139 width: 100%;
1143 - border-collapse: collapse;
1144 - margin: 0 0 16px;
1140 + border-collapse: separate;
1141 + border-spacing: 0;
1142 + border: 1px solid var(--kng-docs-border);
1143 + border-radius: var(--kng-docs-radius-sm);
1144 + overflow: hidden;
1145 + margin: 24px 0;
1145 1146 }
1146 1147
1147 1148 .kng-docs-article-content th,
1148 1149 .kng-docs-article-content td {
1149 - padding: 12px;
1150 + padding: 12px 16px;
1150 1151 text-align: left;
1151 - border-bottom: 1px solid var(--kng-docs-border);
1152 + border-bottom: 1px solid var(--kng-docs-divider);
1152 1153 }
1153 1154
1154 1155 .kng-docs-article-content th {
1156 + background: var(--kng-docs-bg-alt);
1155 1157 font-weight: 600;
1156 - background: var(--kng-docs-bg);
1158 + font-size: 14px;
1159 + text-transform: uppercase;
1160 + letter-spacing: 0.02em;
1161 + color: var(--kng-docs-text-secondary);
1157 1162 }
1158 1163
1159 -/* Feedback */
1160 -.kng-docs-feedback {
1161 - margin-top: 40px;
1162 - padding-top: 32px;
1163 - border-top: 1px solid var(--kng-docs-border);
1164 +.kng-docs-article-content tr:last-child td {
1165 + border-bottom: none;
1166 +}
1167 +
1168 +/* ═══════════════════════════════════════════
1169 + 10. REACTIONS
1170 + ═══════════════════════════════════════════ */
1171 +.kng-docs-reactions {
1164 1172 text-align: center;
1173 + padding: 40px 0;
1174 + margin-top: 48px;
1175 + border-top: 1px solid var(--kng-docs-divider);
1165 1176 }
1166 1177
1167 -.kng-docs-feedback-question {
1168 - font-size: 16px;
1169 - font-weight: 500;
1178 +.kng-docs-reactions-question {
1179 + font-size: 17px;
1180 + font-weight: 600;
1170 1181 color: var(--kng-docs-text);
1171 - margin: 0 0 16px;
1182 + margin: 0 0 20px;
1172 1183 }
1173 1184
1174 -.kng-docs-feedback-buttons {
1175 - display: flex;
1176 - justify-content: center;
1185 +.kng-docs-reactions-buttons {
1186 + display: inline-flex;
1177 1187 gap: 12px;
1178 1188 }
1179 1189
1180 -.kng-docs-feedback-btn {
1190 +.kng-docs-reaction-btn {
1181 1191 display: inline-flex;
1192 + flex-direction: column;
1182 1193 align-items: center;
1183 - gap: 8px;
1184 - padding: 12px 24px;
1185 - font-size: 14px;
1194 + gap: 6px;
1195 + padding: 16px 24px;
1196 + font-family: var(--kng-docs-font);
1197 + font-size: 13px;
1186 1198 font-weight: 500;
1187 - color: var(--kng-docs-text);
1188 - background: var(--kng-docs-bg);
1189 - border: none;
1190 - border-radius: var(--kng-docs-radius-xs);
1199 + color: var(--kng-docs-text-secondary);
1200 + background: var(--kng-docs-surface);
1201 + backdrop-filter: blur(10px);
1202 + border: 1px solid var(--kng-docs-border);
1203 + border-radius: var(--kng-docs-radius-md);
1191 1204 cursor: pointer;
1192 1205 transition: all var(--kng-docs-transition);
1206 + min-width: 90px;
1193 1207 }
1194 1208
1195 -.kng-docs-feedback-btn:hover {
1196 - background: var(--kng-docs-border);
1209 +.kng-docs-reaction-btn:hover {
1210 + transform: translateY(-2px);
1211 + box-shadow: var(--kng-docs-shadow);
1212 + border-color: rgba(0, 0, 0, 0.12);
1197 1213 }
1198 1214
1199 -.kng-docs-feedback-btn svg {
1200 - width: 18px;
1201 - height: 18px;
1215 +.kng-docs-reaction-btn .kng-docs-reaction-emoji {
1216 + font-size: 28px;
1217 + line-height: 1;
1218 + transition: transform var(--kng-docs-ease-spring) 0.15s;
1202 1219 }
1203 1220
1204 -.kng-docs-feedback-yes:hover {
1205 - background: #d1fae5;
1206 - color: #065f46;
1221 +.kng-docs-reaction-btn:hover .kng-docs-reaction-emoji {
1222 + transform: scale(1.2);
1207 1223 }
1208 1224
1209 -.kng-docs-feedback-no:hover {
1210 - background: #fee2e2;
1211 - color: #991b1b;
1225 +.kng-docs-reaction-btn.is-selected {
1226 + border-color: var(--kng-docs-primary);
1227 + background: rgba(0, 113, 227, 0.06);
1228 + color: var(--kng-docs-primary);
1212 1229 }
1213 1230
1214 -.kng-docs-feedback-thanks {
1215 - display: flex;
1231 +.kng-docs-reactions-thanks {
1232 + display: none;
1216 1233 align-items: center;
1217 1234 justify-content: center;
1218 1235 gap: 8px;
1219 - font-size: 15px;
1220 - color: #059669;
1236 + font-size: 16px;
1237 + font-weight: 500;
1238 + color: var(--kng-docs-primary);
1239 + padding: 20px;
1221 1240 }
1222 1241
1223 -.kng-docs-feedback-thanks svg {
1224 - width: 20px;
1225 - height: 20px;
1242 +.kng-docs-reactions-thanks svg {
1243 + width: 22px;
1244 + height: 22px;
1226 1245 }
1227 1246
1228 -/* Related Articles */
1247 +.kng-docs-reactions-thanks.is-visible {
1248 + display: inline-flex;
1249 +}
1250 +
1251 +/* ═══════════════════════════════════════════
1252 + 11. RELATED ARTICLES
1253 + ═══════════════════════════════════════════ */
1229 1254 .kng-docs-related {
1230 - margin-top: 40px;
1231 - padding-top: 32px;
1232 - border-top: 1px solid var(--kng-docs-border);
1255 + margin-top: 48px;
1256 + padding-top: 48px;
1257 + border-top: 1px solid var(--kng-docs-divider);
1233 1258 }
1234 1259
1235 1260 .kng-docs-related-title {
1236 - font-size: 18px;
1237 - font-weight: 600;
1238 - color: var(--kng-docs-text);
1239 - margin: 0 0 16px;
1261 + font-size: 22px;
1262 + font-weight: 700;
1263 + letter-spacing: -0.02em;
1264 + margin: 0 0 20px;
1240 1265 }
1241 1266
1242 1267 .kng-docs-related-grid {
1243 1268 display: grid;
1244 - grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
1245 - gap: 12px;
1269 + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
1270 + gap: 16px;
1246 1271 }
1247 1272
1248 1273 .kng-docs-related-item {
1249 1274 display: flex;
@@ -1250,59 +1275,72 @@
1250 1275 align-items: center;
1251 1276 justify-content: space-between;
1252 1277 gap: 12px;
1253 1278 padding: 16px 20px;
1254 - background: var(--kng-docs-bg);
1255 - border-radius: var(--kng-docs-radius-xs);
1279 + background: var(--kng-docs-surface);
1280 + backdrop-filter: blur(10px);
1281 + border: 1px solid var(--kng-docs-border);
1282 + border-radius: var(--kng-docs-radius-sm);
1256 1283 text-decoration: none;
1284 + color: var(--kng-docs-text);
1285 + font-size: 15px;
1286 + font-weight: 500;
1257 1287 transition: all var(--kng-docs-transition);
1258 1288 }
1259 1289
1260 1290 .kng-docs-related-item:hover {
1261 - background: var(--kng-docs-border);
1291 + border-color: rgba(0, 113, 227, 0.2);
1292 + box-shadow: var(--kng-docs-shadow-sm);
1293 + transform: translateY(-2px);
1262 1294 }
1263 1295
1264 -.kng-docs-related-item-title {
1265 - font-weight: 500;
1266 - color: var(--kng-docs-text);
1267 -}
1268 -
1269 1296 .kng-docs-related-item svg {
1270 1297 width: 16px;
1271 1298 height: 16px;
1272 1299 color: var(--kng-docs-text-muted);
1273 1300 flex-shrink: 0;
1301 + transition: transform var(--kng-docs-transition-fast);
1274 1302 }
1275 1303
1276 -/* Navigation */
1304 +.kng-docs-related-item:hover svg {
1305 + transform: translateX(3px);
1306 + color: var(--kng-docs-primary);
1307 +}
1308 +
1309 +/* ═══════════════════════════════════════════
1310 + 12. NAVIGATION (Prev / Next)
1311 + ═══════════════════════════════════════════ */
1277 1312 .kng-docs-navigation {
1278 1313 display: grid;
1279 1314 grid-template-columns: 1fr 1fr;
1280 1315 gap: 16px;
1281 - margin-top: 40px;
1282 - padding-top: 32px;
1283 - border-top: 1px solid var(--kng-docs-border);
1316 + margin-top: 48px;
1317 + padding-top: 48px;
1318 + border-top: 1px solid var(--kng-docs-divider);
1284 1319 }
1285 1320
1286 1321 @media (max-width: 640px) {
1287 - .kng-docs-navigation {
1288 - grid-template-columns: 1fr;
1289 - }
1322 + .kng-docs-navigation { grid-template-columns: 1fr; }
1290 1323 }
1291 1324
1292 1325 .kng-docs-nav-item {
1293 1326 display: flex;
1294 1327 align-items: center;
1295 - gap: 12px;
1296 - padding: 20px;
1297 - background: var(--kng-docs-bg);
1298 - border-radius: var(--kng-docs-radius-sm);
1328 + gap: 14px;
1329 + padding: 20px 24px;
1330 + background: var(--kng-docs-surface);
1331 + backdrop-filter: blur(10px);
1332 + border: 1px solid var(--kng-docs-border);
1333 + border-radius: var(--kng-docs-radius-md);
1299 1334 text-decoration: none;
1335 + color: inherit;
1300 1336 transition: all var(--kng-docs-transition);
1301 1337 }
1302 1338
1303 1339 .kng-docs-nav-item:hover {
1304 - background: var(--kng-docs-border);
1340 + border-color: rgba(0, 113, 227, 0.2);
1341 + box-shadow: var(--kng-docs-shadow-sm);
1342 + transform: translateY(-2px);
1305 1343 }
1306 1344
1307 1345 .kng-docs-nav-item svg {
1308 1346 width: 20px;
@@ -1308,10 +1346,14 @@
1308 1346 width: 20px;
1309 1347 height: 20px;
1310 1348 color: var(--kng-docs-text-muted);
1311 1349 flex-shrink: 0;
1350 + transition: transform var(--kng-docs-transition-fast);
1312 1351 }
1313 1352
1353 +.kng-docs-nav-prev:hover svg { transform: translateX(-3px); }
1354 +.kng-docs-nav-next:hover svg { transform: translateX(3px); }
1355 +
1314 1356 .kng-docs-nav-next {
1315 1357 text-align: right;
1316 1358 justify-content: flex-end;
1317 1359 }
@@ -1317,9 +1359,12 @@
1317 1359 }
1318 1360
1319 1361 .kng-docs-nav-label {
1320 1362 display: block;
1321 - font-size: 13px;
1363 + font-size: 12px;
1364 + font-weight: 600;
1365 + text-transform: uppercase;
1366 + letter-spacing: 0.04em;
1322 1367 color: var(--kng-docs-text-muted);
1323 1368 margin-bottom: 4px;
1324 1369 }
1325 1370
@@ -1324,33 +1369,414 @@
1324 1369 }
1325 1370
1326 1371 .kng-docs-nav-title {
1327 1372 display: block;
1373 + font-size: 15px;
1374 + font-weight: 600;
1375 + color: var(--kng-docs-text);
1376 +}
1377 +
1378 +/* ═══════════════════════════════════════════
1379 + 13. SOCIAL SHARE
1380 + ═══════════════════════════════════════════ */
1381 +.kng-docs-share {
1382 + display: flex;
1383 + align-items: center;
1384 + gap: 8px;
1385 + margin-top: 32px;
1386 +}
1387 +
1388 +.kng-docs-share-label {
1389 + font-size: 13px;
1390 + font-weight: 600;
1391 + color: var(--kng-docs-text-muted);
1392 + text-transform: uppercase;
1393 + letter-spacing: 0.02em;
1394 +}
1395 +
1396 +.kng-docs-share-btn {
1397 + display: inline-flex;
1398 + align-items: center;
1399 + justify-content: center;
1400 + width: 36px;
1401 + height: 36px;
1402 + background: var(--kng-docs-surface);
1403 + border: 1px solid var(--kng-docs-border);
1404 + border-radius: 50%;
1405 + cursor: pointer;
1406 + color: var(--kng-docs-text-secondary);
1407 + transition: all var(--kng-docs-transition-fast);
1408 +}
1409 +
1410 +.kng-docs-share-btn:hover {
1411 + background: var(--kng-docs-surface-hover);
1412 + color: var(--kng-docs-primary);
1413 + transform: scale(1.08);
1414 +}
1415 +
1416 +.kng-docs-share-btn svg {
1417 + width: 16px;
1418 + height: 16px;
1419 +}
1420 +
1421 +/* ═══════════════════════════════════════════
1422 + 14. CATEGORY PAGE
1423 + ═══════════════════════════════════════════ */
1424 +.kng-docs-category-header-section {
1425 + text-align: center;
1426 + padding: 48px 0 40px;
1427 +}
1428 +
1429 +.kng-docs-category-icon-large {
1430 + width: 64px;
1431 + height: 64px;
1432 + display: inline-flex;
1433 + align-items: center;
1434 + justify-content: center;
1435 + background: linear-gradient(135deg, var(--kng-docs-icon-color), color-mix(in srgb, var(--kng-docs-icon-color) 70%, #5ac8fa));
1436 + border-radius: var(--kng-docs-radius-md);
1437 + margin: 0 auto 16px;
1438 + box-shadow: 0 8px 24px rgba(0, 113, 227, 0.2);
1439 +}
1440 +
1441 +.kng-docs-category-icon-large svg {
1442 + width: 32px;
1443 + height: 32px;
1444 + color: #fff;
1445 +}
1446 +
1447 +.kng-docs-category-page-title {
1448 + font-size: clamp(28px, 4vw, 40px);
1449 + font-weight: 700;
1450 + letter-spacing: -0.04em;
1451 + margin: 0 0 8px;
1452 +}
1453 +
1454 +.kng-docs-category-page-desc {
1455 + font-size: 17px;
1456 + color: var(--kng-docs-text-secondary);
1457 + margin: 0 0 8px;
1458 + max-width: 560px;
1459 + margin-left: auto;
1460 + margin-right: auto;
1461 +}
1462 +
1463 +.kng-docs-category-page-count {
1464 + font-size: 14px;
1328 1465 font-weight: 500;
1466 + color: var(--kng-docs-text-muted);
1467 +}
1468 +
1469 +/* Subcategories */
1470 +.kng-docs-subcategories {
1471 + margin-bottom: 40px;
1472 +}
1473 +
1474 +.kng-docs-subcategories-title {
1475 + font-size: 13px;
1476 + font-weight: 700;
1477 + letter-spacing: 0.04em;
1478 + text-transform: uppercase;
1479 + color: var(--kng-docs-text-muted);
1480 + margin: 0 0 16px;
1481 +}
1482 +
1483 +.kng-docs-subcategories-grid {
1484 + display: grid;
1485 + grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
1486 + gap: 12px;
1487 +}
1488 +
1489 +.kng-docs-subcategory-card {
1490 + display: flex;
1491 + align-items: center;
1492 + gap: 14px;
1493 + padding: 16px 20px;
1494 + background: var(--kng-docs-surface);
1495 + backdrop-filter: blur(10px);
1496 + border: 1px solid var(--kng-docs-border);
1497 + border-radius: var(--kng-docs-radius-sm);
1498 + text-decoration: none;
1499 + color: inherit;
1500 + transition: all var(--kng-docs-transition);
1501 +}
1502 +
1503 +.kng-docs-subcategory-card:hover {
1504 + box-shadow: var(--kng-docs-shadow-sm);
1505 + border-color: rgba(0, 113, 227, 0.2);
1506 + transform: translateY(-2px);
1507 +}
1508 +
1509 +.kng-docs-subcategory-icon {
1510 + width: 36px;
1511 + height: 36px;
1512 + display: flex;
1513 + align-items: center;
1514 + justify-content: center;
1515 + background: rgba(0, 113, 227, 0.08);
1516 + border-radius: var(--kng-docs-radius-xs);
1517 + flex-shrink: 0;
1518 +}
1519 +
1520 +.kng-docs-subcategory-icon svg {
1521 + width: 18px;
1522 + height: 18px;
1523 + color: var(--kng-docs-primary);
1524 +}
1525 +
1526 +.kng-docs-subcategory-content {
1527 + flex: 1;
1528 + min-width: 0;
1529 +}
1530 +
1531 +.kng-docs-subcategory-name {
1532 + display: block;
1533 + font-size: 15px;
1534 + font-weight: 600;
1329 1535 color: var(--kng-docs-text);
1330 1536 }
1331 1537
1332 -/* ======================================
1333 - Print Styles
1334 - ====================================== */
1538 +.kng-docs-subcategory-count {
1539 + display: block;
1540 + font-size: 12px;
1541 + color: var(--kng-docs-text-muted);
1542 +}
1543 +
1544 +.kng-docs-subcategory-arrow {
1545 + width: 16px;
1546 + height: 16px;
1547 + color: var(--kng-docs-text-muted);
1548 + flex-shrink: 0;
1549 + transition: transform var(--kng-docs-transition-fast);
1550 +}
1551 +
1552 +.kng-docs-subcategory-card:hover .kng-docs-subcategory-arrow {
1553 + transform: translateX(3px);
1554 + color: var(--kng-docs-primary);
1555 +}
1556 +
1557 +/* Articles list */
1558 +.kng-docs-articles-title {
1559 + font-size: 13px;
1560 + font-weight: 700;
1561 + letter-spacing: 0.04em;
1562 + text-transform: uppercase;
1563 + color: var(--kng-docs-text-muted);
1564 + margin: 0 0 16px;
1565 +}
1566 +
1567 +.kng-docs-articles {
1568 + list-style: none;
1569 + padding: 0;
1570 + margin: 0 0 40px;
1571 + display: flex;
1572 + flex-direction: column;
1573 + gap: 4px;
1574 +}
1575 +
1576 +.kng-docs-article-link {
1577 + display: flex;
1578 + align-items: center;
1579 + gap: 14px;
1580 + padding: 14px 20px;
1581 + background: var(--kng-docs-surface);
1582 + backdrop-filter: blur(10px);
1583 + border: 1px solid var(--kng-docs-border);
1584 + border-radius: var(--kng-docs-radius-sm);
1585 + text-decoration: none;
1586 + color: inherit;
1587 + transition: all var(--kng-docs-transition);
1588 +}
1589 +
1590 +.kng-docs-article-link:hover {
1591 + background: var(--kng-docs-surface-hover);
1592 + border-color: rgba(0, 113, 227, 0.15);
1593 + box-shadow: var(--kng-docs-shadow-sm);
1594 +}
1595 +
1596 +.kng-docs-article-icon {
1597 + width: 20px;
1598 + height: 20px;
1599 + color: var(--kng-docs-text-muted);
1600 + flex-shrink: 0;
1601 +}
1602 +
1603 +.kng-docs-article-info {
1604 + flex: 1;
1605 + min-width: 0;
1606 +}
1607 +
1608 +.kng-docs-article-item-title {
1609 + display: block;
1610 + font-size: 15px;
1611 + font-weight: 500;
1612 + color: var(--kng-docs-text);
1613 +}
1614 +
1615 +.kng-docs-article-excerpt {
1616 + display: block;
1617 + font-size: 13px;
1618 + color: var(--kng-docs-text-muted);
1619 + margin-top: 2px;
1620 + white-space: nowrap;
1621 + overflow: hidden;
1622 + text-overflow: ellipsis;
1623 +}
1624 +
1625 +.kng-docs-article-date {
1626 + font-size: 12px;
1627 + color: var(--kng-docs-text-muted);
1628 + white-space: nowrap;
1629 + flex-shrink: 0;
1630 +}
1631 +
1632 +.kng-docs-article-arrow {
1633 + width: 16px;
1634 + height: 16px;
1635 + color: var(--kng-docs-text-muted);
1636 + flex-shrink: 0;
1637 + transition: transform var(--kng-docs-transition-fast);
1638 +}
1639 +
1640 +.kng-docs-article-link:hover .kng-docs-article-arrow {
1641 + transform: translateX(3px);
1642 + color: var(--kng-docs-primary);
1643 +}
1644 +
1645 +/* ═══════════════════════════════════════════
1646 + 15. PAGINATION
1647 + ═══════════════════════════════════════════ */
1648 +.kng-docs-pagination {
1649 + display: flex;
1650 + justify-content: center;
1651 + margin: 20px 0 60px;
1652 +}
1653 +
1654 +.kng-docs-pagination .page-numbers {
1655 + list-style: none;
1656 + display: flex;
1657 + align-items: center;
1658 + gap: 4px;
1659 + padding: 0;
1660 + margin: 0;
1661 +}
1662 +
1663 +.kng-docs-pagination .page-numbers li {
1664 + margin: 0;
1665 +}
1666 +
1667 +.kng-docs-pagination .page-numbers a,
1668 +.kng-docs-pagination .page-numbers span {
1669 + display: inline-flex;
1670 + align-items: center;
1671 + justify-content: center;
1672 + min-width: 40px;
1673 + height: 40px;
1674 + padding: 0 8px;
1675 + font-size: 14px;
1676 + font-weight: 500;
1677 + color: var(--kng-docs-text-secondary);
1678 + background: var(--kng-docs-surface);
1679 + border: 1px solid var(--kng-docs-border);
1680 + border-radius: var(--kng-docs-radius-xs);
1681 + text-decoration: none;
1682 + transition: all var(--kng-docs-transition-fast);
1683 +}
1684 +
1685 +.kng-docs-pagination .page-numbers a:hover {
1686 + background: var(--kng-docs-surface-hover);
1687 + border-color: rgba(0, 0, 0, 0.1);
1688 + color: var(--kng-docs-text);
1689 +}
1690 +
1691 +.kng-docs-pagination .page-numbers .current {
1692 + background: var(--kng-docs-primary);
1693 + border-color: var(--kng-docs-primary);
1694 + color: #fff;
1695 +}
1696 +
1697 +.kng-docs-pagination .page-numbers svg {
1698 + width: 16px;
1699 + height: 16px;
1700 +}
1701 +
1702 +/* ═══════════════════════════════════════════
1703 + 16. SCROLL REVEAL ANIMATION
1704 + ═══════════════════════════════════════════ */
1705 +.kng-docs-reveal {
1706 + opacity: 0;
1707 + transform: translateY(20px);
1708 + transition: opacity 0.6s var(--kng-docs-ease), transform 0.6s var(--kng-docs-ease);
1709 +}
1710 +
1711 +.kng-docs-reveal.is-visible {
1712 + opacity: 1;
1713 + transform: translateY(0);
1714 +}
1715 +
1716 +/* Staggered children */
1717 +.kng-docs-reveal-stagger > * {
1718 + opacity: 0;
1719 + transform: translateY(16px);
1720 + transition: opacity 0.5s var(--kng-docs-ease), transform 0.5s var(--kng-docs-ease);
1721 +}
1722 +
1723 +.kng-docs-reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0s; opacity: 1; transform: none; }
1724 +.kng-docs-reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 0.06s; opacity: 1; transform: none; }
1725 +.kng-docs-reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 0.12s; opacity: 1; transform: none; }
1726 +.kng-docs-reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 0.18s; opacity: 1; transform: none; }
1727 +.kng-docs-reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 0.24s; opacity: 1; transform: none; }
1728 +.kng-docs-reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 0.3s; opacity: 1; transform: none; }
1729 +.kng-docs-reveal-stagger.is-visible > *:nth-child(7) { transition-delay: 0.36s; opacity: 1; transform: none; }
1730 +.kng-docs-reveal-stagger.is-visible > *:nth-child(8) { transition-delay: 0.42s; opacity: 1; transform: none; }
1731 +.kng-docs-reveal-stagger.is-visible > *:nth-child(9) { transition-delay: 0.48s; opacity: 1; transform: none; }
1732 +.kng-docs-reveal-stagger.is-visible > *:nth-child(n+10) { transition-delay: 0.54s; opacity: 1; transform: none; }
1733 +
1734 +/* ═══════════════════════════════════════════
1735 + 17. PRINT
1736 + ═══════════════════════════════════════════ */
1335 1737 @media print {
1336 - .kng-docs-page {
1337 - background: #fff;
1338 - padding: 0;
1339 - }
1340 -
1738 + .kng-docs-search,
1341 1739 .kng-docs-sidebar,
1342 - .kng-docs-search,
1740 + .kng-docs-toc-floating,
1343 1741 .kng-docs-breadcrumbs,
1742 + .kng-docs-navigation,
1743 + .kng-docs-reactions,
1744 + .kng-docs-share,
1344 1745 .kng-docs-article-actions,
1345 - .kng-docs-feedback,
1346 - .kng-docs-related,
1347 - .kng-docs-navigation,
1348 - .kng-docs-toc-floating {
1746 + .kng-docs-related {
1349 1747 display: none !important;
1350 1748 }
1351 -
1352 - .kng-docs-article {
1353 - box-shadow: none;
1354 - padding: 0;
1749 +
1750 + .kng-docs-page {
1751 + background: #fff;
1752 + color: #000;
1355 1753 }
1754 +
1755 + .kng-docs-single-layout {
1756 + grid-template-columns: 1fr !important;
1757 + }
1758 +}
1759 +
1760 +/* ═══════════════════════════════════════════
1761 + 18. TOOLTIP
1762 + ═══════════════════════════════════════════ */
1763 +.kng-docs-tooltip {
1764 + position: fixed;
1765 + z-index: 9999;
1766 + padding: 6px 12px;
1767 + font-size: 12px;
1768 + font-weight: 600;
1769 + color: #fff;
1770 + background: rgba(29, 29, 31, 0.92);
1771 + backdrop-filter: blur(10px);
1772 + border-radius: 8px;
1773 + pointer-events: none;
1774 + opacity: 0;
1775 + transform: translateY(4px);
1776 + transition: opacity 0.2s, transform 0.2s;
1777 +}
1778 +
1779 +.kng-docs-tooltip.is-visible {
1780 + opacity: 1;
1781 + transform: translateY(0);
1356 1782 }