.KYlPCW_back-to-top__marker{pointer-events:none;width:1px;height:1px;position:absolute;top:90vh;left:0}.KYlPCW_back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:9;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);width:44px;height:44px;color:var(--accent);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;place-items:center;transition:border-color .25s,transform .2s;display:grid;position:fixed}.KYlPCW_back-to-top svg{width:16px;height:16px}@media (hover:hover){.KYlPCW_back-to-top:hover{border-color:var(--accent);transform:translateY(-2px)}}.KYlPCW_back-to-top:focus-visible{border-color:var(--accent);transform:translateY(-2px)}@media (min-width:1024px){.KYlPCW_back-to-top{display:none}}
._4L8YwW_scroll-state{pointer-events:none;width:1px;height:8px;position:absolute;top:0;left:0}
.Ta2g5a_atmosphere{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.Ta2g5a_atmosphere__glow{background:radial-gradient(circle, color-mix(in srgb, var(--glow-1) 7%, transparent) 0%, color-mix(in srgb, var(--glow-2) 3.5%, transparent) 35%, transparent 65%);width:70vmax;height:70vmax;opacity:var(--glow-o);border-radius:50%;animation:26s ease-in-out infinite alternate Ta2g5a_drift;position:absolute;top:-30vmax;right:-20vmax}:root[data-motion=off] .Ta2g5a_atmosphere__glow{animation-play-state:paused}@keyframes Ta2g5a_drift{0%{transform:translate(0)scale(1)}to{transform:translate(-12vmax,10vmax)scale(1.15)}}.Ta2g5a_atmosphere__grain{opacity:var(--grain-o);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}
.avYSIW_motion-toggle{color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;padding:0;font-size:13px;line-height:1.65;transition:color .2s;display:inline-flex}.avYSIW_motion-toggle svg{width:11px;height:11px}.avYSIW_motion-toggle{position:relative}.avYSIW_motion-toggle:after{content:"";position:absolute;inset:-8px 0}.avYSIW_motion-toggle:not([data-ready]){visibility:hidden}@media (hover:hover){.avYSIW_motion-toggle:hover{color:var(--text)}}.avYSIW_motion-toggle:focus-visible{color:var(--text)}html:not(.js) .avYSIW_motion-toggle{display:none}@media (prefers-reduced-motion:reduce){.avYSIW_motion-toggle{display:none}}.avYSIW_motion-toggle__play{display:none}:root[data-motion=off] .avYSIW_motion-toggle__pause{display:none}:root[data-motion=off] .avYSIW_motion-toggle__play{display:revert}
.EzUeIG_footer{color:var(--faint);padding:70px 0 40px;font-size:13px}.EzUeIG_footer__row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding-top:22px;display:flex}.EzUeIG_footer__meta{font-family:var(--font-mono),ui-monospace,monospace;flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}
.D77SQa_cv-link{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;text-decoration:none;transition:color .25s,border-color .25s,background-color .25s;display:inline-flex}@media (hover:hover){.D77SQa_cv-link:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}}.D77SQa_cv-link:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}@media not (min-width:360px){.D77SQa_cv-link{padding:6px 9px;font-size:11px}}.D77SQa_cv-link--social{padding:9px 18px;font-size:13px;transition:color .25s,border-color .25s,transform .2s}@media (hover:hover){.D77SQa_cv-link--social:hover{background:0 0;transform:translateY(-2px)}}.D77SQa_cv-link--social:focus-visible{background:0 0;transform:translateY(-2px)}.D77SQa_cv-link__arrow{width:12px;height:12px}
.fcC6Ba_locale-switcher{gap:3px;display:flex}@media not (min-width:360px){.fcC6Ba_locale-switcher{gap:1px}}.fcC6Ba_locale-switcher__link{color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;border-radius:7px;padding:6px 9px;font-size:12px;line-height:1.65;text-decoration:none;transition:color .2s,background-color .2s;display:inline-block;position:relative}.fcC6Ba_locale-switcher__link:after{content:"";position:absolute;inset:-8px 0}@media (hover:hover){.fcC6Ba_locale-switcher__link:hover{color:var(--text)}}.fcC6Ba_locale-switcher__link:focus-visible{color:var(--text)}.fcC6Ba_locale-switcher__link[aria-current=page]{background:var(--accent-soft);color:var(--accent)}@media not (min-width:360px){.fcC6Ba_locale-switcher__link{padding:5px 6px;font-size:11.5px}}.fcC6Ba_locale-switcher__name{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.eL2Eha_section-nav{flex-direction:column;display:flex}.eL2Eha_section-nav__link{color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:14px;padding:7px 0;font-size:12px;text-decoration:none;transition:color .25s;display:flex}@media (hover:hover){.eL2Eha_section-nav__link:hover{color:var(--text)}.eL2Eha_section-nav__link:hover .eL2Eha_section-nav__bar{background:var(--accent);width:64px}}.eL2Eha_section-nav__link:focus-visible{color:var(--text)}.eL2Eha_section-nav__link:focus-visible .eL2Eha_section-nav__bar{background:var(--accent);width:64px}.eL2Eha_section-nav__link[aria-current=location]{color:var(--text)}.eL2Eha_section-nav__link[aria-current=location] .eL2Eha_section-nav__bar{background:var(--accent);width:64px}.eL2Eha_section-nav--sheet .eL2Eha_section-nav__link{padding:13px 0;font-size:13px}.eL2Eha_section-nav__bar{background:var(--faint);flex-shrink:0;width:34px;height:1px;transition:width .3s,background-color .3s}
.WyVsDq_theme-toggle{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;padding:7px 9px;transition:color .2s,background-color .2s;display:inline-grid;position:relative}.WyVsDq_theme-toggle:after{content:"";position:absolute;inset:-8px 0}.WyVsDq_theme-toggle:not([data-ready]){visibility:hidden}@media (hover:hover){.WyVsDq_theme-toggle:hover{color:var(--text)}}.WyVsDq_theme-toggle:focus-visible{color:var(--text)}.WyVsDq_theme-toggle:active{background:var(--accent-soft)}@media not (min-width:360px){.WyVsDq_theme-toggle{padding:6px}}.WyVsDq_theme-toggle__sun,.WyVsDq_theme-toggle__moon{width:16px;height:16px}html:not(.js) .WyVsDq_theme-toggle{display:none}:is(:root[data-theme=light] .WyVsDq_theme-toggle__sun,:root[data-theme=dark] .WyVsDq_theme-toggle__moon){display:none}
@keyframes vH5zBW_pulse{50%{opacity:.35}}.vH5zBW_status-line{color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;align-items:center;gap:8px;font-size:12px;display:flex}.vH5zBW_status-line__dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 8px color-mix(in srgb, var(--ok) 70%, transparent);border-radius:50%;flex-shrink:0;animation:2.4s ease-in-out infinite vH5zBW_pulse}:root[data-motion=off] .vH5zBW_status-line__dot{animation:none}
._4mgllW_terminal{color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;-webkit-user-select:none;user-select:none;font-size:13.5px;line-height:2.1}._4mgllW_terminal__line{white-space:pre-wrap;min-height:2.1em}._4mgllW_terminal__prompt{color:var(--accent)}._4mgllW_terminal__home{color:var(--faint)}._4mgllW_terminal--ok ._4mgllW_terminal__output{color:var(--ok)}._4mgllW_terminal--bad ._4mgllW_terminal__output{color:var(--muted)}._4mgllW_terminal__caret{vertical-align:-2px;background:var(--accent);width:8px;height:15px;margin-left:2px;animation:1.1s step-end infinite _4mgllW_blink;display:inline-block}:root[data-motion=off] ._4mgllW_terminal__caret{animation:none}@keyframes _4mgllW_blink{50%{opacity:0}}
.pEsOUa_top-bar{z-index:10;min-height:60px;padding:max(14px,env(safe-area-inset-top)) calc(50vw - 50%) 14px;justify-content:space-between;align-items:center;gap:10px;margin-inline:calc(50% - 50vw);display:flex;position:sticky;top:0}.pEsOUa_top-bar:before{content:"";z-index:-1;background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #0000;transition:border-color .25s;position:absolute;inset:0}@media (min-width:1024px){.pEsOUa_top-bar{display:none}}.pEsOUa_top-bar--system{padding:max(22px,env(safe-area-inset-top)) 0 22px;margin-inline:0;position:static}.pEsOUa_top-bar--system:before{content:none}@media (min-width:1024px){.pEsOUa_top-bar--system{display:flex}}:root[data-scrolled] .pEsOUa_top-bar:before{border-bottom-color:var(--line)}@supports (-webkit-touch-callout:none){.pEsOUa_top-bar{background:var(--bg)}.pEsOUa_top-bar:before{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}}.pEsOUa_top-bar :where(a,button){scroll-margin-top:-60px}.pEsOUa_top-bar__logo{color:var(--text);font-family:var(--font-display),system-ui,sans-serif;letter-spacing:.06em;font-size:15px;font-weight:700;text-decoration:none;display:inline-block;position:relative}.pEsOUa_top-bar__logo:after{content:"."/"";color:var(--accent)}.pEsOUa_top-bar__name{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pEsOUa_top-bar__controls{align-items:center;gap:10px;display:flex}@media not (min-width:360px){.pEsOUa_top-bar__controls{gap:6px}}.pEsOUa_top-bar__separator{background:var(--line);width:1px;height:16px}:is(.pEsOUa_top-bar__separator:first-child,html:not(.js) .pEsOUa_top-bar__separator){display:none}
.LGkFbq_shell{z-index:2;position:relative;overflow-x:clip}@supports (-webkit-touch-callout:none){.LGkFbq_shell{overflow-x:visible}}.LGkFbq_shell__layout{max-width:720px;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));margin:0 auto}@media (min-width:1024px){.LGkFbq_shell__layout{max-width:1240px;padding:0 max(36px,env(safe-area-inset-right)) 0 max(36px,env(safe-area-inset-left));grid-template-columns:minmax(260px,320px) minmax(0,620px);justify-content:center;gap:64px;display:grid}}@media (min-width:1280px){.LGkFbq_shell__layout{padding:0 max(48px,env(safe-area-inset-right)) 0 max(48px,env(safe-area-inset-left));grid-template-columns:minmax(300px,380px) minmax(0,620px);gap:110px}}.LGkFbq_shell__column{min-width:0}
.VLzsWq_button{font-family:var(--font-body),system-ui,sans-serif;cursor:pointer;border:1px solid #0000;border-radius:12px;padding:13px 26px;font-size:15px;font-weight:700;line-height:1.65;text-decoration:none;transition:transform .2s,box-shadow .25s,background-color .25s,color .25s,border-color .25s;display:inline-block}.VLzsWq_button[data-pointer],.VLzsWq_button[data-pointer]:hover{transition:box-shadow .25s,background-color .25s,color .25s,border-color .25s;transform:none}.VLzsWq_button--primary{background:var(--accent);color:var(--btn-ink)}@media (hover:hover){.VLzsWq_button--primary:hover{box-shadow:0 10px 30px -8px color-mix(in srgb, var(--accent) var(--t-btn-shadow), transparent);transform:translateY(-2px)}}.VLzsWq_button--ghost{border-color:var(--line);color:var(--text);background:0 0}@media (hover:hover){.VLzsWq_button--ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}}
@keyframes _4yFYcW_pulse{50%{opacity:.35}}._4yFYcW_chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;border-radius:99px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;display:inline-flex}._4yFYcW_chip--live{border-color:color-mix(in srgb, var(--ok) var(--t-live-line), transparent);color:var(--ok);white-space:nowrap;background:0 0;padding:4px 10px;font-size:11.5px}._4yFYcW_chip__dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 8px color-mix(in srgb, var(--ok) 70%, transparent);border-radius:50%;flex-shrink:0;animation:2.4s ease-in-out infinite _4yFYcW_pulse}:root[data-motion=off] ._4yFYcW_chip__dot{animation:none}
@keyframes k5_y-q_rise{0%{opacity:.3;transform:translateY(18px)}}.k5_y-q_hero{padding:64px 0 56px}@media (min-width:1024px){.k5_y-q_hero{padding-top:104px}}@media (min-width:1024px) and (max-height:859px){.k5_y-q_hero{padding-top:64px}}@media (min-width:1024px) and (max-height:759px){.k5_y-q_hero{padding-top:56px}}.k5_y-q_hero__sub{max-width:56ch;color:var(--muted);margin-bottom:26px;animation:.7s cubic-bezier(.2,.7,.3,1) .25s backwards k5_y-q_rise}.k5_y-q_hero__chips{flex-wrap:wrap;gap:10px;margin-bottom:34px;list-style:none;animation:.7s cubic-bezier(.2,.7,.3,1) .35s backwards k5_y-q_rise;display:flex}.k5_y-q_hero__actions{flex-wrap:wrap;gap:14px;animation:.7s cubic-bezier(.2,.7,.3,1) .45s backwards k5_y-q_rise;display:flex}
.nV_J2G_section{padding:72px 0 8px}@media (min-width:1024px){.nV_J2G_section{padding-top:88px}}
.KPPnEW_about__paragraph{color:var(--muted);margin-bottom:16px}.KPPnEW_about__languages{color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;margin-top:22px;font-size:12.5px}
.rvjzXq_window-bar{border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;align-items:center;gap:10px;padding:12px 18px;font-size:12.5px;display:flex}.rvjzXq_window-bar--compact{padding:8px 8px 8px 18px}.rvjzXq_window-bar__dots{flex-shrink:0;gap:6px;display:flex}.rvjzXq_window-bar__dot{background:var(--line);border-radius:50%;width:10px;height:10px}.rvjzXq_window-bar__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}
._8rjkLq_diff{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}._8rjkLq_diff__list{list-style:none}._8rjkLq_diff__item{border-bottom:1px solid var(--line);color:var(--muted);gap:14px;padding:15px 18px;font-size:15px;transition:background-color .25s;display:flex}._8rjkLq_diff__item:last-child{border-bottom:none}._8rjkLq_diff__item:before{content:"+"/"";color:var(--ok);font-family:var(--font-mono),ui-monospace,monospace;flex-shrink:0;font-weight:500}@media (hover:hover){._8rjkLq_diff__item:hover{background-color:color-mix(in srgb, var(--ok) 4.5%, transparent)}}._8rjkLq_diff__item:focus-visible{background-color:color-mix(in srgb, var(--ok) 4.5%, transparent)}
.JPAbra_placeholder{background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--line) 60%, transparent) 9px 10px);width:100%;height:100%;color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;text-align:center;place-items:center;line-height:1.4;display:grid;container-type:inline-size}.JPAbra_placeholder__label:before{content:"[ "/""}.JPAbra_placeholder__label:after{content:" ]"/""}@container not (min-width:110px){.JPAbra_placeholder__label:before,.JPAbra_placeholder__label:after{content:none}}
.NcqDia_text-link{color:var(--text);font-family:var(--font-body),system-ui,sans-serif;white-space:nowrap;align-items:center;gap:2px;padding-bottom:3px;font-size:14.5px;font-weight:700;line-height:1.65;text-decoration:none;display:inline-flex;position:relative}.NcqDia_text-link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;transition:transform .3s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}@media (hover:hover){.NcqDia_text-link:hover:after{transform:scaleX(1)}}.NcqDia_text-link:focus-visible:after{transform:scaleX(1)}.NcqDia_text-link--small{font-size:13.5px}.NcqDia_text-link--small .NcqDia_text-link__arrow{width:11px;height:11px}.NcqDia_text-link__arrow{width:12px;height:12px;color:var(--accent);flex-shrink:0;translate:0 1px}.NcqDia_text-link__hint{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.z56aGq_viewer__close{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;transition:color .2s,background-color .2s;display:inline-grid}.z56aGq_viewer__close svg{width:16px;height:16px}@media (hover:hover){.z56aGq_viewer__close:hover{background:var(--accent-soft);color:var(--text)}}.z56aGq_viewer__close:focus-visible{background:var(--accent-soft);color:var(--text)}.z56aGq_viewer__stage{background:var(--bg);flex:1;place-items:center;min-height:0;padding:18px;display:grid}@media not (min-width:640px){.z56aGq_viewer__stage{padding:10px}}.z56aGq_viewer__image{--image-ratio:1.6;width:min(100%,(100dvh - 250px)*var(--image-ratio));max-height:calc(100dvh - 250px);aspect-ratio:var(--image-ratio);border:1px solid var(--line);background:var(--surface);border-radius:10px;font-size:13px;overflow:hidden}.z56aGq_viewer__image--certificate{--image-ratio:1.414;max-width:760px}.z56aGq_viewer__picture{object-fit:contain;width:100%;height:100%;display:block}.z56aGq_viewer__foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px 18px;display:flex}@media not (min-width:640px){.z56aGq_viewer__foot{padding:12px 14px}}.z56aGq_viewer__caption{min-width:0}.z56aGq_viewer__title{color:var(--text);font-size:15.5px;font-weight:600;line-height:1.4}.z56aGq_viewer__meta{color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;overflow-wrap:anywhere;margin-top:2px;font-size:12px}.z56aGq_viewer__actions{align-items:center;gap:18px;display:flex}@media not (min-width:640px){.z56aGq_viewer__actions{justify-content:space-between;width:100%}}.z56aGq_viewer__pager{color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:12.5px;display:flex}.z56aGq_viewer__step{border:1px solid var(--line);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;place-items:center;transition:color .25s,border-color .25s,background-color .25s;display:inline-grid}.z56aGq_viewer__step svg{width:18px;height:18px}@media (hover:hover){.z56aGq_viewer__step:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}}.z56aGq_viewer__step:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.ueTtKW_certifications{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);list-style:none;overflow:hidden}.ueTtKW_certifications__item{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:14px 18px;transition:background-color .25s;display:grid}.ueTtKW_certifications__item:last-child{border-bottom:none}@media (hover:hover){.ueTtKW_certifications__item:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}}.ueTtKW_certifications__item:has(:focus-visible){background:color-mix(in srgb, var(--accent) 4%, transparent)}@media not (min-width:480px){.ueTtKW_certifications__item{grid-template-columns:auto minmax(0,1fr);padding:14px 16px}}.ueTtKW_certifications__text{grid-column:2}.ueTtKW_certifications__thumb{aspect-ratio:1.414;border:1px solid var(--line);background:var(--surface-2);cursor:zoom-in;border-radius:8px;grid-area:1/1;width:78px;padding:0;font-size:9px;transition:border-color .25s,transform .25s;display:block;overflow:hidden}@media (hover:hover){.ueTtKW_certifications__thumb:hover{border-color:color-mix(in srgb, var(--accent) var(--t-card-line), transparent);transform:translateY(-2px)}}.ueTtKW_certifications__thumb:focus-visible{border-color:color-mix(in srgb, var(--accent) var(--t-card-line), transparent);transform:translateY(-2px)}@media not (min-width:480px){.ueTtKW_certifications__thumb{align-self:start;width:64px}.ueTtKW_certifications__item:has(.ueTtKW_certifications__link) .ueTtKW_certifications__thumb{grid-row:1/span 2}}.ueTtKW_certifications__picture{object-fit:cover;width:100%;height:100%;display:block}.ueTtKW_certifications__title{color:var(--text);font-size:15.5px;font-weight:600;line-height:1.4}.ueTtKW_certifications__meta{color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;margin-top:3px;font-size:12px}@media not (min-width:480px){.ueTtKW_certifications__link{grid-column:2;justify-self:start}}
.JTS4Vq_copy-button{border:1px solid var(--line);min-width:38px;height:38px;color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;white-space:nowrap;cursor:pointer;background:0 0;border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.JTS4Vq_copy-button:not([data-ready]){visibility:hidden}.JTS4Vq_copy-button{transition:color .25s,border-color .25s,background-color .25s}.JTS4Vq_copy-button svg{flex-shrink:0;width:16px;height:16px}@media (hover:hover){.JTS4Vq_copy-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}}.JTS4Vq_copy-button:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}html:not(.js) .JTS4Vq_copy-button{display:none}.JTS4Vq_copy-button--done,.JTS4Vq_copy-button--done:hover,.JTS4Vq_copy-button--done:focus-visible{border-color:color-mix(in srgb, var(--ok) var(--t-live-line), transparent);color:var(--ok);background:0 0;padding:0 14px 0 11px}@media not (min-width:360px){.JTS4Vq_copy-button--done,.JTS4Vq_copy-button--done:hover,.JTS4Vq_copy-button--done:focus-visible{padding:0 10px}.JTS4Vq_copy-button__note{display:none}}.JTS4Vq_copy-button__status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.WPKVrq_contact__heading{font-family:var(--font-display),system-ui,sans-serif;letter-spacing:-.01em;margin-bottom:18px;font-size:clamp(22px,5.5vw,30px);font-weight:600;line-height:1.3}.WPKVrq_contact__text{max-width:52ch;color:var(--muted);margin-bottom:26px}.WPKVrq_contact__mail-row{align-items:center;gap:12px;display:flex}.WPKVrq_contact__mail{min-width:0;color:var(--text);font-family:var(--font-display),system-ui,sans-serif;overflow-wrap:anywhere;font-size:clamp(13px,3.7vw,22px);font-weight:600;line-height:1.5;text-decoration:none;transition:color .25s}@media (hover:hover){.WPKVrq_contact__mail:hover{color:var(--accent)}}.WPKVrq_contact__mail:focus-visible{color:var(--accent)}.WPKVrq_contact__socials{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.WPKVrq_contact__social{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;border-radius:99px;padding:9px 18px;font-size:13px;text-decoration:none;transition:color .25s,border-color .25s,transform .2s;position:relative}@media (hover:hover){.WPKVrq_contact__social:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}}.WPKVrq_contact__social:focus-visible{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.WPKVrq_contact__hint{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.AZ7cPa_entry+.AZ7cPa_entry{margin-top:40px}.AZ7cPa_entry__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 18px;margin-bottom:4px;display:flex}.AZ7cPa_entry__title{font-family:var(--font-display),system-ui,sans-serif;letter-spacing:-.005em;font-size:clamp(17px,4.7vw,19px);font-weight:600;line-height:1.35}.AZ7cPa_entry__period{color:var(--faint);font-family:var(--font-mono),ui-monospace,monospace;white-space:nowrap;font-size:12.5px}.AZ7cPa_entry__organisation{color:var(--muted);margin-bottom:14px;font-size:15px}.AZ7cPa_entry__organisation:last-child{margin-bottom:0}.AZ7cPa_entry__organisation b{color:var(--text);font-weight:600}
._0kDpaW_bullet-list{list-style:none}._0kDpaW_bullet-list__item{color:var(--muted);gap:12px;padding:5px 0;font-size:14.5px;display:flex}._0kDpaW_bullet-list__item:before{content:"▸"/"";color:var(--accent);flex-shrink:0}
._69I2wG_tag-list{flex-wrap:wrap;gap:8px;list-style:none;display:flex}._69I2wG_tag-list__item{border:1px solid color-mix(in srgb, var(--accent) var(--t-tag-line), transparent);background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono),ui-monospace,monospace;border-radius:99px;padding:4px 10px;font-size:11.5px}
.h3Fk_G_experience__text{color:var(--muted)}.h3Fk_G_experience__bullets{margin:10px 0 18px}
.mUiMRW_project-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-2), var(--surface));padding:28px 26px;transition:transform .25s,border-color .3s,box-shadow .3s;position:relative}.mUiMRW_project-card[data-pointer]{will-change:transform;transition:border-color .3s,box-shadow .3s}.mUiMRW_project-card+.mUiMRW_project-card{margin-top:24px}@media (hover:hover){.mUiMRW_project-card:hover{border-color:color-mix(in srgb, var(--accent) var(--t-card-line), transparent);box-shadow:0 24px 60px -24px color-mix(in srgb, var(--accent) var(--t-card-shadow), transparent);transform:translateY(-4px)}}.mUiMRW_project-card:focus-visible{border-color:color-mix(in srgb, var(--accent) var(--t-card-line), transparent);box-shadow:0 24px 60px -24px color-mix(in srgb, var(--accent) var(--t-card-shadow), transparent);transform:translateY(-4px)}@media not (min-width:480px){.mUiMRW_project-card{padding:24px 20px}}.mUiMRW_project-card__glare{border-radius:inherit;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0%), color-mix(in srgb, var(--accent) 9%, transparent), transparent 60%);opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}[data-tilting]>.mUiMRW_project-card__glare{opacity:1}.mUiMRW_project-card__top{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:6px;display:flex}.mUiMRW_project-card__title{font-family:var(--font-display),system-ui,sans-serif;font-size:21px;font-weight:600;line-height:1.35}.mUiMRW_project-card__description{color:var(--muted);margin:10px 0 16px}.mUiMRW_project-card__shots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 4px;list-style:none;display:grid}@media not (min-width:480px){.mUiMRW_project-card__shots{gap:8px}}.mUiMRW_project-card__shot{aspect-ratio:16/10;border:1px solid var(--line);background:var(--surface);cursor:zoom-in;border-radius:10px;width:100%;padding:0;font-size:11px;transition:border-color .25s,transform .25s;display:block;overflow:hidden}@media (hover:hover){.mUiMRW_project-card__shot:hover{border-color:color-mix(in srgb, var(--accent) var(--t-card-line), transparent);transform:translateY(-2px)}}.mUiMRW_project-card__shot:focus-visible{border-color:color-mix(in srgb, var(--accent) var(--t-card-line), transparent);transform:translateY(-2px)}.mUiMRW_project-card__picture{object-fit:cover;width:100%;height:100%;display:block}.mUiMRW_project-card__story{border-left:2px solid var(--accent);color:var(--muted);margin:18px 0;padding:2px 0 2px 16px;font-size:14.5px}.mUiMRW_project-card__bullets{margin:16px 0 20px}.mUiMRW_project-card__tags{margin-bottom:22px}.mUiMRW_project-card__links{flex-wrap:wrap;gap:8px 18px;display:flex}
@keyframes aaRs6a_rise{0%{opacity:.3;transform:translateY(18px)}}.aaRs6a_marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;padding:10px 0 8px;animation:.7s cubic-bezier(.2,.7,.3,1) .55s backwards aaRs6a_rise;-webkit-mask-image:linear-gradient(90deg,#0000,currentColor 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,currentColor 12% 88%,#0000)}.aaRs6a_marquee__row{display:flex;overflow:hidden}.aaRs6a_marquee__row:nth-of-type(2n) .aaRs6a_marquee__track{animation-duration:44s;animation-direction:reverse}@media (hover:hover){.aaRs6a_marquee__row:hover .aaRs6a_marquee__track{animation-play-state:paused}}.aaRs6a_marquee__row:active .aaRs6a_marquee__track{animation-play-state:paused}.aaRs6a_marquee__track{flex-shrink:0;justify-content:space-around;min-width:100%;list-style:none;animation:38s linear infinite aaRs6a_scroll;display:flex}:root[data-motion=off] .aaRs6a_marquee__track{animation-play-state:paused}@keyframes aaRs6a_scroll{to{transform:translate(-100%)}}.aaRs6a_marquee__token{color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;white-space:nowrap;cursor:default;padding:12px 18px;font-size:13px;transition:color .25s}.aaRs6a_marquee__token:before{content:"◇ "/"";color:var(--faint);transition:color .25s}@media (hover:hover){.aaRs6a_marquee__token:hover{color:var(--text)}.aaRs6a_marquee__token:hover:before{color:var(--accent)}}@media (prefers-reduced-motion:reduce){.aaRs6a_marquee{-webkit-mask-image:none;mask-image:none}.aaRs6a_marquee__track{flex-wrap:wrap;flex-shrink:1;justify-content:flex-start}.aaRs6a_marquee__track[aria-hidden=true]{display:none}.aaRs6a_marquee__token{padding-block:5px}}
.VxSPea_system-page{z-index:2;max-width:720px;min-height:100dvh;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex;position:relative}.VxSPea_system-page__main{flex-direction:column;flex:1;justify-content:center;padding:40px 0 96px;display:flex}.VxSPea_system-page__label{color:var(--accent);font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.04em;margin-bottom:18px;font-size:13px}.VxSPea_system-page__label:before{content:"// "/""}.VxSPea_system-page__heading{font-family:var(--font-display),system-ui,sans-serif;letter-spacing:-.01em;overflow-wrap:break-word;margin-bottom:20px;font-size:clamp(28px,7.4vw,46px);font-weight:700;line-height:1.15}.VxSPea_system-page__text{max-width:56ch;color:var(--muted);margin-bottom:22px}.VxSPea_system-page__terminal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;white-space:pre-wrap;-webkit-user-select:none;user-select:none;margin-bottom:30px;padding:14px 18px;font-size:13px;line-height:1.9}.VxSPea_system-page__prompt{color:var(--accent)}.VxSPea_system-page__home{color:var(--faint)}.VxSPea_system-page__actions{flex-wrap:wrap;gap:14px;display:flex}
