.mod.svelte-mzxkij{position:relative;border:1px solid var(--ink);background:var(--paper);padding:clamp(18px,2vw,26px);border-radius:var(--r-card);display:flex;flex-direction:column;height:100%}.mhead.svelte-mzxkij{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.mmark.svelte-mzxkij{font-size:10.5px;letter-spacing:.12em;color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrev.svelte-mzxkij{font-size:9px;letter-spacing:.14em;color:var(--ink);border:1px solid var(--ink);padding:1px 6px;white-space:nowrap;flex:none}.mod.hero.svelte-mzxkij{border:none;background:none;padding:0;height:auto}.htitle.svelte-mzxkij{font-family:var(--display);font-weight:700;font-size:clamp(52px,12vw,150px);line-height:.9;letter-spacing:-.02em;color:var(--ink);margin:clamp(20px,3vw,40px) 0 0;text-transform:uppercase}.hgithub.svelte-mzxkij{display:inline-flex;align-items:baseline;gap:2px;margin-top:16px;text-decoration:none;font-family:var(--display);font-weight:700;font-size:clamp(20px,2.6vw,30px);letter-spacing:-.01em;color:var(--ink);line-height:1;width:fit-content}.hgh-at.svelte-mzxkij{color:var(--mut);font-weight:600}.hgh-arr.svelte-mzxkij{font-size:.62em;color:var(--mut);align-self:center;transition:transform .22s cubic-bezier(.16,1,.3,1),color .22s ease}.hgithub.svelte-mzxkij:hover .hgh-arr:where(.svelte-mzxkij),.hgithub.svelte-mzxkij:focus-visible .hgh-arr:where(.svelte-mzxkij){transform:translate(2px,-2px);color:var(--ink)}.hgithub.svelte-mzxkij{border-bottom:1px solid transparent;transition:border-color .22s ease}.hgithub.svelte-mzxkij:hover,.hgithub.svelte-mzxkij:focus-visible{border-bottom-color:var(--ink)}.hgithub.svelte-mzxkij:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.hbody.svelte-mzxkij{margin-top:22px;font-size:clamp(14px,1.5vw,17px);line-height:1.55;color:var(--text);max-width:52ch;letter-spacing:.01em}.hmeta.svelte-mzxkij{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:10.5px;letter-spacing:.12em;color:var(--mut)}.hmeta.svelte-mzxkij span:where(.svelte-mzxkij){border:1px solid var(--line);padding:4px 9px}.cta.svelte-mzxkij{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}.btn.svelte-mzxkij{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:11px 18px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;border-radius:var(--r-pill);background:var(--paper);transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease,color .18s ease}.btn-ix.svelte-mzxkij{font-size:9px;color:var(--ink-soft)}.btn.svelte-mzxkij:hover{transform:translateY(-1px);background:var(--ink);color:var(--on-ink)}.btn.svelte-mzxkij:hover .btn-ix:where(.svelte-mzxkij){color:var(--on-ink)}.btn.svelte-mzxkij:active{transform:translateY(0)}.btn.solid.svelte-mzxkij{background:var(--ink);color:var(--on-ink)}.btn.solid.svelte-mzxkij .btn-ix:where(.svelte-mzxkij){color:var(--on-ink)}.btn.solid.svelte-mzxkij:hover{background:var(--ink-deep);border-color:var(--ink-deep)}.btn.svelte-mzxkij:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.mod.project.svelte-mzxkij{position:relative;overflow:hidden;padding:0}.psplit.svelte-mzxkij{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);direction:rtl;align-items:stretch;min-height:100%}.psplit.svelte-mzxkij>:where(.svelte-mzxkij){direction:ltr}.ticks.svelte-mzxkij{position:absolute;inset:var(--tick-in,7px);z-index:3;pointer-events:none;opacity:var(--tick-o,.35);background:conic-gradient(from 90deg at top left,var(--ink) 90deg,transparent 0) top left/13px 13px no-repeat,conic-gradient(from 180deg at top right,var(--ink) 90deg,transparent 0) top right/13px 13px no-repeat,conic-gradient(from 0deg at bottom left,var(--ink) 90deg,transparent 0) bottom left/13px 13px no-repeat,conic-gradient(from -90deg at bottom right,var(--ink) 90deg,transparent 0) bottom right/13px 13px no-repeat}.pbody.svelte-mzxkij{display:flex;flex-direction:column;padding:clamp(20px,2.4vw,34px)}.pline.svelte-mzxkij{font-size:10.5px;letter-spacing:.16em;color:var(--ink);margin:12px 0}.shot.svelte-mzxkij{position:relative;border-left:1px solid var(--ink);overflow:hidden;background:var(--paper);margin:0;min-height:clamp(240px,26vw,360px)}.shot.svelte-mzxkij img:where(.svelte-mzxkij){display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transform:scale(1);transform-origin:top center;will-change:transform}.shot.svelte-mzxkij figcaption:where(.svelte-mzxkij){position:absolute;left:0;bottom:0;font-size:8.5px;letter-spacing:.14em;color:var(--on-ink);background:var(--ink);padding:2px 6px}.shot.noimg.svelte-mzxkij{--grid:var(--ink-faint);background:repeating-linear-gradient(0deg,transparent 0 15px,var(--grid) 15px 16px),repeating-linear-gradient(90deg,transparent 0 15px,var(--grid) 15px 16px);display:flex;align-items:center;justify-content:center}.shot-ph.svelte-mzxkij{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.4vw,30px);letter-spacing:.06em;color:var(--ink-soft)}.pname.svelte-mzxkij{font-family:var(--display);font-weight:700;font-size:clamp(26px,2.4vw,38px);letter-spacing:-.01em;color:var(--text);line-height:1}.pwhat.svelte-mzxkij{margin-top:12px;font-size:13px;line-height:1.5;color:var(--text);max-width:44ch}.readout.svelte-mzxkij{display:flex;align-items:baseline;gap:12px;margin-top:16px;padding:8px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.rlabel.svelte-mzxkij{font-size:10px;letter-spacing:.14em;color:var(--mut);flex:none}.rval.svelte-mzxkij{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums}.specrow.svelte-mzxkij{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:10px;letter-spacing:.1em;color:var(--mut)}.chips.svelte-mzxkij{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;list-style:none}.chips.svelte-mzxkij li:where(.svelte-mzxkij){font-size:10px;letter-spacing:.08em;padding:3px 8px;border:1px solid var(--line);color:var(--text);text-transform:uppercase}.mfoot.svelte-mzxkij{margin-top:auto;padding-top:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.links.svelte-mzxkij{display:flex;gap:6px 14px;flex-wrap:wrap}.links.svelte-mzxkij a:where(.svelte-mzxkij){position:relative;display:inline-flex;align-items:center;min-height:46px;padding:0 2px;font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--ink);text-decoration:none;transition:border-color .18s ease}.links.svelte-mzxkij a:where(.svelte-mzxkij):after{content:"";position:absolute;left:2px;right:2px;bottom:9px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.16,1,.3,1)}.links.svelte-mzxkij a:where(.svelte-mzxkij):hover:after,.links.svelte-mzxkij a:where(.svelte-mzxkij):focus-visible:after{transform:scaleX(1)}.links.svelte-mzxkij a:where(.svelte-mzxkij):focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sn.svelte-mzxkij{font-size:9.5px;letter-spacing:.1em;color:var(--mut);white-space:nowrap;font-variant-numeric:tabular-nums}.tkicker.svelte-mzxkij{font-size:11px;letter-spacing:.1em;color:var(--mut);text-transform:uppercase;margin-bottom:12px}.lead.svelte-mzxkij{font-size:15px;line-height:1.55;color:var(--text);max-width:60ch}.body.svelte-mzxkij{font-size:14px;line-height:1.6;color:var(--text);max-width:64ch}.lead.svelte-mzxkij+.body:where(.svelte-mzxkij),.tkicker.svelte-mzxkij+.body:where(.svelte-mzxkij){margin-top:12px}.spectable.svelte-mzxkij{margin-top:16px;list-style:none;display:grid}.spectable.svelte-mzxkij li:where(.svelte-mzxkij){display:grid;grid-template-columns:160px 1fr;gap:20px;padding:12px 0;border-top:1px solid var(--line)}.spectable.svelte-mzxkij li:where(.svelte-mzxkij):first-child{border-top:1px solid var(--ink)}.spectable.svelte-mzxkij li:where(.svelte-mzxkij):last-child{border-bottom:1px solid var(--ink)}.skey.svelte-mzxkij{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.sval.svelte-mzxkij{font-size:13px;line-height:1.5;color:var(--text)}.statgrid.svelte-mzxkij{margin-top:18px;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.statgrid.svelte-mzxkij li:where(.svelte-mzxkij){padding:16px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;flex-direction:column;gap:8px}.sfig.svelte-mzxkij{font-family:var(--display);font-weight:700;font-size:clamp(28px,3vw,40px);line-height:1;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums}.sfoot.svelte-mzxkij{font-size:11px;letter-spacing:.06em;color:var(--text);line-height:1.4;text-transform:uppercase}.log.svelte-mzxkij{margin-top:16px;list-style:none;display:grid;gap:0}.log.svelte-mzxkij li:where(.svelte-mzxkij){display:grid;grid-template-columns:28px 1fr;gap:14px;padding:14px 0;font-size:13.5px;line-height:1.55;color:var(--text);border-top:1px solid var(--line)}.log.svelte-mzxkij li:where(.svelte-mzxkij):first-child{border-top:1px solid var(--ink)}.lix.svelte-mzxkij{font-size:10px;letter-spacing:.1em;color:var(--ink);padding-top:3px}.timeline.svelte-mzxkij{margin-top:20px;list-style:none;display:grid}.timeline.svelte-mzxkij li:where(.svelte-mzxkij){position:relative;display:grid;grid-template-columns:132px 1fr;gap:22px;padding:20px 0 20px 30px}.tl-rail.svelte-mzxkij{position:absolute;left:5px;top:0;bottom:0;width:1px;background:var(--ink-faint)}.timeline.svelte-mzxkij li:where(.svelte-mzxkij):first-child .tl-rail:where(.svelte-mzxkij){top:24px}.timeline.svelte-mzxkij li:where(.svelte-mzxkij):last-child .tl-rail:where(.svelte-mzxkij){bottom:auto;height:24px}.tl-node.svelte-mzxkij{position:absolute;left:0;top:20px;width:11px;height:11px;font-size:11px;line-height:1;color:var(--ink);background:var(--paper);display:flex;align-items:center;justify-content:center}.tl-period.svelte-mzxkij{display:flex;flex-direction:column;gap:5px;padding-top:1px}.tl-yrs.svelte-mzxkij{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.01em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.25}.tl-kind.svelte-mzxkij{font-size:9px;letter-spacing:.16em;color:var(--mut);border:1px solid var(--line);padding:1px 5px;align-self:flex-start}.tl-head.svelte-mzxkij{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tl-place.svelte-mzxkij{font-family:var(--display);font-weight:700;font-size:clamp(16px,1.6vw,20px);letter-spacing:-.01em;color:var(--text);line-height:1.15}.tl-live.svelte-mzxkij{font-size:9px;letter-spacing:.14em;color:var(--on-ink);background:var(--ink);padding:2px 6px}.tl-role.svelte-mzxkij{display:block;margin-top:5px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.tl-detail.svelte-mzxkij{margin-top:9px;font-size:13px;line-height:1.55;color:var(--text);max-width:52ch}.timeline.svelte-mzxkij li.current:where(.svelte-mzxkij) .tl-node:where(.svelte-mzxkij){color:var(--ink);animation:svelte-mzxkij-tl-pulse 2.4s ease-in-out infinite}@keyframes svelte-mzxkij-tl-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.timeline.svelte-mzxkij li.current:where(.svelte-mzxkij) .tl-node:where(.svelte-mzxkij){animation:none}}@media (prefers-reduced-motion:no-preference){.timeline.svelte-mzxkij li:where(.svelte-mzxkij){animation:svelte-mzxkij-tl-row-in .55s both cubic-bezier(.16,1,.3,1);animation-timeline:view();animation-range:entry 0% cover 20%;animation-delay:calc(var(--ti,0)*90ms)}@keyframes svelte-mzxkij-tl-row-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tl-rail.svelte-mzxkij{transform:scaleY(0);transform-origin:top;animation:svelte-mzxkij-tl-rail-in .6s both cubic-bezier(.16,1,.3,1);animation-timeline:view();animation-range:entry 0% cover 22%;animation-delay:calc(var(--ti,0)*90ms + 80ms)}@keyframes svelte-mzxkij-tl-rail-in{to{transform:scaleY(1)}}.tl-node.svelte-mzxkij{animation:svelte-mzxkij-tl-node-pop .5s both cubic-bezier(.16,1,.3,1);animation-timeline:view();animation-range:entry 0% cover 18%;animation-delay:calc(var(--ti,0)*90ms + .18s)}@keyframes svelte-mzxkij-tl-node-pop{0%{transform:scale(.72);opacity:0}to{transform:scale(1);opacity:1}}.timeline.svelte-mzxkij li:where(.svelte-mzxkij){transition:transform .28s cubic-bezier(.16,1,.3,1)}.timeline.svelte-mzxkij li:where(.svelte-mzxkij):hover{transform:translate(4px)}.timeline.svelte-mzxkij li:where(.svelte-mzxkij):hover .tl-node:where(.svelte-mzxkij){color:var(--ink);transform:scale(1.25)}.tl-node.svelte-mzxkij{transition:transform .28s cubic-bezier(.16,1,.3,1),color .28s ease}.tl-place.svelte-mzxkij{transition:color .24s ease}.timeline.svelte-mzxkij li:where(.svelte-mzxkij):hover .tl-place:where(.svelte-mzxkij){color:var(--ink)}}@media (max-width:820px){.psplit.svelte-mzxkij{grid-template-columns:1fr;direction:ltr}.shot.svelte-mzxkij{border-right:none;border-left:none;border-bottom:1px solid var(--ink);min-height:clamp(200px,42vw,300px)}}@media (max-width:640px){.htitle.svelte-mzxkij{font-size:clamp(44px,15vw,80px)}.spectable.svelte-mzxkij li:where(.svelte-mzxkij){grid-template-columns:1fr;gap:4px}.spectable.svelte-mzxkij .skey:where(.svelte-mzxkij){font-size:11px}}@media (max-width:520px){.mod.svelte-mzxkij{padding:16px 14px}.statgrid.svelte-mzxkij{grid-template-columns:1fr}.hmeta.svelte-mzxkij{gap:6px}.hmeta.svelte-mzxkij span:where(.svelte-mzxkij){padding:3px 7px;font-size:9.5px;letter-spacing:.08em}.mfoot.svelte-mzxkij{flex-direction:column;align-items:flex-start;gap:10px}.cta.svelte-mzxkij{gap:8px}.btn.svelte-mzxkij{padding:10px 14px;font-size:11px}.hbody.svelte-mzxkij,.pwhat.svelte-mzxkij,.body.svelte-mzxkij,.lead.svelte-mzxkij{letter-spacing:0}.readout.svelte-mzxkij{flex-wrap:wrap;gap:4px 12px}.timeline.svelte-mzxkij li:where(.svelte-mzxkij){grid-template-columns:1fr;gap:10px;padding:16px 0 16px 28px}.tl-period.svelte-mzxkij{flex-direction:row;align-items:center;gap:10px}}.sec.svelte-w51vdh{position:relative;z-index:1;padding:0 clamp(16px,4vw,48px);background:transparent;transition:background .4s ease}.sec[data-section=projects].svelte-w51vdh{--paper:#ffb8b0;--paper-2:#f7a29a}.sec[data-section=experience].svelte-w51vdh{--paper:#cfffb0;--paper-2:#baf29a}.inner.svelte-w51vdh{width:min(1280px,100%);margin:0 auto;padding:clamp(48px,7vw,88px) 0}.first.svelte-w51vdh .inner:where(.svelte-w51vdh){min-height:calc(100dvh - 52px);display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(40px,6vw,72px) 0 clamp(48px,7vw,88px)}.band-head.svelte-w51vdh{display:flex;align-items:center;gap:14px;margin-bottom:clamp(24px,3vw,40px)}.band-ix.svelte-w51vdh{font-size:11px;letter-spacing:.16em;color:var(--ink);border:1px solid var(--ink);padding:2px 7px;font-variant-numeric:tabular-nums}.band-label.svelte-w51vdh{font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text)}.band-rule.svelte-w51vdh{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--ink) 0 6px,transparent 6px 12px);opacity:.5}.band-tag.svelte-w51vdh{font-size:10px;letter-spacing:.18em;color:var(--mut);white-space:nowrap}.first.svelte-w51vdh .band-head:where(.svelte-w51vdh){margin-bottom:clamp(20px,2.5vw,32px)}.grid.svelte-w51vdh{display:grid;grid-template-columns:1fr;gap:clamp(14px,1.6vw,20px)}.sec[data-section=projects].svelte-w51vdh .grid:where(.svelte-w51vdh){grid-template-columns:1fr;gap:clamp(40px,8vh,110px);padding:6vh 0}@media (prefers-reduced-motion:no-preference){.reveal.svelte-w51vdh{animation:svelte-w51vdh-mod-in .55s both cubic-bezier(.16,1,.3,1);animation-timeline:view();animation-range:entry 4% cover 22%}@keyframes svelte-w51vdh-mod-in{0%{opacity:0;transform:translateY(12px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}.sec[data-section=projects].svelte-w51vdh .reveal:where(.svelte-w51vdh){clip-path:none;--focus:0;--edge:calc(1 - var(--focus));--tick-o:calc(.12 + var(--focus) * .88);--tick-in:calc(var(--edge) * 16px);animation:none;opacity:calc(.58 + var(--focus) * .42);filter:blur(calc(var(--edge) * .7px));transform:scale(calc(.965 + var(--focus) * .035));transform-origin:center center;will-change:transform,opacity,filter;transition:opacity .06s linear,filter .06s linear,transform .06s linear}}@media (max-width:820px){.sec[data-section=projects].svelte-w51vdh .grid:where(.svelte-w51vdh){gap:clamp(16px,4vw,26px)}@media (prefers-reduced-motion:no-preference){.sec[data-section=projects].svelte-w51vdh .reveal:where(.svelte-w51vdh){opacity:calc(.72 + var(--focus) * .28);filter:none;transform:scale(calc(.985 + var(--focus) * .015));will-change:transform,opacity;transition:opacity .06s linear,transform .06s linear}}}@media (max-width:520px){.band-tag.svelte-w51vdh{display:none}.band-head.svelte-w51vdh{gap:10px}.band-label.svelte-w51vdh{font-size:11px;letter-spacing:.14em}.band-ix.svelte-w51vdh{font-size:10px;padding:2px 6px}}.ssr.svelte-1uha8ag{max-width:680px;margin:0 auto;padding:120px 24px;position:relative;z-index:20}
