body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.scroll-reveal{margin:1.25rem 0}.scroll-reveal-text{font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:600;line-height:1.4}.scroll-reveal-word{display:inline-block}.work-experience{color:var(--text-primary);margin-inline:auto;padding-inline:clamp(0rem,2vw,1rem);pointer-events:auto;width:min(100%,64rem)}.work-experience__company{padding-block:1rem}.work-experience__company+.work-experience__company{border-top:1px solid color-mix(in srgb,var(--border) 72%,#0000)}.work-experience__company-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.work-experience__company-logo{align-items:center;background:#fff;border:1px solid color-mix(in srgb,var(--text-primary) 14%,#0000);border-radius:.65rem;display:flex;flex:0 0 2.25rem;height:2.25rem;justify-content:center;overflow:hidden;width:2.25rem}.work-experience__company-logo img{height:100%;object-fit:contain;width:100%}.work-experience__company-logo.is-cover{background:#0000}.work-experience__company-logo.is-cover img{object-fit:cover;object-position:center;transform:scale(1.03)}.work-experience__company-placeholder{background:var(--text-soft);border-radius:50%;height:.55rem;width:.55rem}.work-experience__company-header h3{font-size:1.1rem;font-weight:750;line-height:1.2}.work-experience__company-header a{color:inherit;text-decoration:none}.work-experience__company-header a:hover{color:var(--accent-color)}.work-experience__current{display:grid;height:.75rem;place-items:center;position:relative;width:.75rem}.work-experience__current span,.work-experience__current:before{background:var(--accent-color);border-radius:50%;content:"";position:absolute}.work-experience__current:before{animation:work-experience-ping 1.8s ease-out infinite;height:.75rem;opacity:.35;width:.75rem}.work-experience__current span{height:.45rem;width:.45rem}.work-experience__positions{position:relative}.work-experience__positions:before{background:var(--border);bottom:0;content:"";left:1.1rem;position:absolute;top:0;width:1px}.work-experience__position{position:relative}.work-experience__position:after{background:var(--page-bg);bottom:0;content:"";height:.75rem;left:0;position:absolute;width:2.2rem}.work-experience__position-summary{align-items:flex-start;border-radius:.7rem;cursor:pointer;display:flex;gap:.75rem;list-style:none;padding:.3rem .45rem .45rem 0;position:relative;text-align:left;width:100%;z-index:1}.work-experience__position-summary:before{background:#0000;border-radius:.7rem;content:"";inset:-.25rem -.35rem -.35rem 2.65rem;position:absolute;transition:background .16s ease;z-index:-1}.work-experience__position-summary:hover:before{background:color-mix(in srgb,var(--panel-bg) 82%,var(--text-primary) 5%)}.work-experience__position-summary.is-static{cursor:default}.work-experience__position-summary::-webkit-details-marker{display:none}.work-experience__position-icon{background:var(--panel-bg);border:1px solid color-mix(in srgb,var(--text-soft) 20%,#0000);border-radius:.65rem;box-shadow:0 0 0 3px var(--page-bg);color:var(--text-soft);display:grid;flex:0 0 2.2rem;height:2.2rem;place-items:center;position:relative;width:2.2rem}.work-experience__position-icon svg{height:1rem;width:1rem}.experience-icon--supervisor{color:var(--accent-color);display:grid;height:1.25rem;place-items:center;position:relative;width:1.25rem}.experience-icon--supervisor>svg:first-child{height:1.12rem;width:1.12rem}.experience-icon--supervisor .experience-icon__supervisor-badge{background:var(--page-bg);border:1px solid color-mix(in srgb,var(--accent-color) 55%,var(--page-bg));border-radius:50%;filter:drop-shadow(0 0 .25rem color-mix(in srgb,var(--accent-color) 55%,transparent));height:.68rem;padding:.08rem;position:absolute;right:-.3rem;top:-.28rem;width:.68rem}.work-experience__position-heading{display:flex;flex:1 1;flex-direction:column;gap:.28rem;min-width:0}.work-experience__position-heading strong{color:var(--text-primary);font-size:.95rem;font-weight:650;line-height:1.35}.work-experience__position-meta{align-items:center;color:var(--text-soft);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.45rem}.work-experience__position-meta i{background:var(--border);height:.8rem;width:1px}.work-experience__period{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.work-experience__period b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:400}.work-experience__chevrons{color:var(--text-soft);flex:0 0 auto;height:1rem;margin-top:.2rem;transform:rotate(180deg);transition:transform .18s ease,color .18s ease;width:1rem}.work-experience__chevrons.is-open{color:var(--accent-color);transform:rotate(0deg)}.work-experience__details{overflow:hidden;padding:.15rem 1.8rem .2rem 2.95rem}.work-experience__description{color:var(--text-secondary);font-size:.82rem;line-height:1.6}.work-experience__description p+p{margin-top:.65rem}.work-experience__skills{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:.65rem 0 1rem 2.95rem;position:relative;z-index:1}.work-experience__skills li{background:color-mix(in srgb,var(--panel-bg) 90%,var(--text-primary) 4%);border:1px solid var(--border);border-radius:.4rem;color:var(--text-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;padding:.2rem .48rem}@keyframes work-experience-ping{0%{opacity:.42;transform:scale(.65)}to{opacity:0;transform:scale(1.8)}}@media (max-width:600px){.work-experience{padding-inline:0}.work-experience__position-meta{gap:.35rem}.work-experience__details,.work-experience__skills{padding-left:2.95rem;padding-right:0}}@media (prefers-reduced-motion:reduce){.work-experience__current:before{animation:none}}.pixel-image{height:100%;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.pixel-image__piece{inset:0;opacity:0;position:absolute;transition-property:opacity;transition-timing-function:ease-out}.pixel-image__piece--visible{opacity:1}.pixel-image__image{border-radius:inherit;height:100%;object-fit:cover;width:100%}.pixel-image__image--grayscale{filter:grayscale(1)}.cursor-grid{height:100%;overflow:hidden;position:relative;width:100%}.cursor-grid__canvas{display:block;height:100%;width:100%}.glass-surface{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative;transition:opacity .26s ease-out}.glass-surface__filter{height:100%;inset:0;opacity:0;pointer-events:none;position:absolute;width:100%;z-index:-1}.glass-surface__content{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;padding:.5rem;position:relative;width:100%;z-index:1}.glass-surface--svg{-webkit-backdrop-filter:url(#glass-filter) saturate(1);backdrop-filter:url(#glass-filter) saturate(1);-webkit-backdrop-filter:var(--filter-id,url(#glass-filter)) saturate(var(--glass-saturation,1));backdrop-filter:var(--filter-id,url(#glass-filter)) saturate(var(--glass-saturation,1));background:light-dark(#fff0,#0000);background:light-dark(hsl(0 0% 100%/var(--glass-frost,0)),hsl(0 0% 0%/var(--glass-frost,0)));box-shadow:inset 0 0 2px 1px light-dark(color-mix(in oklch,#000,#0000 85%),color-mix(in oklch,#fff,#0000 65%)),inset 0 0 10px 4px light-dark(color-mix(in oklch,#000,#0000 90%),color-mix(in oklch,#fff,#0000 85%)),0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 16px 56px #11111a0d,inset 0 4px 16px #11111a0d,inset 0 8px 24px #11111a0d,inset 0 16px 56px #11111a0d}.glass-surface--fallback{-webkit-backdrop-filter:blur(12px) saturate(1.8) brightness(1.1);backdrop-filter:blur(12px) saturate(1.8) brightness(1.1);background:#ffffff40;border:1px solid #ffffff4d;box-shadow:0 8px 32px #1f268733,0 2px 16px #1f26871a,inset 0 1px 0 #fff6,inset 0 -1px 0 #fff3}@media (prefers-color-scheme:dark){.glass-surface--fallback{-webkit-backdrop-filter:blur(12px) saturate(1.8) brightness(1.2);backdrop-filter:blur(12px) saturate(1.8) brightness(1.2);background:#ffffff1a;border-color:#fff3;box-shadow:inset 0 1px 0 #fff3,inset 0 -1px 0 #ffffff1a}}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.glass-surface--fallback{background:#fff6;box-shadow:inset 0 1px 0 #ffffff80,inset 0 -1px 0 #ffffff4d}.glass-surface--fallback:before{background:#ffffff26;border-radius:inherit;content:"";inset:0;position:absolute;z-index:-1}}.glass-surface:focus-visible{outline:2px solid light-dark(#007aff,#0a84ff);outline-offset:2px}.line-sidebar{display:flex;position:relative}.line-sidebar__rail{background:color-mix(in srgb,var(--marker-color) 55%,#0000);border-radius:999px;bottom:0;left:0;overflow:hidden;position:absolute;top:0;width:2px}.line-sidebar__progress{background:linear-gradient(to bottom,#0000,var(--line-accent-color) 24%,var(--line-accent-color) 76%,#0000);background-image:var(--line-accent-gradient);border-radius:inherit;filter:drop-shadow(0 0 5px var(--line-accent-color));height:18%;left:0;min-height:3rem;position:absolute;transform:translateY(-50%);transition:top 90ms linear;width:100%}.line-sidebar__list{display:flex;flex:1 1;flex-direction:column;gap:var(--item-gap);list-style:none;margin:0 0 0 calc(var(--marker-length) + var(--marker-gap) + 8px);padding:0}.line-sidebar__item{position:relative}.line-sidebar__item:before{content:"";inset:-8px -20px;position:absolute}.line-sidebar__label{align-items:baseline;color:var(--text-color);display:inline-flex;font-size:var(--font-size);font-weight:700;line-height:1.2;position:relative;text-decoration:none;text-shadow:0 1px 8px var(--page-bg);transition:color .18s ease}.line-sidebar__item[aria-current=true] .line-sidebar__label{color:var(--line-accent-color)}.line-sidebar__index{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;margin-right:.6rem}.line-sidebar__marker{background:var(--marker-color);border-radius:999px;height:2px;left:calc((var(--marker-length) + var(--marker-gap))*-1);position:absolute;top:50%;transform:translateY(-50%);transition:background-color .18s ease,width .18s ease;width:var(--marker-length)}.line-sidebar__item[aria-current=true] .line-sidebar__marker{background:var(--line-accent-gradient);box-shadow:0 0 7px color-mix(in srgb,var(--line-accent-color) 70%,#0000);width:calc(var(--marker-length) + 4px)}.split-flap-text{font-feature-settings:"tnum";align-items:center;color:#f8fafc;color:var(--split-flap-text-color,#f8fafc);display:inline-flex;font-family:SFMono-Regular,Roboto Mono,Cascadia Code,Liberation Mono,Menlo,monospace;font-size:52px;font-size:var(--split-flap-font-size,52px);font-variant-numeric:tabular-nums;font-weight:760;gap:6px;gap:var(--split-flap-gap,6px);letter-spacing:.035em;line-height:1;-webkit-user-select:none;user-select:none;white-space:pre}.split-flap-text__tile{background:radial-gradient(circle at 50% 0,#ffffff29,#0000 44%),linear-gradient(180deg,color-mix(in srgb,#111827 82%,#fff),#111827);background:radial-gradient(circle at 50% 0,#ffffff29,#0000 44%),linear-gradient(180deg,color-mix(in srgb,var(--split-flap-tile-color,#111827) 82%,#fff),var(--split-flap-tile-color,#111827));border-radius:8px;border-radius:var(--split-flap-radius,8px);box-shadow:inset 0 .035em .08em #ffffff14,inset 0 -.05em .1em #00000061,0 .16em .38em #00000047;height:1.08em;isolation:isolate;overflow:hidden;perspective:520px;position:relative;transform-style:preserve-3d;width:.78em}.split-flap-text__tile:before{background:linear-gradient(90deg,#0000,#ffffff2e 18%,#000000a3 50%,#ffffff24 82%,#0000);box-shadow:0 -1px 0 #ffffff14,0 1px 0 #00000080;content:"";height:1px;left:0;pointer-events:none;position:absolute;top:calc(50% - .5px);width:100%;z-index:8}.split-flap-text__tile:after{border:1px solid #ffffff14;border-radius:inherit;box-shadow:inset 0 0 0 1px #0003;content:"";inset:0;pointer-events:none;position:absolute;z-index:9}.split-flap-text__flap,.split-flap-text__half{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(180deg,#ffffff12,#0000 34%),#111827;background:linear-gradient(180deg,#ffffff12,#0000 34%),var(--split-flap-tile-color,#111827);height:50%;left:0;overflow:hidden;position:absolute;width:100%}.split-flap-text__flap--front,.split-flap-text__half--top{top:0}.split-flap-text__flap--back,.split-flap-text__half--bottom{background:linear-gradient(0deg,#ffffff0f,#0000 38%),color-mix(in srgb,#111827 92%,#000);background:linear-gradient(0deg,#ffffff0f,#0000 38%),color-mix(in srgb,var(--split-flap-tile-color,#111827) 92%,#000);bottom:0}.split-flap-text__char{align-items:center;color:#f8fafc;color:var(--split-flap-text-color,#f8fafc);display:flex;height:200%;justify-content:center;left:0;position:absolute;text-shadow:0 .025em 0 #ffffff29,0 .09em .16em #0000006b;width:100%}.split-flap-text__flap--front .split-flap-text__char,.split-flap-text__half--top .split-flap-text__char{top:0}.split-flap-text__flap--back .split-flap-text__char,.split-flap-text__half--bottom .split-flap-text__char{bottom:0}.split-flap-text__flap{transform-style:preserve-3d;will-change:transform,filter;z-index:6}.split-flap-text__flap--front{animation:split-flap-front .12s cubic-bezier(.23,1,.32,1) both;animation:split-flap-front var(--split-flap-flip-duration,.12s) cubic-bezier(.23,1,.32,1) both;transform-origin:center bottom}.split-flap-text__flap--back{animation:split-flap-back .12s cubic-bezier(.23,1,.32,1) both;animation:split-flap-back var(--split-flap-flip-duration,.12s) cubic-bezier(.23,1,.32,1) both;transform:rotateX(90deg);transform-origin:center top}@keyframes split-flap-front{0%{filter:brightness(1.08);transform:rotateX(0deg)}to{filter:brightness(.52);transform:rotateX(-90deg)}}@keyframes split-flap-back{0%,45%{filter:brightness(.58);transform:rotateX(90deg)}to{filter:brightness(1);transform:rotateX(0deg)}}@media (prefers-reduced-motion:reduce){.split-flap-text__flap{animation:none!important}}.tilted-card-figure{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;perspective:800px;position:relative;width:100%}.tilted-card-mobile-alert{display:none;font-size:.875rem;position:absolute;text-align:center;top:1rem}.tilted-card-inner{border-radius:1.5rem;overflow:hidden;position:relative;transform-style:preserve-3d}.tilted-card-img{border-radius:15px;object-fit:cover;transform:translateZ(0)}.tilted-card-img,.tilted-card-overlay{left:0;position:absolute;top:0;will-change:transform}.tilted-card-overlay{transform:translateZ(30px);z-index:2}.tilted-card-caption{background-color:#fff;border-radius:4px;color:#2d2d2d;font-size:10px;left:0;opacity:0;padding:4px 10px;pointer-events:none;position:absolute;top:0;z-index:3}@media (max-width:640px){.tilted-card-mobile-alert{display:block}.tilted-card-caption{display:none}}*{box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0}html{font-size:16px;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:none}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none}body{background:#000;color:#f5f5f5;overflow-x:hidden}html[data-theme=light] body{background:#fff}.app{--page-bg:#000;--text-primary:#f5f5f5;--text-secondary:#cfcfcf;--text-soft:#a3a3a3;--text-faint:#737373;--panel-bg:#000000e0;--nav-bg:#000000eb;--footer-bg:#000000d1;--border:#292929;--border-subtle:#1f2933;--border-hover:#737373;--hexagon-line:#ffffff1f;--hexagon-highlight:hsla(0,0%,100%,.055);--link:#fff;--link-hover:#d4d4d4;--pill-bg:#202020;--pill-text:#e5e7eb;--icon-bg:#fff;--icon-text:#000;--button-bg:#fff;--button-text:#000;--button-hover:#d4d4d4;--skeleton-start:#171717;--skeleton-middle:#303030;--highlight-bg:#ffffff3d;--sidebar-accent:#fff;background:var(--page-bg);color:var(--text-primary);isolation:isolate;min-height:100vh;overflow:hidden;position:relative;transition:background-color .24s ease,color .24s ease;width:100%}.app[data-theme=light]{--page-bg:#fff;--text-primary:#0a0a0a;--text-secondary:#292929;--text-soft:#3f3f3f;--text-faint:#5f5f5f;--panel-bg:#ffffffe6;--nav-bg:#ffffffe6;--footer-bg:#ffffffe6;--border:#8e8e89;--border-subtle:#a5a5a0;--border-hover:#262626;--hexagon-line:#0a0a0a2b;--hexagon-highlight:#0a0a0a0f;--link:#0a0a0a;--link-hover:#3f3f3f;--pill-bg:#e4e4df;--pill-text:#171717;--icon-bg:#000;--icon-text:#fff;--button-bg:#000;--button-text:#fff;--button-hover:#262626;--skeleton-start:#c7c7c2;--skeleton-middle:#e4e4df;--highlight-bg:#00000029;--sidebar-accent:#171717}.page-cursor-grid{height:100vh;inset:0;position:fixed;width:100%;z-index:0}.page-content{pointer-events:none;position:relative;z-index:1}.page-content .contribution-card,.page-content .experience-slider,.page-content .home-portrait-frame,.page-content .portfolio-line-sidebar,.page-content .project-card,.page-content a,.page-content button,.page-content input,.page-content select,.page-content summary,.page-content textarea{pointer-events:auto}[data-slot=ripple-button]{overflow:hidden;position:relative}.ripple-button-ripple{border-radius:50%;height:20px;pointer-events:none;position:absolute;width:20px}.card-border-glow{border-radius:inherit;height:auto;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;opacity:1;padding:3px;width:auto;z-index:0}.border-trail,.card-border-glow{inset:-1px;pointer-events:none;position:absolute}.border-trail{border:1px solid #0000;border-radius:inherit;mask-clip:padding-box,border-box;-webkit-mask-clip:padding-box,border-box;-webkit-mask-composite:source-in,xor;mask-composite:intersect;-webkit-mask-composite:source-in;mask-image:linear-gradient(#0000,#0000),linear-gradient(#000,#000);-webkit-mask-image:linear-gradient(#0000,#0000),linear-gradient(#000,#000);overflow:hidden;z-index:2}.border-trail-runner{aspect-ratio:1;background:#ffffff75;position:absolute}.infinite-slider{-webkit-mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);overflow:hidden}.infinite-slider-track{display:flex;width:-webkit-max-content;width:max-content}.text-roll-letter{display:inline-block;perspective:10000px;position:relative;transform-style:preserve-3d;width:auto}.text-roll-enter,.text-roll-exit{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:inline-block;position:absolute}.text-roll-enter{transform-origin:50% 25%}.text-roll-exit{transform-origin:50% 100%}.text-roll-placeholder{visibility:hidden}.screen-reader-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.name-roll{display:inline-block;white-space:nowrap}.theme-controls-glass{height:auto!important;pointer-events:auto;position:fixed!important;right:11.5rem;top:1.25rem;width:auto!important;z-index:50}.theme-controls-glass .glass-surface__content{gap:.35rem;padding:.38rem}.app[data-theme=dark] .theme-controls-glass.glass-surface--fallback{background:#0a0a0a6b;border-color:#fff3}.app[data-theme=light] .theme-controls-glass.glass-surface--fallback{background:#ffffff94;border-color:#0a0a0a33}.theme-controls-divider{background:color-mix(in srgb,var(--text-primary) 18%,#0000);height:1.6rem;width:1px}.theme-toggle{color:var(--text-primary);cursor:pointer;font-size:.92rem;height:2.5rem;justify-content:space-between;padding:0 .58rem;transition:background-color .18s ease,border-color .18s ease,transform .18s ease;width:4.25rem}.accent-picker,.theme-toggle{align-items:center;background:#0000;border:0;border-radius:999px;box-shadow:none;display:flex;position:relative;z-index:1}.accent-picker{gap:.38rem;padding:.2rem}.accent-picker-option{background:var(--swatch);border:1px solid color-mix(in srgb,var(--text-primary) 32%,#0000);border-radius:50%;cursor:pointer;height:1.35rem;padding:0;transition:transform .16s ease,box-shadow .16s ease;width:1.35rem}.accent-picker-option:hover{transform:scale(1.12)}.accent-picker-option[aria-pressed=true]{box-shadow:0 0 0 2px var(--page-bg),0 0 0 4px var(--text-primary)}.theme-toggle:hover{background:color-mix(in srgb,var(--text-primary) 7%,#0000)}.theme-toggle-icon{display:grid;place-items:center;pointer-events:none;position:relative;transition:color .18s ease,opacity .18s ease;z-index:2}.theme-toggle-thumb{background:var(--button-bg);border-radius:50%;box-shadow:0 2px 8px #0000003d;height:1.82rem;left:.28rem;pointer-events:none;position:absolute;top:.28rem;transition:transform .22s ease,background-color .22s ease;width:1.82rem;z-index:1}.app[data-theme=dark] .theme-toggle-thumb{transform:translateX(1.83rem)}.app[data-theme=dark] .theme-toggle-icon-sun,.app[data-theme=light] .theme-toggle-icon-moon{opacity:.45}.app[data-theme=dark] .theme-toggle-icon-moon,.app[data-theme=light] .theme-toggle-icon-sun{color:var(--button-text)}.section{display:flex;flex-direction:column;isolation:isolate;margin-inline:auto;max-width:110rem;min-height:100svh;overflow:hidden;padding:clamp(3.5rem,4vw,6rem) clamp(1.25rem,4vw,6rem) clamp(1rem,2vw,2rem);position:relative;scroll-margin-top:0;width:100%}.section>*{position:relative;z-index:1}.home-layout,.section-content{margin-inline:auto;max-width:96rem;width:100%}.portfolio-line-sidebar{height:75svh;padding:0;position:fixed;right:1rem;top:12.5svh;transform:translateX(1.5cm);width:9.5rem;z-index:40}.portfolio-line-sidebar .line-sidebar__list{flex:1 1;justify-content:space-between}.error-page{align-items:center;background:radial-gradient(circle at 50% 45%,#ffffff29,#0000 38%),#050506;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:2rem;text-align:center}.error-fuzzy-text{display:block;height:auto;max-width:100%}.error-kicker{font-size:clamp(1.4rem,3vw,2.25rem);font-weight:800;margin:1.25rem 0 .5rem}.error-page>p:not(.error-kicker){color:#aaa;margin:0;max-width:34rem}.error-actions{display:flex;gap:.75rem;margin-top:1.5rem}.error-actions a,.error-actions button{background:#fff;border:1px solid #3f3f46;border-radius:999px;color:#050506;cursor:pointer;font:inherit;font-weight:750;padding:.7rem 1.1rem;text-decoration:none}.error-actions button{background:#0000;color:#fff}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.section h2{font-size:clamp(1.8rem,2.1vw,2.8rem);margin-bottom:1rem}.section-kicker{color:var(--text-soft);font-size:.75rem;font-weight:700;letter-spacing:.16em;margin-bottom:.4rem;text-transform:uppercase}.section-heading{align-items:end;display:flex;gap:1.5rem;justify-content:space-between}.section-heading h2{margin-bottom:0}.section-heading-link{color:var(--link);font-size:.9rem;text-underline-offset:.3rem}.hero{justify-content:center;max-width:110rem;padding-top:4.5rem}.hero .home-layout{margin-block:auto}.hero .section-advance,.projects-section .section-advance{bottom:clamp(1rem,2vw,2rem);margin:0;padding:0;position:absolute;right:clamp(1.25rem,4vw,6rem);width:auto}.home-layout{grid-gap:clamp(2.5rem,6vw,8rem);align-items:center;display:grid;gap:clamp(2.5rem,6vw,8rem);grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);width:100%}.home-copy{min-width:0}.home-eyebrow{color:var(--text-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(.72rem,1.2vw,.9rem);font-weight:650;letter-spacing:.2em;margin-bottom:1.5rem;text-transform:uppercase}.home-title{align-items:baseline;color:var(--text-primary);display:flex;font-size:clamp(3.6rem,min(8vw,13svh),7.4rem);font-weight:850;gap:.12em;letter-spacing:-.07em;line-height:.92;margin-bottom:1.8rem}.home-title-accent,.home-title-accent .text-roll-enter,.home-title-accent .text-roll-exit{color:var(--accent-color)}.app[data-accent=iridescent] .home-title-accent,.app[data-accent=iridescent] .home-title-accent .text-roll-enter,.app[data-accent=iridescent] .home-title-accent .text-roll-exit{background:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;color:#0000}.home-role{align-items:flex-start;display:flex;font-size:clamp(1.15rem,2.4vw,1.8rem);gap:1rem;margin-bottom:1.7rem}.home-role span{color:var(--text-soft)}.home-role>span:first-child{flex:0 0 auto;white-space:nowrap}.home-split-flap-shell{flex:0 1 auto;max-width:calc(100% - 4.5rem);min-width:0}.home-split-flap-shell .glass-surface__content{min-height:2.5rem;padding:.48rem .7rem}.app[data-theme=dark] .home-split-flap-shell.glass-surface--fallback{background:#0808084d;border-color:#ffffff29}.app[data-theme=light] .home-split-flap-shell.glass-surface--fallback{background:#ffffff6b;border-color:#0a0a0a24}.home-split-flap{flex:0 0 auto;justify-content:center;max-width:100%}.home-summary{color:var(--text-secondary);font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.6;max-width:42rem}.home-socials{display:flex;gap:.85rem;margin-top:1.8rem}.social-backlight,.social-backlight>div{border-radius:50%;display:grid}.social-backlight-github{--brand-color:#8b5cf6}.social-backlight-linkedin{--brand-color:#0a66c2}.social-backlight-x{--brand-color:#f5f5f5}.social-backlight-telegram{--brand-color:#229ed9}.social-backlight-email{--brand-color:#ea4335}.app[data-theme=light] .social-backlight-x{--brand-color:#111}.video-text{color:#0000;display:inline-block;font:inherit;letter-spacing:inherit;line-height:inherit;overflow:hidden;position:relative}.video-text__sizer{display:inline-block;visibility:hidden;white-space:nowrap}.video-text__media{animation:video-text-fallback 6s ease-in-out infinite;background:var(--accent-gradient);background-size:220% 220%;inset:0;mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%;position:absolute}.video-text__media video{height:100%;object-fit:cover;width:100%}.ocean-dot{animation:video-text-fallback 6s ease-in-out infinite;background:var(--accent-gradient);background-size:220% 220%;border-radius:50%;display:inline-block;flex:0 0 auto;overflow:hidden;position:relative}.ocean-dot video{display:block;height:100%;object-fit:cover;width:100%}.home-video-mark{align-items:baseline;display:inline-flex;gap:.08em}.home-ocean-dot{height:.18em;margin-bottom:.1em;width:.18em}.home-video-text{flex:0 0 auto;height:auto;overflow:visible;transform:translateY(.15em);width:auto}.activity-video-word:before,.home-video-text:before,.projects-video-word:before{background:var(--page-bg);content:"";height:4px;left:-1px;pointer-events:none;position:absolute;right:-1px;top:-2px;z-index:3}.projects-video-heading{align-items:baseline;display:flex;gap:.18em}.projects-section .projects-video-heading{font-size:clamp(2.8rem,4.4vw,5.25rem);letter-spacing:-.045em;line-height:.95}.projects-video-word{height:auto;overflow:visible;transform:translateY(.045em);vertical-align:initial;width:auto}.activity-video-mark{align-items:baseline;display:inline-flex;gap:.025em}.activity-video-word{height:auto;overflow:visible;transform:translateY(.055em);vertical-align:initial;width:auto}.activity-video-word:after,.projects-video-word:after{background:color-mix(in srgb,#00b8c8 72%,var(--accent-color));bottom:1px;content:"";height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:2}.theme-accent-dot{color:var(--accent-color)}.app[data-accent=iridescent] .theme-accent-dot{background:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;color:#0000}@keyframes video-text-fallback{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.home-socials a{background:var(--panel-bg);border:1px solid var(--border);border-radius:50%;color:var(--brand-color);display:grid;font-size:1.15rem;height:2.8rem;place-items:center;text-decoration:none;transition:border-color .18s ease,transform .18s ease,color .18s ease;width:2.8rem}.home-socials a:hover{border-color:var(--brand-color);color:var(--brand-color);transform:translateY(-3px)}.home-meta{align-items:center;border-top:1px solid var(--border);color:var(--text-soft);display:flex;flex-wrap:wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;gap:.9rem 1.5rem;margin-top:1.8rem;padding-top:1.25rem}.home-meta a{align-items:center;color:inherit;display:inline-flex;gap:.45rem;text-decoration:none}.home-portrait-frame{background:color-mix(in srgb,var(--panel-bg) 72%,#0000);border:1px solid color-mix(in srgb,var(--accent-color) 34%,var(--border));border-radius:2.25rem;display:grid;min-height:clamp(320px,min(38vw,68svh),620px);place-items:center;position:relative}.home-portrait-frame:before{background:color-mix(in srgb,var(--accent-color) 14%,#0000);border-radius:50%;content:"";filter:blur(70px);inset:12% 8%;position:absolute}.home-portrait-frame .tilted-card-figure{z-index:1}.home-portrait-frame .tilted-card-inner{border:1px solid var(--border);box-shadow:0 2rem 5rem #00000040}.home-pixel-image .pixel-image__image{object-position:center 52%;transform:scale(1.55)}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.5rem}.projects-section{justify-content:center}.projects-content{margin-block:auto}.projects-grid>.project-card{max-width:none;min-width:0;width:100%}.projects-grid>.project-card:last-child:nth-child(3n+1){grid-column:2}.contribution-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:.75rem;margin-top:1.5rem;overflow:hidden;padding:clamp(1.5rem,3vw,2.25rem);pointer-events:auto;position:relative}.github-activity-section{justify-content:center;max-width:110rem}.github-activity-block{--contribution-gap:clamp(1px,0.24vw,4px);--contribution-label-width:clamp(1.65rem,3vw,2.05rem);--contribution-label-gap:clamp(0.35rem,0.7vw,0.6rem);margin-inline:auto;max-width:96rem;width:100%}.github-activity-intro{margin-bottom:clamp(3.5rem,8vh,6rem);text-align:center}.github-activity-intro h2{align-items:baseline;display:flex;flex-wrap:wrap;font-size:clamp(3rem,7vw,5.5rem);font-weight:500;gap:.16em;justify-content:center;letter-spacing:-.055em;line-height:.95;margin-bottom:1rem}.activity-scroll-reveal{margin:1.15rem auto 0;text-align:center}.activity-scroll-reveal-text{color:var(--text-soft);font-size:clamp(1rem,1.8vw,1.3rem);font-weight:450;line-height:1.45}.github-activity-year{color:var(--text-soft);font-size:.92rem;margin-bottom:1rem}.contribution-card>:not(.card-border-glow):not(.border-trail){position:relative;z-index:1}.contribution-card-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.contribution-card-heading h3{font-size:clamp(1.3rem,2.2vw,1.65rem)}.contribution-card-heading a{align-items:center;color:var(--link);display:inline-flex;font-size:.82rem;gap:.45rem;text-decoration:none}.contribution-calendar{color:var(--text-soft);overflow-x:auto;padding:.25rem 0 .5rem;scrollbar-color:var(--border-hover) #0000;scrollbar-width:thin;width:100%}.github-activity-block .contribution-calendar{overflow:visible;padding:0}.contribution-scroll-area{overflow-x:auto;padding:.5rem 0 .75rem;scrollbar-color:var(--border-hover) #0000;scrollbar-width:thin;width:100%}.contribution-calendar-native{margin-inline:auto;max-width:943px;min-width:0;position:relative;width:100%}.contribution-month-labels{grid-gap:var(--contribution-gap);color:var(--text-primary);display:grid;font-size:.7rem;font-weight:650;gap:var(--contribution-gap);grid-template-columns:repeat(var(--calendar-weeks),minmax(0,1fr));margin-bottom:.55rem;margin-left:calc(var(--contribution-label-width) + var(--contribution-label-gap))}.contribution-month-labels span{width:-webkit-max-content;width:max-content}.contribution-calendar-row{grid-gap:var(--contribution-label-gap);align-items:flex-start;display:grid;gap:var(--contribution-label-gap);grid-template-columns:var(--contribution-label-width) minmax(0,1fr)}.contribution-day-labels{grid-gap:var(--contribution-gap);align-self:stretch;color:var(--text-primary);display:grid;font-size:.68rem;font-weight:600;gap:var(--contribution-gap);grid-template-rows:repeat(7,minmax(0,1fr));line-height:1}.contribution-day-labels span{align-self:center}.contribution-grid{grid-gap:var(--contribution-gap);display:grid;gap:var(--contribution-gap);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;grid-template-rows:repeat(7,auto);width:100%}.contribution-legend i{border:0;border-radius:3px;height:13px;width:13px}.contribution-cell,.contribution-legend i{background:var(--contribution-0);display:block}.contribution-cell{aspect-ratio:1;border:0;border-radius:clamp(1px,.22vw,3px);cursor:crosshair;height:auto;min-width:0;outline:none;padding:0;transition:filter .12s ease,transform .12s ease;width:100%}.contribution-cell:focus-visible,.contribution-cell:hover{filter:brightness(1.45);transform:scale(1.22);z-index:2}.contribution-cell:focus-visible{box-shadow:0 0 0 2px var(--page-bg),0 0 0 3px var(--text-primary)}.contribution-cell-outside{visibility:hidden}.contribution-tooltip{background:#fff;border-radius:.55rem;box-shadow:0 .8rem 2rem #00000047;color:#111;font-size:.78rem;font-weight:550;max-width:16rem;padding:.65rem .85rem;pointer-events:none;position:absolute;transform:translate(-50%,-100%);width:-webkit-max-content;width:max-content;z-index:8}.contribution-tooltip:after{border:5px solid #0000;border-top-color:#fff;content:"";height:0;left:50%;position:absolute;top:100%;transform:translateX(-50%);width:0}.contribution-calendar:focus-visible{outline:2px solid var(--text-primary);outline-offset:.4rem}.contribution-graph,.contribution-loading{min-width:894px}.github-activity-block .contribution-graph,.github-activity-block .contribution-loading{min-width:0}.react-contribution-calendar-shell>div>div{overflow-x:auto!important;padding:.15rem 0 .35rem;scrollbar-color:var(--border-hover) #0000;scrollbar-width:thin}.github-activity-block .react-contribution-calendar-shell>div>div{padding-bottom:.65rem}.react-contribution-calendar-shell table{border-spacing:4px!important}.react-contribution-calendar-shell td[data-level]{transition:filter .12s ease,transform .12s ease}.react-contribution-calendar-shell td[data-count]{color:#fffffff2;font-size:.58rem;font-weight:800;line-height:1;position:relative;text-align:center;text-shadow:0 1px 2px #000000b8}.react-contribution-calendar-shell td[data-count]:not([data-count=""]):after{content:attr(data-count);inset:50% auto auto 50%;position:absolute;transform:translate(-50%,-50%)}.react-contribution-calendar-shell td[data-level]:hover{filter:brightness(1.35);transform:scale(1.2);z-index:2}.contribution-live{color:var(--text-primary);font-size:.82rem;font-weight:650;margin-bottom:.3rem;min-height:1.25rem;opacity:.78}.contribution-months{grid-gap:4px;color:var(--text-soft);display:grid;font-size:.78rem;gap:4px;grid-auto-columns:13px;grid-auto-flow:column;grid-template-rows:1.25rem;margin-bottom:.45rem}.contribution-months span{width:-webkit-max-content;width:max-content}.contribution-card{--contribution-0:#161616;--contribution-1:#343434;--contribution-2:#666;--contribution-3:#a3a3a3;--contribution-4:#f5f5f5}.app[data-theme=light] .contribution-card{--contribution-0:#e0e0dc;--contribution-1:#a3a3a0;--contribution-2:#737373;--contribution-3:#3f3f3f;--contribution-4:#0a0a0a}.contribution-level-1{background:var(--contribution-1)!important}.contribution-level-2{background:var(--contribution-2)!important}.contribution-level-3{background:var(--contribution-3)!important}.contribution-level-4{background:var(--contribution-4)!important}.contribution-summary{align-items:center;color:var(--text-soft);display:flex;font-size:.82rem;gap:1rem;justify-content:space-between;margin-top:.75rem}.github-activity-block .contribution-summary{font-size:.88rem;margin:1rem auto 0;max-width:943px;width:100%}.contribution-legend{align-items:center;display:inline-flex;gap:4px}.contribution-legend i{flex:0 0 auto}.contribution-loading{animation:project-loading 1.4s ease infinite;background:linear-gradient(90deg,var(--skeleton-start),var(--skeleton-middle),var(--skeleton-start));background-size:220% 100%;border-radius:.5rem;height:145px}.contribution-message{color:var(--text-secondary);line-height:1.6}.contribution-message a{color:var(--link)}.project-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:.75rem;display:flex;flex-direction:column;min-height:230px;padding:1.5rem;pointer-events:auto;position:relative;transition:border-color .18s ease,transform .18s ease}.experience-section{justify-content:center}.experience-content{margin-block:auto;max-width:72rem}.experience-heading{margin-bottom:clamp(2rem,5vh,3.5rem);text-align:center}.experience-heading h2{align-items:baseline;display:flex;font-size:clamp(2.5rem,5vw,4rem);font-weight:600;justify-content:center;letter-spacing:-.045em;margin-bottom:.75rem}.experience-scroll-reveal{margin:.75rem auto 0;text-align:center}.experience-scroll-reveal-text{color:var(--text-soft);font-size:1rem;font-weight:450;line-height:1.5}.project-card:hover{border-color:var(--border-hover);transform:translateY(-3px)}.project-card-header{align-items:center;color:var(--text-soft);display:flex;font-size:1.35rem;justify-content:space-between;margin-bottom:1.25rem}.project-card-header a{color:var(--link);display:grid;place-items:center}.project-card h3{margin-bottom:.5rem;text-transform:capitalize}.project-card p{color:var(--text-secondary);flex:1 1;font-size:.95rem;line-height:1.55;margin-bottom:1.25rem}.tech-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tech-pill{background:var(--pill-bg);border-radius:999px;color:var(--pill-text);font-size:.75rem;padding:.2rem .6rem}.project-meta{align-items:center;color:var(--text-soft);display:flex;flex-wrap:wrap;font-size:.78rem;gap:1rem}.project-meta span{align-items:center;display:inline-flex;gap:.35rem}.project-meta i{background:var(--text-primary);border-radius:50%;height:.55rem;width:.55rem}.projects-message{align-items:center;background:var(--panel-bg);border:1px solid var(--border);border-radius:.75rem;display:flex;gap:1rem;margin-top:1.5rem;min-height:130px;padding:1.5rem}.projects-message>svg{flex:0 0 auto;font-size:1.75rem}.projects-message h3,.projects-message p{margin-bottom:.25rem}.projects-message a{color:var(--link)}.project-card-loading{overflow:hidden}.project-card-loading span{animation:project-loading 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--skeleton-start),var(--skeleton-middle),var(--skeleton-start));background-size:200% 100%;border-radius:999px;display:block;height:.8rem;margin-bottom:1rem}.project-card-loading span:first-child{width:40%}.project-card-loading span:nth-child(2){width:75%}.project-card-loading span:nth-child(3){width:55%}@keyframes project-loading{to{background-position:-200% 0}}.resume-section{justify-content:center}.resume-content{margin-block:auto;max-width:72rem;width:100%}.resume-heading{margin:0 auto clamp(1.6rem,4vh,2.6rem);max-width:48rem;text-align:center}.resume-kicker{color:var(--text-soft);font-size:.72rem;font-weight:750;letter-spacing:.22em;margin-bottom:.65rem;text-transform:uppercase}.resume-heading h2{align-items:center;display:flex;font-size:clamp(2.75rem,6vw,5rem);font-weight:650;justify-content:center;letter-spacing:-.055em;line-height:.95;margin-bottom:.65rem}.resume-heading>p:last-child{color:var(--text-secondary);font-size:clamp(.92rem,1.4vw,1.05rem);line-height:1.6}.resume-glass-card{margin-inline:auto;max-width:68rem}.resume-glass-card .glass-surface__content{padding:0}.app[data-theme=dark] .resume-glass-card.glass-surface--fallback{background:#08080857;border-color:#ffffff29}.app[data-theme=light] .resume-glass-card.glass-surface--fallback{background:#ffffff8c;border-color:#0a0a0a24}.resume-card-layout{grid-gap:clamp(1.4rem,3vw,3rem);display:grid;gap:clamp(1.4rem,3vw,3rem);grid-template-columns:minmax(17rem,.82fr) minmax(0,1.18fr);padding:clamp(1rem,2.4vw,1.8rem);width:100%}.resume-document-card{background:linear-gradient(145deg,color-mix(in srgb,var(--panel-bg) 94%,#fff 6%),var(--panel-bg));border:1px solid color-mix(in srgb,var(--text-primary) 15%,#0000);border-radius:1rem;box-shadow:0 1.4rem 3rem #0000002e,inset 0 1px 0 color-mix(in srgb,var(--text-primary) 10%,#0000);display:flex;flex-direction:column;justify-content:space-between;min-height:19rem;overflow:hidden;padding:clamp(1.25rem,2.4vw,1.8rem);position:relative}.resume-document-card:before{background:var(--accent-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0}.resume-document-card:after{border:1px solid color-mix(in srgb,var(--accent-color) 36%,#0000);border-radius:50%;content:"";height:7rem;opacity:.55;position:absolute;right:-3.3rem;top:-3.3rem;width:7rem}.resume-document-footer,.resume-document-topline{align-items:center;display:flex;gap:.75rem;justify-content:space-between;position:relative;z-index:1}.resume-document-icon{background:color-mix(in srgb,var(--accent-color) 10%,#0000);border:1px solid color-mix(in srgb,var(--accent-color) 40%,#0000);border-radius:.75rem;color:var(--accent-color);display:grid;height:2.6rem;place-items:center;width:2.6rem}.resume-document-icon svg{height:1.25rem;width:1.25rem}.resume-format-badge{border:1px solid var(--border);border-radius:999px;color:var(--text-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem;letter-spacing:.07em;padding:.25rem .48rem}.resume-document-copy{padding-block:2rem;position:relative;z-index:1}.resume-document-copy p{color:var(--text-soft);font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:.45rem;text-transform:uppercase}.resume-document-copy h3{font-size:clamp(1.65rem,3vw,2.35rem);font-weight:720;letter-spacing:-.045em;line-height:1;margin-bottom:.6rem}.resume-document-copy>span{color:var(--text-secondary);font-size:.78rem;line-height:1.5}.resume-document-footer{align-items:flex-end;border-top:1px solid var(--border);color:var(--text-soft);font-size:.66rem;padding-top:.9rem}.resume-document-footer span:last-child{text-align:right}.resume-card-details{align-self:center;display:flex;flex-direction:column;padding:clamp(.4rem,2vw,1.2rem) 0}.resume-card-eyebrow{color:var(--accent-color);font-size:.7rem;font-weight:750;letter-spacing:.18em;margin-bottom:.7rem;text-transform:uppercase}.resume-card-details h3{font-size:clamp(1.45rem,3vw,2.3rem);font-weight:650;letter-spacing:-.04em;line-height:1.08;margin-bottom:1.25rem;max-width:30rem}.resume-highlights{grid-gap:.65rem;color:var(--text-secondary);display:grid;font-size:.86rem;gap:.65rem;list-style:none;margin-bottom:1.7rem}.resume-highlights li{align-items:center;display:flex;gap:.65rem}.resume-highlights li:before{background:var(--accent-color);border-radius:50%;box-shadow:0 0 .8rem color-mix(in srgb,var(--accent-color) 55%,#0000);content:"";flex:0 0 auto;height:.45rem;width:.45rem}.resume-actions{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.resume-download-menu{position:relative}.resume-download-menu summary{cursor:pointer;list-style:none}.resume-download-menu summary::-webkit-details-marker{display:none}.resume-download-menu summary::marker{content:""}.resume-download-options{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,var(--page-bg) 94%,#0000);border:1px solid var(--border-hover);border-radius:.85rem;bottom:calc(100% + .55rem);box-shadow:0 1rem 2.5rem #0000004d;display:grid;overflow:hidden;padding:.35rem;position:absolute;right:0;width:12rem;z-index:20}.resume-download-options a{align-items:center;border-radius:.6rem;color:var(--text-primary);display:flex;font-size:.78rem;font-weight:700;gap:.65rem;padding:.72rem .75rem;text-decoration:none}.resume-download-options a:focus-visible,.resume-download-options a:hover{background:color-mix(in srgb,var(--accent-color) 13%,#0000);outline:none}.resume-download-options svg{color:var(--accent-color)}.resume-action{align-items:center;border:1px solid var(--border);border-radius:999px;color:var(--text-primary);display:inline-flex;font-size:.78rem;font-weight:720;gap:.55rem;justify-content:center;min-height:2.75rem;padding:.68rem .9rem;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}.resume-action svg{flex:0 0 auto}.resume-action:hover{border-color:var(--border-hover);transform:translateY(-2px)}.resume-action-primary{background:var(--text-primary);border-color:#0000;color:var(--page-bg)}.resume-action-primary:hover{background:color-mix(in srgb,var(--text-primary) 86%,var(--accent-color));border-color:#0000}.resume-action-secondary{background:color-mix(in srgb,var(--panel-bg) 86%,#0000)}.resume-action[aria-disabled=true]{opacity:.5;pointer-events:none}@media (max-width:760px){.resume-card-layout{grid-template-columns:1fr}.resume-document-card{min-height:17rem}.resume-card-details{padding:.35rem .2rem .2rem}.resume-actions{align-items:stretch;flex-direction:column}.resume-action,.resume-download-menu{width:100%}.resume-download-options{left:0;right:0;width:100%}}.section-advance{display:flex;justify-content:flex-end;margin-top:auto;padding-top:2rem;width:100%}.section-advance-button{align-items:center;background:var(--panel-bg);border:1px solid var(--border);border-radius:999px;color:var(--text-primary);display:inline-flex;font-size:.86rem;font-weight:700;gap:.55rem;padding:.72rem 1rem;text-decoration:none;transition:border-color .18s ease,background-color .18s ease}.section-advance-button:hover{border-color:var(--border-hover)}.section#contact,.section#contact a{color:var(--text-primary)}.section#contact a:hover{color:var(--link-hover)}.contact-intro{color:var(--text-secondary);line-height:1.6;max-width:620px}.contact-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.75rem}.contact-card{align-items:center;background:var(--panel-bg);border:1px solid var(--border);border-radius:.75rem;display:flex;gap:.9rem;min-width:0;padding:1rem;position:relative;text-decoration:none;transition:border-color .18s ease,transform .18s ease}.contact-card:hover{border-color:var(--border-hover);transform:translateY(-3px)}.contact-icon{background:var(--icon-bg);border-radius:50%;color:var(--icon-text);display:grid;flex:0 0 auto;font-size:1.1rem;height:2.5rem;place-items:center;width:2.5rem}.contact-copy{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:0}.contact-copy strong{font-size:.9rem}.contact-copy small{color:var(--text-soft);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-arrow{color:var(--text-faint);flex:0 0 auto}@media (min-width:901px){.section{padding-right:clamp(10rem,12vw,11.5rem)}.hero .section-advance,.projects-section .section-advance{right:clamp(10rem,12vw,11.5rem)}}@media (min-width:1600px){html{font-size:clamp(16px,calc(12px + .25vw),20px)}.home-layout{grid-template-columns:minmax(0,1.1fr) minmax(26rem,.9fr)}}@media (min-width:901px) and (max-height:760px){.section{padding-top:clamp(2.5rem,5svh,3.5rem)}.hero{padding-top:3rem}.home-layout{gap:clamp(2rem,4vw,4.5rem);grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}.home-eyebrow{margin-bottom:.9rem}.home-role,.home-title{margin-bottom:1rem}.home-role{font-size:clamp(1.05rem,min(2vw,3.6svh),1.5rem)}.home-split-flap-shell{min-height:2.35rem}.home-split-flap-shell .glass-surface__content{min-height:2.35rem;padding-block:.36rem}.home-summary{font-size:clamp(.9rem,1.2vw,1rem);line-height:1.5}.home-meta,.home-socials{margin-top:1.05rem}.home-meta{padding-top:.8rem}}@media (max-width:600px){.portfolio-line-sidebar{display:none}.theme-controls-glass{right:1rem;top:1rem}.theme-toggle{height:2.35rem;width:4rem}.theme-toggle-thumb{height:1.72rem;top:.25rem;width:1.72rem}.app[data-theme=dark] .theme-toggle-thumb{transform:translateX(1.67rem)}.section{min-height:100svh;padding:3rem 1.25rem 1rem;scroll-margin-top:0}.hero h1{font-size:clamp(3rem,15.2vw,4.25rem)}.home-title{gap:.03em}.home-video-text{width:auto}.home-layout{gap:2.5rem;grid-template-columns:1fr}.home-copy{padding-top:2rem}.home-role{align-items:flex-start;flex-direction:column;gap:.65rem}.home-split-flap-shell{max-width:100%;width:100%!important}.home-meta{align-items:flex-start;flex-direction:column}.home-portrait-frame{min-height:350px}.section-heading{align-items:flex-start}.contribution-card-heading,.section-heading{flex-direction:column}.github-activity-intro{margin-bottom:clamp(2.25rem,7vh,3.5rem)}.github-activity-intro h2{font-size:clamp(2.5rem,13vw,3.5rem)}.github-activity-block{--contribution-label-width:1.35rem;--contribution-label-gap:0.3rem}.github-activity-year{font-size:.76rem;margin-bottom:.65rem}.contribution-month-labels{font-size:.5rem;margin-bottom:.35rem}.contribution-day-labels{font-size:.52rem}.github-activity-block .contribution-summary{align-items:flex-start;flex-direction:column;font-size:.76rem;gap:.65rem}.contribution-tooltip{font-size:.7rem;max-width:min(13rem,calc(100vw - 3rem))}.contact-grid,.projects-grid{grid-template-columns:1fr}.projects-grid>.project-card{max-width:100%}.projects-grid>.project-card:last-child:nth-child(3n+1){grid-column:auto}.hero .section-advance,.projects-section .section-advance{margin-top:auto;padding-top:2rem;position:static;width:100%}.section-advance-button{justify-content:center;width:100%}}@media (min-width:601px) and (max-width:900px){.portfolio-line-sidebar{display:none}.contact-grid{grid-template-columns:1fr}.theme-controls-glass{right:1rem}.projects-grid>.project-card{max-width:none}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid>.project-card:last-child:nth-child(3n+1){grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.app,.contact-card,.project-card,.theme-toggle{transition:none}.project-card-loading span{animation:none}}
/*# sourceMappingURL=main.de8b8cb1.css.map*/