@import"https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap";.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg: #ffffff;--line: #ececec;--line-soft: rgba(20, 17, 15, .06);--ink: #202b37;--ink-read: #2b3642;--ink-2: #4d5b69;--ink-3: #8d97a2;--ink-4: #9aa5af;--nav: #98a3ad;--line-strong: #e0e0e0;--chip: #ededed;--chip-ink: #222222;--brand: #51b604;--frame-w: min(31.5rem, calc(100vw - 2rem) );--font: "General Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease-out: cubic-bezier(.2, .7, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--reveal-dur: .52s;--reveal-shift: 12px;--reveal-blur: 6px}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-weight:500;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}img{display:block;max-width:100%}.skip-link{position:absolute;left:1rem;top:1rem;transform:translateY(-200%);background:var(--ink);color:#fff;padding:.8rem 1rem;border-radius:999px;z-index:40;text-decoration:none}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.page{min-height:100vh;background:var(--bg);padding:0 1rem 4rem}.page-bleed{overflow-x:clip;overflow-clip-margin:3rem}.frame,.home-frame{width:var(--frame-w);margin:0 auto}.topbar,.home-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1.75rem;padding:clamp(4.8rem,9vw,7.2rem) 0 2rem}.topbar.nav-intro{animation:nav-intro .62s var(--ease-out) both}@keyframes nav-intro{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}.brand,.home-logo{display:inline-flex;text-decoration:none;flex:0 0 auto}.brand-logo{display:block;width:auto;height:2rem;transform-origin:55% 72%;transition:transform .32s cubic-bezier(.2,.7,.3,1)}.brand:hover .brand-logo,.brand:focus-visible .brand-logo,.brand-logo.is-tilted{transform:rotate(12deg) translate(3px)}.brand img,.home-logo img{width:1.9rem;height:auto}.topnav,.home-nav{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap;padding-top:.3rem}.topnav a,.home-nav a{color:var(--nav);text-decoration:none;font-size:.94rem;font-weight:500;letter-spacing:-.03em;transition:color .16s ease}.topnav a:hover,.home-nav a:hover,.topnav a:focus-visible{color:var(--ink)}.topnav a{position:relative}.topnav a.is-active{color:var(--brand)}.nav-underline{position:absolute;left:0;right:0;bottom:-.35rem;height:2px;border-radius:2px;background:var(--brand);opacity:0;pointer-events:none}.topnav a.is-active .nav-underline{opacity:1;view-transition-name:nav-underline}::view-transition-group(nav-underline){animation-duration:.38s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(nav-underline),::view-transition-new(nav-underline){animation:none;mix-blend-mode:normal;height:100%}.nav-underline-exit::view-transition-old(nav-underline){animation:nav-underline-out .26s var(--ease-out) both}@keyframes nav-underline-out{to{opacity:0}}.topbar{view-transition-name:site-nav}.nav-detached .topbar,.nav-detached .topnav a.is-active .nav-underline{view-transition-name:none}::view-transition-old(root){animation:page-leave .24s cubic-bezier(.4,0,.2,1) both}::view-transition-new(root){animation:page-enter .36s cubic-bezier(.2,.7,.3,1) both}@keyframes page-leave{to{opacity:0;transform:translateY(-6px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}}.floating-nav{position:fixed;top:.9rem;left:50%;z-index:100;width:var(--frame-w);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .7rem .5rem .95rem;border-radius:999px;background:#ffffffad;-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);border:1px solid rgba(255,255,255,.65);box-shadow:0 6px 24px #18212b1a,0 1px #fff9 inset,0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translate(-50%) translateY(-150%);transition:opacity .28s ease,transform .36s cubic-bezier(.2,.7,.3,1),visibility 0s linear .36s}.floating-nav.is-visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);transition:opacity .28s ease,transform .36s cubic-bezier(.2,.7,.3,1),visibility 0s}.floating-brand{display:inline-flex;flex:0 0 auto;text-decoration:none}.floating-brand svg{display:block;transform-origin:55% 72%;transition:transform .32s cubic-bezier(.2,.7,.3,1)}.floating-brand:hover svg,.floating-brand:focus-visible svg{transform:rotate(12deg) translate(2px)}.floating-links{display:flex;align-items:center;gap:1rem}.floating-links a{color:var(--nav);text-decoration:none;font-size:.88rem;font-weight:500;letter-spacing:-.03em;transition:color .16s ease}.floating-links a:hover,.floating-links a:focus-visible{color:var(--ink)}.floating-links a.is-active{color:var(--brand)}.nav-ext{display:inline-block;width:.82em;height:.82em;margin-left:.22em;vertical-align:middle;transform:translateY(-.04em)}@media(prefers-reduced-motion:reduce){.floating-nav{transform:translate(-50%);transition:opacity .2s ease,visibility 0s linear .2s}.floating-nav.is-visible{transform:translate(-50%);transition:opacity .2s ease,visibility 0s}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.intro,.home-intro{padding-top:0}.intro h1,.home-intro h1{margin:0;font-family:var(--font);line-height:1.04;letter-spacing:-.05em;color:var(--ink);font-size:1.78rem;font-weight:640}.subtitle,.home-subtitle{margin:.22rem 0 1.4rem;color:var(--ink-3);font-size:.97rem;letter-spacing:-.03em}.intro p,.home-intro p{margin:0 0 1.15rem;color:var(--ink-3);font-size:.9rem;line-height:1.5;letter-spacing:-.02em}.intro p a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line)}.intro p a:hover{color:var(--ink);border-color:currentColor}.chip-row,.home-chip-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.05rem 0 1.55rem}.chip-row a,.chip-row span,.home-chip-row a{display:inline-flex;align-items:center;min-height:2.35rem;padding:0 .95rem;border-radius:999px;background:var(--chip);text-decoration:none;color:var(--chip-ink);font-size:.84rem;font-weight:530;letter-spacing:-.02em;transition:background-color .16s ease,transform .16s ease}.chip-row-static span{color:var(--ink-2)}.chip-row a:hover,.home-chip-row a:hover{background:#e3e3e3;transform:translateY(-1px)}.home-media{width:100%;aspect-ratio:1.92 / 1;border:0;border-radius:1.35rem;background:#dfece6;display:grid;place-items:center;cursor:pointer;margin:0 0 1.85rem}.home-media-play{width:5.1rem;height:auto}.list-section,.home-list-section{margin-top:0}.list-section+.list-section,.home-list-section+.home-list-section{margin-top:1.6rem}.list-section h2,.home-list-section h2{margin:0 0 .85rem;font-family:var(--font);font-size:1.12rem;font-weight:700;letter-spacing:-.045em;color:var(--ink)}.line-list,.home-line-list{list-style:none;margin:0;padding:0}.line-list li,.home-line-list li{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;color:var(--ink-2);font-size:.9rem;padding:.3rem 0;letter-spacing:-.02em}.line-list li span:last-child,.home-line-list li span:last-child{color:var(--ink-4)}.home-project-list{list-style:none;margin:0;padding:0}.home-project-list li a,.home-project-list li .home-project-soon{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;text-decoration:none;color:var(--ink-2);font-size:.9rem;padding:.3rem 0;letter-spacing:-.02em;transition:opacity .2s ease,color .2s ease}.home-project-list li .home-project-soon{cursor:default;opacity:.5}[data-preview-zone]{position:relative}[data-preview-zone].is-previewing .home-project-list li a:not(.is-active){opacity:.4}.home-project-list li a.is-active .home-project-title{color:var(--ink)}.home-project-list li a.is-active .home-project-action{color:var(--ink-2)}.home-project-title{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.home-project-title img{width:1.35rem;height:1.35rem;flex:0 0 auto}.home-project-title .project-icon{flex:0 0 auto;width:1.5rem;height:1.35rem;color:var(--ink)}.home-project-title span{min-width:0}.home-project-action{color:var(--ink-4)}.home-project-list li a:hover .home-project-action{color:var(--ink-2)}.home-project-more,.list-more{margin:.7rem 0 0;text-align:right}.home-project-more a,.list-more a{color:var(--ink-4);text-decoration:none;font-size:.9rem;letter-spacing:-.02em}.home-project-more a:hover,.list-more a:hover{color:var(--ink-2)}.work-years{margin-top:1.4rem;display:grid;gap:1.5rem}.work-year-label{margin:0 0 .35rem;color:var(--ink-4);font-size:.9rem;letter-spacing:-.02em}.note-list{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}.note h3{margin:0 0 .3rem;font-size:.96rem;font-weight:600;letter-spacing:-.03em;color:var(--ink)}.note p{margin:0;color:var(--ink-3);font-size:.88rem;line-height:1.5;letter-spacing:-.02em}.callout{margin:0;padding:1rem 0 1rem 1rem;border-left:2px solid var(--ink-4)}.callout p{margin:0;color:var(--ink-3);font-size:.9rem;line-height:1.55;letter-spacing:-.02em}.resume-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.exp-list{list-style:none;margin:0;padding:0;display:grid;gap:1.35rem}.exp-top{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline}.exp-role{color:var(--ink);font-size:.94rem;font-weight:600;letter-spacing:-.03em}.exp-period{color:var(--ink-4);font-size:.84rem;white-space:nowrap}.exp-company{margin:.1rem 0 .5rem;color:var(--ink-3);font-size:.86rem;letter-spacing:-.02em}.exp-bullets{margin:0;padding-left:1.05rem;display:grid;gap:.35rem}.exp-bullets li{color:var(--ink-3);font-size:.86rem;line-height:1.45;letter-spacing:-.02em}.edu-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.edu-list h3{margin:0;font-size:.92rem;font-weight:600;letter-spacing:-.03em;color:var(--ink)}.edu-list p{margin:.12rem 0 0;color:var(--ink-3);font-size:.85rem;letter-spacing:-.02em}.site-foot{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.foot-copy{margin:0;color:var(--ink-4);font-size:.82rem;letter-spacing:-.02em}.foot-links{display:flex;flex-wrap:wrap;gap:1.1rem}.foot-links a{color:var(--ink-3);text-decoration:none;font-size:.84rem;letter-spacing:-.02em;transition:color .16s ease}.foot-links a:hover{color:var(--ink)}.foot-sticker{display:inline-flex}.foot-sticker span{display:inline-block;white-space:pre;transition:color .22s ease,transform .2s ease}.foot-sticker:hover span{color:var(--c);animation:sticker-bounce .62s ease calc(var(--i) * .06s) infinite}@keyframes sticker-bounce{0%,55%,to{transform:translateY(0)}25%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.foot-sticker:hover span{animation:none}}.about-tldr{display:flex;width:fit-content;align-items:center;gap:.85rem;margin:.3rem 0 2.4rem;padding:.55rem 1.15rem .55rem .55rem;border:1px solid var(--line);border-radius:16px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}.about-tldr:hover,.about-tldr:focus-visible{border-color:var(--ink-4);box-shadow:0 10px 26px #14110f14}.about-tldr:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.about-avatar{position:relative;flex:0 0 auto;width:4rem;height:4rem;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#eaf0ff,#d8e2f3)}.about-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about-avatar img.is-missing{display:none}.about-avatar img:not(.is-missing)+.about-avatar-ph{display:none}.about-avatar-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:.95rem;font-weight:640;letter-spacing:-.02em;color:#7c8aa0}.about-tldr-trigger{display:grid;gap:.15rem}.about-tldr-label{color:var(--ink);font-size:.98rem;font-weight:640;letter-spacing:-.03em}.about-tldr-hint{display:inline-flex;align-items:center;gap:.32rem;color:var(--ink-4);font-size:.85rem;letter-spacing:-.02em}.tldr-lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,4rem);background:#12100e99;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;cursor:zoom-out;transition:opacity .3s ease,visibility .3s ease}.tldr-lightbox.is-open{opacity:1;visibility:visible}.tldr-panel{position:relative;cursor:default;width:min(38rem,100%);max-height:84vh;overflow-y:auto;display:grid;justify-items:start;gap:1.1rem;padding:clamp(1.6rem,4vw,2.4rem);border-radius:20px;background:var(--bg);box-shadow:0 40px 120px #00000080;transform:scale(.94);transition:transform .34s cubic-bezier(.2,.74,.28,1)}.tldr-lightbox.is-open .tldr-panel{transform:scale(1)}.tldr-panel-avatar{width:4.5rem;height:4.5rem}.tldr-panel-label{margin:0;color:var(--ink-4);font-size:.92rem;letter-spacing:-.02em}.tldr-panel-copy{display:grid;gap:.85rem}.tldr-panel-copy p{margin:0;color:var(--ink-read);font-size:.95rem;line-height:1.62;letter-spacing:-.02em}.tldr-close{position:absolute;top:.9rem;right:.9rem;width:2rem;height:2rem;display:grid;place-items:center;border:none;border-radius:999px;background:var(--chip);color:var(--ink-3);cursor:pointer;transition:background .16s ease,color .16s ease}.tldr-close:hover{background:#e3e3e3;color:var(--ink)}@media(prefers-reduced-motion:reduce){.tldr-lightbox{transition:opacity .12s ease,visibility .12s ease}.tldr-panel{transition:none}}.about-section+.about-section{margin-top:2.6rem}.about-figure{margin:0 0 1.6rem}.about-figure img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line)}.about-body{display:grid;gap:1rem}.about-body p{margin:0;color:var(--ink-3);font-size:.9rem;line-height:1.55;letter-spacing:-.02em}.about-body em{font-style:italic;color:var(--ink-2)}.about-q{font-style:italic;color:var(--ink-4)!important}.about-steps{list-style:none;margin:1.3rem 0 1.2rem;padding:0;display:grid;gap:1.1rem}.about-step{display:grid;gap:.25rem}.step-title{margin:0;color:var(--ink);font-size:.98rem;font-weight:560;letter-spacing:-.03em}.step-body{margin:0;color:var(--ink-3);font-size:.88rem;line-height:1.5;letter-spacing:-.02em}.about-checks{margin:0;padding:0;display:grid;gap:.25rem;list-style:none}.about-checks li{color:var(--ink-3);font-size:.9rem;line-height:1.5;letter-spacing:-.02em}.about-checks li:before{content:"– ";color:var(--ink-4)}.about-shelf-label{color:var(--ink-2)!important}.artifact-frame{width:var(--frame-w);margin:0 auto}.cs-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:start}.cs-grid .artifact-frame{grid-column:2}.cs-rail{grid-column:1;justify-self:start;align-self:start;position:sticky;top:7rem;width:min(12rem,100%);padding-left:1.5rem;display:none}.cs-rail-back{display:inline-block;margin-bottom:1.3rem;color:var(--ink-4);text-decoration:none;font-size:.85rem;letter-spacing:-.02em;transition:color .16s ease}.cs-rail-back:hover{color:var(--ink-2)}.cs-rail-title{display:block;color:var(--ink-4);text-decoration:none;font-size:.82rem;line-height:1.3;letter-spacing:-.02em;opacity:0;max-height:0;margin-bottom:0;overflow:hidden;pointer-events:none;transition:opacity .24s ease,max-height .32s ease,margin-bottom .32s ease}.cs-rail.is-scrolled .cs-rail-title{opacity:1;max-height:4rem;margin-bottom:1.3rem;pointer-events:auto}.cs-rail-title:hover{color:var(--ink)}.cs-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:1rem;max-height:calc(100vh - 11rem);overflow-y:auto}.cs-toc a{position:relative;display:block;color:var(--ink-4);text-decoration:none;font-size:.82rem;line-height:1.3;letter-spacing:-.02em;transition:opacity .22s ease,color .22s ease}.cs-toc a.is-active{color:var(--ink)}.cs-toc a.is-active:before{content:"";position:absolute;left:-1.35rem;top:.5em;width:16px;height:9px;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='9'%20viewBox='0%200%2016%209'%20fill='none'%20stroke='%239aa5af'%20stroke-width='1.6'%20stroke-linecap='round'%3E%3Cpath%20d='M1%205%20Q3%201.5%205%205%20T9%205%20T13%205'/%3E%3C/svg%3E") no-repeat center / contain}.cs-toc:hover a{opacity:.35}.cs-toc a:hover{opacity:1;color:var(--ink)}@media(min-width:1100px){.cs-rail{display:block}.cs-back-inline{display:none}}.cs-section{transition:opacity .3s ease}.cs-section.is-dimmed{opacity:.22}.artifact-hero{margin:0}.artifact-hero-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:repeating-linear-gradient(135deg,#fafbfc 0 12px,#f4f5f6 12px 24px)}.artifact-hero-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in}.artifact-hero-frame img.is-missing{display:none}.artifact-hero-ph{position:absolute;inset:0;display:flex;flex-direction:column;gap:.45rem;align-items:center;justify-content:center;text-align:center;padding:1.4rem}.artifact-hero-frame img:not(.is-missing)+.artifact-hero-ph{display:none}.artifact-hero-tag{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.artifact-hero-note{max-width:42ch;font-size:.84rem;line-height:1.45;letter-spacing:-.01em;color:var(--ink-3)}.cs-tags{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.cs-tags li{padding:.22rem .62rem;font-size:.72rem;font-weight:500;letter-spacing:-.01em;color:var(--ink-3);background:#f4f5f6;border-radius:999px}.artifact-holder{display:flex;flex-direction:column;gap:3rem}.artifact-intro{display:flex;flex-direction:column;gap:1rem}.artifact-back{align-self:flex-start;color:var(--ink-4);text-decoration:none;font-size:.85rem;letter-spacing:-.02em;transition:color .16s ease}.artifact-back:hover{color:var(--ink-2)}.artifact-head{display:flex;flex-direction:column;gap:.4rem}.artifact-head h1{margin:0;font-size:1.5rem;font-weight:640;line-height:1.1;letter-spacing:-.045em;color:var(--ink)}.artifact-date{margin:0;color:var(--ink-4);font-size:.86rem;letter-spacing:-.02em}.artifact-summary{margin:0;color:var(--ink-2);font-size:1rem;line-height:1.55;letter-spacing:-.02em}.artifact-pills{margin:.2rem 0 0}.artifact-cover{margin:0;border-radius:1rem;overflow:hidden;background:#f4f5f6}.artifact-cover img{width:100%;height:auto}.artifact-section{display:flex;flex-direction:column;gap:1rem}.artifact-section-head{display:flex;align-items:center;gap:1rem;width:100%}.artifact-section-head h2{margin:0;font-size:1.05rem;font-weight:640;letter-spacing:-.04em;color:var(--ink);white-space:nowrap}.artifact-section-line{flex:1 0 0;min-width:1px;height:1px;background:var(--line-strong);border-radius:2px}.artifact-outcomes{margin:0;padding-left:1.2rem;display:grid;gap:.5rem;list-style:disc}.artifact-outcomes li{color:var(--ink-read);font-size:.92rem;line-height:1.55;letter-spacing:-.02em}.artifact-outcomes li::marker{color:var(--ink-4)}.artifact-foot-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--line)}.artifact-foot-nav a{color:var(--ink-3);text-decoration:none;font-size:.88rem;letter-spacing:-.02em;transition:color .16s ease}.artifact-foot-nav a:hover{color:var(--ink)}.prose{color:var(--ink-read)}.prose>:first-child{margin-top:0}.prose h2{display:flex;align-items:center;gap:1rem;margin:2.6rem 0 1.1rem;font-size:1.05rem;font-weight:640;letter-spacing:-.04em;color:var(--ink);scroll-margin-top:1.5rem}.prose h2:after{content:"";flex:1 0 0;min-width:1px;height:1px;background:var(--line-strong);border-radius:2px}.prose h3{margin:1.8rem 0 .6rem;font-size:.96rem;font-weight:640;letter-spacing:-.03em;color:var(--ink)}.prose p{margin:0 0 1rem;font-size:.95rem;line-height:1.62;letter-spacing:-.02em}.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.3rem;display:grid;gap:.4rem}.prose li{font-size:.95rem;line-height:1.55;letter-spacing:-.02em}.prose li::marker{color:var(--ink-4)}.prose strong{color:var(--ink);font-weight:640}.prose table{width:100%;border-collapse:collapse;margin:1.3rem 0;font-size:.88rem}.prose thead{display:none}.prose td{text-align:left;padding:.5rem 0;border-bottom:1px solid var(--line-soft);vertical-align:top;letter-spacing:-.01em;line-height:1.5}.prose tr:last-child td{border-bottom:none}.prose td:first-child{width:7.5rem;padding-right:1.2rem;color:var(--ink-4);font-weight:500;white-space:nowrap}.prose td:nth-child(2){color:var(--ink-read)}.prose a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-strong);transition:border-color .2s ease}.prose a:hover{border-color:var(--ink-3)}.prose blockquote{margin:1.3rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:2px solid var(--line-strong);color:var(--ink-read);font-style:italic}.prose pre{margin:1.3rem 0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:#fafbfc;overflow-x:auto;font-size:.82rem;line-height:1.6}.prose :not(pre)>code{padding:.1em .35em;border-radius:5px;background:#f1f3f5;font-size:.86em}.prose hr{margin:2rem 0;border:none;height:1px;background:var(--line-soft)}.prose figure.notion-image{margin:1.4rem 0}.prose figure.notion-image img{display:block;width:100%;border:1px solid var(--line);border-radius:14px}.prose figure.notion-image figcaption{margin-top:.55rem;font-size:.82rem;color:var(--ink-4);letter-spacing:-.01em}.prose figure.notion-video,.prose figure.notion-embed{margin:1.4rem 0}.prose figure.notion-video video{display:block;width:auto;max-width:100%;max-height:78vh;margin:0 auto;border-radius:14px;background:#000}.prose figure.notion-embed .notion-embed-frame{position:relative;aspect-ratio:16 / 9;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f2f4f6}.prose figure.notion-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.prose figure.notion-video figcaption,.prose figure.notion-embed figcaption{margin-top:.55rem;font-size:.82rem;color:var(--ink-4);letter-spacing:-.01em}.prose .notion-callout{display:flex;gap:.7rem;margin:1.3rem 0;padding:.9rem 1.05rem;border:1px solid var(--line);border-radius:14px;background:#fafbfc}.prose .notion-callout-icon{flex:0 0 auto;line-height:1.6}.prose .notion-callout>div>:last-child{margin-bottom:0}.prose .notion-todo{list-style:none;padding-left:0}.prose details.notion-toggle{margin:1rem 0;padding:.2rem 0}.prose details.notion-toggle>summary{cursor:pointer;font-weight:640;color:var(--ink);letter-spacing:-.02em}.mdx-cards{display:grid;gap:.85rem;margin:.4rem 0 1.1rem}.mdx-card{border:1px solid var(--line);border-radius:14px;background:#fafbfc;padding:1rem 1.1rem}.mdx-card-title{margin:0 0 .3rem;font-size:.94rem;font-weight:640;letter-spacing:-.03em;color:var(--ink)}.mdx-card-body :is(p,ul,ol){margin:0}.mdx-card-body p{font-size:.88rem;line-height:1.5;color:var(--ink-3);letter-spacing:-.02em}.mdx-linkcard{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.4rem 0 1.1rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;text-decoration:none;transition:border-color .16s ease}.mdx-linkcard:hover{border-color:var(--ink-4)}.mdx-linkcard-title{display:block;font-size:.94rem;font-weight:640;letter-spacing:-.03em;color:var(--ink)}.mdx-linkcard-desc{display:block;margin-top:.2rem;font-size:.85rem;line-height:1.45;color:var(--ink-3);letter-spacing:-.02em}.mdx-linkcard-arrow{color:var(--ink-4);flex:0 0 auto}[data-reveal]{opacity:1;transform:none}.reveal-ready [data-reveal]{opacity:0;transform:translateY(var(--reveal-shift));filter:blur(var(--reveal-blur));transition:opacity var(--reveal-dur) var(--ease-out),transform var(--reveal-dur) var(--ease-out),filter var(--reveal-dur) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none;filter:none}.reveal-ready [data-reveal].reveal-instant{transition:none}.reveal-ready .about-tldr{transition:opacity var(--reveal-dur) var(--ease-out),transform var(--reveal-dur) var(--ease-out),filter var(--reveal-dur) var(--ease-out),border-color .16s ease,box-shadow .16s ease;transition-delay:var(--reveal-delay, 0ms)}@media(max-width:900px){.topbar,.home-topbar{align-items:flex-start;flex-direction:column;gap:1rem;padding-top:3.5rem}.topnav,.home-nav{gap:1rem 1.4rem}.frame,.home-frame{width:min(100%,32rem)}.home-media{border-radius:1.15rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
