:root{--tf-color-primary: #0a0a1a;--tf-color-secondary: #8b5cf6;--tf-color-accent: #06b6d4;--tf-color-gradient-1: #f472b6;--tf-color-gradient-2: #3b82f6;--tf-color-bg-light: #f8fafc;--tf-color-bg-dark: #0f0f23;--tf-color-border: #1e293b;--tf-color-text-primary: #ffffff;--tf-color-text-secondary: #94a3b8;--tf-color-white: #ffffff;--tf-color-dark-slate: #1e293b;--tf-color-dark-purple: #1a1a3e;--tf-color-light-bg: #f8fafc;--tf-color-light-surface: #e2e8f0;--tf-color-success: #22c55e;--tf-color-error: #ef4444;--tf-color-warning: #f59e0b;--tf-color-bg-base: #0f0f23;--tf-color-bg-elevated: #1a1a3e;--tf-color-bg-subtle: #f8fafc;--tf-color-surface: #e2e8f0;--tf-font-display: "Orbitron", sans-serif;--tf-font-body: "Inter", sans-serif;--tf-font-code: "Fira Code", monospace;--tf-glow-cyan: 0 0 20px rgba(6, 182, 212, .5);--tf-glow-purple: 0 0 20px rgba(139, 92, 246, .5);--tf-transition-smooth: all .3s cubic-bezier(.16, 1, .3, 1);--tf-clip-corner-size: 20px;--tf-clip-angle: var(--tf-clip-corner-size);--tf-radius-btn: var(--tf-radius-md);--tf-icon-size: 20px;--tf-navbar-height: 4.5rem;--tf-navbar-sticky-gap: 1rem;--tf-color-card-bg: rgba(15, 15, 35, .6);--tf-color-card-bg-hover: rgba(15, 15, 35, .8);--tf-color-card-border: rgba(6, 182, 212, .2);--tf-color-card-border-hover: rgba(6, 182, 212, .5);--tf-color-navbar-bg: rgba(15, 15, 35, .7);--tf-color-navbar-bg-scrolled: rgba(15, 15, 35, .55);--tf-color-navbar-border: rgba(6, 182, 212, .2);--tf-color-footer-bg: rgba(10, 10, 26, .8);--tf-color-input-bg: rgba(6, 182, 212, .05);--tf-color-input-border: rgba(6, 182, 212, .25);--tf-color-overlay-bg: rgba(10, 10, 26, .9);--tf-color-modal-bg: rgba(15, 15, 35, .95);--tf-color-mobile-menu-bg: rgba(15, 15, 35, .98);--tf-accent-03: rgba(6, 182, 212, .03);--tf-accent-04: rgba(6, 182, 212, .04);--tf-accent-05: rgba(6, 182, 212, .05);--tf-accent-06: rgba(6, 182, 212, .06);--tf-accent-08: rgba(6, 182, 212, .08);--tf-accent-10: rgba(6, 182, 212, .1);--tf-accent-12: rgba(6, 182, 212, .12);--tf-accent-15: rgba(6, 182, 212, .15);--tf-accent-18: rgba(6, 182, 212, .18);--tf-accent-20: rgba(6, 182, 212, .2);--tf-accent-22: rgba(6, 182, 212, .22);--tf-accent-25: rgba(6, 182, 212, .25);--tf-accent-30: rgba(6, 182, 212, .3);--tf-accent-40: rgba(6, 182, 212, .4);--tf-accent-50: rgba(6, 182, 212, .5);--tf-secondary-06: rgba(139, 92, 246, .06);--tf-secondary-08: rgba(139, 92, 246, .08);--tf-secondary-10: rgba(139, 92, 246, .1);--tf-secondary-12: rgba(139, 92, 246, .12);--tf-secondary-15: rgba(139, 92, 246, .15);--tf-secondary-20: rgba(139, 92, 246, .2);--tf-secondary-30: rgba(139, 92, 246, .3);--tf-secondary-50: rgba(139, 92, 246, .5);--tf-gradient1-30: rgba(244, 114, 182, .3);--tf-gradient1-35: rgba(244, 114, 182, .35);--tf-gradient1-40: rgba(244, 114, 182, .4);--tf-gradient1-50: rgba(244, 114, 182, .5);--tf-success-10: rgba(34, 197, 94, .1);--tf-success-30: rgba(34, 197, 94, .3);--tf-warning-10: rgba(245, 158, 11, .1);--tf-warning-30: rgba(245, 158, 11, .3);--tf-error-10: rgba(239, 68, 68, .1);--tf-error-30: rgba(239, 68, 68, .3);--tf-shadow-card-hover: 0 20px 45px var(--tf-accent-18), 0 0 35px var(--tf-accent-10);--tf-white-10: rgba(255, 255, 255, .1);--tf-white-20: rgba(255, 255, 255, .2);--tf-dark-90: rgba(10, 10, 26, .9);--tf-dark-95: rgba(10, 10, 26, .95);--tf-gradient-title: linear-gradient(135deg, var(--tf-color-white) 0%, var(--tf-color-accent) 50%, var(--tf-color-secondary) 100%);--tf-gradient-title-light: linear-gradient(135deg, var(--tf-color-dark-slate) 0%, var(--tf-color-accent) 50%, var(--tf-color-secondary) 100%);--tf-gradient-hero: linear-gradient(135deg, var(--tf-color-primary) 0%, var(--tf-color-dark-purple) 100%);--tf-gradient-hero-light: linear-gradient(135deg, var(--tf-color-light-bg) 0%, var(--tf-color-light-surface) 100%);--tf-gradient-btn-primary: linear-gradient(135deg, var(--tf-color-gradient-1), var(--tf-color-gradient-2));--tf-gradient-success-accent: linear-gradient(135deg, var(--tf-color-success), var(--tf-color-accent));--tf-code-keyword: #c792ea;--tf-code-string: #c3e88d;--tf-code-function: #82aaff;--tf-code-comment: #738290;--tf-code-number: #f78c6c;--tf-code-property: #ffcb6b;--tf-code-text: #e2e8f0;--tf-container-max: 1400px;--tf-container-padding: 2rem;--tf-section-padding-y: 6rem;--tf-section-gap: 4rem;--tf-card-padding: 2rem;--tf-grid-gap: 2rem;--tf-cover-height: 230px;--tf-fab-size: 48px;--tf-fab-right: 1.5rem;--tf-fab-bottom: 2rem;--tf-fab-bottom-2: calc(var(--tf-fab-bottom) + var(--tf-fab-size) + .75rem);--tf-z-navbar: 300;--tf-z-modal-backdrop: 500;--tf-z-modal: 600;--tf-z-toast: 900;--tf-z-skip-link: 10000;--tf-space-1: .25rem;--tf-space-2: .5rem;--tf-space-3: .75rem;--tf-space-4: 1rem;--tf-space-5: 1.5rem;--tf-space-6: 2rem;--tf-space-8: 3rem;--tf-space-10: 4rem;--tf-space-12: 5rem;--tf-space-16: 6rem;--tf-space-20: 7rem;--tf-space-24: 8rem;--tf-radius-sm: 6px;--tf-radius-md: 10px;--tf-radius-lg: 14px;--tf-radius-xl: 16px;--tf-radius-pill: 9999px;--tf-shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--tf-shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--tf-shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--tf-shadow-xl: 0 16px 48px rgba(0, 0, 0, .5);--tf-shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--tf-shadow-modal: 0 20px 60px rgba(0, 0, 0, .5);--tf-shadow-btn-primary: 0 4px 20px var(--tf-accent-15);--tf-shadow-btn-primary-hover: 0 8px 30px var(--tf-accent-20), 0 0 20px var(--tf-accent-10);--tf-shadow-btn-outline: none;--tf-shadow-btn-outline-hover: 0 0 15px var(--tf-accent-10);--tf-shadow-submit: 0 4px 20px var(--tf-accent-15);--tf-duration-instant: .1s;--tf-duration-fast: .2s;--tf-duration-normal: .3s;--tf-duration-slow: .5s;--tf-duration-slower: .8s;--tf-ease-out: cubic-bezier(.16, 1, .3, 1);--tf-ease-in: cubic-bezier(.4, 0, 1, 1);--tf-ease-in-out: cubic-bezier(.4, 0, .2, 1);--tf-ease-linear: linear;--tf-leading-tight: 1.2;--tf-leading-normal: 1.6;--tf-leading-relaxed: 1.75;--tf-leading-loose: 1.9;--tf-breakpoint-sm: 640px;--tf-breakpoint-md: 768px;--tf-breakpoint-lg: 1024px;--tf-breakpoint-xl: 1400px;--tf-breakpoint-2xl: 1600px;--tf-breakpoint-3xl: 1920px;--tf-badge-radius: 9999px;--tf-badge-padding-y: .35rem;--tf-badge-padding-x: .85rem;--tf-badge-font-size: .8rem;--tf-color-text-placeholder: rgba(148, 163, 184, .8);--tf-color-text-disabled: rgba(148, 163, 184, .5);--tf-glass-bg: rgba(15, 15, 35, .2);--tf-glass-bg-hover: rgba(15, 15, 35, .32);--tf-glass-border: rgba(6, 182, 212, .15);--tf-glass-border-hover: rgba(6, 182, 212, .3);--tf-glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--tf-glass-blur-sm: 8px;--tf-glass-blur-md: 12px;--tf-glass-blur-lg: 16px;--tf-glass-blur-xl: 24px;--tf-glass-blur-mobile: 6px;--tf-menu-mobile-bg: rgba(12, 12, 32, .92);--tf-menu-mobile-blur: blur(20px) saturate(160%);--tf-menu-mobile-shadow: 0 12px 40px rgba(0, 0, 0, .35)}@media (color-gamut: p3){:root{--tf-color-secondary: color(display-p3 .545 .361 .965);--tf-color-accent: color(display-p3 .024 .714 .831);--tf-color-gradient-1: color(display-p3 .957 .447 .714);--tf-color-gradient-2: color(display-p3 .231 .51 .965);--tf-color-bg-elevated: color(display-p3 .102 .102 .243);--tf-color-dark-purple: color(display-p3 .102 .102 .243);--tf-glow-cyan: 0 0 20px color(display-p3 .024 .714 .831 / .5);--tf-glow-purple: 0 0 20px color(display-p3 .545 .361 .965 / .5);--tf-color-card-border: color(display-p3 .024 .714 .831 / .25);--tf-color-card-border-hover: color(display-p3 .024 .714 .831 / .55);--tf-accent-05: color(display-p3 .024 .714 .831 / .06);--tf-accent-08: color(display-p3 .024 .714 .831 / .09);--tf-accent-10: color(display-p3 .024 .714 .831 / .11);--tf-accent-12: color(display-p3 .024 .714 .831 / .13);--tf-accent-15: color(display-p3 .024 .714 .831 / .16);--tf-accent-18: color(display-p3 .024 .714 .831 / .19);--tf-accent-20: color(display-p3 .024 .714 .831 / .22);--tf-accent-22: color(display-p3 .024 .714 .831 / .24);--tf-accent-25: color(display-p3 .024 .714 .831 / .28);--tf-accent-30: color(display-p3 .024 .714 .831 / .35);--tf-accent-40: color(display-p3 .024 .714 .831 / .42);--tf-accent-50: color(display-p3 .024 .714 .831 / .55);--tf-gradient-title: linear-gradient(135deg, var(--tf-color-white) 0%, color(display-p3 .024 .714 .831) 50%, color(display-p3 .545 .361 .965) 100%);--tf-gradient-title-light: linear-gradient(135deg, var(--tf-color-dark-slate) 0%, color(display-p3 .024 .714 .831) 50%, color(display-p3 .545 .361 .965) 100%);--tf-gradient-btn-primary: linear-gradient(135deg, color(display-p3 .957 .447 .714), color(display-p3 .231 .51 .965));--tf-gradient-success-accent: linear-gradient(135deg, color(display-p3 .133 .784 .373), color(display-p3 .024 .714 .831));--tf-code-keyword: color(display-p3 .78 .569 .918);--tf-code-string: color(display-p3 .765 .91 .553);--tf-code-function: color(display-p3 .51 .667 1);--tf-code-comment: color(display-p3 .451 .51 .565);--tf-code-number: color(display-p3 .969 .549 .424);--tf-code-property: color(display-p3 1 .796 .42);--tf-code-text: color(display-p3 .886 .91 .941);--tf-glass-border: color(display-p3 .024 .714 .831 / .18);--tf-glass-border-hover: color(display-p3 .024 .714 .831 / .35);--tf-glass-bg: color(display-p3 .059 .059 .137 / .2);--tf-glass-bg-hover: color(display-p3 .059 .059 .137 / .32);--tf-color-success: color(display-p3 .133 .773 .369);--tf-color-error: color(display-p3 .937 .267 .267);--tf-color-warning: color(display-p3 .961 .62 .043);--tf-success-10: color(display-p3 .133 .773 .369 / .1);--tf-success-30: color(display-p3 .133 .773 .369 / .3);--tf-error-10: color(display-p3 .937 .267 .267 / .1);--tf-error-30: color(display-p3 .937 .267 .267 / .3);--tf-warning-10: color(display-p3 .961 .62 .043 / .1);--tf-warning-30: color(display-p3 .961 .62 .043 / .3);--tf-secondary-06: color(display-p3 .545 .361 .965 / .06);--tf-secondary-08: color(display-p3 .545 .361 .965 / .08);--tf-secondary-10: color(display-p3 .545 .361 .965 / .1);--tf-secondary-12: color(display-p3 .545 .361 .965 / .12);--tf-secondary-15: color(display-p3 .545 .361 .965 / .15);--tf-secondary-20: color(display-p3 .545 .361 .965 / .2);--tf-secondary-30: color(display-p3 .545 .361 .965 / .3);--tf-secondary-50: color(display-p3 .545 .361 .965 / .5);--tf-gradient1-30: color(display-p3 .957 .447 .714 / .3);--tf-gradient1-35: color(display-p3 .957 .447 .714 / .35);--tf-gradient1-40: color(display-p3 .957 .447 .714 / .4);--tf-gradient1-50: color(display-p3 .957 .447 .714 / .5);--tf-accent-03: color(display-p3 .024 .714 .831 / .03);--tf-accent-04: color(display-p3 .024 .714 .831 / .04);--tf-accent-06: color(display-p3 .024 .714 .831 / .07);--tf-color-text-primary: color(display-p3 1 1 1);--tf-color-text-secondary: color(display-p3 .58 .639 .722);--tf-color-text-placeholder: color(display-p3 .58 .639 .722 / .8);--tf-color-text-disabled: color(display-p3 .58 .639 .722 / .5);--tf-color-card-bg: color(display-p3 .059 .059 .137 / .6);--tf-color-card-bg-hover: color(display-p3 .059 .059 .137 / .8);--tf-color-input-border: color(display-p3 .024 .714 .831 / .25);--tf-shadow-card: 0 4px 20px color(display-p3 0 0 0 / .4);--tf-shadow-card-hover: 0 20px 45px color(display-p3 .024 .714 .831 / .18), 0 0 35px color(display-p3 .024 .714 .831 / .1);--tf-white-10: color(display-p3 1 1 1 / .1);--tf-white-20: color(display-p3 1 1 1 / .2);--tf-dark-90: color(display-p3 .039 .039 .102 / .9);--tf-dark-95: color(display-p3 .039 .039 .102 / .95)}}@media (max-width: 640px){:root{--tf-section-padding-y: 4.5rem;--tf-section-gap: 3rem;--tf-card-padding: 1.5rem;--tf-grid-gap: 1.5rem}}@media (min-width: 641px) and (max-width: 768px){:root{--tf-section-padding-y: 5.1rem;--tf-section-gap: 3.4rem;--tf-card-padding: 1.7rem;--tf-grid-gap: 1.7rem}}@media (min-width: 1400px){:root{--tf-container-max: 1600px;--tf-container-padding: 3rem;--tf-section-padding-y: 7rem;--tf-section-gap: 5rem;--tf-card-padding: 2.25rem;--tf-grid-gap: 2.5rem}}@media (min-width: 1600px){:root{--tf-container-max: 1800px;--tf-container-padding: 3.5rem;--tf-section-padding-y: 8rem;--tf-section-gap: 5.5rem;--tf-card-padding: 2.5rem;--tf-grid-gap: 3rem;--tf-cover-height: 260px}}@media (min-width: 1920px){:root{--tf-container-max: 2000px;--tf-container-padding: 4rem;--tf-section-padding-y: 9rem;--tf-section-gap: 6rem;--tf-card-padding: 2.75rem;--tf-grid-gap: 3.5rem;--tf-cover-height: 280px}}@media (min-width: 2560px){:root{--tf-container-max: 2400px;--tf-container-padding: 5rem;--tf-section-padding-y: 10rem;--tf-section-gap: 7rem;--tf-card-padding: 3rem;--tf-grid-gap: 4rem;--tf-cover-height: 320px}}html.light{--tf-color-primary: #ffffff;--tf-color-secondary: #8b5cf6;--tf-color-accent: #0284c7;--tf-color-gradient-1: #f472b6;--tf-color-gradient-2: #3b82f6;--tf-color-gradient-btn-primary: linear-gradient(135deg, #db2777, #2563eb);--tf-gradient-title-light: linear-gradient(135deg, #1e293b 0%, #0284c7 50%, #7c3aed 100%);--tf-color-bg-light: #f1f5f9;--tf-color-bg-dark: #ffffff;--tf-color-border: #e2e8f0;--tf-color-text-primary: #1e293b;--tf-color-text-secondary: #475569;--tf-color-text-placeholder: rgba(71, 85, 105, .7);--tf-color-text-disabled: rgba(71, 85, 105, .5);--tf-color-dark-slate: #1e293b;--tf-color-dark-purple: #f1f5f9;--tf-color-light-bg: #f8fafc;--tf-color-light-surface: #e2e8f0;--tf-color-success: #16a34a;--tf-color-error: #dc2626;--tf-color-warning: #d97706;--tf-glow-cyan: 0 0 15px rgba(6, 182, 212, .25);--tf-glow-purple: 0 0 15px rgba(139, 92, 246, .25);--tf-color-card-bg: rgba(241, 245, 249, .8);--tf-color-card-bg-hover: rgba(241, 245, 249, .95);--tf-color-card-border: rgba(6, 182, 212, .15);--tf-color-card-border-hover: rgba(6, 182, 212, .4);--tf-color-navbar-bg: rgba(255, 255, 255, .8);--tf-color-navbar-bg-scrolled: rgba(255, 255, 255, .65);--tf-color-navbar-border: rgba(6, 182, 212, .15);--tf-color-footer-bg: rgba(241, 245, 249, .9);--tf-color-input-bg: rgba(6, 182, 212, .03);--tf-color-input-border: rgba(6, 182, 212, .2);--tf-color-overlay-bg: rgba(241, 245, 249, .9);--tf-color-modal-bg: rgba(255, 255, 255, .98);--tf-color-mobile-menu-bg: rgba(255, 255, 255, .98);--tf-color-bg-base: #ffffff;--tf-color-bg-elevated: #f1f5f9;--tf-color-bg-subtle: #f8fafc;--tf-color-surface: #e2e8f0;--tf-shadow-card: 0 4px 20px rgba(0, 0, 0, .08);--tf-shadow-modal: 0 20px 60px rgba(0, 0, 0, .15);--tf-accent-03: rgba(6, 182, 212, .02);--tf-accent-04: rgba(6, 182, 212, .03);--tf-accent-05: rgba(6, 182, 212, .04);--tf-accent-06: rgba(6, 182, 212, .04);--tf-accent-08: rgba(6, 182, 212, .06);--tf-accent-10: rgba(6, 182, 212, .07);--tf-accent-12: rgba(6, 182, 212, .08);--tf-accent-15: rgba(6, 182, 212, .1);--tf-accent-18: rgba(6, 182, 212, .12);--tf-accent-20: rgba(6, 182, 212, .14);--tf-accent-22: rgba(6, 182, 212, .15);--tf-accent-25: rgba(6, 182, 212, .17);--tf-accent-30: rgba(6, 182, 212, .2);--tf-accent-40: rgba(6, 182, 212, .25);--tf-accent-50: rgba(6, 182, 212, .3);--tf-secondary-06: rgba(139, 92, 246, .04);--tf-secondary-08: rgba(139, 92, 246, .05);--tf-secondary-10: rgba(139, 92, 246, .06);--tf-secondary-12: rgba(139, 92, 246, .08);--tf-secondary-15: rgba(139, 92, 246, .1);--tf-secondary-20: rgba(139, 92, 246, .13);--tf-secondary-30: rgba(139, 92, 246, .2);--tf-secondary-50: rgba(139, 92, 246, .33);--tf-gradient1-30: rgba(244, 114, 182, .2);--tf-gradient1-35: rgba(244, 114, 182, .22);--tf-gradient1-40: rgba(244, 114, 182, .25);--tf-gradient1-50: rgba(244, 114, 182, .3);--tf-success-10: rgba(34, 197, 94, .06);--tf-success-30: rgba(34, 197, 94, .2);--tf-warning-10: rgba(245, 158, 11, .06);--tf-warning-30: rgba(245, 158, 11, .2);--tf-error-10: rgba(239, 68, 68, .06);--tf-error-30: rgba(239, 68, 68, .2);--tf-shadow-card-hover: 0 20px 45px var(--tf-accent-10), 0 0 35px var(--tf-accent-08);--tf-shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--tf-shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--tf-shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--tf-shadow-xl: 0 16px 48px rgba(0, 0, 0, .15);--tf-shadow-btn-primary: 0 4px 20px var(--tf-accent-10);--tf-shadow-btn-primary-hover: 0 8px 30px var(--tf-accent-15), 0 0 20px var(--tf-accent-08);--tf-shadow-btn-outline: none;--tf-shadow-btn-outline-hover: 0 0 15px var(--tf-accent-08);--tf-shadow-submit: 0 4px 20px var(--tf-accent-10);--tf-white-10: rgba(0, 0, 0, .05);--tf-white-20: rgba(0, 0, 0, .08);--tf-dark-90: rgba(241, 245, 249, .9);--tf-dark-95: rgba(255, 255, 255, .95);--tf-code-keyword: #a626a4;--tf-code-string: #059669;--tf-code-function: #2563eb;--tf-code-comment: #6b7280;--tf-code-number: #dc2626;--tf-code-property: #d97706;--tf-code-text: #1e293b;--tf-glass-bg: rgba(255, 255, 255, .38);--tf-glass-bg-hover: rgba(255, 255, 255, .5);--tf-glass-border: rgba(6, 182, 212, .1);--tf-glass-border-hover: rgba(6, 182, 212, .2);--tf-glass-shadow: 0 8px 32px rgba(0, 0, 0, .1);--tf-glass-blur-sm: 8px;--tf-glass-blur-md: 12px;--tf-glass-blur-lg: 16px;--tf-glass-blur-xl: 24px;--tf-glass-blur-mobile: 6px;--tf-menu-mobile-bg: rgba(255, 255, 255, .92);--tf-menu-mobile-blur: blur(20px) saturate(160%);--tf-menu-mobile-shadow: 0 12px 40px rgba(0, 0, 0, .12)}@media (color-gamut: p3){html.light{--tf-color-secondary: color(display-p3 .545 .361 .965);--tf-color-accent: color(display-p3 .008 .518 .78);--tf-color-gradient-1: color(display-p3 .957 .447 .714);--tf-color-gradient-2: color(display-p3 .231 .51 .965);--tf-color-bg-elevated: color(display-p3 .945 .961 .976);--tf-glow-cyan: 0 0 15px color(display-p3 .008 .518 .78 / .25);--tf-glow-purple: 0 0 15px color(display-p3 .545 .361 .965 / .25);--tf-color-card-border: color(display-p3 .008 .518 .78 / .2);--tf-color-card-border-hover: color(display-p3 .008 .518 .78 / .5);--tf-accent-05: color(display-p3 .008 .518 .78 / .04);--tf-accent-08: color(display-p3 .008 .518 .78 / .06);--tf-accent-10: color(display-p3 .008 .518 .78 / .08);--tf-accent-12: color(display-p3 .008 .518 .78 / .09);--tf-accent-15: color(display-p3 .008 .518 .78 / .11);--tf-accent-18: color(display-p3 .008 .518 .78 / .13);--tf-accent-20: color(display-p3 .008 .518 .78 / .15);--tf-accent-22: color(display-p3 .008 .518 .78 / .17);--tf-accent-25: color(display-p3 .008 .518 .78 / .19);--tf-accent-30: color(display-p3 .008 .518 .78 / .25);--tf-accent-40: color(display-p3 .008 .518 .78 / .28);--tf-accent-50: color(display-p3 .008 .518 .78 / .35);--tf-gradient-title-light: linear-gradient(135deg, var(--tf-color-dark-slate) 0%, color(display-p3 .008 .518 .78) 50%, color(display-p3 .545 .361 .965) 100%);--tf-gradient-btn-primary: linear-gradient(135deg, color(display-p3 .855 .153 .467), color(display-p3 .145 .388 .925));--tf-gradient-success-accent: linear-gradient(135deg, color(display-p3 .086 .639 .29), color(display-p3 .008 .518 .78));--tf-code-keyword: color(display-p3 .651 .149 .651);--tf-code-string: color(display-p3 .02 .588 .412);--tf-code-function: color(display-p3 .145 .388 .922);--tf-code-comment: color(display-p3 .42 .447 .502);--tf-code-number: color(display-p3 .863 .149 .149);--tf-code-property: color(display-p3 .851 .467 .024);--tf-code-text: color(display-p3 .118 .161 .231);--tf-glass-border: color(display-p3 .008 .518 .78 / .13);--tf-glass-border-hover: color(display-p3 .008 .518 .78 / .25);--tf-glass-bg: color(display-p3 1 1 1 / .28);--tf-glass-bg-hover: color(display-p3 1 1 1 / .38);--tf-color-success: color(display-p3 .086 .639 .29);--tf-color-error: color(display-p3 .863 .149 .149);--tf-color-warning: color(display-p3 .851 .467 .024);--tf-success-10: color(display-p3 .086 .639 .29 / .06);--tf-success-30: color(display-p3 .086 .639 .29 / .2);--tf-error-10: color(display-p3 .863 .149 .149 / .06);--tf-error-30: color(display-p3 .863 .149 .149 / .2);--tf-warning-10: color(display-p3 .851 .467 .024 / .06);--tf-warning-30: color(display-p3 .851 .467 .024 / .2);--tf-secondary-06: color(display-p3 .545 .361 .965 / .04);--tf-secondary-08: color(display-p3 .545 .361 .965 / .05);--tf-secondary-10: color(display-p3 .545 .361 .965 / .06);--tf-secondary-12: color(display-p3 .545 .361 .965 / .08);--tf-secondary-15: color(display-p3 .545 .361 .965 / .1);--tf-secondary-20: color(display-p3 .545 .361 .965 / .13);--tf-secondary-30: color(display-p3 .545 .361 .965 / .2);--tf-secondary-50: color(display-p3 .545 .361 .965 / .33);--tf-gradient1-30: color(display-p3 .957 .447 .714 / .2);--tf-gradient1-35: color(display-p3 .957 .447 .714 / .22);--tf-gradient1-40: color(display-p3 .957 .447 .714 / .25);--tf-gradient1-50: color(display-p3 .957 .447 .714 / .3);--tf-accent-03: color(display-p3 .008 .518 .78 / .02);--tf-accent-04: color(display-p3 .008 .518 .78 / .03);--tf-accent-06: color(display-p3 .008 .518 .78 / .04);--tf-color-text-primary: color(display-p3 .118 .161 .231);--tf-color-text-secondary: color(display-p3 .278 .333 .412);--tf-color-text-placeholder: color(display-p3 .278 .333 .412 / .7);--tf-color-text-disabled: color(display-p3 .278 .333 .412 / .5);--tf-color-card-bg: color(display-p3 .945 .961 .976 / .8);--tf-color-card-bg-hover: color(display-p3 .945 .961 .976 / .95);--tf-color-input-border: color(display-p3 .008 .518 .78 / .2);--tf-shadow-card: 0 4px 20px color(display-p3 0 0 0 / .08);--tf-shadow-card-hover: 0 20px 45px color(display-p3 .008 .518 .78 / .1), 0 0 35px color(display-p3 .008 .518 .78 / .08)}}::-moz-selection{background:var(--tf-accent-30);color:var(--tf-color-text-primary)}::selection{background:var(--tf-accent-30);color:var(--tf-color-text-primary)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--tf-color-accent);color:#fff;padding:.75rem 1.5rem;border-radius:0 0 8px 8px;font-size:.9rem;font-weight:600;z-index:var(--tf-z-skip-link);text-decoration:none;transition:top .2s ease}.skip-to-content:focus{top:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--tf-color-bg-subtle)}::-webkit-scrollbar-thumb{background:var(--tf-color-accent);border-radius:4px;box-shadow:var(--tf-glow-cyan)}@media (max-width: 768px){::-webkit-scrollbar{width:4px}}:focus-visible{outline:2px solid var(--tf-color-accent);outline-offset:2px}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color var(--tf-duration-normal) var(--tf-ease-out),color var(--tf-duration-normal) var(--tf-ease-out),border-color var(--tf-duration-normal) var(--tf-ease-out),box-shadow var(--tf-duration-normal) var(--tf-ease-out)!important}@media (prefers-reduced-motion: reduce){html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:none!important}}.section:not(:first-of-type){content-visibility:auto;contain-intrinsic-size:auto 500px}article{content-visibility:auto;contain-intrinsic-size:auto 2000px}section.hero{content-visibility:visible;contain-intrinsic-size:none}@media (min-width: 1400px){.blog-cover.cover-blur-wrapper{height:230px}}@media (min-width: 1920px){.blog-cover.cover-blur-wrapper{height:260px}}@media (min-width: 2560px){.blog-cover.cover-blur-wrapper{height:290px}}@media (max-width: 768px){.page-hero{min-height:35dvh;padding:6rem 1.5rem 3rem}}@media (max-width: 640px){.page-hero{min-height:30dvh;padding:5rem 1rem 2.5rem}}.blog-like-badge{position:absolute;top:.85rem;right:.85rem;z-index:5;display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;background:var(--tf-color-bg-elevated);border:1px solid var(--tf-accent-30);border-radius:var(--tf-radius-pill);color:var(--tf-color-accent);font-size:.75rem;font-weight:600;font-family:var(--tf-font-code);letter-spacing:.02em;backdrop-filter:blur(var(--tf-glass-blur-sm));-webkit-backdrop-filter:blur(var(--tf-glass-blur-sm));pointer-events:none;line-height:1}.blog-like-badge svg{flex-shrink:0;opacity:.85}.blog-like-count{min-width:.6em;text-align:center}html.light .blog-like-badge{background:#f8fafc;border-color:#0369a133;color:#0369a1}html.light .blog-like-badge svg{opacity:.7}@media (max-width: 640px){.blog-like-badge{top:.6rem;right:.6rem;padding:.2rem .5rem;font-size:.7rem}}@media (prefers-reduced-motion: reduce){.floating-particle,.avatar-ring,.profile-avatar-ring,.avatar-orbit,.avatar-planet,.avatar-glow,.avatar-image,.hero-grid,.page-hero-grid,.logo-symbol,.shape,.error-grid{animation-duration:.01ms!important;animation-iteration-count:1!important}.avatar-ring{opacity:1;transform:scale(1);border-style:dashed}.avatar-image{opacity:1;transform:scale(1)}.avatar-orbit{opacity:.3}.avatar-planet{opacity:.6;transform:scale(1)}.avatar-glow{opacity:.3}.blog-like-badge{backdrop-filter:none;-webkit-backdrop-filter:none}.project-card,.blog-card,.capability-card,.social-card,.icon-btn,.nav-link,.btn,.tag,.link-arrow,.back-to-top,.social-link,.form-input,.form-textarea,.contact-card{transition-duration:.1ms!important}}@keyframes grid-move{0%{transform:perspective(500px) rotateX(60deg) translateY(0)}to{transform:perspective(500px) rotateX(60deg) translateY(60px)}}@keyframes grid-move-low{0%{transform:translateY(0)}to{transform:translateY(60px)}}[data-animation-tier=high] .hero-grid{animation:grid-move 20s linear infinite}[data-animation-tier=medium] .hero-grid{animation:grid-move 35s linear infinite}[data-animation-tier=low] .hero-grid{animation:grid-move-low 50s linear infinite}.floating-particle{position:absolute;width:4px;height:4px;background:var(--tf-color-accent);border-radius:50%;box-shadow:0 0 10px var(--tf-color-accent);animation:float-particle 15s infinite ease-in-out;pointer-events:none}[data-animation-tier=high] .floating-particle{will-change:transform,opacity}[data-animation-tier=medium] .floating-particle{animation-duration:25s}[data-animation-tier=low] .floating-particle{animation:none;opacity:.15}@keyframes float-particle{0%,to{transform:translate(0) scale(1);opacity:.3}25%{transform:translate(100px,-150px) scale(1.5);opacity:.8}50%{transform:translate(-50px,-250px) scale(1);opacity:.4}75%{transform:translate(150px,-100px) scale(1.2);opacity:.6}}@keyframes ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes avatar-ring-entrance{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.06)}80%{transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes avatar-image-entrance{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes avatar-orbit-entrance{0%{opacity:0}to{opacity:1}}@keyframes planet-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.3)}85%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes planet-breathe-cyan{0%,to{transform:scale(1);box-shadow:0 0 12px var(--tf-color-accent),0 0 24px var(--tf-accent-50)}50%{transform:scale(1.4);box-shadow:0 0 18px var(--tf-color-accent),0 0 32px var(--tf-accent-50)}}@keyframes planet-breathe-purple{0%,to{transform:scale(1);box-shadow:0 0 10px var(--tf-color-secondary),0 0 20px var(--tf-secondary-50)}50%{transform:scale(1.5);box-shadow:0 0 16px var(--tf-color-secondary),0 0 28px var(--tf-secondary-50)}}@keyframes planet-breathe-pink{0%,to{transform:scale(1);box-shadow:0 0 14px var(--tf-color-gradient-1),0 0 28px var(--tf-gradient1-50)}50%{transform:scale(1.3);box-shadow:0 0 20px var(--tf-color-gradient-1),0 0 36px var(--tf-gradient1-50)}}@keyframes avatar-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes avatar-glow-pulse{0%,to{opacity:.3}50%{opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.avatar-ring,.profile-avatar-ring{animation:ring-rotate 8s linear infinite}[data-animation-tier=medium] .avatar-ring,[data-animation-tier=medium] .profile-avatar-ring{animation-duration:15s}[data-animation-tier=low] .avatar-ring,[data-animation-tier=low] .profile-avatar-ring{animation:none;border-style:dashed}[data-animation-tier=medium] .project-card,[data-animation-tier=medium] .blog-card{transition-duration:.15s}[data-animation-tier=low] .project-card,[data-animation-tier=low] .blog-card{transition:none}@media (prefers-contrast: high){.page-title,.section-title{background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:unset;color:var(--tf-color-text-primary)}}[data-animation-tier=low] .avatar-planet,[data-animation-tier=low] [class*=planet-breathe]{animation:none}[data-animation-tier=medium] .avatar-planet{animation-duration:6s}pre>code{font-family:var(--tf-font-code);font-size:.875rem;line-height:1.7;-moz-tab-size:2;-o-tab-size:2;tab-size:2}pre{overflow-x:auto;border-radius:var(--tf-radius-lg);padding:1.25rem 1.5rem;margin:1.5rem 0;scrollbar-width:none;-ms-overflow-style:none}pre::-webkit-scrollbar{display:none}[data-rehype-pretty-code-figure]{position:relative}[data-rehype-pretty-code-figure] [data-line]{padding:0 1.5rem;border-left:3px solid transparent}[data-rehype-pretty-code-figure] [data-highlighted-line]{background:#06b6d41a;border-left-color:var(--tf-color-accent)}[data-rehype-pretty-code-figure] [data-line-numbers]>[data-line]:before{content:attr(data-line-number);display:inline-block;width:1.5rem;margin-right:1rem;text-align:right;color:var(--tf-color-text-secondary);opacity:.5}[data-rehype-pretty-code-title]{font-family:var(--tf-font-code);font-size:.8rem;padding:.5rem 1.5rem;background:#06b6d414;border-bottom:1px solid var(--tf-color-border);border-radius:var(--tf-radius-lg) var(--tf-radius-lg) 0 0;color:var(--tf-color-text-secondary)}[data-rehype-pretty-code-title]+pre{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}code:not(pre>code){font-family:var(--tf-font-code);font-size:.875em;padding:.15em .4em;background:var(--tf-accent-10);border-radius:var(--tf-radius-sm);color:var(--tf-color-accent)}html.light code:not(pre>code){background:#06b6d414;color:var(--tf-color-accent)}html.light .shiki-themes,html.light .shiki-themes span{color:var(--shiki-light)!important}html.light .shiki-themes{background-color:var(--shiki-light-bg)!important}.timeline{position:relative;padding-left:2rem;margin-top:1.5rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--tf-color-accent),var(--tf-color-secondary));box-shadow:var(--tf-glow-cyan)}.timeline-item{position:relative;margin-bottom:2rem;padding-left:2rem}.timeline-item:last-child{margin-bottom:0}.timeline-item:before{content:"";position:absolute;left:-2rem;top:.5rem;width:12px;height:12px;background:var(--tf-color-accent);border:2px solid var(--tf-color-bg-base);border-radius:50%;box-shadow:var(--tf-glow-cyan);transform:translate(-5px)}.timeline-date{font-family:var(--tf-font-code);font-size:.88rem;color:var(--tf-color-accent);margin-bottom:.5rem;font-weight:600}.timeline-title{font-size:1.15rem;font-weight:600;color:var(--tf-color-text-primary);margin-bottom:.3rem}.timeline-company{font-size:.95rem;color:var(--tf-color-secondary);margin-bottom:.75rem;font-weight:500}.timeline-description{color:var(--tf-color-text-secondary);font-size:.95rem;line-height:1.7;margin:0}.timeline-description p{margin:0;line-height:1.7}.timeline-description ul{list-style:none;padding:0;margin:0}.timeline-description li{position:relative;padding-left:1.2rem;margin-bottom:.5rem;line-height:1.7}.timeline-description li:before{content:"▸";position:absolute;left:0;color:var(--tf-color-accent);font-weight:700}.timeline-description li:last-child{margin-bottom:0}@media (max-width: 640px){.timeline{padding-left:1.5rem}.timeline-item{padding-left:1.5rem;margin-bottom:1.5rem}.timeline-item:before{left:-1.5rem;width:10px;height:10px;transform:translate(-4px)}.timeline-date{font-size:.8rem}.timeline-title{font-size:1.05rem}.timeline-company{font-size:.88rem}.timeline-description{font-size:.9rem}}.detail-content li{margin-bottom:.6rem;position:relative}.detail-content li::marker{color:var(--tf-color-accent)}.detail-content .contains-task-list{list-style:none;padding-left:0}.detail-content .task-list-item{display:flex;align-items:center;gap:.65rem}.detail-content .task-list-item input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;border:2px solid var(--tf-color-text-secondary);border-radius:4px;background:transparent;margin:0;cursor:default;position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--tf-duration-fast) var(--tf-ease-out),background-color var(--tf-duration-fast) var(--tf-ease-out)}.detail-content .task-list-item input[type=checkbox]:checked{border-color:var(--tf-color-accent);background:var(--tf-accent-06)}.detail-content .task-list-item input[type=checkbox]:checked:after{content:"";display:block;width:5px;height:9px;border:solid var(--tf-color-accent);border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.detail-content .task-list-item:has(input:checked){color:var(--tf-color-text-secondary);text-decoration:line-through}.detail-content a{color:var(--tf-color-accent);text-decoration:none;font-weight:500;background-image:linear-gradient(to right,var(--tf-color-accent),var(--tf-color-secondary));background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:.05em;transition:background-size var(--tf-duration-fast) var(--tf-ease-out),color var(--tf-duration-fast) var(--tf-ease-out),text-shadow var(--tf-duration-fast) var(--tf-ease-out)}.detail-content a:hover{background-size:100% 2px;text-shadow:0 0 12px var(--tf-accent-40)}.detail-content a:focus-visible{outline:2px solid var(--tf-color-accent);outline-offset:2px;border-radius:2px}.detail-content a[href^=http]:after{content:" ↗";font-size:.75em;opacity:.5;transition:opacity var(--tf-duration-fast) var(--tf-ease-out)}.detail-content a[href^=http]:hover:after{opacity:1}.detail-content blockquote{margin:2rem 0;padding:1.25rem 1.5rem;border-left:4px solid var(--tf-color-accent);background:var(--tf-color-input-bg);border-radius:0 10px 10px 0;color:var(--tf-color-text-secondary);font-style:italic}.detail-content blockquote p,.detail-content blockquote ul,.detail-content blockquote ol{margin-bottom:0}.detail-content blockquote strong{color:var(--tf-color-text-primary)}.detail-content .info-box{margin:2rem 0;padding:1.25rem 1.5rem;border-radius:10px;border:1px solid var(--tf-color-input-border);background:var(--tf-accent-06)}.detail-content .info-box-title{font-weight:600;color:var(--tf-color-accent);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.detail-content .info-box p{margin-bottom:.5rem}.detail-content .info-box p:last-child{margin-bottom:0}.detail-content table{width:100%;border-collapse:collapse;margin:1.5rem 0}.detail-content thead{background:var(--tf-accent-10)}.detail-content th{padding:.75rem;text-align:left;border:1px solid var(--tf-accent-20);color:var(--tf-color-accent);font-weight:600}.detail-content td{padding:.75rem;border:1px solid var(--tf-accent-10)}.detail-content pre{margin:2rem 0;padding:1.5rem;overflow-x:auto;font-family:var(--tf-font-code);font-size:.88rem;line-height:1.65;border-radius:12px;border:1px solid var(--tf-color-card-border);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.detail-content code{font-family:var(--tf-font-code);color:var(--tf-code-text);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.detail-content :not(pre)>code{background:var(--tf-accent-12);padding:.2rem .55rem;border-radius:5px;font-size:.9em;border:1px solid var(--tf-color-input-border)}.detail-content .code-block{margin:2rem 0;border-radius:12px;overflow:hidden;border:1px solid var(--tf-color-input-border)}.detail-content .code-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:var(--tf-accent-08);border-bottom:1px solid var(--tf-color-card-border)}.detail-content .code-header-left{display:flex;align-items:center;gap:.5rem}.detail-content .code-lang{font-family:var(--tf-font-code);font-size:.82rem;color:var(--tf-color-accent);font-weight:600}.detail-content .code-header-actions{display:flex;align-items:center;gap:.5rem}.detail-content .copy-btn{background:transparent;border:1px solid var(--tf-color-card-border);color:var(--tf-color-accent);padding:.35rem .85rem;border-radius:6px;font-size:.78rem;cursor:pointer;transition:var(--tf-transition-smooth);font-family:var(--tf-font-body)}.detail-content .copy-btn:hover{background:var(--tf-accent-10)}.detail-content .code-block pre{margin:0;border-radius:0;border:none}.detail-content .code-block.code-dark .code-header{background:#0f172acc;border-bottom-color:#06b6d426}.detail-content .code-block.code-dark .code-lang{color:#06b6d4}.detail-content .code-block.code-dark .copy-btn{color:#94a3b8;border-color:#06b6d426}.detail-content .code-block.code-dark .copy-btn:hover{background:#06b6d41a;color:#06b6d4}.detail-content .code-block.code-light .code-header{background:#f1f5f9!important;border-bottom-color:#e2e8f0!important}.detail-content .code-block.code-light .code-lang{color:#475569!important}.detail-content .code-block.code-light .copy-btn{color:#475569!important;border-color:#e2e8f0!important}.detail-content .code-block.code-light .copy-btn:hover{background:#f0f9ff!important;color:#0369a1!important}html.light .detail-content a{color:var(--tf-color-accent);background-image:linear-gradient(to right,var(--tf-color-accent),var(--tf-color-secondary))}html.light .detail-content a:hover{text-shadow:0 0 8px rgba(6,182,212,.25)}html.light .detail-content a:focus-visible{outline-color:var(--tf-color-accent)}html.light .detail-content blockquote{background:#f8fafc;border-left-color:var(--tf-color-accent);color:#475569}html.light .detail-content .info-box{background:#f0f9ff;border-color:#bae6fd}html.light .detail-content .info-box-title{color:#0369a1}html.light .detail-content :not(pre)>code{background:#f1f5f9;border-color:#e2e8f0;color:#7c3aed}html.light .detail-content .code-block{border-color:#e2e8f0}html.light .detail-content .code-header{background:#f1f5f9;border-bottom-color:#e2e8f0}html.light .detail-content .code-lang{color:#475569}html.light .detail-content .copy-btn{color:#475569;border-color:#e2e8f0}html.light .detail-content .copy-btn:hover{background:#f1f5f9;color:#0f172a}html.light .detail-content table thead{background:var(--tf-accent-08)}html.light .detail-content th{border-color:var(--tf-accent-20);color:#0369a1}html.light .detail-content td{border-color:var(--tf-accent-10)}.comments-section{width:100%;margin-top:2rem}.comments-content,.giscus-frame{width:100%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.overflow-x-hidden{overflow-x:hidden}.border{border-width:1px}.bg-bg-dark{background-color:var(--tf-color-bg-dark)}.font-body{font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.font-display{font-family:Orbitron,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!btn,.btn{display:inline-flex;cursor:pointer;align-items:center;gap:.5rem;border-style:none;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-weight:600;letter-spacing:.025em;text-decoration-line:none;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.\!btn{padding:.9rem 2rem!important;border-radius:var(--tf-radius-btn)!important;font-size:.95rem!important}.btn{padding:.9rem 2rem;border-radius:var(--tf-radius-btn);font-size:.95rem}.btn-primary{position:relative;overflow:hidden;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));background:var(--tf-gradient-btn-primary);box-shadow:var(--tf-shadow-btn-primary)}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;height:100%;width:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-primary:hover{--tw-translate-y: -3px;--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));box-shadow:var(--tf-shadow-btn-primary-hover)}.btn-primary:active{--tw-translate-y: 0px;--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-outline{position:relative;border-width:2px;border-color:var(--tf-color-accent);background-color:transparent;color:var(--tf-color-accent)}.btn-outline:hover{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background-color:var(--tf-accent-10);box-shadow:var(--tf-glow-cyan)}.btn-outline:active{--tw-translate-y: 0px;--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tag{font-family:Fira Code,SF Mono,Cascadia Code,Consolas,monospace;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;padding:var(--tf-badge-padding-y) var(--tf-badge-padding-x);background:var(--tf-accent-10);border:1px solid var(--tf-accent-30);border-radius:var(--tf-badge-radius);font-size:var(--tf-badge-font-size);color:var(--tf-color-accent);backdrop-filter:blur(var(--tf-glass-blur-sm));-webkit-backdrop-filter:blur(var(--tf-glass-blur-sm))}.tag:hover{background:var(--tf-accent-15);border-color:var(--tf-color-accent)}html.light .tag{background:var(--tf-accent-08);border-color:var(--tf-accent-20);color:var(--tf-color-accent)}.section{position:relative;margin-left:auto;margin-right:auto;padding:var(--tf-section-padding-y) var(--tf-container-padding);max-width:var(--tf-container-max)}.section-header{text-align:center;margin-bottom:var(--tf-section-gap)}.section-title{position:relative;display:inline-block;font-family:Orbitron,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-weight:700;letter-spacing:.025em;font-size:clamp(2rem,4vw,2.75rem);margin-bottom:1rem}.section-title:before{content:"// ";color:var(--tf-color-accent);opacity:.7}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));width:80px;height:3px;background:linear-gradient(90deg,var(--tf-color-accent),var(--tf-color-secondary));box-shadow:var(--tf-glow-cyan)}.section-subtitle{margin-top:1.5rem;color:var(--tf-color-text-secondary);font-size:1.1rem}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;letter-spacing:.025em;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:var(--tf-color-accent);text-decoration:none;font-size:1.05rem}.link-arrow:hover{gap:1rem;text-shadow:0 0 10px var(--tf-accent-50)}.section-link{margin-top:2rem;text-align:center}.page-hero{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:45dvh;padding:8rem 2rem 4rem;background:radial-gradient(ellipse at 30% 50%,rgba(139,92,246,.12) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(6,182,212,.12) 0%,transparent 50%),var(--tf-gradient-hero)}html.light .page-hero{background:radial-gradient(ellipse at 30% 50%,rgba(139,92,246,.06) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(6,182,212,.06) 0%,transparent 50%),var(--tf-gradient-hero-light)}.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(6,182,212,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(6,182,212,.05) 1px,transparent 1px);background-size:50px 50px;opacity:.6}.page-hero-content{position:relative;z-index:2;text-align:center;max-width:800px}.page-title{margin-bottom:1.5rem;font-family:Orbitron,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-weight:800;letter-spacing:.05em;font-size:clamp(2.5rem,5vw,4rem);background:var(--tf-gradient-title);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html.light .page-title{background:var(--tf-gradient-title-light);-webkit-background-clip:text;background-clip:text}.page-subtitle{line-height:1.625;color:var(--tf-color-text-secondary);font-size:1.2rem}.icon-btn{display:flex;cursor:pointer;align-items:center;justify-content:center;background-color:transparent;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;border:1px solid var(--tf-color-input-border);color:var(--tf-color-accent);width:40px;height:40px;border-radius:8px;font-size:1.1rem}.icon-btn svg{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.icon-btn:active svg{--tw-rotate: 180deg;--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.icon-btn:hover{--tw-translate-y: -2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:var(--tf-accent-10);border-color:var(--tf-color-accent);box-shadow:var(--tf-glow-cyan)}.stretched-link:after{content:"";position:absolute;inset:0;z-index:3}.empty-state{text-align:center;padding:4rem 2rem;color:var(--tf-color-text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-text{font-size:1.1rem}.no-results{text-align:center;padding:4rem 2rem;color:var(--tf-color-text-secondary);font-size:1.1rem;display:none}.no-results.visible{display:block}.cover-blur-wrapper{position:relative;overflow:hidden;background-color:var(--tf-color-surface-secondary, #16213e)}.cover-blur-wrapper .cover-blur-bg{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:blur(24px);transform:scale(1.2);transition:opacity .6s ease}.cover-blur-wrapper .cover-main-img{position:relative;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity .4s ease;z-index:1}.cover-blur-wrapper .cover-main-img.loaded{opacity:1}.cover-blur-wrapper .cover-main-img.loaded~.cover-blur-bg,.cover-blur-wrapper:has(.cover-main-img.loaded) .cover-blur-bg{opacity:0}.blog-cover.cover-blur-wrapper{height:200px}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-400-normal.DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),url(/_astro/inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),url(/_astro/inter-greek-ext-400-normal.KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),url(/_astro/inter-greek-400-normal.q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),url(/_astro/inter-vietnamese-400-normal.Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),url(/_astro/inter-latin-ext-400-normal.77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-cyrillic-ext-500-normal.B0yAr1jD.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-500-normal.BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-cyrillic-500-normal.BasfLYem.woff2) format("woff2"),url(/_astro/inter-cyrillic-500-normal.CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-greek-ext-500-normal.C4iEst2y.woff2) format("woff2"),url(/_astro/inter-greek-ext-500-normal.2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-greek-500-normal.BIZE56-Y.woff2) format("woff2"),url(/_astro/inter-greek-500-normal.Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-vietnamese-500-normal.DOriooB6.woff2) format("woff2"),url(/_astro/inter-vietnamese-500-normal.mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-ext-500-normal.CV4jyFjo.woff2) format("woff2"),url(/_astro/inter-latin-ext-500-normal.BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-cyrillic-ext-600-normal.Dfes3d0z.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-600-normal.Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-cyrillic-600-normal.CWCymEST.woff2) format("woff2"),url(/_astro/inter-cyrillic-600-normal.4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-greek-ext-600-normal.DRtmH8MT.woff2) format("woff2"),url(/_astro/inter-greek-ext-600-normal.B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-greek-600-normal.plRanbMR.woff2) format("woff2"),url(/_astro/inter-greek-600-normal.BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-vietnamese-600-normal.Cc8MFFhd.woff2) format("woff2"),url(/_astro/inter-vietnamese-600-normal.BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-ext-600-normal.D2bJ5OIk.woff2) format("woff2"),url(/_astro/inter-latin-ext-600-normal.CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-700-normal.LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),url(/_astro/inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),url(/_astro/inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),url(/_astro/inter-greek-700-normal.BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),url(/_astro/inter-vietnamese-700-normal.BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),url(/_astro/inter-latin-ext-700-normal.TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/orbitron-latin-400-normal.U6xZUhur.woff2) format("woff2"),url(/_astro/orbitron-latin-400-normal.DBk4Dmer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/orbitron-latin-500-normal.DQ2gt4P1.woff2) format("woff2"),url(/_astro/orbitron-latin-500-normal.BCCupJ8c.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/orbitron-latin-600-normal.mazHmDYu.woff2) format("woff2"),url(/_astro/orbitron-latin-600-normal.75H6acHo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/orbitron-latin-700-normal.4jsRXGGJ.woff2) format("woff2"),url(/_astro/orbitron-latin-700-normal.DmYOh-W9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/orbitron-latin-800-normal.CQafOXEd.woff2) format("woff2"),url(/_astro/orbitron-latin-800-normal.P4cBi4I7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/orbitron-latin-900-normal.DrIi7unX.woff2) format("woff2"),url(/_astro/orbitron-latin-900-normal.BbJatbhp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-cyrillic-ext-400-normal.txZ9Fk_1.woff2) format("woff2"),url(/_astro/fira-code-cyrillic-ext-400-normal.Buh61xzB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-cyrillic-400-normal.UC0NFL4U.woff2) format("woff2"),url(/_astro/fira-code-cyrillic-400-normal.dc1q3VD7.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-greek-ext-400-normal.DR7mBgIM.woff2) format("woff2"),url(/_astro/fira-code-greek-ext-400-normal.DSPUheWg.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-greek-400-normal.B2Gh_Y8s.woff2) format("woff2"),url(/_astro/fira-code-greek-400-normal.DobhaxvF.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-symbols2-400-normal.9X26I2LK.woff2) format("woff2"),url(/_astro/fira-code-symbols2-400-normal._QEZCEwe.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-latin-ext-400-normal.KSMg0QLl.woff2) format("woff2"),url(/_astro/fira-code-latin-ext-400-normal.DG73JjOf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-latin-400-normal.DGosTW8U.woff2) format("woff2"),url(/_astro/fira-code-latin-400-normal.C-QZfXAs.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fira-code-cyrillic-ext-500-normal.CYRspHgm.woff2) format("woff2"),url(/_astro/fira-code-cyrillic-ext-500-normal.CwtLmSFD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fira-code-cyrillic-500-normal.CX35h3Mg.woff2) format("woff2"),url(/_astro/fira-code-cyrillic-500-normal.Bu7VCL72.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fira-code-greek-ext-500-normal.BO3iq16n.woff2) format("woff2"),url(/_astro/fira-code-greek-ext-500-normal.CMiNLXER.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fira-code-greek-500-normal.CVO0IRNt.woff2) format("woff2"),url(/_astro/fira-code-greek-500-normal.DEXIWiey.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fira-code-symbols2-500-normal.B5s_njw3.woff2) format("woff2"),url(/_astro/fira-code-symbols2-500-normal.DwsgbIjQ.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fira-code-latin-ext-500-normal.Crd9e_oI.woff2) format("woff2"),url(/_astro/fira-code-latin-ext-500-normal.CaANqXjI.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fira-code-latin-500-normal.B6gioGu8.woff2) format("woff2"),url(/_astro/fira-code-latin-500-normal.aMLC2AMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-cyrillic-ext-600-normal.B9wE0zmr.woff2) format("woff2"),url(/_astro/fira-code-cyrillic-ext-600-normal.DldcyWhZ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-cyrillic-600-normal.CPRdbepc.woff2) format("woff2"),url(/_astro/fira-code-cyrillic-600-normal.BD56RyRT.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-greek-ext-600-normal.DtBpFRLc.woff2) format("woff2"),url(/_astro/fira-code-greek-ext-600-normal.C-cQDoOk.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-greek-600-normal.Dxp52_By.woff2) format("woff2"),url(/_astro/fira-code-greek-600-normal.D_h3X2X5.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-symbols2-600-normal.Bu3RnO39.woff2) format("woff2"),url(/_astro/fira-code-symbols2-600-normal.Dvq6IQE5.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-latin-ext-600-normal.Cb7jxoAi.woff2) format("woff2"),url(/_astro/fira-code-latin-ext-600-normal.0PFQL1eg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-latin-600-normal.CvYZpPHg.woff2) format("woff2"),url(/_astro/fira-code-latin-600-normal.BmSSHshu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.theme-toggle[data-astro-cid-x3pjskd3] .icon-moon[data-astro-cid-x3pjskd3],html.light .theme-toggle[data-astro-cid-x3pjskd3] .icon-sun[data-astro-cid-x3pjskd3]{display:none}html.light .theme-toggle[data-astro-cid-x3pjskd3] .icon-moon[data-astro-cid-x3pjskd3]{display:block}@media (max-width: 420px){.icon-btn[data-astro-cid-x3pjskd3]{width:32px;height:32px}.icon-btn[data-astro-cid-x3pjskd3] svg[data-astro-cid-x3pjskd3]{width:14px;height:14px}}@media (max-width: 375px){.icon-btn[data-astro-cid-x3pjskd3]{width:30px;height:30px}.icon-btn[data-astro-cid-x3pjskd3] svg[data-astro-cid-x3pjskd3]{width:13px;height:13px}}@media (min-width: 1400px){.icon-btn[data-astro-cid-x3pjskd3]{width:44px;height:44px}}.navbar[data-astro-cid-pux6a34n]{position:fixed;top:0;left:0;right:0;z-index:var(--tf-z-navbar);display:flex;align-items:center;height:var(--tf-navbar-height);padding:0 var(--tf-space-6);background:linear-gradient(to bottom,var(--tf-glass-bg-hover),var(--tf-glass-bg));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--tf-glass-border);box-shadow:0 4px 24px #0000002e;transition:background var(--tf-duration-normal) var(--tf-ease-out),box-shadow var(--tf-duration-normal) var(--tf-ease-out),border-color var(--tf-duration-normal) var(--tf-ease-out)}.navbar[data-astro-cid-pux6a34n]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 20%,rgba(255,255,255,.28) 50%,rgba(255,255,255,.08) 80%,transparent 100%);opacity:.7;pointer-events:none;transition:opacity var(--tf-duration-normal) var(--tf-ease-out)}.navbar[data-astro-cid-pux6a34n].scrolled{border-bottom-color:var(--tf-glass-border-hover)}html.light .navbar[data-astro-cid-pux6a34n]{box-shadow:0 4px 24px #0000000f}html.light .navbar[data-astro-cid-pux6a34n]:before{background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 20%,rgba(0,0,0,.08) 50%,rgba(0,0,0,.03) 80%,transparent 100%)}.navbar-container[data-astro-cid-pux6a34n]{width:100%;max-width:var(--tf-container-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.logo[data-astro-cid-pux6a34n]{font-family:var(--tf-font-display);font-size:1.5rem;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:.5rem;letter-spacing:2px;flex-shrink:0;white-space:nowrap;min-width:0}.logo-text[data-astro-cid-pux6a34n]{background:linear-gradient(135deg,var(--tf-color-accent),var(--tf-color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo[data-astro-cid-pux6a34n]:before{content:"";display:block;width:32px;height:32px;flex-shrink:0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iZyIgeDE9IjAiIHkxPSIwIiB4Mj0iMTAwIiB5Mj0iMTAwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwNmI2ZDQiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjOGI1Y2Y2Ii8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGZpbHRlciBpZD0iYjgiIHg9Ii0xMjAlIiB5PSItMTIwJSIgd2lkdGg9IjM0MCUiIGhlaWdodD0iMzQwJSI+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBpbj0iU291cmNlR3JhcGhpYyIgc3RkRGV2aWF0aW9uPSI4Ii8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIgaWQ9ImI0IiB4PSItODAlIiB5PSItODAlIiB3aWR0aD0iMjYwJSIgaGVpZ2h0PSIyNjAlIj4KICAgICAgPGZlR2F1c3NpYW5CbHVyIGluPSJTb3VyY2VHcmFwaGljIiBzdGREZXZpYXRpb249IjQiLz4KICAgIDwvZmlsdGVyPgogICAgPGZpbHRlciBpZD0iYjEiIHg9Ii01MCUiIHk9Ii01MCUiIHdpZHRoPSIyMDAlIiBoZWlnaHQ9IjIwMCUiPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49IlNvdXJjZUdyYXBoaWMiIHN0ZERldmlhdGlvbj0iMS41Ii8+CiAgICA8L2ZpbHRlcj4KICAgIDxnIGlkPSJzIj4KICAgICAgPHBvbHlnb24gcG9pbnRzPSI1MCw1IDk1LDUwIDUwLDk1IDUsNTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0idXJsKCNnKSIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgICAgIDxwb2x5Z29uIHBvaW50cz0iNTAsMjAgODAsNTAgNTAsODAgMjAsNTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0idXJsKCNnKSIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjciLz4KICAgICAgPGxpbmUgeDE9IjMyIiB5MT0iNTAiIHgyPSI2MCIgeTI9IjUwIiBzdHJva2U9InVybCgjZykiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwb2x5bGluZSBwb2ludHM9IjUyLDQyIDYwLDUwIDUyLDU4IiBmaWxsPSJub25lIiBzdHJva2U9InVybCgjZykiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjMiIGZpbGw9InVybCgjZykiLz4KICAgIDwvZz4KICA8L2RlZnM+CiAgPHVzZSBocmVmPSIjcyIgZmlsdGVyPSJ1cmwoI2I4KSIgb3BhY2l0eT0iMC4xIi8+CiAgPHVzZSBocmVmPSIjcyIgZmlsdGVyPSJ1cmwoI2I0KSIgb3BhY2l0eT0iMC4yMiIvPgogIDx1c2UgaHJlZj0iI3MiIGZpbHRlcj0idXJsKCNiMSkiIG9wYWNpdHk9IjAuMzgiLz4KICA8dXNlIGhyZWY9IiNzIi8+Cjwvc3ZnPg==);background-size:contain;background-repeat:no-repeat;background-position:center}.nav-links[data-astro-cid-pux6a34n]{display:flex;gap:2.5rem;list-style:none;align-items:center;flex-shrink:0}.nav-link[data-astro-cid-pux6a34n]{color:var(--tf-color-text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;position:relative;transition:var(--tf-transition-smooth);letter-spacing:.5px;text-shadow:0 1px 3px rgba(0,0,0,.5)}html.light .nav-link[data-astro-cid-pux6a34n]{text-shadow:0 1px 2px rgba(0,0,0,.06)}.nav-link[data-astro-cid-pux6a34n]:hover{color:var(--tf-color-accent);text-shadow:0 0 12px var(--tf-accent-50)}.nav-link[data-astro-cid-pux6a34n]:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--tf-color-accent),var(--tf-color-secondary));transition:width .3s ease;box-shadow:var(--tf-glow-cyan)}.nav-link[data-astro-cid-pux6a34n]:hover:after{width:100%}.nav-link[data-astro-cid-pux6a34n].active{color:var(--tf-color-accent);text-shadow:0 0 8px var(--tf-accent-30)}.nav-link[data-astro-cid-pux6a34n].active:after{width:100%}.nav-actions[data-astro-cid-pux6a34n]{display:flex;gap:.75rem;align-items:center;flex-shrink:0}.mobile-menu-btn[data-astro-cid-pux6a34n]{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:5px}.mobile-menu-btn[data-astro-cid-pux6a34n] span[data-astro-cid-pux6a34n]{width:25px;height:2px;background:var(--tf-color-accent);transition:var(--tf-transition-smooth)}.mobile-menu-btn[data-astro-cid-pux6a34n].active span[data-astro-cid-pux6a34n]:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn[data-astro-cid-pux6a34n].active span[data-astro-cid-pux6a34n]:nth-child(2){opacity:0}.mobile-menu-btn[data-astro-cid-pux6a34n].active span[data-astro-cid-pux6a34n]:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 1024px){.mobile-menu-btn[data-astro-cid-pux6a34n]{display:flex}.navbar[data-astro-cid-pux6a34n]{height:56px;padding:0 var(--tf-space-5)}.nav-links[data-astro-cid-pux6a34n]{display:none;position:absolute;top:100%;left:0;right:0;background:var(--tf-menu-mobile-bg);border-bottom:1px solid var(--tf-glass-border);box-shadow:var(--tf-menu-mobile-shadow);flex-direction:column;padding:2rem;gap:1.5rem}.nav-links[data-astro-cid-pux6a34n]:after{content:"";position:absolute;inset:0;z-index:-1;backdrop-filter:var(--tf-menu-mobile-blur);-webkit-backdrop-filter:var(--tf-menu-mobile-blur)}.nav-links[data-astro-cid-pux6a34n].active{display:flex}.logo[data-astro-cid-pux6a34n]{font-size:1.2rem;letter-spacing:1px;flex-shrink:1;overflow:hidden}.logo[data-astro-cid-pux6a34n]:before{width:26px;height:26px}.navbar-container[data-astro-cid-pux6a34n]{padding:0;gap:.75rem}.nav-actions[data-astro-cid-pux6a34n] .icon-btn{width:36px;height:36px}.nav-actions[data-astro-cid-pux6a34n] .icon-btn svg{width:16px;height:16px}}@media (max-width: 768px){.navbar[data-astro-cid-pux6a34n]{height:56px;padding:0 var(--tf-space-4);backdrop-filter:blur(var(--tf-glass-blur-mobile));-webkit-backdrop-filter:blur(var(--tf-glass-blur-mobile))}.navbar-container[data-astro-cid-pux6a34n]{gap:.5rem}}@media (max-width: 420px){.navbar[data-astro-cid-pux6a34n]{padding:0 var(--tf-space-3)}.logo[data-astro-cid-pux6a34n]{font-size:.9rem;letter-spacing:.5px;gap:.3rem;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.logo[data-astro-cid-pux6a34n]:before{width:20px;height:20px}.nav-actions[data-astro-cid-pux6a34n]{gap:.35rem}.nav-actions[data-astro-cid-pux6a34n] .icon-btn{width:32px;height:32px}.nav-actions[data-astro-cid-pux6a34n] .icon-btn svg{width:14px;height:14px}.mobile-menu-btn[data-astro-cid-pux6a34n]{padding:.35rem}.mobile-menu-btn[data-astro-cid-pux6a34n] span[data-astro-cid-pux6a34n]{width:18px}}@media (max-width: 375px){.navbar[data-astro-cid-pux6a34n]{padding:0 var(--tf-space-2)}.navbar-container[data-astro-cid-pux6a34n]{gap:.35rem}.logo[data-astro-cid-pux6a34n]{font-size:.8rem;letter-spacing:0;gap:.25rem;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.logo[data-astro-cid-pux6a34n]:before{width:18px;height:18px}.nav-actions[data-astro-cid-pux6a34n]{gap:.25rem}.nav-actions[data-astro-cid-pux6a34n] .icon-btn{width:30px;height:30px}.nav-actions[data-astro-cid-pux6a34n] .icon-btn svg{width:13px;height:13px}.mobile-menu-btn[data-astro-cid-pux6a34n]{padding:.3rem}.mobile-menu-btn[data-astro-cid-pux6a34n] span[data-astro-cid-pux6a34n]{width:16px;height:1.5px}}@media (min-width: 1400px){.nav-links[data-astro-cid-pux6a34n]{gap:3rem}.icon-btn[data-astro-cid-pux6a34n]{width:44px;height:44px}}@media (min-width: 1600px){.nav-links[data-astro-cid-pux6a34n]{gap:3.5rem}}@media (min-width: 1920px){.nav-links[data-astro-cid-pux6a34n]{gap:4rem}}@media (min-width: 2560px){.nav-links[data-astro-cid-pux6a34n]{gap:5rem}}.footer[data-astro-cid-sz7xmlte]{background:var(--tf-color-footer-bg);border-top:2px solid;-o-border-image:linear-gradient(90deg,transparent,var(--tf-color-accent),var(--tf-color-secondary),transparent) 1;border-image:linear-gradient(90deg,transparent,var(--tf-color-accent),var(--tf-color-secondary),transparent) 1;padding:3rem 2rem;margin-top:4rem}.footer-content[data-astro-cid-sz7xmlte]{max-width:var(--tf-container-max);margin:0 auto;text-align:center}.footer-text[data-astro-cid-sz7xmlte]{color:var(--tf-color-text-secondary);font-size:.95rem;margin-bottom:1.5rem;font-family:var(--tf-font-code)}.ai-generated-notice[data-astro-cid-sz7xmlte]{color:var(--tf-color-text-secondary);font-size:.85rem;margin-bottom:1rem;opacity:.7;font-family:var(--tf-font-code);letter-spacing:.05em}.footer-social[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;gap:1.5rem}.social-link[data-astro-cid-sz7xmlte]{color:var(--tf-color-text-secondary);text-decoration:none;font-size:1.3rem;transition:var(--tf-transition-smooth);padding:.5rem}.social-link[data-astro-cid-sz7xmlte]:hover{color:var(--tf-color-accent);transform:translateY(-3px);text-shadow:0 0 15px var(--tf-accent-50)}@media (max-width: 640px){.footer[data-astro-cid-sz7xmlte]{padding:2rem 1rem}.footer-text[data-astro-cid-sz7xmlte]{font-size:.85rem}}@media (min-width: 1400px){.footer[data-astro-cid-sz7xmlte]{padding:3.5rem var(--tf-container-padding)}}@media (min-width: 1600px){.footer[data-astro-cid-sz7xmlte]{padding:4rem var(--tf-container-padding)}}.back-to-top[data-astro-cid-wlspcwf4]{position:fixed;bottom:2rem;right:1.5rem;width:var(--tf-fab-size);height:var(--tf-fab-size);border-radius:50%;background:var(--tf-color-accent);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:var(--tf-z-toast);opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 15px var(--tf-accent-30)}.back-to-top[data-astro-cid-wlspcwf4].visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top[data-astro-cid-wlspcwf4]:hover{transform:translateY(-3px);box-shadow:0 6px 20px var(--tf-accent-50)}[data-animation-tier=medium] .back-to-top[data-astro-cid-wlspcwf4]{transition-duration:.15s}[data-animation-tier=low] .back-to-top[data-astro-cid-wlspcwf4]{transition:none}@media (prefers-reduced-motion: reduce){.back-to-top[data-astro-cid-wlspcwf4]{transition:opacity .2s ease;transform:none}.back-to-top[data-astro-cid-wlspcwf4].visible{transform:none}}@media print{.back-to-top[data-astro-cid-wlspcwf4]{display:none!important}}
