:root{--color-bg-primary:#000;--color-bg-secondary:#0a0a0a;--color-bg-surface:#121212;--color-bg-elevated:#1a1a1a;--glass-base:#ffffff0d;--glass-base-hover:#ffffff14;--glass-tint-blue:#3b82f614;--glass-tint-purple:#a855f70f;--color-text-primary:#fffffff2;--color-text-secondary:#ffffffb3;--color-text-tertiary:#ffffff73;--border-glass:#ffffff1a;--border-glass-hover:#fff3;--color-accent:#007aff;--color-accent-hover:#1e88ff;--color-accent-glow:#007aff4d;--color-success:#30d158;--color-warning:#ffd60a;--color-error:#ff453a;--color-info:#64d2ff;--color-purple:#bf5af2;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-2:.5rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-full:9999px;--shadow-lg:0 10px 30px #0006;--shadow-xl:0 20px 50px #00000080;--shadow-glow:0 0 40px #ffffff14;--shadow-glow-blue:0 0 40px #007aff33;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-liquid:.6s cubic-bezier(.22, 1, .36, 1);--header-height:72px;--container-max:1280px;--container-padding:clamp(1rem, 5vw, 2.5rem);--z-behind:-1;--z-base:0;--z-sticky:200;--z-fixed:300;--z-overlay:400;--z-modal:500;--z-toast:800;--z-cursor:9999;--specular-x:50%;--specular-y:50%}[data-theme=cyber]{--color-accent:#0ff;--color-accent-glow:#00ffff4d;--color-purple:#0ff}[data-theme=matrix]{--color-accent:#0f0;--color-accent-glow:#00ff004d;--color-purple:#0f0}[data-theme=sunset]{--color-accent:#ff6b35;--color-accent-glow:#ff6b354d;--color-purple:#ff6b35}[data-theme=purple]{--color-accent:#a855f7;--color-accent-glow:#a855f74d}[data-theme=ocean]{--color-accent:#0ea5e9;--color-accent-glow:#0ea5e94d;--color-purple:#0ea5e9}.scroll-progress{background:linear-gradient(90deg, var(--color-accent), var(--color-purple), var(--color-success));z-index:301;height:3px;box-shadow:0 0 12px var(--color-accent-glow);transition:width 50ms linear;position:fixed;top:0;left:0}.header-fixed{height:var(--header-height);z-index:300;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header-bg{-webkit-backdrop-filter:blur(40px)saturate(180%);border:1px solid var(--border-glass);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff14;background:#14141499;position:absolute;inset:8px}.header-inner{z-index:1;max-width:1440px;padding:0 var(--container-padding);justify-content:space-between;align-items:center;gap:var(--space-6);width:100%;margin:0 auto;display:flex;position:relative}.header-brand{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);border:1px solid var(--border-glass);border-radius:var(--radius-full);white-space:nowrap;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-base);background:#ffffff0d;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:flex}.header-brand:hover{transform:translateY(-1px)}.nav-container{border-radius:var(--radius-full);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;gap:2px;padding:4px;display:flex}.nav-link{border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--transition-base);white-space:nowrap;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;display:flex}.nav-link.active{color:#fff;background:#007aff26;box-shadow:inset 0 0 0 1px #007aff4d}.nav-link .nav-icon{font-size:var(--text-xs);opacity:.7}.header-actions{align-items:center;gap:.5rem;display:flex}.btn-cmd{border:1px solid var(--border-glass);border-radius:var(--radius-md);height:40px;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-base);background:#ffffff0d;align-items:center;gap:.4rem;padding:.5rem .75rem;display:flex}.btn-cmd kbd{font-size:var(--text-xs);font-family:var(--font-mono);border:1px solid var(--border-glass);background:#ffffff14;border-radius:6px;padding:2px 6px}.btn-sound{border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;transition:all var(--transition-base);justify-content:center;align-items:center;padding:0;display:flex}.btn-sound.on{color:var(--color-success);background:#30d1581f;border:1px solid #30d1584d}.btn-sound.off{border:1px solid var(--border-glass);color:var(--color-text-secondary);background:#ffffff0d}.mobile-menu-btn{border:1px solid var(--border-glass);border-radius:var(--radius-md);cursor:pointer;background:#ffffff0d;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:.5rem;display:none}.mobile-menu-btn span{background:#fff;border-radius:99px;width:20px;height:2px}.hero-section{min-height:100vh;padding-top:var(--header-height);align-items:center;display:flex}.hero-inner{text-align:center;max-width:720px}.hero-badge{border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-accent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#007aff1a;border:1px solid #007aff33;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.4rem 1.2rem;display:inline-flex}.hero-badge-dot{background:var(--color-success);width:8px;height:8px;box-shadow:0 0 8px var(--color-success);border-radius:50%}.hero-name{background:linear-gradient(135deg, var(--color-accent), var(--color-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:900}.hero-title{margin-bottom:1rem;font-size:clamp(2rem,6vw,4.2rem);font-weight:800;line-height:1.1}.hero-greeting{color:var(--color-text-secondary);margin-bottom:.3rem;font-size:clamp(1rem,3vw,1.3rem);font-weight:400;display:block}.hero-sub{margin-top:.25rem;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;display:block}.hero-desc{color:var(--color-text-secondary);font-size:var(--text-base);max-width:520px;margin:0 auto 2rem;line-height:1.75}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.terminal-wrapper{text-align:left;max-width:620px;margin:0 auto;padding:0!important}.terminal-header{border-bottom:1px solid var(--border-glass);background:#00000040;align-items:center;gap:8px;padding:.6rem 1rem;display:flex}.terminal-dot{border-radius:50%;justify-content:center;align-items:center;width:11px;height:11px;display:inline-flex}.terminal-dot-red{background:#ff453a}.terminal-dot-yellow{background:#ffd60a}.terminal-dot-green{background:#30d158}.terminal-title{text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);flex:1}.terminal-body{min-height:130px;max-height:280px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary);padding:.85rem 1rem;line-height:1.85;overflow-y:auto}.terminal-prompt{color:var(--color-accent)}.terminal-cmd{color:var(--color-text-primary)}.terminal-output{white-space:pre-wrap;padding-left:8px}.terminal-output.error{color:var(--color-error)}.terminal-output.success{color:var(--color-success)}.terminal-input-line{border-top:1px solid var(--border-glass);align-items:center;gap:6px;padding:.55rem 1rem;display:flex}.terminal-input-prompt{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.terminal-input{color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-xs);background:0 0;border:none;outline:none;flex:1;min-width:0}.stats-section{padding-bottom:3rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{text-align:center;padding:1.5rem}.stat-icon{margin-bottom:.6rem;font-size:1.4rem}.stat-value{font-size:2rem;font-weight:800;font-family:var(--font-mono)}.stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:.2rem}.stat-trend{font-size:var(--text-xs);opacity:.8;margin-top:.4rem}.about-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem;display:grid}.about-card{padding:1.75rem}.about-card-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.about-card-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;display:flex}.about-card-icon.blue{color:var(--color-accent);background:#007aff1f}.about-card-icon.purple{color:var(--color-purple);background:#bf5af21f}.about-card-label{font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm)}.about-card-sublabel{font-size:var(--text-xs);color:var(--color-text-tertiary)}.about-text{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:.75rem;line-height:1.75}.about-tag{border-radius:var(--radius-full);border:1px solid var(--border-glass);font-size:var(--text-xs);color:var(--color-text-secondary);background:#ffffff0d;padding:.35rem .8rem}.skill-bar{margin-bottom:.6rem}.skill-bar-header{font-size:var(--text-xs);justify-content:space-between;margin-bottom:4px;display:flex}.skill-bar-name{color:var(--color-text-secondary)}.skill-bar-pct{color:var(--color-accent);font-weight:600}.skill-bar-track{background:#ffffff0d;border-radius:99px;height:6px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--color-accent), var(--color-purple));height:100%;box-shadow:0 0 10px var(--color-accent-glow);border-radius:99px;transition:width 1.5s}.timeline-item{border-radius:var(--radius-md);border-left:3px solid var(--color-accent);background:#ffffff05;margin-bottom:.6rem;padding:.8rem .9rem}.timeline-date{font-size:var(--text-xs);color:var(--color-accent);margin-bottom:.2rem}.timeline-role{font-weight:700;font-size:var(--text-sm);margin-bottom:.15rem}.timeline-company{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:.15rem}.timeline-desc{font-size:var(--text-xs);color:var(--color-text-secondary)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.service-card{text-align:center;padding:1.75rem}.service-icon{border-radius:var(--radius-lg);border-style:solid;border-width:1px;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1rem;font-size:1.6rem;display:flex}.service-title{font-size:var(--text-base);margin-bottom:.6rem;font-weight:700}.service-desc{font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:1.6}.project-filters{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.filter-btn{border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer;font-weight:600;font-family:var(--font-mono);border:1px solid var(--border-glass);color:var(--color-text-secondary);transition:all var(--transition-base);background:#ffffff08;padding:.45rem 1.1rem}.filter-btn.active-f{color:#fff;background:#007aff26;border:1px solid #007aff4d}.project-empty{text-align:center;padding:3rem}.project-empty-icon{border-radius:var(--radius-xl);width:80px;height:80px;color:var(--color-accent);background:#007aff14;border:1px solid #007aff26;justify-content:center;align-items:center;margin:0 auto 1.5rem;font-size:2rem;display:flex}.project-empty-title{font-weight:700;font-size:var(--text-lg);margin-bottom:.5rem}.project-empty-desc{color:var(--color-text-tertiary);max-width:400px;margin:0 auto}.articles-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;display:grid}.article-card{padding:1.75rem}.article-banner{border-radius:var(--radius-md);height:120px;color:var(--color-purple);background:#bf5af20f;border:1px solid #bf5af21a;justify-content:center;align-items:center;margin-bottom:1rem;font-size:2.2rem;display:flex;position:relative}.article-category{border:1px solid var(--border-glass);font-size:var(--text-xs);color:var(--color-text-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border-radius:99px;padding:.2rem .7rem;position:absolute;bottom:8px;left:8px}.article-meta{font-size:var(--text-xs);color:var(--color-text-tertiary);gap:1rem;margin-bottom:.5rem;display:flex}.article-title{font-weight:700;font-size:var(--text-base);margin-bottom:.5rem}.article-desc{font-size:var(--text-sm);color:var(--color-text-tertiary)}.social-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.social-card{transition:all var(--transition-base);flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 1.25rem;text-decoration:none;display:flex}.social-icon-circle{width:52px;height:52px;transition:all var(--transition-base);border-style:solid;border-width:1px;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.social-label{font-weight:700;font-size:var(--text-sm);color:var(--color-text-primary)}.social-handle{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.contact-methods{flex-direction:column;gap:.75rem;display:flex}.contact-method{cursor:pointer;align-items:center;gap:.85rem;padding:1.05rem;text-decoration:none;display:flex}.contact-method.no-link{cursor:default}.contact-method-icon{border-radius:var(--radius-md);width:48px;height:48px;color:var(--color-accent);background:#007aff1a;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;display:flex}.contact-method-title{font-weight:700;font-size:var(--text-sm)}.contact-method-detail{font-size:var(--text-xs);color:var(--color-text-tertiary)}.contact-form{padding:1.75rem}.contact-success{border-radius:var(--radius-md);color:var(--color-success);background:#30d1581a;border:1px solid #30d1584d;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form-group{margin-bottom:1rem}.form-label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.5px;margin-bottom:.4rem;display:block}.form-input{border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast);background:#0000004d;outline:none;padding:.7rem .9rem}.form-input:focus{border-color:var(--color-accent)}.form-select{border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast);background:#0000004d;outline:none;padding:.7rem .9rem}.form-textarea{border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);font-size:var(--text-sm);resize:vertical;min-height:110px;transition:border-color var(--transition-fast);background:#0000004d;outline:none;padding:.7rem .9rem}.form-error{color:var(--color-error);font-size:var(--text-xs);margin-top:4px;display:none}.form-error.visible{display:block!important}.form-submit{justify-content:center;width:100%}.github-widget{margin-top:1.5rem;padding:1.5rem}.github-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.github-avatar{border-radius:var(--radius-md);background:#ffffff14;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;display:flex}.github-name{font-weight:700;font-size:var(--text-base);margin-bottom:2px}.github-sub{font-size:var(--text-xs);color:var(--color-text-tertiary)}.github-stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem;display:grid}.github-stat{text-align:center;border-radius:var(--radius-md);border:1px solid var(--border-glass);background:#ffffff05;padding:.85rem}.github-stat-icon{color:var(--color-accent);margin-bottom:.35rem;font-size:1rem;display:block}.github-stat-val{font-size:1.6rem;font-weight:800;font-family:var(--font-mono)}.github-stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.github-section-title{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:.5rem;font-weight:600}.github-heatmap{flex-wrap:wrap;gap:3px;margin-bottom:1.25rem;display:flex}.github-heat-cell{border-radius:3px;width:13px;height:13px}.github-repo-list{flex-direction:column;gap:.5rem;display:flex}.github-repo{border-radius:var(--radius-md);transition:background var(--transition-fast);border:1px solid var(--border-glass);background:#ffffff06;justify-content:space-between;align-items:center;padding:.6rem .85rem;text-decoration:none;display:flex}.github-repo:hover{background:#ffffff0d}.github-repo-info{align-items:center;gap:.5rem;display:flex}.github-repo-name{font-size:var(--text-sm);font-weight:600}.github-repo-lang{font-size:var(--text-xs);color:var(--color-text-tertiary);align-items:center;gap:4px;display:flex}.github-repo-lang-dot{border-radius:50%;width:10px;height:10px}.github-repo-stats{font-size:var(--text-xs);color:var(--color-text-tertiary);gap:.75rem;display:flex}.floating-theme{z-index:100;position:fixed;bottom:80px;right:20px}.floating-theme-btn{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);width:48px;height:48px;color:var(--color-text-primary);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-base);background:#141419d9;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.floating-theme-dropdown{-webkit-backdrop-filter:blur(30px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);min-width:150px;box-shadow:var(--shadow-xl);background:#14141eeb;padding:.5rem;display:none;position:absolute;bottom:56px;right:0}.floating-theme-option{border-radius:var(--radius-md);width:100%;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;text-align:left;transition:all var(--transition-fast);background:0 0;border:none;padding:.55rem .85rem;display:block}.floating-theme-option.selected{color:#fff;background:#007aff1f}.floating-theme-dot{margin-right:10px;font-size:.6rem}.back-to-top{z-index:100;-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);width:48px;height:48px;color:var(--color-text-primary);cursor:pointer;box-shadow:var(--shadow-lg);transition:opacity var(--transition-base), transform var(--transition-base);background:#141419d9;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:fixed;bottom:20px;right:20px}.back-to-top.hidden{opacity:0;pointer-events:none}.palette-overlay{-webkit-backdrop-filter:blur(20px);z-index:500;background:#0000008c;justify-content:center;padding-top:14vh;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.palette-dialog{-webkit-backdrop-filter:blur(60px);border-radius:var(--radius-2xl);border:1px solid var(--border-glass);background:#191923e0;width:92%;max-width:600px;overflow:hidden;box-shadow:0 30px 80px #000000b3,inset 0 1px #ffffff0f}.palette-search{border-bottom:1px solid var(--border-glass);align-items:center;gap:.85rem;padding:1rem 1.25rem;display:flex}.palette-search-icon{color:var(--color-text-tertiary);font-size:1.1rem}.palette-input{color:var(--color-text-primary);font-size:var(--text-base);background:0 0;border:none;outline:none;flex:1}.palette-list{max-height:380px;padding:.5rem;overflow-y:auto}.palette-section-title{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;padding:.4rem 1rem;font-weight:600}.palette-item{border-radius:var(--radius-lg);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);background:0 0;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.palette-item.highlighted{color:#fff;background:#007aff1a}.palette-item-small{padding:.55rem 1rem}.palette-item-icon{border-radius:var(--radius-md);width:36px;height:36px;font-size:var(--text-sm);background:#ffffff0d;flex-shrink:0;justify-content:center;align-items:center;display:flex}.palette-item-title{font-size:var(--text-sm);font-weight:600}.palette-item-sub{font-size:var(--text-xs);color:var(--color-text-tertiary)}.palette-item-shortcut{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono);margin-left:auto}.palette-footer{border-top:1px solid var(--border-glass);font-size:var(--text-xs);color:var(--color-text-tertiary);justify-content:space-between;padding:.5rem 1rem;display:flex}.footer{padding:var(--space-16) 0 var(--space-8);border-top:1px solid var(--border-glass);background:#00000059}.footer-inner{text-align:center}.footer-brand{font-family:var(--font-mono);font-size:var(--text-lg);justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:700;display:flex}.footer-title{color:var(--color-text-tertiary);font-size:var(--text-sm);margin-bottom:1.25rem}.footer-nav{margin-bottom:1.25rem}.footer-nav-list{flex-wrap:wrap;justify-content:center;gap:1rem;padding:0;display:flex}.footer-nav-link{color:var(--color-text-tertiary);font-size:var(--text-xs);transition:color var(--transition-fast);align-items:center;gap:.4rem;text-decoration:none;display:flex}.footer-nav-link:hover{color:var(--color-text-primary)}.footer-socials{justify-content:center;gap:1rem;margin-bottom:1.25rem;display:flex}.footer-social-link{border:1px solid var(--border-glass);width:40px;height:40px;color:var(--color-text-secondary);font-size:var(--text-base);transition:all var(--transition-fast);background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex}.footer-social-link:hover{color:var(--color-text-primary);background:#ffffff1a}.footer-tech{color:var(--color-text-tertiary);font-size:var(--text-sm);justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.footer-copy{color:var(--color-text-tertiary);font-size:var(--text-xs)}.footer-easter{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono);opacity:.5;margin-top:.75rem}.header-user-menu{align-items:center;gap:.5rem;display:flex}.header-user-avatar{object-fit:cover;border:1px solid var(--border-glass);border-radius:50%;width:32px;height:32px}.header-user-avatar-fallback{color:var(--color-text-secondary);background:#ffffff14;justify-content:center;align-items:center;font-size:.8rem;display:flex}.header-user-info{align-items:center;gap:.4rem;display:flex}.header-user-name{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100px;overflow:hidden}.header-user-logout{cursor:pointer;width:28px;height:28px;color:var(--color-error);transition:all var(--transition-fast);background:#f43f5e14;border:1px solid #f43f5e26;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.65rem;display:flex}.header-user-logout:hover{background:#f43f5e2e;border-color:#f43f5e4d}.header-signin-btn{border-radius:var(--radius-full);border:1px solid var(--border-glass);height:36px;color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-base);white-space:nowrap;background:#ffffff0d;align-items:center;gap:.4rem;padding:.4rem .75rem;font-weight:500;display:flex}.header-signin-btn:hover{border-color:var(--border-glass-hover);color:var(--color-text-primary);background:#ffffff1a}@media (width<=900px){.desktop-nav{display:none!important}.nav-label{display:none}.mobile-menu-btn,.mobile-nav-open .mobile-menu-dropdown{display:flex!important}}.mobile-menu-dropdown{top:calc(var(--header-height) + 4px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--border-glass);border-radius:var(--radius-xl);z-index:400;box-shadow:var(--shadow-xl);background:#141419f2;flex-direction:column;gap:2px;padding:.5rem;display:none;position:absolute;left:8px;right:8px}.mobile-menu-dropdown .nav-link{border-radius:var(--radius-lg);justify-content:flex-start;width:100%;padding:.75rem 1rem}@media (width<=768px){.hero-section{min-height:100dvh;padding-top:calc(var(--header-height) + 1rem);padding-bottom:2rem}.hero-inner{padding:0 1rem}.hero-title{font-size:clamp(1.6rem,8vw,2.5rem)}.hero-sub{font-size:clamp(1.1rem,5vw,1.6rem)}.hero-desc{padding:0 .5rem;font-size:.875rem}.hero-actions{gap:.5rem}.hero-actions .btn{font-size:var(--text-sm);padding:.65rem 1.2rem}.hero-badge{font-size:var(--text-xs);padding:.3rem .8rem}.terminal-title{font-size:.55rem}.terminal-body{max-height:200px;font-size:.65rem}.terminal-header{gap:5px;padding:.45rem .75rem}.terminal-dot{width:8px;height:8px}.terminal-input-prompt{font-size:.6rem}.terminal-input{font-size:.65rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.stat-card{padding:1rem .75rem}.stat-value{font-size:1.4rem}.stat-icon{font-size:1.1rem}.about-grid{grid-template-columns:1fr;gap:1rem}.about-card{padding:1.25rem}.services-grid{grid-template-columns:1fr;gap:.75rem}.service-card{padding:1.25rem}.service-icon{width:48px;height:48px;font-size:1.3rem}.project-filters{gap:.35rem}.filter-btn{padding:.35rem .75rem;font-size:.65rem}.project-empty{padding:2rem 1rem}.articles-grid{grid-template-columns:1fr;gap:.75rem}.article-card{padding:1.25rem}.article-banner{height:100px}.social-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.social-card{padding:1rem .75rem}.social-icon-circle{width:40px;height:40px;font-size:1.1rem}.social-handle{text-overflow:ellipsis;max-width:100%;font-size:.6rem;overflow:hidden}.contact-grid{grid-template-columns:1fr;gap:1rem}.contact-form{padding:1.25rem}.form-row{grid-template-columns:1fr}.form-input,.form-select,.form-textarea{padding:.6rem .75rem;font-size:16px}.contact-method{padding:.85rem}.contact-method-icon{width:40px;height:40px;font-size:1rem}.github-widget{padding:1rem}.github-stats-grid{grid-template-columns:repeat(3,1fr);gap:.4rem}.github-stat{padding:.6rem .4rem}.github-stat-val{font-size:1.2rem}.github-repo{flex-direction:column;align-items:flex-start;gap:.5rem}.github-repo-stats{justify-content:flex-end;width:100%}.github-heat-cell{width:8px;height:8px}.floating-theme{bottom:70px;right:12px}.floating-theme-btn{width:42px;height:42px;font-size:1rem}.back-to-top{width:42px;height:42px;font-size:1rem;bottom:16px;right:12px}.header-brand{font-size:var(--text-xs);padding:.4rem .75rem}.header-inner{gap:.5rem;padding:0 .75rem}.btn-cmd{font-size:var(--text-xs);padding:.4rem .5rem}.footer{padding:var(--space-10) 0 var(--space-6)}.footer-brand{font-size:var(--text-base)}.footer-nav-list{gap:.6rem}.footer-nav-link{font-size:.7rem}.footer-copy{padding:0 .5rem;font-size:.7rem}.section{padding:var(--space-12) 0}.section-title{font-size:var(--text-xl)}.section-subtitle{font-size:var(--text-sm);padding:0 .5rem}.palette-overlay{padding-top:4vh}.palette-dialog{border-radius:var(--radius-xl);width:96%}.palette-search{padding:.75rem 1rem}.palette-item{gap:.5rem;padding:.5rem .75rem}.palette-item-icon{width:30px;height:30px;font-size:.7rem}.palette-item-title{font-size:var(--text-xs)}.palette-item-sub{font-size:.6rem;display:none}.palette-item-shortcut{display:none}.palette-footer{flex-wrap:wrap;justify-content:center;gap:.5rem}.palette-section-title{padding:.3rem .75rem;font-size:.6rem}}@media (width<=400px){.stats-grid,.social-grid{grid-template-columns:repeat(2,1fr)}.github-stats-grid{grid-template-columns:repeat(3,1fr)}}.mobile-nav-overlay{z-index:299;background:#0006;display:none;position:fixed;inset:0}.mobile-nav-open .mobile-nav-overlay{display:block}@media (width>=901px){.mobile-nav-overlay,.mobile-menu-dropdown{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-login-page,.admin-dashboard-page{color:#faf8fff2;min-height:100dvh;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background:#03000a;justify-content:center;align-items:center;display:flex}.admin-bg{pointer-events:none;z-index:-1;position:fixed;inset:0}.admin-bg-orb{filter:blur(100px);opacity:.15;border-radius:50%;position:absolute}.admin-bg-orb-1{background:radial-gradient(circle,#8b5cf6,#0000 70%);width:600px;height:600px;top:-200px;left:-150px}.admin-bg-orb-2{background:radial-gradient(circle,#6366f1,#0000 70%);width:500px;height:500px;bottom:-150px;right:-100px}.admin-login-card{-webkit-backdrop-filter:blur(60px);background:#0f0a2399;border:1px solid #ffffff0f;border-radius:36px;width:92%;max-width:420px;padding:2.5rem 2rem;animation:.6s adminFadeUp;box-shadow:0 25px 60px #000000b3,inset 0 1px #ffffff0a}@keyframes adminFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-login-icon{color:#8b5cf6;background:#8b5cf61f;border:2px solid #8b5cf640;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.5rem;font-size:1.8rem;display:flex}.admin-login-title{text-align:center;margin-bottom:.3rem;font-size:1.4rem;font-weight:700}.admin-login-sub{text-align:center;color:#c8b9f073;margin-bottom:1.8rem;font-size:.85rem}.admin-form-group{margin-bottom:1rem}.admin-form-label{color:#c8b9f073;text-transform:uppercase;letter-spacing:1px;margin-bottom:.35rem;font-size:.75rem;display:block}.admin-form-input{color:#faf8fff2;background:#0000004d;border:1px solid #ffffff0f;border-radius:16px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.admin-form-input:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px #8b5cf626}.admin-btn-primary{cursor:pointer;color:#fff;background:linear-gradient(135deg,#8b5cf640,#6366f126);border:1px solid #8b5cf64d;border-radius:16px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.8rem;font-size:.9rem;font-weight:700;transition:all .25s;display:flex}.admin-btn-primary:hover{background:linear-gradient(135deg,#8b5cf666,#6366f14d);border-color:#8b5cf680;box-shadow:0 0 30px #8b5cf640}.admin-btn-primary:disabled{opacity:.5;cursor:not-allowed}.admin-login-error{color:#f43f5e;text-align:center;margin-top:.8rem;font-size:.8rem}.admin-login-message{color:#30d158;text-align:center;margin:.8rem 0;font-size:.8rem}.admin-login-error-list{margin-bottom:.8rem}.admin-login-error-item{color:#f43f5e;align-items:center;gap:.4rem;padding:.3rem 0;font-size:.78rem;display:flex}.admin-code-input{text-align:center;letter-spacing:8px;font-size:1.5rem;font-family:var(--font-mono)}.admin-login-switch{text-align:center;margin-top:.5rem}.admin-login-switch p{color:#c8b9f073;margin:0;font-size:.82rem}.admin-link-btn{color:#8b5cf6;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.3rem;padding:.2rem .4rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.admin-link-btn:hover{color:#a78bfa;background:#8b5cf61f}.admin-link-btn:disabled{opacity:.4;cursor:not-allowed}.admin-login-footer-links{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:1rem;display:flex}.admin-dashboard-inner{width:95%;max-width:1100px}.admin-dash-header{-webkit-backdrop-filter:blur(60px);background:#0f0a2399;border:1px solid #ffffff0f;border-radius:36px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.2rem 1.5rem;display:flex;box-shadow:0 15px 40px #00000080,inset 0 1px #ffffff0a}.admin-dash-header-left{align-items:center;gap:.75rem;display:flex}.admin-dash-logo{color:#8b5cf6;font-size:1.3rem}.admin-dash-header h1{margin:0;font-size:1.1rem;font-weight:700}.admin-dash-header-right{align-items:center;gap:.75rem;display:flex}.admin-dash-user{color:#c8b9f073;font-size:.8rem;font-family:var(--font-mono)}.admin-btn-sm{cursor:pointer;color:#f43f5e;background:#f43f5e1f;border:1px solid #f43f5e40;border-radius:12px;padding:.45rem 1rem;font-size:.75rem;font-weight:600;transition:all .2s}.admin-btn-sm:hover{background:#f43f5e33;border-color:#f43f5e66}.admin-stats-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.admin-stat-box{-webkit-backdrop-filter:blur(40px);text-align:center;background:#0f0a2399;border:1px solid #ffffff0f;border-radius:24px;padding:1.2rem;transition:all .3s}.admin-stat-box:hover{border-color:#ffffff24;transform:translateY(-2px)}.admin-stat-value{font-size:2rem;font-weight:800;font-family:var(--font-mono)}.admin-stat-value.admin-stat-unread{color:#8b5cf6}.admin-stat-label{color:#c8b9f073;margin-top:.2rem;font-size:.75rem}.admin-stat-icon{color:#8b5cf6;margin-bottom:.4rem;font-size:1.2rem}.admin-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.admin-tab-btn{cursor:pointer;color:#e6dcfab3;font-size:.8rem;font-weight:600;font-family:var(--font-mono);background:#ffffff08;border:1px solid #ffffff0f;border-radius:999px;padding:.5rem 1.2rem;transition:all .2s}.admin-tab-btn.active,.admin-tab-btn:hover{color:#fff;background:#8b5cf61f;border-color:#8b5cf64d}.admin-btn-danger{cursor:pointer;color:#f43f5e;font-size:.75rem;font-weight:600;font-family:var(--font-mono);background:#f43f5e14;border:1px solid #f43f5e33;border-radius:12px;margin-left:auto;padding:.45rem 1rem;transition:all .2s}.admin-btn-danger:hover{background:#f43f5e2e;border-color:#f43f5e66}.admin-messages-list{flex-direction:column;gap:.6rem;display:flex}.admin-empty{text-align:center;color:#c8b9f073;padding:3rem;font-size:.9rem}.admin-empty i{opacity:.5;margin-bottom:1rem;font-size:2.5rem;display:block}.admin-msg-card{-webkit-backdrop-filter:blur(40px);cursor:pointer;background:#0f0a2399;border:1px solid #ffffff0f;border-radius:24px;padding:1rem 1.2rem;transition:all .25s}.admin-msg-card:hover{border-color:#ffffff24;transform:translate(4px)}.admin-msg-card.unread{background:#8b5cf60a;border-left:3px solid #8b5cf6}.admin-msg-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.4rem;display:flex}.admin-msg-card-name{font-size:.9rem;font-weight:700}.admin-msg-card-email{color:#8b5cf6;font-size:.75rem;font-family:var(--font-mono)}.admin-msg-card-subject{color:#e6dcfab3;margin-bottom:.3rem;font-size:.8rem}.admin-msg-card-body{color:#e6dcfab3;margin-bottom:.5rem;font-size:.85rem;line-height:1.5}.admin-msg-card-meta{color:#c8b9f073;flex-wrap:wrap;gap:1rem;font-size:.7rem;display:flex}.admin-msg-card-actions{gap:.5rem;margin-top:.5rem;display:flex}.admin-action-btn{cursor:pointer;color:#e6dcfab3;font-size:.7rem;font-weight:600;font-family:var(--font-mono);background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:.3rem .7rem;transition:all .2s}.admin-action-btn:hover{color:#fff;background:#8b5cf61a;border-color:#8b5cf640}.admin-action-btn.del:hover{color:#f43f5e;background:#f43f5e1a;border-color:#f43f5e40}.admin-pagination{justify-content:center;gap:.5rem;margin-top:1.5rem;display:flex}.admin-page-btn{cursor:pointer;color:#e6dcfab3;font-size:.75rem;font-weight:600;font-family:var(--font-mono);background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;padding:.4rem .9rem;transition:all .2s}.admin-page-btn.active{color:#fff;background:#8b5cf626;border-color:#8b5cf64d}.admin-page-btn:disabled{opacity:.3;cursor:not-allowed}.google-login-btn{cursor:pointer;color:#e6dcfae6;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:16px;justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.7rem 1rem;font-size:.85rem;font-weight:600;transition:all .25s;display:flex}.google-login-btn:hover{color:#fff;background:#ffffff14;border-color:#fff3}.google-login-btn-icon{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .2s;display:flex}.google-login-btn-icon:hover{background:#ffffff1a;border-color:#ffffff2e}.admin-login-divider{color:#c8b9f04d;text-transform:uppercase;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.75rem;display:flex}.admin-login-divider:before,.admin-login-divider:after{content:"";background:#ffffff14;flex:1;height:1px}@media (width<=600px){.admin-dash-header{text-align:center;flex-direction:column}.admin-stats-row{grid-template-columns:repeat(2,1fr)}.admin-msg-card-header{flex-direction:column;gap:.3rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1a padding-box padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:#fff3 padding-box padding-box}::selection{color:var(--color-text-primary);background:#007aff4d}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.liquid-glass{background:var(--glass-base);-webkit-backdrop-filter:blur(40px)saturate(180%)brightness(1.1);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff14;transition:all var(--transition-liquid);contain:layout style paint;position:relative;overflow:hidden}.liquid-glass:before{content:"";background:radial-gradient(600px circle at var(--specular-x) var(--specular-y), #ffffff1f, transparent 40%);opacity:0;transition:opacity var(--transition-slow);pointer-events:none;z-index:1;border-radius:inherit;position:absolute;inset:0}.liquid-glass:after{content:"";pointer-events:none;z-index:1;border-radius:inherit;background:linear-gradient(135deg,#ffffff14 0%,#0000 50%,#ffffff08 100%);position:absolute;inset:0}.liquid-glass:hover{background:var(--glass-base-hover);border-color:var(--border-glass-hover);box-shadow:var(--shadow-xl), inset 0 1px 0 #ffffff1f, var(--shadow-glow)}.liquid-glass:hover:before{opacity:1}.liquid-glass>*{z-index:2;position:relative}.container{width:100%;max-width:var(--container-max);padding:0 var(--container-padding);margin:0 auto}.btn{border-radius:var(--radius-full);font-size:var(--text-sm);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-base);white-space:nowrap;will-change:transform;background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--border-glass-hover);box-shadow:var(--shadow-glow);background:#ffffff1f;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#007aff40,#a855f726);border-color:#007aff4d}.btn-primary:hover{background:linear-gradient(135deg,#007aff66,#a855f740);border-color:#007aff80;box-shadow:0 0 30px #007aff40}.btn-lg{font-size:var(--text-base);padding:1rem 2rem;font-weight:700}.section{padding:var(--space-20) 0}.section-header{text-align:center;margin-bottom:var(--space-12)}.section-label{font-size:var(--text-xs);color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-full);margin-bottom:var(--space-4);background:#007aff1a;align-items:center;gap:.5rem;padding:.4rem 1rem;font-weight:600;display:inline-flex}.section-title{font-family:var(--font-mono);font-size:var(--text-3xl);margin-bottom:var(--space-3);color:var(--color-text-primary);font-weight:700}.section-subtitle{color:var(--color-text-tertiary);font-size:var(--text-base);max-width:560px;margin:0 auto}.section-divider{background:linear-gradient(90deg, var(--color-accent), var(--color-purple));border-radius:var(--radius-full);width:60px;height:3px;margin:var(--space-6) auto 0}.section-animate{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.section-animate.revealed{opacity:1;transform:translateY(0)}.skip-link{background:var(--color-accent);color:#fff;z-index:var(--z-modal);border-radius:0 0 var(--radius-sm) 0;padding:.5rem 1rem;position:absolute;top:-100%;left:0}.skip-link:focus{top:0}@media (width<=768px){:root{--header-height:60px;--text-3xl:1.5rem}.section{padding:var(--space-12) 0}.section-title{font-size:var(--text-2xl)}.section-header{margin-bottom:var(--space-8)}.btn-lg{font-size:var(--text-sm);padding:.8rem 1.5rem}}@media (width<=480px){.section-title{font-size:var(--text-xl)}}
