:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--primary-rgb: 99, 102, 241;--secondary: #0ea5e9;--secondary-dark: #0284c7;--accent: #f59e0b;--accent-dark: #d97706;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-light: #f1f5f9;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-glow: 0 0 40px rgba(99, 102, 241, .3);--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--gradient-secondary: linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);--gradient-dark: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #4c1d95 100%);--gradient-hero: linear-gradient(135deg, rgba(99, 102, 241, .1) 0%, rgba(139, 92, 246, .1) 100%);--section-padding: 100px;--container-width: 1200px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--font-heading: "Outfit", sans-serif;--font-body: "Outfit", sans-serif;--font-arabic: "Noto Sans Arabic", sans-serif;--font-mono: "JetBrains Mono", monospace}[data-theme=dark]{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-card: #161b22;--text-primary: #f0f6fc;--text-secondary: #8b949e;--text-muted: #6e7681;--border-color: #30363d;--border-light: #21262d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(99, 102, 241, .4);--gradient-hero: linear-gradient(135deg, rgba(99, 102, 241, .15) 0%, rgba(139, 92, 246, .1) 100%)}[dir=rtl]{--font-body: "Noto Sans Arabic", sans-serif;--font-heading: "Noto Sans Arabic", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden;transition:background-color var(--transition-base),color var(--transition-base)}[dir=rtl] body{font-family:var(--font-arabic)}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 24px}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--gradient-dark);display:flex;align-items:center;justify-content:center;z-index:10000;transition:opacity .5s ease,visibility .5s ease}.preloader.loaded{opacity:0;visibility:hidden}.preloader-logo{font-size:48px;font-weight:800;color:#fff;margin-bottom:24px;animation:pulse 1.5s ease-in-out infinite}.preloader-bar{width:200px;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.preloader-bar:after{content:"";display:block;width:50%;height:100%;background:var(--gradient-primary);animation:preloaderBar 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes preloaderBar{0%{transform:translate(-100%)}to{transform:translate(300%)}}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:16px 0;transition:all var(--transition-base)}.header.scrolled{background:var(--bg-primary);box-shadow:var(--shadow-md);padding:12px 0}[data-theme=dark] .header.scrolled{background:#0d1117f2;backdrop-filter:blur(20px)}.nav{display:flex;align-items:center;justify-content:space-between}.nav-logo{z-index:101}.logo-text{font-size:28px;font-weight:800;color:var(--text-primary)}.logo-accent{color:var(--primary)}.nav-menu{display:flex;align-items:center;gap:8px}.nav-link{padding:10px 16px;font-size:15px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.nav-link:hover,.nav-link.active{color:var(--primary);background:rgba(var(--primary-rgb),.1)}.nav-link i{font-size:10px;margin-left:6px;transition:transform var(--transition-fast)}[dir=rtl] .nav-link i{margin-left:0;margin-right:6px}.has-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(10px);min-width:200px;background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);padding:8px;opacity:0;visibility:hidden;transition:all var(--transition-fast)}.has-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.has-dropdown:hover .nav-link i{transform:rotate(180deg)}.dropdown-menu li a{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:14px;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.dropdown-menu li a:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.dropdown-menu li a i{font-size:16px;width:20px;text-align:center}.nav-actions{display:flex;align-items:center;gap:12px}.lang-switch{width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.lang-switch:hover{background:var(--primary);color:#fff}.theme-toggle{width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:all var(--transition-fast)}.theme-toggle:hover{background:var(--primary);color:#fff}.theme-icon{position:absolute;font-size:18px;transition:all var(--transition-base)}.theme-icon.sun{opacity:1;transform:translateY(0) rotate(0)}.theme-icon.moon{opacity:0;transform:translateY(30px) rotate(-90deg)}[data-theme=dark] .theme-icon.sun{opacity:0;transform:translateY(-30px) rotate(90deg)}[data-theme=dark] .theme-icon.moon{opacity:1;transform:translateY(0) rotate(0)}.nav-toggle{display:none;width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-tertiary);flex-direction:column;align-items:center;justify-content:center;gap:5px;z-index:101}.nav-toggle span{width:20px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-fast)}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.nav-toggle.active span:nth-child(2){opacity:0;transform:translate(20px)}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden}.btn i{font-size:16px;transition:transform var(--transition-fast)}.btn:hover i{transform:translate(4px)}[dir=rtl] .btn:hover i{transform:translate(-4px)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px rgba(var(--primary-rgb),.4)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(var(--primary-rgb),.5)}.btn-outline{border:2px solid var(--primary);color:var(--primary);background:transparent}.btn-outline:hover{background:var(--primary);color:#fff}.btn-ghost{color:var(--text-secondary);background:var(--bg-tertiary)}.btn-ghost:hover{background:var(--bg-secondary);color:var(--primary)}.btn-white{background:#fff;color:var(--text-primary)}.btn-white:hover{background:var(--bg-secondary)}.btn-sm{padding:10px 20px;font-size:14px}.btn-block{width:100%}.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:120px 0 180px;overflow:hidden}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-gradient{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gradient-hero)}.hero-particles{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(var(--primary-rgb),.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(14,165,233,.1) 0%,transparent 40%)}.hero-dots-pattern{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle,var(--border-color) 1px,transparent 1px);background-size:30px 30px;opacity:.5}[data-theme=dark] .hero-dots-pattern{opacity:.2}.hero-text{max-width:600px}.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-full);font-size:14px;font-weight:500;color:var(--primary);margin-bottom:24px}.badge-dot{width:8px;height:8px;background:var(--success);border-radius:50%;animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.hero-title{margin-bottom:20px}.title-greeting{display:block;font-size:20px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.title-name{display:block;font-size:clamp(40px,6vw,64px);font-weight:800;line-height:1.1;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-role{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:500;color:var(--text-primary);margin-bottom:24px}.role-prefix{color:var(--text-secondary)}.typing-wrapper{display:flex;align-items:center}.typing-text{color:var(--primary)}.typing-cursor{animation:cursorBlink .8s step-end infinite;color:var(--primary);font-weight:300;margin-left:2px}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.hero-description{font-size:18px;line-height:1.7;color:var(--text-secondary);margin-bottom:32px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:40px}.social-link{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-secondary);font-size:18px;transition:all var(--transition-fast)}.social-link:hover{background:var(--primary);color:#fff;transform:translateY(-4px)}.hero-visual{display:flex;justify-content:center;position:relative}.hero-image-wrapper{position:relative;width:400px;height:400px}.hero-image{width:100%;height:100%;border-radius:50%;overflow:hidden;position:relative;z-index:2;border:4px solid var(--bg-primary);box-shadow:var(--shadow-2xl)}.image-ring{position:absolute;inset:-20px;border:2px dashed var(--primary);border-radius:50%;opacity:.5;animation:spin 30s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-dots{position:absolute;top:10%;right:-10%;width:100px;height:100px;background-image:radial-gradient(circle,var(--primary) 2px,transparent 2px);background-size:12px 12px;opacity:.4}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted);font-size:13px;animation:bounce 2s ease-in-out infinite}.scroll-mouse{width:24px;height:40px;border:2px solid var(--text-muted);border-radius:12px;position:relative}.scroll-wheel{width:4px;height:8px;background:var(--text-muted);border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scrollWheel 1.5s ease-in-out infinite}@keyframes scrollWheel{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}.wave-separator{position:relative;height:100px;overflow:hidden;margin-top:-1px}.wave-separator svg{position:absolute;bottom:0;left:0;width:200%;height:100%;animation:waveMove 8s linear infinite}.wave-separator path{fill:var(--bg-secondary);transition:fill var(--transition-base)}.wave-flip{transform:scaleY(-1)}.wave-flip path{fill:var(--bg-primary)}.services+.wave-separator path{fill:var(--bg-primary)}@keyframes waveMove{0%{transform:translate(0)}to{transform:translate(-50%)}}.separator-curved{position:relative;height:80px;overflow:hidden;margin-top:-1px}.separator-curved svg{position:absolute;bottom:0;left:0;width:100%;height:100%}.separator-curved path{fill:var(--bg-secondary)}.separator-curved.flip{transform:scaleY(-1)}.separator-curved.flip path{fill:var(--bg-primary)}.separator-layered{position:relative;height:120px;overflow:hidden;margin-top:-1px}.separator-layered svg{position:absolute;bottom:0;left:0;width:200%;height:100%}.separator-layered .wave-back{animation:waveMove 12s linear infinite;opacity:.3}.separator-layered .wave-mid{animation:waveMove 8s linear infinite reverse;opacity:.5}.separator-layered .wave-front{animation:waveMove 6s linear infinite}.separator-layered path{fill:var(--bg-secondary)}.separator-layered.flip{transform:scaleY(-1)}.separator-layered.flip path{fill:var(--bg-primary)}.separator-blob{position:relative;height:100px;overflow:hidden;margin-top:-1px}.separator-blob svg{position:absolute;bottom:0;left:0;width:100%;height:100%}.separator-blob path{fill:var(--bg-secondary);animation:blobMorph 8s ease-in-out infinite}.separator-blob.flip{transform:scaleY(-1)}.separator-blob.flip path{fill:var(--bg-primary)}@keyframes blobMorph{0%,to{d:path("M0,64L48,80C96,96,192,128,288,128C384,128,480,96,576,85.3C672,75,768,85,864,101.3C960,117,1056,139,1152,133.3C1248,128,1344,96,1392,80L1440,64L1440,320L0,320Z")}50%{d:path("M0,96L48,101.3C96,107,192,117,288,106.7C384,96,480,64,576,69.3C672,75,768,117,864,128C960,139,1056,117,1152,101.3C1248,85,1344,75,1392,69.3L1440,64L1440,320L0,320Z")}}.separator-zigzag{position:relative;height:40px;overflow:hidden;margin-top:-1px;background:linear-gradient(135deg,var(--bg-primary) 25%,transparent 25%),linear-gradient(225deg,var(--bg-primary) 25%,transparent 25%),linear-gradient(45deg,var(--bg-primary) 25%,transparent 25%),linear-gradient(315deg,var(--bg-primary) 25%,var(--bg-secondary) 25%);background-size:40px 40px;background-position:0 0,20px 0,20px -20px,0 20px}.separator-zigzag.flip{background:linear-gradient(135deg,var(--bg-secondary) 25%,transparent 25%),linear-gradient(225deg,var(--bg-secondary) 25%,transparent 25%),linear-gradient(45deg,var(--bg-secondary) 25%,transparent 25%),linear-gradient(315deg,var(--bg-secondary) 25%,var(--bg-primary) 25%);background-size:40px 40px;background-position:0 0,20px 0,20px -20px,0 20px}.separator-dots{position:relative;height:60px;overflow:hidden;margin-top:-1px;display:flex;align-items:center;justify-content:center;gap:20px}.separator-dots .dot{width:12px;height:12px;background:var(--primary);border-radius:50%;animation:dotPulse 1.5s ease-in-out infinite}.separator-dots .dot:nth-child(2){animation-delay:.2s}.separator-dots .dot:nth-child(3){animation-delay:.4s}.separator-dots .dot:nth-child(4){animation-delay:.6s}.separator-dots .dot:nth-child(5){animation-delay:.8s}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.5);opacity:1}}.section{padding:var(--section-padding) 0;position:relative}.section-header{text-align:center;max-width:700px;margin:0 auto 60px}.section-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(var(--primary-rgb),.1);color:var(--primary);font-size:14px;font-weight:600;border-radius:var(--radius-full);margin-bottom:16px}.section-tag i{font-size:14px}.section-title{font-size:clamp(32px,5vw,48px);font-weight:700;color:var(--text-primary);margin-bottom:16px;line-height:1.2}.section-desc{font-size:18px;color:var(--text-secondary);line-height:1.7}.services{background:var(--bg-secondary)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.service-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:40px 30px;position:relative;overflow:hidden;border:1px solid var(--border-color);transition:all var(--transition-base)}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.service-icon{width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-md);color:#fff;font-size:28px;margin-bottom:24px}.service-num{position:absolute;top:20px;right:20px;font-size:48px;font-weight:800;color:var(--border-color);opacity:.5}[dir=rtl] .service-num{right:auto;left:20px}.service-card h3{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.service-tags{display:flex;flex-wrap:wrap;gap:8px}.service-tags li{padding:6px 12px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;font-weight:500;border-radius:var(--radius-sm)}.skills-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:50px}.skill-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.skill-tab:hover{color:var(--primary)}.skill-tab.active{background:var(--gradient-primary);color:#fff}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}.skill-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;text-align:center;transition:all var(--transition-base)}.skill-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.skill-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border-radius:var(--radius-md);background:var(--bg-tertiary);font-size:28px;color:var(--primary);transition:all var(--transition-fast)}.skill-card:hover .skill-icon{background:var(--gradient-primary);color:#fff;transform:scale(1.1)}.skill-icon.flutter{color:#02569b}.skill-card h4{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.skill-bar{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:8px}.skill-progress{height:100%;background:var(--gradient-primary);border-radius:3px;width:0;transition:width 1s ease-out}.skill-percent{font-size:14px;font-weight:600;color:var(--primary)}.systems{background:var(--bg-secondary)}.systems-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px}.system-card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color);transition:all var(--transition-base)}.system-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.system-image{position:relative;height:220px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.system-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.system-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);display:flex;align-items:flex-end;justify-content:center;padding:24px;opacity:0;transition:opacity var(--transition-base)}.system-content{padding:30px}.system-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-md);color:#fff;font-size:24px;margin-bottom:20px;margin-top:-56px;position:relative;z-index:2;box-shadow:var(--shadow-lg)}.system-content>p{font-size:15px;color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.system-features li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.system-features li i{color:var(--success);font-size:12px}.system-tech{display:flex;flex-wrap:wrap;gap:8px}.system-tech span{padding:6px 12px;background:var(--bg-tertiary);color:var(--primary);font-size:12px;font-weight:600;border-radius:var(--radius-sm)}.systems-cta{text-align:center;margin-top:50px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}.systems-cta p{font-size:18px;font-weight:500;color:var(--text-secondary)}.filter-btn{padding:12px 28px;font-size:15px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.filter-btn:hover{color:var(--primary)}.filter-btn.active{background:var(--gradient-primary);color:#fff}.portfolio-item{border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);transition:all var(--transition-base)}.portfolio-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.portfolio-image{position:relative;height:250px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.portfolio-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.portfolio-placeholder svg{opacity:.9;transition:transform var(--transition-base)}.portfolio-item:hover .portfolio-placeholder svg{transform:scale(1.1)}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);position:absolute;top:0;left:0}.portfolio-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity var(--transition-base)}.portfolio-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;color:var(--text-primary);font-size:18px;transition:all var(--transition-fast);transform:translateY(20px);opacity:0}.portfolio-btn:hover{background:var(--primary);color:#fff}.portfolio-tags span{padding:4px 10px;background:rgba(var(--primary-rgb),.1);color:var(--primary);font-size:12px;font-weight:500;border-radius:var(--radius-sm)}*/ .resume{background:var(--bg-secondary)}.resume-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:50px}.resume-heading{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:30px}.resume-heading i{color:var(--primary)}.timeline{position:relative;padding-left:30px}[dir=rtl] .timeline{padding-left:0;padding-right:30px}.timeline:before{content:"";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--border-color)}[dir=rtl] .timeline:before{left:auto;right:0}.timeline-item{position:relative;padding-bottom:30px}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:-38px;top:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}[dir=rtl] .timeline-marker{left:auto;right:-38px}.timeline-marker i{font-size:8px;color:var(--primary)}.timeline-marker:before{content:"";position:absolute;width:16px;height:16px;background:var(--bg-primary);border:2px solid var(--primary);border-radius:50%}.timeline-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px;transition:all var(--transition-fast)}.timeline-content:hover{box-shadow:var(--shadow-md);border-color:var(--primary)}.timeline-date{display:inline-block;padding:4px 12px;background:rgba(var(--primary-rgb),.1);color:var(--primary);font-size:13px;font-weight:600;border-radius:var(--radius-sm);margin-bottom:12px}.timeline-content h4{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.timeline-company{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-muted);margin-bottom:12px}.timeline-content>p:last-child{font-size:14px;color:var(--text-secondary);line-height:1.6}.certs-grid{display:grid;gap:16px}.cert-item{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.cert-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary)}.cert-item i{font-size:32px;color:var(--primary)}.cert-item h5{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.cert-item p{font-size:13px;color:var(--text-muted)}.courses{background:var(--bg-secondary)}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:30px}.course-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.course-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.course-image{position:relative;height:200px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.course-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.course-badge{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.course-badge.video{background:#ef4444;color:#fff}.course-badge.written{background:var(--primary);color:#fff}.course-price{position:absolute;top:16px;right:16px;padding:8px 16px;background:var(--success);color:#fff;font-size:14px;font-weight:700;border-radius:var(--radius-full)}.course-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.course-meta span{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.course-content h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.course-content>p{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.course-footer{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border-color)}.course-stats{display:flex;gap:16px}.course-stats span{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary)}.course-stats .fa-star{color:var(--accent)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px}.testimonial-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:32px;transition:all var(--transition-base)}.testimonial-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.testimonial-rating{display:flex;gap:4px;margin-bottom:20px}.testimonial-rating i{color:var(--accent);font-size:16px}.testimonial-card>p{font-size:16px;color:var(--text-secondary);line-height:1.7;margin-bottom:24px;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:16px}.testimonial-author img{width:56px;height:56px;border-radius:50%;object-fit:cover}.testimonial-author h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.testimonial-author p{font-size:14px;color:var(--text-muted)}.contact{background:var(--bg-secondary)}.contact-wrapper{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}.contact-info .section-tag{margin-bottom:16px}.contact-info .section-title{text-align:left;margin-bottom:16px}[dir=rtl] .contact-info .section-title{text-align:right}.contact-info>p{font-size:16px;color:var(--text-secondary);margin-bottom:32px}.contact-details{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.contact-item{display:flex;align-items:center;gap:16px}.contact-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-md);color:#fff;font-size:20px}.contact-item>div span:first-child{display:block;font-size:13px;color:var(--text-muted);margin-bottom:4px}.contact-item>div a,.contact-item>div span:last-child{font-size:16px;font-weight:500;color:var(--text-primary)}.contact-item>div a:hover{color:var(--primary)}.contact-social{display:flex;gap:12px}.footer{background:var(--gradient-dark);color:#fff;position:relative;padding-top:80px;margin-top:150px}.footer-wave{position:absolute;top:0;left:0;width:100%;height:80px;display:none!important}.footer-wave svg{width:100%;height:100%}.footer-wave path{fill:var(--bg-secondary)}.footer-content{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand .logo-text{font-size:32px;color:#fff;margin-bottom:16px;display:inline-block}.footer-brand>p{font-size:15px;color:#ffffffb3;line-height:1.7;margin-bottom:24px}.footer-social{display:flex;gap:12px}.footer-social a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:var(--radius-md);color:#fff;font-size:18px;transition:all var(--transition-fast)}.footer-social a:hover{background:var(--primary);transform:translateY(-4px)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-col h4{font-size:18px;font-weight:700;margin-bottom:24px}.footer-col ul{display:flex;flex-direction:column;gap:12px}.footer-col a{font-size:15px;color:#ffffffb3;transition:all var(--transition-fast)}.footer-col a:hover{color:#fff;padding-left:8px}[dir=rtl] .footer-col a:hover{padding-left:0;padding-right:8px}.footer-bottom{padding:30px 0;text-align:center}.footer-bottom p{font-size:14px;color:#fff9}.footer-bottom a{color:var(--primary-light)}.footer-motto{margin-top:8px;font-style:italic}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;border-radius:50%;font-size:20px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-base);z-index:999}[dir=rtl] .back-to-top{right:auto;left:30px}.back-to-top:hover{transform:translateY(-4px)}.animate-fade-in{opacity:0;animation:fadeIn .6s ease forwards}.animate-fade-in-up{opacity:0;transform:translateY(30px);animation:fadeInUp .6s ease forwards}.animate-fade-in-left{opacity:0;transform:translate(30px);animation:fadeInLeft .6s ease forwards}[dir=rtl] .animate-fade-in-left{transform:translate(-30px)}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}.delay-3{animation-delay:.6s}.delay-4{animation-delay:.8s}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{to{opacity:1;transform:translate(0)}}.reveal{opacity:0;transform:translateY(40px);transition:all .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}.no-js .reveal,noscript~.reveal{opacity:1;transform:translateY(0)}.page-header{padding:140px 0 80px;background:var(--gradient-hero);text-align:center;position:relative}.page-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle,var(--border-color) 1px,transparent 1px);background-size:30px 30px;opacity:.5}.page-header .container{position:relative}.breadcrumb{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.breadcrumb a{font-size:14px;color:var(--text-muted)}.breadcrumb span{font-size:14px;color:var(--text-secondary)}.page-title{font-size:clamp(36px,5vw,52px);font-weight:800;color:var(--text-primary);margin-bottom:16px}.page-desc{font-size:18px;color:var(--text-secondary);max-width:600px;margin:0 auto}.articles-section{padding:60px 0 80px}.articles-wrapper{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}.articles-list{display:flex;flex-direction:column;gap:24px}.sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:24px}.sidebar-widget h3{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.search-form input{flex:1;padding:12px 16px;font-size:14px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.search-form button{padding:12px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.search-form button:hover{background:var(--primary-dark)}.categories-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.categories-list li a{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.categories-list li a:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.categories-list li a span{font-size:12px;font-weight:600;padding:2px 8px;background:var(--bg-tertiary);border-radius:var(--radius-full)}.tags-cloud a{padding:6px 12px;font-size:13px;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.tags-cloud a:hover{background:var(--primary);color:#fff}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:40px;padding-top:40px;border-top:1px solid var(--border-color)}.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;font-size:14px;font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.pagination a:hover{border-color:var(--primary);color:var(--primary)}.pagination span.active{background:var(--primary);border-color:var(--primary);color:#fff}@media(max-width:1024px){.articles-wrapper{grid-template-columns:1fr}.sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:640px){.sidebar,.article-card-horizontal{grid-template-columns:1fr}.article-card-horizontal .blog-image{height:200px}.article-card-horizontal .blog-content{padding:20px}}.course-header{background:var(--gradient-primary);padding:120px 0 60px;color:#fff}.course-header-content{display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:start}.course-header-info{padding-top:20px}.course-badges{display:flex;align-items:center;gap:12px;margin-bottom:20px}.course-badges .course-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;border-radius:var(--radius-full);background:#fff3;color:#fff}.course-badges .course-price{padding:6px 16px;font-size:14px;font-weight:700;border-radius:var(--radius-full);background:#10b981;color:#fff}.course-header-title{font-size:42px;font-weight:800;line-height:1.2;margin-bottom:20px;color:#fff}.course-header-desc{font-size:17px;line-height:1.7;opacity:.9;margin-bottom:24px}.course-header-meta{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px}.course-header-meta span{display:flex;align-items:center;gap:8px;font-size:14px;opacity:.9}.course-header-meta span i{font-size:16px}.course-instructor{display:flex;align-items:center;gap:16px}.course-instructor img{width:56px;height:56px;border-radius:50%;border:3px solid rgba(255,255,255,.3);object-fit:cover}.course-instructor-info{display:flex;flex-direction:column;gap:2px}.course-instructor-info span:first-child{font-size:13px;opacity:.7}.course-instructor-info span:last-child{font-size:16px;font-weight:600}.course-preview-card{background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl)}.course-preview-image{position:relative;height:220px;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.course-preview-image img{width:100%;height:100%;object-fit:cover}.course-preview-image .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;background:#fffffff2;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:24px;box-shadow:0 10px 40px #0000004d;transition:all var(--transition-base)}.course-preview-image .play-button:hover{transform:translate(-50%,-50%) scale(1.1);background:#fff}.course-preview-image .play-button i{margin-left:4px}.course-preview-content{padding:24px}.course-preview-content .btn-block{width:100%;justify-content:center;padding:16px 24px;font-size:16px}.course-includes{margin-top:24px}.course-includes h4{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.course-includes ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.course-includes li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.course-includes li i{color:#10b981;font-size:12px}.course-content-section{padding:60px 0 80px;background:var(--bg-primary)}.course-content-wrapper{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}.course-main{min-width:0}.course-tabs{display:flex;gap:8px;padding:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:32px}.course-tab{flex:1;padding:14px 20px;font-size:15px;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.course-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.course-tab.active{color:#fff;background:var(--primary)}.course-tab-content{display:none}#curriculum-content{display:block}.course-curriculum{display:flex;flex-direction:column;gap:16px}.curriculum-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.curriculum-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;cursor:pointer;transition:all var(--transition-fast)}.curriculum-header:hover{background:var(--bg-tertiary)}.curriculum-header h4{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.curriculum-header span{font-size:13px;color:var(--text-muted)}.curriculum-header i{font-size:14px;color:var(--text-muted);transition:transform var(--transition-fast)}.curriculum-section.open .curriculum-header i{transform:rotate(180deg)}.curriculum-lessons{display:none;border-top:1px solid var(--border-color)}.curriculum-section.open .curriculum-lessons{display:block}.lesson-item{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border-color);transition:all var(--transition-fast)}.lesson-item:last-child{border-bottom:none}.lesson-item:hover{background:var(--bg-tertiary)}.lesson-info{display:flex;align-items:center;gap:14px}.lesson-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(var(--primary-rgb),.1);border-radius:var(--radius-sm);color:var(--primary);font-size:14px}.lesson-item.video .lesson-icon{background:#ef44441a;color:#ef4444}.lesson-item.article .lesson-icon{background:#3b82f61a;color:#3b82f6}.lesson-title{font-size:15px;font-weight:500;color:var(--text-primary)}.lesson-meta{display:flex;align-items:center;gap:12px}.lesson-duration{font-size:13px;color:var(--text-muted);font-weight:500}.lesson-preview{padding:4px 10px;font-size:11px;font-weight:600;color:var(--primary);background:rgba(var(--primary-rgb),.1);border-radius:var(--radius-full);text-transform:uppercase}.course-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:24px}.course-sidebar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.course-sidebar-card h4{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.course-features{display:flex;flex-direction:column;gap:14px}.course-feature{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.course-feature i{width:20px;color:var(--primary)}.course-features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.course-features-list li{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.course-features-list li:last-child{padding-bottom:0;border-bottom:none}.course-features-list li span:first-child{display:flex;align-items:center;gap:10px;color:var(--text-secondary)}.course-features-list li span:first-child i{color:var(--primary);font-size:16px;width:20px}.course-features-list li span:last-child{font-weight:600;color:var(--text-primary)}.related-course-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--border-color)}.related-course-item:last-child{border-bottom:none;padding-bottom:0}.related-course-item:first-child{padding-top:0}.related-course-item img{width:80px;height:60px;border-radius:var(--radius-sm);object-fit:cover}.related-course-info{flex:1;min-width:0}.related-course-info h5{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 6px;line-height:1.4}.related-course-info h5 a{color:inherit;transition:color var(--transition-fast)}.related-course-info h5 a:hover{color:var(--primary)}.related-course-info .price{font-size:13px;font-weight:600;color:#10b981}.share-course{display:flex;gap:10px}.share-course a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:16px;transition:all var(--transition-fast)}.share-course a:hover{background:var(--primary);color:#fff}@media(max-width:1024px){.course-header-content{grid-template-columns:1fr;gap:40px}.course-preview-card{max-width:450px}.course-content-wrapper{grid-template-columns:1fr}.course-sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:768px){.course-header{padding:100px 0 40px}.course-header-title{font-size:28px}.course-header-meta{gap:12px}.course-tabs{flex-wrap:wrap}.course-tab{flex:1 1 calc(50% - 4px)}.course-sidebar{grid-template-columns:1fr}.lesson-item{flex-direction:column;align-items:flex-start;gap:12px}.lesson-meta{width:100%;justify-content:space-between}}.comments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.comments-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;background:var(--gradient-primary);color:#fff;font-size:13px;font-weight:600;border-radius:var(--radius-full)}.comment-form-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:40px}.comment-form-wrapper h4{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.comment-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.comment-form .form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.comment-form .form-group input,.comment-form .form-group textarea{width:100%;padding:12px 16px;font-size:15px;color:var(--text-primary);background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-fast);resize:vertical;min-height:120px}.comment-form .form-group input:focus,.comment-form .form-group textarea:focus{outline:none;border-color:var(--primary);background:var(--bg-primary)}.comment-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.comment-form-actions label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer}.comment-item{display:flex;gap:16px;padding:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.comment-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.comment-avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover}.comment-avatar .avatar-placeholder{width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:700}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}.comment-author{font-size:16px;font-weight:600;color:var(--text-primary)}.comment-date{font-size:13px;color:var(--text-muted)}.comment-badge{padding:3px 10px;background:rgba(var(--primary-rgb),.1);color:var(--primary);font-size:11px;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase}.comment-content{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}.comment-actions{display:flex;align-items:center;gap:16px}.comment-action{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.comment-action:hover{color:var(--primary);background:rgba(var(--primary-rgb),.1)}.comment-action.liked{color:#ef4444}.comment-action.liked i{animation:heartBeat .3s ease}@keyframes heartBeat{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.comment-replies{margin-top:20px;padding-left:24px;border-left:2px solid var(--border-color);display:flex;flex-direction:column;gap:16px}.comment-replies .comment-item{padding:16px}.comment-replies .comment-avatar img,.comment-replies .comment-avatar .avatar-placeholder{width:40px;height:40px;font-size:14px}.reply-form{margin-top:16px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md);display:none}.reply-form.active{display:block;animation:fadeInUp .3s ease}.reply-form textarea{width:100%;padding:12px;font-size:14px;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);resize:none;min-height:80px;margin-bottom:12px}.reply-form textarea:focus{outline:none;border-color:var(--primary)}.reply-form-actions{display:flex;justify-content:flex-end;gap:12px}.load-more-comments{text-align:center;margin-top:32px}.no-comments{text-align:center;padding:60px 20px;background:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-lg)}.no-comments i{font-size:48px;color:var(--text-muted);margin-bottom:16px}.no-comments h4{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.no-comments p{font-size:14px;color:var(--text-muted)}@media(max-width:768px){.comment-form .form-row{grid-template-columns:1fr}.comment-item{flex-direction:column}.comment-avatar{display:flex;align-items:center;gap:12px}.comment-replies{padding-left:16px}.comment-form-actions{flex-direction:column;align-items:flex-start}}@media(max-width:1024px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-text{max-width:100%}.hero-actions,.hero-social{justify-content:center}.hero-visual{order:-1}.hero-image-wrapper{width:300px;height:300px}.floating-stat{display:none}.resume-grid,.contact-wrapper,.footer-content{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(3,1fr)}.modal-content{grid-template-columns:1fr}.blog-card.featured{grid-row:span 1}.blog-card.featured .blog-image{height:200px}}@media(max-width:768px){:root{--section-padding: 70px}.nav-menu{position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;background:var(--bg-primary);flex-direction:column;align-items:flex-start;padding:100px 30px 30px;box-shadow:var(--shadow-2xl);transition:right var(--transition-base)}[dir=rtl] .nav-menu{right:auto;left:-100%}.nav-menu.active{right:0}[dir=rtl] .nav-menu.active{right:auto;left:0}.nav-link{width:100%;padding:16px}.has-dropdown .dropdown-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;padding-left:20px;display:none}.has-dropdown.open .dropdown-menu{display:block}.nav-toggle{display:flex}.hero{min-height:auto;padding:120px 0}.hero-role{flex-direction:column;align-items:center;gap:4px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.services-grid,.portfolio-grid,.blog-grid,.courses-grid,.testimonials-grid,.systems-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr;gap:30px}}@media(max-width:480px){.container{padding:0 16px}.hero-image-wrapper{width:250px;height:250px}.section-title{font-size:28px}.service-card,.skill-card,.portfolio-item,.blog-card,.course-card,.testimonial-card{padding:24px}.skills-grid{grid-template-columns:1fr}.skills-tabs{flex-direction:column}.skill-tab{width:100%;justify-content:center}.footer-links{grid-template-columns:1fr}.footer{margin-top:80px}.contact-form{padding:24px}}.system-actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.system-actions .btn{flex:1;justify-content:center}.system-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-base)}.system-modal.active{opacity:1;visibility:visible}.system-modal-overlay{position:absolute;inset:0;background:#000c;backdrop-filter:blur(8px)}.system-modal-container{position:relative;width:100%;max-width:1100px;max-height:90vh;background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;margin:20px;transform:translateY(30px) scale(.95);transition:transform var(--transition-base);box-shadow:0 25px 80px #0006}.system-modal.active .system-modal-container{transform:translateY(0) scale(1)}.system-modal-close{position:absolute;top:16px;right:16px;z-index:10;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-muted);font-size:18px;cursor:pointer;transition:all var(--transition-fast)}.system-modal-close:hover{background:var(--primary);color:#fff}.system-modal-media{background:var(--bg-secondary);padding:32px;display:flex;flex-direction:column}.system-modal-image{flex:1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);margin-bottom:16px}.system-modal-image img{width:100%;height:100%;object-fit:cover}.gallery-thumb{width:80px;height:50px;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all var(--transition-fast);opacity:.6}.gallery-thumb:hover,.gallery-thumb.active{border-color:var(--primary);opacity:1}.gallery-thumb.video-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;opacity:1}.gallery-thumb.video-thumb i{font-size:16px;margin-bottom:2px}.gallery-thumb.video-thumb span{font-size:10px;font-weight:600}.system-modal-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(var(--primary-rgb),.1);color:var(--primary);font-size:12px;font-weight:600;border-radius:var(--radius-full);margin-bottom:16px}.system-modal-info h2{font-size:28px;font-weight:800;color:var(--text-primary);margin-bottom:16px}.system-modal-stats{display:flex;gap:24px;margin-bottom:24px;padding:16px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.system-modal-features,.system-modal-tech{margin-bottom:24px}.system-modal-features h4,.system-modal-tech h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.system-modal-features ul{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none;padding:0;margin:0}.system-modal-features ul li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-md)}.system-modal-features ul li i{color:#10b981;font-size:12px}.system-modal-tech .tech-tags{display:flex;flex-wrap:wrap;gap:8px}.system-modal-tech .tech-tags span{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;color:var(--text-secondary)}.system-modal-tech .tech-tags span i{color:var(--primary)}.system-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.system-modal-actions .btn{flex:1;min-width:140px;justify-content:center}.system-modal-actions .btn-success{background:#25d366;color:#fff}.system-modal-actions .btn-success:hover{background:#20bd5a}.system-modal-contact{padding-top:16px;border-top:1px solid var(--border-color)}.system-modal-contact p{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.system-modal-contact p i{color:var(--primary)}.system-modal-contact a{color:var(--primary);font-weight:500}.system-modal-contact a:hover{text-decoration:underline}.video-modal{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-base)}.video-modal.active{opacity:1;visibility:visible}.video-modal-overlay{position:absolute;inset:0;background:#000000f2}.video-modal-content{position:relative;width:100%;max-width:900px;margin:20px}.video-modal-close{position:absolute;top:-50px;right:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all var(--transition-fast)}.video-modal-close:hover{background:var(--primary)}.video-modal .video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-lg)}.video-modal .video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}@media(max-width:992px){.system-modal-content{grid-template-columns:1fr}.system-modal-media{padding:24px;max-height:300px}.system-modal-info{padding:24px}.system-modal-features ul{grid-template-columns:1fr}}@media(max-width:576px){.system-modal-container{margin:10px;max-height:95vh}.system-modal-info h2{font-size:22px}.system-modal-stats{flex-wrap:wrap;gap:12px}.system-modal-actions .btn{min-width:100%}.system-actions{flex-direction:column}}.mobile-drawer{position:fixed;inset:0;z-index:9999;visibility:hidden;pointer-events:none}.mobile-drawer.active{visibility:visible;pointer-events:all}.drawer-overlay{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px);opacity:0;transition:opacity .4s ease}.mobile-drawer.active .drawer-overlay{opacity:1}.drawer-content{position:absolute;top:0;right:0;width:320px;max-width:85vw;height:100%;background:var(--bg-card);box-shadow:-10px 0 40px #0003;display:flex;flex-direction:column;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);overflow:hidden}[dir=rtl] .drawer-content{right:auto;left:0;transform:translate(-100%);box-shadow:10px 0 40px #0003}.mobile-drawer.active .drawer-content{transform:translate(0)}.drawer-header{padding:24px 20px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.drawer-header:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.3}.drawer-profile{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.drawer-avatar{position:relative;width:56px;height:56px}.drawer-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.3)}.avatar-status{position:absolute;bottom:2px;right:2px;width:14px;height:14px;background:#10b981;border-radius:50%;border:2px solid #fff}.drawer-info h4{color:#fff;font-size:18px;font-weight:700;margin-bottom:2px}.drawer-info p{color:#fffc;font-size:13px}.drawer-close{position:relative;z-index:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;transition:all .3s ease}.drawer-close:hover{background:#ffffff4d;transform:rotate(90deg)}.drawer-nav{flex:1;overflow-y:auto;padding:16px 0}.drawer-menu{list-style:none;padding:0;margin:0}.drawer-item{opacity:0;transform:translate(30px);transition:all .4s ease;transition-delay:var(--delay, 0s)}[dir=rtl] .drawer-item{transform:translate(-30px)}.mobile-drawer.active .drawer-item{opacity:1;transform:translate(0)}.drawer-link{display:flex;align-items:center;gap:14px;padding:14px 24px;color:var(--text-primary);font-size:15px;font-weight:500;transition:all .3s ease;position:relative}.drawer-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;background:var(--gradient-primary);border-radius:0 4px 4px 0;transition:height .3s ease}[dir=rtl] .drawer-link:before{left:auto;right:0;border-radius:4px 0 0 4px}.drawer-link:hover,.drawer-link.active{background:rgba(var(--primary-rgb),.08);color:var(--primary)}.drawer-link:hover:before,.drawer-link.active:before{height:70%}.drawer-link i{width:24px;font-size:18px;text-align:center;color:var(--text-muted);transition:color .3s ease}.drawer-link:hover i,.drawer-link.active i{color:var(--primary)}.submenu-arrow{margin-left:auto;font-size:12px!important;width:auto!important;transition:transform .3s ease}[dir=rtl] .submenu-arrow{margin-left:0;margin-right:auto}.drawer-item.has-submenu.open .submenu-arrow{transform:rotate(180deg)}.drawer-submenu{list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;background:var(--bg-secondary);transition:max-height .4s ease}.drawer-item.has-submenu.open .drawer-submenu{max-height:300px}.drawer-submenu li a{display:flex;align-items:center;gap:12px;padding:12px 24px 12px 60px;color:var(--text-secondary);font-size:14px;transition:all .3s ease}[dir=rtl] .drawer-submenu li a{padding:12px 60px 12px 24px}.drawer-submenu li a:hover{color:var(--primary);background:rgba(var(--primary-rgb),.05)}.drawer-submenu li a i{width:20px;font-size:14px;color:var(--text-muted)}.drawer-submenu li a:hover i{color:var(--primary)}.drawer-settings{padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.drawer-settings h5{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.drawer-settings h5 i{font-size:14px}.drawer-setting-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.drawer-setting-item:not(:last-child){border-bottom:1px solid var(--border-color)}.setting-info{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary)}.setting-info i{width:20px;color:var(--primary);text-align:center}.toggle-switch{position:relative;width:50px;height:26px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--bg-tertiary);border-radius:26px;transition:all .4s ease;border:2px solid var(--border-color)}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:all .4s cubic-bezier(.4,0,.2,1)}.toggle-switch input:checked+.toggle-slider{background:var(--primary);border-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px);background:#fff}.drawer-footer{padding:20px;border-top:1px solid var(--border-color);text-align:center}.drawer-social{display:flex;justify-content:center;gap:12px;margin-bottom:16px}.drawer-social .social-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:50%;color:var(--text-secondary);font-size:16px;transition:all .3s ease}.drawer-social .social-link:hover{background:var(--primary);color:#fff;transform:translateY(-3px)}.drawer-social .social-link.whatsapp:hover{background:#25d366}.drawer-copyright{font-size:12px;color:var(--text-muted)}@media(max-width:992px){.nav-menu{display:none!important}}@media(min-width:993px){.mobile-drawer{display:none!important}}.hero-waves,.footer-waves{position:absolute;left:0;right:0;width:100%;overflow:hidden;z-index:1}.hero-waves{bottom:0;background:transparent}.footer-waves{position:absolute;top:0;left:0;right:0;width:100%;overflow:visible;transform:translateY(-99%)}.svg-waves{position:relative;width:100%;height:150px;display:block}@media(max-width:767px){.svg-waves{height:80px}}.svg-waves__parallax>use{animation:wave-move 25s cubic-bezier(.55,.5,.45,.5) infinite}.svg-waves__parallax>use:nth-child(1){animation-delay:-2s;animation-duration:7s;fill:#6366f126}.svg-waves__parallax>use:nth-child(2){animation-delay:-3s;animation-duration:10s;fill:#6366f11a}.svg-waves__parallax>use:nth-child(3){animation-delay:-4s;animation-duration:13s;fill:#6366f112}.svg-waves__parallax>use:nth-child(4){animation-delay:-5s;animation-duration:20s;fill:var(--bg-secondary)}.svg-waves__parallax--footer>use:nth-child(1){animation-delay:-2s;animation-duration:7s;fill:#1e202cb3}.svg-waves__parallax--footer>use:nth-child(2){animation-delay:-3s;animation-duration:10s;fill:#1e202ccc}.svg-waves__parallax--footer>use:nth-child(3){animation-delay:-4s;animation-duration:13s;fill:#1e202ce6}.svg-waves__parallax--footer>use:nth-child(4){animation-delay:-5s;animation-duration:20s;fill:#1e202c}[data-theme=dark] .svg-waves__parallax>use:nth-child(1){fill:#818cf833}[data-theme=dark] .svg-waves__parallax>use:nth-child(2){fill:#818cf826}[data-theme=dark] .svg-waves__parallax>use:nth-child(3){fill:#818cf81a}[data-theme=dark] .svg-waves__parallax>use:nth-child(4){fill:var(--bg-secondary)}[data-theme=dark] .svg-waves__parallax--footer>use:nth-child(1){fill:#111827b3}[data-theme=dark] .svg-waves__parallax--footer>use:nth-child(2){fill:#111827cc}[data-theme=dark] .svg-waves__parallax--footer>use:nth-child(3){fill:#111827e6}[data-theme=dark] .svg-waves__parallax--footer>use:nth-child(4){fill:#111827}@keyframes wave-move{0%{transform:translate3d(-90px,0,0)}to{transform:translate3d(85px,0,0)}}.wave-separator,.separator-dots,.separator-layered,.separator-curved,.footer-wave{display:none!important}:root{--success: #10b981;--success-light: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .1);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .1);--info: #3b82f6;--info-light: rgba(59, 130, 246, .1);--anim-fast: .2s;--anim-normal: .3s;--anim-slow: .5s;--anim-slower: .8s;--scroll-progress: 0%}.typing-wrapper{display:inline-flex;align-items:center;min-height:1.5em}.typing-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes blink{50%{opacity:0}}.floating-tech{position:absolute;inset:0;pointer-events:none;overflow:hidden}.tech-float{position:absolute;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;color:var(--text-muted);font-size:22px;opacity:.6;animation:floatTech 20s ease-in-out infinite;box-shadow:var(--shadow-md);transition:all .3s ease}.tech-float:hover{opacity:1;color:var(--primary);transform:scale(1.2)}.tech-float svg{width:24px;height:24px}.tech-1{top:15%;left:5%;animation-delay:0s}.tech-2{top:25%;right:8%;animation-delay:-3s}.tech-3{top:45%;left:3%;animation-delay:-6s}.tech-4{top:60%;right:5%;animation-delay:-9s}.tech-5{top:75%;left:8%;animation-delay:-12s}.tech-6{top:20%;left:15%;animation-delay:-2s}.tech-7{top:70%;right:12%;animation-delay:-5s}.tech-8{top:35%;right:15%;animation-delay:-8s}.tech-9{top:50%;left:12%;animation-delay:-11s}.tech-10{top:85%;left:20%;animation-delay:-14s}@keyframes floatTech{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(5deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(15px) rotate(-5deg)}}.hero-particles{position:absolute;inset:0;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:var(--primary);border-radius:50%;opacity:.3;animation:particleFloat 15s linear infinite}@keyframes particleFloat{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.3}90%{opacity:.3}to{transform:translateY(-100vh) scale(1);opacity:0}}.hero-gradient{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(100px);opacity:.15;animation:gradientMove 20s ease-in-out infinite}.hero-gradient:nth-child(1){top:-200px;left:-200px;background:var(--primary)}.hero-gradient-2{bottom:-200px;right:-200px;background:#a855f7;animation-delay:-10s}@keyframes gradientMove{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,30px) scale(1.1)}66%{transform:translate(-30px,50px) scale(.9)}}.floating-stat{position:absolute;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-lg);animation:floatStat 4s ease-in-out infinite;z-index:10}.floating-stat .stat-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:12px;color:#fff;font-size:18px}.floating-stat .stat-number{display:block;font-size:24px;font-weight:800;color:var(--text-primary);line-height:1}.floating-stat .stat-label{font-size:12px;color:var(--text-muted)}.stat-projects{top:10%;left:-60px;animation-delay:0s}.stat-experience{bottom:30%;right:-50px;animation-delay:-1s}.stat-articles{bottom:5%;left:0;animation-delay:-2s}@keyframes floatStat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-image-wrapper{position:relative}.hero-image{position:relative;width:400px;height:400px;border-radius:50%;overflow:hidden;border:4px solid var(--primary);box-shadow:0 0 0 20px rgba(var(--primary-rgb),.1),0 0 0 40px rgba(var(--primary-rgb),.05)}.hero-image img{width:100%;height:100%;object-fit:cover}.image-ring{position:absolute;inset:-30px;border:2px dashed var(--border-color);border-radius:50%;animation:rotate 30s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.image-dots{position:absolute;inset:-50px;border:2px dotted rgba(var(--primary-rgb),.3);border-radius:50%;animation:rotate 60s linear infinite reverse}.service-card{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;padding:40px 32px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.service-card:hover{transform:translateY(-12px);box-shadow:0 25px 50px rgba(var(--primary-rgb),.15);border-color:rgba(var(--primary-rgb),.3)}.service-card:hover:before{transform:scaleX(1)}.service-num{position:absolute;top:20px;right:24px;font-size:64px;font-weight:800;color:var(--bg-tertiary);line-height:1;transition:all .4s ease}.service-card:hover .service-num{color:rgba(var(--primary-rgb),.1)}.service-icon{width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:rgba(var(--primary-rgb),.1);border-radius:20px;color:var(--primary);font-size:28px;margin-bottom:24px;transition:all .4s ease}.service-card:hover .service-icon{background:var(--gradient-primary);color:#fff;transform:scale(1.1) rotate(5deg);box-shadow:0 10px 30px rgba(var(--primary-rgb),.3)}.service-card h3{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.service-card p{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px}.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.service-tags li{padding:6px 14px;background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;font-weight:600;border-radius:50px;transition:all .3s ease}.service-card:hover .service-tags li{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.service-actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.service-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--primary);transition:all .3s ease}.service-link:hover{gap:10px}.service-link i{transition:transform .3s ease}.service-link:hover i{transform:translate(4px)}.skills-tabs{display:flex;justify-content:center;gap:12px;margin-bottom:48px;flex-wrap:wrap}.skill-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:50px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.skill-tab:hover{border-color:var(--primary);color:var(--primary)}.skill-tab.active{background:var(--gradient-primary);border-color:transparent;color:#fff;box-shadow:0 8px 25px rgba(var(--primary-rgb),.3)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.skill-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;text-align:center;transition:all .4s ease;position:relative;overflow:hidden}.skill-card:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--gradient-primary);transform:scaleX(0);transition:transform .4s ease}.skill-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:rgba(var(--primary-rgb),.3)}.skill-card:hover:after{transform:scaleX(1)}.skill-card.hidden{display:none}.skill-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:rgba(var(--primary-rgb),.1);border-radius:16px;color:var(--primary);font-size:26px;transition:all .4s ease}.skill-card:hover .skill-icon{background:var(--gradient-primary);color:#fff;transform:rotateY(180deg)}.skill-card h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.skill-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:8px}.skill-progress{height:100%;background:var(--gradient-primary);border-radius:4px;width:0;transition:width 1.5s ease-out}.skill-percent{font-size:14px;font-weight:700;color:var(--primary)}.skill-level{display:inline-block;padding:4px 12px;background:var(--success-light);color:var(--success);font-size:11px;font-weight:600;border-radius:50px;margin-top:8px}.skill-level.advanced{background:var(--info-light);color:var(--info)}.skill-level.intermediate{background:var(--warning-light);color:var(--warning)}.portfolio-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:48px}.filter-btn{padding:12px 28px;font-size:14px;font-weight:600;color:var(--text-secondary);background:var(--bg-card);border:2px solid var(--border-color);border-radius:50px;cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--gradient-primary);border-color:transparent;color:#fff;box-shadow:0 8px 25px rgba(var(--primary-rgb),.3)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:30px}.portfolio-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;overflow:hidden;transition:all .4s ease}.portfolio-item.hidden{display:none}.portfolio-item:hover{transform:translateY(-12px);box-shadow:0 30px 60px rgba(var(--primary-rgb),.15)}.portfolio-image{position:relative;height:240px;overflow:hidden}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.8) 100%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;gap:12px;opacity:0;transition:all .4s ease}.portfolio-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;color:var(--text-primary);font-size:18px;cursor:pointer;transition:all .3s ease;transform:translateY(20px);opacity:0}.portfolio-item:hover .portfolio-btn{transform:translateY(0);opacity:1}.portfolio-item:hover .portfolio-btn:nth-child(1){transition-delay:0s}.portfolio-item:hover .portfolio-btn:nth-child(2){transition-delay:.1s}.portfolio-item:hover .portfolio-btn:nth-child(3){transition-delay:.2s}.portfolio-btn:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.portfolio-content{padding:24px}.portfolio-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.portfolio-tags span{padding:4px 12px;background:rgba(var(--primary-rgb),.1);color:var(--primary);font-size:12px;font-weight:600;border-radius:50px}.portfolio-content h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.portfolio-content p{font-size:14px;color:var(--text-secondary);line-height:1.6}.modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px}.modal.active{display:flex}.modal-overlay{position:absolute;inset:0;background:#000000d9;backdrop-filter:blur(10px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{position:relative;width:100%;max-width:1100px;max-height:90vh;background:var(--bg-card);border-radius:24px;overflow:hidden;animation:modalSlideIn .4s ease;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:20px;right:20px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);font-size:18px;cursor:pointer;z-index:10;transition:all .3s ease}.modal-close:hover{background:var(--danger);color:#fff}.modal-content{display:grid;grid-template-columns:1.2fr 1fr;overflow-y:auto;max-height:90vh}.modal-gallery{background:var(--bg-tertiary);padding:30px}.modal-main-image{border-radius:16px;overflow:hidden;margin-bottom:16px;aspect-ratio:16/10;background:var(--bg-secondary)}.modal-main-image img{width:100%;height:100%;object-fit:cover}.modal-thumbnails{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.modal-thumbnails .thumb{width:80px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;border:3px solid transparent;flex-shrink:0;transition:all .3s ease}.modal-thumbnails .thumb.active{border-color:var(--primary)}.modal-thumbnails .thumb img{width:100%;height:100%;object-fit:cover}.modal-info{padding:40px;overflow-y:auto}.modal-category{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:rgba(var(--primary-rgb),.1);color:var(--primary);font-size:13px;font-weight:600;border-radius:50px;margin-bottom:16px}.modal-info h2{font-size:28px;font-weight:800;color:var(--text-primary);margin-bottom:16px}.modal-description{font-size:15px;color:var(--text-secondary);line-height:1.8;margin-bottom:24px}.modal-highlights,.modal-features{margin-bottom:24px}.modal-highlights h4,.modal-features h4,.modal-tech h4{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.modal-highlights h4 i,.modal-features h4 i,.modal-tech h4 i{color:var(--primary)}.modal-highlights ul,.modal-features ul{display:flex;flex-direction:column;gap:8px}.modal-highlights li,.modal-features li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary)}.modal-highlights li i,.modal-features li i{color:var(--success);font-size:12px}.modal-tech{margin-bottom:24px}.tech-tags span{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-weight:600;border-radius:8px;display:flex;align-items:center;gap:6px}.tech-tags span i{color:var(--primary)}.modal-meta{display:flex;flex-wrap:wrap;gap:20px;padding:20px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin-bottom:24px}.meta-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.meta-item i{color:var(--primary)}.modal-actions{display:flex;gap:12px}.systems-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:30px}.system-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;overflow:hidden;transition:all .4s ease}.system-card:hover{transform:translateY(-12px);box-shadow:0 30px 60px rgba(var(--primary-rgb),.15)}.system-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.system-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 100%);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .4s ease}.system-content{padding:28px}.system-content .system-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:16px;color:#fff;font-size:24px;margin-bottom:20px;box-shadow:0 10px 30px rgba(var(--primary-rgb),.3)}.system-content h3{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.system-content>p{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px}.system-features{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.system-features li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.system-features li i{color:var(--success);font-size:11px}.system-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.system-tech span{padding:6px 12px;background:var(--bg-tertiary);color:var(--primary);font-size:12px;font-weight:600;border-radius:6px}.system-actions{display:flex;gap:12px}.system-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px}.system-modal-overlay{position:absolute;inset:0;background:#000000d9;backdrop-filter:blur(10px)}.system-modal-container{position:relative;width:100%;max-width:1000px;max-height:90vh;background:var(--bg-card);border-radius:24px;overflow:hidden;animation:modalSlideIn .4s ease}.system-modal-close{position:absolute;top:20px;right:20px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;z-index:10;transition:all .3s ease}.system-modal-close:hover{background:var(--danger)}.system-modal-content{display:grid;grid-template-columns:1fr 1fr;max-height:90vh;overflow-y:auto}.system-modal-media{background:#1a1a2e;padding:30px}.system-modal-image{border-radius:16px;overflow:hidden;margin-bottom:16px}.system-modal-image img{width:100%;display:block}.system-modal-gallery{display:flex;gap:12px}.gallery-thumb{width:70px;height:50px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .3s ease}.gallery-thumb.active{border-color:var(--primary)}.gallery-thumb.video-thumb{background:var(--gradient-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.gallery-thumb.video-thumb i{font-size:18px;margin-bottom:2px}.gallery-thumb.video-thumb span{font-size:10px}.system-modal-info{padding:40px;overflow-y:auto}.system-modal-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,#10b9811a,#0596691a);color:var(--success);font-size:12px;font-weight:600;border-radius:50px;margin-bottom:16px}.system-modal-info h2{font-size:28px;font-weight:800;color:var(--text-primary);margin-bottom:12px}.system-modal-desc{font-size:15px;color:var(--text-secondary);line-height:1.8;margin-bottom:24px}.system-modal-stats{display:flex;gap:24px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.modal-stat{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.modal-stat i{color:var(--primary)}.system-modal-features h4,.system-modal-tech h4{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.system-modal-features h4 i,.system-modal-tech h4 i{color:var(--primary)}.system-modal-features ul{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:24px}.system-modal-features li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary)}.system-modal-features li i{color:var(--success);font-size:12px}.system-modal-tech{margin-bottom:24px}.system-modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.system-modal-contact{padding-top:20px;border-top:1px solid var(--border-color);font-size:14px;color:var(--text-muted)}.system-modal-contact a{color:var(--primary);font-weight:600}.difficulty-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;border-radius:50px}.difficulty-badge.beginner{background:var(--success-light);color:var(--success)}.difficulty-badge.intermediate{background:var(--warning-light);color:var(--warning)}.difficulty-badge.advanced{background:var(--danger-light);color:var(--danger)}.leaderboard{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;margin-top:40px}.leaderboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.leaderboard-header h3{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--text-primary)}.leaderboard-header h3 i{color:#f59e0b}.leaderboard-list{display:flex;flex-direction:column;gap:12px}.leaderboard-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px;transition:all .3s ease}.leaderboard-item:hover{background:rgba(var(--primary-rgb),.05)}.leaderboard-item.top-1{background:linear-gradient(135deg,#f59e0b1a,#eab3081a);border:1px solid rgba(245,158,11,.3)}.leaderboard-item.top-2{background:linear-gradient(135deg,#94a3b81a,#cbd5e11a);border:1px solid rgba(148,163,184,.3)}.leaderboard-item.top-3{background:linear-gradient(135deg,#b453091a,#d977061a);border:1px solid rgba(180,83,9,.3)}.leaderboard-rank{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:10px;font-size:16px;font-weight:800;color:var(--text-muted)}.leaderboard-item.top-1 .leaderboard-rank{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.leaderboard-item.top-2 .leaderboard-rank{background:linear-gradient(135deg,#94a3b8,#cbd5e1);color:#fff}.leaderboard-item.top-3 .leaderboard-rank{background:linear-gradient(135deg,#b45309,#d97706);color:#fff}.leaderboard-user{display:flex;align-items:center;gap:12px;flex:1}.leaderboard-avatar{width:44px;height:44px;border-radius:12px;overflow:hidden;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.leaderboard-avatar img{width:100%;height:100%;object-fit:cover}.leaderboard-name{font-size:15px;font-weight:600;color:var(--text-primary)}.leaderboard-score{font-size:18px;font-weight:800;color:var(--primary)}.answer-explanation{background:rgba(var(--primary-rgb),.05);border:1px solid rgba(var(--primary-rgb),.2);border-radius:12px;padding:16px 20px;margin-top:16px}.answer-explanation h5{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--primary);margin-bottom:8px}.answer-explanation p{font-size:14px;color:var(--text-secondary);line-height:1.7}.certificate-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:60px;text-align:center;position:relative;overflow:hidden}.certificate-container:before{content:"";position:absolute;inset:10px;border:2px solid rgba(255,255,255,.1);border-radius:16px;pointer-events:none}.certificate-badge{width:100px;height:100px;margin:0 auto 24px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;box-shadow:0 20px 40px #6366f166}.certificate-container h2{font-size:36px;font-weight:800;color:#fff;margin-bottom:8px}.certificate-container .cert-subtitle{font-size:18px;color:#ffffffb3;margin-bottom:24px}.certificate-container .cert-name{font-size:28px;font-weight:700;color:#fff;margin-bottom:16px}.certificate-container .cert-details{font-size:14px;color:#fff9;margin-bottom:32px}.certificate-actions{display:flex;justify-content:center;gap:16px}.share-card{background:var(--gradient-primary);border-radius:20px;padding:32px;text-align:center;color:#fff}.share-card h4{font-size:20px;font-weight:700;margin-bottom:8px}.share-card p{font-size:14px;opacity:.9;margin-bottom:20px}.share-buttons{display:flex;justify-content:center;gap:12px}.share-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:12px;color:#fff;font-size:20px;cursor:pointer;transition:all .3s ease}.share-btn:hover{background:#ffffff4d;transform:translateY(-3px)}.share-btn.twitter:hover{background:#1da1f2}.share-btn.facebook:hover{background:#4267b2}.share-btn.linkedin:hover{background:#0077b5}.share-btn.whatsapp:hover{background:#25d366}.reading-time{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.reading-time i{font-size:14px}.toc-card{position:sticky;top:100px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:24px}.toc-card h4{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.toc-list{display:flex;flex-direction:column;gap:8px}.toc-link{display:block;padding:10px 16px;font-size:14px;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;border-left:3px solid transparent;transition:all .3s ease}.toc-link:hover,.toc-link.active{background:rgba(var(--primary-rgb),.1);color:var(--primary);border-left-color:var(--primary)}.code-block-wrapper{margin:24px 0;border-radius:16px;overflow:hidden;background:#1e1e2e;border:1px solid rgba(255,255,255,.1)}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.code-block-dots span{width:12px;height:12px;border-radius:50%}.code-block-dots span:nth-child(3){background:#27c93f}.code-block-lang{font-size:12px;font-weight:600;color:#ffffff80;text-transform:uppercase}.code-block-copy{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff1a;border:none;border-radius:8px;color:#ffffffb3;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.code-block-copy:hover{background:var(--primary);color:#fff}.code-block-copy.copied{background:var(--success);color:#fff}.article-series{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:24px}.series-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.series-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:12px;color:#fff;font-size:18px}.series-info h4{font-size:16px;font-weight:700;color:var(--text-primary)}.series-info span{font-size:13px;color:var(--text-muted)}.series-list{display:flex;flex-direction:column;gap:8px}.series-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border-radius:10px;transition:all .3s ease}.series-item:hover{background:rgba(var(--primary-rgb),.1)}.series-item.current{background:rgba(var(--primary-rgb),.1);border-left:3px solid var(--primary)}.series-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:8px;font-size:12px;font-weight:700;color:var(--text-muted)}.series-item.current .series-num,.series-item.completed .series-num{background:var(--primary);color:#fff}.series-item-title{flex:1;font-size:14px;color:var(--text-secondary)}.series-item.current .series-item-title{color:var(--primary);font-weight:600}.course-progress{margin-bottom:24px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px}.progress-label{font-size:14px;font-weight:600;color:var(--text-primary)}.progress-value{font-size:14px;font-weight:700;color:var(--primary)}.progress-bar{height:10px;background:var(--bg-tertiary);border-radius:5px;overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:5px;transition:width .5s ease}.video-player-container{position:relative;background:#000;border-radius:16px;overflow:hidden}.video-player-container video,.video-player-container iframe{width:100%;aspect-ratio:16/9;display:block}.video-chapters{position:absolute;bottom:60px;left:0;right:0;display:flex;gap:4px;padding:0 20px}.video-chapter{flex:1;height:4px;background:#ffffff4d;border-radius:2px;cursor:pointer;transition:all .3s ease}.video-chapter.watched{background:var(--primary)}.video-chapter:hover{height:8px;margin-top:-2px}.course-reviews{margin-top:40px}.reviews-summary{display:flex;align-items:center;gap:40px;padding:32px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;margin-bottom:32px}.rating-big{text-align:center}.rating-value{font-size:56px;font-weight:800;color:var(--text-primary);line-height:1}.rating-stars{display:flex;gap:4px;color:#fbbf24;font-size:20px;margin:8px 0}.rating-count{font-size:14px;color:var(--text-muted)}.rating-bars{flex:1}.rating-bar-item{display:flex;align-items:center;gap:12px;margin-bottom:8px}.rating-bar-label{display:flex;align-items:center;gap:4px;width:60px;font-size:14px;color:var(--text-secondary)}.rating-bar-label i{color:#fbbf24}.rating-bar-track{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.rating-bar-fill{height:100%;background:#fbbf24;border-radius:4px}.rating-bar-percent{width:40px;font-size:13px;color:var(--text-muted);text-align:right}.review-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:16px}.review-header{display:flex;justify-content:space-between;margin-bottom:16px}.review-user{display:flex;align-items:center;gap:12px}.review-avatar{width:48px;height:48px;border-radius:12px;overflow:hidden}.review-avatar img{width:100%;height:100%;object-fit:cover}.review-name{font-size:16px;font-weight:600;color:var(--text-primary)}.review-date{font-size:13px;color:var(--text-muted)}.review-rating{display:flex;gap:2px;color:#fbbf24}.review-content{font-size:15px;color:var(--text-secondary);line-height:1.8}.newsletter-section{padding:80px 0;background:var(--gradient-primary);position:relative;overflow:hidden}.newsletter-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></svg>') repeat;background-size:30px 30px}.newsletter-content{position:relative;text-align:center;max-width:600px;margin:0 auto}.newsletter-content h2{font-size:36px;font-weight:800;color:#fff;margin-bottom:12px}.newsletter-content p{font-size:16px;color:#ffffffe6;margin-bottom:32px}.newsletter-form{display:flex;gap:12px;max-width:500px;margin:0 auto}.newsletter-form input{flex:1;padding:16px 24px;background:#fffffff2;border:none;border-radius:12px;font-size:15px;color:var(--text-primary)}.newsletter-form input::placeholder{color:var(--text-muted)}.newsletter-form button{padding:16px 32px;background:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;color:var(--primary);cursor:pointer;transition:all .3s ease;white-space:nowrap}.newsletter-form button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0003}.testimonials-carousel{position:relative;max-width:800px;margin:0 auto}.testimonial-slide{display:none;animation:fadeIn .5s ease}.testimonial-slide.active{display:block}.carousel-nav{display:flex;justify-content:center;gap:8px;margin-top:32px}.carousel-dot{width:12px;height:12px;background:var(--bg-tertiary);border:none;border-radius:50%;cursor:pointer;transition:all .3s ease}.carousel-dot.active{background:var(--primary);width:32px;border-radius:6px}.carousel-arrows{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 -60px;pointer-events:none}.carousel-arrow{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;pointer-events:all;transition:all .3s ease}.carousel-arrow:hover{background:var(--primary);border-color:var(--primary);color:#fff}.github-activity{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px}.github-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.github-header i{font-size:24px;color:var(--text-primary)}.github-header h4{font-size:18px;font-weight:700;color:var(--text-primary)}.github-commits{display:flex;flex-direction:column;gap:12px}.commit-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:10px}.commit-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--success-light);border-radius:8px;color:var(--success);font-size:14px}.commit-info{flex:1}.commit-message{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.commit-meta{font-size:12px;color:var(--text-muted)}.commit-meta a{color:var(--primary)}.contact-form .form-group{margin-bottom:20px;position:relative}.contact-form label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.contact-form .form-group i{position:absolute;left:16px;top:46px;color:var(--text-muted)}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:14px 16px 14px 44px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;font-size:15px;color:var(--text-primary);transition:all .3s ease;cursor:pointer}.contact-form textarea{padding-left:16px;min-height:150px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.1)}.inquiry-types{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.inquiry-type{padding:16px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:center}.inquiry-type:hover{border-color:var(--primary)}.inquiry-type.selected{border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.inquiry-type input{display:none}.inquiry-type i{font-size:24px;color:var(--primary);margin-bottom:8px;display:block}.inquiry-type span{font-size:14px;font-weight:600;color:var(--text-primary)}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 20px}.error-content{max-width:600px}.error-code{font-size:180px;font-weight:900;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:20px}.error-title{font-size:32px;font-weight:800;color:var(--text-primary);margin-bottom:16px}.error-desc{font-size:16px;color:var(--text-secondary);margin-bottom:32px}.error-actions{display:flex;justify-content:center;gap:16px}.preloader{position:fixed;inset:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:100000;transition:opacity .5s ease,visibility .5s ease}.preloader.hidden{opacity:0;visibility:hidden}.preloader-inner{text-align:center}.preloader-logo{font-size:48px;font-weight:800;color:var(--text-primary);margin-bottom:24px}.preloader-logo .logo-accent{color:var(--primary)}.preloader-bar{width:200px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.preloader-bar:after{content:"";display:block;width:40%;height:100%;background:var(--gradient-primary);border-radius:2px;animation:preloaderBar 1.5s ease-in-out infinite}@keyframes preloaderBar{0%{transform:translate(-100%)}to{transform:translate(350%)}}.scroll-progress{position:fixed;top:0;left:0;width:var(--scroll-progress);height:3px;background:var(--gradient-primary);z-index:10001;transition:width .1s ease}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;z-index:1000;box-shadow:0 10px 30px rgba(var(--primary-rgb),.3)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(var(--primary-rgb),.4)}.cookie-consent{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border-color);padding:20px;z-index:10000;transform:translateY(100%);transition:transform .4s ease;box-shadow:0 -10px 40px #0000001a}.cookie-consent.visible{transform:translateY(0)}.cookie-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.cookie-text{flex:1}.cookie-text h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.cookie-text p{font-size:14px;color:var(--text-secondary)}.cookie-text a{color:var(--primary);text-decoration:underline}.cookie-actions{display:flex;gap:12px}.page-transition{position:fixed;inset:0;background:var(--bg-primary);z-index:100001;transform:translateY(100%);transition:transform .5s cubic-bezier(.7,0,.3,1)}.page-transition.active{transform:translateY(0)}.lazy-image{opacity:0;transition:opacity .5s ease}.lazy-image.loaded{opacity:1}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text.short{width:60%}.skeleton-title{height:24px;margin-bottom:12px}.skeleton-image{height:200px}.skeleton-avatar{width:48px;height:48px;border-radius:50%}@media(max-width:1200px){.modal-content,.system-modal-content{grid-template-columns:1fr}}@media(max-width:992px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-text{order:2}.hero-visual{order:1}.hero-image{width:280px;height:280px;margin:0 auto}.floating-stat,.floating-tech{display:none}.skills-tabs{overflow-x:auto;justify-content:flex-start;padding-bottom:10px}.portfolio-grid,.systems-grid{grid-template-columns:1fr}}@media(max-width:768px){.section-header .section-title{font-size:28px}.hero-title{font-size:36px}.service-card{padding:28px 24px}.newsletter-form{flex-direction:column}.cookie-content{flex-direction:column;text-align:center}.modal-info{padding:24px}.modal-actions{flex-direction:column}.back-to-top{bottom:20px;right:20px;width:44px;height:44px}}@media(max-width:480px){.portfolio-filter{flex-direction:column;align-items:stretch}.filter-btn{text-align:center}.inquiry-types{grid-template-columns:1fr}.error-code{font-size:120px}}.hero{min-height:100vh;display:flex;align-items:center;padding:140px 0 100px;background:var(--gradient-hero);position:relative;overflow:hidden}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}@media(max-width:992px){.hero-content{grid-template-columns:1fr;text-align:center}}.hero-text{position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:#ffffff1a;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:50px;margin-bottom:24px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-badge .badge-dot{width:10px;height:10px;background:#10b981;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:scale(1);box-shadow:0 0 #10b98166}50%{transform:scale(1.2);box-shadow:0 0 0 8px #10b98100}}.hero-badge span{font-size:14px;font-weight:500;color:var(--text-primary)}.hero-title{font-size:clamp(40px,5vw,64px);font-weight:800;line-height:1.1;margin-bottom:16px}.title-line{display:block}.title-name{background:linear-gradient(135deg,var(--primary),#a855f7,#ec4899);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 4s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-subtitle{font-size:clamp(18px,2vw,22px);font-weight:500;color:var(--text-secondary);margin-bottom:24px;display:flex;align-items:center;gap:8px}@media(max-width:992px){.hero-subtitle{justify-content:center}}.typing-text{color:var(--primary);font-weight:600}.typing-cursor{display:inline-block;width:3px;height:1.2em;background:var(--primary);margin-left:4px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-desc{font-size:17px;line-height:1.8;color:var(--text-secondary);margin-bottom:32px;max-width:500px}@media(max-width:992px){.hero-desc{margin:0 auto 32px}}.hero-actions{display:flex;gap:16px;margin-bottom:40px}@media(max-width:992px){.hero-actions{justify-content:center}}@media(max-width:480px){.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}}.hero-social{display:flex;gap:12px}@media(max-width:992px){.hero-social{justify-content:center}}.hero-social .social-link{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:14px;color:var(--text-primary);font-size:20px;transition:all .3s ease;position:relative;overflow:hidden}.hero-social .social-link:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--primary),#a855f7);opacity:0;transition:opacity .3s ease}.hero-social .social-link i{position:relative;z-index:1}.hero-social .social-link:hover{transform:translateY(-5px) rotate(5deg);box-shadow:0 15px 35px #6366f14d}.hero-social .social-link:hover:before{opacity:1}.hero-social .social-link:hover i{color:#fff}.hero-image{position:relative;display:flex;justify-content:center;align-items:center}@media(max-width:992px){.hero-image{order:-1}}.hero-image-wrapper{position:relative;animation:float-slow 6s ease-in-out infinite}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-image-wrapper img{width:400px;height:400px;object-fit:cover;border-radius:50%;position:relative;z-index:2;border:6px solid transparent;background:linear-gradient(var(--bg-primary),var(--bg-primary)) padding-box,linear-gradient(135deg,var(--primary),#a855f7,#ec4899) border-box;background-size:100%,300% 300%;animation:border-gradient 4s ease infinite}@keyframes border-gradient{0%,to{background-position:100% 0%,0% 50%}50%{background-position:100% 0%,100% 50%}}@media(max-width:992px){.hero-image-wrapper img{width:300px;height:300px}}@media(max-width:576px){.hero-image-wrapper img{width:250px;height:250px}}.hero-ring{position:absolute;border-radius:50%;pointer-events:none}.hero-ring-1{width:450px;height:450px;border:2px dashed rgba(99,102,241,.3);top:50%;left:50%;transform:translate(-50%,-50%);animation:spin 25s linear infinite}.hero-ring-2{width:520px;height:520px;border:2px dotted rgba(168,85,247,.2);top:50%;left:50%;transform:translate(-50%,-50%);animation:spin 35s linear infinite reverse}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.hero-ring-dot{position:absolute;width:14px;height:14px;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:50%;box-shadow:0 0 20px #6366f180}@media(max-width:992px){.hero-ring-1,.hero-ring-2{display:none}}.hero-stats{display:flex;gap:24px;margin-top:60px}@media(max-width:992px){.hero-stats{justify-content:center;flex-wrap:wrap}}.stat-item{display:flex;align-items:center;gap:16px;padding:20px 28px;background:#ffffff14;backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.12);border-radius:20px;transition:all .4s ease}.stat-item:nth-child(1){animation:float 5s ease-in-out infinite}.stat-item:nth-child(2){animation:float 5s ease-in-out infinite .5s}.stat-item:nth-child(3){animation:float 5s ease-in-out infinite 1s}.stat-item:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 20px 50px #6366f133;background:#ffffff1f}.stat-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:14px;font-size:22px;color:#fff}.stat-number{font-size:26px;font-weight:800;background:linear-gradient(135deg,var(--primary),#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:13px;color:var(--text-muted);font-weight:500}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-muted);font-size:13px;animation:bounce-soft 2s infinite}@keyframes bounce-soft{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-12px)}}.scroll-indicator .mouse{width:26px;height:42px;border:2px solid var(--text-muted);border-radius:13px;position:relative}.scroll-indicator .wheel{width:4px;height:8px;background:var(--primary);border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll-wheel 1.5s infinite}@keyframes scroll-wheel{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}@media(max-width:768px){.scroll-indicator{display:none}}.floating-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}.floating-shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.4}.floating-shape:nth-child(1){width:300px;height:300px;background:linear-gradient(135deg,var(--primary),#a855f7);top:10%;left:10%;animation:float-shape 10s ease-in-out infinite}.floating-shape:nth-child(2){width:200px;height:200px;background:linear-gradient(135deg,#ec4899,#f43f5e);top:60%;right:15%;animation:float-shape 12s ease-in-out infinite reverse}.floating-shape:nth-child(3){width:150px;height:150px;background:linear-gradient(135deg,#06b6d4,#0891b2);bottom:20%;left:20%;animation:float-shape 14s ease-in-out infinite}@keyframes float-shape{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-30px) rotate(180deg) scale(1.1)}}@media(max-width:768px){.floating-shapes{display:none}}.tech-icons{position:absolute;inset:0;pointer-events:none}.tech-icon{position:absolute;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;font-size:24px;color:var(--text-primary)}.tech-icon:nth-child(1){top:15%;left:5%;animation:tech-float 7s ease-in-out infinite}.tech-icon:nth-child(2){top:25%;right:8%;animation:tech-float 9s ease-in-out infinite reverse}.tech-icon:nth-child(3){bottom:30%;left:8%;animation:tech-float 8s ease-in-out infinite}.tech-icon:nth-child(4){bottom:20%;right:5%;animation:tech-float 11s ease-in-out infinite reverse}.tech-icon:nth-child(5){top:50%;left:2%;animation:tech-float 10s ease-in-out infinite}@keyframes tech-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(10deg)}}@media(max-width:992px){.tech-icons{display:none}}.page-header{padding:140px 0 60px;background:var(--gradient-hero);text-align:center}.breadcrumb{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;font-size:14px;color:var(--text-muted)}.breadcrumb a{color:var(--text-secondary);transition:color .2s ease}.breadcrumb a:hover{color:var(--primary)}.breadcrumb i{font-size:10px;color:var(--text-muted)}.page-title{font-size:clamp(36px,5vw,56px);font-weight:800;color:var(--text-primary);margin-bottom:16px}.page-desc{font-size:18px;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.7}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}@media(max-width:992px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.portfolio-grid{grid-template-columns:1fr}}.portfolio-item{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;transition:all .4s ease}.portfolio-item:hover{transform:translateY(-15px);box-shadow:0 35px 70px #6366f133}.portfolio-image{position:relative;height:280px;overflow:hidden}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio-item:hover .portfolio-image img{transform:scale(1.1)}.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(99,102,241,.95) 0%,rgba(168,85,247,.85) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:30px;opacity:0;transition:all .4s ease}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-category{font-size:13px;font-weight:600;color:#fffc;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.portfolio-title{font-size:22px;font-weight:700;color:#fff;margin-bottom:20px}.portfolio-actions{display:flex;gap:12px}.portfolio-action{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#fff3;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;font-size:18px;cursor:pointer;transition:all .3s ease;transform:translateY(30px);opacity:0}.portfolio-item:hover .portfolio-action{transform:translateY(0);opacity:1}.portfolio-item:hover .portfolio-action:nth-child(1){transition-delay:.1s}.portfolio-item:hover .portfolio-action:nth-child(2){transition-delay:.2s}.portfolio-item:hover .portfolio-action:nth-child(3){transition-delay:.3s}.portfolio-action:hover{background:#fff;color:var(--primary);transform:scale(1.15)}.portfolio-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.portfolio-image-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(99,102,241,.2) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(168,85,247,.15) 0%,transparent 40%)}.portfolio-image-placeholder i{font-size:50px;color:#ffffffb3;position:relative;z-index:1}.portfolio-item:nth-child(1) .portfolio-image-placeholder{background:linear-gradient(135deg,#1e1b4b,#312e81)}.portfolio-item:nth-child(2) .portfolio-image-placeholder{background:linear-gradient(135deg,#0c4a6e,#075985)}.portfolio-item:nth-child(3) .portfolio-image-placeholder{background:linear-gradient(135deg,#134e4a,#115e59)}.portfolio-item:nth-child(4) .portfolio-image-placeholder{background:linear-gradient(135deg,#4c1d95,#5b21b6)}.portfolio-item:nth-child(5) .portfolio-image-placeholder{background:linear-gradient(135deg,#7c2d12,#9a3412)}.portfolio-item:nth-child(6) .portfolio-image-placeholder{background:linear-gradient(135deg,#1e3a8a,#1d4ed8)}.portfolio-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:50px}.filter-btn{padding:12px 28px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:50px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.filter-btn.active{background:linear-gradient(135deg,var(--primary),#a855f7);border-color:transparent;color:#fff;box-shadow:0 8px 25px #6366f159}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;font-weight:500;border-radius:8px;transition:all .2s ease}.tech-tag:hover{background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff}.portfolio-detail-header{padding:140px 0 60px;background:var(--gradient-hero)}.portfolio-detail-content{display:grid;grid-template-columns:2fr 1fr;gap:50px;padding:60px 0}@media(max-width:992px){.portfolio-detail-content{grid-template-columns:1fr}}.portfolio-detail-gallery{display:grid;gap:20px}.portfolio-main-image{border-radius:20px;overflow:hidden;box-shadow:0 20px 50px #00000026}.portfolio-main-image img{width:100%;height:auto}.portfolio-thumbnails{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.portfolio-thumb{border-radius:12px;overflow:hidden;cursor:pointer;opacity:.6;transition:all .3s ease;border:3px solid transparent}.portfolio-thumb:hover,.portfolio-thumb.active{opacity:1;border-color:var(--primary)}.portfolio-thumb img{width:100%;height:80px;object-fit:cover}.portfolio-detail-info{position:sticky;top:100px;height:fit-content}.portfolio-detail-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:32px;margin-bottom:24px}.portfolio-detail-card h3{font-size:24px;font-weight:800;color:var(--text-primary);margin-bottom:16px}.portfolio-detail-card p{font-size:16px;line-height:1.8;color:var(--text-secondary);margin-bottom:24px}.portfolio-meta-list{margin-bottom:24px}.portfolio-meta-item{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border-color);font-size:15px}.portfolio-meta-item:last-child{border-bottom:none}.portfolio-meta-item span:first-child{color:var(--text-muted)}.portfolio-meta-item span:last-child{color:var(--text-primary);font-weight:600}.portfolio-detail-actions{display:flex;gap:12px}.portfolio-detail-actions .btn{flex:1}.systems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}@media(max-width:992px){.systems-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.systems-grid{grid-template-columns:1fr}}.system-card{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;overflow:hidden;transition:all .4s ease;cursor:pointer}.system-card:hover{transform:translateY(-15px);box-shadow:0 35px 70px #6366f133}.system-image{position:relative;height:220px;overflow:hidden}.system-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.system-card:hover .system-image img{transform:scale(1.1)}.system-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#334155,#475569);position:relative}.system-image-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 45%,rgba(99,102,241,.1) 50%,transparent 55%),linear-gradient(-45deg,transparent 45%,rgba(168,85,247,.1) 50%,transparent 55%);background-size:30px 30px}.system-image-placeholder i{font-size:60px;color:#fffc;position:relative;z-index:1}.system-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(99,102,241,.95) 30%,transparent 95%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:all .4s ease}.system-card:hover .system-overlay{opacity:1}.system-overlay-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:12px;margin-bottom:12px;font-size:24px;color:#fff;transition:all .3s ease}.system-card:hover .system-overlay-icon{transform:scale(1.1) rotate(5deg)}.system-overlay-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:8px}.system-overlay-desc{font-size:14px;color:#ffffffd9;line-height:1.6}.system-content{padding:24px}.system-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:16px;margin-bottom:18px;font-size:28px;color:#fff;transition:all .3s ease}.system-card:hover .system-icon{transform:scale(1.1) rotate(-5deg)}.system-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.system-desc{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:18px}.system-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.system-feature{padding:6px 14px;background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;font-weight:500;border-radius:50px;transition:all .2s ease}.system-feature:hover{background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff}.system-footer{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--border-color)}.system-price{font-size:22px;font-weight:800;color:var(--primary)}.system-price span{font-size:13px;font-weight:500;color:var(--text-muted)}.system-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}.system-modal.active{display:flex}.system-modal-container{position:relative;width:100%;max-width:900px;max-height:90vh;background:var(--bg-card);border-radius:24px;overflow:hidden;animation:modalSlideIn .4s ease}.system-modal-header{position:relative;padding:30px;background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff}.system-modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;transition:all .3s ease}.system-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.system-modal-icon{width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:18px;margin-bottom:16px;font-size:32px}.system-modal-title{font-size:28px;font-weight:800;margin-bottom:8px}.system-modal-subtitle{font-size:16px;opacity:.9}.system-modal-gallery{padding:20px 30px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.gallery-main{border-radius:16px;overflow:hidden;margin-bottom:15px}.gallery-main img{width:100%;height:300px;object-fit:cover}.gallery-thumbs{display:flex;gap:12px}.gallery-thumb{width:80px;height:60px;border-radius:10px;overflow:hidden;cursor:pointer;opacity:.6;border:2px solid transparent;transition:all .3s ease}.gallery-thumb:hover,.gallery-thumb.active{opacity:1;border-color:var(--primary)}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.system-modal-body{padding:30px;max-height:300px;overflow-y:auto}.system-modal-section{margin-bottom:28px}.system-modal-section:last-child{margin-bottom:0}.system-modal-section h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:14px;display:flex;align-items:center;gap:10px}.system-modal-section h4 i{color:var(--primary)}.system-modal-section p{font-size:15px;line-height:1.8;color:var(--text-secondary)}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:576px){.features-grid{grid-template-columns:1fr}}.feature-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-secondary);border-radius:12px;font-size:14px;color:var(--text-secondary)}.feature-item i{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:6px;font-size:12px;color:#fff}.system-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.system-modal-price{font-size:28px;font-weight:800;color:var(--primary)}.system-modal-price span{font-size:14px;font-weight:500;color:var(--text-muted)}.system-modal-actions{display:flex;gap:12px}.system-detail-header{padding:140px 0 60px;background:var(--gradient-hero)}.system-detail-layout{display:grid;grid-template-columns:1fr 350px;gap:50px;padding:60px 0}@media(max-width:1024px){.system-detail-layout{grid-template-columns:1fr}}.system-detail-main{min-width:0}.system-detail-sidebar{position:sticky;top:100px;height:fit-content}.system-detail-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;margin-bottom:24px}.system-detail-card:last-child{margin-bottom:0}.system-detail-card h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:12px}.system-detail-card h3 i{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:10px;font-size:18px;color:#fff}.pricing-card{text-align:center}.pricing-amount{font-size:48px;font-weight:800;color:var(--primary);margin-bottom:8px}.pricing-amount span{font-size:18px;font-weight:500;color:var(--text-muted)}.pricing-desc{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.pricing-features{text-align:left;margin-bottom:24px}.pricing-features li{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:15px;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.pricing-features li:last-child{border-bottom:none}.pricing-features li i{color:#10b981;font-size:16px}.quick-actions{display:flex;flex-direction:column;gap:12px}.quick-action{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;cursor:pointer;transition:all .3s ease}.quick-action:hover{background:var(--bg-tertiary);border-color:var(--primary);transform:translate(5px)}[dir=rtl] .quick-action:hover{transform:translate(-5px)}.quick-action i{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:12px;font-size:18px;color:#fff}.quick-action span{font-size:15px;font-weight:600;color:var(--text-primary)}.article-header{padding:140px 0 60px;background:var(--gradient-hero)}.article-header-content{max-width:800px}.article-category{display:inline-block;padding:6px 16px;background:var(--gradient-primary);color:#fff;font-size:13px;font-weight:600;border-radius:var(--radius-full);margin-bottom:20px}.article-title{font-size:clamp(32px,5vw,48px);font-weight:800;color:var(--text-primary);line-height:1.2;margin-bottom:24px}.article-meta{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px}.article-meta-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.article-meta-item i{color:var(--primary)}.article-author{display:flex;align-items:center;gap:16px}.article-author img{width:50px;height:50px;border-radius:50%;object-fit:cover}.article-author-info span{display:block}.article-author-info .author-name{font-weight:600;color:var(--text-primary)}.article-author-info .author-title{font-size:13px;color:var(--text-muted)}.article-layout{display:grid;grid-template-columns:1fr 320px;gap:50px;padding:60px 0}@media(max-width:1024px){.article-layout{grid-template-columns:1fr}}.article-content{max-width:100%}.article-content h2{font-size:28px;font-weight:700;color:var(--text-primary);margin:40px 0 20px;padding-top:20px;scroll-margin-top:100px}.article-content h3{font-size:22px;font-weight:600;color:var(--text-primary);margin:32px 0 16px}.article-content p{font-size:17px;line-height:1.8;color:var(--text-secondary);margin-bottom:20px}.article-content ul,.article-content ol{margin:20px 0;padding-left:24px}.article-content li{font-size:17px;line-height:1.8;color:var(--text-secondary);margin-bottom:12px}.article-content a{color:var(--primary);text-decoration:underline}.article-content a:hover{text-decoration:none}.article-content blockquote{margin:30px 0;padding:24px 30px;background:rgba(var(--primary-rgb),.05);border-left:4px solid var(--primary);border-radius:0 12px 12px 0}[dir=rtl] .article-content blockquote{border-left:none;border-right:4px solid var(--primary);border-radius:12px 0 0 12px}.article-content blockquote p{font-style:italic;margin:0}.article-content img{width:100%;border-radius:12px;margin:24px 0}.article-content .info-box{background:linear-gradient(135deg,#6366f114,#a855f714);border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:24px;margin:28px 0}.article-content .info-box h4{font-size:16px;font-weight:700;color:var(--primary);margin-bottom:12px;display:flex;align-items:center;gap:10px}.article-content .info-box h4 i{font-size:20px;color:#f59e0b}.article-content .info-box p{margin:0;font-size:15px}.article-sidebar{position:sticky;top:100px;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto;display:flex;flex-direction:column;gap:24px}.article-sidebar::-webkit-scrollbar{width:4px}.article-sidebar::-webkit-scrollbar-track{background:transparent}.article-sidebar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}@media(max-width:1024px){.article-sidebar{position:static;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.toc-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;transition:all .3s ease}.toc-card:hover{box-shadow:0 10px 40px #6366f11a}.toc-card h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:10px}.toc-card h4 i{color:var(--primary)}.toc-list{display:flex;flex-direction:column;gap:6px}.toc-link{font-size:14px;color:var(--text-secondary);padding:10px 14px;border-radius:10px;transition:all .2s ease;display:flex;align-items:center;gap:10px}.toc-link:before{content:"";width:6px;height:6px;background:var(--border-color);border-radius:50%;transition:all .2s ease}.toc-link:hover,.toc-link.active{background:linear-gradient(135deg,#6366f11a,#a855f71a);color:var(--primary)}.toc-link:hover:before,.toc-link.active:before{background:var(--primary);transform:scale(1.3)}.author-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;text-align:center;transition:all .3s ease}.author-card:hover{box-shadow:0 10px 40px #6366f11a}.author-card img{width:90px;height:90px;border-radius:50%;margin:0 auto 16px;object-fit:cover;border:4px solid var(--bg-tertiary);transition:all .3s ease}.author-card:hover img{border-color:var(--primary);transform:scale(1.05)}.author-card h4{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.author-card p{font-size:14px;color:var(--text-muted);margin-bottom:16px;line-height:1.6}.author-card .author-social{display:flex;justify-content:center;gap:10px}.author-card .social-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);transition:all .3s ease}.author-card .social-link:hover{background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;transform:translateY(-3px)}.top-articles-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;transition:all .3s ease}.top-articles-card:hover{box-shadow:0 10px 40px #6366f11a}.top-articles-card h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:10px}.top-articles-card h4 i{color:#f59e0b}.top-article-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border-color);transition:all .2s ease}.top-article-item:last-child{border-bottom:none;padding-bottom:0}.top-article-item:first-child{padding-top:0}.top-article-item:hover{transform:translate(5px)}[dir=rtl] .top-article-item:hover{transform:translate(-5px)}.top-article-rank{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;font-size:14px;font-weight:700;border-radius:10px;flex-shrink:0}.top-article-rank.gold{background:linear-gradient(135deg,#f59e0b,#d97706)}.top-article-rank.silver{background:linear-gradient(135deg,#94a3b8,#64748b)}.top-article-rank.bronze{background:linear-gradient(135deg,#f97316,#ea580c)}.top-article-info{flex:1;min-width:0}.top-article-info h5{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s ease}.top-article-item:hover .top-article-info h5{color:var(--primary)}.top-article-info span{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.top-article-info span i{font-size:11px}.article-footer{margin-top:60px;padding-top:40px;border-top:1px solid var(--border-color)}.article-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.article-tags a{padding:10px 18px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:var(--radius-full);text-decoration:none;transition:all .3s ease}.article-tags a:hover{background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;transform:translateY(-2px)}.article-share{display:flex;align-items:center;gap:16px}.article-share span{font-size:15px;font-weight:600;color:var(--text-primary)}.article-share .social-link{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:12px;color:var(--text-secondary);transition:all .3s ease}.article-share .social-link:hover{background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;transform:translateY(-4px)}.related-articles{padding:80px 0;background:var(--bg-secondary)}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.blog-grid .blog-card.featured{grid-column:1;grid-row:3 / 1}@media(max-width:992px){.blog-grid{grid-template-columns:1fr}.blog-grid .blog-card.featured{grid-column:auto;grid-row:auto}}.blog-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;transition:all .4s ease}.blog-card:hover{transform:translateY(-12px);box-shadow:0 30px 60px #6366f126}.blog-card.featured{display:flex;flex-direction:column}.blog-image{display:block;position:relative;height:200px;overflow:hidden;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.blog-card.featured .blog-image{height:100%;min-height:280px;flex:1}.blog-image img,.blog-image svg{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.blog-card:hover .blog-image img,.blog-card:hover .blog-image svg{transform:scale(1.1)}.blog-category{position:absolute;top:16px;left:16px;padding:8px 16px;background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;font-size:12px;font-weight:600;border-radius:50px;box-shadow:0 4px 15px #6366f166}[dir=rtl] .blog-category{left:auto;right:16px}.blog-content{padding:24px}.blog-meta{display:flex;gap:16px;margin-bottom:14px;font-size:13px;color:var(--text-muted)}.blog-meta span{display:flex;align-items:center;gap:6px}.blog-meta i{color:var(--primary)}.blog-content h3{font-size:20px;font-weight:700;margin-bottom:12px;line-height:1.4}.blog-content h3 a{color:var(--text-primary);transition:color .2s ease}.blog-content h3 a:hover{color:var(--primary)}.blog-content p{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}.blog-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-size:14px;font-weight:600;transition:all .2s ease}.blog-link i{transition:transform .2s ease}.blog-link:hover{gap:12px}.blog-link:hover i{transform:translate(4px)}[dir=rtl] .blog-link:hover i{transform:translate(-4px)}.article-card-horizontal{display:grid;grid-template-columns:280px 1fr;gap:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;transition:all .4s ease}.article-card-horizontal:hover{transform:translateY(-8px);box-shadow:0 25px 50px #6366f11f}.article-card-horizontal .blog-image{position:relative;height:100%;min-height:200px;overflow:hidden}.article-card-horizontal .blog-image img,.article-card-horizontal .blog-image svg{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.article-card-horizontal:hover .blog-image img,.article-card-horizontal:hover .blog-image svg{transform:scale(1.1)}.article-card-horizontal .blog-content{padding:28px;display:flex;flex-direction:column;justify-content:center}@media(max-width:768px){.article-card-horizontal{grid-template-columns:1fr}.article-card-horizontal .blog-image{height:200px}}.comments-section{margin-top:60px;padding-top:40px;border-top:1px solid var(--border-color)}.comments-header{margin-bottom:32px}.comments-header h3{font-size:24px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px}.comments-header h3 i{color:var(--primary)}.comments-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;font-size:14px;font-weight:600;border-radius:50px}.comment-form-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;margin-bottom:40px}.comment-form-wrapper h4{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:20px}.comment-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:576px){.comment-form .form-row{grid-template-columns:1fr}}.comment-form .form-group{margin-bottom:16px}.comment-form label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.comment-form input,.comment-form textarea{width:100%;padding:14px 18px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;font-size:15px;color:var(--text-primary);transition:all .3s ease;min-height:140px;resize:vertical}.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6366f11a}.comment-form-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.comment-form-actions label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary);cursor:pointer}.comment-form-actions input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.comments-list{display:flex;flex-direction:column;gap:24px}.comment-item{display:flex;gap:16px}.comment-avatar{flex-shrink:0}.comment-avatar img{width:50px;height:50px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;font-size:18px;font-weight:700;border-radius:50%}.comment-body{flex:1}.comment-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.comment-author{font-weight:700;color:var(--text-primary)}.comment-date{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.comment-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:18px;margin-bottom:12px}.comment-content p{margin:0;font-size:15px;line-height:1.7;color:var(--text-secondary)}.comment-actions{display:flex;gap:16px}.comment-action{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:none;font-size:13px;color:var(--text-muted);cursor:pointer;border-radius:8px;transition:all .2s ease}.comment-action:hover{background:var(--bg-tertiary);color:var(--primary)}.comment-action.liked,.comment-action.liked i{color:#ef4444}.reply-form{display:none;margin-top:16px;padding:16px;background:var(--bg-secondary);border-radius:12px}.reply-form.active{display:block}.reply-form textarea{width:100%;padding:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);min-height:80px;resize:vertical;margin-bottom:12px}.reply-form-actions{display:flex;gap:10px;justify-content:flex-end}.comment-replies{margin-top:20px;padding-left:40px;border-left:2px solid var(--border-color)}[dir=rtl] .comment-replies{padding-left:0;padding-right:40px;border-left:none;border-right:2px solid var(--border-color)}.comment-replies .comment-item{margin-top:16px}.comment-replies .comment-avatar img,.comment-replies .avatar-placeholder{width:40px;height:40px;font-size:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:50px}.pagination a,.pagination span{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;font-size:15px;font-weight:600;color:var(--text-secondary);transition:all .3s ease}.pagination a:hover{background:var(--bg-tertiary);border-color:var(--primary);color:var(--primary)}.pagination span.active{background:linear-gradient(135deg,var(--primary),#a855f7);border-color:transparent;color:#fff}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}@media(max-width:992px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.courses-grid{grid-template-columns:1fr}}.course-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;overflow:hidden;transition:all .4s ease;position:relative}.course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),#a855f7,#ec4899);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.course-card:hover:before{transform:scaleX(1)}.course-card:hover{transform:translateY(-12px);box-shadow:0 30px 60px #6366f126}.course-image{position:relative;height:180px;overflow:hidden}.course-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.course-card:hover .course-image img{transform:scale(1.1)}.course-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.course-image-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.15) 0%,transparent 50%)}.course-image-placeholder i,.course-image-placeholder svg{font-size:50px;color:#fffffff2;position:relative;z-index:1;text-shadow:0 8px 20px rgba(0,0,0,.2)}.course-card:nth-child(1) .course-image-placeholder,.course-card:nth-child(1) .course-image{background:linear-gradient(135deg,#ef4444,#f97316)}.course-card:nth-child(2) .course-image-placeholder,.course-card:nth-child(2) .course-image{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.course-card:nth-child(3) .course-image-placeholder,.course-card:nth-child(3) .course-image{background:linear-gradient(135deg,#0ea5e9,#06b6d4)}.course-badge{position:absolute;top:16px;left:16px;padding:8px 16px;border-radius:50px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 4px 15px #0003}[dir=rtl] .course-badge{left:auto;right:16px}.course-badge.video{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.course-badge.written{background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff}.course-price{position:absolute;top:16px;right:16px;padding:8px 18px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:14px;font-weight:700;border-radius:50px;box-shadow:0 4px 15px #10b98166}[dir=rtl] .course-price{right:auto;left:16px}.course-content{padding:24px}.course-meta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px;font-size:13px;color:var(--text-muted)}.course-meta span{display:flex;align-items:center;gap:6px}.course-meta i{color:var(--primary)}.course-content h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:12px;line-height:1.3}.course-content p{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px}.course-footer{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--border-color)}.course-stats{display:flex;gap:16px;font-size:14px;color:var(--text-muted)}.course-stats span{display:flex;align-items:center;gap:6px}.course-stats i{color:#f59e0b}.course-detail-header{padding:140px 0 60px;background:var(--gradient-hero)}.course-detail-layout{display:grid;grid-template-columns:1fr 380px;gap:50px;padding:60px 0}@media(max-width:1024px){.course-detail-layout{grid-template-columns:1fr}}.course-video-wrapper{position:relative;border-radius:20px;overflow:hidden;background:#000;margin-bottom:30px}.video-placeholder{position:relative;width:100%;padding-top:56.25%;background:linear-gradient(135deg,#1e1e2e,#2d2d3f)}.video-placeholder-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.play-button{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:50%;font-size:28px;margin-bottom:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 40px #6366f166}.play-button:hover{transform:scale(1.1);box-shadow:0 15px 50px #6366f180}.course-info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;margin-bottom:30px}.course-info-card h2{font-size:28px;font-weight:800;color:var(--text-primary);margin-bottom:16px}.course-info-card p{font-size:16px;line-height:1.8;color:var(--text-secondary);margin-bottom:24px}.course-info-meta{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}.course-info-meta span{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);padding:10px 18px;background:var(--bg-secondary);border-radius:50px}.course-info-meta i{color:var(--primary)}.course-curriculum{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;overflow:hidden}.curriculum-header{padding:24px;border-bottom:1px solid var(--border-color)}.curriculum-header h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.curriculum-header p{font-size:14px;color:var(--text-muted)}.curriculum-section{border-bottom:1px solid var(--border-color)}.curriculum-section:last-child{border-bottom:none}.section-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer;transition:background .2s ease}.section-header:hover{background:var(--bg-secondary)}.section-title{display:flex;align-items:center;gap:14px}.section-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:10px;font-size:14px;font-weight:700;color:#fff}.section-title h4{font-size:16px;font-weight:600;color:var(--text-primary)}.section-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--text-muted)}.section-toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;transition:all .3s ease}.section-header.active .section-toggle{background:var(--primary);color:#fff;transform:rotate(180deg)}.lesson-list{display:none;padding:0 24px 20px}.lesson-list.active{display:block}.lesson-item{display:flex;align-items:center;gap:14px;padding:14px;margin-bottom:8px;background:var(--bg-secondary);border-radius:12px;cursor:pointer;transition:all .2s ease}.lesson-item:last-child{margin-bottom:0}.lesson-item:hover{background:var(--bg-tertiary);transform:translate(5px)}[dir=rtl] .lesson-item:hover{transform:translate(-5px)}.lesson-item.completed{opacity:.7}.lesson-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:50%;font-size:14px;color:var(--text-muted)}.lesson-item.completed .lesson-icon{background:#10b981;color:#fff}.lesson-info{flex:1}.lesson-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.lesson-duration{font-size:12px;color:var(--text-muted)}.lesson-status{padding:4px 10px;background:var(--bg-tertiary);border-radius:50px;font-size:11px;color:var(--text-muted)}.lesson-item.completed .lesson-status{background:#10b9811a;color:#10b981}.course-sidebar{position:sticky;top:100px;height:fit-content}.sidebar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;margin-bottom:24px}.sidebar-card:last-child{margin-bottom:0}.enroll-card{text-align:center}.enroll-price{font-size:48px;font-weight:800;color:var(--primary);margin-bottom:8px}.enroll-original{font-size:20px;color:var(--text-muted);text-decoration:line-through;margin-left:10px}.enroll-desc{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.enroll-btn{width:100%;margin-bottom:16px}.enroll-features{text-align:left;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.enroll-features li{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:14px;color:var(--text-secondary)}.enroll-features li i{color:#10b981;font-size:16px}.instructor-card{display:flex;align-items:center;gap:18px}.instructor-avatar{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid var(--bg-tertiary)}.instructor-info h4{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.instructor-info p{font-size:14px;color:var(--text-muted);margin-bottom:8px}.instructor-stats{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.instructor-stats span{display:flex;align-items:center;gap:4px}.instructor-stats i{color:#f59e0b}.code-block-wrapper{position:relative;margin:28px 0;border-radius:16px;overflow:hidden;background:#1e1e2e;box-shadow:0 10px 40px #00000040,0 0 0 1px #6366f126}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:linear-gradient(135deg,#181825,#1e1e2e);border-bottom:1px solid rgba(255,255,255,.08)}.code-block-dots{display:flex;gap:8px}.code-block-dots span{width:12px;height:12px;border-radius:50%;transition:transform .2s ease}.code-block-dots span:nth-child(1){background:#ff5f56}.code-block-dots span:nth-child(2){background:#ffbd2e}.code-block-dots span:nth-child(3){background:#27ca40}.code-block-wrapper:hover .code-block-dots span{transform:scale(1.1)}.code-block-lang{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#89b4fa;text-transform:uppercase;letter-spacing:1px;background:#89b4fa1a;padding:5px 14px;border-radius:8px;border:1px solid rgba(137,180,250,.2)}.code-block-copy{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#6366f140,#a855f740);border:1px solid rgba(99,102,241,.35);border-radius:10px;color:#cdd6f4;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.code-block-copy:hover{background:linear-gradient(135deg,#6366f166,#a855f766);transform:translateY(-2px);box-shadow:0 5px 20px #6366f140;color:#fff}.code-block-copy.copied{background:linear-gradient(135deg,#10b98159,#05966959);border-color:#10b98180;color:#a6e3a1}.code-block-copy i{font-size:14px;transition:transform .2s ease}.code-block-copy:hover i{transform:scale(1.1)}.code-block-wrapper pre{margin:0!important;padding:24px!important;background:transparent!important;border-radius:0!important;overflow-x:auto;max-height:none!important}.code-block-wrapper pre code,.code-block-wrapper pre code.hljs{font-family:JetBrains Mono,Fira Code,monospace!important;font-size:14px!important;line-height:1.8!important;background:transparent!important;color:#cdd6f4!important;display:block;white-space:pre;word-wrap:normal;overflow-wrap:normal;padding:0!important}.code-block-wrapper pre::-webkit-scrollbar{height:8px;width:8px}.code-block-wrapper pre::-webkit-scrollbar-track{background:#31324480;border-radius:4px}.code-block-wrapper pre::-webkit-scrollbar-thumb{background:#45475a;border-radius:4px}.code-block-wrapper pre::-webkit-scrollbar-thumb:hover{background:#585b70}.article-content :not(pre)>code,.snippet-description code,p>code,li>code{background:linear-gradient(135deg,#6366f11f,#a855f71f);color:var(--primary, #6366f1);padding:3px 8px;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.88em;font-weight:500;border:1px solid rgba(99,102,241,.18);white-space:nowrap}[data-theme=dark] .article-content :not(pre)>code,[data-theme=dark] .snippet-description code,[data-theme=dark] p>code,[data-theme=dark] li>code{background:linear-gradient(135deg,#6366f133,#a855f733);color:#a5b4fc;border-color:#6366f140}.snippet-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.snippet-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #6366f126;border-color:#6366f14d}.snippet-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border-bottom:1px solid var(--border-color)}.snippet-title{font-size:16px;font-weight:700;color:var(--text-primary)}.snippet-category{padding:6px 14px;background:linear-gradient(135deg,#6366f11f,#a855f71f);color:var(--primary);font-size:12px;font-weight:600;border-radius:50px;border:1px solid rgba(99,102,241,.2)}.snippet-code{position:relative;max-height:400px;overflow:auto;background:#1e1e2e}.snippet-code pre{margin:0!important;border-radius:0!important;padding:24px!important;background:transparent!important}.snippet-code code{font-family:JetBrains Mono,monospace!important;font-size:14px!important;line-height:1.8!important}.copy-btn{position:absolute;top:14px;right:14px;padding:10px 18px;background:linear-gradient(135deg,#6366f159,#a855f759);border:1px solid rgba(99,102,241,.45);border-radius:10px;color:#cdd6f4;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;font-family:JetBrains Mono,monospace;z-index:10}.copy-btn:hover{background:linear-gradient(135deg,var(--primary),#a855f7);transform:translateY(-2px);box-shadow:0 5px 20px #6366f159;color:#fff}.copy-btn.copied{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff}.snippet-footer{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-color);background:var(--bg-card)}.snippet-tags{display:flex;gap:8px;flex-wrap:wrap}.snippet-tags span{padding:5px 10px;background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;border-radius:6px;transition:all .2s ease}.snippet-tags span:hover{background:#6366f11a;color:var(--primary)}.snippet-actions{display:flex;gap:8px}.snippet-actions button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:10px;color:var(--text-muted);cursor:pointer;transition:all .3s ease}.snippet-actions button:hover{background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;transform:translateY(-2px)}.info-box{background:linear-gradient(135deg,#6366f114,#a855f714);border:1px solid rgba(99,102,241,.2);border-left:4px solid var(--primary);border-radius:12px;padding:20px 24px;margin:24px 0}.info-box h4{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--primary);margin-bottom:10px}.info-box h4 i{color:#f9e2af}.info-box p{color:var(--text-secondary);margin:0;line-height:1.7}.article-content blockquote{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-left:4px solid var(--primary);border-radius:0 12px 12px 0;padding:24px 28px;margin:28px 0;font-style:italic;color:var(--text-secondary)}.article-content blockquote p{margin:0;font-size:17px;line-height:1.8}@media(max-width:768px){.code-block-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.code-block-dots span{width:10px;height:10px}.code-block-lang{font-size:11px;padding:4px 10px;order:1;flex:1}.code-block-copy{padding:8px 14px;font-size:11px}.code-block-copy span{display:none}.code-block-wrapper pre{padding:16px!important}.code-block-wrapper pre code{font-size:13px!important;line-height:1.7!important}.snippet-code{max-height:300px}.snippet-header{flex-direction:column;gap:12px;align-items:flex-start}}@media(max-width:480px){.code-block-header{padding:10px 12px}.code-block-wrapper pre{padding:12px!important}.code-block-wrapper pre code{font-size:12px!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.code-block-wrapper{animation:fadeInUp .4s ease}@media print{.code-block-wrapper{box-shadow:none;border:1px solid #ccc}.code-block-header{background:#f5f5f5}.code-block-copy{display:none}.code-block-wrapper pre code{color:#333!important}}.hljs,pre code.hljs{direction:ltr;display:block;overflow-x:auto;padding:24px!important;margin:0;color:#cdd6f4;background:#1e1e2e;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:14px;line-height:1.8;tab-size:4;-webkit-text-size-adjust:none}pre:not(.code-block-wrapper pre){direction:ltr;margin:24px 0;padding:0;background:#1e1e2e;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #0003;border:1px solid rgba(99,102,241,.15)}.hljs-comment,.hljs-quote{color:#6c7086;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-addition{color:#cba6f7;font-weight:500}.hljs-string,.hljs-meta .hljs-string,.hljs-regexp,.hljs-addition{color:#a6e3a1}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:#fab387}.hljs-title,.hljs-title.function_,.hljs-title.class_,.hljs-section{color:#89b4fa;font-weight:600}.hljs-built_in,.hljs-class .hljs-title,.hljs-type{color:#f9e2af}.hljs-attr,.hljs-attribute,.hljs-symbol,.hljs-bullet{color:#fab387}.hljs-name,.hljs-tag,.hljs-deletion,.hljs-selector-id,.hljs-selector-class{color:#f38ba8}.hljs-property{color:#b4befe}.hljs-operator,.hljs-punctuation{color:#94e2d5}.hljs-meta,.hljs-doctag,.hljs-meta .hljs-keyword{color:#f5c2e7}.hljs-link{color:#74c7ec;text-decoration:underline}.hljs-params{color:#f2cdcd}.hljs-selector-pseudo,.hljs-selector-attr{color:#f5e0dc}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-formula{color:#cba6f7}.hljs-subst{color:#cdd6f4}.language-php .hljs-variable{color:#f38ba8}.language-php .hljs-keyword{color:#cba6f7}.language-javascript .hljs-built_in,.language-js .hljs-built_in{color:#89b4fa}.language-javascript .hljs-keyword,.language-js .hljs-keyword{color:#cba6f7}.language-bash .hljs-built_in,.language-shell .hljs-built_in{color:#89b4fa}.language-bash .hljs-variable,.language-shell .hljs-variable{color:#f38ba8}.language-css .hljs-selector-tag{color:#cba6f7}.language-css .hljs-selector-class{color:#a6e3a1}.language-css .hljs-attribute{color:#89b4fa}.language-html .hljs-tag{color:#cba6f7}.language-html .hljs-attr{color:#f9e2af}.language-html .hljs-string{color:#a6e3a1}.language-json .hljs-attr{color:#89b4fa}.language-json .hljs-string{color:#a6e3a1}.language-json .hljs-number{color:#fab387}.language-sql .hljs-keyword{color:#cba6f7;text-transform:uppercase}.language-sql .hljs-built_in{color:#89b4fa}.hljs-ln{border-collapse:collapse}.hljs-ln td{padding:0}.hljs-ln-numbers{user-select:none;text-align:right;color:#45475a;border-right:1px solid #313244;padding-right:16px!important;padding-left:8px!important;vertical-align:top}.hljs-ln-code{padding-left:16px!important}.hljs::-webkit-scrollbar,pre code.hljs::-webkit-scrollbar{height:8px;width:8px}.hljs::-webkit-scrollbar-track,pre code.hljs::-webkit-scrollbar-track{background:#31324480;border-radius:4px}.hljs::-webkit-scrollbar-thumb,pre code.hljs::-webkit-scrollbar-thumb{background:#45475a;border-radius:4px}.hljs::-webkit-scrollbar-thumb:hover,pre code.hljs::-webkit-scrollbar-thumb:hover{background:#585b70}[data-theme=dark] .hljs,[data-theme=dark] pre code.hljs{background:#11111b;border-color:#6366f133}.hljs::selection,.hljs *::selection{background:#89b4fa4d;color:inherit}.hljs::-moz-selection,.hljs *::-moz-selection{background:#89b4fa4d;color:inherit}.skip-link{position:absolute;inset-inline-start:-9999px;top:0;z-index:10000;padding:12px 20px;background:var(--primary);color:#fff;border-radius:0 0 var(--radius-md) var(--radius-md);font-weight:600}.skip-link:focus{inset-inline-start:20px}:focus-visible{outline:3px solid rgba(var(--primary-rgb),.55);outline-offset:2px;border-radius:4px}.empty-state{text-align:center;padding:56px 24px;color:var(--text-secondary);background:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-lg);font-size:16px}.empty-state i{display:block;font-size:40px;margin-bottom:14px;color:var(--text-muted)}.blog-image,.course-image{position:relative;overflow:hidden;display:block}.blog-image img,.course-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-slow)}.blog-card:hover .blog-image img,.course-card:hover .course-image img{transform:scale(1.06)}.blog-image-glyph,.course-image-glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:44px;font-weight:700;color:#ffffffeb;letter-spacing:1px}.course-image-glyph{font-size:52px}.portfolio-link-hint{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);font-family:var(--font-mono);direction:ltr;margin-top:6px}[dir=rtl] .portfolio-link-hint{justify-content:flex-end}.portfolio-zoom{border:none;cursor:pointer}.hp-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.form-alert{padding:14px 18px;border-radius:var(--radius-md);margin-bottom:20px;font-size:14px;font-weight:600;border:1px solid transparent}.form-alert.is-success{background:#10b9811f;border-color:#10b98159;color:#047857}.form-alert.is-error{background:#ef44441f;border-color:#ef444459;color:#b91c1c}[data-theme=dark] .form-alert.is-success{color:#6ee7b7}[data-theme=dark] .form-alert.is-error{color:#fca5a5}.field-error{display:block;margin-top:6px;font-size:12.5px;color:var(--error);min-height:1em}.contact-form input.error,.contact-form textarea.error{border-color:var(--error)!important;box-shadow:0 0 0 3px #ef44441f}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:48px}.pagination a,.pagination span{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);font-weight:600;font-size:14px;transition:all var(--transition-base)}.pagination a:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.pagination .is-active{background:var(--gradient-primary);border-color:transparent;color:#fff;box-shadow:var(--shadow-md)}.pagination .is-disabled{opacity:.4;cursor:not-allowed}.pagination .is-dots{border:none;background:none}[dir=rtl] .pagination .fa-chevron-left:before{content:"\f054"}[dir=rtl] .pagination .fa-chevron-right:before{content:"\f053"}.page-header{padding:140px 0 56px;background:var(--gradient-hero);border-bottom:1px solid var(--border-color)}.page-header .breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--text-muted);margin-bottom:16px}.page-header .breadcrumb a{color:var(--text-secondary)}.page-header .breadcrumb a:hover{color:var(--primary)}.page-header .breadcrumb i{font-size:10px}[dir=rtl] .page-header .breadcrumb .fa-chevron-right:before{content:"\f053"}.page-title{font-size:clamp(28px,4vw,42px);font-weight:800;margin-bottom:12px}.page-desc{color:var(--text-secondary);font-size:17px;max-width:720px;line-height:1.8}.page-header-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:26px}.page-header-stats div{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;font-weight:600}.page-header-stats i{color:var(--primary)}.articles-section{padding:64px 0 90px;background:var(--bg-secondary)}.articles-wrapper>*{min-width:0}.articles-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:26px}.articles-count{color:var(--text-secondary);font-size:14px}.articles-count strong{color:var(--text-primary)}.article-card-h{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:22px;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.article-card-h:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.35)}.article-card-h .blog-image{min-height:190px;height:100%}.article-card-h .blog-content{padding:22px 22px 22px 0}[dir=rtl] .article-card-h .blog-content{padding:22px 0 22px 22px}@media(max-width:640px){.article-card-h{grid-template-columns:1fr}.article-card-h .blog-image{min-height:180px}.article-card-h .blog-content,[dir=rtl] .article-card-h .blog-content{padding:20px}}.article-card-h h3{font-size:20px;line-height:1.6;margin-bottom:10px}.article-card-h h3 a{color:var(--text-primary)}.article-card-h h3 a:hover{color:var(--primary)}.article-card-h p{color:var(--text-secondary);font-size:14.5px;line-height:1.9;margin-bottom:14px}.blog-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);margin-bottom:12px}.blog-meta i{margin-inline-end:5px}.sidebar-widget{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.sidebar-widget h3{font-size:16px;font-weight:700;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:10px}.sidebar-widget h3 i{color:var(--primary)}.search-form{display:flex;gap:8px}.search-form input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:14px}.search-form input:focus{outline:none;border-color:var(--primary)}.search-form button{width:44px;border:none;cursor:pointer;border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff}.categories-list{display:flex;flex-direction:column;gap:4px}.categories-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:500;transition:all var(--transition-fast)}.categories-list a:hover,.categories-list a.is-active{background:rgba(var(--primary-rgb),.08);color:var(--primary)}.categories-list span{min-width:28px;text-align:center;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-muted);font-size:12px}.categories-list a:hover span,.categories-list a.is-active span{background:var(--primary);color:#fff}.popular-list{display:flex;flex-direction:column;gap:16px}.popular-item{display:flex;gap:12px;align-items:flex-start}.popular-rank{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;font-size:13px;font-weight:700}.popular-item a{font-size:14px;font-weight:600;line-height:1.7;color:var(--text-primary)}.popular-item a:hover{color:var(--primary)}.popular-item small{display:block;color:var(--text-muted);font-size:12px;margin-top:3px}.tags-cloud{display:flex;flex-wrap:wrap;gap:8px}.tags-cloud a{padding:7px 14px;border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:13px;color:var(--text-secondary);transition:all var(--transition-fast)}.tags-cloud a:hover{background:var(--primary);border-color:var(--primary);color:#fff}.sidebar-cta{background:var(--gradient-primary);border:none;color:#fff}.sidebar-cta h3{color:#fff;border-bottom-color:#ffffff40}.sidebar-cta p{font-size:14px;line-height:1.8;opacity:.92;margin-bottom:18px}.sidebar-cta .btn{background:#fff;color:var(--primary);width:100%;justify-content:center}.article-hero{padding:130px 0 0;background:var(--gradient-hero)}.article-hero .container{position:relative}.article-title{font-size:clamp(26px,3.6vw,40px);font-weight:800;line-height:1.55;margin:14px 0 18px}.article-meta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:32px;color:var(--text-secondary);font-size:14px}.article-meta-row .meta-author{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--text-primary)}.article-meta-row .meta-author img{width:38px;height:38px;border-radius:50%;object-fit:cover}.article-meta-row span i{color:var(--primary);margin-inline-end:6px}.article-cover{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:34px;box-shadow:var(--shadow-lg);aspect-ratio:16 / 8}.article-cover img{width:100%;height:100%;object-fit:cover;display:block}.article-body{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:38px;font-size:17px;line-height:2.1;color:var(--text-secondary)}@media(max-width:640px){.article-body{padding:22px;font-size:16px}}.article-body>*:first-child{margin-top:0}.article-body h2,.article-body h3,.article-body h4{color:var(--text-primary);line-height:1.6;margin:38px 0 16px;scroll-margin-top:100px}.article-body h2{font-size:26px;font-weight:800;padding-inline-start:14px;border-inline-start:4px solid var(--primary)}.article-body h3{font-size:21px;font-weight:700}.article-body p{margin-bottom:20px}.article-body ul,.article-body ol{margin:0 0 22px;padding-inline-start:26px}.article-body li{margin-bottom:10px}.article-body a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}.article-body img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:26px 0}.article-body blockquote{margin:26px 0;padding:18px 22px;background:rgba(var(--primary-rgb),.06);border-inline-start:4px solid var(--primary);border-radius:var(--radius-md);color:var(--text-primary);font-style:normal}.article-body pre{background:#0d1117;color:#e6edf3;padding:20px;border-radius:var(--radius-md);overflow-x:auto;direction:ltr;text-align:left;font-family:var(--font-mono);font-size:14px;line-height:1.8;margin:24px 0;border:1px solid #30363d}.article-body :not(pre)>code{background:var(--bg-tertiary);color:var(--primary);padding:3px 7px;border-radius:5px;font-family:var(--font-mono);font-size:.9em;direction:ltr;display:inline-block}.article-body table{width:100%;border-collapse:collapse;margin:24px 0}.article-body th,.article-body td{border:1px solid var(--border-color);padding:12px 14px;text-align:start}.article-body th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:700}.toc-widget ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:4px}.toc-widget li{counter-increment:toc}.toc-widget li.level-3{padding-inline-start:16px}.toc-widget a{display:block;padding:8px 10px;font-size:13.5px;line-height:1.7;color:var(--text-secondary);border-inline-start:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:all var(--transition-fast)}.toc-widget a:hover,.toc-widget a.is-active{color:var(--primary);background:rgba(var(--primary-rgb),.07);border-inline-start-color:var(--primary)}.article-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:32px}.article-tags .label{font-size:14px;font-weight:700;color:var(--text-primary)}.article-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:26px}.article-share .label{font-size:14px;font-weight:700;color:var(--text-primary)}.share-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.share-btn:hover{transform:translateY(-3px);color:#fff;background:var(--primary);border-color:var(--primary)}.article-nav-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}.article-nav-card{display:flex;flex-direction:column;gap:10px;padding:20px 22px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-base)}.article-nav-card.is-empty{background:none;border:none}.article-nav-card:not(.is-empty):hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.article-nav-card.is-next{text-align:end}.article-nav-label{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--primary)}.article-nav-card.is-next .article-nav-label{justify-content:flex-end}.article-nav-title{font-size:15.5px;font-weight:700;line-height:1.7;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-nav-card:hover .article-nav-title{color:var(--primary)}@media(max-width:640px){.article-nav-cards{grid-template-columns:1fr}.article-nav-card.is-empty{display:none}.article-nav-card.is-next,.article-nav-card.is-next .article-nav-label{text-align:start;justify-content:flex-start}}.comment-list{display:flex;flex-direction:column;gap:18px}.comment-item{display:flex;gap:14px;padding:18px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.comment-avatar{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--gradient-primary);color:#fff;font-weight:700;font-size:17px}.comment-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}.comment-head strong{color:var(--text-primary);font-size:15px}.comment-head time{font-size:12px;color:var(--text-muted)}.comment-body{color:var(--text-secondary);font-size:14.5px;line-height:1.9}.snippet-grid{display:grid;gap:20px}.snippet-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.snippet-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.35)}.snippet-head{display:flex;justify-content:space-between;gap:16px;padding:20px 22px 0}.snippet-lang{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:var(--radius-full);background:rgba(var(--primary-rgb),.1);color:var(--primary);margin-bottom:10px}.snippet-card h3{font-size:18px;line-height:1.65;color:var(--text-primary);margin-bottom:4px}.snippet-actions{display:flex;gap:8px;flex-shrink:0}.snippet-action{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.snippet-action:hover{background:var(--primary);border-color:var(--primary);color:#fff}.snippet-action.is-copied{background:var(--success);border-color:var(--success);color:#fff}.snippet-body{padding:14px 22px 20px;color:var(--text-secondary);font-size:15px;line-height:1.95}.snippet-body pre{background:#0d1117;color:#e6edf3;padding:18px;border-radius:var(--radius-md);overflow-x:auto;direction:ltr;text-align:left;font-family:var(--font-mono);font-size:13.5px;line-height:1.75;margin:14px 0;border:1px solid #30363d}.snippet-body :not(pre)>code{background:var(--bg-tertiary);color:var(--primary);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;direction:ltr;display:inline-block}.snippet-body img{max-width:100%;height:auto;border-radius:var(--radius-md)}.snippet-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--border-color);background:var(--bg-secondary);font-size:12.5px;color:var(--text-muted)}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);font-size:13.5px;font-weight:600;transition:all var(--transition-base)}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.is-active{background:var(--gradient-primary);border-color:transparent;color:#fff}.filter-chip .count{font-size:11.5px;opacity:.75}.exam-featured{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:34px 38px;margin-bottom:40px;border-radius:var(--radius-lg);background:var(--gradient-primary);color:#fff;box-shadow:0 18px 40px -18px rgba(var(--primary-rgb),.75)}.exam-featured:after{content:"";position:absolute;inset-inline-end:-80px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 68%);pointer-events:none}.exam-featured-body{position:relative;z-index:1;max-width:620px}.exam-featured-tag{display:inline-flex;align-items:center;gap:7px;padding:5px 13px;margin-bottom:14px;border-radius:var(--radius-full);background:#ffffff2e;font-size:12px;font-weight:700;backdrop-filter:blur(4px)}.exam-featured h2{font-size:clamp(22px,3vw,30px);font-weight:800;margin-bottom:10px;color:#fff}.exam-featured p{font-size:15px;line-height:1.9;color:#ffffffe6;margin-bottom:18px}.exam-featured-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;color:#ffffffd9}.exam-featured-meta i{margin-inline-end:6px;opacity:.85}.exam-featured .btn{position:relative;z-index:1;flex-shrink:0;background:#fff;color:var(--primary);border:none;padding:15px 32px;font-size:15.5px;font-weight:700;box-shadow:0 8px 22px -8px #0006}.exam-featured .btn:hover{transform:translateY(-2px);background:#fff;color:var(--primary-dark)}.exam-filters{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:34px}.exam-search{position:relative;flex:1 1 260px;max-width:340px}.exam-search i{position:absolute;inset-inline-start:15px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:13px}.exam-search input{width:100%;padding-block:12px;padding-inline:42px 16px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:14px;transition:border-color var(--transition-fast)}.exam-search input:focus{outline:none;border-color:var(--primary)}.exam-tracks{display:flex;gap:8px;flex-wrap:wrap}.exam-track-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);font-family:inherit;font-size:13.5px;font-weight:600;transition:all var(--transition-fast)}.exam-track-btn span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-full);background:var(--bg-tertiary);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.exam-track-btn:hover{border-color:var(--primary);color:var(--primary)}.exam-track-btn.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.exam-track-btn.is-active span{background:#ffffff40;color:#fff}.exam-track-group{margin-bottom:44px}.exam-track-group[hidden]{display:none}.exam-track-title{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-size:17px;font-weight:700;color:var(--text-primary)}.exam-track-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border-color),transparent)}[dir=rtl] .exam-track-title:after{background:linear-gradient(270deg,var(--border-color),transparent)}.exam-track-title em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--text-muted);order:3}.exam-noresult{text-align:center;padding:50px 20px;color:var(--text-muted);font-size:15px}.exam-noresult i{display:block;font-size:30px;margin-bottom:12px;opacity:.4}.exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.exam-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:22px;text-align:start;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.exam-card[hidden]{display:none}.exam-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.4)}.exam-card-head{display:flex;align-items:center;gap:13px;margin-bottom:14px}.exam-card-icon{flex-shrink:0;width:46px;height:46px;margin:0;display:grid;place-items:center;border-radius:13px;font-size:19px;color:#fff;background:var(--gradient-primary)}.exam-card h3{flex:1;min-width:0;font-size:17px;font-weight:700;margin:0;color:var(--text-primary)}.exam-best{flex-shrink:0;padding:4px 10px;border-radius:var(--radius-full);background:#10b9811f;color:#059669;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.exam-best[hidden]{display:none}[data-theme=dark] .exam-best{background:#10b9812e;color:#34d399}.exam-card p{flex:1;font-size:13.5px;color:var(--text-secondary);line-height:1.85;margin-bottom:16px}.exam-card-meta{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:flex-start;font-size:12px;color:var(--text-muted);padding-top:14px;margin-bottom:16px;border-top:1px solid var(--border-color)}.exam-card-meta i{margin-inline-end:5px;opacity:.7}.exam-card .btn{width:100%;justify-content:center;gap:8px}.exam-card .btn i{font-size:12px;transition:transform var(--transition-fast)}.exam-card:hover .btn{background:var(--primary);border-color:var(--primary);color:#fff}.exam-card:hover .btn i{transform:translate(-4px)}@media(max-width:640px){.exam-featured{padding:26px 22px}.exam-featured .btn{width:100%;justify-content:center}.exam-filters{flex-direction:column;align-items:stretch}.exam-search{max-width:none}}.exam-stage{max-width:820px;margin:0 auto}.exam-bar{height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:14px}.exam-bar span{display:block;height:100%;width:0;background:var(--gradient-primary);transition:width .4s ease}.exam-status{display:flex;justify-content:space-between;font-size:14px;color:var(--text-secondary);font-weight:600;margin-bottom:24px}.q-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:30px}@media(max-width:640px){.q-card{padding:20px}}.q-text{font-size:19px;line-height:1.9;color:var(--text-primary);margin-bottom:22px;font-weight:600}.q-text pre,.q-text code{direction:ltr;text-align:left}.q-options{display:flex;flex-direction:column;gap:12px}.q-option{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:start;padding:16px 18px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:15.5px;line-height:1.8;cursor:pointer;transition:all var(--transition-base)}.q-option:hover:not(:disabled){border-color:var(--primary);transform:translate(-4px)}[dir=ltr] .q-option:hover:not(:disabled){transform:translate(4px)}.q-option .letter{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-color);font-weight:700;font-size:14px}.q-option.is-correct{border-color:var(--success);background:#10b9811a}.q-option.is-correct .letter{background:var(--success);border-color:var(--success);color:#fff}.q-option.is-wrong{border-color:var(--error);background:#ef44441a}.q-option.is-wrong .letter{background:var(--error);border-color:var(--error);color:#fff}.q-option:disabled{cursor:default}.q-option p{margin:0}.q-explain{margin-top:18px;padding:16px 18px;border-radius:var(--radius-md);background:rgba(var(--primary-rgb),.07);border-inline-start:4px solid var(--primary);color:var(--text-secondary);font-size:14.5px;line-height:1.9}.q-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;flex-wrap:wrap}.exam-result{text-align:center;padding:40px 24px}.score-ring{width:170px;height:170px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--score) * 1%),var(--bg-tertiary) 0);position:relative}.score-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--bg-card)}.score-ring div{position:relative;z-index:1}.score-value{font-size:40px;font-weight:800;color:var(--text-primary);line-height:1}.score-label{font-size:13px;color:var(--text-muted);margin-top:4px}.result-stats{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin:24px 0 30px}.result-stats div{text-align:center}.result-stats strong{display:block;font-size:26px;font-weight:800;color:var(--text-primary)}.result-stats span{font-size:13px;color:var(--text-muted)}.course-hero{padding:130px 0 50px;background:var(--gradient-hero);border-bottom:1px solid var(--border-color)}.course-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:center}@media(max-width:991px){.course-hero-grid{grid-template-columns:1fr}}.course-hero-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);aspect-ratio:16 / 9;position:relative}.course-hero-media img{width:100%;height:100%;object-fit:cover}.curriculum{display:flex;flex-direction:column;gap:14px}.curriculum-section{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card)}.curriculum-head{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:18px 20px;background:var(--bg-secondary);border:none;cursor:pointer;font-family:inherit;font-size:16px;font-weight:700;color:var(--text-primary);text-align:start}.curriculum-head:hover{background:var(--bg-tertiary)}.curriculum-head .meta{font-size:12.5px;font-weight:500;color:var(--text-muted)}.curriculum-body{display:none;padding:6px 0}.curriculum-section.is-open .curriculum-body{display:block}.curriculum-section.is-open .curriculum-head .chevron{transform:rotate(180deg)}.curriculum-head .chevron{transition:transform var(--transition-base);color:var(--text-muted)}.lesson-row{display:flex;align-items:center;gap:12px;padding:13px 22px;color:var(--text-secondary);font-size:14.5px;border-top:1px solid var(--border-light);transition:all var(--transition-fast)}.lesson-row:hover{background:rgba(var(--primary-rgb),.05);color:var(--primary)}.lesson-row.is-current{background:rgba(var(--primary-rgb),.09);color:var(--primary);font-weight:700}.lesson-row i{color:var(--primary);font-size:13px}.lesson-row .num{color:var(--text-muted);font-size:12.5px;min-width:22px}.stack-lg{display:flex;flex-direction:column;gap:32px}.muted{color:var(--text-muted)}.text-center{text-align:center}.system-image-tile{width:100%;aspect-ratio:16 / 10;display:grid;place-items:center;font-size:54px;color:#fffffff2}.reading-progress{position:fixed;top:0;inset-inline:0;height:3px;z-index:9999;background:transparent;pointer-events:none}.reading-progress span{display:block;height:100%;width:0;background:var(--gradient-primary);transition:width .1s linear}.lesson-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 22px;margin-bottom:26px;background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.25);border-radius:var(--radius-lg)}.lesson-banner>i{font-size:24px;color:var(--primary)}.lesson-banner div{flex:1;min-width:200px}.lesson-banner small{display:block;font-size:12.5px;color:var(--text-muted);margin-bottom:2px}.lesson-banner a{font-weight:700;color:var(--text-primary)}.lesson-banner a:hover{color:var(--primary)}.lesson-banner .btn{flex-shrink:0}.article-video{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:30px;box-shadow:var(--shadow-lg)}.article-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tags-cloud-item{padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:13px;color:var(--text-secondary);transition:all var(--transition-fast)}.tags-cloud-item:hover{background:var(--primary);border-color:var(--primary);color:#fff}.section-subtitle{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;margin:46px 0 20px;color:var(--text-primary)}.section-subtitle i{color:var(--primary);font-size:19px}.article-comments,.related-articles{margin-top:10px}.related-articles .blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.related-articles .blog-image{aspect-ratio:16 / 9;border-radius:var(--radius-md) var(--radius-md) 0 0}.related-articles .blog-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.related-articles .blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.related-articles .blog-content{padding:16px}.related-articles h3{font-size:15.5px;line-height:1.7}.related-articles h3 a{color:var(--text-primary)}.related-articles h3 a:hover{color:var(--primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lesson-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}@media(max-width:640px){.lesson-pager{grid-template-columns:1fr}}.lesson-pager-link{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-base)}.lesson-pager-link:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.lesson-pager-link.is-next{justify-content:flex-end;text-align:end}.lesson-pager-link small{display:block;font-size:12px;color:var(--text-muted);margin-bottom:3px;font-weight:600}.lesson-pager-link span{font-size:14.5px;font-weight:700;line-height:1.6}.lesson-pager-link i{color:var(--primary);flex-shrink:0}.lesson-progress .exam-bar{margin-bottom:8px}.lesson-progress small{font-size:12.5px}.course-body-intro{color:var(--text-secondary);font-size:16px;line-height:1.95;margin-bottom:24px}.course-body-intro p{margin-bottom:14px}.article-main{padding:40px 0 90px;background:var(--bg-secondary)}[dir=rtl] .article-content ul,[dir=rtl] .article-content ol,[dir=rtl] .article-body ul,[dir=rtl] .article-body ol{padding-left:0}.article-body,.snippet-body{min-width:0;overflow-wrap:break-word}.article-body pre,.snippet-body pre{max-width:100%}.articles-list{min-width:0}.article-body img,.snippet-body img{display:block;margin-inline:auto;max-width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--border-color)}.article-image-link{display:block;margin:26px auto;max-width:100%;cursor:zoom-in;position:relative;width:fit-content}.article-image-link img{margin:0;transition:transform var(--transition-base),box-shadow var(--transition-base)}.article-image-link:hover img{transform:scale(1.01);box-shadow:var(--shadow-lg)}.article-image-link:after{content:"\f00e";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;inset-block-start:12px;inset-inline-end:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-sm);background:#0f172aa6;color:#fff;font-size:14px;opacity:0;transition:opacity var(--transition-base)}.article-image-link:hover:after{opacity:1}.article-body figure{margin:26px 0;text-align:center}.article-body figcaption{font-size:13px;color:var(--text-muted);margin-top:8px}.mini-course-list{display:flex;flex-direction:column;gap:14px}.mini-course{display:flex;gap:12px;align-items:center}.mini-course-thumb{flex-shrink:0;width:54px;height:54px;border-radius:var(--radius-sm);overflow:hidden;display:grid;place-items:center;color:#fffffff2;font-size:20px}.mini-course-thumb img{width:100%;height:100%;object-fit:cover}.mini-course-body{min-width:0}.mini-course-body strong{display:block;font-size:13.5px;font-weight:700;line-height:1.65;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-course:hover .mini-course-body strong{color:var(--primary)}.mini-course-body small{display:block;font-size:12px;color:var(--text-muted);margin-top:3px}.widget-more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-color);width:100%;font-size:13px;font-weight:700;color:var(--primary)}.widget-more:hover{gap:11px}.blog-showcase{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:stretch}@media(max-width:991px){.blog-showcase{grid-template-columns:1fr}}.post-lead,.post-mini{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.post-lead:hover,.post-mini:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.35)}.post-lead{display:flex;flex-direction:column}.post-lead-media{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden}.post-lead-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.post-lead:hover .post-lead-media img{transform:scale(1.05)}.post-flag{position:absolute;inset-block-start:14px;inset-inline-start:14px;display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:var(--radius-full);background:#0f172ab8;backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:700}.post-flag i{color:var(--accent)}.post-lead-body{padding:26px;display:flex;flex-direction:column;flex:1}.post-lead-body h3{font-size:23px;line-height:1.6;margin:14px 0 12px}.post-lead-body h3 a{color:var(--text-primary)}.post-lead-body h3 a:hover{color:var(--primary)}.post-lead-body p{color:var(--text-secondary);font-size:15px;line-height:1.95;margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-chip{display:inline-flex;align-items:center;align-self:flex-start;padding:5px 13px;border-radius:var(--radius-full);background:rgba(var(--primary-rgb),.1);color:var(--primary);font-size:12px;font-weight:700}.post-chip:hover{background:var(--primary);color:#fff}.post-chip.is-plain,.post-chip.is-plain:hover{background:var(--bg-tertiary);color:var(--text-muted)}.post-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--text-muted);margin-top:auto}.post-meta i{margin-inline-end:5px;color:var(--primary);opacity:.75}.post-cta{display:inline-flex;align-items:center;gap:9px;margin-top:18px;font-size:14px;font-weight:700;color:var(--primary)}.post-cta:hover{gap:14px}.post-stack{display:grid;grid-template-rows:repeat(3,1fr);gap:18px}.post-mini{display:grid;grid-template-columns:190px minmax(0,1fr)}@media(max-width:640px){.post-mini{grid-template-columns:150px minmax(0,1fr)}}@media(max-width:480px){.post-mini{grid-template-columns:116px minmax(0,1fr)}}.post-mini-media{position:relative;display:block;overflow:hidden}.post-mini-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.post-mini:hover .post-mini-media img{transform:scale(1.06)}.post-mini-media .blog-image-glyph{font-size:26px}.post-mini-body{padding:16px 18px;display:flex;flex-direction:column;gap:8px;min-width:0}.post-mini-body h4{font-size:15.5px;line-height:1.7;margin:0}.post-mini-body h4 a{color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-mini-body h4 a:hover{color:var(--primary)}.post-mini-body{justify-content:center}.post-mini-body .post-meta{margin-top:4px}.post-lead-media{aspect-ratio:16 / 8.4}.section-cta{display:flex;justify-content:center;margin-top:44px}.section-header{display:block;text-align:center;max-width:720px;margin:0 auto 56px;padding:0;cursor:auto}.section-header .section-title{display:block}.section-header .section-tag{margin-bottom:16px}.q-card.is-ltr{direction:ltr;text-align:left}.q-card.is-ltr .q-text{font-size:18px}.q-card.is-ltr .q-text p{margin:0 0 14px}.q-card.is-ltr .q-text p:last-child{margin-bottom:0}.q-card pre{position:relative;background:#0d1117;color:#e6edf3;padding:18px;border-radius:var(--radius-md);border:1px solid #30363d;overflow-x:auto;direction:ltr;text-align:left;font-family:var(--font-mono);font-size:13.5px;line-height:1.8;margin:16px 0;white-space:pre;tab-size:4}.q-card :not(pre)>code{background:var(--bg-tertiary);color:var(--primary);padding:2px 7px;border-radius:5px;font-family:var(--font-mono);font-size:.9em;direction:ltr;display:inline-block}.q-copy{position:absolute;top:8px;right:8px;width:30px;height:30px;display:grid;place-items:center;border:1px solid #30363d;border-radius:6px;background:#ffffff0f;color:#9aa4b2;cursor:pointer;transition:all var(--transition-fast)}.q-copy:hover{background:var(--primary);border-color:var(--primary);color:#fff}.q-option .opt-body{flex:1;min-width:0}.q-option .opt-body p{margin:0}.q-option .opt-body pre{margin:8px 0 0;font-size:12.5px;padding:12px}.q-option .opt-body code{font-family:var(--font-mono)}.q-aside{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--border-color)}.q-hint,.q-source{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;color:var(--text-secondary)}.q-hint i,.q-source i{color:var(--accent)}.q-source a{color:var(--primary);font-weight:600}.q-source a:hover{text-decoration:underline}.snippet-body{color:var(--text-primary)}.snippet-body p{margin:0 0 12px}.snippet-body p:last-child{margin-bottom:0}.snippet-body ul,.snippet-body ol{margin:0 0 14px;padding-inline-start:24px}.snippet-body li{margin-bottom:6px}.snippet-body h2,.snippet-body h3,.snippet-body h4{font-size:17px;font-weight:700;color:var(--text-primary);margin:18px 0 10px}.snippet-body a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.snippet-body blockquote{margin:14px 0;padding:12px 16px;background:rgba(var(--primary-rgb),.06);border-inline-start:3px solid var(--primary);border-radius:var(--radius-sm)}.snippet-body table{width:100%;border-collapse:collapse;margin:14px 0}.snippet-body th,.snippet-body td{border:1px solid var(--border-color);padding:9px 12px;text-align:start;font-size:14px}.snippet-body th{background:var(--bg-tertiary);font-weight:700}.snippet-body pre{max-height:420px;overflow:auto}.core-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}.core-card{display:flex;flex-direction:column;padding:28px 24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.core-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.35)}.core-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:var(--radius-md);font-size:24px;color:#fff;margin-bottom:18px}.core-card h3{font-size:19px;font-weight:800;color:var(--text-primary);margin-bottom:10px}.core-card>p{font-size:14.5px;line-height:2.05;color:var(--text-secondary);margin-bottom:22px}.core-facts{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}.core-facts li{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--text-primary)}.core-facts i{color:var(--success);font-size:12px}.core-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font-size:13.5px;font-weight:700;color:var(--primary)}.core-link:hover{gap:13px}.also-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:28px;border-top:1px solid var(--border-color)}.also-label{font-size:14px;font-weight:700;color:var(--text-primary);flex-shrink:0}.also-chips{display:flex;flex-wrap:wrap;gap:9px}.also-chips li{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:13px;font-weight:600;color:var(--text-secondary);transition:all var(--transition-base)}.also-chips li:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.also-chips i{font-size:13px;opacity:.75}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.app-card{position:relative;display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.app-card:before{content:"";position:absolute;inset-block-start:0;inset-inline-start:0;width:3px;height:100%;background:var(--gradient-primary);transform:scaleY(0);transform-origin:top;transition:transform var(--transition-base)}.app-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.35)}.app-card:hover:before{transform:scaleY(1)}.app-icon{flex-shrink:0;width:62px;height:62px;display:grid;place-items:center;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);color:#fff;font-size:24px}.app-icon img{width:100%;height:100%;object-fit:cover;display:block}.app-body{min-width:0;flex:1}.app-body strong{display:block;font-size:15px;font-weight:700;line-height:1.6;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card:hover .app-body strong{color:var(--primary)}.app-body small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;font-size:12.5px;line-height:1.75;color:var(--text-secondary)}.app-cta{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--bg-tertiary);color:var(--text-muted);font-size:14px;transition:all var(--transition-base)}.app-card:hover .app-cta{background:var(--primary);color:#fff}.comment-main{flex:1;min-width:0}.comment-reply{margin-top:14px;padding:14px 16px;background:rgba(var(--primary-rgb),.05);border-inline-start:3px solid var(--primary);border-radius:var(--radius-sm)}.reply-badge{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--primary)}.reply-badge img{width:22px;height:22px;border-radius:50%;object-fit:cover}.reply-badge i{font-size:12px;color:var(--secondary)}.reply-body{font-size:14px;line-height:1.9;color:var(--text-secondary)}.reply-body p{margin:0 0 10px}.reply-body p:last-child{margin-bottom:0}.reply-body a{color:var(--primary);text-decoration:underline}.reply-body ul,.reply-body ol{margin:0 0 10px;padding-inline-start:22px}.reply-body pre{background:#0d1117;color:#e6edf3;padding:14px;border-radius:var(--radius-sm);overflow-x:auto;direction:ltr;text-align:left;font-family:var(--font-mono);font-size:13px;margin:10px 0}.reply-body :not(pre)>code{background:var(--bg-tertiary);color:var(--primary);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;direction:ltr;display:inline-block}.q-card:not(.is-ltr) .q-text{font-size:18px}.q-card:not(.is-ltr) pre,.q-card:not(.is-ltr) code{direction:ltr;text-align:left}.q-card:not(.is-ltr) .q-option{text-align:start}.error-page{min-height:68vh;display:grid;place-items:center;padding:150px 0 90px;background:var(--gradient-hero)}.error-inner{max-width:620px;margin:0 auto;text-align:center}.error-code{display:block;font-family:var(--font-mono);font-size:clamp(72px,16vw,140px);font-weight:800;line-height:1;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.9}.error-title{font-size:clamp(24px,4vw,34px);font-weight:800;margin:10px 0 12px}.error-desc{color:var(--text-secondary);font-size:16px;line-height:1.9;margin-bottom:28px}.error-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:28px}.error-search{position:relative;display:flex;align-items:center;gap:8px;max-width:440px;margin:0 auto 34px}.error-search i{position:absolute;inset-inline-start:14px;color:var(--text-muted);pointer-events:none}.error-search input{flex:1;min-width:0;padding:13px 16px 13px 44px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:14.5px}[dir=rtl] .error-search input{padding:13px 44px 13px 16px}.error-search input:focus{outline:none;border-color:var(--primary)}.error-suggest{text-align:start;border-top:1px solid var(--border-color);padding-top:24px}.error-suggest h2{font-size:14px;font-weight:700;color:var(--text-muted);margin-bottom:14px;text-align:center}.error-suggest ul{display:flex;flex-direction:column;gap:4px}.error-suggest a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);font-size:14.5px;font-weight:600;color:var(--text-primary);transition:all var(--transition-fast)}.error-suggest a:hover{background:rgba(var(--primary-rgb),.07);color:var(--primary)}.error-suggest i{font-size:11px;color:var(--primary)}.article-body ul,.article-body ol{list-style:none;margin:24px 0;padding-inline-start:6px}.article-body li>ul,.article-body li>ol{margin:12px 0 4px}.article-body li{position:relative;padding-inline-start:30px;margin-bottom:12px;line-height:1.95}.article-body li:last-child{margin-bottom:0}.article-body ul>li:before{content:"";position:absolute;inset-inline-start:6px;top:.72em;width:8px;height:8px;border-radius:2.5px;background:var(--gradient-primary);transform:rotate(45deg)}.article-body ul ul>li:before{background:none;border:2px solid var(--primary);opacity:.65}.article-body ul ul ul>li:before{border-radius:2px;transform:none;width:9px;height:2.5px;border:none;background:var(--text-muted);top:.95em}.article-body ol{counter-reset:prose-li}.article-body ol>li{counter-increment:prose-li;padding-inline-start:42px}.article-body ol>li:before{content:counter(prose-li);position:absolute;inset-inline-start:0;top:.18em;display:grid;place-items:center;min-width:27px;height:27px;padding:0 6px;font-family:var(--font-mono);font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--primary);background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.22);border-radius:9px}.article-body ol ol{counter-reset:prose-li-2}.article-body ol ol>li{counter-increment:prose-li-2}.article-body ol ol>li:before{content:counter(prose-li-2,lower-alpha);background:transparent;color:var(--text-muted);border-color:var(--border-color)}.article-body li>input[type=checkbox]{margin-inline-end:8px}.article-body li:has(>input[type=checkbox]){padding-inline-start:0}.article-body li:has(>input[type=checkbox]):before{display:none}.article-body strong,.article-body b{color:var(--text-primary);font-weight:700}.article-body mark{background:rgba(var(--primary-rgb),.16);color:inherit;padding:1px 5px;border-radius:5px}.article-body kbd{font-family:var(--font-mono);font-size:.85em;padding:2px 7px;border:1px solid var(--border-color);border-bottom-width:2px;border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary)}.article-body abbr[title]{text-decoration:underline dotted;cursor:help}.article-body blockquote{position:relative;margin:30px 0;padding:22px 26px;padding-inline-start:58px;background:rgba(var(--primary-rgb),.05);border:1px solid rgba(var(--primary-rgb),.15);border-inline-start:3px solid var(--primary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:16.5px}.article-body blockquote:before{content:"\201d";position:absolute;inset-inline-start:18px;top:4px;font-family:Georgia,serif;font-size:52px;line-height:1;color:var(--primary);opacity:.28}.article-body blockquote>*:last-child{margin-bottom:0}.article-body hr{margin:40px auto;width:60%;height:1px;border:none;background:linear-gradient(90deg,transparent,var(--border-color) 22%,var(--border-color) 78%,transparent)}.table-frame{position:relative;margin:30px 0;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);overflow:hidden}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.table-scroll>table{margin:0;border:none;border-radius:0}.table-frame:before,.table-frame:after{content:"";position:absolute;inset-block:0;width:42px;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:1}.table-frame:before{inset-inline-start:0;background:linear-gradient(to var(--fade-out, right),rgba(15,23,42,.09),transparent 78%)}.table-frame:after{inset-inline-end:0;background:linear-gradient(to var(--fade-in, left),rgba(15,23,42,.09),transparent 78%)}[data-theme=dark] .table-frame:before,[data-theme=dark] .table-frame:after{--shade: rgba(0, 0, 0, .35)}[data-theme=dark] .table-frame:before{background:linear-gradient(to var(--fade-out, right),var(--shade),transparent 78%)}[data-theme=dark] .table-frame:after{background:linear-gradient(to var(--fade-in, left),var(--shade),transparent 78%)}[dir=rtl] .table-frame{--fade-out: left;--fade-in: right}.table-frame.has-overflow:not(.at-end):before{opacity:1}.table-frame.has-overflow:not(.at-start):after{opacity:1}.table-expand{position:absolute;inset-block-start:8px;inset-inline-end:8px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:600;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.table-frame:hover .table-expand,.table-expand:focus-visible{opacity:1}.table-expand:hover{color:var(--primary);border-color:var(--primary)}@media(hover:none){.table-expand{opacity:1}}.article-body caption{caption-side:top;padding:14px 16px 12px;text-align:start;font-size:13.5px;font-weight:700;color:var(--text-primary);background:var(--bg-card);border-bottom:1px solid var(--border-color)}.article-body caption:before{content:"\f0ce";font-family:"Font Awesome 6 Free";font-weight:900;margin-inline-end:8px;color:var(--primary);opacity:.65}.article-body tbody th:first-child,.article-body tbody td:first-child{font-weight:600;color:var(--text-primary)}.article-body td{font-variant-numeric:tabular-nums}.table-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:32px 24px;background:#0f172ab8;backdrop-filter:blur(6px);animation:tableModalIn .18s ease}@keyframes tableModalIn{0%{opacity:0}to{opacity:1}}.table-modal-inner{width:100%;max-width:1400px;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 30px 70px -20px #0000008c;overflow:hidden}.table-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid var(--border-color)}.table-modal-head h3{font-size:15px;font-weight:700;margin:0;color:var(--text-primary)}.table-modal-close{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);transition:all var(--transition-fast)}.table-modal-close:hover{background:var(--primary);border-color:var(--primary);color:#fff}.table-modal-body{overflow:auto;padding:4px 22px 22px}.table-modal-body table{width:100%;border-collapse:collapse;font-size:15px}.table-modal-body caption{display:none}body.has-table-modal{overflow:hidden}@media(max-width:640px){.table-modal{padding:14px}.table-modal-body{padding:4px 14px 16px}}.article-body table,.snippet-body table,.table-modal-body table{width:100%;min-width:min(100%,480px);border-collapse:collapse;font-size:15.5px}.article-body th,.article-body td,.table-modal-body th,.table-modal-body td{border:none;border-bottom:1px solid var(--border-color);padding:13px 16px;text-align:start;vertical-align:top}.article-body thead th,.table-modal-body thead th{background:var(--bg-tertiary);font-weight:700;font-size:14px;color:var(--text-primary);white-space:nowrap}.article-body tbody tr:last-child td,.table-modal-body tbody tr:last-child td{border-bottom:none}.article-body tbody tr:nth-child(2n),.table-modal-body tbody tr:nth-child(2n){background:rgba(var(--primary-rgb),.028)}.article-body tbody tr:hover,.table-modal-body tbody tr:hover{background:rgba(var(--primary-rgb),.06)}.table-modal-body tbody th:first-child,.table-modal-body tbody td:first-child{font-weight:600;color:var(--text-primary)}.table-modal-body thead th:first-child{border-start-start-radius:var(--radius-sm)}.table-modal-body thead th:last-child{border-start-end-radius:var(--radius-sm)}.article-body dl{margin:24px 0}.article-body dt{font-weight:700;color:var(--text-primary);margin-top:14px}.article-body dd{margin:6px 0 0;padding-inline-start:18px;color:var(--text-secondary)}.articles-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.sort-switch{display:inline-flex;padding:4px;gap:2px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full)}.sort-switch-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:var(--radius-full);font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap;transition:all var(--transition-fast)}.sort-switch-btn i{font-size:11.5px;opacity:.75}.sort-switch-btn:hover{color:var(--primary)}.sort-switch-btn.is-active{background:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm)}.sort-switch-btn.is-active i{opacity:1}@media(max-width:560px){.articles-toolbar{flex-direction:column;align-items:stretch}.sort-switch{justify-content:center}.sort-switch-btn{flex:1;justify-content:center}}.snippet-collapse{position:relative}.snippet-collapse.is-collapsible{--snippet-peek: 320px}.snippet-collapse.is-collapsible:not(.is-open)>.snippet-body{max-height:var(--snippet-peek);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 68%,transparent);mask-image:linear-gradient(to bottom,#000 68%,transparent)}.snippet-expand{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:9px 16px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:600;transition:all var(--transition-fast)}.snippet-expand:hover{border-color:var(--primary);color:var(--primary)}.snippet-expand i{font-size:11px;transition:transform var(--transition-base)}.snippet-collapse.is-open+.snippet-expand i{transform:rotate(180deg)}.comment-empty{display:flex;align-items:center;gap:10px;padding:22px;margin-bottom:26px;border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);font-size:14.5px}.comment-empty i{font-size:17px;opacity:.5}.comment-form-wrap{margin-top:30px;padding:26px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.comment-form-wrap h3{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:700;margin-bottom:20px;color:var(--text-primary)}.comment-form-wrap h3 i{color:var(--primary);font-size:15px}.comment-alert{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;margin-bottom:20px;border-radius:var(--radius-md);font-size:14px;line-height:1.8}.comment-alert ul{display:flex;flex-direction:column;gap:3px}.comment-alert.is-success{background:#10b9811a;color:#047857;border:1px solid rgba(16,185,129,.25)}.comment-alert.is-error{background:#ef444414;color:#b91c1c;border:1px solid rgba(239,68,68,.22)}[data-theme=dark] .comment-alert.is-success{color:#34d399}[data-theme=dark] .comment-alert.is-error{color:#fca5a5}.comment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comment-form .form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.comment-form label{font-size:13.5px;font-weight:600;color:var(--text-primary)}.comment-form label span{color:var(--primary)}.comment-form small{font-size:11.5px;color:var(--text-muted)}.comment-form input,.comment-form textarea{width:100%;min-height:0;padding:12px 15px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:14.5px;line-height:1.8;transition:border-color var(--transition-fast),background var(--transition-fast)}.comment-form textarea{resize:vertical;min-height:120px}.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--primary);background:var(--bg-card)}.hp-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.comment-form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:4px}.comment-note{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-muted);margin:0}.comment-note i{opacity:.7}@media(max-width:560px){.comment-form-row{grid-template-columns:1fr;gap:0}.comment-form-wrap{padding:20px}.comment-form-foot .btn{width:100%;justify-content:center}}.portfolio-item{display:flex;flex-direction:column}.portfolio-content{display:flex;flex-direction:column;flex:1}.portfolio-link-hint{margin-top:auto;min-height:1.5em}.portfolio-link-hint:empty{min-height:1.5em}.portfolio-content h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:64px;min-height:2lh}.portfolio-stretch{color:inherit}.portfolio-stretch:after{content:"";position:absolute;inset:0;z-index:2}.portfolio-item.is-linked{cursor:pointer}.portfolio-item:not(.is-linked){cursor:default}.portfolio-stretch:hover{color:var(--primary)}.portfolio-item:focus-within{outline:2px solid var(--primary);outline-offset:3px}.portfolio-item:focus-within .portfolio-overlay{opacity:1}.portfolio-stretch:focus-visible{outline:none}.portfolio-overlay{align-items:center;justify-content:center;padding:24px}.portfolio-action-label{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:var(--radius-full);background:#fffffff5;color:var(--primary);font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 10px 26px -10px #00000073;transform:translateY(10px) scale(.96);transition:transform .35s cubic-bezier(.34,1.3,.64,1)}.portfolio-item:hover .portfolio-action-label,.portfolio-item:focus-within .portfolio-action-label{transform:translateY(0) scale(1)}.portfolio-action-label i{font-size:13px}.portfolio-item:hover{transform:translateY(-6px);box-shadow:0 22px 44px -18px rgba(var(--primary-rgb),.4)}.portfolio-item:hover .portfolio-image img{transform:scale(1.06)}@media(prefers-reduced-motion:reduce){.portfolio-item,.portfolio-image img,.portfolio-action-label{transition:none}.portfolio-item:hover,.portfolio-item:hover .portfolio-image img{transform:none}}.app-showcase{display:grid;place-items:center;position:relative}.app-showcase:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.3),transparent 62%)}.app-showcase img{position:relative;width:116px;height:116px;object-fit:contain;border-radius:26px;box-shadow:0 16px 34px -12px #00000073;background:#fff;transition:transform .45s cubic-bezier(.34,1.2,.64,1)}.portfolio-item.is-app:hover .app-showcase img{transform:scale(1.07) translateY(-3px)}.app-showcase-glyph{position:relative;font-size:46px;color:#ffffffe6}.portfolio-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 10px;font-size:13.5px;line-height:1.75;color:var(--text-secondary)}.portfolio-desc:empty{display:none}.portfolio-item.is-app .portfolio-tags span{display:inline-flex;align-items:center;gap:6px}.platform-tag i+i{margin-inline-start:-2px}.platform-tag i{font-size:12px;opacity:.9}.footer-waves{--wave-1: rgba(99, 102, 241, .3);--wave-2: rgba(109, 60, 190, .5);--wave-3: rgba(58, 50, 143, .78);--wave-4: url(#footer-wave-fill)}.svg-waves__parallax--footer>use:nth-child(1),[data-theme=dark] .svg-waves__parallax--footer>use:nth-child(1){fill:var(--wave-1)}.svg-waves__parallax--footer>use:nth-child(2),[data-theme=dark] .svg-waves__parallax--footer>use:nth-child(2){fill:var(--wave-2)}.svg-waves__parallax--footer>use:nth-child(3),[data-theme=dark] .svg-waves__parallax--footer>use:nth-child(3){fill:var(--wave-3)}.svg-waves__parallax--footer>use:nth-child(4),[data-theme=dark] .svg-waves__parallax--footer>use:nth-child(4){fill:var(--wave-4)}.system-card.is-built .system-image{position:relative;overflow:hidden}.system-card.is-built .system-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.system-card.is-built:hover .system-image img{transform:scale(1.05)}.system-badge{position:absolute;inset-block-start:12px;inset-inline-start:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);background:#10b981f0;color:#fff;font-size:11.5px;font-weight:700;box-shadow:0 6px 16px -6px #00000073}.system-badge i{font-size:10px}.system-card.is-built .system-features{max-height:none}.footer-col h3{font-size:18px;font-weight:700;margin-bottom:24px}
