@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #fafafa;--color-text: #18181b;--color-text-heading: #3f3f46;--color-text-muted: #52525b;--color-text-soft: #686870;--color-link: #40404aee;--color-link-hover: hsl(240, 10%, 17%);--color-accent: #7bafff;--color-accent-hover: #303167a9;--color-success: #0cce6b;--color-border: #e4e4e7;--color-border-soft: #cfcfd1;--color-border-strong: #e5e7eb;--color-card-line: #e2e2e2;--color-surface: #ffffff;--color-surface-alt: #fafbfc;--color-surface-muted: #f5f5f5;--color-surface-soft: #f4f4f5be;--color-quote-bg: #f9f9f9;--color-quote-border: #cccccc;--color-icon: #777777fb;--color-icon-hover: #030303bb;--color-button-shadow: rgba(27, 31, 35, .04) 0 1px 0, rgba(255, 255, 255, .25) 0 1px 0 inset;--color-button-active: #edeff2;--color-button-active-shadow: rgba(225, 228, 232, .2) 0 1px 0 inset;--color-outline: rgba(27, 31, 35, .15);--color-project-link: #000000;--color-shadow: 0 0 2px 1px #e2e2e2;--color-image-shadow: 0 .5px 10px .5px rgba(0, 0, 0, .25);--color-mobile-menu-shadow: 0 8px 32px rgba(0, 0, 0, .12);--color-pixel-card-bg: #222222;--color-pixel-card-border: #ffffff;--color-pixel-card-text: #ffffff;--color-pixel-overlay-bg: #111111;--color-pixel-overlay-text: #ffffff}html[data-theme=dark]{--color-bg: #18181b;--color-text: #fafafa;--color-text-heading: #f4f4f5;--color-text-muted: #d4d4d8;--color-text-soft: #a1a1aa;--color-link: #f4f4f5;--color-link-hover: #ffffff;--color-accent: #7bafff;--color-accent-hover: #a9c9ff;--color-success: #4ade80;--color-border: #3f3f46;--color-border-soft: #52525b;--color-border-strong: #3f3f46;--color-card-line: #3f3f46;--color-surface: #27272a;--color-surface-alt: #232326;--color-surface-muted: #232326;--color-surface-soft: #303034;--color-quote-bg: #232326;--color-quote-border: #52525b;--color-icon: #d4d4d8;--color-icon-hover: #ffffff;--color-button-shadow: rgba(0, 0, 0, .35) 0 1px 0, rgba(255, 255, 255, .04) 0 1px 0 inset;--color-button-active: #3f3f46;--color-button-active-shadow: rgba(0, 0, 0, .25) 0 1px 0 inset;--color-outline: rgba(255, 255, 255, .16);--color-project-link: #fafafa;--color-shadow: 0 0 0 1px rgba(255, 255, 255, .08);--color-image-shadow: 0 .5px 10px .5px rgba(0, 0, 0, .55);--color-mobile-menu-shadow: 0 8px 32px rgba(0, 0, 0, .35);--color-pixel-card-bg: #232326;--color-pixel-card-border: #3f3f46;--color-pixel-card-text: #fafafa;--color-pixel-overlay-bg: #111111;--color-pixel-overlay-text: #fafafa}body{margin:0;padding:0;min-height:100vh;max-width:100vw;font-family:Poppins;font-weight:400;color:var(--color-text);background-color:var(--color-bg);background-image:url(/noise.png);background-size:200px;transition:background-color .2s ease,color .2s ease}a,button,svg,path{transition:color .2s ease,fill .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}:where(a,button,summary):focus-visible{outline:2px solid var(--color-text-heading);outline-offset:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--skeleton-base: #e9e9ec;--skeleton-shine: #f7f7f8}html[data-theme=dark]{--skeleton-base: #303034;--skeleton-shine: #414147}.loading-skeleton{width:100%}.loading-skeleton-item{display:flex;gap:15px;min-width:0}.skeleton-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:12px;padding-top:5px}.skeleton-surface,html .project-skeleton-block{display:block;background:linear-gradient(100deg,var(--skeleton-base) 25%,var(--skeleton-shine) 45%,var(--skeleton-base) 65%);background-size:250% 100%;animation:skeleton-shine 2s ease-in-out infinite}.skeleton-avatar{width:56px;height:56px;border-radius:7px;flex-shrink:0}.skeleton-line{height:14px;border-radius:5px;width:100%}.skeleton-line--heading{height:20px;width:55%}.skeleton-line--short{width:72%}.loading-skeleton--experience{display:contents}.loading-skeleton--experience .loading-skeleton-item{min-height:150px}.loading-skeleton--page{max-width:680px;padding:24px 0}.loading-skeleton--text{padding:20px}@keyframes skeleton-shine{0%{background-position:150% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){html .skeleton-surface,html .project-skeleton-block{animation:none}}.portfolio-header{position:sticky;top:0;z-index:50;width:100%;background:color-mix(in srgb,var(--color-bg) 80%,white);background-image:url(/noise.png);background-size:200px;border-bottom:1px solid var(--color-border)}html[data-theme=dark] .portfolio-header{background-color:color-mix(in srgb,var(--color-bg) 80%,black)}.portfolio-nav{width:min(1120px,calc(100% - 48px));min-height:84px;margin-inline:auto;display:flex;align-items:center;gap:24px;justify-content:space-between}.nav-name{font:24px/1 incognito-medium;color:var(--color-text-heading);text-decoration:none}.nav-name span{color:var(--color-accent)}.section-navigation{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:10px;background:transparent}.section-navigation a{padding:10px 16px;font:14px/1.4 incognito-medium;color:var(--color-text-muted);text-decoration:none;border-radius:6px}.section-navigation a:hover,.section-navigation a[aria-current]{background:var(--color-surface-muted);color:var(--color-text-heading)}.skip-link{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link:focus{top:8px;left:8px;padding:12px;width:auto;height:auto;clip-path:none;background:var(--color-surface);color:var(--color-text);z-index:60}@media (max-width: 660px){.portfolio-nav{width:calc(100% - 32px);display:grid;grid-template-columns:1fr auto;gap:12px;padding-block:14px}.section-navigation{grid-row:2;grid-column:1 / -1;justify-content:space-between}.section-navigation a{padding:9px 12px;font-size:13px}.portfolio-nav .theme-toggle-button{grid-row:1;grid-column:2}.nav-name{font-size:22px}}@media (max-width: 360px){.section-navigation a{padding-inline:8px;font-size:12px}}.pixelated-image-card{background-color:var(--color-pixel-card-bg);color:var(--color-primary, var(--color-pixel-card-text));border-radius:15px;border:2px solid var(--color-pixel-card-border);width:300px;max-width:100%;position:relative;overflow:hidden;box-shadow:var(--color-shadow)}.pixelated-image-card__default,.pixelated-image-card__active,.pixelated-image-card__pixels{width:100%;height:100%;position:absolute;top:0;left:0}.pixelated-image-card__active{z-index:2;display:none}.pixelated-image-card__pixels{pointer-events:none;position:absolute;z-index:3;top:0;left:0;width:100%;height:100%}.pixelated-image-card__pixel{display:none;position:absolute}.experience-card{display:flex;gap:24px;min-width:0;padding:24px 0;border-bottom:1px solid var(--color-border)}.experience-card:first-child{padding-top:0}.experience-card:last-child{padding-bottom:0;border-bottom:0}.experience-card .card-image{display:flex;justify-content:center;width:56px;height:56px;padding:9px;flex-shrink:0;border:1px solid var(--color-border);border-radius:7px;background-color:var(--color-surface)}.experience-card .card-image img{width:100%;height:100%;object-fit:contain;border-radius:0}.experience-card .card-image-filled{padding:0}.experience-card .card-image-filled img{object-fit:cover;border-radius:7px}.experience-card .details{min-width:0}.experience-card .details h3{font-size:20px;font-family:incognito-medium;font-weight:100;margin-bottom:5px}.experience-card .details p:nth-child(2){font-family:incognito-regular;font-weight:400;font-size:15px;margin:6px 0}.experience-card .details p:nth-child(3){font-family:gitlab;font-weight:300;color:var(--color-text-soft);font-size:11px;margin-bottom:8px}.experience-card .details p:nth-child(4){font-family:incognito-regular;font-weight:400;font-size:15px;line-height:1.6;color:var(--color-text-muted)}.experience-card .details .present{color:var(--color-success);font-weight:400}@media (max-width: 768px){.experience-card{min-width:unset;width:100%}}@media (max-width: 600px){.experience-card{gap:16px}}.Home-Container .experience-section{border-top:1px solid var(--color-border);padding-top:30px;font-family:incognito-regular}.experience-section .editorial-label{color:var(--color-text-soft);font:11px/1.6 gitlab,monospace;letter-spacing:.07em;text-transform:uppercase}.experience-section .section-heading{margin-bottom:30px}.experience-section h2{font:400 clamp(1.65rem,3vw,2.2rem)/1.25 "incognito-medium";letter-spacing:-.025em;color:var(--color-text-heading);margin-top:10px}.experience-section .editorial-status{color:var(--color-text-muted);padding-block:24px}.experience-index{display:grid;gap:0;max-width:850px}.project-wrapper{display:grid}.project-wrapper .project-link{text-decoration:none;color:var(--color-project-link)}.project-wrapper .project-card{height:100%;outline:none;transition:border-color .2s ease;display:flex;gap:20px;padding:20px 15px;background-color:var(--color-surface);border-radius:10px;box-shadow:var(--color-shadow)}.project-wrapper .project-card .project-image{display:flex;justify-content:center;align-items:center;width:50px;height:50px;padding:8px;border-radius:7px;background-color:var(--color-surface-soft)}.project-wrapper .project-card .project-image img{width:45px;height:45px}.project-card .project-infos .title{font-family:incognito-regular;font-size:17px;font-weight:100;letter-spacing:.025rem}.project-card .project-infos .short_description{font-family:Inter;font-weight:400;font-size:14px;color:var(--color-text-muted)}.project-card .project-infos{display:flex;flex-direction:column;gap:7px}.single-page{display:flex;flex-direction:column;gap:76px;min-width:0}.profile-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;align-items:center;padding-block:8px 4px}.profile-location,.section-kicker{font:11px/1.6 gitlab;color:var(--color-text-soft)}.profile-location{display:flex;align-items:center;gap:12px}.profile-copy h1{font:400 clamp(2.5rem,4.5vw,3.6rem)/1.13 "incognito-medium";letter-spacing:-.025em;color:var(--color-text-heading);margin:22px 0}.name-period{color:var(--color-accent)}.profile-lead{font:18px/1.6 incognito-medium;color:var(--color-text-heading);margin-bottom:14px}.profile-description{max-width:52ch;font:15px/1.85 Poppins,sans-serif;color:var(--color-text-muted)}.profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}.primary-link{display:inline-flex;align-items:center;gap:20px;background:var(--color-text-heading);color:var(--color-bg);border-radius:6px;padding:12px 18px;font:14px/1.5 incognito-medium;text-decoration:none}.primary-link:hover{background:var(--color-text)}.text-link{font:14px/1.5 incognito-medium;color:var(--color-text-muted);text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.profile-image{width:300px;max-width:100%;justify-self:center}.profile-image img{width:100%;height:100%;object-fit:cover;display:block}.workspace-overlay{width:100%;height:100%;display:grid;place-items:center;background-color:var(--color-pixel-overlay-bg)}.workspace-overlay p{font-weight:900;font-size:2rem;color:var(--color-pixel-overlay-text)}.page-section{scroll-margin-top:112px;border-top:1px solid var(--color-border);padding-top:32px;min-width:0}.page-section:focus{outline:none}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:26px}.section-intro h2,.contact-copy h2{font:400 clamp(1.8rem,3vw,2.3rem)/1.3 "incognito-medium";color:var(--color-text-heading);margin-top:10px}.section-intro>p{max-width:36ch;font-size:13px;line-height:1.8;color:var(--color-text-muted)}.single-page .project-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.single-page .project-card{padding:24px;gap:16px;border:1px solid var(--color-border);box-shadow:none;border-radius:8px}.single-page .project-card:hover{border-color:var(--color-border-soft)}.single-page .project-image{flex:0 0 48px;width:48px;height:48px;padding:4px;background:transparent}.single-page .project-image img{width:40px;height:40px;object-fit:contain}.single-page .project-infos{min-width:0}.single-page .project-infos .title{font-family:incognito-medium;font-size:18px}.single-page .project-infos .short_description{font-family:Poppins,sans-serif;font-size:13px;line-height:1.8}.single-page .repository-initial{width:40px;height:40px;font-size:20px}.collection-toggle{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;padding:16px;margin-top:16px;border:1px dashed var(--color-border-soft);border-radius:8px;background:transparent;color:var(--color-text-muted);font:14px/1.5 incognito-medium;cursor:pointer}.collection-toggle:hover{background:var(--color-surface);color:var(--color-text-heading)}.section-status{padding-block:24px;color:var(--color-text-muted);font-size:14px}.single-page .loading-skeleton--experience{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.single-page .experience-index .loading-skeleton--experience{grid-template-columns:1fr}.activity-disclosure{margin-top:24px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.activity-disclosure>summary{position:relative;display:flex;align-items:center;gap:16px;padding:18px 22px;overflow:hidden;list-style:none;cursor:pointer;color:var(--color-text-heading);border-radius:7px;transition:background-color .25s ease,box-shadow .25s ease}.activity-disclosure>summary::-webkit-details-marker{display:none}.activity-disclosure>summary:hover,.activity-disclosure>summary:focus-visible{background:color-mix(in srgb,var(--color-success) 5%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-success) 35%,transparent)}.activity-preview{display:grid;grid-template-columns:repeat(4,6px);gap:3px;flex-shrink:0;padding:9px 6px;border-radius:6px;background:var(--color-surface-muted)}.activity-preview>span{width:6px;height:6px;border-radius:1px;background:var(--color-border-soft);transition:background-color .25s ease}.activity-preview>span:nth-child(3n),.activity-preview>span:nth-child(7){background:color-mix(in srgb,var(--color-success) 65%,var(--color-surface))}.activity-disclosure>summary:hover .activity-preview>span,.activity-disclosure>summary:focus-visible .activity-preview>span{animation:activity-tile-wave .7s ease both;animation-delay:calc(var(--tile-index) * 35ms)}@keyframes activity-tile-wave{0%{transform:translateY(0)}45%{transform:translateY(-3px);background:var(--color-success);box-shadow:0 0 7px color-mix(in srgb,var(--color-success) 65%,transparent)}to{transform:translateY(0);background:var(--color-success)}}.activity-summary-copy{display:grid;gap:4px;min-width:0}.activity-summary-copy strong{font:400 15px/1.5 incognito-medium}.activity-summary-copy>span{font:11px/1.6 gitlab;color:var(--color-text-soft)}.activity-action{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto;font:11px/1.5 gitlab;color:var(--color-text-muted)}.activity-toggle-mark{position:relative;width:30px;height:30px;border:1px solid var(--color-border);border-radius:50%;transition:background-color .25s ease,border-color .25s ease,transform .25s ease}.activity-toggle-mark:before,.activity-toggle-mark:after{content:"";position:absolute;width:10px;height:1.5px;left:9px;top:13px;background:currentColor;transition:transform .25s ease}.activity-toggle-mark:after{transform:rotate(90deg)}.activity-disclosure>summary:hover .activity-toggle-mark,.activity-disclosure>summary:focus-visible .activity-toggle-mark{background:var(--color-success);border-color:var(--color-success);color:var(--color-bg);transform:rotate(90deg)}.activity-close-label,.activity-disclosure[open] .activity-open-label{display:none}.activity-disclosure[open] .activity-close-label{display:inline}.activity-disclosure[open] .activity-toggle-mark:after{transform:rotate(0)}.activity-disclosure[open]>summary:hover .activity-toggle-mark,.activity-disclosure[open]>summary:focus-visible .activity-toggle-mark{transform:none}@media (max-width: 420px){.activity-disclosure>summary{padding:16px;gap:12px}.activity-summary-copy>span{font-size:10px}.activity-action>.activity-open-label,.activity-action>.activity-close-label{display:none}}.single-page .contact-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;padding:36px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.contact-copy>p:not(.section-kicker){margin-block:16px 24px;max-width:38ch;font-size:14px;line-height:1.8;color:var(--color-text-muted)}.contact-address{font:16px/1.6 incognito-medium;color:var(--color-text-heading);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-resources{border-left:1px solid var(--color-border);padding-left:36px}.contact-resources h3{font:12px/1.6 gitlab;color:var(--color-text-soft);font-weight:400;margin-bottom:12px}.contact-socials{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:28px}.contact-socials a{font:14px/1.6 incognito-medium;color:var(--color-text-muted);text-decoration:none}.contact-socials a:hover{text-decoration:underline;text-underline-offset:4px}@media (min-width: 1024px){.single-page .project-wrapper{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.profile-intro{gap:32px}.profile-copy h1{font-size:2.7rem}.single-page .project-card{padding:20px}}@media (max-width: 660px){.single-page{gap:52px}.profile-intro{grid-template-columns:1fr;gap:30px}.profile-copy h1{font-size:clamp(2.4rem,9vw,3.2rem)}.section-intro{flex-direction:column;align-items:start;gap:16px}.section-intro>p{max-width:100%}.page-section{scroll-margin-top:160px}.single-page .project-wrapper,.single-page .loading-skeleton--experience{grid-template-columns:1fr}.single-page .contact-panel{grid-template-columns:1fr;padding:24px;gap:28px}.contact-resources{border-left:0;border-top:1px solid var(--color-border);padding:24px 0 0}}.repository-initial{display:grid;place-items:center;width:50px;height:50px;border-radius:7px;color:var(--color-text-heading);background:var(--color-surface-muted);font-family:incognito-regular;font-size:24px}.contribution-detail .contribution-back{font-size:14px;color:var(--color-text-muted)}.contribution-detail .title-and-url{gap:20px}.contribution-detail .contribution-title{display:flex;align-items:center;gap:16px;min-width:0}.contribution-detail .contribution-logo{width:50px;height:50px;object-fit:contain;flex-shrink:0;border-radius:7px}.contribution-detail .contribution-title .repository-initial{flex-shrink:0}.contribution-detail .contribution-title h1{overflow-wrap:anywhere;min-width:0}@font-face{font-family:incognito-medium;src:url(/font/incognito_medium.woff2) format("woff2")}@font-face{font-family:incognito-bold;src:url(/font/incognito_bold.woff2) format("woff2")}@font-face{font-family:incognito-regular;src:url(/font/incognito_regular.woff2) format("woff2")}@font-face{font-family:incognito-condensed;src:url(/font/incognito_condensed.woff2) format("woff2")}@font-face{font-family:gitlab;src:url(/font/gitlab-mono.woff2) format("woff2")}#link{color:var(--color-link);text-decoration:none}#link:hover{color:var(--color-link-hover)}.app-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:0}.content{flex:1;width:min(1120px,calc(100% - 48px));padding:60px 0 72px}.not-found-page{display:grid;gap:12px;min-height:40vh;align-content:center}.not-found-kicker{color:var(--color-text-soft);font-family:gitlab;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.not-found-page h1{font-family:incognito-medium;font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--color-text-heading)}.not-found-page p{max-width:42ch;color:var(--color-text-muted)}.theme-toggle-button{display:inline-flex;align-items:center;justify-content:center;height:42px;width:42px;padding:0;flex-shrink:0;border:.5px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-heading);font-family:incognito-medium;font-size:1.3rem;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.theme-toggle-button span{display:flex;align-items:center;justify-content:center;transform-origin:center}.theme-toggle-button span.is-rotating{animation:theme-toggle-rotate .45s ease}@keyframes theme-toggle-rotate{0%{transform:rotate(180deg) scale(1)}to{transform:rotate(360deg)}}@media (max-width: 660px){.content{width:calc(100% - 32px);padding:36px 0 48px}}.content:focus{outline:none}
