@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-main:#07080b;--bg-card:#0d1017a6;--bg-card-hover:#141a26cc;--bg-nav:#07080bbf;--color-primary:#00f2fe;--color-secondary:#4facfe;--color-accent:#b16cff;--color-success:#10b981;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#4b5563;--border-color:#ffffff0f;--border-glow:#00f2fe26;--border-hover:#ffffff26;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", sans-serif;--font-mono:"Fira Code", monospace;--max-width:1200px;--header-height:70px;scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.app-layout{z-index:1;position:relative}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 2rem}section{width:100%;scroll-margin-top:calc(var(--header-height) + 1.5rem);padding:6rem 0;position:relative}@media (width<=768px){.container{padding:0 1.25rem}section{padding:4.5rem 0}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1}h2{text-align:center;background:linear-gradient(135deg, #fff 30%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.85rem;font-size:clamp(2rem,3.5vw,2.75rem);position:relative}h2+.section-subtitle{margin-top:0}h2:after{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));border-radius:2px;width:50px;height:3px;margin:.75rem auto 0;display:block}p{color:var(--text-secondary);font-size:1.1rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 8px 32px #0000004d}.glass-card:hover{border-color:var(--border-hover);transform:translateY(-5px);box-shadow:0 12px 40px #00f2fe1a}.btn{font-family:var(--font-sans);cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);color:#07080b;border:none;box-shadow:0 4px 20px #00f2fe4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00f2fe73}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0}.btn-secondary:hover{border-color:var(--color-primary);background:#00f2fe0d;transform:translateY(-2px)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse-glow{0%,to{opacity:.6;box-shadow:0 0 15px #00f2fe33}50%{opacity:1;box-shadow:0 0 25px #00f2fe80}}@keyframes blink{50%{opacity:0}}.animate-float{animation:6s ease-in-out infinite float}.blink-cursor:after{content:"|";color:var(--color-primary);font-weight:700;animation:1s step-end infinite blink}.code-block{font-family:var(--font-mono);border:1px solid var(--border-color);color:#8be9fd;text-align:left;background:#050508e6;border-radius:8px;padding:1rem;font-size:.9rem;overflow-x:auto}.grid-layout{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.navbar{width:100%;height:var(--header-height);z-index:100;border-bottom:1px solid #0000;transition:all .3s;position:fixed;top:0;left:0}.navbar.scrolled{background-color:var(--bg-nav);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);box-shadow:0 4px 20px #0000004d}.navbar-container{max-width:var(--max-width);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 2rem;display:flex}.navbar-logo{font-family:var(--font-mono);color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.logo-brand{align-items:center;gap:.65rem;display:inline-flex}.logo-mark{filter:drop-shadow(0 0 6px #00f2fe33);flex-shrink:0;transition:filter .3s,transform .3s;display:block}.navbar-logo:hover .logo-mark{filter:drop-shadow(0 0 10px #00f2fe73);transform:scale(1.04)}.navbar-logo .logo-text{font-family:var(--font-mono);color:var(--text-primary);font-size:1.25rem;font-weight:700}.navbar-logo .accent{color:var(--color-primary)}.navbar-links{gap:2rem;display:flex}@media (width<=768px){.navbar-links{display:none}}.nav-link{color:var(--text-secondary);padding:.25rem 0;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-link:hover,.nav-link.active{color:var(--color-primary)}.nav-link:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.mobile-menu-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}@media (width<=768px){.mobile-menu-toggle{display:block}}.mobile-menu{top:var(--header-height);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);z-index:99;background:#07080bf2;flex-direction:column;gap:1.25rem;width:100%;padding:1.5rem;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;left:0;transform:translateY(-140%)}.mobile-menu.open{transform:translateY(0)}.mobile-nav-link{color:var(--text-secondary);border-bottom:1px solid #ffffff08;padding:.5rem 0;font-size:1.1rem;font-weight:500;text-decoration:none;transition:color .3s}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--color-primary)}.hero-section{min-height:calc(100vh - var(--header-height));margin-top:var(--header-height);align-items:center;padding:3rem 0;display:flex;position:relative;overflow:hidden}.hero-container{grid-template-columns:1.2fr .8fr;align-items:center;gap:4rem;display:grid}@media (width<=968px){.hero-container{text-align:center;grid-template-columns:1fr;gap:3rem}.hero-subtitle,.hero-actions{flex-wrap:wrap;justify-content:center}}.hero-content{flex-direction:column;align-items:flex-start;display:flex}@media (width<=968px){.hero-content{align-items:center}}.hero-tagline{font-family:var(--font-mono);color:var(--color-primary);background:#00f2fe0d;border:1px solid #00f2fe26;border-radius:9999px;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.85rem;display:inline-flex}.hero-title{text-align:left;margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.15}@media (width<=968px){.hero-title{text-align:center}}.gradient-text{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 50%, var(--color-accent) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;animation:4s linear infinite shine}@keyframes shine{to{background-position:200%}}.hero-subtitle{font-family:var(--font-mono);color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:1.5rem;font-size:clamp(1.2rem,2.5vw,1.75rem);font-weight:500;display:flex}.typed-text{color:var(--color-primary);text-shadow:0 0 10px #00f2fe33}.hero-description{color:var(--text-secondary);text-align:left;max-width:600px;margin-bottom:2.5rem;font-size:1.15rem}@media (width<=968px){.hero-description{text-align:center;margin-left:auto;margin-right:auto}}.hero-actions{gap:1.25rem;display:flex}.hero-graphic{justify-content:center;width:100%;display:flex}.terminal-card{width:100%;max-width:460px;font-family:var(--font-mono);text-align:left;background:#0d1017d9;border-radius:12px;font-size:.85rem;box-shadow:0 20px 50px #0006,0 0 30px #00f2fe0d}.terminal-header{border-bottom:1px solid var(--border-color);background:#ffffff05;align-items:center;height:38px;padding:0 1rem;display:flex;position:relative}.terminal-dots{gap:.4rem;display:flex}.terminal-dots .dot{border-radius:50%;width:11px;height:11px;display:block}.terminal-dots .dot.red{background-color:#ff5f56}.terminal-dots .dot.yellow{background-color:#ffbd2e}.terminal-dots .dot.green{background-color:#27c93f}.terminal-title{color:var(--text-secondary);font-size:.75rem;position:absolute;left:50%;transform:translate(-50%)}.terminal-body{padding:1.25rem}.terminal-line{color:var(--text-primary);line-height:1.6}.terminal-prompt{color:var(--color-primary);margin-right:.5rem}.margin-top{margin-top:1.25rem}.neofetch-output{gap:1.5rem;margin-top:.5rem;display:flex}@media (width<=480px){.neofetch-output{flex-direction:column;align-items:flex-start;gap:.75rem}.terminal-card{font-size:.78rem}}.neofetch-logo pre{color:var(--color-accent);font-weight:700;line-height:1.1}.neofetch-specs{flex-direction:column;gap:.25rem;display:flex}.spec-label{color:var(--color-primary);font-weight:500}.terminal-status-output{flex-direction:column;gap:.4rem;margin-top:.5rem;padding-left:.5rem;display:flex}.status-item{color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.status-icon{color:var(--color-secondary)}.text-success{color:var(--color-success);text-shadow:0 0 8px #10b98140;font-weight:600}.visualizer-section{background:radial-gradient(circle,#00f2fe05 0%,#0000 80%)}.section-subtitle{text-align:center;max-width:640px;color:var(--text-secondary);margin:0 auto 3.5rem;font-size:1.05rem;line-height:1.7}.visualizer-triggers{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:3rem;display:flex}.btn-trigger{border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;background:#0d1017d9;border-radius:12px;align-items:center;gap:.75rem;padding:.85rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 15px #0003}.btn-trigger:hover:not(:disabled){border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.btn-trigger:disabled{opacity:.5;cursor:not-allowed}.active-profile{border-color:var(--color-primary);box-shadow:0 0 15px #00f2fe40}.active-order{border-color:var(--color-accent);box-shadow:0 0 15px #b16cff40}.active-report{border-color:#f97316;box-shadow:0 0 15px #f9731640}.trigger-badge{border-radius:6px;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.badge-read{color:var(--color-primary);background:#00f2fe1a}.badge-db{color:var(--color-accent);background:#b16cff1a}.badge-pubsub{color:#f97316;background:#f973161a}.visualizer-stage{scroll-margin-top:calc(var(--header-height) + 1rem)}.visualizer-sandbox{border:1px solid var(--border-color);background:#0a0c1280;margin-bottom:0;padding:2rem;box-shadow:0 10px 40px #0006}.visualizer-sandbox .logs-terminal{border-top:1px solid var(--border-color);border-radius:0 0 12px 12px;width:calc(100% + 4rem);margin:2rem -2rem -2rem}.sandbox-stats{border-bottom:1px solid var(--border-color);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;display:grid}.stat-pill{text-align:center;background:#ffffff04;border:1px solid #ffffff08;border-radius:10px;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.stat-value{font-family:var(--font-mono);font-size:1.15rem;font-weight:700}.architecture-grid{flex-direction:column;gap:2.5rem;padding:1rem 0;display:flex}.arch-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;display:flex}.sub-row-sync,.sub-row-async{gap:3.5rem;margin-top:.5rem}.arrow-connector{font-family:var(--font-mono);color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:1.5rem}@media (width<=768px){.arch-row{flex-direction:column;gap:1.25rem}.arrow-connector{margin:.5rem 0;transform:rotate(90deg)}.sub-row-sync,.sub-row-async{gap:1.25rem;margin-top:1.5rem}}.node-card{background:#121621d9;border:1px solid #ffffff0a;border-radius:12px;align-items:center;gap:1rem;width:250px;max-width:100%;padding:1rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 15px #0003}.node-card h4{font-family:var(--font-heading);color:var(--text-primary);font-size:1rem;font-weight:600}.node-info{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.node-sub{color:var(--text-secondary);font-size:.75rem}.node-icon-wrapper{width:44px;height:44px;color:var(--text-secondary);background:#ffffff05;border:1px solid #ffffff0d;border-radius:10px;justify-content:center;align-items:center;transition:all .4s;display:flex}.active-node{transform:translateY(-2px)}.active-node h4{color:#fff}.glowing-cyan{border-color:var(--color-primary);box-shadow:0 0 20px #00f2fe40}.glowing-cyan .node-icon-wrapper{border-color:var(--color-primary);color:var(--color-primary);background:#00f2fe1a}.glowing-blue{border-color:var(--color-secondary);box-shadow:0 0 20px #4facfe40}.glowing-blue .node-icon-wrapper{border-color:var(--color-secondary);color:var(--color-secondary);background:#4facfe1a}.glowing-purple{border-color:var(--color-accent);box-shadow:0 0 20px #b16cff40}.glowing-purple .node-icon-wrapper{border-color:var(--color-accent);color:var(--color-accent);background:#b16cff1a}.glowing-success{border-color:var(--color-success);box-shadow:0 0 20px #10b98140}.glowing-success .node-icon-wrapper{border-color:var(--color-success);color:var(--color-success);background:#10b9811a}.glowing-db{border-color:#3b82f6;box-shadow:0 0 20px #3b82f640}.glowing-db .node-icon-wrapper{color:#3b82f6;background:#3b82f61a;border-color:#3b82f6}.glowing-orange{border-color:#f97316;box-shadow:0 0 20px #f9731640}.glowing-orange .node-icon-wrapper{color:#f97316;background:#f973161a;border-color:#f97316}.spin-slow{animation:12s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logs-terminal{border:1px solid var(--border-color);background:#05070af2;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 15px 40px #00000080}.logs-terminal .terminal-body{flex-direction:column;gap:.35rem;height:220px;padding:1rem 1.25rem;display:flex;overflow-y:auto}.clear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;display:flex;position:absolute;right:1rem}.clear-btn:hover{color:var(--color-primary);background:#ffffff0d}.inline-icon{vertical-align:middle;margin-right:.25rem;display:inline-block}.log-line{font-family:var(--font-mono);text-align:left;font-size:.825rem;line-height:1.5;display:flex}.log-time{color:var(--text-muted);-webkit-user-select:none;user-select:none;margin-right:.75rem}.log-prefix{-webkit-user-select:none;user-select:none;width:65px;margin-right:.75rem;font-weight:600;display:inline-block}.log-text{word-break:break-all}.log-info{color:var(--text-secondary)}.log-info .log-prefix{color:var(--color-secondary)}.log-success,.log-success .log-prefix{color:var(--color-success)}.log-db,.log-db .log-prefix{color:#60a5fa}.log-pubsub,.log-pubsub .log-prefix{color:#fb923c}.log-worker,.log-worker .log-prefix{color:#2dd4bf}.skills-section{background:radial-gradient(circle at 10% 90%,#b16cff05 0%,#0000 70%)}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;gap:2rem;margin-top:1rem;display:grid}.skills-category-card{background:#0d10178c;flex-direction:column;gap:1.5rem;height:100%;padding:1.75rem;display:flex}.category-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;padding-bottom:1rem;display:flex}.category-header h3{color:var(--text-primary);letter-spacing:-.01em;font-size:1.2rem;font-weight:700}.cat-icon{justify-content:center;align-items:center;display:flex}.cat-icon-cyan{color:var(--color-primary)}.cat-icon-green{color:var(--color-success)}.cat-icon-purple{color:var(--color-accent)}.cat-icon-blue{color:var(--color-secondary)}.category-skills-list{flex-direction:column;flex:1;gap:1rem;display:flex}.skill-item-wrapper{cursor:default;text-align:left;background:#ffffff03;border:1px solid #ffffff05;border-radius:12px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.skill-item-wrapper:hover{border-color:var(--hover-color);box-shadow:0 4px 20px #0000004d, 0 0 10px rgba(var(--hover-color), .2);background:#ffffff09;transform:translateY(-2px)scale(1.01)}.skill-item-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.skill-name-row{align-items:center;gap:.55rem;min-width:0;display:inline-flex}.skill-item-wrapper:hover .tech-icon{color:var(--hover-color);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--hover-color) 45%, transparent))}.skill-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.skill-dot-indicator{border-radius:50%;width:7px;height:7px;transition:transform .3s;box-shadow:0 0 8px}.skill-item-wrapper:hover .skill-dot-indicator{transform:scale(1.3)}.skill-desc{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.4;transition:color .3s}.skill-item-wrapper:hover .skill-desc{color:var(--text-primary)}.projects-section{background:radial-gradient(circle at 90% 10%,#00f2fe05 0%,#0000 70%)}.projects-groups{flex-direction:column;gap:3.5rem;display:flex}.projects-group-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:.75rem;font-size:.8rem;font-weight:600}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:stretch;gap:2rem;display:grid}@media (width<=768px){.projects-grid{grid-template-columns:1fr}}.project-card{background:#0d10178c;flex-direction:column;height:100%;padding:2rem;display:flex}.project-card.glass-card:hover{transform:translateY(-3px)}.project-header{text-align:left;margin-bottom:1.25rem}.project-category{font-family:var(--font-mono);text-transform:uppercase;color:var(--color-primary);letter-spacing:.1em;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.project-card h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.35}.project-desc{color:var(--text-secondary);text-align:left;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.project-diagram{background:#05070a8c;border:1px solid #ffffff0f;border-radius:10px;justify-content:center;align-items:center;min-height:132px;margin-bottom:1.5rem;padding:1rem .75rem;display:flex}.project-diagram-svg{width:100%;height:118px;display:block;overflow:visible}.svg-node{stroke:#ffffff24;stroke-width:1.2px;fill:#ffffff0a;transition:all .3s cubic-bezier(.4,0,.2,1)}.svg-text{fill:#f3f4f6f5;font-size:10.5px;font-family:var(--font-mono);letter-spacing:.03em;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke fill;stroke:#05070ad9;stroke-width:3px;stroke-linejoin:round;font-weight:600;transition:fill .3s}.node-gray{fill:#ffffff05}.node-cyan{fill:#00f2fe05;stroke:#00f2fe26}.node-orange{fill:#f9731605;stroke:#f9731626}.node-blue{fill:#4285f405;stroke:#4285f426}.node-green{fill:#6db33f05;stroke:#6db33f26}.node-red{fill:#dc382d05;stroke:#dc382d26}.node-teal{fill:#2dd4bf05;stroke:#2dd4bf26}.node-python{fill:#3776ab05;stroke:#3776ab26}.svg-line{stroke:#ffffff14;stroke-width:1.2px;stroke-dasharray:4 4;fill:none;transition:all .3s}.line-secondary{stroke:#ffffff0a;stroke-width:1px;fill:none}.project-card:hover .svg-node{stroke-width:1.5px}.project-card:hover .node-cyan{fill:#00f2fe14;stroke:var(--color-primary)}.project-card:hover .node-orange{fill:#f9731614;stroke:#f97316}.project-card:hover .node-blue{fill:#4285f414;stroke:var(--color-secondary)}.project-card:hover .node-green{fill:#6db33f14;stroke:#6db33f}.project-card:hover .node-red{fill:#dc382d14;stroke:#dc382d}.project-card:hover .node-teal{fill:#2dd4bf14;stroke:#2dd4bf}.project-card:hover .node-python{fill:#3776ab14;stroke:#3776ab}.project-card:hover .svg-text{fill:#fff;stroke:#05070ae6}.project-card:hover .animate-dash{stroke:var(--color-primary);animation:1.6s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-20px}}.project-metrics{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}@media (width<=480px){.project-metrics{grid-template-columns:1fr}}.project-metrics .metric-pill{text-align:center;background:#ffffff04;border:1px solid #ffffff08;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:3.75rem;padding:.65rem .5rem;display:flex}.project-metrics .m-val{font-family:var(--font-mono);color:var(--color-primary);text-align:center;word-break:break-word;font-size:clamp(.72rem,2vw,.88rem);font-weight:700;line-height:1.35}.project-metrics .m-lbl{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;font-size:.65rem}.project-tech{flex-wrap:wrap;gap:.5rem;display:flex}.project-repo-link{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border-color);background:#ffffff05;border-radius:8px;align-items:center;gap:.4rem;width:fit-content;margin-top:1.25rem;padding:.5rem .85rem;font-size:.78rem;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.project-repo-link:hover{color:var(--color-primary);background:#00f2fe0f;border-color:#00f2fe59}.tech-tag{font-family:var(--font-mono);border:1px solid var(--border-color);color:var(--text-secondary);background:#ffffff05;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.75rem;display:inline-flex}.tech-icon{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;line-height:0;transition:color .25s,filter .25s;display:inline-flex}.project-card:hover .tech-tag .tech-icon{color:inherit}.project-card:hover .tag-go{color:#00add8;border-color:#00add8}.project-card:hover .tag-gcp{color:#4285f4;border-color:#4285f4}.project-card:hover .tag-docker{color:#2496ed;border-color:#2496ed}.project-card:hover .tag-spring{color:#6db33f;border-color:#6db33f}.project-card:hover .tag-angular{color:#dd0031;border-color:#dd0031}.project-card:hover .tag-pubsub{color:#fbbc04;border-color:#fbbc04}.project-card:hover .tag-postgres{color:#4169e1;border-color:#4169e1}.project-card:hover .tag-k8s{color:#326ce5;border-color:#326ce5}.project-card:hover .tag-python{color:#3776ab;border-color:#3776ab}.project-card:hover .tag-fastapi{color:#009688;border-color:#009688}.timeline-section{background:radial-gradient(circle at 10% 10%,#b16cff03 0%,#0000 60%)}.timeline-wrapper{max-width:800px;margin:0 auto}.branch-info-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:2.5rem;padding-left:.5rem;display:flex}@media (width<=768px){.branch-info-bar{justify-content:center;padding-left:0}}.branch-badge,.pr-badge{font-family:var(--font-mono);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.75rem;display:inline-flex}.branch-badge{color:var(--color-primary);background:#00f2fe0d;border-color:#00f2fe33}.pr-badge{color:var(--color-accent);background:#b16cff0d;border-color:#b16cff33}.branch-separator{color:var(--text-muted);font-size:.95rem}.git-timeline{flex-direction:column;display:flex;position:relative}.timeline-item{gap:1.5rem;display:flex}.timeline-item:last-child .timeline-line-connector{display:none}.timeline-node-lane{flex-direction:column;align-items:center;width:24px;display:flex;position:relative}.commit-dot-wrapper{z-index:2;justify-content:center;align-items:center;height:24px;display:flex}.commit-dot{border:2px solid var(--color-primary);background-color:var(--bg-main);border-radius:50%;width:12px;height:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #00f2fe4d}.timeline-line-connector{background-color:var(--border-color);z-index:1;flex:1;width:2px;margin-top:4px;transition:background-color .3s}.timeline-content-card{background:#0d10178c;flex:1;margin-bottom:2.5rem;padding:1.5rem}.commit-meta{font-family:var(--font-mono);justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.75rem;display:flex}.commit-hash{color:var(--text-muted);font-weight:600}.commit-date{color:var(--text-secondary)}.commit-header{text-align:left;background:#05070a66;border:1px solid #ffffff05;border-radius:8px;margin-bottom:1.25rem;padding:.6rem .85rem}.git-cmd{font-family:var(--font-mono);color:var(--color-primary);word-break:break-all;font-size:.85rem;font-weight:500}.commit-body{text-align:left}.role-company{color:var(--text-primary);margin-bottom:1rem;font-size:1rem}.company-name{color:var(--color-secondary);font-weight:600}.achievements-list{flex-direction:column;gap:.5rem;padding-left:1.25rem;display:flex}.achievements-list li{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.timeline-item:hover .commit-dot{background-color:var(--color-primary);box-shadow:0 0 15px var(--color-primary);transform:scale(1.3)}.timeline-item:hover .timeline-line-connector{background-color:#00f2fe4d}.timeline-item:hover .timeline-content-card{border-color:#00f2fe33;box-shadow:0 8px 32px #00f2fe08}.contact-section{background:radial-gradient(circle at 50% 90%,#00f2fe03 0%,#0000 70%);padding-bottom:5rem}.contact-container{grid-template-columns:.9fr 1.1fr;align-items:start;gap:4rem;display:grid}@media (width<=868px){.contact-container{grid-template-columns:1fr;gap:3rem}.contact-info{align-items:stretch}}.contact-info{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.contact-info h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.contact-info p{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.6}.info-channels{flex-direction:column;gap:1.25rem;width:100%;display:flex}.info-link{text-align:left;background:#0d101766;align-items:center;gap:1.25rem;padding:1.2rem;text-decoration:none;display:flex}.info-link:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 20px #00f2fe0d}.info-icon{color:var(--color-primary);filter:drop-shadow(0 0 4px #00f2fe33)}.info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;display:block}.info-val{color:var(--text-primary);margin-top:.15rem;font-size:.95rem;font-weight:500;display:block}.info-link:hover .info-val{color:var(--color-primary)}.contact-form-card{background:#0d10178c;padding:2.25rem}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{text-align:left;flex-direction:column;gap:.5rem;display:flex}.form-group label{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-sans);background:#05070aa6;border-radius:8px;outline:none;padding:.85rem 1rem;font-size:.95rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);background:#05070af2;box-shadow:0 0 12px #00f2fe26}.form-group .input-error{border-color:#ef4444}.form-group .input-error:focus{border-color:#ef4444;box-shadow:0 0 12px #ef444426}.error-text{color:#ef4444;align-items:center;gap:.35rem;margin-top:.15rem;font-size:.75rem;font-weight:500;display:inline-flex}.form-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-submit-error{color:#fca5a5;background:#ef444414;border:1px solid #ef444440;border-radius:8px;align-items:flex-start;gap:.5rem;margin:0;padding:.75rem 1rem;font-size:.85rem;line-height:1.45;display:flex}.btn-submit{justify-content:center;width:100%;height:48px;padding:.9rem}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.submission-success{text-align:center;flex-direction:column;align-items:center;padding:1.5rem .5rem;display:flex}.success-icon{color:var(--color-success);filter:drop-shadow(0 0 10px #10b9814d);margin-bottom:1.25rem}.submission-success h3{font-family:var(--font-mono);color:#fff;margin-bottom:.5rem;font-size:1.4rem}.success-msg{color:var(--text-secondary);max-width:320px;margin-bottom:2rem;font-size:.95rem;line-height:1.5}.success-payload{border:1px solid var(--border-color);text-align:left;width:100%;color:var(--text-secondary);background:#05070ad9;border-radius:8px;flex-direction:column;gap:.4rem;margin-bottom:2rem;padding:1.25rem;font-size:.825rem;line-height:1.6;display:flex}.success-payload strong{color:var(--color-primary);font-weight:600}.btn-reset{width:auto;padding:.6rem 1.25rem;font-size:.85rem}.footer{border-top:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);background:#080a0fb3;margin-top:0;padding:2.5rem 0}.footer-inner{flex-direction:column;align-items:center;gap:1rem;display:flex}.footer-logo .logo-mark{opacity:.85}.footer-text{color:var(--text-muted);letter-spacing:.05em;text-align:center;margin:0;font-size:.75rem}
