:root,html[data-theme=signal-blue]{--ink:#17191c;--paper:#eef0ed;--muted:#62676d;--line:#c7cbc8;--line-strong:#989e9c;--accent:#244bd8;--accent-soft:#d9e0ff;--tile-empty:#d9dcda;--tile-1:#b9c5e5;--tile-2:#8299df;--tile-3:#4f6ed5;--font-sans:var(--font-display), "Avenir Next", sans-serif;--font-code:var(--font-mono), "SFMono-Regular", monospace;--display-face:var(--font-sans);--display-weight:560;--display-leading:.93;--display-tracking:-.067em;--shell-max:1240px;--tile-radius:36%;--control-radius:0;--action-bg:var(--ink);--action-fg:var(--paper);--action-detail:#aebfff;--hero-top-space:66px;--theme-label:"Signal Blue";--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=moss-archive]{--ink:#17271d;--paper:#e8ede5;--muted:#5e6b61;--line:#bcc7bd;--line-strong:#7f9182;--accent:#2f6747;--accent-soft:#cfddce;--tile-empty:#d2d9d0;--tile-1:#adc6ae;--tile-2:#78a17f;--tile-3:#4d7e5e;--display-face:var(--font-sans);--display-weight:620;--display-leading:.96;--display-tracking:-.058em;--shell-max:1160px;--tile-radius:42%;--control-radius:12px;--action-bg:var(--accent);--action-fg:#f3f5ee;--action-detail:#cfe0c7;--theme-label:"Moss Archive";--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=after-hours]{--ink:#e8e4dc;--paper:#11110f;--muted:#989389;--line:#383630;--line-strong:#656158;--accent:#dda64d;--accent-soft:#3d3321;--tile-empty:#24231f;--tile-1:#5c4a2b;--tile-2:#96703a;--tile-3:#bd8842;--display-face:var(--font-code);--display-weight:500;--display-leading:.91;--display-tracking:-.045em;--shell-max:1320px;--tile-radius:3px;--control-radius:3px;--action-bg:var(--accent);--action-fg:#16140f;--action-detail:#16140f;--hero-top-space:48px;--theme-label:"After Hours";--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=fever-dream]{--ink:#f0eee7;--paper:#100e0d;--muted:#aaa39b;--line:#3d3935;--line-strong:#71675f;--accent:#ff3b22;--accent-soft:#481b16;--tile-empty:#292522;--tile-1:#643027;--tile-2:#a73727;--tile-3:#dc3925;--display-face:var(--font-sans);--display-weight:860;--display-leading:.82;--display-tracking:-.075em;--shell-max:1420px;--tile-radius:0;--control-radius:0;--action-bg:var(--accent);--action-fg:#160c09;--action-detail:#160c09;--fever-stagger:7.51%;--hero-top-space:42px;--theme-label:"Fever Dream";--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;transition:background-color .24s cubic-bezier(.32,.72,0,1),color .24s cubic-bezier(.32,.72,0,1);overflow-x:clip}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.shell{width:min(var(--shell-max), calc(100% - 80px));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wordmark{font-family:var(--font-code);letter-spacing:-.055em;font-size:15px;font-weight:500}.wordmark span{color:var(--accent)}.cover{flex-direction:column;min-height:100dvh;display:flex}.cover-header,.resume-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;display:flex}.header-tools{align-items:center;gap:26px;display:flex}.theme-control{min-width:146px;position:relative}.theme-control:after{content:"↓";color:var(--accent);font-family:var(--font-code);pointer-events:none;font-size:10px;transition:transform .18s cubic-bezier(.32,.72,0,1);position:absolute;top:50%;right:11px;transform:translateY(-52%)}.theme-control.is-open:after{transform:translateY(-52%)rotate(180deg)}.theme-trigger{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);width:100%;height:34px;color:var(--ink);font:500 11px/1 var(--font-code);letter-spacing:.01em;text-align:left;cursor:pointer;padding:0 30px 0 11px}.theme-trigger:hover{border-color:var(--accent);background:var(--accent-soft)}.theme-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-trigger-label:before{content:var(--theme-label)}.theme-menu{z-index:2;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--paper);width:100%;box-shadow:0 12px 28px color-mix(in srgb, var(--ink) 18%, transparent);padding:4px;position:absolute;top:calc(100% + 6px);right:0}.theme-option{border-radius:calc(var(--control-radius) * .72);width:100%;min-height:30px;color:var(--ink);font:500 11px/1 var(--font-code);letter-spacing:.01em;text-align:left;cursor:pointer;background:0 0;border:0;padding:0 8px}.theme-option[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.theme-option:hover,.theme-option:focus-visible{background:var(--accent);color:var(--action-fg);outline:none}.cover-nav,.resume-header nav{color:var(--muted);align-items:center;gap:30px;font-size:13px;display:flex}.cover-nav a,.resume-header nav a,.cover-actions a,.resume-links a{transition:color .22s cubic-bezier(.32,.72,0,1),background-color .22s cubic-bezier(.32,.72,0,1),transform .22s cubic-bezier(.32,.72,0,1)}.cover-nav a:hover,.resume-header nav a:hover,.cover-actions a:not(.primary-action):hover,.resume-links a:not(.primary-action):hover{color:var(--accent)}.cover-hero{padding:var(--hero-top-space) 0 58px;flex:1;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 3fr;column-gap:48px;display:grid}.identity-block{color:var(--muted);font-family:var(--font-code);letter-spacing:.02em;text-transform:uppercase;font-size:11px;line-height:1.55}.cover-name{grid-area:1/1}.identity-block p{margin:0}.identity-block p+p{margin-top:7px}.hero-title{grid-area:1/2/3;align-self:center;min-width:0;container-type:inline-size}.cover-hero h1{max-width:940px;font-size:clamp(58px,7.1vw,106px);font-family:var(--display-face);font-weight:var(--display-weight);line-height:var(--display-leading);letter-spacing:var(--display-tracking);margin:0;padding:32px 0 56px}.cover-hero h1:first-line{color:var(--accent)}.cover-summary{border-top:1px solid var(--ink);grid-area:3/2;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:48px;padding-top:24px;display:grid}.cover-summary>p{letter-spacing:-.025em;max-width:700px;margin:0;font-size:clamp(19px,2vw,25px);line-height:1.43}.cover-actions{color:var(--muted);flex-direction:column;align-items:stretch;gap:17px;font-size:13px;display:flex}.primary-action{border-radius:var(--control-radius);background:var(--action-bg);min-height:50px;color:var(--action-fg);white-space:nowrap;justify-content:space-between;align-items:center;padding:0 18px;display:inline-flex}.primary-action:after{content:"↗";color:var(--action-detail)}.primary-action:hover{background:var(--accent);color:var(--paper)}.primary-action:active{transform:scale(.985)}.github-art{border-top:1px solid var(--line);padding:68px 0 76px}.contribution-grid{grid-template-columns:repeat(var(--week-count), minmax(0, 1fr));gap:clamp(3px,.5vw,7px);width:100%;display:grid}.contribution-week{grid-template-rows:repeat(7,auto);gap:clamp(3px,.5vw,7px);display:grid}.contribution-day{aspect-ratio:1;border-radius:var(--tile-radius);background:var(--tile-empty);width:100%;transition:transform .22s cubic-bezier(.32,.72,0,1),filter .22s cubic-bezier(.32,.72,0,1);display:block;box-shadow:inset 0 0 0 1px #17191c0b,0 1px #ffffffb3}.contribution-day[data-level="1"]{background:var(--tile-1)}.contribution-day[data-level="2"]{background:var(--tile-2)}.contribution-day[data-level="3"]{background:var(--tile-3)}.contribution-day[data-level="4"]{background:var(--accent)}.contribution-day:hover{z-index:1;filter:saturate(1.1);position:relative;transform:scale(1.22)}.cover-footer{border-top:1px solid var(--line);min-height:74px;color:var(--muted);font-family:var(--font-code);letter-spacing:.055em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;display:flex}.cover-footer p{margin:0}.resume-page{min-height:100dvh}.resume-hero{min-height:680px;padding:var(--hero-top-space) 0 70px;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 3fr;column-gap:48px;display:grid}.section-label,.work-period,.current-scope dt{color:var(--muted);font-family:var(--font-code);letter-spacing:.025em;text-transform:uppercase;margin:0;font-size:11px;line-height:1.55}.resume-kicker{grid-area:1/1}.resume-hero h1{max-width:980px;font-size:clamp(54px,6.8vw,100px);font-family:var(--display-face);font-weight:var(--display-weight);line-height:var(--display-leading);letter-spacing:var(--display-tracking);margin:0;padding:22px 0 54px}.resume-intro{border-top:1px solid var(--ink);grid-area:3/2;grid-template-columns:1.5fr 1fr;align-items:start;gap:48px;padding-top:24px;display:grid}.resume-intro>p{letter-spacing:-.025em;max-width:680px;margin:0;font-size:clamp(19px,2vw,25px);line-height:1.45}.resume-links{color:var(--muted);grid-template-columns:minmax(128px,1fr) auto auto;align-items:center;gap:20px;font-size:13px;display:grid}.current-role{border-top:1px solid var(--ink);grid-template-columns:1fr 2fr 1fr;gap:48px;padding:74px 0 82px;display:grid}.current-role-main h2,.approach-section>h2,.work-title h2,.education-section h2{font-family:var(--display-face);letter-spacing:-.052em;margin:0;font-size:clamp(34px,4.1vw,58px);font-weight:560;line-height:1}.current-role-main>p{max-width:690px;color:var(--muted);margin:28px 0 0;font-size:17px;line-height:1.62}.current-scope{margin:0}.current-scope div{border-bottom:1px solid var(--line);padding:16px 0}.current-scope div:first-child{padding-top:0}.current-scope dd{margin:7px 0 0;font-size:13px;line-height:1.48}.approach-section{border-top:1px solid var(--line);grid-template-columns:1fr 3fr;gap:48px;padding:128px 0 138px;display:grid}.approach-section>h2{font-size:clamp(31px,3.5vw,48px)}.principle-grid{grid-template-columns:1fr 1fr;gap:64px 60px;display:grid}.principle{border-top:2px solid var(--accent);padding-top:17px}.principle h3{letter-spacing:-.025em;margin:0;font-size:19px;font-weight:600}.principle p{max-width:440px;color:var(--muted);margin:15px 0 0;font-size:15px;line-height:1.6}.work-section{border-top:1px solid var(--ink);padding:104px 0 132px}.work-title{grid-template-columns:1fr 3fr;align-items:end;gap:48px;margin-bottom:70px;display:grid}.work-list{border-top:1px solid var(--line-strong)}.work-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.15fr 1.85fr;gap:48px;padding:31px 0 35px;display:grid}.work-company h3{font-size:25px;font-family:var(--display-face);letter-spacing:-.04em;margin:-5px 0 8px;font-weight:610}.work-company p,.work-row>p:last-child,.education-section>div>p,.education-section>p:last-child{color:var(--muted)}.work-company p,.work-row>p:last-child{margin:0;font-size:15px;line-height:1.58}.work-row>p:last-child{max-width:520px}.education-section{border-top:1px solid var(--line);grid-template-columns:1fr 1.15fr 1.85fr;gap:48px;padding:72px 0 84px;display:grid}.education-section h2{font-size:28px}.education-section>div>p,.education-section>p:last-child{margin:11px 0 0;font-size:14px;line-height:1.55}.resume-footer{border-top:1px solid var(--ink);flex-direction:column;justify-content:space-between;min-height:310px;padding:74px 0 42px;display:flex}.resume-footer>div>p,.resume-footer>p{color:var(--muted);font-family:var(--font-code);letter-spacing:.025em;text-transform:uppercase;margin:0;font-size:11px}.resume-footer a{font-size:clamp(30px,5.4vw,72px);font-family:var(--display-face);letter-spacing:-.058em;margin-top:18px;font-weight:540;line-height:1;transition:color .22s cubic-bezier(.32,.72,0,1);display:inline-block}.resume-footer a:hover{color:var(--accent)}html[data-theme=moss-archive] .cover-hero,html[data-theme=moss-archive] .resume-hero{grid-template-columns:1.15fr 2.85fr}html[data-theme=moss-archive] .cover-hero h1,html[data-theme=moss-archive] .resume-hero h1{max-width:830px;font-size:clamp(50px,5.5vw,76px)}html[data-theme=moss-archive] .cover-summary,html[data-theme=moss-archive] .resume-intro,html[data-theme=moss-archive] .current-role{border-top:2px solid var(--accent)}html[data-theme=moss-archive] .principle{border-top-color:var(--line-strong)}html[data-theme=moss-archive] .contribution-grid,html[data-theme=moss-archive] .contribution-week{gap:clamp(4px,.58vw,8px)}html[data-theme=after-hours] .cover-hero,html[data-theme=after-hours] .resume-hero{grid-template-columns:280px 1fr;padding-bottom:48px}html[data-theme=after-hours] .cover-hero h1,html[data-theme=after-hours] .resume-hero h1,html[data-theme=after-hours] .current-role-main h2,html[data-theme=after-hours] .approach-section>h2,html[data-theme=after-hours] .work-title h2,html[data-theme=after-hours] .education-section h2{text-transform:uppercase}html[data-theme=after-hours] .cover-hero h1,html[data-theme=after-hours] .resume-hero h1{max-width:1020px;font-size:clamp(46px,4.6vw,62px)}html[data-theme=after-hours] .cover-summary>p,html[data-theme=after-hours] .resume-intro>p{font-family:var(--font-code);letter-spacing:-.015em;font-size:clamp(16px,1.55vw,20px);line-height:1.55}html[data-theme=after-hours] .current-role,html[data-theme=after-hours] .approach-section,html[data-theme=after-hours] .work-section{padding-top:88px;padding-bottom:94px}html[data-theme=after-hours] .principle-grid{grid-template-columns:repeat(4,1fr);gap:26px}html[data-theme=after-hours] .principle{border-top-width:1px}html[data-theme=after-hours] .principle h3{font-family:var(--font-code);text-transform:uppercase;font-size:15px}html[data-theme=after-hours] .principle p{font-size:14px}html[data-theme=after-hours] .contribution-day{box-shadow:none}html[data-theme=after-hours] .contribution-grid,html[data-theme=after-hours] .contribution-week{gap:clamp(2px,.34vw,5px)}html[data-theme=after-hours] .work-row{padding-top:24px;padding-bottom:27px}html[data-theme=fever-dream] body:before{content:"";z-index:3;pointer-events:none;opacity:.18;background:repeating-linear-gradient(0deg,#0000 0 3px,#ff3b2214 3px 4px);position:fixed;inset:0}html[data-theme=fever-dream] .cover-header,html[data-theme=fever-dream] .resume-header{border-bottom:6px solid var(--accent);min-height:64px}html[data-theme=fever-dream] .wordmark,html[data-theme=fever-dream] .cover-nav,html[data-theme=fever-dream] .resume-header nav{text-transform:uppercase}html[data-theme=fever-dream] .cover-hero,html[data-theme=fever-dream] .resume-hero{grid-template-columns:minmax(170px,.62fr) minmax(0,3.38fr);column-gap:28px;min-height:min(760px,100dvh - 64px);padding-bottom:44px}html[data-theme=fever-dream] .cover-name,html[data-theme=fever-dream] .resume-kicker{border-left:8px solid var(--accent);padding-left:14px}html[data-theme=fever-dream] .cover-hero h1,html[data-theme=fever-dream] .resume-hero h1,html[data-theme=fever-dream] .current-role-main h2,html[data-theme=fever-dream] .approach-section>h2,html[data-theme=fever-dream] .work-title h2,html[data-theme=fever-dream] .education-section h2{text-transform:uppercase}html[data-theme=fever-dream] .cover-hero h1,html[data-theme=fever-dream] .resume-hero h1{white-space:nowrap;width:fit-content;max-width:100%;animation:.48s cubic-bezier(.16,1,.3,1) both fever-enter}html[data-theme=fever-dream] .cover-hero h1{font-size:clamp(16px,7cqi,96px)}html[data-theme=fever-dream] .resume-hero h1{font-size:clamp(16px,6.3cqi,76px)}html[data-theme=fever-dream] .resume-hero h1:first-line{color:var(--accent)}html[data-theme=fever-dream] .cover-summary,html[data-theme=fever-dream] .resume-intro{border-top:8px solid var(--accent);grid-template-columns:minmax(0,2fr) minmax(230px,.65fr);gap:28px;padding-top:18px}html[data-theme=fever-dream] .cover-summary>p,html[data-theme=fever-dream] .resume-intro>p{max-width:860px;font-size:clamp(21px,2.25vw,31px);font-weight:650;line-height:1.18}html[data-theme=fever-dream] .primary-action{border:2px solid var(--accent);min-height:58px;font-family:var(--font-code);text-transform:uppercase;font-weight:500}html[data-theme=fever-dream] .primary-action:hover{background:var(--ink);color:var(--paper)}html[data-theme=fever-dream] .github-art{border-top:8px solid var(--accent);padding-top:84px;padding-bottom:84px;overflow:hidden}html[data-theme=fever-dream] .contribution-grid,html[data-theme=fever-dream] .contribution-week{gap:clamp(2px,.3vw,5px)}html[data-theme=fever-dream] .contribution-week:nth-child(4n+1){transform:translateY(calc(0% - var(--fever-stagger)))}html[data-theme=fever-dream] .contribution-week:nth-child(4n+3){transform:translateY(var(--fever-stagger))}html[data-theme=fever-dream] .contribution-day{clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);box-shadow:none}html[data-theme=fever-dream] .contribution-day:hover{filter:none;transform:scale(1.48)rotate(7deg)}html[data-theme=fever-dream] .cover-footer{border-top:6px solid var(--accent);min-height:62px}html[data-theme=fever-dream] .current-role,html[data-theme=fever-dream] .work-section,html[data-theme=fever-dream] .education-section,html[data-theme=fever-dream] .resume-footer{border-top:8px solid var(--accent)}html[data-theme=fever-dream] .current-role{grid-template-columns:.55fr 2.45fr 1fr}html[data-theme=fever-dream] .approach-section{border-top:1px solid var(--line-strong);grid-template-columns:.7fr 3.3fr}html[data-theme=fever-dream] .principle-grid{gap:26px}html[data-theme=fever-dream] .principle{border-top:8px solid var(--accent);border-left:1px solid var(--line-strong);min-height:210px;padding:20px 20px 24px}html[data-theme=fever-dream] .principle:nth-child(2n){transform:translateY(42px)}html[data-theme=fever-dream] .principle h3{text-transform:uppercase;max-width:12ch;font-size:clamp(23px,2.2vw,33px);line-height:.95}html[data-theme=fever-dream] .work-title{grid-template-columns:.55fr 3.45fr}html[data-theme=fever-dream] .work-row{grid-template-columns:.55fr 1.1fr 2.35fr;gap:28px;padding:24px 18px 28px;transition:color .18s cubic-bezier(.16,1,.3,1),background-color .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1)}html[data-theme=fever-dream] .work-row:hover{background:var(--accent);color:var(--action-fg);transform:translate(10px)}html[data-theme=fever-dream] .work-row:hover .work-period,html[data-theme=fever-dream] .work-row:hover .work-company p,html[data-theme=fever-dream] .work-row:hover>p:last-child{color:inherit}html[data-theme=fever-dream] .resume-footer a{text-transform:uppercase;font-weight:850}@keyframes fever-enter{0%{opacity:0;transform:translate(-5%)skew(-7deg)}to{opacity:1;transform:translate(0)skew(-3deg)}}@media (width<=900px){.shell{width:min(100% - 48px, var(--shell-max))}.cover-hero,.resume-hero,.current-role,.approach-section,.work-title,html[data-theme] .cover-hero,html[data-theme] .resume-hero,html[data-theme] .approach-section{grid-template-columns:1fr}html[data-theme=after-hours] .principle-grid{grid-template-columns:1fr 1fr}html[data-theme=fever-dream] .current-role,html[data-theme=fever-dream] .approach-section,html[data-theme=fever-dream] .work-title{grid-template-columns:1fr}.cover-name,.resume-kicker,.hero-title,.cover-summary,.resume-intro{grid-area:auto/1}html[data-theme] .cover-summary,html[data-theme] .resume-intro{grid-template-columns:1fr;gap:32px}.hero-title{align-self:auto}.cover-hero h1,.resume-hero h1{padding:68px 0 76px}.current-role,.approach-section{gap:48px}.current-scope{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.work-row,.education-section{grid-template-columns:.65fr 1fr 1.55fr;gap:28px}}@media (width<=640px){.shell{width:min(100% - 34px, var(--shell-max))}.cover-header,.resume-header{min-height:68px}.cover-nav,.resume-header nav{gap:18px;font-size:12px}.header-tools{gap:14px}.theme-control{min-width:130px}.nav-optional{display:none}.cover-hero,.resume-hero{min-height:auto;padding:54px 0 48px}.cover-hero h1,.resume-hero h1{padding:54px 0 58px;font-size:clamp(49px,14.2vw,68px);line-height:.96}.cover-summary,.resume-intro{grid-template-columns:1fr;gap:32px}.cover-summary>p,.resume-intro>p{font-size:20px}.cover-actions{gap:18px}.github-art{padding:48px 0 54px}.cover-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;min-height:100px;padding:26px 0}.resume-links{grid-template-columns:1fr auto auto;gap:16px}.current-role,.approach-section,.work-section{padding:74px 0 82px}.current-role{gap:36px}.current-scope,.principle-grid,html[data-theme=after-hours] .principle-grid{grid-template-columns:1fr}html[data-theme=fever-dream] .cover-hero h1,html[data-theme=fever-dream] .resume-hero h1{line-height:.84}html[data-theme=fever-dream] .cover-summary,html[data-theme=fever-dream] .resume-intro,html[data-theme=fever-dream] .principle-grid{grid-template-columns:1fr}html[data-theme=fever-dream] .principle:nth-child(2n),html[data-theme=fever-dream] .contribution-week:nth-child(4n+1),html[data-theme=fever-dream] .contribution-week:nth-child(4n+3){transform:none}html[data-theme=fever-dream] .principle{min-height:0}.current-scope{gap:0}.principle-grid{row-gap:42px}.work-title{gap:22px;margin-bottom:48px}.work-row,.education-section{grid-template-columns:1fr;gap:15px}.education-section{padding:62px 0 70px}.resume-footer{min-height:260px}.resume-footer a{font-size:8vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
