PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.83
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.83
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 51.1.46 51.1.47 51.1.49 All 37 releases
king-addons / includes / extensions / Docs_KB / assets / frontend.css

frontend.css in King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder 51.1.83, at includes/extensions/Docs_KB/assets/frontend.css

1,783 lines 45.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Docs & Knowledge Base v2 – Apple Liquid-Glass Frontend
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 *
12 * @package King_Addons
13 */
14
15 /* ═══════════════════════════════════════════
16 0. CSS CUSTOM PROPERTIES
17 ═══════════════════════════════════════════ */
18 :root {
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 */
33 --kng-docs-text: #1d1d1f;
34 --kng-docs-text-secondary: #6e6e73;
35 --kng-docs-text-muted: #86868b;
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;
49 --kng-docs-radius-sm: 12px;
50 --kng-docs-radius-xs: 8px;
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;
61 }
62
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 ═══════════════════════════════════════════ */
84 .kng-docs-page {
85 font-family: var(--kng-docs-font);
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);
92 min-height: 100vh;
93 -webkit-font-smoothing: antialiased;
94 -moz-osx-font-smoothing: grayscale;
95 line-height: 1.47059;
96 letter-spacing: -0.022em;
97 }
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
114 .kng-docs-container {
115 max-width: 1120px;
116 margin: 0 auto;
117 padding: 0 24px;
118 }
119
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 ═══════════════════════════════════════════ */
129 .kng-docs-hero {
130 text-align: center;
131 padding: 80px 0 48px;
132 max-width: 680px;
133 margin: 0 auto;
134 }
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
153 .kng-docs-hero-title {
154 font-size: clamp(40px, 6vw, 64px);
155 font-weight: 700;
156 letter-spacing: -0.04em;
157 line-height: 1.05;
158 color: var(--kng-docs-text);
159 margin: 0 0 16px;
160 }
161
162 .kng-docs-hero-subtitle {
163 font-size: clamp(17px, 2vw, 21px);
164 font-weight: 400;
165 color: var(--kng-docs-text-secondary);
166 line-height: 1.52381;
167 letter-spacing: 0.011em;
168 margin: 0 0 40px;
169 }
170
171 /* ═══════════════════════════════════════════
172 3. SEARCH — Frosted Glass Capsule
173 ═══════════════════════════════════════════ */
174 .kng-docs-search {
175 position: relative;
176 max-width: 640px;
177 margin: 0 auto 64px;
178 z-index: 50;
179 }
180
181 .kng-docs-search-inner {
182 position: relative;
183 display: flex;
184 align-items: center;
185 }
186
187 .kng-docs-search-icon {
188 position: absolute;
189 left: 22px;
190 width: 20px;
191 height: 20px;
192 color: var(--kng-docs-text-muted);
193 pointer-events: none;
194 transition: color var(--kng-docs-transition-fast);
195 }
196
197 .kng-docs-search-input {
198 width: 100%;
199 height: 56px;
200 padding: 0 56px;
201 font-size: 17px;
202 font-family: var(--kng-docs-font);
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;
208 background: var(--kng-docs-surface);
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;
214 }
215
216 .kng-docs-search-input:focus {
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);
220 }
221
222 .kng-docs-search-input:focus ~ .kng-docs-search-icon {
223 color: var(--kng-docs-primary);
224 }
225
226 .kng-docs-search-input::placeholder {
227 color: var(--kng-docs-text-muted);
228 }
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 */
262 .kng-docs-search-loader {
263 position: absolute;
264 right: 20px;
265 display: none;
266 }
267
268 .kng-docs-search-loader svg {
269 width: 22px;
270 height: 22px;
271 color: var(--kng-docs-primary);
272 animation: kng-spin 0.8s linear infinite;
273 }
274
275 @keyframes kng-spin {
276 to { transform: rotate(360deg); }
277 }
278
279 /* Results dropdown */
280 .kng-docs-search-results {
281 position: absolute;
282 top: calc(100% + 8px);
283 left: 0;
284 right: 0;
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);
289 border-radius: var(--kng-docs-radius);
290 box-shadow: var(--kng-docs-shadow-lg);
291 max-height: 420px;
292 overflow-y: auto;
293 overscroll-behavior: contain;
294 display: none;
295 }
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
306 .kng-docs-search-result {
307 display: flex;
308 flex-direction: column;
309 gap: 4px;
310 padding: 14px 20px;
311 text-decoration: none;
312 color: inherit;
313 border-bottom: 1px solid var(--kng-docs-divider);
314 transition: background var(--kng-docs-transition-fast);
315 }
316
317 .kng-docs-search-result:last-child {
318 border-bottom: none;
319 }
320
321 .kng-docs-search-result:hover,
322 .kng-docs-search-result:focus {
323 background: var(--kng-docs-surface-hover);
324 outline: none;
325 }
326
327 .kng-docs-search-result-title {
328 font-weight: 600;
329 font-size: 15px;
330 color: var(--kng-docs-text);
331 }
332
333 .kng-docs-search-result-title mark {
334 background: rgba(0, 113, 227, 0.12);
335 color: var(--kng-docs-primary);
336 padding: 1px 3px;
337 border-radius: 3px;
338 }
339
340 .kng-docs-search-result-meta {
341 display: flex;
342 align-items: center;
343 gap: 8px;
344 font-size: 13px;
345 color: var(--kng-docs-text-muted);
346 }
347
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;
354 }
355
356 .kng-docs-search-empty {
357 padding: 40px 24px;
358 text-align: center;
359 color: var(--kng-docs-text-secondary);
360 font-size: 15px;
361 }
362
363 /* ═══════════════════════════════════════════
364 4. CATEGORIES GRID — Glass Cards
365 ═══════════════════════════════════════════ */
366 .kng-docs-categories {
367 display: grid;
368 grid-template-columns: repeat(var(--kng-docs-columns, 3), 1fr);
369 gap: 20px;
370 padding-bottom: 80px;
371 }
372
373 @media (max-width: 1024px) {
374 .kng-docs-categories { grid-template-columns: repeat(2, 1fr); }
375 }
376
377 @media (max-width: 640px) {
378 .kng-docs-categories { grid-template-columns: 1fr; }
379 }
380
381 /* ── Glass Card Layout ── */
382 .kng-docs-category--glass-card {
383 position: relative;
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);
388 border-radius: var(--kng-docs-radius);
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);
397 }
398
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);
403 }
404
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;
414 }
415
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;
424 display: flex;
425 align-items: center;
426 justify-content: center;
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);
429 flex-shrink: 0;
430 box-shadow: 0 4px 12px rgba(0, 113, 227, 0.2);
431 }
432
433 .kng-docs-category__icon svg {
434 width: 24px;
435 height: 24px;
436 color: #fff;
437 }
438
439 .kng-docs-category__title {
440 font-size: 20px;
441 font-weight: 600;
442 letter-spacing: -0.02em;
443 color: var(--kng-docs-text);
444 margin: 0;
445 }
446
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;
456 }
457
458 .kng-docs-category__count {
459 font-size: 13px;
460 font-weight: 500;
461 color: var(--kng-docs-text-muted);
462 margin-top: auto;
463 padding-top: 4px;
464 }
465
466 /* Article preview list inside glass-card */
467 .kng-docs-category--glass-card .kng-docs-category__articles {
468 list-style: none;
469 padding: 0;
470 margin: 4px 0 0;
471 display: flex;
472 flex-direction: column;
473 gap: 2px;
474 }
475
476 .kng-docs-category--glass-card .kng-docs-category__articles li {
477 display: flex;
478 align-items: center;
479 gap: 8px;
480 }
481
482 .kng-docs-category--glass-card .kng-docs-category__article-link {
483 display: flex;
484 align-items: center;
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;
491 }
492
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;
498 }
499
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);
510 }
511
512 .kng-docs-category--glass-card:hover .kng-docs-category__arrow {
513 opacity: 1;
514 transform: translateY(-50%) translateX(4px);
515 }
516
517 /* ── Glass List Layout ── */
518 .kng-docs-layout--glass-list .kng-docs-categories {
519 grid-template-columns: 1fr;
520 gap: 12px;
521 }
522
523 .kng-docs-category--glass-list {
524 position: relative;
525 display: flex;
526 align-items: center;
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);
533 padding: 20px 24px;
534 text-decoration: none;
535 color: inherit;
536 transition: transform var(--kng-docs-transition), box-shadow var(--kng-docs-transition), border-color var(--kng-docs-transition);
537 }
538
539 .kng-docs-category--glass-list:hover {
540 transform: translateX(4px);
541 box-shadow: var(--kng-docs-shadow);
542 border-color: rgba(0, 113, 227, 0.2);
543 }
544
545 .kng-docs-category--glass-list .kng-docs-category__content {
546 flex: 1;
547 min-width: 0;
548 }
549
550 .kng-docs-category--glass-list .kng-docs-category__title {
551 font-size: 17px;
552 }
553
554 .kng-docs-category--glass-list .kng-docs-category__desc {
555 font-size: 14px;
556 -webkit-line-clamp: 1;
557 }
558
559 .kng-docs-category--glass-list .kng-docs-category__count {
560 margin-top: 4px;
561 }
562
563 .kng-docs-category--glass-list .kng-docs-category__arrow-list {
564 width: 20px;
565 height: 20px;
566 color: var(--kng-docs-text-muted);
567 flex-shrink: 0;
568 transition: transform var(--kng-docs-transition-fast);
569 }
570
571 .kng-docs-category--glass-list:hover .kng-docs-category__arrow-list {
572 color: var(--kng-docs-primary);
573 transform: translateX(3px);
574 }
575
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);
588 }
589
590 .kng-docs-category--glass-grid:hover {
591 box-shadow: var(--kng-docs-shadow);
592 border-color: rgba(0, 113, 227, 0.15);
593 }
594
595 .kng-docs-category--glass-grid .kng-docs-category__header {
596 display: flex;
597 align-items: center;
598 gap: 14px;
599 }
600
601 .kng-docs-category--glass-grid .kng-docs-category__header-text {
602 flex: 1;
603 min-width: 0;
604 }
605
606 .kng-docs-category--glass-grid .kng-docs-category__title {
607 font-size: 18px;
608 }
609
610 .kng-docs-category--glass-grid .kng-docs-category__count-badge {
611 font-size: 12px;
612 font-weight: 600;
613 color: var(--kng-docs-text-muted);
614 background: var(--kng-docs-bg-alt);
615 padding: 3px 10px;
616 border-radius: 980px;
617 white-space: nowrap;
618 }
619
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;
627 }
628
629 .kng-docs-category--glass-grid .kng-docs-category__article-link {
630 display: flex;
631 align-items: center;
632 gap: 8px;
633 padding: 8px 12px;
634 border-radius: var(--kng-docs-radius-xs);
635 text-decoration: none;
636 font-size: 14px;
637 color: var(--kng-docs-text);
638 transition: background var(--kng-docs-transition-fast), color var(--kng-docs-transition-fast);
639 }
640
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);
644 }
645
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);
650 flex-shrink: 0;
651 }
652
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;
659 color: var(--kng-docs-primary);
660 text-decoration: none;
661 padding: 6px 0;
662 transition: gap var(--kng-docs-transition-fast);
663 }
664
665 .kng-docs-category--glass-grid .kng-docs-category__more:hover {
666 gap: 8px;
667 }
668
669 .kng-docs-category--glass-grid .kng-docs-category__more svg {
670 width: 16px;
671 height: 16px;
672 }
673
674 /* ═══════════════════════════════════════════
675 5. EMPTY STATE
676 ═══════════════════════════════════════════ */
677 .kng-docs-empty {
678 text-align: center;
679 padding: 100px 24px;
680 }
681
682 .kng-docs-empty svg {
683 width: 56px;
684 height: 56px;
685 color: var(--kng-docs-text-muted);
686 margin-bottom: 20px;
687 opacity: 0.5;
688 }
689
690 .kng-docs-empty h3 {
691 font-size: 22px;
692 font-weight: 600;
693 letter-spacing: -0.02em;
694 margin: 0 0 8px;
695 }
696
697 .kng-docs-empty p {
698 font-size: 15px;
699 color: var(--kng-docs-text-secondary);
700 margin: 0;
701 }
702
703 /* ═══════════════════════════════════════════
704 6. BREADCRUMBS
705 ═══════════════════════════════════════════ */
706 .kng-docs-breadcrumbs {
707 display: flex;
708 align-items: center;
709 gap: 8px;
710 padding: 24px 0 20px;
711 font-size: 13px;
712 font-weight: 500;
713 color: var(--kng-docs-text-muted);
714 flex-wrap: wrap;
715 }
716
717 .kng-docs-breadcrumb-item {
718 display: inline-flex;
719 align-items: center;
720 gap: 5px;
721 text-decoration: none;
722 color: var(--kng-docs-text-muted);
723 transition: color var(--kng-docs-transition-fast);
724 }
725
726 .kng-docs-breadcrumb-item svg {
727 width: 14px;
728 height: 14px;
729 }
730
731 .kng-docs-breadcrumb-item:hover {
732 color: var(--kng-docs-primary);
733 }
734
735 .kng-docs-breadcrumb-sep {
736 color: var(--kng-docs-text-muted);
737 opacity: 0.4;
738 font-size: 12px;
739 }
740
741 .kng-docs-breadcrumb-current {
742 color: var(--kng-docs-text);
743 font-weight: 600;
744 }
745
746 /* ═══════════════════════════════════════════
747 7. SINGLE DOC LAYOUT
748 ═══════════════════════════════════════════ */
749 .kng-docs-single-layout {
750 display: grid;
751 grid-template-columns: 1fr;
752 gap: 40px;
753 padding-bottom: 80px;
754 }
755
756 .kng-docs-single-layout.has-sidebar {
757 grid-template-columns: 260px 1fr;
758 }
759
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 {
767 grid-template-columns: 1fr;
768 }
769 }
770
771 /* ── Sidebar ── */
772 .kng-docs-sidebar {
773 position: relative;
774 }
775
776 .kng-docs-sidebar.is-sticky .kng-docs-sidebar-inner {
777 position: sticky;
778 top: 100px;
779 max-height: calc(100vh - 120px);
780 overflow-y: auto;
781 }
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
792 .kng-docs-sidebar-title {
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;
799 padding-bottom: 12px;
800 border-bottom: 1px solid var(--kng-docs-divider);
801 }
802
803 .kng-docs-sidebar-list {
804 list-style: none;
805 padding: 0;
806 margin: 0;
807 display: flex;
808 flex-direction: column;
809 gap: 1px;
810 }
811
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;
818 font-size: 14px;
819 color: var(--kng-docs-text-secondary);
820 text-decoration: none;
821 border-radius: var(--kng-docs-radius-xs);
822 transition: all var(--kng-docs-transition-fast);
823 font-weight: 400;
824 }
825
826 .kng-docs-sidebar-list li a:hover {
827 background: var(--kng-docs-bg-alt);
828 color: var(--kng-docs-primary);
829 }
830
831 .kng-docs-sidebar-list li.is-current a {
832 background: rgba(0, 113, 227, 0.08);
833 color: var(--kng-docs-primary);
834 font-weight: 600;
835 }
836
837 .kng-docs-sidebar-count {
838 font-size: 12px;
839 font-weight: 600;
840 color: var(--kng-docs-text-muted);
841 background: var(--kng-docs-bg-alt);
842 padding: 2px 8px;
843 border-radius: 980px;
844 }
845
846 /* ── Article ── */
847 .kng-docs-article {
848 min-width: 0;
849 }
850
851 .kng-docs-article-actions {
852 display: flex;
853 justify-content: flex-end;
854 gap: 8px;
855 margin-bottom: 16px;
856 }
857
858 .kng-docs-action-btn {
859 display: inline-flex;
860 align-items: center;
861 gap: 6px;
862 padding: 8px 14px;
863 font-size: 13px;
864 font-weight: 500;
865 font-family: var(--kng-docs-font);
866 color: var(--kng-docs-text-secondary);
867 background: var(--kng-docs-surface);
868 backdrop-filter: blur(10px);
869 border: 1px solid var(--kng-docs-border);
870 border-radius: 980px;
871 cursor: pointer;
872 transition: all var(--kng-docs-transition-fast);
873 }
874
875 .kng-docs-action-btn:hover {
876 background: var(--kng-docs-surface-hover);
877 color: var(--kng-docs-text);
878 border-color: rgba(0, 0, 0, 0.12);
879 }
880
881 .kng-docs-action-btn svg {
882 width: 16px;
883 height: 16px;
884 }
885
886 .kng-docs-article-header {
887 margin-bottom: 32px;
888 }
889
890 .kng-docs-article-title {
891 font-size: clamp(28px, 4vw, 40px);
892 font-weight: 700;
893 letter-spacing: -0.04em;
894 line-height: 1.1;
895 margin: 0 0 16px;
896 color: var(--kng-docs-text);
897 }
898
899 .kng-docs-article-meta {
900 display: flex;
901 align-items: center;
902 gap: 16px;
903 flex-wrap: wrap;
904 font-size: 14px;
905 color: var(--kng-docs-text-muted);
906 }
907
908 .kng-docs-article-meta > span {
909 display: inline-flex;
910 align-items: center;
911 gap: 6px;
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;
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);
941 }
942
943 .kng-docs-tag:hover {
944 color: var(--kng-docs-primary);
945 background: rgba(0, 113, 227, 0.08);
946 }
947
948 /* ═══════════════════════════════════════════
949 8. TABLE OF CONTENTS — Frosted Glass
950 ═══════════════════════════════════════════ */
951 .kng-docs-toc {
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);
957 padding: 20px 24px;
958 margin-bottom: 32px;
959 }
960
961 .kng-docs-toc-title {
962 display: flex;
963 align-items: center;
964 gap: 8px;
965 font-size: 13px;
966 font-weight: 700;
967 letter-spacing: 0.02em;
968 text-transform: uppercase;
969 color: var(--kng-docs-text-muted);
970 margin: 0 0 12px;
971 }
972
973 .kng-docs-toc-title svg {
974 width: 16px;
975 height: 16px;
976 }
977
978 .kng-docs-toc-list {
979 list-style: none;
980 padding: 0;
981 margin: 0;
982 display: flex;
983 flex-direction: column;
984 gap: 2px;
985 }
986
987 .kng-docs-toc-item a {
988 display: block;
989 padding: 6px 12px;
990 font-size: 14px;
991 color: var(--kng-docs-text-secondary);
992 text-decoration: none;
993 border-radius: var(--kng-docs-radius-xs);
994 border-left: 2px solid transparent;
995 transition: all var(--kng-docs-transition-fast);
996 }
997
998 .kng-docs-toc-item a:hover,
999 .kng-docs-toc-item.is-active a {
1000 color: var(--kng-docs-primary);
1001 background: rgba(0, 113, 227, 0.06);
1002 border-left-color: var(--kng-docs-primary);
1003 }
1004
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;
1012 }
1013
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;
1019 }
1020
1021 .kng-docs-toc-floating-inner {
1022 padding: 16px;
1023 }
1024
1025 .kng-docs-toc-floating-inner .kng-docs-toc-title {
1026 font-size: 12px;
1027 }
1028
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 ═══════════════════════════════════════════ */
1041 .kng-docs-article-content {
1042 font-size: 17px;
1043 line-height: 1.64706;
1044 letter-spacing: -0.022em;
1045 color: var(--kng-docs-text);
1046 }
1047
1048 .kng-docs-article-content h2 {
1049 font-size: 28px;
1050 font-weight: 700;
1051 letter-spacing: -0.032em;
1052 margin: 48px 0 16px;
1053 scroll-margin-top: 100px;
1054 }
1055
1056 .kng-docs-article-content h3 {
1057 font-size: 22px;
1058 font-weight: 600;
1059 letter-spacing: -0.026em;
1060 margin: 40px 0 12px;
1061 scroll-margin-top: 100px;
1062 }
1063
1064 .kng-docs-article-content h4 {
1065 font-size: 18px;
1066 font-weight: 600;
1067 margin: 32px 0 10px;
1068 scroll-margin-top: 100px;
1069 }
1070
1071 .kng-docs-article-content p {
1072 margin: 0 0 20px;
1073 }
1074
1075 .kng-docs-article-content a {
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);
1081 }
1082
1083 .kng-docs-article-content a:hover {
1084 text-decoration-color: var(--kng-docs-link-color);
1085 }
1086
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 }
1093
1094 .kng-docs-article-content pre {
1095 background: var(--kng-docs-bg-alt);
1096 border: 1px solid var(--kng-docs-border);
1097 border-radius: var(--kng-docs-radius-sm);
1098 padding: 20px 24px;
1099 overflow-x: auto;
1100 font-family: var(--kng-docs-font-mono);
1101 font-size: 14px;
1102 line-height: 1.6;
1103 margin: 24px 0;
1104 }
1105
1106 .kng-docs-article-content code {
1107 font-family: var(--kng-docs-font-mono);
1108 font-size: 0.88em;
1109 background: var(--kng-docs-bg-alt);
1110 padding: 2px 6px;
1111 border-radius: 4px;
1112 }
1113
1114 .kng-docs-article-content pre code {
1115 background: transparent;
1116 padding: 0;
1117 }
1118
1119 .kng-docs-article-content blockquote {
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);
1124 border-radius: 0 var(--kng-docs-radius-xs) var(--kng-docs-radius-xs) 0;
1125 color: var(--kng-docs-text-secondary);
1126 }
1127
1128 .kng-docs-article-content ul,
1129 .kng-docs-article-content ol {
1130 padding-left: 24px;
1131 margin: 16px 0;
1132 }
1133
1134 .kng-docs-article-content li {
1135 margin-bottom: 8px;
1136 }
1137
1138 .kng-docs-article-content table {
1139 width: 100%;
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;
1146 }
1147
1148 .kng-docs-article-content th,
1149 .kng-docs-article-content td {
1150 padding: 12px 16px;
1151 text-align: left;
1152 border-bottom: 1px solid var(--kng-docs-divider);
1153 }
1154
1155 .kng-docs-article-content th {
1156 background: var(--kng-docs-bg-alt);
1157 font-weight: 600;
1158 font-size: 14px;
1159 text-transform: uppercase;
1160 letter-spacing: 0.02em;
1161 color: var(--kng-docs-text-secondary);
1162 }
1163
1164 .kng-docs-article-content tr:last-child td {
1165 border-bottom: none;
1166 }
1167
1168 /* ═══════════════════════════════════════════
1169 10. REACTIONS
1170 ═══════════════════════════════════════════ */
1171 .kng-docs-reactions {
1172 text-align: center;
1173 padding: 40px 0;
1174 margin-top: 48px;
1175 border-top: 1px solid var(--kng-docs-divider);
1176 }
1177
1178 .kng-docs-reactions-question {
1179 font-size: 17px;
1180 font-weight: 600;
1181 color: var(--kng-docs-text);
1182 margin: 0 0 20px;
1183 }
1184
1185 .kng-docs-reactions-buttons {
1186 display: inline-flex;
1187 gap: 12px;
1188 }
1189
1190 .kng-docs-reaction-btn {
1191 display: inline-flex;
1192 flex-direction: column;
1193 align-items: center;
1194 gap: 6px;
1195 padding: 16px 24px;
1196 font-family: var(--kng-docs-font);
1197 font-size: 13px;
1198 font-weight: 500;
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);
1204 cursor: pointer;
1205 transition: all var(--kng-docs-transition);
1206 min-width: 90px;
1207 }
1208
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);
1213 }
1214
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;
1219 }
1220
1221 .kng-docs-reaction-btn:hover .kng-docs-reaction-emoji {
1222 transform: scale(1.2);
1223 }
1224
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);
1229 }
1230
1231 .kng-docs-reactions-thanks {
1232 display: none;
1233 align-items: center;
1234 justify-content: center;
1235 gap: 8px;
1236 font-size: 16px;
1237 font-weight: 500;
1238 color: var(--kng-docs-primary);
1239 padding: 20px;
1240 }
1241
1242 .kng-docs-reactions-thanks svg {
1243 width: 22px;
1244 height: 22px;
1245 }
1246
1247 .kng-docs-reactions-thanks.is-visible {
1248 display: inline-flex;
1249 }
1250
1251 /* ═══════════════════════════════════════════
1252 11. RELATED ARTICLES
1253 ═══════════════════════════════════════════ */
1254 .kng-docs-related {
1255 margin-top: 48px;
1256 padding-top: 48px;
1257 border-top: 1px solid var(--kng-docs-divider);
1258 }
1259
1260 .kng-docs-related-title {
1261 font-size: 22px;
1262 font-weight: 700;
1263 letter-spacing: -0.02em;
1264 margin: 0 0 20px;
1265 }
1266
1267 .kng-docs-related-grid {
1268 display: grid;
1269 grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
1270 gap: 16px;
1271 }
1272
1273 .kng-docs-related-item {
1274 display: flex;
1275 align-items: center;
1276 justify-content: space-between;
1277 gap: 12px;
1278 padding: 16px 20px;
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);
1283 text-decoration: none;
1284 color: var(--kng-docs-text);
1285 font-size: 15px;
1286 font-weight: 500;
1287 transition: all var(--kng-docs-transition);
1288 }
1289
1290 .kng-docs-related-item:hover {
1291 border-color: rgba(0, 113, 227, 0.2);
1292 box-shadow: var(--kng-docs-shadow-sm);
1293 transform: translateY(-2px);
1294 }
1295
1296 .kng-docs-related-item svg {
1297 width: 16px;
1298 height: 16px;
1299 color: var(--kng-docs-text-muted);
1300 flex-shrink: 0;
1301 transition: transform var(--kng-docs-transition-fast);
1302 }
1303
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 ═══════════════════════════════════════════ */
1312 .kng-docs-navigation {
1313 display: grid;
1314 grid-template-columns: 1fr 1fr;
1315 gap: 16px;
1316 margin-top: 48px;
1317 padding-top: 48px;
1318 border-top: 1px solid var(--kng-docs-divider);
1319 }
1320
1321 @media (max-width: 640px) {
1322 .kng-docs-navigation { grid-template-columns: 1fr; }
1323 }
1324
1325 .kng-docs-nav-item {
1326 display: flex;
1327 align-items: center;
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);
1334 text-decoration: none;
1335 color: inherit;
1336 transition: all var(--kng-docs-transition);
1337 }
1338
1339 .kng-docs-nav-item:hover {
1340 border-color: rgba(0, 113, 227, 0.2);
1341 box-shadow: var(--kng-docs-shadow-sm);
1342 transform: translateY(-2px);
1343 }
1344
1345 .kng-docs-nav-item svg {
1346 width: 20px;
1347 height: 20px;
1348 color: var(--kng-docs-text-muted);
1349 flex-shrink: 0;
1350 transition: transform var(--kng-docs-transition-fast);
1351 }
1352
1353 .kng-docs-nav-prev:hover svg { transform: translateX(-3px); }
1354 .kng-docs-nav-next:hover svg { transform: translateX(3px); }
1355
1356 .kng-docs-nav-next {
1357 text-align: right;
1358 justify-content: flex-end;
1359 }
1360
1361 .kng-docs-nav-label {
1362 display: block;
1363 font-size: 12px;
1364 font-weight: 600;
1365 text-transform: uppercase;
1366 letter-spacing: 0.04em;
1367 color: var(--kng-docs-text-muted);
1368 margin-bottom: 4px;
1369 }
1370
1371 .kng-docs-nav-title {
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;
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;
1535 color: var(--kng-docs-text);
1536 }
1537
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 ═══════════════════════════════════════════ */
1737 @media print {
1738 .kng-docs-search,
1739 .kng-docs-sidebar,
1740 .kng-docs-toc-floating,
1741 .kng-docs-breadcrumbs,
1742 .kng-docs-navigation,
1743 .kng-docs-reactions,
1744 .kng-docs-share,
1745 .kng-docs-article-actions,
1746 .kng-docs-related {
1747 display: none !important;
1748 }
1749
1750 .kng-docs-page {
1751 background: #fff;
1752 color: #000;
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);
1782 }
1783