.navbar{color:#fff;z-index:1000;background:linear-gradient(90deg,#6d3353,#020024);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex;position:sticky;top:0}.left-text{margin-right:auto;font-size:1.5em}@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.gradient-text{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab) 0 0/400% 400%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:5s infinite gradient}.nav-links{align-items:center;gap:.75rem;display:flex}.nav-btn{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#6d3353,#020024);border:1px solid #ffffff4d;border-radius:6px;padding:10px 18px;font-size:.95rem;text-decoration:none;transition:all .25s;display:inline-block}.nav-btn:hover{background:linear-gradient(135deg,#8e3c6c,#151531);transform:translateY(-1px);box-shadow:0 4px 10px #00000040}.nav-btn:focus{outline-offset:2px;outline:2px solid #fffc}.nav-btn.active{transform:none;box-shadow:inset 0 0 0 2px #ffffff59,0 4px 12px #00000059}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.hamburger span{background:#fff;width:24px;height:2px;display:block}@media (max-width:700px){.hamburger{display:flex}.nav-links{background:linear-gradient(90deg,#6d3353,#020024);border-top:1px solid #ffffff26;flex-direction:column;padding:.75rem 1rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}.nav-btn{text-align:center;width:100%;padding:12px 16px}}
.about{box-sizing:border-box;background:linear-gradient(90deg,#6d3353,#020024);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:clamp(16px,3vw,32px);padding:2rem clamp(2rem,6vw,8rem);display:flex}.profileImageContainer{flex:none;justify-content:center;align-items:center;min-width:0;display:flex}.profileImage{aspect-ratio:1;object-fit:cover;background:linear-gradient(90deg,#6d3353,#020024);border:6px solid #fff;border-radius:50%;width:clamp(160px,28vw,360px);margin-right:1.5rem;padding:10px;transition:transform .5s,border-color .5s;box-shadow:0 0 10px 5px #00000080}.profileImage:hover{border-color:#6d3353;transform:scale(1.06)}.separator{background-color:#ccc;flex:0 0 1px;align-self:stretch;margin:0}.textContainer{color:#f0f0f0;text-align:left;overflow-wrap:anywhere;flex:1 1 0;min-width:0;font-family:Arial,sans-serif;line-height:1.5;container-type:inline-size}.heading{white-space:nowrap;overflow-wrap:anywhere;border-right:.15em solid #fff;max-width:100%;margin-bottom:.5em;font-size:clamp(1.8rem,2.4vw,2.4rem);animation:4s steps(40,end) typing,.75s step-end 4s blink-caret,.5s 4s forwards fade-out;display:inline-block;overflow:hidden}.paragraph{margin-bottom:1em}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:#fff}}@keyframes fade-out{to{border-color:#0000}}@container (max-width:1000px){.heading{white-space:normal;border-right:none;animation:none}}@media (max-width:1400px){.heading{white-space:normal;border-right:none;animation:none}}@media (min-width:768px) and (max-width:1024px){.profileImageContainer{flex:100%;order:-1;justify-content:center;margin-bottom:12px}.separator{display:none}.textContainer{flex:100%}.profileImage{width:clamp(220px,40vw,360px)}}@media (max-width:600px){.about{flex-direction:column;align-items:center;gap:16px;padding-inline:1.5rem}.profileImageContainer,.textContainer{flex:auto;width:100%}.separator{display:none}.profileImage{width:clamp(180px,60vw,300px)}.heading{white-space:normal;border-right:none;font-size:1.5em;animation:none}}@media (hover:none) and (pointer:coarse){.profileImage:hover{transform:none}}
code[class*=language-],pre[class*=language-]{color:#f8f8f2;text-shadow:0 1px #0000004d;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;line-height:1.5}pre[class*=language-]{border-radius:.3em;margin:.5em 0;padding:1em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8292a2}.token.punctuation{color:#f8f8f2}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
:root{--card-dur:.65s;--card-ease:cubic-bezier(.22, 1, .36, 1);--hover-dur:.18s;--fade-dur:.38s}@media (prefers-reduced-motion:reduce){:root{--card-dur:0s;--hover-dur:0s;--fade-dur:0s}}#skills{background:linear-gradient(90deg,#6d3353,#020024);padding:1rem}#skills h2{color:#fff;text-align:center;font-family:Arial,sans-serif}.click-hint{z-index:2;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;opacity:0;width:fit-content;animation:hint-in .3s var(--card-ease) forwards, hint-out .4s var(--card-ease) 3.6s forwards;background:#00000059;border:1px solid #ffffff40;border-radius:999px;margin:.25rem auto .75rem;padding:8px 12px;font-family:Arial,sans-serif;font-size:.9rem;line-height:1;position:sticky;top:0;transform:translateY(-4px)}@keyframes hint-in{to{opacity:1;transform:none}}@keyframes hint-out{to{opacity:0;transform:translateY(-4px)}}.skill-card.hint-highlight{position:relative}.skill-card.hint-highlight:after{content:"";border-radius:inherit;pointer-events:none;opacity:.6;animation:2.2s ease-out infinite halo;position:absolute;inset:-2px;box-shadow:0 0 #ffffff73}@keyframes halo{0%{box-shadow:0 0 #ffffff73}70%{box-shadow:0 0 0 12px #fff0}to{box-shadow:0 0 0 12px #fff0}}@media (prefers-reduced-motion:reduce){.click-hint{opacity:1;animation:none}.skill-card.hint-highlight:after{opacity:.35;animation:none}}.skills-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:.75rem 0 1rem;display:flex}.minimize-cards{color:#fff;cursor:pointer;min-width:150px;height:42px;transition:transform var(--hover-dur) ease, box-shadow var(--hover-dur) ease, background var(--hover-dur) ease;background:linear-gradient(135deg,#6d3353,#020024);border:1px solid #ffffff4d;border-radius:6px;justify-content:center;align-items:center;padding:10px 20px;font-size:.9rem;display:inline-flex}.minimize-cards:hover{background:linear-gradient(135deg,#8e3c6c,#151531);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.minimize-cards.is-on{outline-offset:1px;outline:2px solid #ffffff80}#skills .skills-container{color:#fff;flex-flow:wrap;justify-content:flex-start;padding-top:5px;font-family:Arial,sans-serif;display:flex}#skills .skill-card{color:#fff;box-sizing:border-box;text-align:left;width:32%;min-width:200px;transition:width var(--card-dur) var(--card-ease), padding var(--card-dur) var(--card-ease), border-radius var(--card-dur) var(--card-ease), box-shadow var(--hover-dur) ease, transform var(--hover-dur) ease;will-change:width, padding;background:#ffffff1a;border:1px solid #ddd;border-radius:8px;margin:10px .5%;padding:20px;position:relative}#skills .skill-card.selected{text-align:center;width:100%}#skills .skill-card .close-button{cursor:pointer;position:absolute;top:10px;right:10px}.skill-card:hover{cursor:pointer;transform:scale(1.01);box-shadow:0 4px 10px #00000040}.skill-code{white-space:pre;text-align:left;max-height:500px;text-shadow:none;opacity:0;transition:opacity var(--fade-dur) var(--card-ease) 60ms, transform var(--fade-dur) var(--card-ease) 60ms;background-color:#000;border-radius:6px;padding:10px;overflow:auto;transform:translateY(6px)}.code-toolbar{opacity:0;transition:opacity var(--fade-dur) var(--card-ease) 40ms, transform var(--fade-dur) var(--card-ease) 40ms;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:.75rem 0 1rem;display:flex;transform:translateY(6px)}#skills .skill-card.selected .code-toolbar,#skills .skill-card.selected .skill-code{opacity:1;transform:none}.back-button{color:#fff;cursor:pointer;transition:transform var(--hover-dur) ease, box-shadow var(--hover-dur) ease, background var(--hover-dur) ease;background:linear-gradient(135deg,#6d3353,#020024);border:1px solid #ffffff4d;border-radius:6px;padding:10px 20px;font-size:.9rem}.back-button:hover{background:linear-gradient(135deg,#8e3c6c,#151531);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}@media (max-width:600px){#skills .skills-container{flex-direction:column;align-items:center}#skills .skill-card{width:90%;margin:10px auto}#skills .skill-card.selected{width:100%}}#skills.condensed .skills-container{justify-content:center;gap:6px}#skills.condensed .skill-card{width:24%;transition:width var(--card-dur) var(--card-ease), padding var(--card-dur) var(--card-ease), border-radius var(--card-dur) var(--card-ease), box-shadow var(--hover-dur) ease, transform var(--hover-dur) ease;border-radius:6px;margin:6px .5%;padding:10px}#skills.condensed .skill-card h3{margin:0 0 4px;font-size:1rem}#skills.condensed .skill-card .category-overview{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.2;display:-webkit-box;overflow:hidden}#skills.condensed .skill-card:hover{cursor:pointer;transform:scale(1.005);box-shadow:0 2px 6px #0003}#skills.condensed .skill-card.selected{text-align:center;width:100%}@media (max-width:1100px){#skills.condensed .skill-card{width:32.333%}}@media (max-width:800px){#skills.condensed .skill-card{width:49%}}@media (max-width:500px){#skills.condensed .skill-card{width:100%}}.hint-callout{z-index:3;color:#fff;pointer-events:none;opacity:0;animation:bubble-in .22s var(--card-ease) forwards, bubble-out .32s var(--card-ease) 3.6s forwards;background:#121222;border:1px solid #ffffff59;border-radius:10px;padding:8px 10px;font:600 .85rem/1.2 Arial,sans-serif;position:absolute;top:-10px;right:10px;transform:translateY(-6px);box-shadow:0 8px 20px #00000059}.hint-callout:after{content:"";filter:drop-shadow(0 -1px #ffffff59);border:8px solid #0000;border-top-color:#121222;position:absolute;bottom:-8px;right:18px}@keyframes bubble-in{to{opacity:1;transform:none}}@keyframes bubble-out{to{opacity:0;transform:translateY(-6px)}}.hint-highlight{position:relative}.hint-highlight:after{content:"";border-radius:inherit;pointer-events:none;opacity:.6;animation:2s ease-out infinite halo;position:absolute;inset:-2px;box-shadow:0 0 #ffffff73}@media (prefers-reduced-motion:reduce){.hint-callout{opacity:1;animation:none}.hint-highlight:after{opacity:.35;animation:none}}
:root{--card-dur:.65s;--card-ease:cubic-bezier(.22, 1, .36, 1);--hover-dur:.18s;--fade-dur:.38s}@media (prefers-reduced-motion:reduce){:root{--card-dur:0s;--hover-dur:0s;--fade-dur:0s}}#projects{background:linear-gradient(90deg,#6d3353,#020024);padding:1rem}#projects h2{color:#fff;text-align:center;font-family:Arial,sans-serif}.click-hint{z-index:2;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;opacity:0;width:fit-content;animation:hint-in .3s var(--card-ease) forwards, hint-out .4s var(--card-ease) 3.6s forwards;background:#00000059;border:1px solid #ffffff40;border-radius:999px;margin:.25rem auto .75rem;padding:8px 12px;font-family:Arial,sans-serif;font-size:.9rem;line-height:1;position:sticky;top:0;transform:translateY(-4px)}@keyframes hint-in{to{opacity:1;transform:none}}@keyframes hint-out{to{opacity:0;transform:translateY(-4px)}}.project.hint-highlight{position:relative}.project.hint-highlight:after{content:"";border-radius:inherit;pointer-events:none;opacity:.6;animation:2.2s ease-out infinite halo;position:absolute;inset:-2px;box-shadow:0 0 #ffffff73}@keyframes halo{0%{box-shadow:0 0 #ffffff73}70%{box-shadow:0 0 0 12px #fff0}to{box-shadow:0 0 0 12px #fff0}}@media (prefers-reduced-motion:reduce){.click-hint{opacity:1;animation:none}.project.hint-highlight:after{opacity:.35;animation:none}}#projects .project-container{color:#fff;flex-flow:wrap;justify-content:flex-start;padding-top:5px;font-family:Arial,sans-serif;display:flex}#projects .project{color:#fff;box-sizing:border-box;text-align:left;width:32%;min-width:200px;transition:width var(--card-dur) var(--card-ease), padding var(--card-dur) var(--card-ease), border-radius var(--card-dur) var(--card-ease), box-shadow var(--hover-dur) ease, transform var(--hover-dur) ease;will-change:width, padding;background:#ffffff1a;border:1px solid #ddd;border-radius:8px;margin:10px .5%;padding:20px;position:relative}#projects .project.selected{text-align:center;width:100%}#projects .project .close-button{cursor:pointer;position:absolute;top:10px;right:10px}.project:hover{cursor:pointer;transform:scale(1.01);box-shadow:0 4px 10px #00000040}.code-block{white-space:pre;text-align:left;max-height:500px;text-shadow:none;opacity:0;transition:opacity var(--fade-dur) var(--card-ease) 60ms, transform var(--fade-dur) var(--card-ease) 60ms;background-color:#000;border-radius:6px;padding:10px;overflow:auto;transform:translateY(6px)}.code-toolbar,.inline-nav{opacity:0;transition:opacity var(--fade-dur) var(--card-ease) 40ms, transform var(--fade-dur) var(--card-ease) 40ms;transform:translateY(6px)}#projects .project.selected .code-toolbar,#projects .project.selected .inline-nav,#projects .project.selected .code-block{opacity:1;transform:none}.code-toolbar{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.75rem;margin:.75rem 0 1rem;display:flex}.code-toolbar .back-button,.code-toolbar .github-link{color:#fff;cursor:pointer;transition:transform var(--hover-dur) ease, box-shadow var(--hover-dur) ease, background var(--hover-dur) ease;background:linear-gradient(135deg,#6d3353,#020024);border:1px solid #ffffff4d;border-radius:6px;justify-content:center;align-items:center;min-width:150px;height:42px;padding:10px 20px;font-size:.9rem;text-decoration:none;display:inline-flex;margin-top:0!important}.code-toolbar .back-button:hover,.code-toolbar .github-link:hover{background:linear-gradient(135deg,#8e3c6c,#151531);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.code-toolbar .back-button{font-weight:500}@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.project-gradient{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab) 0 0/400% 400%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:5s infinite gradient}@media (max-width:600px){#projects .project-container{flex-direction:column;align-items:center}#projects .project{width:90%;margin:10px auto}#projects .project.selected{width:100%}.code-toolbar{flex-direction:column;align-items:stretch}.code-toolbar .back-button,.code-toolbar .github-link{width:100%;min-width:unset}}.projects-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:.75rem 0 1rem;display:flex}.projects-search{color:#fff;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;outline:none;min-width:220px;padding:10px 12px}.projects-search::placeholder{color:#ffffffb3}.projects-filter{color:#fff;appearance:none;background-blend-mode:multiply;background:#141423d9 linear-gradient(135deg,#6d3353,#020024);border:1px solid #ffffff4d;border-radius:6px;outline:none;min-width:160px;padding:10px 12px}.projects-filter option{color:#fff!important;background-color:#1b1b2b!important}.nav-arrows .back-button,.inline-nav .back-button,.minimize-cards{color:#fff;cursor:pointer;min-width:150px;height:42px;transition:transform var(--hover-dur) ease, box-shadow var(--hover-dur) ease, background var(--hover-dur) ease;background:linear-gradient(135deg,#6d3353,#020024);border:1px solid #ffffff4d;border-radius:6px;justify-content:center;align-items:center;padding:10px 20px;font-size:.9rem;display:inline-flex}.nav-arrows .back-button:hover,.inline-nav .back-button:hover,.minimize-cards:hover{background:linear-gradient(135deg,#8e3c6c,#151531);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.inline-nav{justify-content:center;gap:.75rem;margin-top:.75rem;display:flex}.nav-arrows{gap:.75rem;display:flex}.prev-btn:disabled,.next-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.no-results{color:#fff;opacity:.85;text-align:center;width:100%;padding:1rem 0}#projects.condensed .project-container{justify-content:center;gap:6px}#projects.condensed .project{width:24%;transition:width var(--card-dur) var(--card-ease), padding var(--card-dur) var(--card-ease), border-radius var(--card-dur) var(--card-ease), box-shadow var(--hover-dur) ease, transform var(--hover-dur) ease;border-radius:6px;margin:6px .5%;padding:10px}#projects.condensed .project h3{margin:0 0 4px;font-size:1rem}#projects.condensed .project p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.2;display:-webkit-box;overflow:hidden}#projects.condensed .project:hover{cursor:pointer;transform:scale(1.005);box-shadow:0 2px 6px #0003}#projects.condensed .project.selected{text-align:center;width:100%}.minimize-cards.is-on{outline-offset:1px;outline:2px solid #ffffff80}@media (max-width:1100px){#projects.condensed .project{width:32.333%}}@media (max-width:800px){#projects.condensed .project{width:49%}}@media (max-width:500px){#projects.condensed .project{width:100%}}.hint-callout{z-index:3;color:#fff;pointer-events:none;opacity:0;animation:bubble-in .22s var(--card-ease) forwards, bubble-out .32s var(--card-ease) 3.6s forwards;background:#121222;border:1px solid #ffffff59;border-radius:10px;padding:8px 10px;font:600 .85rem/1.2 Arial,sans-serif;position:absolute;top:-10px;right:10px;transform:translateY(-6px);box-shadow:0 8px 20px #00000059}.hint-callout:after{content:"";filter:drop-shadow(0 -1px #ffffff59);border:8px solid #0000;border-top-color:#121222;position:absolute;bottom:-8px;right:18px}@keyframes bubble-in{to{opacity:1;transform:none}}@keyframes bubble-out{to{opacity:0;transform:translateY(-6px)}}.hint-highlight{position:relative}.hint-highlight:after{content:"";border-radius:inherit;pointer-events:none;opacity:.6;animation:2s ease-out infinite halo;position:absolute;inset:-2px;box-shadow:0 0 #ffffff73}@media (prefers-reduced-motion:reduce){.hint-callout{opacity:1;animation:none}.hint-highlight:after{opacity:.35;animation:none}}
#education{background:linear-gradient(90deg,#6d3353,#020024);padding:1rem}#education h2{color:#fff;text-align:center;font-family:Arial,sans-serif}.education-container{color:#fff;flex-flow:wrap;justify-content:center;padding-top:5px;font-family:Arial,sans-serif;display:flex}.education-card{min-width:200px;height:auto;max-height:300px;transition:transform .3s ease box-shadow .3s ease;box-sizing:border-box;background:#ffffff1a;border:1px solid #ddd;border-radius:5px;margin:10px .5%;padding:20px;transition:width 1s;position:relative;overflow:auto}.education-card:hover{cursor:pointer;transform:scale(1.02);box-shadow:0 4px 8px #0003}.education-card.selected{text-align:center;width:100%}.education-card:not(.selected){text-align:left;width:32%}.close-button{cursor:pointer;position:absolute;top:10px;right:10px}.education-list{list-style-type:disc}@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.gradient-education{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab) 0 0/400% 400%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:5s infinite gradient}@media (max-width:600px){.education-container{flex-direction:column;align-items:center}.education-card,.education-card:not(.selected){width:90%;margin:10px auto}.education-card.selected{width:100%}}
.footer{text-align:center;color:#fff;background:linear-gradient(90deg,#6d3353,#020024);width:100%;padding:10px;font-family:Arial,sans-serif;bottom:0;left:0}.contactButton{color:#fff;cursor:pointer;background-color:#6d3353;border:none;border-radius:5px;margin-top:10px;margin-right:10px;padding:10px 20px;font-size:16px;text-decoration:none;display:inline-block}.contactButton a{color:#fff;text-decoration:none}.scrollToTopButton{color:#fff;cursor:pointer;background-color:#6d3353;border:none;border-radius:50%;padding:10px;display:none;position:fixed;bottom:20px;right:20px}
