@import url(https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap);*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}a,img,video{-webkit-user-drag:none}input,textarea{-webkit-user-select:text;user-select:text}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--hero-gradient);background-color:var(--background-color);color:var(--text-color);font-family:Manrope,sans-serif;letter-spacing:.1px;margin:0;min-height:100vh;transition:background-color .35s ease,color .35s ease}h1,h2,h3,h4,h5,h6{font-family:"DM Serif Display",serif;letter-spacing:.4px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:5px;width:8px}::-webkit-scrollbar-track{background:#ffffff14}::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#fff9}.App{background:var(--hero-gradient);background-color:var(--background-color);color:#fff;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding-bottom:100px;place-content:start;place-items:center;position:relative;text-align:left}.App--no-bottom-space{padding-bottom:0}.App:after,.App:before{border-radius:50%;content:"";filter:blur(70px);pointer-events:none;position:fixed;z-index:0}.App:before{background:color-mix(in srgb,var(--secundary-highlight-color) 26%,#0000);height:min(45vw,520px);left:-10%;top:-12%;width:min(45vw,520px)}.App:after{background:color-mix(in srgb,var(--text-color) 5%,#0000);bottom:-15%;height:min(32vw,420px);right:-8%;width:min(32vw,420px)}:root[data-theme=light] .App:before{background:color-mix(in srgb,var(--secundary-highlight-color) 12%,#0000)}.App>*{position:relative;z-index:1}.App-transition-vignette{animation:appVignetteFade .7s ease-out forwards;background:radial-gradient(circle at center,#0000 0,#0003 48%,#000000e0 100%),#000;inset:0;pointer-events:none;position:fixed;z-index:30}@keyframes appVignetteFade{0%{opacity:1}to{opacity:0}}@media(max-width:500px){.App{place-content:flex-start}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.defaultHeader{text-wrap:balance;color:var(--text-color);font-size:clamp(2rem,3.6vw,3.3rem);font-weight:400;place-self:center;transition-duration:.5s;transition-property:color;transition-timing-function:ease-in-out}button{font-family:Manrope,sans-serif}.pageShell{--pg-muted:color-mix(in srgb,var(--text-color) 76%,#0000);--pg-faint:color-mix(in srgb,var(--text-color) 56%,#0000);--pg-hairline:color-mix(in srgb,var(--text-color) 12%,#0000);--pg-accent:var(--default-highlight-color);color:var(--text-color);display:flex;flex-direction:column;margin-top:70px;max-width:100%;padding-bottom:96px;place-items:center;transition:color .35s ease;width:100%}.pageColumn{display:flex;flex-direction:column;width:min(90%,1040px)}.pageHeader{padding:56px 0 28px}.pageEyebrow,.pageLabel{color:var(--pg-muted);font-family:Manrope,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;line-height:1.6;margin:0;text-transform:uppercase}.pageEyebrow{align-items:center;display:flex;gap:14px}.pageEyebrow:before{background-color:var(--pg-accent);content:"";height:1px;width:28px}.pageSection{grid-gap:48px;border-top:1px solid var(--pg-hairline);display:grid;gap:48px;grid-template-columns:220px minmax(0,1fr);padding:48px 0;position:relative}.pageSection:before{background-color:var(--pg-accent);content:"";height:1px;left:0;position:absolute;top:-1px;transition:width .6s cubic-bezier(.22,1,.36,1);width:0}.pageSection.first:before,.pageSection:hover:before{width:220px}.pageLabel{padding-top:6px}@media (prefers-reduced-motion:reduce){.pageSection:before{transition:none}}@media(max-width:900px){.pageSection{gap:18px;grid-template-columns:1fr;padding:40px 0}.pageSection.first:before,.pageSection:hover:before{width:72px}.pageLabel{padding-top:0}}@media(max-width:640px){.pageColumn{padding:0 16px;width:100%}.pageHeader{padding:32px 0 20px}}@media(max-width:500px){.pageShell{margin-bottom:80px;margin-top:14px;padding-bottom:32px}}.mobile{display:none}@media(max-width:500px){.mobile{display:block}.desktop{display:none}}:root,:root[data-theme=dark]{--bar-color:#121414d1;--background-color:#0b0c0c;--chat-background-color:#121414;--line-color:#ffffff24;--text-color:#eceeed;--contribution-color:#489e79;--default-highlight-color:#489e79;--secundary-highlight-color:#246048;--presentation-background-color:#141616d9;--presentation-button-border-color:#fff;--about-background-color:#111313c7;--info-box-background-color:#1a1d1cf0;--progress-bar-background-color:#ffffff1a;--progress-bar-color:#b0b6b4;--progress-bar-highlight-color:#489e79;--progress-bar-label-color:#181b1a;--progress-bar-label-highlight-color:#225c46;--default-container-background-color:#ffffff0a;--projects-background-color:#0b0c0ceb;--skill-label-color:#dee2e0e6;--default-hover-color:#ffffff14;--project-window-color:#111313fa;--my-messages-background-color:#1f5440;--input-message-backgroundcolor:#161818;--surface-1:#181a1ab8;--surface-2:#202322d1;--surface-border:#ffffff1f;--soft-shadow:0 16px 40px #00000073;--hero-gradient:radial-gradient(circle at 14% 10%,#22584333,#0000 40%),radial-gradient(circle at 86% 18%,#ffffff08,#0000 36%),linear-gradient(160deg,#0a0b0b,#101212 52%,#090a0a)}:root[data-theme=light]{--bar-color:#fafaf9d1;--background-color:#f3f3f1;--chat-background-color:#f9f9f8;--line-color:#14181629;--text-color:#1c1f1e;--default-highlight-color:#1f6b4f;--secundary-highlight-color:#164e3a;--contribution-color:#1f6b4f;--presentation-background-color:#fcfcfbe0;--presentation-button-highlight-color:#1f6b4f;--presentation-button-border-color:#fff;--about-background-color:#fdfdfce6;--info-box-background-color:#fcfcfbf2;--progress-bar-background-color:#1c1f1e1f;--progress-bar-color:#545a57;--progress-bar-highlight-color:#1f6b4f;--progress-bar-label-color:#1c1f1e;--progress-bar-label-highlight-color:#144e39;--default-container-background-color:#fff9;--projects-background-color:#f6f6f4f2;--skill-label-color:#282c2ae6;--default-hover-color:#1c1f1e14;--project-window-color:#fcfcfbfa;--info-box-color:#eef3f0e6;--surface-1:#fcfcfbc7;--surface-2:#f8f8f6eb;--surface-border:#1c1f1e24;--soft-shadow:0 18px 42px #1418161f;--hero-gradient:radial-gradient(circle at 12% 10%,#1f6b4f1a,#0000 38%),radial-gradient(circle at 88% 22%,#1c1f1e0d,#0000 35%),linear-gradient(155deg,#f0f0ee,#f6f6f4 46%,#ecece9)}.bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background-color:color-mix(in srgb,var(--background-color) 78%,#0000);border-bottom:1px solid color-mix(in srgb,var(--text-color) 10%,#0000);display:flex;left:0;place-content:center;position:fixed;right:0;top:0;z-index:3}.barContent{align-items:stretch;display:flex;gap:30px;height:56px;overflow-x:auto;padding-right:48px;scrollbar-width:none;width:min(90%,1040px)}.barContent::-webkit-scrollbar{display:none}.buttonSection{border-bottom:1px solid #0000;color:color-mix(in srgb,var(--text-color) 62%,#0000);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-decoration:none;transition:color .2s ease,border-color .2s ease;white-space:nowrap}.barContent>.buttonSection:not(.mobile){align-items:center;display:flex}.buttonSection.active,.buttonSection:hover{color:var(--text-color)}.buttonSection.active{border-bottom-color:var(--default-highlight-color)}.themeToggleButton{background-color:initial;border:1px solid #0000;border-radius:50%;color:color-mix(in srgb,var(--text-color) 62%,#0000);cursor:pointer;display:grid;font-size:18px;height:36px;place-items:center;position:fixed;right:calc(max(5vw, (100vw - 1040px) / 2) - 9px);top:10px;transition:color .18s ease,border-color .18s ease;width:36px;z-index:4}.themeToggleButton:hover{border-color:color-mix(in srgb,var(--text-color) 18%,#0000);color:var(--text-color)}.chatButton{display:none}.chatButton.active{background:linear-gradient(135deg,color-mix(in srgb,var(--default-highlight-color) 24%,var(--background-color)),color-mix(in srgb,var(--secundary-highlight-color) 18%,var(--background-color)));border:1px solid color-mix(in srgb,var(--default-highlight-color) 55%,#0000);border-radius:50%;bottom:max(24px,3%);box-shadow:0 0 14px color-mix(in srgb,var(--default-highlight-color) 20%,#0000);color:var(--text-color);display:block;height:48px;padding:13px;position:fixed;right:max(24px,3%);transition:border-color .2s ease,box-shadow .2s ease;width:48px;z-index:3}.chatButton:hover{border-color:color-mix(in srgb,var(--default-highlight-color) 85%,#0000);box-shadow:0 0 20px color-mix(in srgb,var(--default-highlight-color) 40%,#0000),inset 0 0 12px color-mix(in srgb,var(--default-highlight-color) 14%,#0000)}@media(max-width:700px){.barContent{gap:18px}.buttonSection{font-size:.66rem;letter-spacing:.1em}}@media(max-width:500px){.bar{border-bottom:none;border-top:1px solid color-mix(in srgb,var(--text-color) 10%,#0000);bottom:0;top:auto}.barContent{align-items:center;gap:0;height:58px;justify-content:space-between;padding:0 22px;width:100%}.barContent>.buttonSection{align-items:center;border-bottom:none;color:color-mix(in srgb,var(--text-color) 55%,#0000);display:flex;height:100%;margin:0;padding:0 6px}.barContent>.buttonSection.active,.barContent>.buttonSection:hover{color:var(--default-highlight-color)}.iconSection{height:24px;width:24px}.chatButton.active{display:none}.themeToggleButton{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--bar-color);border-color:color-mix(in srgb,var(--text-color) 12%,#0000);bottom:72px;height:40px;right:14px;top:auto;width:40px}}.hmHeader{display:flex;flex-direction:column;gap:22px;padding-bottom:52px}.hmTitle{font-size:clamp(2rem,3.6vw,3rem);font-weight:400;letter-spacing:-.01em;line-height:1.12;margin:0}.hmName{color:var(--pg-accent)}.hmRole{color:var(--pg-muted);display:block}.hmContactBody{align-items:flex-start;display:flex;flex-direction:column;gap:26px;min-width:0}.hmContact{border-top:1px solid var(--pg-hairline);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.hmRow{align-items:center;border-bottom:1px solid var(--pg-hairline);color:var(--pg-muted);display:flex;font-size:.94rem;gap:12px;min-width:0;padding:12px 8px 12px 0;text-decoration:none;transition:color .2s ease}.hmRow>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hmRowIcon{color:var(--pg-faint);flex:none;font-size:18px;transition:color .2s ease}a.hmRow:hover{color:var(--text-color)}a.hmRow:hover .hmRowIcon{color:var(--pg-accent)}.hmMore{border-bottom:1px solid var(--pg-accent);color:var(--text-color);font-size:.84rem;font-weight:600;letter-spacing:.04em;padding-bottom:2px;text-decoration:none;transition:color .18s ease}.hmMore:after{content:" \2192"}.hmMore:after,.hmMore:hover{color:var(--pg-accent)}@media(max-width:900px){.hmContact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.hmHeader{gap:16px;padding-bottom:40px}.hmContact{grid-template-columns:1fr}}.selectSpace{grid-gap:32px 48px;display:grid;gap:32px 48px;grid-template-columns:repeat(2,minmax(0,1fr))}.viewMyWork{align-items:flex-start;color:inherit;display:flex;flex-direction:column;gap:16px;min-width:0;text-decoration:none}.viewMyWork>p{color:var(--pg-muted);font-size:.95rem;line-height:1.7;margin:0}.viewMyWorkNote{color:var(--pg-faint);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.viewWorkButton{border:1px solid color-mix(in srgb,var(--text-color) 24%,#0000);border-radius:3px;color:var(--text-color);font-size:1.05rem;font-weight:500;padding:12px 28px;transition-duration:.2s;transition-property:border-color,box-shadow;transition-timing-function:ease-in-out}.viewWorkButton.active{background:linear-gradient(135deg,color-mix(in srgb,var(--default-highlight-color) 26%,#0000),color-mix(in srgb,var(--secundary-highlight-color) 16%,#0000));border-color:color-mix(in srgb,var(--default-highlight-color) 75%,#0000);box-shadow:0 0 16px color-mix(in srgb,var(--default-highlight-color) 35%,#0000),inset 0 0 12px color-mix(in srgb,var(--default-highlight-color) 12%,#0000)}@media(max-width:640px){.selectSpace{grid-template-columns:1fr}}.contributions{color:var(--pg-muted);display:flex;flex-direction:column;font-size:.96rem;gap:16px;min-width:0}.yearView{overflow-x:auto;scrollbar-width:none;width:100%}.yearView::-webkit-scrollbar{display:none}.contributionsBox{display:flex;flex-direction:row;gap:2px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.weekView{display:flex;flex-direction:column;gap:2px}.backgroundSquare{background-color:color-mix(in srgb,var(--text-color) 8%,#0000);border-radius:2px;height:12px;position:relative;width:12px}.simpleSquare{background-color:var(--contribution-color);border-radius:2px;height:100%;position:absolute;width:100%}@media(max-width:900px){.contributionsBox{flex-wrap:nowrap}}.projectWindowBack,.projects{--pj-muted:color-mix(in srgb,var(--text-color) 68%,#0000);--pj-faint:color-mix(in srgb,var(--text-color) 50%,#0000);--pj-hairline:color-mix(in srgb,var(--text-color) 12%,#0000);--pj-accent:var(--default-highlight-color)}.projects{color:var(--text-color);display:flex;flex-direction:column;margin-top:70px;padding-bottom:96px;place-items:center;transition:color .35s ease;width:100%}.projectsContent{width:min(90%,1040px)}.pjHeader,.projectsContent{display:flex;flex-direction:column}.pjHeader{padding:56px 0 20px}.pjEyebrow{align-items:center;color:var(--pj-muted);display:flex;font-size:.72rem;font-weight:600;gap:14px;letter-spacing:.18em;text-transform:uppercase}.pjEyebrow:before{background-color:var(--pj-accent);content:"";height:1px;width:28px}.pjToolbar{align-items:baseline;border-bottom:1px solid var(--pj-hairline);display:flex;gap:24px;justify-content:space-between;margin-bottom:28px}.skillsBar{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}.skillsBar::-webkit-scrollbar{display:none}.buttonSkill{background-color:initial;border:none;border-bottom:1px solid #0000;color:var(--pj-muted);cursor:pointer;flex:none;font-size:.92rem;font-weight:500;margin-bottom:-1px;padding:14px 0;transition:color .22s ease,border-color .22s ease}.buttonSkill.active,.buttonSkill:hover{color:var(--text-color)}.buttonSkill.active{border-bottom-color:var(--pj-accent)}.pjCount{color:var(--pj-faint);flex:none;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.projectsContainer{--tile-gap:20px;margin-inline:calc(var(--tile-gap)/-2);position:relative;transition:height .4s ease-in-out;width:calc(100% + var(--tile-gap))}.projectBoxAbsolute{aspect-ratio:4/3;opacity:0;padding:calc(var(--tile-gap)/2);pointer-events:none;position:absolute;transition-duration:.4s;transition-property:opacity,transform,width;transition-timing-function:ease-in-out}.projectBoxAbsolute.active{opacity:1;pointer-events:auto}.projectBox{background-color:var(--surface-1);border-radius:8px;box-shadow:inset 0 0 0 1px var(--pj-hairline);cursor:pointer;height:100%;overflow:hidden;position:relative;scale:0;transition:scale .4s ease-in-out;width:100%}.projectBox.active{scale:1}.projectBox:focus-visible{outline:2px solid var(--pj-accent);outline-offset:3px}.projectBoxImage{display:block;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1);width:100%}.projectBox:focus-visible .projectBoxImage,.projectBox:hover .projectBoxImage{transform:scale(1.03)}.noImageProject{height:100%;width:100%}.projectBoxCaption{background-color:#080a0ad6;color:#f4f6f5;display:flex;flex-direction:column;gap:4px;inset:0;justify-content:flex-end;opacity:0;padding:18px;pointer-events:none;position:absolute;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease}.projectBox:focus-visible .projectBoxCaption,.projectBox:hover .projectBoxCaption,.projectBoxCaption.static{opacity:1;transform:translateY(0)}.projectBoxCaption.static{background:none;color:var(--text-color)}.projectBoxCaption>h2{font-size:1.12rem;font-weight:400;line-height:1.2;margin:0}.projectBoxCaption>span{font-size:.76rem;letter-spacing:.06em;opacity:.72}.projectWindowBack{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0406069e;display:flex;inset:0;opacity:0;padding:24px;place-content:center;place-items:center;pointer-events:none;position:fixed;transition:opacity .3s ease-in-out;z-index:1200}.projectWindowBack.active{opacity:1;pointer-events:auto}.projectWindow{background-color:var(--project-window-color);border:1px solid var(--pj-hairline);border-radius:12px;box-shadow:var(--soft-shadow);color:var(--text-color);display:flex;flex-direction:column;height:min(90vh,100%);overflow:hidden;pointer-events:none;position:relative;scale:.97;transition:scale .3s ease-in-out;width:min(860px,100%);z-index:1201}.projectWindow.active{pointer-events:auto;scale:1}.buttonClose,.switchImageButton{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#080a0a8c;border:none;border-radius:50%;color:#f4f6f5;cursor:pointer;height:36px;padding:8px;position:absolute;transition:background-color .18s ease,opacity .4s ease;width:36px;z-index:20}.buttonClose:hover,.switchImageButton:hover{background-color:#080a0acc}.buttonClose{display:flex;font-size:20px;place-content:center;place-items:center;right:14px;top:14px}.carruselContainer{aspect-ratio:16/9;background-color:color-mix(in srgb,#000 28%,var(--project-window-color));flex:none;overflow:hidden;position:relative;transition:max-height .5s ease-in-out;width:100%}.carrusel{display:flex;flex-direction:row;height:100%;overflow-x:auto;scrollbar-width:none;width:100%}.carrusel::-webkit-scrollbar{display:none}.carruselImage{flex:none;height:100%;object-fit:contain;pointer-events:none;transition:opacity .5s ease-in-out;-webkit-user-select:none;user-select:none}.carruselImage.hide{opacity:0}.switchImageButton{top:50%;translate:0 -50%}.switchImageButton.next{right:14px}.switchImageButton.back{left:14px}.switchImageButton.hide{opacity:0;pointer-events:none}.buttonImageHide{background-color:var(--project-window-color);border-radius:8px 8px 0 0;bottom:0;color:var(--pj-muted);cursor:pointer;height:22px;left:50%;position:absolute;transition:color .18s ease;translate:-50% 0;width:48px;z-index:10}.buttonImageHide:hover{color:var(--text-color)}.buttonImageHide.hide{background-color:initial;bottom:auto;top:6px}.proyectWindowText,.proyectWindowTextSpace{display:flex;flex:1 1;flex-direction:column;min-height:0}.proyectWindowText{padding:28px 36px 0}.proyectWindowText>h1{font-size:1.7rem;font-weight:400;line-height:1.15;margin:0}.pwMeta{align-items:center;display:flex;flex-wrap:wrap;font-size:.72rem;gap:6px 18px;letter-spacing:.12em;margin-top:10px;text-transform:uppercase}.pwTags{color:var(--pj-accent);font-weight:600}.pwLanguages{color:var(--pj-faint)}.asStudentFlag{align-items:center;background-color:initial;border:1px solid var(--pj-hairline);border-radius:999px;color:var(--pj-muted);cursor:pointer;display:inline-flex;font-size:inherit;gap:6px;letter-spacing:inherit;padding:3px 10px;text-transform:inherit;transition:color .18s ease,border-color .18s ease}.asStudentFlag:hover{border-color:var(--pj-faint);color:var(--text-color)}.asStudentFlag>svg{font-size:14px;pointer-events:none}.description{color:color-mix(in srgb,var(--text-color) 88%,#0000);flex:1 1;font-size:.95rem;line-height:1.7;margin-top:20px;min-height:0;overflow-y:auto;padding:0 12px 28px 0;scrollbar-width:thin}.features{grid-gap:8px 24px;border-block:1px solid var(--pj-hairline);display:grid;gap:8px 24px;grid-template-columns:-webkit-max-content minmax(0,1fr);grid-template-columns:max-content minmax(0,1fr);margin:0 0 22px;padding:16px 0}.features>dt{color:var(--pj-faint);font-size:.7rem;letter-spacing:.12em;padding-top:3px;text-transform:uppercase}.features>dd{color:var(--pj-muted);font-size:.9rem;line-height:1.55;margin:0}.description p{margin:0 0 14px}.description h2,.description h3{color:var(--text-color);font-weight:400;line-height:1.2;margin:30px 0 12px}.description h2{font-size:1.22rem}.description h3{font-size:1.05rem}.description ol,.description ul{margin:0 0 14px;padding-left:1.15em}.description li{margin-bottom:8px;padding-left:4px}.description li::marker{color:var(--pj-accent)}.description a{color:var(--pj-accent)}.description table{border-collapse:collapse;font-size:.86rem;margin:0 0 14px;width:100%}.description td,.description th{border-bottom:1px solid var(--pj-hairline);padding:6px 10px;text-align:left}.endBar{border-top:1px solid var(--pj-hairline);display:flex;flex-wrap:wrap;gap:10px 28px;padding:16px 0 20px}.viewOnGithub{border-bottom:1px solid var(--pj-accent);color:var(--text-color);font-size:.84rem;font-weight:600;letter-spacing:.04em;padding-bottom:2px;pointer-events:none;text-decoration:none;transition:color .18s ease}.viewOnGithub:after{color:var(--pj-accent);content:" \2197"}.viewOnGithub.active{pointer-events:auto}.viewOnGithub:hover{color:var(--pj-accent)}@media(max-width:1000px){.projectsContent{width:92%}}@media(max-width:600px){.pjHeader{padding:32px 0 12px}.pjToolbar{margin-bottom:18px}.pjCount{display:none}.skillsBar{gap:22px}.projectsContainer{--tile-gap:12px}.projectWindowBack{padding:12px}.proyectWindowText{padding:22px 20px 0}.proyectWindowText>h1{font-size:1.4rem}.features{gap:2px;grid-template-columns:minmax(0,1fr)}.features>dd{margin-bottom:8px}}@media(max-width:500px){.projects{margin-bottom:96px;margin-top:14px;padding-bottom:0}}.infoBox{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--info-box-background-color);border:1px solid var(--surface-border);border-radius:12px;bottom:28px;box-shadow:var(--soft-shadow);color:var(--text-color);font-size:.92rem;left:50%;line-height:1.65;opacity:0;padding:18px 22px;pointer-events:none;position:fixed;transition:opacity .2s ease,translate .2s ease;translate:-50% 8px;width:min(720px,calc(100% - 32px));z-index:9999}.infoBox.active{opacity:1;translate:-50% 0}.progressBarsContainer{grid-gap:30px 28px;display:grid;gap:30px 28px;grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.progressBar{flex-direction:column}.progressBar,.progressBarLabel{display:flex;gap:12px;min-width:0}.progressBarLabel{align-items:center;color:var(--pg-muted);font-size:.95rem;font-weight:500;transition:color .2s ease}.progressBarLabel.highlight{color:var(--text-color)}.progressBarLabel>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skillIcon,.skillIconImg{flex:none;height:26px;width:26px}.skillIconImg{border-radius:22%}.progressBarBackground{background-color:var(--pg-hairline);height:2px;overflow:hidden;position:relative;width:100%}.progress{background-color:var(--pg-faint);inset:0 auto 0 0;position:absolute;transition:background-color .25s ease}.progress.highlight{background-color:var(--pg-accent)}@media(max-width:900px){.infoBox{bottom:96px}}@media(max-width:640px){.progressBarsContainer{gap:26px 22px;grid-template-columns:repeat(2,minmax(0,1fr))}}.aboutBackground{--ab-muted:color-mix(in srgb,var(--text-color) 76%,#0000);--ab-faint:color-mix(in srgb,var(--text-color) 56%,#0000);--ab-hairline:color-mix(in srgb,var(--text-color) 12%,#0000);--ab-accent:var(--default-highlight-color);color:var(--text-color);display:flex;flex-direction:column;margin-top:70px;max-width:100%;padding-bottom:96px;place-items:center;transition:color .35s ease;width:100%}.about{display:flex;flex-direction:column;width:min(90%,1040px)}.abHeader{padding:56px 0 28px}.abEyebrow,.abLabel{color:var(--ab-muted);font-family:Manrope,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;line-height:1.6;margin:0;text-transform:uppercase}.abEyebrow{align-items:center;display:flex;gap:14px}.abEyebrow:before{background-color:var(--ab-accent);content:"";height:1px;width:28px}.abSection{grid-gap:48px;border-top:1px solid var(--ab-hairline);display:grid;gap:48px;grid-template-columns:220px minmax(0,1fr);padding:48px 0;position:relative}.abSection:before{background-color:var(--ab-accent);content:"";height:1px;left:0;position:absolute;top:-1px;transition:width .6s cubic-bezier(.22,1,.36,1);width:0}.abSection.abLead:before,.abSection:hover:before{width:220px}.abLabel{padding-top:6px}.abBody{min-width:0}.abBody p{color:color-mix(in srgb,var(--text-color) 86%,#0000);font-size:1.04rem;line-height:1.75;margin:0 0 16px;max-width:68ch}.abBody>:last-child{margin-bottom:0}.abBody h3{font-size:1.25rem;font-weight:400;line-height:1.2;margin:28px 0 10px}.abBody a{border-bottom:1px solid var(--ab-accent);color:var(--text-color);padding-bottom:1px;text-decoration:none;transition:color .18s ease}.abBody a:hover{color:var(--ab-accent)}.abLead .abBody>p:first-of-type{color:var(--text-color);font-size:1.24rem;line-height:1.6}.abDetails .abBody{grid-gap:28px 32px;display:grid;gap:28px 32px;grid-template-columns:repeat(3,minmax(0,1fr))}.abDetails .abBody p{color:var(--text-color);display:flex;flex-direction:column;font-size:1rem;gap:5px;line-height:1.45;margin:0}.abDetails .abBody strong{color:var(--ab-faint);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.abDetails .abBody a{align-self:flex-start}.abList .abBody ul{grid-column-gap:48px;column-gap:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.abList .abBody li{border-bottom:1px solid var(--ab-hairline);color:var(--ab-muted);font-size:.98rem;padding:11px 0}.abList .abBody li:nth-child(-n+2){border-top:1px solid var(--ab-hairline)}@media (prefers-reduced-motion:reduce){.abSection:before{transition:none}}@media(max-width:900px){.abSection{gap:18px;grid-template-columns:1fr;padding:40px 0}.abSection.abLead:before,.abSection:hover:before{width:72px}.abLabel{padding-top:0}.abDetails .abBody{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.about{padding:0 16px;width:100%}.abHeader{padding:32px 0 20px}.abLead .abBody>p:first-of-type{font-size:1.12rem}.abList .abBody ul{grid-template-columns:1fr}.abList .abBody li:nth-child(2){border-top:none}}@media(max-width:500px){.aboutBackground{margin-bottom:80px;margin-top:14px;padding-bottom:32px}.abDetails .abBody{gap:20px;grid-template-columns:1fr}}.experienceBackground{--xp-muted:color-mix(in srgb,var(--text-color) 76%,#0000);--xp-faint:color-mix(in srgb,var(--text-color) 56%,#0000);--xp-hairline:color-mix(in srgb,var(--text-color) 12%,#0000);--xp-accent:var(--default-highlight-color);color:var(--text-color);display:flex;flex-direction:column;margin-top:70px;max-width:100%;padding-bottom:96px;place-items:center;transition:color .35s ease;width:100%}.xp{width:min(90%,1040px)}.xp,.xpHeader{display:flex;flex-direction:column}.xpHeader{gap:22px;padding:56px 0 52px}.xpEyebrow,.xpLabel{align-items:center;color:var(--xp-muted);display:flex;font-family:Manrope,sans-serif;font-size:.72rem;font-weight:600;gap:14px;letter-spacing:.18em;margin:0;text-transform:uppercase}.xpEyebrow:before{background-color:var(--xp-accent);content:"";height:1px;width:28px}.xpTitle{text-wrap:pretty;font-size:clamp(2rem,3.6vw,3rem);font-weight:400;letter-spacing:-.01em;line-height:1.1;margin:0;max-width:24ch}.xpIntro{color:var(--xp-muted);font-size:1.08rem;line-height:1.75;margin:0;max-width:60ch}.xpStats{display:flex;flex-wrap:wrap;margin:18px 0 0;padding:0}.xpStat{border-left:1px solid var(--xp-hairline);display:flex;flex-direction:column;gap:4px;padding:0 36px}.xpStat:first-child{border-left:none;padding-left:0}.xpStat dt{font-family:"DM Serif Display",serif;font-size:1.7rem;line-height:1.1;white-space:nowrap}.xpStat dd{color:var(--xp-faint);font-size:.78rem;letter-spacing:.06em;margin:0;text-transform:uppercase}.xpList{border-top:1px solid var(--xp-hairline);list-style:none;margin:0;padding:0}.xpItem{grid-gap:48px;border-bottom:1px solid var(--xp-hairline);display:grid;gap:48px;grid-template-columns:220px minmax(0,1fr);padding:48px 0;position:relative}.xpItem:before{background-color:var(--xp-accent);content:"";height:1px;left:0;position:absolute;top:-1px;transition:width .6s cubic-bezier(.22,1,.36,1);width:0}.xpItem.current:before,.xpItem:hover:before{width:220px}.xpAside{display:flex;flex-direction:column;gap:8px;padding-top:6px}.xpPeriod{font-feature-settings:"tnum";font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600}.xpLocation,.xpType{color:var(--xp-faint);font-size:.88rem;line-height:1.5}.xpType{color:var(--xp-muted);margin-top:6px}.xpBody{gap:20px;min-width:0}.xpBody,.xpHead{display:flex;flex-direction:column}.xpHead{gap:6px}.xpCompany{align-items:baseline;display:flex;flex-wrap:wrap;font-size:clamp(1.7rem,2.6vw,2.1rem);font-weight:400;gap:4px 14px;line-height:1.15;margin:0}.xpNow{align-items:center;color:var(--xp-accent);display:inline-flex;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:600;gap:7px;letter-spacing:.14em;text-transform:uppercase;transform:translateY(-3px)}.xpNow:before{background-color:var(--xp-accent);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--xp-accent) 18%,#0000);content:"";height:6px;width:6px}.xpRole{color:var(--xp-muted);font-size:1.02rem;font-weight:500;line-height:1.5;margin:0}.xpSummary{font-size:1.06rem;line-height:1.7;margin:0;max-width:68ch}.xpAchievements{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;max-width:68ch;padding:0}.xpAchievements li{color:color-mix(in srgb,var(--text-color) 84%,#0000);font-size:1rem;line-height:1.7;padding-left:22px;position:relative}.xpAchievements li:before{background-color:var(--xp-accent);content:"";height:1px;left:0;position:absolute;top:.85em;width:10px}.xpProjects{border-top:1px solid var(--xp-hairline);display:flex;flex-direction:column;gap:22px;margin-top:12px;padding-top:28px}.xpProjectGrid{grid-gap:28px 48px;display:grid;gap:28px 48px;grid-template-columns:repeat(2,minmax(0,1fr))}.xpProject{display:flex;flex-direction:column;gap:8px}.xpProject h4{font-family:Manrope,sans-serif;font-size:1rem;font-weight:600;letter-spacing:0;margin:0}.xpProject p{color:var(--xp-muted);font-size:.93rem;line-height:1.65;margin:0}.xpProjectStack{color:var(--xp-faint);font-size:.8rem;margin-top:auto;padding-top:2px}.xpStack{border-top:1px solid var(--xp-hairline);display:flex;flex-wrap:wrap;list-style:none;margin:12px 0 0;padding:20px 0 0;row-gap:4px}.xpStack li{color:var(--xp-muted);font-size:.84rem;font-weight:500;letter-spacing:.02em}.xpStack li:not(:last-child):after{color:var(--xp-accent);content:"\00b7";margin:0 10px}.xpFooter{grid-gap:64px;display:grid;gap:64px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:56px}.xpFooterBlock{display:flex;flex-direction:column;gap:10px}.xpFooterBlock .xpLabel{margin-bottom:10px}.xpFooterBlock p{margin:0}.xpDegree{font-family:"DM Serif Display",serif;font-size:1.35rem;line-height:1.3}.xpMuted{color:var(--xp-muted);font-size:.94rem}.xpInline{color:var(--xp-faint);font-size:.9rem;line-height:1.85;margin-top:12px!important}.xpFocus{border-top:1px solid var(--xp-hairline);list-style:none;margin:0;padding:0}.xpFocus li{border-bottom:1px solid var(--xp-hairline);color:var(--xp-muted);font-size:.96rem;padding:11px 0}@media (prefers-reduced-motion:reduce){.xpItem:before{transition:none}}@media(max-width:900px){.xpItem{gap:20px;grid-template-columns:1fr;padding:40px 0}.xpItem.current:before,.xpItem:hover:before{width:72px}.xpAside{align-items:baseline;flex-direction:row;flex-wrap:wrap;gap:4px 14px;padding-top:0}.xpType{margin-top:0}.xpFooter{gap:48px;grid-template-columns:1fr}}@media(max-width:640px){.xp{padding:0 16px;width:100%}.xpHeader{padding:32px 0 44px}.xpStats{flex-wrap:nowrap}.xpStat{flex:1 1 auto;padding:0 12px}.xpStat dt{font-size:1.2rem}.xpStat dd{font-size:.68rem}.xpProjectGrid{gap:22px;grid-template-columns:1fr}}@media(max-width:500px){.experienceBackground{margin-bottom:80px;margin-top:14px;padding-bottom:32px}.xpAside{flex-direction:column;gap:4px}}.inputTextArea{background-color:#fff0;border:none;color:var(--text-color);flex-grow:0.97;font-size:18px;margin-block:5px;overflow:auto;place-self:center;resize:none}.inputTextArea:focus{border:none;outline:none}.fullChatSpace{display:flex;height:100%;place-content:center;width:100%;z-index:4}.chatBox,.fullChatSpace{background-color:var(--chat-background-color)}.chatBox{color:var(--text-color);display:flex;flex-direction:column;flex-grow:1;height:100vh;overflow:hidden;transition-duration:.2s;transition-property:width;transition-timing-function:ease-in-out;width:min(100%,1000px)}.chatBox.disconnected{place-content:center;place-items:center}.barChatBox{background-color:var(--bar-color);color:var(--text-color);display:flex;height:30px;place-content:center;place-items:center}.historySpaceChatBox{background-color:var(--chat-background-color);color:var(--text-color);display:flex;flex-grow:1;height:1px;margin-bottom:10px}.historySpaceChatBoxContent{display:flex;flex-direction:column;flex-grow:1;height:100%;margin-block:10px;margin-inline:10px;overflow-y:auto}.inputMessageSpace{width:100%}.inputMessageSpaceContent{background-color:var(--input-message-backgroundcolor);border-radius:15px;bottom:10px;box-shadow:0 -1px 5px 3px #0000004d;display:flex;gap:5px;margin-left:2%;margin-right:2%;padding-top:5px;place-content:center;place-items:flex-end;position:fixed;width:96%}.inputMessage{background-color:#fff0;border:none;color:var(--text-color);flex-grow:0.9;font-size:18px;overflow:auto;place-self:center;resize:none}.inputMessage:focus{border:none;outline:none}.buttonSendMesage{aspect-ratio:1/1;background-color:#fff0;border:none;cursor:pointer;height:35px;opacity:.8;scale:1;transition-duration:.2s;transition-property:scale,opacity;transition-timing-function:ease-in-out}.buttonSendMesage:hover{opacity:1;scale:1.1}.backButton{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--bar-color);border:1px solid color-mix(in srgb,var(--text-color) 14%,#0000);border-radius:50%;color:color-mix(in srgb,var(--text-color) 70%,#0000);cursor:pointer;height:36px;left:14px;padding:8px;position:fixed;top:10px;transition:color .18s ease,border-color .18s ease;width:36px;z-index:1}.backButton:hover{border-color:var(--default-highlight-color);color:var(--text-color)}.line{background-color:var(--line-color);height:1px;width:100%}.waitMessage{border-radius:50px;border-radius:30px;display:flex;flex-direction:column;height:25px;margin-top:10px;overflow:hidden;place-content:center;place-items:center;place-self:center;width:120px}.waitMessageFloat{width:200px}.userMessage{background-color:var(--my-messages-background-color);background-image:linear-gradient(180deg,#0c81af,#00f7ff);border-radius:5px;color:#000;padding:10px}.serverMessage{background-color:#0000;border-radius:5px;display:flex;flex-direction:column;margin-bottom:5px;padding:5px}.headerServer{margin-bottom:20px}.projectsMessagesView{display:flex;gap:20px;margin-bottom:20px;margin-top:20px;overflow-x:auto;padding:10px}.projectMessage{background-color:var(--projects-background-color);background-color:#282828;border-radius:0;border-radius:10px;box-shadow:0 0 5px #76d8ff4d;box-shadow:5px 5px 10px #0003;cursor:pointer;display:flex;flex-direction:column;min-width:min(230px,90%);padding:10px;transition-duration:.2s;transition-property:scale;transition-timing-function:ease-in-out;width:min(280px,50vw)}.projectMessage:hover{scale:1.02}.boxProjectMessage,.imageProjectOverview{aspect-ratio:4/3;width:100%}.imageProjectOverview{border-top-left-radius:7px;border-top-right-radius:7px}
/*# sourceMappingURL=main.b2630d44.css.map*/