@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syne:wght@400;600;700;800&display=swap";:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-card: #1a1a1a;--text-primary: #fafafa;--text-secondary: #888888;--text-muted: #555555;--accent-red: #ff3333;--accent-blue: #0066ff;--accent-yellow: #ffcc00;--grid-line: rgba(255, 255, 255, .05);--border-color: #333333;--section-padding: clamp(2rem, 5vw, 6rem);--content-max: min(90%, 1400px)}[data-theme=light]{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-card: #f5f5f5;--text-primary: #0a0a0a;--text-secondary: #555555;--text-muted: #999999;--accent-red: #e63946;--accent-blue: #0066cc;--accent-yellow: #ffb703;--grid-line: rgba(0, 0, 0, .08);--border-color: #e0e0e0}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}body{font-family:Syne,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.grid-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:50px 50px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-red);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-blue)}.main-nav{padding:1rem var(--section-padding);padding-top:max(1rem,env(safe-area-inset-top,0px) + .5rem);padding-bottom:1rem;padding-left:calc(var(--section-padding) + env(safe-area-inset-left,0px));padding-right:calc(var(--section-padding) + env(safe-area-inset-right,0px));gap:2rem}.nav-logo{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(1rem,1.5vw,1.3rem);letter-spacing:-.02em;color:var(--text-primary);flex-shrink:0;position:relative;cursor:pointer;transition:transform .3s ease}.nav-logo:hover{transform:translateY(-2px)}.nav-center{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem)}.nav-links{display:flex;gap:clamp(1.5rem,2.5vw,2.5rem);list-style:none;align-items:center}.nav-links a{font-family:Space Mono,monospace;text-decoration:none;color:var(--text-secondary);font-weight:600;font-size:clamp(.75rem,.85vw,.85rem);text-transform:uppercase;letter-spacing:.15em;position:relative;padding:.5rem 0;transition:color .3s ease;cursor:pointer;white-space:nowrap}.nav-links a:hover{color:var(--text-primary)}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--accent-red);transition:width .3s ease}.nav-links a:hover:after{width:100%}.nav-toggles{display:flex;gap:.8rem;align-items:center;padding-left:clamp(1rem,2vw,2rem);border-left:1px solid var(--border-color)}.theme-toggle,.lang-toggle{background:transparent;border:2px solid var(--accent-yellow);color:var(--accent-yellow);width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.1rem;font-family:Space Mono,monospace;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:700}.theme-toggle:hover,.lang-toggle:hover{background:var(--accent-yellow);color:var(--bg-primary);transform:rotate(180deg)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:10;padding:var(--section-padding);padding-top:calc(80px + var(--section-padding));overflow:hidden}.hero-content{max-width:var(--content-max);width:100%;text-align:center;position:relative}.hero-name{font-family:Syne,sans-serif;font-size:clamp(3rem,8vw,7rem);font-weight:800;line-height:1;margin-bottom:1rem;letter-spacing:-.04em;max-width:100%;overflow-wrap:break-word;word-break:break-word}.hero-name .first{color:var(--accent-red)}.hero-name .last{color:var(--text-primary)}.hero-title{font-family:Space Mono,monospace;font-size:clamp(1.1rem,2.5vw,2rem);font-weight:700;color:var(--accent-blue);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3rem;max-width:100%;overflow-wrap:break-word;word-break:break-word}.hero-subtitle{font-family:Space Mono,monospace;font-size:clamp(1rem,1.8vw,1.3rem);color:var(--text-secondary);max-width:800px;margin:0 auto 3rem;line-height:1.9;overflow-wrap:break-word;word-break:break-word}.hero-subtitle .highlight{color:var(--accent-yellow);font-weight:700}.hero-cta{display:inline-flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}.cta-btn{font-family:Space Mono,monospace;padding:1.2rem 2.5rem;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border:none;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-decoration:none;display:inline-block}.cta-primary{background:var(--accent-red);color:#fff}.cta-primary:hover{background:var(--accent-blue);transform:translateY(-3px);box-shadow:0 10px 30px #ff33334d}.cta-secondary{background:transparent;color:var(--text-primary);border:3px solid var(--accent-yellow)}.cta-secondary:hover{background:var(--accent-yellow);color:var(--bg-primary);transform:translateY(-3px)}.cta-cv{background:transparent;color:var(--text-secondary);border:2px solid var(--border-color)}.cta-cv:hover{color:var(--text-primary);border-color:var(--accent-blue);transform:translateY(-2px)}.architecture-section{padding:var(--section-padding);position:relative;z-index:10;min-height:80vh;display:flex;align-items:center}.architecture-content{max-width:var(--content-max);width:100%;min-width:0;margin:0 auto}.section-title{font-family:Syne,sans-serif;font-size:clamp(2rem,5vw,4rem);font-weight:800;margin-bottom:1rem;position:relative;display:inline-block;max-width:100%;overflow-wrap:break-word;word-break:break-word}.section-title:after{content:"";position:absolute;bottom:-10px;left:0;width:120px;height:6px;background:var(--accent-red)}.section-subtitle{font-family:Space Mono,monospace;font-size:clamp(1rem,1.5vw,1.2rem);color:var(--text-secondary);margin-top:2rem;max-width:700px;line-height:1.8;overflow-wrap:break-word;word-break:break-word}.arch-diagram{margin-top:4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}.arch-diagram:before{content:"";position:absolute;top:50%;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-red),var(--accent-blue),var(--accent-yellow),var(--accent-red));transform:translateY(-50%);z-index:-1}.arch-module{background:var(--bg-card);border:3px solid var(--border-color);padding:2.5rem 1.5rem;text-align:center;position:relative;transition:all .4s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.arch-module:hover{transform:translateY(-15px);border-color:var(--accent-red);box-shadow:0 20px 60px #f333}.arch-icon{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;font-size:2.5rem;transition:transform .4s ease}.arch-module:hover .arch-icon{transform:rotate(360deg)}.arch-icon.backend{background:var(--accent-red);border-radius:50%}.arch-icon.ai{background:var(--accent-blue);transform:rotate(45deg)}.arch-icon.mobile{border:6px solid var(--accent-yellow)}.arch-icon.infra{width:0;height:0;border-left:40px solid transparent;border-right:40px solid transparent;border-bottom:70px solid var(--accent-red)}.arch-module-title{font-family:Syne,sans-serif;font-size:1.3rem;font-weight:800;margin-bottom:.8rem;color:var(--text-primary)}.arch-module-tech{font-family:Space Mono,monospace;font-size:.85rem;color:var(--text-secondary);line-height:1.7}.flagship-section{padding:var(--section-padding);position:relative;z-index:10}.flagship-content{max-width:var(--content-max);width:100%;min-width:0;margin:0 auto}.flagship-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:3rem;margin-top:4rem}.flagship-card{flex:1 1 450px;max-width:600px;min-width:0;background:var(--bg-card);border:4px solid var(--border-color);position:relative;overflow:hidden;transition:all .4s ease;min-height:600px}.flagship-card:hover{border-color:var(--accent-red);transform:translateY(-5px)}.flagship-header{padding:3rem 2.5rem;background:var(--bg-secondary);position:relative;overflow:hidden;min-width:0}.flagship-geometric-bg{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.3}.flagship-shape{position:absolute;transition:all .6s cubic-bezier(.34,1.56,.64,1)}.flagship-card:hover .flagship-shape{transform:rotate(180deg) scale(1.3)}.flagship-status{font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;display:inline-block;padding:.5rem 1.2rem;margin-bottom:1rem;position:relative;z-index:1}.status-ongoing{background:#fc03;color:var(--accent-yellow);border:2px solid var(--accent-yellow)}.status-complete{background:#06f3;color:var(--accent-blue);border:2px solid var(--accent-blue)}.flagship-title{font-family:Syne,sans-serif;font-size:2.5rem;font-weight:800;margin-bottom:.8rem;color:var(--text-primary);position:relative;z-index:1;max-width:100%;overflow-wrap:break-word;word-break:break-word}.flagship-role{font-family:Space Mono,monospace;font-size:1rem;color:var(--accent-red);font-weight:700;text-transform:uppercase;letter-spacing:.1em;position:relative;z-index:1;max-width:100%;overflow-wrap:break-word;word-break:break-word}.flagship-body{padding:2.5rem;min-width:0}.flagship-description{font-family:Space Mono,monospace;font-size:1rem;color:var(--text-secondary);line-height:1.9;margin-bottom:2rem;overflow-wrap:break-word;word-break:break-word}.flagship-highlights{margin-bottom:2rem}.flagship-highlights h4{font-family:Syne,sans-serif;font-size:1.2rem;font-weight:800;color:var(--accent-yellow);margin-bottom:1rem;overflow-wrap:break-word;word-break:break-word}.highlight-item{font-family:Space Mono,monospace;font-size:.9rem;overflow-wrap:break-word;word-break:break-word;color:var(--text-secondary);line-height:1.8;padding-left:1.5rem;position:relative;margin-bottom:.8rem}.highlight-item:before{content:"▸";position:absolute;left:0;color:var(--accent-red);font-weight:700}.flagship-tech-stack{display:flex;flex-wrap:wrap;gap:.8rem}.tech-badge{font-family:Space Mono,monospace;font-size:.7rem;padding:.5rem 1rem;background:transparent;border:2px solid var(--accent-blue);color:var(--accent-blue);text-transform:uppercase;letter-spacing:.1em;font-weight:700;transition:all .3s ease}.tech-badge:hover{background:var(--accent-blue);color:#fff;transform:translateY(-2px)}.flagship-actions{margin-top:1.5rem}.btn-github{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:Space Mono,monospace;font-size:.9rem;font-weight:700;color:var(--text-primary);background:var(--bg-secondary);border:2px solid var(--accent-yellow);border-radius:6px;cursor:pointer;transition:all .3s ease}.btn-github:hover{background:var(--accent-yellow);color:var(--bg-primary);transform:translateY(-2px)}.btn-github-sm{padding:.5rem 1rem;font-size:.8rem;margin-top:1rem}.repo-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.repo-modal{background:var(--bg-card);border:3px solid var(--border-color);padding:2rem;max-width:400px;width:100%;text-align:center;border-radius:12px}.repo-modal p{font-family:Space Mono,monospace;color:var(--text-primary);margin-bottom:1.5rem;line-height:1.6}.repo-modal-close{padding:.75rem 1.5rem;font-family:Space Mono,monospace;font-weight:700;background:var(--accent-red);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .3s ease}.repo-modal-close:hover{background:var(--accent-blue)}.projects-section{padding:var(--section-padding);position:relative;z-index:10}.projects-content{max-width:var(--content-max);width:100%;margin:0 auto}.projects-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem;margin-top:4rem}.project-card{flex:1 1 350px;max-width:450px;min-width:0;background:var(--bg-card);border:3px solid var(--border-color);padding:0;position:relative;overflow:hidden;cursor:pointer;transition:all .4s ease;min-height:400px}.project-card:hover{transform:scale(1.02);border-color:var(--accent-blue)}.project-geometric-bg{position:absolute;top:0;left:0;width:100%;height:180px;background:var(--bg-secondary);overflow:hidden}.project-shape{position:absolute;transition:all .6s cubic-bezier(.34,1.56,.64,1)}.project-card:hover .project-shape{transform:rotate(180deg) scale(1.2)}.project-content{position:relative;padding:2.5rem;margin-top:140px;min-width:0;overflow-wrap:break-word;word-break:break-word}.project-tag{font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-yellow);margin-bottom:1rem;display:inline-block;background:#ffcc001a;padding:.4rem 1rem}.project-title{font-family:Syne,sans-serif;font-size:1.8rem;font-weight:800;margin-bottom:1rem;color:var(--text-primary);max-width:100%;overflow-wrap:break-word;word-break:break-word}.project-description{font-family:Space Mono,monospace;font-size:.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:1.5rem;overflow-wrap:break-word;word-break:break-word}.project-tech{display:flex;flex-wrap:wrap;gap:.6rem}.project-tech .tech-badge{border-color:var(--accent-red);color:var(--accent-red);font-size:.65rem;padding:.4rem .8rem;overflow-wrap:break-word;word-break:break-word}.project-tech .tech-badge:hover{background:var(--accent-red);color:#fff}.timeline-section{padding:var(--section-padding);position:relative;z-index:10}.timeline-content{max-width:900px;margin:0 auto}.timeline{position:relative;padding:3rem 0}.timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:4px;height:100%;background:linear-gradient(to bottom,var(--accent-red),var(--accent-blue),var(--accent-yellow))}.timeline-item{position:relative;margin-bottom:4rem;display:flex;align-items:center}.timeline-item:nth-child(odd){flex-direction:row}.timeline-item:nth-child(2n){flex-direction:row-reverse}.timeline-shape{position:absolute;left:50%;transform:translate(-50%);width:60px;height:60px;z-index:10;transition:all .4s ease}.timeline-item:hover .timeline-shape{transform:translate(-50%) rotate(180deg) scale(1.2)}.timeline-shape.circle{border-radius:50%;background:var(--accent-red)}.timeline-shape.square{background:var(--accent-blue)}.timeline-shape.triangle{width:0;height:0;border-left:30px solid transparent;border-right:30px solid transparent;border-bottom:52px solid var(--accent-yellow)}.timeline-content-box{width:45%;min-width:0;background:var(--bg-card);padding:2rem;border:3px solid var(--border-color);transition:all .3s ease;overflow-wrap:break-word;word-break:break-word}.timeline-item:hover .timeline-content-box{border-color:var(--accent-red);transform:translate(10px)}.timeline-item:nth-child(2n):hover .timeline-content-box{transform:translate(-10px)}.timeline-period{font-family:Space Mono,monospace;font-size:.85rem;color:var(--accent-yellow);font-weight:700;margin-bottom:.5rem}.timeline-title{font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800;margin-bottom:.5rem;max-width:100%;overflow-wrap:break-word;word-break:break-word}.timeline-company{font-family:Space Mono,monospace;font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;overflow-wrap:break-word;word-break:break-word}.timeline-description{font-family:Space Mono,monospace;font-size:.9rem;color:var(--text-secondary);line-height:1.7;overflow-wrap:break-word;word-break:break-word}.contact-section{padding:var(--section-padding);position:relative;z-index:10;min-height:60vh}.contact-content{max-width:var(--content-max);width:100%;min-width:0;margin:0 auto;text-align:center}.contact-title{font-family:Syne,sans-serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:800;margin-bottom:2rem;background:linear-gradient(135deg,var(--accent-red),var(--accent-blue),var(--accent-yellow));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;max-width:100%;overflow-wrap:break-word;word-break:break-word}.contact-subtitle{font-family:Space Mono,monospace;font-size:clamp(1rem,1.5vw,1.2rem);color:var(--text-secondary);max-width:700px;margin:0 auto 3rem;line-height:1.8;overflow-wrap:break-word;word-break:break-word}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.contact-item{background:var(--bg-card);padding:2rem;border:3px solid var(--border-color);text-decoration:none;transition:all .3s ease;position:relative;overflow:hidden}.contact-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--accent-red),var(--accent-blue));opacity:0;transition:opacity .3s ease}.contact-item:hover:before{opacity:.1}.contact-item:hover{border-color:var(--accent-red);transform:translateY(-10px)}.contact-label{font-family:Space Mono,monospace;font-size:.85rem;color:var(--accent-yellow);font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.5rem;position:relative;z-index:1}.contact-value{font-family:Space Mono,monospace;font-size:1rem;color:var(--text-primary);position:relative;z-index:1}.contact-cv-link{display:inline-block;margin-top:2rem;padding:.75rem 1.5rem;font-family:Space Mono,monospace;font-size:.9rem;font-weight:700;color:var(--text-secondary);border:2px solid var(--border-color);border-radius:6px;text-decoration:none;transition:all .3s ease}.contact-cv-link:hover{color:var(--accent-blue);border-color:var(--accent-blue);transform:translateY(-2px)}.footer{margin-top:5rem;padding:2rem 0;border-top:1px solid var(--border-color);text-align:center;font-family:Space Mono,monospace;font-size:.85rem;color:var(--text-muted)}.footer span{color:var(--accent-red);font-weight:700}@media(max-width:1024px){.arch-diagram{grid-template-columns:repeat(2,1fr)}.flagship-grid{grid-template-columns:1fr}}@media(max-width:768px){.timeline:before{left:30px}.timeline-item{flex-direction:column!important;align-items:flex-start!important;padding-left:80px}.timeline-shape{left:30px!important;transform:translate(-50%)!important}.timeline-content-box{width:100%;min-width:0;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}.timeline-item:hover .timeline-content-box{transform:translate(0)!important}.nav-links{display:none}.main-nav{gap:.5rem;padding-left:max(.75rem,env(safe-area-inset-left,0px));padding-right:max(.75rem,env(safe-area-inset-right,0px))}.nav-logo{font-size:.9rem;min-width:0}.nav-toggles{padding-left:.5rem;gap:.4rem;flex-shrink:0;border-left:1px solid var(--border-color)}.theme-toggle,.lang-toggle{width:36px;height:36px;font-size:.9rem}.flagship-card{min-height:0;flex:1 1 100%;max-width:100%}.flagship-header{padding:2rem 1.5rem}.flagship-body{padding:1.5rem}.flagship-title{font-size:1.75rem}.project-card{min-height:0;flex:1 1 100%;max-width:100%}.project-geometric-bg{height:120px}.project-content{margin-top:100px;padding:1.5rem}.project-title{font-size:1.4rem}.arch-module{padding:1.5rem 1rem}.arch-icon{width:60px;height:60px;font-size:1.8rem}.arch-module-title{font-size:1.1rem}.architecture-section,.flagship-section,.projects-section,.timeline-section,.contact-section{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}.contact-grid{grid-template-columns:1fr;gap:1rem}.contact-item{padding:1.25rem}}@media(max-width:640px){.arch-diagram{grid-template-columns:1fr}.arch-diagram:before{display:none}}@media(max-width:400px){.nav-logo{font-size:.8rem}.main-nav{gap:.35rem}.theme-toggle,.lang-toggle{width:32px;height:32px;font-size:.8rem}}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;border-radius:50%;background:var(--accent-red);color:#fff;border:none;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:999;box-shadow:0 4px 20px #f336;transition:background .3s ease,transform .3s ease}.back-to-top:hover{background:var(--accent-blue);transform:translateY(-3px)}
