html[data-theme=nostalgic]{background-color:silver}html[data-theme=nostalgic] body{font-family:Comic Neue,Comic Neue,Comic Sans MS,Comic Sans;background-color:silver;color:#000}html[data-theme=nostalgic] h1,html[data-theme=nostalgic] h2,html[data-theme=nostalgic] h3,html[data-theme=nostalgic] h4,html[data-theme=nostalgic] h5,html[data-theme=nostalgic] h6{font-family:Times New Roman,Times,serif;color:navy;text-decoration:underline}html[data-theme=nostalgic] a{color:#00e;text-decoration:underline}html[data-theme=nostalgic] a:hover,html[data-theme=nostalgic] a:focus{color:#00c;text-shadow:none}html[data-theme=nostalgic] .hidden{filter:none;transform:none!important;transition:opacity .3s!important}html[data-theme=nostalgic] .shows{transition:opacity .3s!important}html[data-theme=nostalgic] .page-header{background:linear-gradient(90deg,navy,#1084d0);border-bottom:clamp(3px,2vw,6px) outset #808080;padding:clamp(6px,1.5vw,8px) clamp(10px,5vw,20px)}html[data-theme=nostalgic] .page-header__logo{color:#ff0;font-family:Times New Roman,serif}html[data-theme=nostalgic] .page-header__logo h1{color:#ff0;text-decoration:none;text-shadow:1px 1px #000;font-family:Times New Roman,serif;font-size:clamp(1.25rem,4vw,3rem)}html[data-theme=nostalgic] .navigation-list__item{color:#ff0;font-family:Times New Roman;text-decoration:underline}html[data-theme=nostalgic] .navigation-list__item:hover{color:#fff}html[data-theme=nostalgic] .nav-toggle__bar{background-color:#ff0}html[data-theme=nostalgic] .navigation-list{border-top-color:#fff}html[data-theme=nostalgic] button,html[data-theme=nostalgic] .button{background-color:silver;border:3px outset #fff;color:#000;box-shadow:none;border-radius:0;font-family:Comic Neue,Comic Sans MS}html[data-theme=nostalgic] button:hover,html[data-theme=nostalgic] .button:hover{border-style:inset;opacity:1;cursor:pointer}html[data-theme=nostalgic] .background-bar{display:none}html[data-theme=nostalgic] .section-title{animation:nostalgic-blink 1.2s step-end infinite;color:#c00;font-family:Times New Roman,serif;text-decoration:underline;font-size:clamp(1.25rem,4vw,1.75rem)}@keyframes nostalgic-blink{50%{opacity:0}}html[data-theme=nostalgic] .grid__item{background-color:silver;border:3px outset #fff;border-radius:0;box-shadow:4px 4px #000}html[data-theme=nostalgic] .grid__item:hover{border-style:inset;box-shadow:1px 1px #000;transform:none}html[data-theme=nostalgic] .card-title{color:navy;font-family:Times New Roman,serif;-webkit-text-fill-color:unset;background:none}html[data-theme=nostalgic] .short-description,html[data-theme=nostalgic] .github-links{color:#000;font-family:Comic Neue,Comic Sans MS}html[data-theme=nostalgic] .github-links a{color:#00e}html[data-theme=nostalgic] .toolbox{border-top:2px inset #808080}html[data-theme=nostalgic] .page-footer{background-color:silver;border-top:6px outset #fff}html[data-theme=nostalgic] .profile__portrait{border-radius:0;border:4px outset #fff}html[data-theme=nostalgic] .profile h1{text-decoration:none}html[data-theme=nostalgic] .location{color:#333}html[data-theme=nostalgic] .background-bar2{display:none}html[data-theme=nostalgic] main{margin-top:26px}html[data-theme=nostalgic] .work-item{background-color:silver;border:2px outset #fff;border-left:2px outset #fff;box-shadow:2px 2px #000;padding:0}@media(max-width:500px){html[data-theme=nostalgic] .work-item{border:1px outset #fff;border-left:1px outset #fff;box-shadow:1px 1px #000}}html[data-theme=nostalgic] .work-header{background:linear-gradient(90deg,navy,#1084d0);padding:4px 8px;margin-bottom:0}html[data-theme=nostalgic] .job-title{color:#fff!important;text-decoration:none!important;font-size:1rem;margin:0 0 2px}html[data-theme=nostalgic] .company{color:#ff8;font-family:Comic Neue,Comic Sans MS,cursive;font-size:.85rem}html[data-theme=nostalgic] .date{color:#c0ffff;font-style:italic;font-family:Comic Neue,Comic Sans MS,cursive;font-size:.8rem;white-space:nowrap}html[data-theme=nostalgic] .tech-tags{padding:.5rem .6rem}html[data-theme=nostalgic] .tech-tag{background-color:silver;color:#000;border:2px outset #fff;border-radius:0;font-family:Comic Neue,Comic Sans MS,cursive;font-size:.75rem}html[data-theme=frontend] body{background:linear-gradient(135deg,#fff,#eef4ff 30%,#f0fffd 70%,#fff);background-size:400% 400%;animation:frontend-bg-shift 10s ease infinite}@keyframes frontend-bg-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}html[data-theme=frontend] .page-header{border-bottom:35px solid var(--primary-color);background:linear-gradient(135deg,#fff,#eef4ff 30%,#f0fffd 70%,#fff);background-size:400% 400%;animation:frontend-bg-shift 10s ease infinite}@keyframes frontend-border-flow{to{background-position:auto,-200% center}}html[data-theme=frontend] .shows{transition:all .9s cubic-bezier(.34,1.56,.64,1)!important}html[data-theme=frontend] .grid__item{transform-style:preserve-3d}html[data-theme=frontend] .grid__item:hover{box-shadow:0 24px 48px #337ab740,0 8px 16px #107d8526;transform:translateY(-10px) perspective(700px) rotateY(4deg)}html[data-theme=frontend] .card-title{background:linear-gradient(90deg,#337ab7,#107d85);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html[data-theme=frontend] .profile__portrait{animation:frontend-portrait-ring 3s ease-in-out infinite}@keyframes frontend-portrait-ring{0%,to{box-shadow:0 0 0 4px #337ab7,0 0 30px #337ab759}50%{box-shadow:0 0 0 6px #107d85,0 0 50px #107d858c}}html[data-theme=frontend] .background-bar{background:linear-gradient(90deg,#337ab7,#107d85,#489c79,#94b1cf,#337ab7);background-size:200% auto;animation:frontend-separator-flow 3s linear infinite}@keyframes frontend-separator-flow{to{background-position:-200% center}}html[data-theme=frontend] .background-bar2{opacity:.4}@media(max-width:500px){html[data-theme=frontend] .page-header{border-bottom-width:25px}html[data-theme=frontend] .profile__portrait{box-shadow:0 0 0 2px #337ab7,0 0 20px #337ab740!important}html[data-theme=frontend] .grid__item:hover{transform:translateY(-4px) perspective(700px) rotateY(2deg)}}html[data-theme=minimalist]{background-color:#0d0d0d}html[data-theme=minimalist] body{background-color:#111;color:#d4d4d4;font-family:JetBrains Mono,Fira Code,Courier New,monospace}html[data-theme=minimalist] h1:not(.modal-heading),html[data-theme=minimalist] h2:not(.modal-heading),html[data-theme=minimalist] h3,html[data-theme=minimalist] h4,html[data-theme=minimalist] h5,html[data-theme=minimalist] h6,html[data-theme=minimalist] p,html[data-theme=minimalist] a,html[data-theme=minimalist] li,html[data-theme=minimalist] span:not(.mode-btn__name):not(.mode-btn__subtitle):not(.modal-heading){color:#d4d4d4!important;font-family:JetBrains Mono,Fira Code,Courier New,monospace!important;font-weight:400!important;-webkit-text-fill-color:unset!important}html[data-theme=minimalist] a:hover,html[data-theme=minimalist] a:focus{color:#d4d4d4!important;text-decoration:underline}html[data-theme=minimalist] .mode-btn__name,html[data-theme=minimalist] .mode-btn__subtitle{font-family:inherit!important;color:inherit!important;font-weight:inherit!important;-webkit-text-fill-color:inherit!important}html[data-theme=minimalist] section{min-height:unset;margin:1.5em auto}html[data-theme=minimalist] *:not(.mode-btn):not(.mode-btn *),html[data-theme=minimalist] *:not(.mode-btn):not(.mode-btn *):before,html[data-theme=minimalist] *:not(.mode-btn):not(.mode-btn *):after{animation:none!important;transition:none!important}html[data-theme=minimalist] .hidden,html[data-theme=minimalist] .shows{opacity:1!important;filter:none!important;transform:none!important}html[data-theme=minimalist] .profile__portrait{display:none}html[data-theme=minimalist] .profile__description{width:100%}html[data-theme=minimalist] .profile{min-height:unset;padding-top:2rem;padding-bottom:2rem}html[data-theme=minimalist] .background-bar,html[data-theme=minimalist] .background-bar2{display:none}html[data-theme=minimalist] .page-header{background-color:#0d0d0d;border-bottom:1px solid #2a2a2a;height:auto;padding:1rem clamp(1rem,5vw,2rem);align-items:center}html[data-theme=minimalist] .page-header__logo h1{font-size:clamp(.85rem,3vw,1rem)}html[data-theme=minimalist] .page-header__item{font-size:clamp(.75rem,2vw,.875rem)}html[data-theme=minimalist] .navigation-list__item{font-size:1rem}html[data-theme=minimalist] .nav-theme-btn{color:#fff}html[data-theme=minimalist] .nav-toggle__bar{background-color:#d4d4d4}html[data-theme=minimalist] .navigation-list{background-color:#0d0d0d;border-top-color:#2a2a2a}html[data-theme=minimalist] .grid{display:block}html[data-theme=minimalist] .grid>*:last-child{border-bottom:none;padding-bottom:0}html[data-theme=minimalist] .page-footer{background-color:#0d0d0d;border-top:1px solid #2a2a2a}:root{--primary-color: #337ab7;--secondary-color: #107d85;--tertiary-color: #94b1cf;--fourth-color: #489c79;--text-color: #fff;--text-secondary: #8a8989;--font-weight-1: 700}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;background-color:#d0deed}body{font-family:Lato,sans-serif;font-weight:400;font-size:clamp(1rem,2.5vw,1.2em);line-height:1.6;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background-color:#fff}main{flex:1}section{max-width:1200px;margin:3em auto;padding:0 2em}article{text-align:left;max-width:800px;margin:0 auto}p{font-size:1rem;line-height:1.6;margin:.75rem 0}h1,h2,h3,h4,h5,h6{font-family:Lato,sans-serif;font-weight:var(--font-weight-1);margin:0}h1{font-size:2rem;margin-bottom:1.5rem}h2{font-size:1.75rem;margin-bottom:1.25rem}h3{font-size:1.5rem;margin-bottom:1.125rem}h4{font-size:1.25rem;margin-bottom:1rem}h5{font-size:1.125rem;margin-bottom:.875rem}h6{font-size:1rem;margin-bottom:.75rem}a{color:var(--primary-color)}a:hover,a:focus{color:var(--tertiary-color)}a:active{color:var(--tertiary-color)}.section-title{margin:2rem 0}.hidden{opacity:0;filter:blur(5px);transition:all 1s}.hidden.left{transform:translate(-10vw)}.hidden.right{transform:translate(10vw)}.hidden.bottom{transform:translateY(10vh)}.hidden.top{transform:translateY(-10vh)}.shows{opacity:1;filter:blur(0);transform:translate(0)!important;transition:all 1.5s}@media(prefers-reduced-motion){.hidden{transition:none}}button,.button{border:none;display:inline-block;font-family:inherit;background-color:var(--primary-color);box-shadow:.125rem .125rem .25rem #00000057;color:var(--text-color);text-decoration:none;padding:.625rem 1rem;border-radius:.1875rem;transition:.5s;margin:1.875rem;font-size:1rem}.button:hover,.button:focus{cursor:pointer;opacity:.8}@media(max-width:900px){section{padding:2rem 2.5rem}}@media(max-width:650px){section{padding:2rem 1.5rem;margin:2.5em auto}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@media(max-width:400px){section{padding:1.5rem 1rem;margin:2em auto}h1{font-size:1.5rem;margin-bottom:1rem}h2{font-size:1.25rem;margin-bottom:1rem}h3{font-size:1.125rem}}.selector-page[data-v-55cb5089]{min-height:100vh;background:#111;display:flex;align-items:center;justify-content:center;padding:1.5rem}.selector-card[data-v-55cb5089]{max-width:760px;width:100%}.selector-title[data-v-55cb5089]{color:#e8e8e8;font-family:Lato,sans-serif;font-size:clamp(1.3rem,4vw,1.6);margin-bottom:2rem;text-align:center;font-weight:400;letter-spacing:.02em}.selector-heading[data-v-55cb5089]{color:#e8e8e8;font-family:Lato,sans-serif;font-size:clamp(1.125rem,4vw,1.375rem);margin-bottom:2rem;text-align:center;font-weight:400;letter-spacing:.02em}.selector-options[data-v-55cb5089]{display:flex;gap:1rem;flex-wrap:wrap}.mode-btn[data-v-55cb5089]{flex:1;min-width:180px;display:flex;flex-direction:column;gap:.625rem;padding:1.5rem 1.25rem;border-radius:8px;cursor:pointer;text-align:left;transition:all 1.2s ease;margin:0}.mode-btn__name[data-v-55cb5089]{font-family:Lato,sans-serif;font-size:clamp(.95rem,2.5vw,1.15rem);font-weight:700;line-height:1.3;display:block}.mode-btn__subtitle[data-v-55cb5089]{font-size:clamp(.85rem,2vw,1rem);line-height:1.5;display:block}.mode-btn--minimalist[data-v-55cb5089]{background:#0a0a0a;border:1px solid #2a2a2a;box-shadow:none;color:#e8e8e8}.mode-btn--minimalist[data-v-55cb5089]:hover{box-shadow:0 8px 24px #0009}.mode-btn--minimalist .mode-btn__subtitle[data-v-55cb5089]{color:#dfdede;font-family:Courier New,monospace}.mode-btn--frontend[data-v-55cb5089]{background:linear-gradient(135deg,#0b1929,#07211f);border:1px solid #337ab7;box-shadow:0 0 16px #337ab733}.mode-btn--frontend[data-v-55cb5089]:hover{transform:translateY(-4px);box-shadow:0 8px 32px #337ab766}.mode-btn--frontend .mode-btn__name[data-v-55cb5089]{background:linear-gradient(90deg,#5ca3e0,#9aecf1)!important;font-family:Lato,sans-serif!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.mode-btn--frontend .mode-btn__subtitle[data-v-55cb5089]{color:#b1c2d4!important;font-family:Lato,sans-serif!important;font-style:normal!important}.mode-btn--nostalgic[data-v-55cb5089]{background:silver;border:3px outset #fff;border-radius:0;color:#000}.mode-btn--nostalgic[data-v-55cb5089]:hover{border-style:inset;transform:none;box-shadow:none}.mode-btn--nostalgic .mode-btn__name[data-v-55cb5089]{color:navy!important;font-family:Comic Sans MS,Comic Sans,cursive!important}.mode-btn--nostalgic .mode-btn__subtitle[data-v-55cb5089]{color:#333!important;font-family:Comic Sans MS,Comic Sans,cursive!important;font-style:normal!important}@media(max-width:600px){.selector-options[data-v-55cb5089]{flex-direction:column}.mode-btn[data-v-55cb5089]{min-width:100%;padding:1.25rem 1rem}}@media(max-width:400px){.selector-page[data-v-55cb5089]{padding:1rem}.mode-btn[data-v-55cb5089]{padding:1rem .875rem;gap:.5rem}}.nostalgic-marquee[data-v-440b0caa]{position:fixed;bottom:0;left:0;right:0;overflow:hidden;white-space:nowrap;background:navy;color:#ff0;font-family:Times New Roman,serif;font-size:1rem;padding:10px 0;border-top:1px solid #fff;border-bottom:1px solid #808080;z-index:500;width:100%;line-height:1}.nostalgic-marquee__inner[data-v-440b0caa]{display:inline-block;animation:marquee-scroll-440b0caa 25s linear infinite}@keyframes marquee-scroll-440b0caa{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:600px){.nostalgic-marquee[data-v-440b0caa]{font-size:.8rem;border-top-width:1px}}@media(max-width:400px){.nostalgic-marquee[data-v-440b0caa]{font-size:.8rem;border:none}}.page-header[data-v-4913638e]{display:flex;width:100%;height:auto;padding:15px 100px;border-bottom:35px solid var(--primary-color);background-color:var(--bg-color, #fff);position:relative;align-items:center}.page-header__logo h1[data-v-4913638e]{margin:0;font-size:clamp(1.5rem,5vw,3rem);font-weight:100;font-family:inherit;color:inherit}.page-header__logo[data-v-4913638e]{font-family:Amatic SC,"Amatic SC Fallback: BlinkMacSystemFont","Amatic SC Fallback: Segoe UI","Amatic SC Fallback: Helvetica Neue","Amatic SC Fallback: Arial","Amatic SC Fallback: Noto Sans",sans-serif;font-weight:100;color:#000;text-decoration:none;white-space:nowrap;line-height:1;display:flex;align-items:center}.page-header__item[data-v-4913638e]{flex-basis:150px;flex-shrink:1;font-size:22px}.page-header__item[data-v-4913638e]:last-child{flex-grow:1;text-align:right}.page-header__nav[data-v-4913638e]{position:relative}.nav-toggle[data-v-4913638e]{display:none;flex-direction:column;justify-content:space-between;width:30px;height:22px;background:transparent;border:none;padding:0;margin:0;cursor:pointer;position:absolute;right:20px;top:50%;transform:translateY(-50%);box-shadow:none}.nav-toggle__bar[data-v-4913638e]{display:block;width:100%;height:3px;background-color:var(--primary-color);border-radius:2px;transition:background-color .3s}.navigation-list[data-v-4913638e]{list-style:none;display:flex;align-items:center;gap:15px;margin:0;padding:0;justify-content:flex-end}.navigation-list li[data-v-4913638e]{display:inline-block}.navigation-list__item[data-v-4913638e]{text-decoration:none;color:var(--primary-color);cursor:pointer}.navigation-list__item[data-v-4913638e]:hover{color:var(--tertiary-color)}@media(max-width:768px){.nav-toggle[data-v-4913638e]{display:flex}.navigation-list[data-v-4913638e]{display:none;flex-direction:column;position:absolute;top:100%;right:0;left:0;background-color:#fff;border-top:3px solid var(--primary-color);padding:10px 20px 20px;gap:0;z-index:100;justify-content:center}.navigation-list.is-open[data-v-4913638e]{display:flex}.navigation-list li[data-v-4913638e]{display:block;padding:8px 0}}@media(max-width:500px){.page-header[data-v-4913638e]{padding:12px 15px;border-bottom-width:25px}.page-header__logo[data-v-4913638e]{font-size:2rem}.page-header__item[data-v-4913638e]{font-size:14px}}@media(min-width:500px)and (max-width:650px){.page-header[data-v-4913638e]{padding:20px 50px}}.nav-theme-btn[data-v-4913638e]{background:transparent;border:none;box-shadow:none;margin:0;padding:0;color:var(--primary-color);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;transition:none}.nav-theme-btn[data-v-4913638e]:hover{color:var(--tertiary-color)}.profile[data-v-d9a540a8]{display:flex;justify-content:center;position:relative;align-items:center}.profile__portrait[data-v-d9a540a8]{width:clamp(120px,30vw,15.625rem);height:clamp(120px,30vw,15.625rem);margin-right:3rem;float:left;border-radius:50%;flex-shrink:0}.profile__description[data-v-d9a540a8]{width:50%}.profile__description--summary[data-v-d9a540a8]{font-size:1rem}.profile h1[data-v-d9a540a8]{font-size:2rem;display:block;margin-bottom:1.5rem}.profile p[data-v-d9a540a8]{font-size:1rem}.location[data-v-d9a540a8]{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-secondary);margin-bottom:1.5rem}.location-icon[data-v-d9a540a8]{width:1.25rem;height:1.25rem;flex-shrink:0}.profile-title[data-v-d9a540a8]{text-align:center;margin-bottom:2rem}@media(max-width:650px){.profile[data-v-d9a540a8]{flex-direction:column;align-items:center;text-align:center}.profile__portrait[data-v-d9a540a8]{margin:0 0 1.875rem;width:140px;height:140px}.profile__description[data-v-d9a540a8]{width:90%}.profile h1[data-v-d9a540a8]{font-size:1.5rem}.profile-title[data-v-d9a540a8]{width:100%}}@media(max-width:400px){.profile__portrait[data-v-d9a540a8]{width:110px;height:110px;margin:0 0 1.5rem}.profile h1[data-v-d9a540a8]{font-size:1.25rem}}.background-bar{width:100vw;margin-left:calc(-50vw + 50%);height:30px;background-color:var(--secondary-color);z-index:0;transition:3s!important;margin:2rem auto}.skills[data-v-d02c00b5]{min-height:fit-content;padding-bottom:2rem}.section-title[data-v-d02c00b5]{font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center}.skills-groups[data-v-d02c00b5]{display:flex;flex-direction:column;gap:2rem;margin:0 auto}.skill-group[data-v-d02c00b5]{display:flex;flex-direction:column}.skill-group-title[data-v-d02c00b5]{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.skills-container[data-v-d02c00b5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem}.skill-item[data-v-d02c00b5]{display:flex;align-items:center;justify-content:center;padding:1rem}.skill-content[data-v-d02c00b5]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%;gap:.5rem;height:100%}.skill-logos[data-v-d02c00b5]{display:flex;gap:.5rem;align-items:center;justify-content:center;width:100%}.skill-logo[data-v-d02c00b5]{width:100%;max-width:80px;height:auto;object-fit:contain}.skill-logos .skill-logo[data-v-d02c00b5]{max-width:60px;width:60px}.skill-logos:has(>:only-child) .skill-logo[data-v-d02c00b5]{max-width:80px;width:100%}.skill-name[data-v-d02c00b5]{display:block;font-size:.9rem;text-align:center;font-weight:500}html[data-theme=minimalist] .skills-container{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}html[data-theme=minimalist] .skill-logos{display:none}html[data-theme=minimalist] .skill-item{padding:.75rem .5rem}html[data-theme=minimalist] .skill-content{min-height:auto}html[data-theme=minimalist] .skill-group-title{color:currentColor}html[data-theme=minimalist] .skill-name{display:block;font-size:1rem;font-weight:500;padding:.5rem .25rem;line-height:1.3}@media(max-width:650px){.skills-container[data-v-d02c00b5]{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:1rem}.skill-item[data-v-d02c00b5]{padding:.75rem}.skill-content[data-v-d02c00b5]{min-height:60px}.skill-logo[data-v-d02c00b5]{max-width:60px}.skill-logos .skill-logo[data-v-d02c00b5]{max-width:50px;width:50px}html[data-theme=minimalist] .skills-container{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}}@media(max-width:400px){.skills-container[data-v-d02c00b5]{grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:.75rem}.skill-item[data-v-d02c00b5]{padding:.5rem}.skill-logo[data-v-d02c00b5]{max-width:50px}.skill-logos .skill-logo[data-v-d02c00b5]{max-width:40px;width:40px}.skill-name[data-v-d02c00b5]{font-size:.8rem}.skill-group-title[data-v-d02c00b5]{font-size:1rem}}.work[data-v-e58c0169]{min-height:fit-content}.section-title[data-v-e58c0169]{font-size:2rem;font-weight:600;text-align:center}.work-list[data-v-e58c0169]{margin-top:4rem;display:flex;flex-direction:column;gap:2rem}.work-item[data-v-e58c0169]{border-left:3px solid var(--primary-color);padding-left:1.5rem;padding-bottom:1rem}.work-header[data-v-e58c0169]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.work-title-group[data-v-e58c0169]{flex:1}.job-title[data-v-e58c0169]{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.company[data-v-e58c0169]{font-size:1rem;font-weight:500;color:var(--secondary-color);margin:0}.date[data-v-e58c0169]{font-size:1rem;color:var(--text-muted);margin:0;white-space:nowrap}.description[data-v-e58c0169]{font-size:.95rem;line-height:1.6;padding:0 .25rem;color:#000}.company-link[data-v-e58c0169]{font-size:1rem;font-weight:500;color:var(--primary-color);text-decoration:none;cursor:pointer;transition:opacity .2s}.company-link[data-v-e58c0169]:hover{opacity:.7}.accomplishments[data-v-e58c0169]{list-style:none;padding:0;margin:.75rem 0 0}.accomplishments li[data-v-e58c0169]{font-size:.95rem;line-height:1.6;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.accomplishments li[data-v-e58c0169]:before{content:"•";position:absolute;left:0;color:var(--primary-color)}.freelance-group[data-v-e58c0169]{display:flex;flex-direction:column;gap:1.5rem;margin-top:.75rem}.freelance-item[data-v-e58c0169]{padding-bottom:1rem}.freelance-name[data-v-e58c0169]{font-size:1rem;font-weight:600;margin:0}.freelance-header[data-v-e58c0169]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.tech-tags[data-v-e58c0169]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tech-tag[data-v-e58c0169]{display:inline-block;background-color:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:.25rem;font-size:clamp(.7rem,2vw,.8rem);font-weight:500}@media(max-width:650px){.work-header[data-v-e58c0169]{flex-direction:column;gap:.5rem}.date[data-v-e58c0169]{white-space:normal}.job-title[data-v-e58c0169]{font-size:1.125rem}.company[data-v-e58c0169]{font-size:.95rem}}@media(max-width:400px){.work-item[data-v-e58c0169]{padding-left:1rem;border-left-width:2px}.job-title[data-v-e58c0169]{font-size:1rem}.company[data-v-e58c0169]{font-size:.9rem}.date[data-v-e58c0169]{font-size:.85rem}}html[data-theme=minimalist] .work-item{border-left:none;padding-left:0}html[data-theme=minimalist] .accomplishments li:before{color:#333}html[data-theme=minimalist] .tech-tag{background-color:transparent;color:inherit;border:1px solid #333}.grid__item[data-v-84ef6b24]{display:flex;flex-direction:column;padding:1.5rem;width:100%;margin:0;background-color:#fff;border:none;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:box-shadow .25s ease,transform .25s ease}.grid__item.hidden[data-v-84ef6b24]{transition:all 1s}.grid__item.shows[data-v-84ef6b24]{transition:all 1.5s}.grid__item[data-v-84ef6b24]:hover{box-shadow:0 12px 24px #00000026;transform:translateY(-2px)}.card-link[data-v-84ef6b24]{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex-grow:1;justify-content:space-around}.card-title[data-v-84ef6b24]{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--primary-color);line-height:1.4}.screenshot[data-v-84ef6b24]{width:100%;height:180px;object-fit:contain;margin:0 0 1rem}.short-description[data-v-84ef6b24]{margin:0 0 1rem;padding:0;font-size:.9375rem;line-height:1.6;color:#4a5568}.github-links[data-v-84ef6b24]{margin:.75rem 0 0;font-size:.8125rem;color:#4a5568;line-height:1.6}.github-links a[data-v-84ef6b24]{color:var(--primary-color);text-decoration:underline;text-underline-offset:2px}.toolbox[data-v-84ef6b24]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:auto;padding-top:.75rem;border-top:1px solid #e2e8f0}.tools__logo[data-v-84ef6b24]{width:40px;height:40px;padding:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s ease}@media(max-width:500px){.grid__item[data-v-84ef6b24]{max-width:95%;margin:0 auto;padding:1rem}.screenshot[data-v-84ef6b24]{height:120px}.card-title[data-v-84ef6b24]{font-size:1rem;margin-bottom:.75rem}.short-description[data-v-84ef6b24]{font-size:.875rem;margin-bottom:.75rem}.tools__logo[data-v-84ef6b24]{width:32px;height:32px;padding:4px}}@media(max-width:350px){.grid__item[data-v-84ef6b24]{max-width:100%;padding:.75rem}.screenshot[data-v-84ef6b24]{height:100px}}.project-minimal[data-v-84ef6b24]{padding:1.25rem 0;border-bottom:1px solid #7c7c7c}.project-minimal__title[data-v-84ef6b24]{font-size:1.25rem;font-weight:400;margin:0 0 .375rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace}.project-minimal__title a[data-v-84ef6b24]{color:#6b8fa3;text-decoration:none}.project-minimal__title a[data-v-84ef6b24]:hover{text-decoration:underline}.project-minimal__desc[data-v-84ef6b24],.project-minimal__long-desc[data-v-84ef6b24]{margin:0 0 .375rem;color:#888;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1.5}.project-minimal__tools[data-v-84ef6b24]{margin:0 0 .5rem;color:#555;font-family:JetBrains Mono,Fira Code,Courier New,monospace;margin-top:1em}.project-minimal__links[data-v-84ef6b24]{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.8125rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace}.project-minimal__links a[data-v-84ef6b24]{color:#6b8fa3;text-decoration:none}.project-minimal__links a[data-v-84ef6b24]:hover{text-decoration:underline}.section-title[data-v-d037cb1f]{text-align:center}.my-work[data-v-d037cb1f]{display:flex;flex-direction:column;align-items:center}.grid[data-v-d037cb1f]{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:1.5625rem;align-items:stretch;justify-items:center}.grid__item[data-v-d037cb1f]{display:flex;flex-direction:column;justify-content:space-around;padding:1.25rem;text-align:center;width:auto;min-width:12.5rem;min-height:28.125rem;margin:0;border:.375rem solid var(--primary-color);background-color:#fff;border-radius:.1875rem;box-shadow:.5rem .5rem .5rem #00000057;max-width:18.75rem}.grid__item[data-v-d037cb1f]:nth-child(2){transition-delay:.2s}.grid__item[data-v-d037cb1f]:nth-child(3){transition-delay:.4s}.grid__item[data-v-d037cb1f]:nth-child(4){transition-delay:.6s}.grid__item[data-v-d037cb1f]:nth-child(5){transition-delay:.2s}.grid__item[data-v-d037cb1f]:nth-child(6){transition-delay:.4s}.grid__item[data-v-d037cb1f]:hover{border:.375rem solid var(--tertiary-color);transition:.8s;box-shadow:none}@media(max-width:650px){.grid[data-v-d037cb1f]{grid-template-columns:1fr;grid-gap:1rem}.grid__item[data-v-d037cb1f]{max-width:95%;margin:0 auto}.grid__item img[data-v-d037cb1f]{max-width:100%}}@media(max-width:400px){.grid[data-v-d037cb1f]{grid-gap:.75rem}.grid__item[data-v-d037cb1f]{max-width:100%;min-width:unset;min-height:unset}}@media(min-width:650px)and (max-width:900px){.grid[data-v-d037cb1f]{grid-template-columns:1fr 1fr;grid-gap:3.125rem;justify-items:center}}@media(min-width:1100px){.grid[data-v-d037cb1f]{grid-gap:3.125rem}}.page-footer[data-v-28de6731]{clear:both;display:flex;flex-direction:column;text-align:center;padding-bottom:30px;border-top:30px solid var(--primary-color)}.social-media[data-v-28de6731]{margin-top:2em}.social-media img[data-v-28de6731]{width:50px;height:auto;padding:10px;margin-top:20px}.social-media a[data-v-28de6731]:hover,.social-media a[data-v-28de6731]{text-decoration:none}.minimal-link[data-v-28de6731]{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.875rem;color:#d4d4d4;margin:0 1rem}.minimal-link[data-v-28de6731]:hover{text-decoration:underline!important}.winner-section[data-v-70ff6340]{display:flex;justify-content:center;padding:24px 16px}.winner-box[data-v-70ff6340]{display:flex;flex-direction:column;justify-content:space-between;border:4px solid #ff0000;padding:24px 32px;text-align:center;max-width:480px;width:100%;box-shadow:6px 6px #000}.winner-stars[data-v-70ff6340]{color:red;font-size:1.2rem;letter-spacing:4px;animation:winner-star-color-70ff6340 3s step-end infinite}@keyframes winner-star-color-70ff6340{0%,to{color:red}50%{color:#00f}}.winner-title[data-v-70ff6340]{font-family:Times New Roman,Times,serif;font-size:clamp(1.5rem,5vw,2.5rem);color:#c00;text-decoration:underline;margin:8px 0;animation:winner-title-flash-70ff6340 .5s step-end infinite}@keyframes winner-title-flash-70ff6340{0%,to{color:#c00}50%{color:#00c}}.winner-subtitle[data-v-70ff6340]{font-size:1.3rem;margin:4px 0}.winner-message[data-v-70ff6340]{font-family:Comic Sans MS,Comic Neue,cursive;font-size:1.1rem;color:#000;margin:8px 0}.winner-prize[data-v-70ff6340]{font-family:Comic Sans MS,Comic Neue,cursive;font-size:1.2rem;font-weight:700;color:navy;margin:8px 0}.winner-btn[data-v-70ff6340]{display:inline-block;margin-top:16px;padding:10px 20px;background-color:#0a0;color:#ff0;font-family:Comic Sans MS,Comic Neue,cursive;font-size:1rem;font-weight:700;text-decoration:none;border:3px outset #fff;box-shadow:3px 3px #000;cursor:pointer;animation:winner-btn-flash-70ff6340 .8s step-end infinite}.winner-btn[data-v-70ff6340]:hover{border-style:inset;box-shadow:1px 1px #000}@keyframes winner-btn-flash-70ff6340{0%,to{background-color:#0a0;color:#ff0}50%{background-color:#f60;color:#fff}}.modal-overlay[data-v-70ff6340]{position:fixed;inset:0;background-color:#00008099;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-window[data-v-70ff6340]{background-color:silver;border:3px outset #fff;box-shadow:6px 6px #000;width:min(420px,96vw);font-family:Comic Sans MS,Comic Neue,cursive}.modal-titlebar[data-v-70ff6340]{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,navy,#1084d0);padding:4px 6px}.modal-titlebar-text[data-v-70ff6340]{color:#fff;font-family:Times New Roman,Times,serif;font-size:.95rem;font-weight:700;letter-spacing:1px;animation:titlebar-flash-70ff6340 .6s step-end infinite}@keyframes titlebar-flash-70ff6340{0%,to{color:#fff}50%{color:#ff0}}.modal-close-btn[data-v-70ff6340]{background-color:silver;border:2px outset #fff;color:#000;font-size:.85rem;font-weight:700;width:20px;height:20px;cursor:pointer;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.modal-close-btn[data-v-70ff6340]:hover{border-style:inset}.modal-body[data-v-70ff6340]{padding:16px;text-align:center;border:2px inset #808080;margin:6px;background-color:#d4d0c8}.modal-marquee-wrapper[data-v-70ff6340]{overflow:hidden;white-space:nowrap;background-color:navy;color:#ff0;font-size:.85rem;font-weight:700;padding:4px 0;margin-bottom:10px}.modal-marquee[data-v-70ff6340]{display:inline-block;animation:marquee-scroll-70ff6340 8s linear infinite;margin:0}@keyframes marquee-scroll-70ff6340{0%{transform:translate(100%)}to{transform:translate(-100%)}}.modal-prize-text[data-v-70ff6340]{font-family:Times New Roman,Times,serif;font-size:clamp(1.3rem,5vw,1.8rem);font-weight:700;margin:8px 0;animation:prize-text-flash-70ff6340 .4s step-end infinite}@keyframes prize-text-flash-70ff6340{0%,to{color:#c00}33%{color:#00c}66%{color:#060}}.modal-img-frame[data-v-70ff6340]{border:4px inset #808080;display:inline-block;background-color:#fff;padding:4px;margin:10px 0;box-shadow:4px 4px #000}.modal-prize-img[data-v-70ff6340]{display:block;max-width:180px;max-height:260px;width:100%}.modal-caption[data-v-70ff6340]{font-size:.95rem;color:navy;font-weight:700;margin:4px 0 12px}.modal-claim-btn[data-v-70ff6340]{display:inline-block;padding:8px 18px;background-color:#0a0;color:#ff0;font-family:Comic Sans MS,Comic Neue,cursive;font-size:1rem;font-weight:700;text-decoration:none;border:3px outset #fff;box-shadow:3px 3px #000;cursor:pointer;animation:winner-btn-flash-70ff6340 .8s step-end infinite}.modal-claim-btn[data-v-70ff6340]:hover{border-style:inset;box-shadow:1px 1px #000}@media(max-width:500px){.winner-box[data-v-70ff6340]{padding:16px 20px;max-width:100%}.winner-stars[data-v-70ff6340]{font-size:1rem;letter-spacing:2px}.winner-subtitle[data-v-70ff6340]{font-size:1.1rem}.winner-message[data-v-70ff6340]{font-size:.95rem}.winner-prize[data-v-70ff6340]{font-size:1rem}.winner-btn[data-v-70ff6340]{padding:8px 16px;font-size:.9rem}}
