:root{--rosewater:#f5e0dc;--flamingo:#f2cdcd;--pink:#f5c2e7;--mauve:#cba6f7;--red:#f38ba8;--maroon:#eba0ac;--peach:#fab387;--yellow:#f9e2af;--green:#a6e3a1;--teal:#94e2d5;--sky:#89dceb;--sapphire:#74c7ec;--blue:#89b4fa;--lavender:#b4befe;--text:#cdd6f4;--subtext1:#bac2de;--subtext0:#a6adc8;--overlay2:#9399b2;--overlay1:#7f849c;--overlay0:#6c7086;--surface2:#585b70;--surface1:#45475a;--surface0:#313244;--base:#1e1e2e;--mantle:#181825;--crust:#11111b}*{box-sizing:border-box}body{color:var(--text);background-color:var(--base);font-family:dejavu sans mono,consolas,monaco,courier new,courier,monospace;line-height:1.6;margin:0;padding:1rem;min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;width:100%}header{margin-bottom:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem;width:100%}header h1{margin:0;flex-shrink:0;font-size:1.25rem;line-height:1.2}header h1 a{color:var(--lavender)}nav{flex:1;display:flex;justify-content:flex-end;min-width:0}nav ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;align-items:center}nav ul li{display:inline-block}nav ul li a{color:var(--subtext0);padding:.5rem .75rem;border-radius:4px;transition:all .2s ease;display:block;white-space:nowrap;text-decoration:none;font-size:.9rem}nav ul li a:hover{background-color:var(--surface0);color:var(--text)}nav ul li a.active{background-color:var(--mauve);color:var(--base)}nav ul li a.ancestor{background-color:var(--surface1);color:var(--text)}main{padding:1.5rem;margin:1rem 0;flex:1;width:100%}footer{margin-top:1rem;padding:1rem;width:100%;text-align:center;font-size:.7em;color:var(--surface2)}footer a{color:var(--surface2)}a{color:var(--blue);text-decoration:none;transition:color .2s ease}a:hover{color:var(--lavender);text-decoration:underline}h1,h2,h3,h4,h5,h6{color:var(--text);margin-top:0;line-height:1.3}h1{color:var(--mauve);font-size:2rem}h2{font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;color:var(--peach);padding-bottom:.5rem}h3{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem;color:var(--green)}time{color:var(--subtext0);font-style:italic;font-size:.9rem;display:block;margin-bottom:1rem}ul,ol{color:var(--text);padding-left:1.5rem}li{margin-bottom:.5rem}.experience-section{margin-bottom:2rem}.experience-item{background-color:var(--surface0);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid var(--blue);transition:all .3s ease}.experience-item:hover{border-left-color:var(--lavender);transform:translateX(4px)}.experience-title{font-size:1.2rem;font-weight:700;color:var(--mauve);margin-bottom:.5rem}.experience-company{color:var(--peach);font-weight:700;margin-bottom:.25rem}.experience-period{color:var(--subtext0);font-size:.9rem;font-style:italic;margin-bottom:1rem}.experience-description{color:var(--text);line-height:1.6}.skills-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:2rem 0}.skill-category{background-color:var(--surface0);padding:1.5rem;border-radius:8px;border-top:4px solid var(--green)}.skill-category h3{color:var(--green);margin-top:0;margin-bottom:1rem}.skill-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem 0;border-bottom:1px solid var(--surface1)}.skill-name{color:var(--text);font-weight:700}.skill-level{color:var(--yellow);font-size:.9rem}.projects-section{margin:2rem 0}.project-item{background-color:var(--surface0);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid var(--teal)}.project-title{color:var(--teal);font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.project-tech{color:var(--sky);font-size:.9rem;margin-bottom:.5rem}.project-description{color:var(--text);margin-bottom:.5rem}.project-result{color:var(--green);font-size:.9rem;font-style:italic}.education-item{background-color:var(--surface0);padding:1.5rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--pink)}.certification-item{background-color:var(--surface1);padding:1rem;border-radius:6px;margin-bottom:.5rem;display:inline-block;margin-right:1rem;color:var(--text);font-size:.9rem}code{background-color:var(--surface0);color:var(--yellow);padding:.2rem .4rem;border-radius:4px;font-family:dejavu sans mono,consolas,monaco,courier new,courier,monospace;font-size:.9em;word-break:break-word}pre{background-color:var(--surface0);color:var(--text);padding:1rem;border-radius:8px;overflow-x:auto;border:1px solid var(--surface1);margin:1rem 0;font-family:dejavu sans mono,consolas,monaco,courier new,courier,monospace;font-size:.9rem;line-height:1.4}pre code{background-color:transparent;color:inherit;padding:0;font-size:inherit}blockquote{border-left:4px solid var(--mauve);padding-left:1rem;margin:1rem 0;color:var(--subtext0);font-style:italic;background-color:var(--surface0);padding:1rem;border-radius:0 8px 8px 0}table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.9rem}th,td{border:1px solid var(--surface1);padding:.75rem;text-align:left;word-break:break-word}th{background-color:var(--surface1);color:var(--text);font-weight:700}td{background-color:var(--surface0);color:var(--text)}.tags{margin-top:2rem}.tags>div:first-child{font-weight:700;margin-bottom:.5rem;color:var(--subtext1)}.tags ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.tags a{background-color:var(--surface1);color:var(--blue);padding:.3rem .6rem;border-radius:4px;font-size:.8rem;display:inline-block;transition:all .2s ease}.tags a:hover{background-color:var(--blue);color:var(--base);text-decoration:none}img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}header h1 a:hover{text-decoration:none}@media(max-width:480px){body{padding:.5rem}header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem}header h1{font-size:1.25rem;width:100%}nav{width:100%;justify-content:flex-start}nav ul{justify-content:flex-start;gap:.25rem}nav ul li a{padding:.4rem .6rem;font-size:.8rem}main{padding:1rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}.skills-section{grid-template-columns:1fr}.experience-item,.project-item,.education-item{padding:1rem}pre{padding:.75rem;font-size:.8rem}table{font-size:.8rem}th,td{padding:.5rem}}@media(min-width:481px) and (max-width:768px){body{padding:.75rem}header{flex-direction:column;align-items:flex-start}nav{width:100%;justify-content:flex-start}nav ul{justify-content:flex-start}header h1{font-size:1.4rem}main{padding:1.25rem}.skills-section{grid-template-columns:1fr}}@media(min-width:769px) and (max-width:1024px){.container{max-width:90%}.skills-section{grid-template-columns:repeat(2,1fr)}}@media(min-width:1025px) and (max-width:1200px){.container{max-width:95%}}@media(min-width:1201px){.container{max-width:1200px}main{padding:2rem}.skills-section{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px) and (orientation:landscape){header{flex-direction:row;align-items:center}nav{justify-content:flex-end}nav ul{justify-content:flex-end}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}@media(prefers-contrast:high){:root{--text:#ffffff;--subtext0:#cccccc;--surface0:#000000;--surface1:#333333}}@media(prefers-color-scheme:dark){}.post-meta{font-size:.9rem;color:var(--subtext0);margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.post-meta a{font-size:1.2rem;font-weight:700}.dateReadingTime{font-size:.7rem;color:var(--overlay0)}.portfolio-content{display:flex;flex-direction:column;justify-content:flex-start}.portfolio-item{display:flex;margin-bottom:2rem}.portfolio-link{display:flex;width:100%;text-decoration:none;color:inherit}.portfolio-image{width:20%;margin-right:1rem}.portfolio-image img{width:100%;height:auto;object-fit:cover}.portfolio-content{flex:1}.portfolio-title{margin:0 0 .5rem}.portfolio-summary{font-size:.9rem}@media(max-width:768px){.portfolio-image{width:20%}}