@import "https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap";:root{--bg-page:#303446;--border:#fdc5ffaa;--bg-block:#0a0a0aaa;--fg:#aeb6d9;--accent:#fdc5ff}a{font-family:JetBrains Mono;font-weight:900;text-decoration:none}#app{background-color:var(--bg-page);z-index:0;isolation:isolate;width:100vw;height:100vh}*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;font-family:Raleway;font-weight:700}.block{border:1px solid var(--border);background-color:var(--bg-block);border-radius:6px;padding:1.2em}.accent{width:100%;color:var(--accent);background:linear-gradient(var(--accent), var(--accent)) no-repeat 0 100% / 0% 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:900;transition:background-size .35s;position:relative}.accent:after{content:"";pointer-events:none;background:var(--accent);clip-path:inset(0 100% 0 0);transform-origin:0;height:.3em;transition:clip-path .45s cubic-bezier(.65,0,.35,1),transform .45s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:-.3em;left:-2px;right:-2px;transform:rotate(-1.5deg);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M2 7 C 18 2, 30 11, 48 6 S 80 3, 98 7' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M2 7 C 18 2, 30 11, 48 6 S 80 3, 98 7' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 50%/100% 100% no-repeat}.accent:hover:after,.accent:focus-visible:after{clip-path:inset(0);transform:rotate(0)}@media (prefers-reduced-motion:reduce){.accent:after{transition:none}}.code{font-family:JetBrains Mono}.bg[data-v-ad9bbcd4]{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg canvas[data-v-ad9bbcd4]{width:100%;height:100%;position:absolute;inset:0}.bg--sketch[data-v-ad9bbcd4]{background:radial-gradient(1000px 650px at 50% 50%, color-mix(in srgb, var(--accent,#fdc5ff) 15%, transparent), transparent 100%), linear-gradient(180deg, #000 0%, #000 100%)}.blob[data-v-ad9bbcd4]{filter:blur(90px);opacity:.16;border-radius:50%;width:55vmax;height:55vmax;animation:28s ease-in-out infinite alternate drift-ad9bbcd4;position:absolute}.blob--a[data-v-ad9bbcd4]{background:var(--accent,#fdc5ff);top:-20vmax;left:-15vmax}.blob--b[data-v-ad9bbcd4]{background:#fdc5ff;animation-delay:-12s;bottom:-25vmax;right:-15vmax}.grain[data-v-ad9bbcd4]{opacity:.07;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:.8s step-end infinite grain-ad9bbcd4;position:absolute;inset:-50%}.bg--chill .grain[data-v-ad9bbcd4]{opacity:.03}.vignette[data-v-ad9bbcd4]{background:radial-gradient(#0000 65%,#0003 100%);position:absolute;inset:0}.bg--chill .vignette[data-v-ad9bbcd4]{background:radial-gradient(#0000 60%,#0a051947 100%)}@keyframes grain-ad9bbcd4{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}@keyframes drift-ad9bbcd4{to{transform:translate(8vmax,6vmax)scale(1.15)}}@media (prefers-reduced-motion:reduce){.grain[data-v-ad9bbcd4],.blob[data-v-ad9bbcd4]{animation:none}}@media (hover:hover) and (pointer:fine){*{cursor:none!important}}.cursor-layer{pointer-events:none;z-index:99999;position:fixed;inset:0}.cursor-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 12px var(--accent), 0 0 4px var(--accent);pointer-events:none;will-change:transform;border-radius:50%;transition:width .15s,height .15s,background .15s;position:fixed;top:0;left:0;transform:translate(-100px,-100px)translate(-50%,-50%)}.cursor-dot-click{background:var(--accent);width:18px;height:18px;box-shadow:0 0 20px var(--accent), 0 0 8px var(--accent)}.cursor-petal{width:var(--size);height:var(--size);background:var(--accent);transform:translate(-50%, -50%) rotate(var(--rot));opacity:1;pointer-events:none;animation:.8s ease-out forwards petalFall;animation-delay:var(--delay);z-index:99998;border-radius:50% 0 50% 50%;position:fixed}@keyframes petalFall{0%{opacity:.9;transform:translate(-50%, -50%) rotate(var(--rot)) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--drift)), calc(-50% + var(--fall))) rotate(calc(var(--rot) + 90deg)) scale(.2)}}.head[data-v-c1c81c65]{flex:none;justify-content:space-around;align-items:center;min-height:12em;display:flex}.head-profile[data-v-c1c81c65]{border:3px solid #0000;border-radius:50%;justify-content:space-between;align-items:center;padding:6px;transition:border .2s;display:flex}.head-profile[data-v-c1c81c65]:hover{border:3px solid var(--accent)}.profile[data-v-c1c81c65]{aspect-ratio:1;perspective:800px;width:120px;transform-style:preserve-3d;transition:transform .5s;position:relative}.profile img[data-v-c1c81c65]{object-fit:cover;backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.head-details[data-v-c1c81c65]{flex-direction:column;justify-content:space-evenly;align-items:center;height:100%;display:flex}.head-details p[data-v-c1c81c65]{letter-spacing:1.3px;text-align:center;border:1px solid #0000;border-radius:4px;padding:.6em;font-size:1.15em;font-weight:700;transition:color .2s,background-color .2s,letter-spacing .2s,border-color .2s}.head-details p[data-v-c1c81c65]:hover{color:var(--accent);background-color:color-mix(in srgb, var(--accent) 20%, transparent);letter-spacing:10px;text-align:center;border-color:var(--accent)}.head-details div[data-v-c1c81c65]{justify-content:space-around;align-items:center;width:100%;display:flex}.tag[data-v-c1c81c65]{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:.5em;width:100%;padding:.6em;font-family:JetBrains Mono;font-weight:600;transition:color .2s,background-color .2s,border-color .2s;display:flex;position:relative}.tag[data-v-c1c81c65]:hover{color:var(--accent);background-color:color-mix(in srgb, var(--accent) 20%, transparent);border-color:var(--accent)}.socials-link[data-v-c1c81c65]{color:var(--fg);border:1px solid #0000;border-radius:4px;align-items:center;gap:.5em;padding:.6em;text-decoration:none;transition:transform .25s,color .25s,background-color .2s,border-color .2s;display:flex;position:relative}.socials-link[data-v-c1c81c65]:hover{color:var(--accent);background-color:color-mix(in srgb, var(--accent) 20%, transparent);border-color:var(--accent)}.socials-icon[data-v-c1c81c65]{flex-shrink:0;justify-content:center;align-items:center;width:1.2rem;display:flex}.socials-icon[data-v-c1c81c65] svg{width:100%;height:100%}@media (width<=870px){.profile[data-v-c1c81c65]{width:95px}.head-details p[data-v-c1c81c65]{font-size:1em}.tag[data-v-c1c81c65]{font-size:.85em}}@media (width<=620px){.head[data-v-c1c81c65]{justify-content:center;gap:.75em;min-height:0}.head-profile[data-v-c1c81c65]{flex:none;padding:4px}.profile[data-v-c1c81c65]{width:72px}.head-details[data-v-c1c81c65]{flex:1;gap:.25em;min-width:0;height:auto}.head-details p[data-v-c1c81c65]{padding:.3em .6em;font-size:.95em}.head-details div[data-v-c1c81c65]{flex-wrap:wrap;justify-content:center;gap:.1em}.tag[data-v-c1c81c65]{width:auto;padding:.35em .5em;font-size:.8em}.socials-link[data-v-c1c81c65]{padding:.5em}.socials-icon[data-v-c1c81c65]{width:1.1rem}}@media (width<=360px){.head[data-v-c1c81c65]{flex-direction:column}}@media (height<=600px) and (orientation:landscape){.head[data-v-c1c81c65]{min-height:0}.profile[data-v-c1c81c65]{width:64px}}.page[data-v-1f4cb91b]{flex-direction:column;justify-content:space-between;width:100%;height:100%;max-height:100%;display:flex}p[data-v-1f4cb91b]{overflow-wrap:anywhere;line-height:1.7}.skill-tags[data-v-1f4cb91b]{flex-wrap:wrap;justify-content:space-evenly;align-items:center;width:100%;display:flex}.skill-tag[data-v-1f4cb91b]{width:clamp(3.5em,14vw,5em);color:var(--text-muted);box-sizing:border-box;text-transform:uppercase;border:1px solid #0000;border-radius:4px;padding:clamp(.5rem,2vw,1rem);font-size:.8rem;font-weight:700;transition:background-color .2s,border-color .2s}.skill-tag[data-v-1f4cb91b]:hover{background-color:color-mix(in srgb, var(--accent) 20%, transparent);border-color:var(--accent)}@media (width<=870px){.page[data-v-1f4cb91b]{font-size:.92em}}@media (width<=620px){.page[data-v-1f4cb91b]{font-size:.9em}.page br[data-v-1f4cb91b]{display:none}.page p+p[data-v-1f4cb91b],.page .skill-tags[data-v-1f4cb91b],.skill-tags+p[data-v-1f4cb91b]{margin-top:1.25em}}.page[data-v-e0de6031]{flex-direction:column;justify-content:space-between;width:100%;display:flex}.projects[data-v-e0de6031]{scrollbar-gutter:stable;grid-template-columns:repeat(2,1fr);gap:1.4em;width:100%;display:grid;overflow:hidden auto}.project[data-v-e0de6031]{border:1px solid #0000;border-radius:4px;transition:border-color .2s,background-color .2s;position:relative;overflow:hidden}.project[data-v-e0de6031]:hover{border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 10%, transparent)}.project-content[data-v-e0de6031]{flex-direction:column;gap:.8em;padding:.5em;display:flex}.project-content .project-head[data-v-e0de6031]{justify-content:space-between;align-items:center;width:100%;display:flex}.project-name[data-v-e0de6031]{color:var(--fg);z-index:2;border-radius:4px;justify-content:space-between;align-items:center;padding:.5em;font-weight:800;text-decoration:none;transition:color .2s;display:flex;position:relative}.project-name[data-v-e0de6031]:hover{color:var(--accent);background-color:color-mix(in srgb, var(--accent) 20%, transparent)}.project-tags[data-v-e0de6031]{align-items:center;gap:.6em;width:100%;padding:0 .5em;display:flex}.project-tag[data-v-e0de6031]{text-transform:uppercase;color:var(--fg);font-size:.7rem;font-weight:900;transition:color .2s}.project-tag[data-v-e0de6031]:hover{color:var(--accent)}.project-info[data-v-e0de6031]{flex-direction:row;justify-content:space-between;align-items:center;padding:0 .5em;display:flex}.project-desc[data-v-e0de6031]{color:var(--fg);margin-bottom:.65em;font-size:.75rem;line-height:20px;transition:color .2s;position:relative}.project-link[data-v-e0de6031]{width:2em;height:2em;color:var(--fg);border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;transition:color .2s,background-color .2s;display:flex;position:relative}.project-link[data-v-e0de6031]:hover{color:var(--accent);background-color:color-mix(in srgb, var(--accent) 20%, transparent)}@media (width<=760px){.projects[data-v-e0de6031]{scrollbar-gutter:auto;grid-template-columns:1fr;gap:.9em}}@media (width<=620px){.project-tags[data-v-e0de6031]{flex-wrap:wrap}.project-name[data-v-e0de6031]{font-size:.95rem}.project-desc[data-v-e0de6031]{font-size:.8rem;line-height:1.5}}.content-page[data-v-7deb367f]{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.selector[data-v-7deb367f]{flex:none;justify-content:space-around;align-items:center;gap:1em;height:4em;display:flex;position:relative}.item[data-v-7deb367f]{border:1px solid #0000;border-radius:4px;flex:1;min-width:0;padding:.3em 0;transition:color .25s,background-color .2s,border-color .2s;position:relative}.item[data-v-7deb367f]:hover{color:var(--accent);background-color:color-mix(in srgb, var(--accent) 20%, transparent);border-color:var(--accent)}.slider[data-v-7deb367f]{background:var(--accent);opacity:0;pointer-events:none;z-index:0;border-radius:6px;transition:opacity .2s;position:absolute;inset:0}.item--on .slider[data-v-7deb367f]{opacity:1}.item--on .card[data-v-7deb367f]{color:#0b0b10}.card[data-v-7deb367f]{z-index:1;width:100%;height:100%;color:var(--text-muted);text-align:center;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.6rem;line-height:1.2;display:flex;position:relative}.content[data-v-7deb367f]{scrollbar-gutter:stable;letter-spacing:.3px;border-radius:6px;flex:1;min-height:0;margin-top:1em;padding:.75em;overflow-y:auto}.content-body[data-v-7deb367f]{flex:1 0 auto}.footer[data-v-7deb367f]{text-align:center;flex:none;margin-top:1em;font-size:clamp(.6rem,2.2vw,.85rem);font-weight:800}@media (width<=620px){.selector[data-v-7deb367f]{gap:.5em;height:2.75em}.card[data-v-7deb367f]{padding:.4rem;font-size:.9rem}.content[data-v-7deb367f]{scrollbar-gutter:auto;margin-top:.5em;padding:.5em}.footer[data-v-7deb367f]{margin-top:.5em}}.page[data-v-b33132c2]{width:min(92vw,max(50vw,640px),965px);height:90dvh;color:var(--fg);z-index:2;flex-direction:column;gap:1.5em;margin:auto;display:flex;position:fixed;inset:0}@media (width<=620px),(height<=600px){.page[data-v-b33132c2]{gap:.75em;width:94vw;height:96dvh}}
