:root{--dark-blue: #0a192f;--medium-blue: #172a45;--light-blue: #303f60;--accent-blue: #64ffda;--accent-blue-dark: #52d1b2;--text-primary: #e6f1ff;--text-secondary: #8892b0;--text-accent: #ccd6f6;--text-muted: rgba(230, 241, 255, .65);--card-bg: rgba(23, 42, 69, .85);--border-soft: rgba(100, 255, 218, .12);--shadow: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 22px 40px rgba(0, 0, 0, .35);--radius-sm: 6px;--radius-md: 10px;--transition: all .3s ease;--color-success: #64ffda;--color-error: #ff6b81;--color-warning: #ffd866;--color-info: #66e7ff;--color-link: #c792ea;--color-terminal-text: #b8d4b8;--color-terminal-muted: #5a6e82;--color-topbar-text: #8fa6bf;--dot-red: #ff5f57;--dot-yellow: #febc2e;--dot-green: #28c840;--color-orange: #ff9a1a;--color-orange-dark: #e55a1f;--color-gold: #ffd166;--z-grid: 0;--z-content: 1;--z-header: 1000;--z-mascot: 1100;--z-mascot-bubble: 1200;--z-terminal: 2200;--z-loader: 9999}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:Space Grotesk,sans-serif;background-color:var(--dark-blue);color:var(--text-primary);overflow-x:hidden;position:relative;line-height:1.6}body.menu-open{overflow:hidden}h1,h2,h3,h4{letter-spacing:-.02em}p{color:var(--text-secondary)}@keyframes pulse{0%{box-shadow:0 0 #64ffdab3}70%{box-shadow:0 0 0 10px #64ffda00}to{box-shadow:0 0 #64ffda00}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn 1s ease forwards}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}.delay-3{animation-delay:.6s}img{max-width:100%;height:auto}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--accent-blue);color:var(--dark-blue);padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;z-index:10000;text-decoration:none;transition:top .2s ease}.skip-to-content:focus{top:.5rem}.grid-lines{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.line{position:absolute;background-color:#64ffda08}.line.vertical{width:1px;height:100%;left:20%}.line.horizontal{height:1px;width:100%;top:80%}.cursor-follower{display:none}.header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;position:fixed;width:100%;top:0;z-index:1000;background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;transition:padding .3s ease,background-color .3s ease,backdrop-filter .3s ease,box-shadow .3s ease}.header.scrolled{padding:1rem 5%;background-color:#0a192fd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.logo{display:flex;align-items:center;font-size:1.5rem;font-weight:700;color:var(--accent-blue);padding:.25rem .75rem;border-radius:999px;background:#0a192f73;border:1px solid rgba(100,255,218,.16);box-shadow:0 12px 28px #00000040}.logo-bracket{color:var(--text-accent);font-weight:300}.logo-text{margin:0 .3rem}.nav ul{display:flex;list-style:none;gap:.8rem;padding:.5rem .8rem;border-radius:999px;background:#0a192fa6;border:1px solid rgba(100,255,218,.18);box-shadow:0 14px 30px #00000059}.nav-link{color:var(--text-accent);text-decoration:none;margin-left:0;font-size:.9rem;font-weight:500;position:relative;transition:var(--transition);min-width:44px;min-height:44px;display:inline-flex;align-items:center;padding:0 .65rem;border-radius:999px;background:#64ffda0d;border:1px solid transparent}.nav-link:after{content:"";position:absolute;width:0;height:2px;bottom:-5px;left:0;background-color:var(--accent-blue);transition:var(--transition);display:none}.nav-link:hover{color:var(--accent-blue);border-color:#64ffda66;background:#64ffda1f}.nav-link:hover:after{width:100%}.nav-link:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.nav-link.active{color:var(--accent-blue)}.nav-link--blog{color:#ff9a1a;border:1px solid rgba(255,154,26,.35);background:linear-gradient(135deg,#ff9a1a1f,#ff78000f);position:relative;overflow:hidden;gap:.4rem;font-weight:600;padding:0 .85rem;box-shadow:0 0 10px #ff9a1a14,inset 0 1px #ffc8641a;animation:navBlogPulse 3s ease-in-out infinite}.nav-link--blog__icon{width:18px;height:18px;image-rendering:pixelated;flex-shrink:0;filter:drop-shadow(0 0 3px rgba(255,154,26,.4));transition:transform .3s ease}.nav-link--blog:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,180,60,.2) 0%,transparent 50%,rgba(255,120,0,.15) 100%);opacity:0;transition:opacity .35s ease}.nav-link--blog:after{display:none}.nav-link--blog:hover{color:#ffd166;border-color:#ff9a1ab3;background:linear-gradient(135deg,#ff9a1a38,#ff78001f);box-shadow:0 0 18px #ff9a1a40,0 0 40px #ff9a1a14,inset 0 1px #ffc86426;transform:translateY(-1px)}.nav-link--blog:hover:before{opacity:1}.nav-link--blog:hover .nav-link--blog__icon{transform:scale(1.15) rotate(-5deg);filter:drop-shadow(0 0 6px rgba(255,154,26,.6))}@keyframes navBlogPulse{0%,to{box-shadow:0 0 10px #ff9a1a14,inset 0 1px #ffc8641a}50%{box-shadow:0 0 16px #ff9a1a2e,inset 0 1px #ffc86426}}.nav-link--cv{color:var(--accent-blue);border:1px solid rgba(100,255,218,.35);background:linear-gradient(135deg,#64ffda1a,#64ffda0a);position:relative;overflow:hidden;gap:.4rem;font-weight:600;padding:0 .85rem;box-shadow:0 0 10px #64ffda0f,inset 0 1px #64ffda14;animation:navCvPulse 3s ease-in-out infinite}.nav-link--cv i{font-size:.8rem;transition:transform .3s ease}.nav-link--cv:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(100,255,218,.15) 0%,transparent 50%,rgba(100,255,218,.1) 100%);opacity:0;transition:opacity .35s ease}.nav-link--cv:after{display:none}.nav-link--cv:hover{color:#a8ffea;border-color:#64ffda99;background:linear-gradient(135deg,#64ffda2e,#64ffda14);box-shadow:0 0 18px #64ffda33,0 0 40px #64ffda0f,inset 0 1px #64ffda1f;transform:translateY(-1px)}.nav-link--cv:hover:before{opacity:1}.nav-link--cv:hover i{transform:scale(1.15) rotate(-5deg)}@keyframes navCvPulse{0%,to{box-shadow:0 0 10px #64ffda0f,inset 0 1px #64ffda14}50%{box-shadow:0 0 14px #64ffda24,inset 0 1px #64ffda1f}}.menu-toggle{display:none;width:30px;height:24px;position:relative;cursor:pointer;z-index:1001;background:none;border:none;min-width:44px;min-height:44px;justify-content:center;align-items:center}.menu-toggle:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.hamburger{position:absolute;top:50%;left:50%;width:24px;height:2px;background-color:var(--accent-blue);transform:translate(-50%,-50%);transition:var(--transition)}.hamburger:before,.hamburger:after{content:"";position:absolute;width:24px;height:2px;background-color:var(--accent-blue);transition:var(--transition);left:50%;transform:translate(-50%)}.hamburger:before{top:-8px}.hamburger:after{top:8px}.menu-toggle.active .hamburger{background-color:transparent}.menu-toggle.active .hamburger:before{transform:rotate(45deg);top:0}.menu-toggle.active .hamburger:after{transform:rotate(-45deg);top:0}.section{padding:6.5rem 5%;position:relative}.section-header{display:flex;align-items:center;margin-bottom:2.6rem}.section-header h2{font-size:2.2rem;color:var(--text-accent);white-space:nowrap}.section-number{color:var(--accent-blue);font-family:Space Mono,monospace;margin-right:.8rem;font-size:1rem;letter-spacing:.08em}.section-line{height:1px;width:100%;max-width:300px;margin-left:1.5rem;background-color:#64ffda33}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.8rem;font-size:.9rem;font-weight:500;text-decoration:none;border-radius:var(--radius-sm);transition:var(--transition);position:relative;overflow:hidden;border:none;cursor:pointer;min-width:44px;min-height:44px}.btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.btn-primary{background-color:var(--accent-blue);color:var(--dark-blue)}.btn-primary:hover{background-color:var(--accent-blue-dark);transform:translateY(-3px);box-shadow:0 12px 20px #64ffda40}.btn-secondary,.btn-outline{background-color:transparent;color:var(--accent-blue);border:1px solid var(--accent-blue);position:relative;overflow:hidden}.btn-secondary:hover,.btn-outline:hover{background-color:#64ffda1a;transform:translateY(-3px);box-shadow:0 12px 20px #64ffda26}.btn-outline .hover-effect{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(100,255,218,.2),transparent);transition:.5s}.btn-outline:hover .hover-effect{left:100%}.pulse{animation:pulse 2s infinite}.hero-code-container{text-align:left;min-width:40%;overflow:hidden;position:relative}.hero-code{flex:1;position:relative;display:flex;justify-content:center;align-items:center;padding:1rem;max-width:100%}.code-window{width:100%;max-width:600px;background-color:var(--card-bg);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;border:1px solid rgba(100,255,218,.12)}.code-window.fullscreen-mode{border-color:#64ffda14}.code-window:not(.fullscreen-mode):hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000004d;border-color:#64ffda33}.code-header{display:flex;align-items:center;padding:.8rem 1rem;background-color:#303f60f2;border-bottom:1px solid rgba(100,255,218,.06)}.code-dots{display:flex;gap:8px;flex-shrink:0}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background-color:#ff5f56;box-shadow:0 0 6px #ff5f564d}.dot.yellow{background-color:#ffbd2e;box-shadow:0 0 6px #ffbd2e4d}.dot.green{background-color:#27c93f;box-shadow:0 0 6px #27c93f4d}.code-title{margin-left:1rem;font-size:.8rem;color:var(--text-secondary);font-family:Space Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-path{color:var(--text-muted);opacity:.6}.code-content{padding:1.5rem;overflow-x:auto}.code-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.code-content code{font-family:Space Mono,monospace;font-size:.9rem;line-height:1.5;color:var(--text-primary);display:block;overflow-x:auto}.token.comment{color:#5c6370;font-style:italic}.token.keyword{color:#c678dd}.token.function{color:#61afef}.token.string{color:#98c379}.token.operator{color:#56b6c2}.token.punctuation{color:#abb2bf}.token.number{color:#d19a66}.back-to-top{position:fixed;right:1.5rem;bottom:1.5rem;width:46px;height:46px;border-radius:999px;border:1px solid rgba(100,255,218,.3);background:#0a192fcc;color:var(--accent-blue);display:inline-flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(10px);transition:var(--transition);z-index:1000}body.intro-active .back-to-top{opacity:0!important;pointer-events:none!important}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:#64ffda26;border-color:#64ffda99}.back-to-top:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-group{position:relative;margin-bottom:1.2rem;display:grid;gap:.5rem}.form-group input,.form-group textarea{width:100%;padding:.85rem 1rem;font-size:.95rem;color:var(--text-primary);background-color:#0a192f73;border:1px solid rgba(100,255,218,.12);border-radius:var(--radius-sm);outline:none;resize:none}.form-group input:focus-visible,.form-group textarea:focus-visible{border-color:var(--accent-blue);box-shadow:0 0 0 2px #64ffda38}.form-group label{font-size:.85rem;color:var(--text-secondary)}.form-group--error input,.form-group--error textarea{border-color:var(--color-error);box-shadow:0 0 0 2px #ff6b8126}.form-group--valid input,.form-group--valid textarea{border-color:var(--color-success)}.form-error{font-size:.78rem;color:var(--color-error);margin-top:-.25rem}.btn-submit{margin-top:1rem}.btn-submit i{margin-left:.5rem}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.folder{display:flex;flex-direction:column;background:none}.folder__tab{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;background:#0a192feb;border:1px solid rgba(100,255,218,.18);border-bottom:none;border-radius:6px 6px 0 0;padding:.35rem .85rem;font-size:.68rem;color:var(--accent-blue);font-family:Space Grotesk,sans-serif;font-weight:500;letter-spacing:.02em;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 20px)}.folder__tab i{font-size:.6rem;opacity:.7}.folder__window{background:#0a192ff0;border:1px solid rgba(100,255,218,.18);border-radius:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 30px #0006,0 0 0 1px #64ffda0f;overflow:hidden;flex:1;display:flex;flex-direction:column;transition:box-shadow .4s ease,border-color .4s ease}.folder__header{display:flex;align-items:center;gap:.7rem;padding:.5rem .85rem;background:#0d1f38cc;border-bottom:1px solid rgba(100,255,218,.1)}.folder__dots{display:flex;gap:5px}.folder__dot{width:9px;height:9px;border-radius:50%}.folder__dot--red{background:#ff5f57}.folder__dot--yellow{background:#febc2e}.folder__dot--green{background:#28c840}.folder__path{font-size:.68rem;color:var(--text-secondary);font-family:Space Grotesk,sans-serif;letter-spacing:.02em}.folder__body{padding:1.25rem;flex:1;display:flex;flex-direction:column}.folder__badge{margin-left:auto;padding:.15rem .6rem;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dark-blue);background:var(--accent-blue);border-radius:999px;box-shadow:0 2px 12px #64ffda59;animation:folder-badge-pulse 2s ease-in-out infinite}@keyframes folder-badge-pulse{0%,to{box-shadow:0 2px 12px #64ffda59}50%{box-shadow:0 2px 20px #64ffda8c}}.folder--section{width:100%}.folder--section .folder__tab{font-size:.72rem;padding:.4rem 1rem;margin-left:12px}.folder--section .folder__window{box-shadow:0 24px 60px #00000080,0 0 0 1px #64ffda0f,0 0 40px #64ffda0a}.folder--section .folder__body{padding:2rem 2rem 1.5rem}.folder--card .folder__tab{font-size:.65rem;padding:.3rem .75rem}.folder--card .folder__body{padding:1.15rem 1.15rem 1.25rem}.folder--card .folder__dot{width:8px;height:8px}.folder--card .folder__header{padding:.4rem .75rem;gap:.6rem}.folder--nested{height:100%}.folder--nested .folder__tab{display:flex;align-self:stretch;max-width:none;margin-left:0;font-size:.65rem;padding:.28rem .7rem;background:#0d1f3899;border:1px solid rgba(100,255,218,.06);border-bottom:none;border-radius:6px 6px 0 0}.folder--nested .folder__window{background:#0d1f3873;border:1px solid rgba(100,255,218,.06);border-radius:0 0 6px 6px;box-shadow:none;backdrop-filter:none}.folder--nested .folder__header{display:none}.folder--nested .folder__body{padding:1.1rem}.folder--hoverable:hover .folder__window{box-shadow:0 20px 40px #00000080,0 0 30px #64ffda0f;border-color:#64ffda4d}.folder--hoverable{transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.folder--hoverable:hover{transform:translateY(-8px)}.folder--glow .folder__window{position:relative}.folder--glow .folder__window:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,transparent 0%,rgba(100,255,218,0) 40%,rgba(100,255,218,0) 60%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3;transition:background .5s ease}.folder--glow:hover .folder__window:before{background:linear-gradient(135deg,#64ffda66,#64ffda00 30% 70%,#64ffda4d)}.folder--nested.folder--hoverable:hover{transform:translateY(-3px)}.folder--nested.folder--hoverable:hover .folder__window{box-shadow:0 4px 12px #0003;border-color:#64ffda26;background:#0d1f3899}.folder--nested.folder--hoverable:hover .folder__tab{border-color:#64ffda26;background:#0d1f38bf}.folder--nested.folder--glow:hover .folder__window:before{background:linear-gradient(135deg,#64ffda40,#64ffda00 35% 65%,#64ffda33)}.folder--section .folder__body--has-nested,.folder--section .folder__body:has(.folder--nested){box-shadow:inset 0 2px 8px #0000001a}@media(max-width:768px){.folder__tab{font-size:.62rem;padding:.3rem .7rem}.folder__header{padding:.45rem .75rem}.folder__body{padding:1rem}.folder--section .folder__body{padding:1.25rem 1rem}.folder--section .folder__tab{font-size:.65rem;padding:.35rem .85rem}.folder--hoverable:hover{transform:translateY(-5px)}.folder--nested.folder--hoverable:hover{transform:translateY(-2px)}}@media(max-width:576px){.folder__tab{font-size:.58rem;padding:.25rem .6rem}.folder__dot{width:8px;height:8px}.folder__body{padding:.85rem}.folder--section .folder__body{padding:1rem .75rem}.folder--card .folder__body{padding:.85rem .85rem 1rem}.folder--hoverable:hover{transform:translateY(-4px)}.folder--nested .folder__tab{font-size:.56rem;padding:.22rem .55rem}.folder--nested .folder__body{padding:.85rem}.folder--nested.folder--hoverable:hover{transform:translateY(-2px)}}.nav-terminal{font:inherit;cursor:pointer;gap:.45rem;color:var(--accent-blue);border-color:#64ffda59;background:#64ffda14;border-radius:6px;overflow:hidden;animation:terminal-glow 3s ease-in-out infinite}.nav-terminal i{font-size:.78rem;animation:terminal-blink 1.5s step-end infinite}.nav-terminal:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;bottom:auto;display:block;background:linear-gradient(90deg,transparent,rgba(100,255,218,.2),transparent);transition:left .6s}.nav-terminal:hover:after{left:100%}.nav-terminal:hover{background:#64ffda2e;border-color:#64ffda99;box-shadow:0 0 20px #64ffda40}@keyframes terminal-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes terminal-glow{0%,to{box-shadow:0 0 8px #64ffda1a}50%{box-shadow:0 0 16px #64ffda40}}.terminal-overlay{position:fixed;inset:0;z-index:var(--z-terminal);display:grid;padding:.5rem;background:#02060c80;transition:clip-path .5s cubic-bezier(.4,0,.2,1)}.terminal-overlay[hidden]{display:none}.terminal-window{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;background:var(--dark-blue);border-radius:var(--radius-md);border:1px solid rgba(100,255,218,.12);box-shadow:0 20px 60px #00000080;overflow:hidden}.terminal-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid rgba(100,255,218,.1);background:#303f60f2;user-select:none}.terminal-topbar h2{font-family:Space Mono,monospace;font-size:.8rem;font-weight:400;letter-spacing:.04em;color:var(--color-topbar-text);text-transform:none}.terminal-dots{display:inline-flex;gap:.4rem}.terminal-close{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--color-topbar-text);cursor:pointer;transition:all .2s ease}.terminal-close:hover{color:var(--dot-red);background:#ff5f561a}.terminal-body{position:relative;overflow:hidden;display:flex;flex-direction:column}.terminal-scanlines{position:absolute;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);mix-blend-mode:multiply}.terminal-output{flex:1;overflow-y:auto;padding:1rem 1.2rem;font-family:Space Mono,monospace;font-size:.85rem;line-height:1.65;color:var(--color-terminal-text);position:relative;z-index:0;scrollbar-width:thin;scrollbar-color:rgba(100,255,218,.15) transparent}.terminal-output::-webkit-scrollbar{width:6px}.terminal-output::-webkit-scrollbar-track{background:transparent}.terminal-output::-webkit-scrollbar-thumb{background:#64ffda26;border-radius:3px}.terminal-line{margin-bottom:.15rem;white-space:pre-wrap;word-break:break-word}.terminal-line.command{color:var(--text-primary)}.terminal-line.error{color:var(--color-error)}.terminal-line.muted{color:var(--color-terminal-muted)}.terminal-line.success{color:var(--color-success)}.terminal-line.info{color:var(--color-info)}.terminal-line.warning{color:var(--color-warning)}.terminal-line .dir-name{color:var(--color-info);font-weight:700}.terminal-line .file-name{color:var(--color-terminal-text)}.terminal-line .exec-name{color:var(--color-success)}.terminal-line .link-name{color:var(--color-link)}.neofetch-container{display:flex;gap:2rem;margin:.5rem 0;align-items:flex-start}.neofetch-ascii{color:var(--accent-blue);white-space:pre;font-size:.65rem;line-height:1.15;flex-shrink:0}.neofetch-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.neofetch-info .nf-title{color:var(--accent-blue);font-weight:700;margin-bottom:.2rem}.neofetch-info .nf-separator{color:var(--color-terminal-muted);margin-bottom:.2rem}.neofetch-info .nf-label{color:var(--accent-blue);font-weight:700}.neofetch-info .nf-value{color:var(--color-terminal-text)}.neofetch-colors{display:flex;gap:0;margin-top:.5rem}.neofetch-colors span{display:inline-block;width:24px;height:12px}.terminal-input-row{display:flex;align-items:center;gap:.5rem;border-top:1px solid rgba(100,255,218,.1);padding:.7rem 1.2rem;background:#0a192ff2}.terminal-prompt{font-family:Space Mono,monospace;font-size:.85rem;color:var(--accent-blue);white-space:nowrap;flex-shrink:0}.terminal-input{width:100%;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:Space Mono,monospace;font-size:.85rem;caret-color:var(--accent-blue)}.terminal-input:focus-visible{box-shadow:0 0 0 2px #64ffda38;border-radius:4px}.terminal-input::placeholder{color:transparent}.terminal-cowsay{white-space:pre;color:var(--color-warning);margin:.3rem 0;font-family:Space Mono,monospace;font-size:.85rem;line-height:1.4}.terminal-matrix-canvas{position:absolute;inset:0;z-index:2;pointer-events:none}body.terminal-open{overflow:hidden}.project-card.jasper-highlight{border-color:#ff6b35!important;box-shadow:0 0 20px #ff6b3566,0 0 40px #ff6b3526;animation:jasper-glow 1.5s ease-in-out 2}@keyframes jasper-glow{0%,to{box-shadow:0 0 10px #ff6b354d}50%{box-shadow:0 0 25px #ff6b3580,0 0 50px #ff6b3533}}.mascot{position:fixed;z-index:1500;width:48px;height:44px;cursor:pointer;opacity:0;pointer-events:none;filter:drop-shadow(0 4px 12px rgba(255,107,53,.3));will-change:transform,opacity;transition:transform .3s ease-in,opacity .25s ease}.mascot.visible{opacity:1;pointer-events:auto;transition:transform .4s cubic-bezier(.25,.46,.45,.94),filter .4s ease}.mascot.visible>div{animation:mascot-idle 3s ease-in-out .5s infinite}.mascot.side-left{left:0;transform:translate(-100%) rotate(0);transform-origin:top right}.mascot.side-right{right:0;transform:translate(100%) rotate(0);transform-origin:top left}.mascot.side-right svg{transform:scaleX(-1)}.mascot.side-left.visible{transform:translate(-50%) rotate(10deg);animation:mascot-enter-left .5s cubic-bezier(.22,1,.36,1)}.mascot.side-right.visible{transform:translate(50%) rotate(-10deg);animation:mascot-enter-right .5s cubic-bezier(.22,1,.36,1)}.mascot.side-left.entrance-tilt.visible{animation-name:mascot-enter-left-tilt}.mascot.side-right.entrance-tilt.visible{animation-name:mascot-enter-right-tilt}.mascot.side-left.entrance-slow.visible,.mascot.side-right.entrance-slow.visible{animation-duration:.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94)}.mascot.exiting{pointer-events:none}.mascot.side-left.exiting{animation:mascot-exit-left .35s ease-in forwards}.mascot.side-right.exiting{animation:mascot-exit-right .35s ease-in forwards}.mascot.visible:hover{filter:drop-shadow(0 4px 18px rgba(255,107,53,.5));transition:transform .4s cubic-bezier(.25,.46,.45,.94),filter .3s ease}.mascot.visible:hover>div{animation-play-state:paused}.mascot.side-left.visible:hover,.mascot.side-right.visible:hover{transform:translate(0) rotate(0)}@keyframes mascot-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes mascot-enter-left{0%{transform:translate(-100%) rotate(0);opacity:0}50%{opacity:1}70%{transform:translate(-40%) rotate(13deg)}85%{transform:translate(-55%) rotate(8deg)}to{transform:translate(-50%) rotate(10deg)}}@keyframes mascot-enter-right{0%{transform:translate(100%) rotate(0);opacity:0}50%{opacity:1}70%{transform:translate(40%) rotate(-13deg)}85%{transform:translate(55%) rotate(-8deg)}to{transform:translate(50%) rotate(-10deg)}}@keyframes mascot-enter-left-tilt{0%{transform:translate(-100%) rotate(-15deg);opacity:0}60%{transform:translate(-38%) rotate(16deg);opacity:1}80%{transform:translate(-54%) rotate(7deg)}to{transform:translate(-50%) rotate(10deg)}}@keyframes mascot-enter-right-tilt{0%{transform:translate(100%) rotate(15deg);opacity:0}60%{transform:translate(38%) rotate(-16deg);opacity:1}80%{transform:translate(54%) rotate(-7deg)}to{transform:translate(50%) rotate(-10deg)}}@keyframes mascot-exit-left{0%{transform:translate(-50%) rotate(10deg);opacity:1}25%{transform:translate(-42%) rotate(13deg);opacity:1}to{transform:translate(-100%) rotate(0);opacity:0}}@keyframes mascot-exit-right{0%{transform:translate(50%) rotate(-10deg);opacity:1}25%{transform:translate(42%) rotate(-13deg);opacity:1}to{transform:translate(100%) rotate(0);opacity:0}}@media(prefers-reduced-motion:reduce){.mascot,.mascot.visible,.mascot.exiting{animation:none!important;transition:opacity .2s ease!important}.mascot.visible>div{animation:none!important}.mascot.side-left.visible{transform:translate(-50%) rotate(10deg)}.mascot.side-right.visible{transform:translate(50%) rotate(-10deg)}}.mascot-bubble{position:fixed;background:#fff;color:var(--dark-blue);font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:500;line-height:1.45;padding:.75rem 1rem;border-radius:12px;border:2px solid #FF6B35;max-width:220px;width:max-content;box-shadow:4px 4px #ff6b3540;opacity:0;transform:scale(.85);pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:1501}.mascot-bubble.bubble-left:after{content:"";position:absolute;right:100%;top:var(--arrow-top, 12px);width:0;height:0;border:8px solid transparent;border-right-color:#ff6b35}.mascot-bubble.bubble-left:before{content:"";position:absolute;right:100%;top:calc(var(--arrow-top, 12px) + 2px);width:0;height:0;border:6px solid transparent;border-right-color:#fff;z-index:1;margin-right:-2px}.mascot-bubble.bubble-right:after{content:"";position:absolute;left:100%;top:var(--arrow-top, 12px);width:0;height:0;border:8px solid transparent;border-left-color:#ff6b35}.mascot-bubble.bubble-right:before{content:"";position:absolute;left:100%;top:calc(var(--arrow-top, 12px) + 2px);width:0;height:0;border:6px solid transparent;border-left-color:#fff;z-index:1;margin-left:-2px}.mascot-bubble.show{opacity:1;transform:scale(1);pointer-events:auto}.mascot-bubble.bubble-mobile:before,.mascot-bubble.bubble-mobile:after{display:none}.mascot-intro-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1600;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}.mascot-intro-overlay.visible{opacity:1}.mascot-intro{display:flex;flex-direction:column;align-items:center;gap:0}.mascot-intro-speech{max-width:320px;background:#fff;color:var(--dark-blue);font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:500;line-height:1.5;padding:1.2rem 1.5rem;border-radius:16px;border:3px solid #FF6B35;box-shadow:4px 4px #ff6b35;text-align:center;position:relative;animation:mascot-intro-pop .5s .2s ease both}.mascot-intro-speech:after{content:"";position:absolute;bottom:-14px;left:50%;transform:translate(-50%);width:0;height:0;border:10px solid transparent;border-top-color:#ff6b35}.mascot-intro-speech:before{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border:8px solid transparent;border-top-color:#fff;z-index:1}.mascot-intro-fox{width:120px;height:110px;margin-top:10px;animation:mascot-intro-pop .5s .4s ease both}.mascot-intro-btn{background:#ff6b35;color:#fff;border:none;padding:.6rem 1.8rem;border-radius:8px;font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;margin-top:1.2rem;transition:background .2s ease,transform .2s ease;animation:mascot-intro-pop .5s .6s ease both}.mascot-intro-btn:hover{background:#e55a1f;transform:scale(1.05)}@keyframes mascot-intro-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.mascot-challenge{background:#fff;border:3px solid #FF6B35;border-radius:14px;box-shadow:4px 4px #ff6b3559;max-width:420px;width:90vw;padding:1.5rem;text-align:left;animation:mascot-intro-pop .4s ease both}.mascot-challenge-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.mascot-challenge-title{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700;color:var(--dark-blue)}.mascot-challenge-badge{background:#ff6b35;color:#fff;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;flex-shrink:0}.mascot-challenge-prompt{font-family:Space Grotesk,sans-serif;font-size:.9rem;line-height:1.5;margin-bottom:1rem;color:var(--dark-blue)}.mascot-challenge-solution{background:var(--dark-blue);color:#a8d8a8;padding:1rem;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.82rem;overflow-x:auto;margin-bottom:1rem;white-space:pre-wrap}.mascot-challenge-actions{display:flex;gap:.8rem;justify-content:center}.mascot-challenge-actions button{font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:600;border:none;padding:.5rem 1.4rem;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .2s ease}.mascot-challenge-actions button:hover{transform:scale(1.05)}.mascot-challenge-actions .btn-solution{background:var(--dark-blue);color:#a8d8a8}.mascot-challenge-actions .btn-solution:hover{background:#252545}.mascot-challenge-actions .btn-close{background:#ff6b35;color:#fff}.mascot-challenge-actions .btn-close:hover{background:#e55a1f}.mascot-challenge-btn{background:#ff6b35;color:#fff;border:none;padding:.3rem .8rem;border-radius:6px;font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;margin-top:.5rem;display:block;transition:background .2s ease}.mascot-challenge-btn:hover{background:#e55a1f}.jasper-tutorial{position:absolute;top:50%;right:8%;z-index:5;width:360px;display:flex;flex-direction:column;align-items:center;padding:2.2rem 2rem 1.8rem;background:linear-gradient(165deg,#ff6b354d,#c8461459);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:16px;box-shadow:0 8px 32px #00000059,0 0 20px #ff6b3526,inset 0 1px #ffffff1a;transform:translateY(-50%) scale(.9);opacity:0;transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);pointer-events:none}.jasper-tutorial.visible{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto}.jasper-tutorial:before{content:"";position:absolute;top:0;left:24px;right:24px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);border-radius:0 0 2px 2px;opacity:.6}.jasper-tutorial-fox{width:72px;height:66px;margin-bottom:1.2rem;opacity:0;transform:scale(.5) translateY(8px);transition:opacity .35s ease .15s,transform .4s cubic-bezier(.34,1.56,.64,1) .15s}.jasper-tutorial.visible .jasper-tutorial-fox{opacity:1;transform:scale(1) translateY(0)}.jasper-tutorial-text{font-family:Space Grotesk,sans-serif;font-size:.95rem;line-height:1.6;color:#fff;text-align:center;margin-bottom:1.4rem;min-height:3em;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.jasper-tutorial-text.text-visible{opacity:1;transform:translateY(0)}.jasper-tutorial-step{display:flex;gap:6px;justify-content:center;margin-bottom:1rem;opacity:0;transition:opacity .3s ease .2s}.jasper-tutorial.visible .jasper-tutorial-step{opacity:1}.jasper-tutorial-dot{width:7px;height:7px;border-radius:50%;background:#ffffff4d;transition:background .3s ease,transform .3s ease}.jasper-tutorial-dot.active{background:#fff;transform:scale(1.3)}.jasper-tutorial-dot.done{background:#fff9}.jasper-tutorial-btn{display:block;background:#fffffff2;color:#c40;border:none;padding:.6rem 1.8rem;border-radius:8px;font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;letter-spacing:.02em;opacity:0;transform:translateY(6px);transition:opacity .3s ease .25s,transform .3s ease .25s,background .2s ease,box-shadow .2s ease}.jasper-tutorial.visible .jasper-tutorial-btn{opacity:1;transform:translateY(0)}.jasper-tutorial-btn:hover{background:#fff;box-shadow:0 2px 12px #0003}.terminal-input-row.tutorial-highlight{border:2px solid #FF6B35;border-radius:6px;animation:tutorial-pulse 1.5s ease-in-out infinite}@keyframes tutorial-pulse{0%,to{border-color:#ff6b35;box-shadow:0 0 #ff6b3566}50%{border-color:#ffb088;box-shadow:0 0 12px 2px #ff6b3540}}.jasper-chat-options{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-bottom:1rem}.jasper-chat-option{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);padding:.5rem .8rem;border-radius:8px;font-family:Space Grotesk,sans-serif;font-size:.82rem;text-align:left;cursor:pointer;transition:background .2s ease,transform .15s ease}.jasper-chat-option:hover{background:#ffffff40;transform:translate(4px)}.jasper-chat-back{text-align:center;background:#ffffff1a;border-style:dashed}.jasper-chat-close{background:none;color:#fff9;border:none;font-family:Space Grotesk,sans-serif;font-size:.78rem;cursor:pointer;padding:.3rem 0;transition:color .2s ease}.jasper-chat-close:hover{color:#fff}#typewriter-code .cursor{display:inline-block;width:2px;height:1.2em;background-color:var(--accent-blue);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;z-index:10;opacity:.7;transition:opacity .6s ease;pointer-events:none}.scroll-indicator.hidden{opacity:0}.scroll-indicator-mouse{display:block;width:24px;height:38px;border:2px solid var(--accent-blue);border-radius:12px;position:relative}.scroll-indicator-wheel{display:block;width:3px;height:8px;background:var(--accent-blue);border-radius:2px;position:absolute;top:6px;left:50%;transform:translate(-50%);animation:scrollWheel 2s ease-in-out infinite}@keyframes scrollWheel{0%{opacity:1;top:6px}50%{opacity:.3;top:18px}to{opacity:1;top:6px}}.scroll-indicator-text{font-size:.7rem;font-family:Space Mono,monospace;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.15em}.hero{min-height:0;display:flex;align-items:center;padding:80px 5% 0;padding-bottom:3rem;gap:2rem}.hero-content{flex:1.5;padding-right:1rem;max-width:56%}.hero-title{margin-bottom:1.5rem}.title-line{display:block;font-size:1.2rem;color:var(--accent-blue);margin-bottom:.5rem;letter-spacing:.08em;text-transform:uppercase}.title-name{display:block;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:700;line-height:1.1;margin-bottom:.5rem;color:var(--text-accent)}.title-role{display:block;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:600;color:var(--text-secondary);margin-bottom:1.5rem}.hero-subtitle{max-width:600px;font-size:1.1rem;line-height:1.6;color:var(--text-muted);margin-bottom:2.5rem}.hero-buttons{display:flex;gap:1.5rem}.hero-intro-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:auto;opacity:1;background:#0a192feb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .5s ease}.hero-intro-overlay.overlay-hidden{opacity:0;pointer-events:none}body:not(.intro-active) .hero-intro-overlay{display:none}body.overlay-lock{overflow:hidden}.hero-folder{width:min(580px,92vw)}.hero-folder__body{padding:2.2rem 2rem 1.8rem;gap:.45rem}.hero-folder__greeting{font-size:.85rem;color:var(--accent-blue);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:500}.hero-folder__name{font-family:Space Grotesk,sans-serif;font-size:2.6rem;font-weight:700;color:var(--text-accent);margin:0;line-height:1.15}.hero-folder__role{font-size:1.2rem;font-weight:500;color:var(--text-secondary);margin:0}.hero-folder__role-bracket{color:var(--accent-blue);font-weight:300}.hero-folder__divider{width:40px;height:2px;background:linear-gradient(90deg,var(--accent-blue),transparent);margin:.6rem 0;border-radius:1px}.hero-folder__hook{font-size:.95rem;color:var(--text-muted);line-height:1.55;margin:0}.hero-folder__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.hero-folder__tag{font-size:.68rem;color:var(--accent-blue);border:1px solid rgba(100,255,218,.2);padding:.15em .6em;border-radius:3px;font-family:Space Grotesk,sans-serif;font-weight:500;letter-spacing:.02em;background:#64ffda0a}.hero-folder__footer{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-top:1px solid rgba(100,255,218,.1);background:#0d1f3899}.hero-folder__status{font-size:.68rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.hero-folder__status-dot{font-size:.45rem;color:#28c840}.hero-folder__enter-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1.1rem;font-size:.75rem;font-family:Space Grotesk,sans-serif;font-weight:600;color:var(--dark-blue);background:var(--accent-blue);border:none;border-radius:999px;cursor:pointer;letter-spacing:.02em;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;box-shadow:0 0 14px #64ffda40;animation:enterBtnPulse 2s ease-in-out infinite}.hero-folder__enter-btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 0 24px #64ffda66;background:#8affeb}.hero-folder__enter-btn:active{transform:scale(.97)}.hero-folder__enter-btn i{font-size:.65rem;transition:transform .25s ease}.hero-folder__enter-btn:hover i{transform:translate(3px)}@keyframes enterBtnPulse{0%,to{box-shadow:0 0 14px #64ffda40}50%{box-shadow:0 0 22px #64ffda66}}@media(max-width:768px){.hero-folder{width:min(520px,92vw)}.hero-folder__name{font-size:2.2rem}.hero-folder__role{font-size:1.1rem}.hero-folder__footer{flex-direction:column;gap:.6rem;align-items:center}}@media(max-width:480px){.hero-folder{width:95vw}.hero-folder__body{padding:1.4rem 1.1rem 1rem}.hero-folder__name{font-size:1.7rem}.hero-folder__role{font-size:.95rem}.hero-folder__hook{font-size:.82rem}.hero-folder__tag{font-size:.62rem}.hero-folder__enter-btn{font-size:.72rem;padding:.4rem 1rem}}.about-content{display:flex;gap:3rem}.about-text{flex:1}.about-text p{margin-bottom:1.5rem;line-height:1.7}.about-headline{font-size:1.25rem;font-weight:600;color:var(--text-accent);line-height:1.5}.accent{color:var(--accent-blue)}.about-quote{border-left:3px solid var(--accent-blue);padding:1rem 1.5rem;margin:0 0 1.5rem;font-style:italic;color:var(--text-secondary);background:#64ffda08;border-radius:0 var(--radius-sm) var(--radius-sm) 0;line-height:1.7}.about-stats{display:flex;align-items:center;gap:1.5rem;padding:1.2rem 0;margin-bottom:1.5rem;border-top:1px solid rgba(100,255,218,.1);border-bottom:1px solid rgba(100,255,218,.1)}.about-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem}.about-stat__number{font-size:2rem;font-weight:700;color:var(--accent-blue);line-height:1}.about-stat__plus{font-size:1.4rem;font-weight:700;color:var(--accent-blue)}.about-stat__label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.about-stat__divider{width:1px;height:36px;background:#64ffda26}.about-image{flex:1;display:flex;justify-content:center}.image-container{position:relative;width:300px;height:500px;border-radius:var(--radius-sm);padding:3px;background:linear-gradient(135deg,var(--accent-blue),transparent 50%,var(--accent-blue));background-size:300% 300%;animation:about-glow 6s ease-in-out infinite}@keyframes about-glow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.profile-img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);transition:var(--transition);display:block}.image-tech-icons{position:absolute;bottom:-70px;left:0;width:100%;display:flex;justify-content:space-around}.image-tech-icons img{width:55px;font-size:2.5rem;padding:.5rem;background-color:var(--card-bg);border-radius:50%;box-shadow:var(--shadow);transition:var(--transition)}.image-tech-icons i{font-size:2.5rem;color:var(--accent-blue);background-color:var(--card-bg);padding:.5rem;border-radius:50%;box-shadow:var(--shadow);transition:var(--transition)}.image-tech-icons i:hover,.image-tech-icons img:hover{transform:translateY(-10px)}@media(prefers-reduced-motion:reduce){.image-container{animation:none;background:#64ffda26}}.projects{overflow:hidden}.projects-carousel{position:relative;overflow:hidden;padding:1rem 0 2.5rem}.projects-carousel__track{display:flex;transition:transform .4s ease;will-change:transform}.project-card{flex:0 0 calc(100% / 3);padding:0 .75rem;box-sizing:border-box}.project-card__inner{height:100%}.project-card__inner .folder__body{padding:1.25rem 1.25rem 1.35rem}.project-badge{margin-left:auto;padding:.15rem .6rem;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dark-blue);background:var(--accent-blue);border-radius:999px;box-shadow:0 2px 12px #64ffda59;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{box-shadow:0 2px 12px #64ffda59}50%{box-shadow:0 2px 20px #64ffda8c}}.project-title{font-size:1.15rem;font-weight:600;color:var(--text-accent);margin:0 0 .5rem;line-height:1.35;transition:color .3s ease}.project-card__inner:hover .project-title{color:var(--accent-blue)}.project-description{color:var(--text-secondary);font-size:.88rem;line-height:1.65;margin-bottom:1.1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-tech{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;margin-bottom:1rem}.project-tech span{padding:.2rem .65rem;border:1px solid rgba(100,255,218,.12);border-radius:999px;font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--accent-blue);background:#64ffda0a;transition:background .3s ease,border-color .3s ease}.project-card__inner:hover .project-tech span{background:#64ffda14;border-color:#64ffda33}.project-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;border-top:1px solid rgba(100,255,218,.06)}.project-arrow{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.82rem;font-weight:500;text-decoration:none;transition:color .3s ease,gap .3s ease}.project-arrow:hover{color:var(--accent-blue);gap:.7rem}.project-arrow i{font-size:.75rem;transition:transform .3s ease}.project-arrow:hover i{transform:translate(3px)}.project-footer-links{display:flex;gap:.5rem}.project-footer-links a{color:var(--text-secondary);font-size:.95rem;transition:color .3s ease,transform .3s ease;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.project-footer-links a:hover{color:var(--accent-blue);transform:translateY(-2px)}.projects-carousel__btn{position:absolute;top:45%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(100,255,218,.2);background:#0a192fd9;color:var(--accent-blue);font-size:1rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.projects-carousel__btn:hover{background:#64ffda1a;border-color:var(--accent-blue);box-shadow:0 4px 20px #64ffda26}.projects-carousel__btn--prev{left:.5rem}.projects-carousel__btn--next{right:.5rem}.projects-carousel__btn:disabled{opacity:.2;cursor:default;pointer-events:none}.projects-carousel__dots{display:flex;justify-content:center;gap:.25rem;margin-top:1.5rem}.projects-carousel__dot{width:44px;height:44px;border-radius:50%;border:none;background:transparent;cursor:pointer;padding:0;transition:all .3s ease;position:relative;display:flex;align-items:center;justify-content:center}.projects-carousel__dot:after{content:"";width:8px;height:8px;border-radius:50%;background:#64ffda26;transition:all .3s ease}.projects-carousel__dot.active:after{background:var(--accent-blue);width:24px;border-radius:4px}.projects-carousel__dot:hover:not(.active):after{background:#64ffda4d}.project-card--tuenti{flex:0 0 calc(100% / 3);padding:0 .75rem;box-sizing:border-box}.tuenti-card{height:100%;border-radius:8px;overflow:hidden;background:#f0f2f5;box-shadow:0 1px 4px #0000001f;display:flex;flex-direction:column;font-family:Helvetica Neue,Arial,sans-serif;transition:box-shadow .3s ease}.tuenti-card:hover{box-shadow:0 4px 20px #0063d14d}.tuenti-bar{background:#0063d1;padding:.4rem .7rem;display:flex;align-items:center;gap:.5rem}.tuenti-bar__logo{font-size:1rem;font-weight:800;font-style:italic;color:#fff;letter-spacing:-.03em;flex-shrink:0}.tuenti-bar__search{flex:1;background:#ffffff26;border-radius:4px;padding:.2rem .5rem;display:flex;align-items:center;gap:.35rem;color:#fff9;font-size:.65rem}.tuenti-bar__icons{display:flex;gap:.55rem;color:#ffffffd9;font-size:.75rem}.tuenti-cover{height:52px;background:linear-gradient(135deg,#003d82,#0063d1 40%,#4a9eff);position:relative}.tuenti-profile{text-align:center;margin-top:-24px;padding:0 .8rem .5rem;position:relative}.tuenti-profile__pic{width:48px;height:48px;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 2px 6px #00000026;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.3rem}.tuenti-profile__pic i{font-size:1.2rem;color:#0063d1}.tuenti-profile__name{font-size:.95rem;font-weight:700;color:#1c1e21;margin:0;line-height:1.25}.tuenti-profile__online{font-size:.62rem;color:#65676b}.tuenti-profile__online i{font-size:.4rem;color:#31a24c;vertical-align:middle}.tuenti-stats{display:flex;border-top:1px solid #dddfe2;border-bottom:1px solid #dddfe2;background:#fff}.tuenti-stats__item{flex:1;text-align:center;padding:.4rem 0;border-right:1px solid #dddfe2}.tuenti-stats__item:last-child{border-right:none}.tuenti-stats__item strong{display:block;font-size:.85rem;color:#0063d1;line-height:1.2}.tuenti-stats__item span{font-size:.58rem;color:#65676b;text-transform:uppercase;letter-spacing:.03em}.tuenti-wall{padding:.6rem .7rem;flex:1;background:#fff;margin:.4rem;border-radius:6px;box-shadow:0 1px 2px #00000014}.tuenti-wall__post{display:flex;flex-direction:column;gap:.35rem}.tuenti-wall__meta{font-size:.6rem;color:#0063d1;font-weight:600}.tuenti-wall__meta i{margin-right:.2rem}.tuenti-wall__text{font-size:.76rem;color:#1c1e21;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tuenti-wall__tags{display:flex;flex-wrap:wrap;gap:.25rem}.tuenti-wall__tags span{font-size:.65rem;color:#0063d1;font-weight:500;cursor:default}.tuenti-actions{display:flex;align-items:center;justify-content:space-between;padding:.5rem .7rem;background:#f0f2f5}.tuenti-actions__main{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:#0063d1;color:#fff;font-size:.7rem;font-weight:600;border-radius:4px;text-decoration:none;transition:background .2s ease}.tuenti-actions__main:hover{background:#0054b3}.tuenti-actions__links{display:flex;gap:.3rem}.tuenti-actions__links a{width:28px;height:28px;border-radius:50%;background:#e4e6eb;color:#1c1e21;display:flex;align-items:center;justify-content:center;font-size:.75rem;text-decoration:none;transition:background .2s ease}.tuenti-actions__links a:hover{background:#d0e2f7;color:#0063d1}@media(max-width:768px){.project-card--tuenti{flex:0 0 50%}}@media(max-width:576px){.project-card--tuenti{flex:0 0 100%}}.project-card--amazon{flex:0 0 calc(100% / 3);padding:0 .75rem;box-sizing:border-box}.amz-card{height:100%;border-radius:3px;overflow:hidden;background:#fff;border:1px solid #ddd;display:flex;flex-direction:column;font-family:Amazon Ember,Arial,sans-serif;transition:box-shadow .2s ease}.amz-card:hover{box-shadow:0 4px 16px #00000026}.amz-card__navbar{background:#131921;padding:.4rem .6rem;display:flex;align-items:center;gap:.5rem}.amz-card__logo{color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0;letter-spacing:-.02em}.amz-card__logo i{color:#f90;font-size:.7rem;margin-right:.2rem}.amz-card__searchbar{flex:1;background:#febd69;border-radius:4px;padding:.2rem .45rem;display:flex;align-items:center;justify-content:space-between;font-size:.6rem;color:#555}.amz-card__searchbar i{background:#febd69;color:#131921;font-size:.65rem}.amz-card__image{background:#f7f7f7;padding:1.5rem 1rem;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid #eee}.amz-card__image>i{font-size:2.8rem;color:#c4c4c4}.amz-card__prime{position:absolute;top:.5rem;left:.5rem;font-size:.6rem;font-weight:700;font-style:italic;color:#00a8e1;letter-spacing:-.02em}.amz-card__prime:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;font-style:normal;margin-right:.2rem;font-size:.55rem}.amz-card__details{padding:.6rem .7rem;flex:1;display:flex;flex-direction:column;gap:.3rem}.amz-card__title{font-size:.85rem;font-weight:400;color:#0f1111;margin:0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.amz-card:hover .amz-card__title{color:#c7511f}.amz-card__rating{display:flex;align-items:center;gap:.35rem}.amz-card__stars{color:#de7921;font-size:.7rem;letter-spacing:-.02em}.amz-card__reviews{font-size:.65rem;color:#007185}.amz-card__price{display:flex;align-items:flex-start;gap:0;margin:.1rem 0}.amz-card__price-symbol{font-size:.65rem;color:#0f1111;margin-top:.1rem}.amz-card__price-whole{font-size:1.4rem;font-weight:400;color:#0f1111;line-height:1}.amz-card__price-decimal{font-size:.65rem;color:#0f1111;margin-top:.1rem}.amz-card__price-free{font-size:.55rem;font-weight:700;color:#cc0c39;background:#ffe0e6;padding:.1rem .35rem;border-radius:2px;margin-left:.4rem;align-self:center;text-transform:uppercase;letter-spacing:.03em}.amz-card__desc{font-size:.72rem;color:#565959;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.amz-card__tech{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.amz-card__tech span{padding:.12rem .45rem;background:#f0f2f2;border:1px solid #d5d9d9;border-radius:3px;font-size:.6rem;color:#0f1111;transition:background .15s ease}.amz-card:hover .amz-card__tech span{background:#e7e9e9}.amz-card__buy{padding:.5rem .7rem .6rem;border-top:1px solid #eee;display:flex;flex-direction:column;gap:.35rem}.amz-card__btn-buy{display:block;text-align:center;padding:.4rem;background:#ffd814;border:1px solid #fcd200;border-radius:20px;color:#0f1111;font-size:.7rem;font-weight:500;text-decoration:none;transition:background .15s ease}.amz-card__btn-buy:hover{background:#f7ca00}.amz-card__btn-cart{display:block;text-align:center;padding:.4rem;background:#ffa41c;border:1px solid #ff8f00;border-radius:20px;color:#0f1111;font-size:.7rem;font-weight:500;text-decoration:none;transition:background .15s ease}.amz-card__btn-cart:hover{background:#fa8900}.amz-card__btn-cart i{margin-right:.25rem;font-size:.6rem}.amz-card__links{display:flex;justify-content:center;gap:.5rem;padding-top:.2rem}.amz-card__links a{color:#007185;font-size:.8rem;text-decoration:none;transition:color .15s ease;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.amz-card__links a:hover{color:#c7511f;text-decoration:underline}@media(max-width:768px){.project-card--amazon{flex:0 0 50%}}@media(max-width:576px){.project-card--amazon{flex:0 0 100%}}.project-card--dphn{flex:0 0 calc(100% / 3);padding:0 .75rem;box-sizing:border-box}.dphn-card{height:100%;border-radius:0;overflow:hidden;background:#0a0e1a;border:1px solid rgba(99,140,255,.15);display:flex;flex-direction:column;font-family:Inter,Helvetica Neue,Arial,sans-serif;transition:border-color .3s ease,box-shadow .3s ease}.dphn-card:hover{border-color:#638cff66;box-shadow:0 8px 32px #00000080,0 0 40px #638cff14}.dphn-card__topbar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;border-bottom:1px solid rgba(99,140,255,.1)}.dphn-card__brand{font-size:.85rem;font-weight:700;color:#fff;letter-spacing:-.02em}.dphn-card__dot{color:#638cff}.dphn-card__status{display:flex;align-items:center;gap:.35rem;font-size:.55rem;font-weight:600;color:#2dd4a0;letter-spacing:.1em;text-transform:uppercase}.dphn-card__pulse{width:6px;height:6px;border-radius:50%;background:#2dd4a0;animation:dphn-pulse 2s ease-in-out infinite}@keyframes dphn-pulse{0%,to{opacity:1;box-shadow:0 0 #2dd4a066}50%{opacity:.7;box-shadow:0 0 0 4px #2dd4a000}}.dphn-card__hero{position:relative;padding:1.8rem .8rem 1.2rem;overflow:hidden}.dphn-card__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(99,140,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(99,140,255,.06) 1px,transparent 1px);background-size:20px 20px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%)}.dphn-card__glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(99,140,255,.15),transparent 70%);pointer-events:none}.dphn-card__title{position:relative;font-size:1.1rem;font-weight:700;color:#fff;margin:0;line-height:1.3;letter-spacing:-.01em}.dphn-card__body{padding:0 .8rem;flex:1;display:flex;flex-direction:column;gap:.7rem}.dphn-card__desc{font-size:.76rem;color:#8b8fa3;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dphn-card__meta-label{display:block;font-size:.55rem;font-weight:600;color:#4a4e63;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem}.dphn-card__tags{display:flex;flex-wrap:wrap;gap:.3rem}.dphn-card__tags span{padding:.18rem .55rem;border:1px solid rgba(99,140,255,.2);border-radius:0;font-size:.65rem;font-weight:500;color:#638cff;background:#638cff0f;letter-spacing:.02em;transition:background .2s ease,border-color .2s ease}.dphn-card:hover .dphn-card__tags span{background:#638cff1a;border-color:#638cff59}.dphn-card__actions{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border-top:1px solid rgba(99,140,255,.1);margin-top:auto}.dphn-card__cta{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .8rem;background:#638cff;color:#0a0e1a;font-size:.7rem;font-weight:700;border-radius:0;text-decoration:none;letter-spacing:.02em;transition:background .2s ease,box-shadow .2s ease}.dphn-card__cta:hover{background:#7da1ff;box-shadow:0 0 16px #638cff4d}.dphn-card__cta i{font-size:.6rem;transition:transform .2s ease}.dphn-card__cta:hover i{transform:translate(3px)}.dphn-card__links{display:flex;gap:.3rem}.dphn-card__links a{width:28px;height:28px;border:1px solid rgba(99,140,255,.2);border-radius:0;background:transparent;color:#638cff;display:flex;align-items:center;justify-content:center;font-size:.75rem;text-decoration:none;transition:background .2s ease,border-color .2s ease}.dphn-card__links a:hover{background:#638cff1a;border-color:#638cff}@media(max-width:768px){.project-card--dphn{flex:0 0 50%}}@media(max-width:576px){.project-card--dphn{flex:0 0 100%}}.project-card--skills{flex:0 0 calc(100% / 3);padding:0 .75rem;box-sizing:border-box}.sksh-card{height:100%;border-radius:0;overflow:hidden;background:#0a0a0a;border:1px solid #222;display:flex;flex-direction:column;font-family:Fira Mono,Courier New,monospace;transition:border-color .3s ease}.sksh-card:hover{border-color:#444}.sksh-card__header{padding:.55rem .7rem;border-bottom:1px solid #1a1a1a;display:flex;align-items:center;gap:.1rem}.sksh-card__prompt{font-size:.68rem;color:#e0e0e0}.sksh-card__cursor{display:inline-block;width:7px;height:14px;background:#e0e0e0;animation:sksh-blink 1s step-end infinite;margin-left:2px;vertical-align:middle}@keyframes sksh-blink{0%,to{opacity:1}50%{opacity:0}}.sksh-card__ascii{padding:.5rem .7rem;font-size:.42rem;line-height:1.25;color:#555;white-space:pre;text-align:center;letter-spacing:.05em;user-select:none}.sksh-card:hover .sksh-card__ascii{color:#888}.sksh-card__output{padding:.4rem .7rem;display:flex;flex-direction:column;gap:.25rem}.sksh-card__line{font-size:.7rem;color:#ccc;line-height:1.4}.sksh-card__line strong{color:#fff;font-weight:600}.sksh-card__line--dim{color:#666;font-size:.65rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sksh-card__line-ok{color:#2dd4a0;margin-right:.3rem}.sksh-card__line-arrow{color:#555;margin-right:.3rem}.sksh-card__table{padding:.3rem .7rem;flex:1;display:flex;flex-direction:column;gap:0}.sksh-card__table-head{display:grid;grid-template-columns:1.5rem 1fr auto;gap:.4rem;padding:.25rem 0;border-bottom:1px solid #222;font-size:.55rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.08em}.sksh-card__table-row{display:grid;grid-template-columns:1.5rem 1fr auto;gap:.4rem;padding:.2rem 0;border-bottom:1px solid #141414;font-size:.65rem;transition:background .15s ease}.sksh-card__table-row:hover{background:#111}.sksh-card__rank{color:#444}.sksh-card__dep{color:#e0e0e0}.sksh-card__installed{color:#2dd4a0;font-size:.58rem}.sksh-card__footer{display:flex;align-items:center;justify-content:space-between;padding:.5rem .7rem;border-top:1px solid #1a1a1a;margin-top:auto}.sksh-card__run{font-size:.68rem;color:#888;text-decoration:none;transition:color .2s ease}.sksh-card__run:hover{color:#fff}.sksh-card__run-prompt{color:#2dd4a0;margin-right:.2rem}.sksh-card__links{display:flex;gap:.3rem}.sksh-card__links a{width:26px;height:26px;border:1px solid #222;border-radius:0;background:transparent;color:#666;display:flex;align-items:center;justify-content:center;font-size:.7rem;text-decoration:none;transition:color .2s ease,border-color .2s ease}.sksh-card__links a:hover{color:#e0e0e0;border-color:#444}@media(max-width:768px){.project-card--skills{flex:0 0 50%}}@media(max-width:576px){.project-card--skills{flex:0 0 100%}}.svc-intro{text-align:center;max-width:680px;margin:0 auto 4.5rem}.svc-intro__tagline{font-size:1.6rem;font-weight:600;color:var(--text-accent);margin-bottom:.6rem;line-height:1.3}.svc-intro__sub{font-size:1rem;color:var(--text-secondary);line-height:1.6}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:1fr;gap:1.5rem;margin-bottom:6rem}.svc-card{min-width:0;display:flex;flex-direction:column}.svc-card .folder__body{gap:1rem}.svc-card__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:#64ffda0f;border:1px solid rgba(100,255,218,.15);font-size:1.5rem;color:var(--accent-blue);transition:transform .3s ease,box-shadow .3s ease}.svc-card:hover .svc-card__icon{transform:scale(1.1);box-shadow:0 0 20px #64ffda1f}.svc-card__desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.svc-card__tech{display:flex;flex-wrap:nowrap;gap:.4rem;margin-top:auto;overflow:hidden}.svc-card__tech span{padding:.2rem .65rem;border:1px solid rgba(100,255,218,.15);border-radius:999px;font-size:.72rem;color:var(--accent-blue);background:#64ffda0a;white-space:nowrap}.svc-stack{margin-bottom:6rem;text-align:center}.svc-stack__title{font-size:1.2rem;font-weight:600;color:var(--text-accent);margin-bottom:1.5rem;letter-spacing:.04em}.svc-stack__grid{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}.svc-stack__item{display:flex;flex-direction:column;align-items:center;gap:.6rem}.svc-stack__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-blue)}.svc-stack__icons{display:flex;gap:.5rem}.svc-stack__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#64ffda0d;border:1px solid rgba(100,255,218,.12);border-radius:var(--radius-sm);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.svc-stack__icon:hover{transform:scale(1.15);border-color:#64ffda66;box-shadow:0 0 16px #64ffda1a}.svc-stack__icon i{font-size:1.5rem}.svc-stack__icon img{width:24px;height:24px}.svc-process{margin-bottom:6rem}.svc-process__title{font-size:1.6rem;font-weight:600;color:var(--text-accent);text-align:center;margin-bottom:2.5rem}.svc-process__steps{display:flex;gap:1.5rem;position:relative}.svc-process__steps:before{content:"";position:absolute;top:32px;left:40px;right:40px;height:2px;background:linear-gradient(90deg,transparent,rgba(100,255,218,.2),rgba(100,255,218,.2),transparent);z-index:0}.svc-step{flex:1;text-align:center;position:relative;z-index:1}.svc-step__number{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;border-radius:50%;background:var(--medium-blue);border:2px solid rgba(100,255,218,.25);font-size:1.4rem;font-weight:700;color:var(--accent-blue);transition:transform .3s ease,box-shadow .3s ease}.svc-step:hover .svc-step__number{transform:scale(1.1);box-shadow:0 0 24px #64ffda26}.svc-step__title{font-size:1rem;font-weight:600;color:var(--text-accent);margin-bottom:.4rem}.svc-step__desc{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.svc-cta{background:var(--card-bg);border:1px solid rgba(100,255,218,.12);border-radius:var(--radius-md);padding:3rem 2rem;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.svc-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(100,255,218,.08),transparent 55%);pointer-events:none}.svc-cta__title{font-size:1.5rem;font-weight:600;color:var(--text-accent);margin-bottom:.8rem;position:relative}.svc-cta__text{font-size:1rem;color:var(--text-secondary);max-width:520px;margin:0 auto 1.5rem;line-height:1.6;position:relative}.svc-cta__actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;position:relative}@media(max-width:768px){.svc-intro{margin-bottom:3rem}.svc-grid,.svc-stack,.svc-process{margin-bottom:4rem}.svc-grid{grid-template-columns:1fr}.svc-process__steps{flex-direction:column;gap:2rem}.svc-process__steps:before{inset:0 auto 0 32px;width:2px;height:auto;background:linear-gradient(180deg,transparent,rgba(100,255,218,.2),rgba(100,255,218,.2),transparent)}.svc-step{text-align:left;display:flex;gap:1.2rem;align-items:flex-start}.svc-step__number{margin:0;min-width:56px;min-height:56px;width:56px;height:56px;font-size:1.2rem}.svc-intro__tagline{font-size:1.3rem}.svc-cta{padding:2rem 1.5rem}}@media(max-width:480px){.svc-intro__tagline{font-size:1.1rem}}.blog{padding:6.5rem 5%}.contact-content{display:block}.contact-info{flex:1}.contact-shell{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:2.5rem;background:var(--card-bg);border:1px solid rgba(100,255,218,.12);border-radius:var(--radius-md);padding:2.5rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.contact-shell:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(100,255,218,.08),transparent 55%);pointer-events:none}.contact-info{display:flex;flex-direction:column;gap:1.2rem;position:relative;z-index:1}.contact-title{font-size:1.8rem;margin:0;color:var(--text-accent)}.contact-text{color:var(--text-muted);line-height:1.7;margin:0}.contact-actions{display:flex;gap:1rem;flex-wrap:wrap}.contact-social{display:flex;gap:1.5rem;margin-top:.5rem}.social-link{color:var(--text-accent);font-size:1.3rem;transition:var(--transition);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.social-link:hover{color:var(--accent-blue);transform:translateY(-5px)}.contact-form{flex:1;position:relative;z-index:1;padding:0;background:transparent;border:none;box-shadow:none}.contact-reimagined{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-panel{display:grid;gap:2rem;position:relative;z-index:1}.contact-headline{display:grid;gap:.8rem}.contact-kicker{font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-blue)}.contact-steps{display:grid;gap:1.2rem}.contact-step{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1rem;border-radius:var(--radius-sm);background:#0a192f73;border:1px solid rgba(100,255,218,.12)}.contact-step h4{margin:0 0 .4rem;font-size:1rem;color:var(--text-accent)}.contact-step p{margin:0;color:var(--text-secondary);font-size:.9rem}.contact-step-number{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:Space Mono,monospace;font-size:.85rem;color:var(--accent-blue);background:#64ffda1a;border:1px solid rgba(100,255,218,.3)}.contact-form-card{background:#0a192f8c;padding:2rem;border-radius:var(--radius-md);border:1px solid rgba(100,255,218,.12)}.contact-note{margin-top:1rem;font-size:.8rem;color:var(--text-muted)}.footer{background:linear-gradient(180deg,var(--medium-blue) 0%,#0d1f3c 100%);padding:0;text-align:center;position:relative;overflow:hidden}.ft-separator{height:2px;background:linear-gradient(90deg,transparent,var(--accent-blue),transparent);background-size:200% 100%;animation:ft-separator-move 4s ease-in-out infinite}@keyframes ft-separator-move{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.ft-marquee{padding:1.5rem 0;display:flex;flex-direction:column;gap:.8rem;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ft-marquee__track{display:flex;width:max-content}.ft-marquee__track--right{animation:ft-marquee-right 35s linear infinite}.ft-marquee__track--left{animation:ft-marquee-left 35s linear infinite}.ft-marquee__group{display:flex;gap:1.2rem;padding:0 .6rem;flex-shrink:0}.ft-marquee__item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#64ffda0d;border:1px solid rgba(100,255,218,.1);border-radius:var(--radius-sm);white-space:nowrap;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.ft-marquee__item:hover{transform:scale(1.08);border-color:#64ffda59;box-shadow:0 0 16px #64ffda1f}.ft-marquee__item i{font-size:1.5rem}.ft-marquee__item span{font-size:.82rem;color:var(--text-secondary);font-weight:500}@keyframes ft-marquee-right{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes ft-marquee-left{0%{transform:translate(-50%)}to{transform:translate(0)}}.ft-main{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1rem 2rem}.ft-badge{display:inline-flex;align-items:center;font-size:1.5rem;font-weight:700;color:var(--accent-blue);gap:.3rem;letter-spacing:.4px;padding:.5rem 1.2rem;border-radius:999px;background:#0a192fb3;border:1px solid rgba(100,255,218,.25);box-shadow:0 0 20px #64ffda14;animation:ft-glow-pulse 3s ease-in-out infinite}@keyframes ft-glow-pulse{0%,to{box-shadow:0 0 20px #64ffda14;border-color:#64ffda40}50%{box-shadow:0 0 30px #64ffda2e;border-color:#64ffda73}}.ft-tagline{color:var(--text-secondary);max-width:500px;margin:0;line-height:1.5;font-size:1rem;font-style:italic}.ft-social{display:inline-flex;gap:1rem}.ft-social a{width:48px;height:48px;border-radius:50%;border:1px solid rgba(100,255,218,.25);display:inline-flex;align-items:center;justify-content:center;color:var(--text-accent);text-decoration:none;font-size:1.2rem;background:#64ffda0a;transition:all .3s ease;position:relative;overflow:hidden}.ft-social a:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(100,255,218,.2) 0%,transparent 70%);opacity:0;transform:scale(0);transition:opacity .3s ease,transform .3s ease}.ft-social a:hover{color:var(--accent-blue);border-color:#64ffda99;transform:translateY(-3px);box-shadow:0 8px 20px #64ffda26}.ft-social a:hover:before{opacity:1;transform:scale(1.5)}.ft-social a:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.ft-nav{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:.5rem 0}.ft-nav a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 .6rem;font-size:.9rem;position:relative}.ft-nav a:after{content:"";position:absolute;bottom:6px;left:50%;width:0;height:1px;background-color:var(--accent-blue);transition:width .3s ease,left .3s ease}.ft-nav a:hover{color:var(--accent-blue)}.ft-nav a:hover:after{width:60%;left:20%}.ft-nav a:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.ft-nav__blog{color:#ff9a1a!important;border:1px solid rgba(255,154,26,.3);border-radius:999px;padding:0 .9rem!important;background:#ff9a1a0f;gap:.4rem;font-weight:500;transition:all .25s ease!important}.ft-nav__blog-icon{width:18px;height:18px;image-rendering:pixelated;vertical-align:middle;position:relative;top:-1px}.ft-nav__blog:hover{color:#ffd166!important;border-color:#ff9a1a99;background:#ff9a1a1f;box-shadow:0 0 14px #ff9a1a26}.ft-nav__blog:after{background-color:#ff9a1a!important}.ft-nav__cv{color:var(--accent-blue)!important;border:1px solid rgba(100,255,218,.3);border-radius:999px;padding:0 .9rem!important;background:#64ffda0f;gap:.4rem;font-weight:500;transition:all .25s ease!important}.ft-nav__cv i{font-size:.75rem}.ft-nav__cv:hover{color:#a8ffea!important;border-color:#64ffda99;background:#64ffda1f;box-shadow:0 0 14px #64ffda26}.ft-nav__cv:after{background-color:var(--accent-blue)!important}.ft-copy{font-size:.8rem;color:var(--text-muted);padding:1.2rem 1rem;border-top:1px solid rgba(100,255,218,.06);letter-spacing:.3px}.ft-heart{color:#ff6b6b;display:inline-block;animation:ft-heartbeat 1.2s ease-in-out infinite}@keyframes ft-heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.15)}56%{transform:scale(1)}}[data-ft-animate]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}[data-ft-animate=marquee]{transform:translateY(0)}.footer.ft-visible [data-ft-animate=marquee]{opacity:1;transition-delay:0s}.footer.ft-visible [data-ft-animate=badge]{opacity:1;transform:translateY(0) scale(1);transition-delay:.15s}.footer.ft-visible [data-ft-animate=tagline]{opacity:1;transform:translateY(0);transition-delay:.3s}.footer.ft-visible [data-ft-animate=social]{opacity:1;transform:translateY(0);transition-delay:.45s}.footer.ft-visible [data-ft-animate=nav]{opacity:1;transform:translateY(0);transition-delay:.6s}.footer.ft-visible [data-ft-animate=copy]{opacity:1;transform:translateY(0);transition-delay:.75s}@media(prefers-reduced-motion:reduce){.ft-marquee__track,.ft-separator,.ft-badge,.ft-heart{animation:none}[data-ft-animate]{opacity:1;transform:none;transition:none}}@media(max-width:1200px){.hero-content,.about-content,.contact-content{padding:0 3%}.hero-content{max-width:100%}}@media(max-width:992px){.hero{flex-direction:column;text-align:center}.hero-code-container{text-align:left}.hero-content{padding-right:0;margin-bottom:2rem;max-width:100%}.hero-code{width:100%;max-width:100%;padding:0}.code-window{max-width:100%}.skills-container{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.image-container{width:280px;height:420px}.section{padding:5rem 4%}.section-header h2{font-size:1.9rem}.section-line{max-width:200px}.project-card{flex:0 0 50%}}@media(max-width:768px){html{font-size:14px}.header{padding:1rem 3%}.logo{font-size:1.3rem}.nav{position:fixed;top:0;right:-100%;width:100%;height:100vh;background-color:var(--medium-blue);display:flex;flex-direction:column;justify-content:center;align-items:center;transition:var(--transition);z-index:1100;padding:4rem 2rem 2rem;opacity:0;pointer-events:none}.nav.active{right:0;opacity:1;pointer-events:auto}.nav ul{flex-direction:column;align-items:center;background:transparent;border:none;box-shadow:none;padding:0;width:100%}.nav-link{margin:1.2rem 0;font-size:1.1rem;width:100%;justify-content:center;max-width:240px}.nav-link--blog{animation:none;max-width:240px}.nav-link--blog__icon{width:20px;height:20px}.menu-toggle{display:flex;position:fixed;top:1rem;right:6%;z-index:1201}.code-content{padding:1rem}.hero-code-container{text-align:left;min-width:100%}.code-content code{font-size:.8rem}.about-content{flex-direction:column}.about-image{order:-1;margin-bottom:3rem}.skills-container{grid-template-columns:repeat(3,1fr)}.about-stats{flex-wrap:wrap;justify-content:center;gap:1rem}.about-stat__divider{display:none}.project-card{flex:0 0 50%}.projects-carousel__btn{width:38px;height:38px;font-size:.85rem}.contact-shell{grid-template-columns:1fr;padding:2rem}.form-grid{grid-template-columns:1fr}.pdf-viewer{height:70vh;min-height:500px}.pdf-container{padding:1rem}.pdf-toolbar{flex-direction:column;align-items:flex-start;gap:1rem}.pdf-meta{flex-direction:column;gap:.5rem}.jasper-tutorial{width:90%;max-width:340px;right:50%;top:50%;transform:translate(50%,-50%) scale(.9);padding:1.3rem 1.2rem 1.1rem}.jasper-tutorial.visible{transform:translate(50%,-50%) scale(1)}.jasper-tutorial-fox{width:50px;height:46px;margin-bottom:.8rem}.jasper-tutorial-text{font-size:.84rem;min-height:auto}.neofetch-container{flex-direction:column;gap:1rem}.neofetch-ascii{font-size:.5rem;align-self:center}.terminal-prompt{font-size:.75rem}.terminal-output{font-size:.78rem}.ft-marquee__item span{display:none}.ft-marquee__group{gap:.8rem}.ft-marquee__item{padding:.5rem .7rem}.ft-main{padding:2rem 1rem 1.5rem}.ft-badge{font-size:1.25rem;padding:.45rem 1rem}.ft-tagline{font-size:.92rem}.ft-nav{gap:.3rem}}@media(max-width:576px){.neofetch-ascii{display:none}.section{padding:4rem 3%}.section-header{flex-direction:column;align-items:flex-start}.section-header h2{font-size:1.5rem;white-space:normal}.section-line{margin-left:0;margin-top:1rem;width:100%}.hero{padding-top:70px}.hero-code-container{text-align:left}.title-name{font-size:2.2rem}.title-role{font-size:1.3rem}.hero-buttons{flex-direction:column;gap:1rem}.btn{width:100%}.code-content{padding:.8rem}.code-content code{font-size:.75rem}.code-header{padding:.6rem .8rem}.code-title{font-size:.7rem}.dot{width:10px;height:10px}.skills-container{grid-template-columns:repeat(2,1fr);gap:.8rem}.contact-shell{padding:1.5rem}.contact-step{padding:.85rem}.footer{padding:0}.ft-badge{font-size:1.15rem;padding:.4rem .9rem}.ft-tagline{font-size:.88rem;padding:0 .5rem}.ft-social a{width:42px;height:42px}.ft-nav a{font-size:.82rem;padding:0 .4rem}.ft-nav__blog{padding:0 .6rem!important;font-size:.78rem}.ft-nav__blog-icon{width:14px;height:14px}.ft-marquee__item i{font-size:1.2rem}.image-container{width:240px;height:360px}.project-card{flex:0 0 100%}}@media(max-width:768px){.mascot{width:44px;height:40px;z-index:1502}.mascot.side-left,.mascot.side-right{transform:scale(.7)}.mascot.side-left.visible,.mascot.side-right.visible{transform:scale(1);animation:mascot-enter-mobile .4s cubic-bezier(.34,1.56,.64,1) forwards}.mascot.side-left.exiting,.mascot.side-right.exiting{animation:mascot-exit-mobile .3s ease-in forwards}.mascot.entrance-tilt.side-left.visible,.mascot.entrance-tilt.side-right.visible,.mascot.entrance-slow.side-left.visible,.mascot.entrance-slow.side-right.visible{animation-name:mascot-enter-mobile}.mascot-bubble{max-width:min(78vw,280px);font-size:.84rem;line-height:1.45;padding:.7rem .9rem}.mascot-intro-speech{max-width:min(88vw,360px);font-size:.9rem;padding:1rem 1.1rem}.mascot-intro-fox{width:98px;height:90px}.mascot-challenge{max-width:min(92vw,420px);padding:1rem}.mascot-challenge-title{font-size:1rem}.mascot-challenge-prompt{font-size:.85rem}.mascot-challenge-solution{font-size:.75rem;padding:.8rem}.mascot.side-left.visible:hover,.mascot.side-right.visible:hover{transform:scale(1.05) rotate(4deg)}}@keyframes mascot-enter-mobile{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes mascot-exit-mobile{0%{transform:scale(1);opacity:1}to{transform:scale(.5);opacity:0}}@media(max-width:576px){.mascot{width:40px;height:36px}.mascot-bubble{max-width:min(86vw,300px);font-size:.8rem;padding:.65rem .8rem}.mascot-intro-speech{max-width:min(90vw,340px);font-size:.85rem;padding:.9rem 1rem}.mascot-intro-fox{width:72px;height:66px}.mascot-intro-btn{font-size:.82rem;padding:.5rem 1.4rem}.mascot-challenge{max-width:min(92vw,360px);padding:1rem}.mascot-challenge-title{font-size:.92rem}.mascot-challenge-prompt{font-size:.8rem}.mascot-challenge-solution{font-size:.72rem}.mascot-challenge-actions{flex-direction:column;gap:.5rem}.mascot-challenge-actions button{width:100%}}@media(max-width:768px){.nav-terminal,.nav-terminal i,.ft-heart,.about-glow{animation:none}}
