@charset "UTF-8";.subtitle[data-astro-cid-bbe6dxrz]{margin-top:.2rem}.animated-subtitle[data-astro-cid-bbe6dxrz]{display:inline-block;color:var(--text-color-sub);position:relative;font-weight:500;letter-spacing:.02em;transform-origin:center}.char[data-astro-cid-bbe6dxrz]{display:inline-block;will-change:transform,opacity}.hero-text[data-astro-cid-bbe6dxrz] h1[data-astro-cid-bbe6dxrz],.hero-text[data-astro-cid-bbe6dxrz] p[data-astro-cid-bbe6dxrz]{transform:translateZ(0);will-change:transform,opacity}.hero-actions[data-astro-cid-bbe6dxrz] .action-btn[data-astro-cid-bbe6dxrz]{transform:translateZ(0);will-change:transform,opacity;transition:box-shadow .3s ease}.hero-actions[data-astro-cid-bbe6dxrz] .action-btn[data-astro-cid-bbe6dxrz]:hover{box-shadow:0 8px 25px rgba(var(--main-color-rgb),.15)}.hero-image[data-astro-cid-bbe6dxrz] img[data-astro-cid-bbe6dxrz]{transform:translateZ(0);will-change:transform,opacity}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/lexend-vietnamese-wght-normal.RvljkFvg.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/lexend-latin-ext-wght-normal.Ca5OILQq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/lexend-latin-wght-normal.ga3u8m5q.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--text-color: #ddd;--text-color-sub: #afafaf;--bg-color: rgb(33, 40, 58);--main-color: rgb(232, 187, 102);--alt-color: rgb(51, 63, 92);--main-font: Lexend Variable, sans-serif;--font-size: clamp(6px, .83333333333vw, 24px);--font-size-mobile: clamp(8px, 4.10256410256vw, 36px)}html{scroll-behavior:smooth}body{font-family:var(--main-font);gap:1;background:#21283a}body ::selection{background:var(--main-color);color:var(--bg-color)}p{color:var(--text-color)}h1{font-size:4rem;color:var(--main-color)}hr{margin:7rem auto;width:80%;border-color:var(--main-color)}@media (max-width: 768px){hr{width:80%}}h3{font-size:2rem;color:var(--main-color)}h3 svg{position:relative;top:.5rem}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#21283a;border-radius:10px;box-shadow:inset 0 0 5px #0000004d}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#fac76a,#f4d03f,#fac76a);border-radius:10px;border:2px solid #21283a;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#f4d03f,#fac76a,#f4d03f);box-shadow:0 0 10px #fac76a80}::-webkit-scrollbar-thumb:active{background:#fac76a}::-webkit-scrollbar-corner{background:#21283a}html,body,.scrollable-container{scrollbar-width:thin;scrollbar-color:#fac76a #21283a}.scrollable-container::-webkit-scrollbar{width:8px;height:8px}.scrollable-container::-webkit-scrollbar-track{background:#21283acc;border-radius:8px}.scrollable-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#fac76a,#f4d03f);border-radius:8px;border:1px solid rgba(33,40,58,.5)}.scrollable-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#f4d03f,#fac76a);box-shadow:0 0 8px #fac76a66}.header{position:fixed;top:0;left:0;right:0;height:4.0625rem;z-index:9999;display:flex;align-items:center;justify-content:center;padding:0 1.5rem;background:#0000001a;backdrop-filter:blur(5px);border-radius:0 0 .75rem .75rem;transition:background .4s ease}.header ul{display:flex;gap:2.5rem;margin:0;padding:0;list-style:none}.header li{position:relative}.header a{position:relative;color:#afafaf;font-size:.875rem;font-weight:500;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:color .3s ease}.header a:after{content:"";position:absolute;left:0;bottom:-.4rem;width:0;height:2px;background:#fff;transition:width .3s ease}.header a:hover,.header a:focus-visible{color:#fff;outline:none}.header a:hover:after,.header a:focus-visible:after{width:100%}body.scrolled .header{background:#181e2b60}.toggle-input{display:none}.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;z-index:10001}.hamburger span{width:24px;height:2px;background:#fff;transition:.3s}@media (max-width: 768px){.header{justify-content:flex-end;padding:0 1.25rem}.header ul{position:fixed;inset:0;background:#21283abf;backdrop-filter:blur(10px);flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding:2rem;transform:translate(100%);transition:transform .4s ease;min-height:100vh;min-height:100dvh}.header a{font-size:1.125rem;padding:.5rem 1rem;border-radius:.5rem;transition:all .3s ease}.header a:hover,.header a:focus-visible{background:#ffffff1a;transform:translateY(-2px)}.header a:after{bottom:-.25rem}.hamburger{display:flex;position:relative}.toggle-input:checked+.hamburger span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.toggle-input:checked+.hamburger span:nth-child(2){opacity:0}.toggle-input:checked+.hamburger span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.toggle-input:checked~nav ul{transform:translate(0)}}.header nav a.active{color:var(--main-color);font-weight:700;transition:all .2s ease}.footer{margin-top:3rem;padding:1.5rem clamp(1rem,4vw,2.5rem);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;background:#00000014;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:12px;font-size:.875rem;color:var(--text-color);transition:background .3s ease,color .3s ease}.footer .color{color:var(--main-color);font-weight:900;font-size:1rem;margin:0 .25rem;transition:color .3s ease}.footer .code{margin-right:.5rem;font-family:monospace}.footer .update{opacity:.8;letter-spacing:.05rem;font-size:.85rem}.footer .author{color:var(--text-color);text-decoration:none;font-weight:600;transition:color .3s ease}.footer .author:hover{cursor:pointer;color:var(--main-color)}.footer .astro-credit{font-size:.85rem}.footer .astro-credit a{color:var(--main-color);text-decoration:none;transition:color .3s ease}.footer .astro-credit a:hover{text-decoration:underline}@media (max-width: 500px){.footer{flex-direction:column;align-items:flex-start;text-align:left;gap:.5rem}}.social-menu{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:1000}.social-list{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:.8rem;background:#0000001a;backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2);border-radius:0 0 .75rem .75rem;border-radius:50px}.social-link{position:relative;display:flex;align-items:center;justify-content:center;width:50px;height:50px;color:#333;background:var(--alt-color);border-radius:50%;transition:all .3s ease;text-decoration:none;box-shadow:0 2px 8px #0000001a}.social-link:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0003}.social-link:hover .tooltip{opacity:1;transform:translate(-10px)}.social-icon{width:22px;height:22px}.tooltip{position:absolute;right:100%;top:20%;transform:translateY(-50%) translate(-5px);background:var(--alt-color);color:#fff;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;white-space:nowrap;opacity:0;transition:all .3s ease;pointer-events:none;margin-right:10px}.tooltip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--alt-color)}@media (max-width: 1000px){.social-menu{display:none}}.hero{display:flex;justify-content:center;align-items:center;min-height:90vh;padding:3rem 6rem;gap:4rem;background:#21283a;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;height:30%;background:radial-gradient(circle at 25% 15%,rgba(128,0,128,.6),transparent 60%),radial-gradient(circle at 75% 20%,rgba(147,112,219,.55),transparent 55%),radial-gradient(circle at 50% 25%,rgba(255,0,0,.5),transparent 60%);filter:blur(100px);opacity:.8;z-index:0;pointer-events:none;transform:scale(1);animation:pulse 5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.65}50%{transform:scale(1.2);opacity:.85}}.particles{position:absolute;inset:0;z-index:0;pointer-events:none}.particle{position:absolute;width:4px;height:4px;background:#ffba39cc;border-radius:50%;animation:float 18s infinite linear}@keyframes float{0%{transform:translateY(100vh) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100px) translate(50px);opacity:0}}.hero-text,.hero-image{position:relative;z-index:1}h1{margin:0;text-rendering:optimizeLegibility}.hero-text p{margin-top:2rem;max-width:500px;font:1.1rem/1.6 var(--font-body)}.highlight{--main-color: #e8bb66;--shine-color: #fff2b0;--dark-color: #8b5a1e;background:linear-gradient(to right,var(--dark-color) 0%,var(--main-color) 25%,var(--shine-color) 50%,var(--main-color) 75%,var(--dark-color) 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:800;animation:waveFlow 4s ease-in-out infinite}@keyframes waveFlow{0%{background-position:200% 50%}to{background-position:0% 50%}}.subtitle{margin-bottom:2rem;font:300 1.8rem/1.25;letter-spacing:.5px;color:var(--text-color-sub)}.hero-image{flex-shrink:0}.hero-image img{width:320px;height:320px;max-width:100%;border-radius:50%;object-fit:cover;border:4px solid #fac76a;transition:transform .3s ease}.hero-image img:hover{transform:scale(1.05)}.hero-actions{display:none}@media (max-width: 1000px){.hero-actions.mobile-only{display:flex;gap:1rem;margin-top:2rem;justify-content:center}.action-btn{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:var(--alt-color);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}}@media (max-width: 1001px){.hero-actions{display:none}}@media (max-width: 1000px){.hero{flex-direction:column;gap:2rem;padding:2rem;text-align:center;min-height:auto}.hero-image{order:-1}h1{font-size:2.5rem}.subtitle{font-size:1.4rem}.hero-image img{margin-top:3rem;width:220px;height:220px}}.about{padding:2rem 1rem;width:100%;max-width:1200px;margin:0 auto;border-radius:30px;box-sizing:border-box}.about p{color:var(--text-color)}.about span{color:var(--main-color)}@media (max-width: 768px){.about{width:80%}}#sobre-mi{scroll-margin-top:100px}.experience{padding:2rem 1rem;width:100%;color:var(--text-color);max-width:1200px;margin:0 auto;border-radius:30px;box-sizing:border-box}@media (max-width: 768px){.experience{width:80%}}.experience .section-title{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;margin-bottom:2rem;color:var(--text-color)}#experiencia{scroll-margin-top:100px}.projects-container{padding:2rem 1rem;width:100%;max-width:1200px;margin:0 auto;border-radius:30px;box-sizing:border-box}.projects-container p{color:var(--text-color)}.projects-container p span{color:var(--main-color)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem;align-items:start}.projects-grid:has(.project-card:only-child){grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}.projects-grid:has(.project-card:only-child) .project-card{max-width:600px;width:100%}.projects-grid:has(.project-card:nth-child(2):last-child){grid-template-columns:repeat(2,1fr);max-width:none}.projects-grid:has(.project-card:nth-child(3):last-child){grid-template-columns:repeat(2,1fr);max-width:none}.projects-grid:has(.project-card:nth-child(3):last-child) .project-card:nth-child(3){grid-column:1/-1;max-width:600px;margin:0 auto}.projects-grid:has(.project-card:nth-child(4)){grid-template-columns:repeat(2,1fr);max-width:none}.projects-grid:has(.project-card:nth-child(4)) .project-card:nth-child(3){grid-column:auto;max-width:none;margin:0}.projects-grid:has(.project-card:nth-child(5):last-child){grid-template-columns:repeat(2,1fr)}.projects-grid:has(.project-card:nth-child(5):last-child) .project-card:nth-child(5){grid-column:1/-1;max-width:600px;margin:0 auto}.projects-grid:has(.project-card:nth-child(6)){grid-template-columns:repeat(2,1fr)}.projects-grid:has(.project-card:nth-child(6)) .project-card:nth-child(5){grid-column:auto;max-width:none;margin:0}.projects-grid>.project-card{width:100%}.project-card{position:relative;background:linear-gradient(145deg,#ffffff14,#ffffff08);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:1.75rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;min-height:500px;height:fit-content}.project-card:hover{transform:translateY(1.03) scale(-12px);box-shadow:0 20px 40px #00000026,0 8px 16px #0000001a,0 0 0 1px #ffffff1a}.project-card:before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,transparent,rgba(255,255,255,.15),transparent);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:0}.project-card:hover .project-card:before{opacity:1}.view-toggle{display:flex;gap:.5rem;margin-bottom:1.25rem;padding:.25rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.08);position:relative;z-index:1}.toggle-btn{display:flex;align-items:center;justify-content:center;width:50%;gap:.5rem;padding:.5rem .875rem;border:none;background:transparent;color:var(--text-color-sub);border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.85rem;font-weight:500;position:relative;z-index:1}.toggle-btn:hover{background:#ffffff14;color:var(--text-color);transform:translateY(-1px)}.toggle-btn.active{background:var(--main-color);color:var(--bg-color);box-shadow:0 4px 12px color-mix(in srgb,var(--main-color) 30%,transparent)}.toggle-btn:focus-visible{outline:2px solid var(--main-color);outline-offset:2px}.project-image{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:var(--bg-color);margin-bottom:1.25rem;min-height:20px;flex-shrink:0;box-shadow:0 8px 25px #0003,0 4px 12px #0000001a}.image-container{position:absolute;inset:0;opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.image-container.active{opacity:1}.image-container img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.project-card:hover .image-container img{transform:scale(1.05)}.image-overlay{position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:0}.project-card:hover .image-overlay{opacity:1}.project-content{flex:1;display:flex;flex-direction:column;position:relative;z-index:1}.project-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.project-title{font-weight:700;margin:0;line-height:1.25;background:linear-gradient(135deg,var(--main-color),color-mix(in srgb,var(--text-color) 75%,var(--main-color)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.status-badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:12px;background:var(--status-bg);border:1px solid color-mix(in srgb,var(--status-color) 30%,transparent);color:var(--status-color);font-size:clamp(.8rem,1.5vw,1rem);font-weight:600;white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1)}.status-badge:hover{transform:scale(1.05);box-shadow:0 4px 12px color-mix(in srgb,var(--status-color) 25%,transparent)}.status-badge .status-icon{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem}.status-badge .status-icon img{width:170%;height:170%;object-fit:contain;object-position:center}.project-description{color:var(--text-color-sub);line-height:1.65;margin-bottom:auto;font-size:clamp(.85rem,1.6vw,.95rem);opacity:.92;letter-spacing:.01em}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}.tech-tag{display:flex;align-items:center;gap:.375rem;padding:.5rem 1.2rem .5rem .875rem;border-radius:16px;font-size:.8rem;font-weight:600;color:var(--text-color);background:var(--tech-color);border:1px solid rgba(255,255,255,.12);transition:all .3s cubic-bezier(.4,0,.2,1)}.tech-tag:hover{border-color:color-mix(in srgb,var(--text-color) 100%,transparent);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px color-mix(in srgb,var(--tech-color) 40%,transparent)}.project-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:auto}.link-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:12px;text-decoration:none;font-size:clamp(.75rem,1.5vw,.875rem);font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:1px solid}.link-button.primary{background:var(--main-color);color:var(--bg-color);border-color:var(--main-color)}.link-button.primary:hover{box-shadow:0 8px 25px color-mix(in srgb,var(--main-color) 40%,transparent);filter:brightness(1.1)}.link-button.secondary{background:#ffffff0f;color:var(--text-color);border-color:#ffffff26}.link-button.secondary:hover{background:#ffffff1f;border-color:#ffffff40;box-shadow:0 8px 20px #ffffff1a}.link-button:hover{transform:translateY(-3px) scale(1.02)}.link-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease;pointer-events:none;z-index:0}.link-button:hover .link-button:before{left:100%}.link-button:focus-visible{outline:2px solid var(--main-color);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--main-color) 25%,transparent)}@media (min-width: 1201px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2.5rem}}@media (max-width: 1200px) and (min-width: 1025px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}}@media (max-width: 1024px) and (min-width: 769px){.projects-container{padding:1.5rem 1rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.project-card{padding:1.5rem;min-height:450px}}@media (max-width: 768px) and (min-width: 481px){.projects-container{width:90%;padding:1.25rem .75rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:1.5rem}.project-card{padding:1.25rem;min-height:400px}.project-card .project-header{flex-direction:column;align-items:flex-start;gap:.75rem}.project-card .project-links{flex-direction:column;gap:.5rem}.project-card .project-links .link-button{justify-content:center;width:100%}}@media (max-width: 480px){.projects-container{width:95%;padding:1rem .5rem}.projects-grid{grid-template-columns:1fr;gap:1rem;margin-top:1rem}.project-card{padding:1rem;min-height:350px}.project-card .project-header{flex-direction:column;align-items:flex-start;gap:.75rem}.project-card .project-links{flex-direction:column;gap:.5rem}.project-card .project-links .link-button{justify-content:center;width:100%}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr!important}.projects-grid .project-card{grid-column:auto!important;max-width:none!important;margin:0!important}}#proyectos{scroll-margin-top:100px}.filters-container .filters,.skills-section{background:linear-gradient(145deg,#ffffff1a,#ffffff0a);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);box-shadow:0 2px 8px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-btn,.skill-card{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a}.filter-btn:hover,.skill-card:hover{transform:translateY(-3px) scale(1);box-shadow:0 5px 15px #0003}.skills{max-width:1200px;margin:0 auto;padding:0 1rem;color:var(--text-color)}@media (max-width: 768px){.skills{width:80%}}.skills-section{padding:2rem;border-radius:20px;background:linear-gradient(145deg,#ffffff0d,#ffffff05);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.075)}@media (max-width: 768px){.skills-section{padding:1.5rem;border-radius:16px}}@media (max-width: 480px){.skills-section{padding:1rem;border-radius:12px}}.filters-container{margin-bottom:2rem;display:flex;justify-content:center}.filters-container .filters{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:1rem;border-radius:50px}@media (max-width: 768px){.filters-container .filters{width:90%;justify-content:flex-start;gap:.5rem;padding:.75rem;border-radius:16px}}@media (max-width: 480px){.filters-container .filters{width:100%;flex-wrap:nowrap;overflow-x:auto;padding:.5rem;-webkit-overflow-scrolling:touch}.filters-container .filters::-webkit-scrollbar{display:none}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}@media (max-width: 768px){.skills-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.25rem}}@media (max-width: 480px){.skills-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem}}.skill-card{background:linear-gradient(145deg,#ffffff14,#ffffff08);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);position:relative;display:flex;flex-direction:column;align-items:center;padding:1.5rem .75rem;border-radius:12px;overflow:hidden;z-index:1}.skill-card:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background-color:#e8bb66;border-radius:50%;transform:translate(-50%,-50%) scale(0);filter:blur(15px);opacity:0;transition:all .4s ease-in-out;z-index:-1}.skill-card:hover{border-color:var(--main-color);z-index:10}.skill-card:hover:before{width:100px;height:100px;transform:translate(-50%,-50%) scale(1);opacity:.5}.skill-card.hidden{display:none}@media (max-width: 768px){.skill-card{padding:1.2rem .6rem}}@media (max-width: 480px){.skill-card{padding:1rem .5rem}}.filter-btn{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px solid rgba(255,255,255,.2);background:var(--alt-color);border-radius:50px;font-weight:500;color:var(--text-color)}.filter-btn:hover{box-shadow:0 5px 15px #0003}.filter-btn.active{transform:translateY(-3px) scale(1);box-shadow:0 5px 15px #0003;color:var(--main-color);font-weight:600;border-color:var(--main-color)}@media (max-width: 768px){.filter-btn{padding:.5rem 1rem;font-size:.875rem}}.filter-icon{font-size:1rem}.skill-logo{width:80px;height:80px;margin-bottom:.75rem;color:var(--main-color);display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.skill-logo{width:72px;height:72px}}@media (max-width: 480px){.skill-logo{width:64px;height:64px}}.placeholder-icon{font-size:40px;color:var(--text-color)}@media (max-width: 768px){.placeholder-icon{font-size:36px}}@media (max-width: 480px){.placeholder-icon{font-size:32px}}.skill-name{display:flex;font-weight:600;color:var(--text-color);font-size:.95rem;text-align:center;word-break:break-word}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.75rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--main-color),transparent)}.timeline-item{position:relative;margin-bottom:3rem;display:flex;align-items:flex-start;gap:1.5rem}.timeline-marker{position:absolute;left:-1.87rem;top:.375rem;width:1rem;height:1rem;background:var(--main-color);border-radius:50%;border:3px solid var(--bg-color);z-index:1}.timeline-content{flex:1}.job-header{margin-bottom:.75rem}.job-title{font-size:1.125rem;font-weight:600;margin:0}.company{font-size:1rem;font-weight:500;color:var(--main-color);margin:.125rem 0 .25rem}.timeline-date{font-size:.875rem;color:var(--text-color-sub)}.job-description{color:var(--text-color);font-size:.95rem;line-height:1.5;margin:0 0 .75rem}html,body{margin:0;width:100%;height:100%}
