:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "Source Code Pro", monospace;--ease-out: cubic-bezier(.2, .8, .2, 1)}[data-theme=light]{--bg-primary: #F5EFE6;--bg-secondary-glass: rgba(255, 255, 255, .3);--text-primary: #4a2c2a;--text-secondary: #785a54;--accent: #E57A44;--accent-light: #FFEFE5;--border-color-glass: rgba(255, 255, 255, .6);--dot-color: #d1c7bc;--shadow: 0 8px 16px -4px rgba(74, 44, 42, .1), 0 4px 8px -2px rgba(74, 44, 42, .08);--shadow-lg: 0 16px 24px -6px rgba(74, 44, 42, .12), 0 8px 12px -4px rgba(74, 44, 42, .1)}[data-theme=dark]{--bg-primary: #111010;--bg-secondary-glass: rgba(43, 31, 28, .3);--text-primary: #EAE0D5;--text-secondary: #b0a091;--accent: #E57A44;--accent-light: #4a2c2a;--border-color-glass: rgba(74, 44, 42, .6);--dot-color: #4a2c2a;--shadow: 0 8px 16px -4px rgba(0, 0, 0, .3), 0 4px 8px -2px rgba(0, 0, 0, .25);--shadow-lg: 0 16px 24px -6px rgba(0, 0, 0, .35), 0 8px 12px -4px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);background-image:radial-gradient(circle at 0% 0%,hsla(18,26%,80%,.1),transparent 50%),radial-gradient(circle at 100% 100%,hsla(20,74%,58%,.1),transparent 50%);color:var(--text-primary);transition:background-color .3s var(--ease-out),color .3s var(--ease-out)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.section{position:relative;isolation:isolate;padding:6rem 0;border-bottom:1px solid var(--border-color-glass)}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}.navbar{position:sticky;top:0;z-index:50;background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-bottom:1px solid var(--border-color-glass);transition:background-color .3s ease}.navbar-container{display:flex;justify-content:space-between;align-items:center;height:4.5rem}.navbar-logo{font-family:var(--font-mono);font-size:1.25rem;font-weight:600;color:var(--text-primary);text-decoration:none}.navbar-links{display:flex;align-items:center;gap:1.5rem}.btn-cta{background-color:var(--accent);color:#fff;padding:.6rem 1.2rem;border-radius:.5rem;text-decoration:none;font-weight:500;font-size:.9rem;transition:transform .2s ease,box-shadow .2s ease;box-shadow:var(--shadow)}.btn-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.theme-toggle-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;transition:color .2s ease,transform .3s var(--ease-out)}.theme-toggle-btn:hover{color:var(--accent);transform:rotate(15deg) scale(1.1)}.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:calc(70vh - 4.5rem);border-bottom:1px solid var(--border-color-glass)}.hero .container{text-align:center}.hero-name{font-size:clamp(2.5rem,10vw,5rem);font-weight:800;letter-spacing:-2px}.hero-subtitle{font-family:var(--font-mono);font-size:clamp(1rem,4vw,1.5rem);color:var(--accent);margin-top:.5rem;min-height:2.2rem}.typing-cursor{display:inline-block;width:2px;height:1.5rem;background-color:var(--accent);animation:blink 1s infinite;margin-left:4px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-summary{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:1.5rem 0 0}.hero-cta-container{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.cta-btn{display:inline-block;background-color:var(--accent);color:#fff;padding:.8rem 2rem;border-radius:.5rem;text-decoration:none;font-weight:600;box-shadow:var(--shadow-lg);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.cta-btn:hover{transform:translateY(-3px);box-shadow:0 12px 20px -5px #e57a4466}.hero-socials{display:flex;gap:1rem}.social-btn{display:inline-flex;align-items:center;gap:.6rem;color:#fff;padding:.6rem 1.2rem;border-radius:.5rem;text-decoration:none;font-weight:500;font-size:.9rem;border:1px solid var(--border-color-glass);background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:transform .2s ease,opacity .2s ease}.social-btn:hover{transform:translateY(-2px);opacity:.9}.social-btn svg{width:20px;height:20px}.social-github{background-color:#24292e66}.social-linkedin{background-color:#0a66c266}.hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0);background-size:30px 30px;opacity:.5;z-index:-2;-webkit-mask-image:linear-gradient(to bottom,black 85%,transparent 100%);mask-image:linear-gradient(to bottom,black 85%,transparent 100%)}.hero:after{content:"";position:absolute;width:200vw;height:200vh;top:50%;left:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 50%);transform-origin:center center;filter:blur(300px);opacity:.15;z-index:-1;animation:background-glow 50s infinite alternate ease-in-out}[data-theme=dark] .hero:after{opacity:.2}@keyframes background-glow{0%{transform:translate(-100%,-100%)}25%{transform:translateY(-100%)}50%{transform:translate(0)}75%{transform:translate(-100%)}to{transform:translate(-100%,-100%)}}.terminal-window{background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--border-color-glass);border-radius:.75rem;box-shadow:var(--shadow-lg);font-family:var(--font-mono);min-height:350px;display:flex;flex-direction:column;overflow:hidden}.terminal-header{background-color:#161b2266;padding:.75rem;display:flex;align-items:center;color:var(--text-secondary);font-size:.9rem;border-bottom:1px solid var(--border-color-glass)}.terminal-dots{display:flex;gap:.5rem;margin-right:1rem}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background-color:#ff5f56}.dot.yellow{background-color:#ffbd2e}.dot.green{background-color:#27c93f}.terminal-body{padding:1rem;flex-grow:1;overflow-y:auto;position:relative}.terminal-body pre{white-space:pre-wrap;word-wrap:break-word;margin:0;color:var(--text-primary);font-size:.95rem;line-height:1.6}.terminal-prompt{display:flex;align-items:center}.terminal-prompt span{color:#3fb950;margin-right:.5rem;font-weight:700}.terminal-input{background:none;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:.95rem;flex-grow:1}.terminal-input:focus{outline:none}#matrix-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}#skills{overflow:hidden}#skills:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100vw;height:100%;background-image:radial-gradient(ellipse at 50% 0%,var(--accent) 0%,transparent 50%);opacity:.1;z-index:-1;filter:blur(100px)}[data-theme=dark] #skills:before{opacity:.15}.skills-showcase{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:3rem;margin-top:4rem}.skill-sphere-container{display:flex;justify-content:center;align-items:center;min-height:400px}.tagcloud{font-family:var(--font-mono);font-size:16px;font-weight:600}.tagcloud--item{color:var(--text-secondary);transition:color .3s ease}.tagcloud--item:hover{color:var(--accent)}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.skill-card{position:relative;background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid var(--border-color-glass);border-radius:.75rem;padding:1.75rem;overflow:hidden;transition:transform .3s var(--ease-out)}.skill-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 0,var(--accent),transparent 40%);opacity:0;transition:opacity .4s var(--ease-out);z-index:1}.skill-card:hover{transform:translateY(-5px)}.skill-card:hover:before{opacity:.15}.skill-card-header,.skill-list{position:relative;z-index:2}.skill-card-header{display:flex;align-items:center;margin-bottom:1.5rem}.skill-card-icon{color:var(--accent);margin-right:1rem}.skill-card-icon svg{width:28px;height:28px}.skill-card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.skill-list{display:flex;flex-wrap:wrap;gap:.5rem}.skill-item{background-color:var(--bg-primary);border:1px solid var(--border-color-glass);color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem;padding:.3rem .6rem;border-radius:.375rem}@media(max-width:900px){.skills-showcase{display:block}.skills-grid{grid-template-columns:1fr 1fr;margin-top:0}}@media(max-width:600px){.skills-grid{grid-template-columns:1fr}}.philosophy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;padding:2rem;margin-top:4rem}.philosophy-card{background:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--border-color-glass);border-radius:.75rem;padding:2rem;text-align:center;transition:transform .3s var(--ease-out),border-color .3s var(--ease-out)}.philosophy-card:hover{transform:translateY(-5px);border-color:var(--accent)}.philosophy-card-icon{display:inline-flex;justify-content:center;align-items:center;width:60px;height:60px;border-radius:50%;background-color:var(--bg-primary);color:var(--accent);margin-bottom:1.5rem;transition:background-color .3s ease,color .3s ease}.philosophy-card:hover .philosophy-card-icon{background-color:var(--accent);color:#fff}.philosophy-card-icon svg{width:32px;height:32px}.philosophy-card-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.philosophy-card-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6}#projects:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0);background-size:30px 30px;opacity:.5;z-index:-1;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%)}.projects-title{text-align:center;font-size:2.5rem;font-weight:700}.project-filters{display:flex;justify-content:center;gap:.75rem;margin-top:2.5rem;flex-wrap:wrap}.filter-btn{background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--border-color-glass);color:var(--text-secondary);padding:.5rem 1rem;border-radius:99px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.filter-btn.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;margin-top:3rem}.project-card{background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--border-color-glass);border-radius:.75rem;padding:1.75rem;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);cursor:pointer}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card-role{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);margin-bottom:.5rem}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.card-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6;flex-grow:1}.card-tech{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:var(--accent-light);border:1px solid var(--border-color-glass);color:var(--accent);font-family:var(--font-mono);font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:99px}.contact-section{text-align:center}.contact-section .hero-summary{max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:3rem}.contact-form{max-width:700px;margin:0 auto;text-align:left;background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--border-color-glass);padding:2rem;border-radius:.75rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.form-group input,.form-group textarea{width:100%;padding:.8rem 1rem;font-size:1rem;font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color-glass);border-radius:.5rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.form-group textarea{resize:vertical}.form-submit{text-align:right}.btn-submit{background-color:var(--accent);color:#fff;padding:.8rem 2rem;border-radius:.5rem;text-decoration:none;font-weight:600;border:none;cursor:pointer;box-shadow:var(--shadow-lg);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.btn-submit:hover{transform:translateY(-3px);box-shadow:0 12px 20px -5px #e57a4466}@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:0}}.footer{text-align:center;padding:2.5rem 0;color:var(--text-secondary);font-size:.9rem;border-top:1px solid var(--border-color-glass)}.footer a{color:var(--text-secondary);text-decoration:none;font-weight:500;margin:0 .75rem}.footer a:hover{color:var(--accent)}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--text-primary);padding:2.5rem;border-radius:.75rem;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(-20px);animation:slideIn .4s var(--ease-out) forwards;border:1px solid var(--border-color-glass)}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close-btn{position:absolute;top:1rem;right:1.5rem;background:none;border:none;font-size:2rem;line-height:1;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,transform .2s ease}.modal-close-btn:hover{color:var(--text-primary);transform:rotate(90deg)}.modal-title{font-size:2rem;font-weight:700;margin-top:.5rem;margin-bottom:1rem}.modal-body{margin-top:1.5rem;line-height:1.7;color:var(--text-secondary)}.modal-body h4{color:var(--text-primary);font-weight:600;margin-bottom:.75rem}.modal-body ul{list-style-position:inside;padding-left:.5rem}.modal-body li{margin-bottom:.5rem}.form-success-message{max-width:700px;margin:3rem auto 0;padding:2rem;background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--accent);border-radius:.5rem;text-align:center}.form-success-message h3{font-size:1.5rem;color:var(--accent);margin-bottom:.5rem}.form-error-message{margin-top:1rem;color:#ef4444;text-align:right;font-size:.9rem}
