@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-cyrillic-ext-400-normal.3o174edr_29j4.woff2)format("woff2"),url(../media/fira-code-cyrillic-ext-400-normal.1udv00yu_q9lg.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-cyrillic-400-normal.3hpg-8-i0_7bh.woff2)format("woff2"),url(../media/fira-code-cyrillic-400-normal.3p-4fft8y4ne4.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-greek-ext-400-normal.42enyq82atj1s.woff2)format("woff2"),url(../media/fira-code-greek-ext-400-normal.0uqonoyu0l63v.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-greek-400-normal.12gh_gtugyahw.woff2)format("woff2"),url(../media/fira-code-greek-400-normal.21boiyw7hfouf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-symbols2-400-normal.2i3odeo153e--.woff2)format("woff2"),url(../media/fira-code-symbols2-400-normal.3z8_bpm14xquk.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-latin-ext-400-normal.12x1gduvj9qad.woff2)format("woff2"),url(../media/fira-code-latin-ext-400-normal.3h4x_9wldil76.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-latin-400-normal.1ze2dss3phfym.woff2)format("woff2"),url(../media/fira-code-latin-400-normal.2oexgdqe2k8tz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fira-code-cyrillic-ext-500-normal.0n56vov1cmip5.woff2)format("woff2"),url(../media/fira-code-cyrillic-ext-500-normal.3acjx69bb217x.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fira-code-cyrillic-500-normal.0an5jf80ndlqb.woff2)format("woff2"),url(../media/fira-code-cyrillic-500-normal.43d-pxnrbc1pq.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fira-code-greek-ext-500-normal.25dnsw1swx-y6.woff2)format("woff2"),url(../media/fira-code-greek-ext-500-normal.1p9n2pehj2sp1.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fira-code-greek-500-normal.3xucjda7mo4uo.woff2)format("woff2"),url(../media/fira-code-greek-500-normal.2mv-t2jnr4mdd.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fira-code-symbols2-500-normal.40zmcfdd_2f9o.woff2)format("woff2"),url(../media/fira-code-symbols2-500-normal.1qtue65u_19-n.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fira-code-latin-ext-500-normal.0i7r2sr7ivbd5.woff2)format("woff2"),url(../media/fira-code-latin-ext-500-normal.2wtkk3ymo5m70.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fira-code-latin-500-normal.00b-wbs0a1ahk.woff2)format("woff2"),url(../media/fira-code-latin-500-normal.3anyn8td0qlj9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Satoshi;src:url(/fonts/satoshi-light.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:300}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-regular.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-medium.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500 600}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-bold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700}:root{--ink:#111418;--muted:#68707a;--dim:#a4abb3;--paper:#f8f8f6;--panel:#fffffc;--panel-soft:#efefeb;--line:#11141813;--line-strong:#11141824;--dot:#11141821;--quiet-dot:#1114181b;--dot-size:18px;--signal:var(--app-muted);--accent-muted:var(--app-muted);--rule-accent:#5f6368;--code:#30363d;--shadow:0 18px 52px #11141817;--bitmap-black:#020202;--bitmap-white:#f8f8f4;--bitmap-gray:#8f9499;--font-display:"Satoshi", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Satoshi", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--nav-height:68px;--page-top:56px;--section-y:40px;--row-y:22px;--page-gutter:clamp(32px, 7vw, 128px);--inner-gutter:clamp(14px, 1.7vw, 28px);--content-max:1120px;--scrollbar-thumb:#11141838;--app-column:32rem;--app-bg:#f8f8f6;--app-ink:#111418;--app-muted:#5f6266;--app-dim:#8d9093;--app-hover:#1114180e;--app-line:#1114181a;--app-line-strong:#11141826;--app-dock:#f8f8f6c7;--app-dock-shadow:0 18px 48px #1114181f, inset 0 1px 0 #ffffffdb;--app-panel:#fffffc;--app-panel-soft:#efefeb;--app-button-bg:#11141809;--app-input-bg:#1114180b;--app-input-ring:#11141814;--app-table-line:#11141814;--app-loader-coin:#111418e6;--app-loader-coin-line:#11141847;--app-court-dot:#11141829;--app-court-bg:#11141807;--app-court-line:#1114186b;--app-aim-trail:#11141857;--app-ball-light:#fffffff0;--app-ball-mid:#d9d9d3e6;--app-ball-dark:#70706cc7;--app-ball-ring:#11141838;--app-ball-shadow:#11141833;--app-confetti:#111418b8;--spotify-accent:color-mix(in srgb, var(--app-muted) 62%, #4a9f69 38%);--spotify-glow:#4a9f6929;--rarity-common:color-mix(in srgb, var(--app-muted) 74%, #6f9a75 26%);--rarity-uncommon:color-mix(in srgb, var(--app-muted) 60%, #5c9a83 40%);--rarity-rare:color-mix(in srgb, var(--app-muted) 50%, #5f84c8 50%);--rarity-legendary:color-mix(in srgb, var(--app-ink) 64%, #c48b3f 36%);--rarity-mythical:color-mix(in srgb, var(--app-ink) 58%, #a579d4 42%)}[data-theme=dark]{--ink:#f2f1ec;--muted:#adb2b8;--dim:#717981;--paper:#0d0f12;--panel:#121519;--panel-soft:#191d21;--line:#f2f1ec13;--line-strong:#f2f1ec24;--dot:#f2f1ec1b;--quiet-dot:#f2f1ec17;--dot-size:18px;--signal:#f2f1ec;--accent-muted:#c8c8c1;--rule-accent:#a9aaa5;--code:#d5dde5;--shadow:0 22px 70px #0000006b;--scrollbar-thumb:#f2f1ec33;--app-bg:#0f1011;--app-ink:#f4f2ed;--app-muted:#aaa7a1;--app-dim:#716f6a;--app-hover:#ffffff0e;--app-line:#ffffff1a;--app-line-strong:#ffffff26;--app-dock:#121213bd;--app-dock-shadow:0 18px 48px #00000047, inset 0 1px 0 #ffffff0d;--app-panel:#151516;--app-panel-soft:#1f2021;--app-button-bg:#ffffff08;--app-input-bg:#ffffff0b;--app-input-ring:#ffffff0f;--app-table-line:#ffffff0f;--app-loader-coin:#f4f2ede6;--app-loader-coin-line:#f4f2ed5c;--app-court-dot:#f4f2ed1a;--app-court-bg:#ffffff05;--app-court-line:#f4f2ed6b;--app-aim-trail:#f4f2ed70;--app-ball-light:#ffffffe0;--app-ball-mid:#f4f2edd1;--app-ball-dark:#9a9a9adb;--app-ball-ring:#00000052;--app-ball-shadow:#00000052;--app-confetti:#f4f2edc7;--spotify-accent:color-mix(in srgb, var(--app-muted) 58%, #6fcf8f 42%);--spotify-glow:#6fcf8f2e;--rarity-common:color-mix(in srgb, var(--app-muted) 70%, #98c894 30%);--rarity-uncommon:color-mix(in srgb, var(--app-muted) 58%, #77c3a4 42%);--rarity-rare:color-mix(in srgb, var(--app-muted) 50%, #8aa6e4 50%);--rarity-legendary:color-mix(in srgb, var(--app-ink) 62%, #d6a350 38%);--rarity-mythical:color-mix(in srgb, var(--app-ink) 56%, #bd96e4 44%)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-corner{background:0 0}html{scroll-behavior:smooth;min-height:100%;overflow-x:hidden}main{padding-top:var(--nav-height);flex:1 0 auto}body{background:radial-gradient(circle, var(--quiet-dot) .8px, transparent 1.08px), var(--paper);background-size:var(--dot-size) var(--dot-size), auto;min-height:100vh;color:var(--ink);font-family:var(--font-body);letter-spacing:0;flex-direction:column;margin:0;display:flex;overflow-x:hidden}body:before{z-index:-1;content:"";pointer-events:none;background:0 0;position:fixed;inset:0}[data-theme=dark] body:before{background:0 0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{color:inherit;background:#8e8e8e6b}.shell{width:min(var(--content-max), calc(100% - (var(--page-gutter) * 2)));padding-right:var(--inner-gutter);padding-left:var(--inner-gutter);margin:0 auto}.site-nav{z-index:20;width:100%;height:var(--nav-height);padding:0 max(calc(var(--page-gutter) + var(--inner-gutter)), calc((100vw - var(--content-max)) / 2 + var(--inner-gutter)));background:color-mix(in srgb, var(--paper) 82%, transparent);justify-content:space-between;align-items:center;margin:0;display:flex;position:fixed;top:0;left:0;right:0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.wordmark{min-width:34px;height:34px;color:var(--ink);justify-content:flex-start;align-items:center;gap:10px;transition:color .16s,transform .16s;display:inline-flex}.wordmark:hover{color:var(--signal);transform:translateY(-1px)}.wordmark-avatar{object-fit:cover;object-position:center 38%;filter:saturate(.9)contrast(1.04);border-radius:999px;width:24px;height:24px}.wordmark-name{color:currentColor;white-space:nowrap;font-size:.86rem;font-weight:400;line-height:1}.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}.nav-links{background:0 0;border:0;flex:none;align-items:center;gap:2px;padding:4px;display:flex}.nav-links a,.theme-toggle{min-height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0 10px;font-size:.84rem;display:inline-flex}.theme-toggle{width:34px;padding:0}.nav-links a:hover,.theme-toggle:hover{background:var(--panel-soft);color:var(--ink)}.hero{padding:var(--page-top) var(--inner-gutter) var(--section-y);display:block}.home-page{isolation:isolate;--ink:var(--app-ink);--muted:var(--app-muted);--dim:var(--app-dim);--paper:var(--app-bg);--panel:var(--app-panel);--panel-soft:var(--app-panel-soft);--line:var(--app-line);--line-strong:var(--app-line-strong);--quiet-dot:var(--dot);--signal:var(--app-muted);--accent-muted:var(--app-muted);--rule-accent:#5f6368;background:radial-gradient(circle, var(--quiet-dot) .8px, transparent 1.08px), var(--paper);background-size:var(--dot-size) var(--dot-size), auto;min-height:100vh;color:var(--ink);position:relative;overflow:visible}.home-page .hero{grid-template-columns:minmax(320px,.82fr) minmax(0,1fr);align-items:center;gap:clamp(46px,7vw,104px);padding-top:clamp(78px,9vw,132px);padding-bottom:clamp(64px,8vw,108px);display:grid;position:relative}.home-page .hero-text-only{grid-template-columns:minmax(0,760px);justify-content:center;min-height:clamp(480px,58vh,640px)}.hero-portrait-stage{isolation:isolate;width:min(100%,500px);position:relative}.hero-portrait-stage:before{z-index:-1;content:"";background:radial-gradient(circle, var(--ink) 0 .9px, transparent 1.12px), radial-gradient(ellipse at 50% 48%, #11141812, transparent 62%);opacity:.2;background-size:5px 5px,auto;transition:opacity .18s,transform .22s;position:absolute;inset:8% -8% 2% 10%;-webkit-mask-image:radial-gradient(at 54%,#000 0 52%,#0000 76%);mask-image:radial-gradient(at 54%,#000 0 52%,#0000 76%)}.hero-portrait-stage:after{content:"";background:radial-gradient(circle, var(--bitmap-white) 0 1px, transparent 1.2px), var(--bitmap-black);width:54px;height:54px;box-shadow:12px -12px 0 -7px var(--bitmap-black), -10px 14px 0 -6px var(--bitmap-black);background-size:6px 6px;transition:box-shadow .18s,transform .18s;position:absolute;bottom:44px;right:2px}.dither-profile{isolation:isolate;aspect-ratio:1;filter:drop-shadow(0 22px 42px #1114181f);cursor:crosshair;background:0 0;outline:0;width:100%;margin:0;transition:filter .18s,transform .18s;position:relative;overflow:visible;-webkit-mask-image:radial-gradient(at 53% 48%,#000 0 55%,#000000d1 66%,#0000 84%);mask-image:radial-gradient(at 53% 48%,#000 0 55%,#000000d1 66%,#0000 84%)}.dither-profile:after{z-index:3;content:"";background:radial-gradient(circle, var(--ink) 0 .9px, transparent 1.12px), linear-gradient(transparent, transparent);mix-blend-mode:multiply;opacity:.18;pointer-events:none;background-size:5px 5px,auto;transition:background-position .22s,opacity .18s,transform .18s;position:absolute;inset:0}.dither-profile canvas,.dither-profile img,.dither-profile-source{object-fit:cover;object-position:52% 42%;transition:filter .18s,transform .18s;display:block;width:100%!important;height:100%!important}.dither-profile-image{z-index:1;filter:grayscale()contrast(1.35)brightness(.98);position:relative}.dither-profile-canvas{z-index:2;opacity:0;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}.dither-profile.has-dither .dither-profile-canvas{opacity:.26}.hero-portrait-stage:hover:before,.hero-portrait-stage:focus-within:before{opacity:.32;transform:translate(-10px,-6px)scale(1.02)}.hero-portrait-stage:hover:after,.hero-portrait-stage:focus-within:after{box-shadow:16px -16px 0 -7px var(--bitmap-black), -14px 18px 0 -6px var(--bitmap-black);transform:translate(-10px,-12px)}.hero-portrait-stage:hover .dither-profile,.hero-portrait-stage:focus-within .dither-profile,.dither-profile.is-interactive{filter:drop-shadow(0 30px 58px #1114182e);transform:translate(-2px,-8px)scale(1.04)}.hero-portrait-stage:hover .dither-profile:after,.hero-portrait-stage:focus-within .dither-profile:after,.dither-profile.is-interactive:after{opacity:.38;background-position:11px -8px,0 0;transform:translate(10px,-8px)}.hero-portrait-stage:hover .dither-profile-source,.hero-portrait-stage:focus-within .dither-profile-source,.dither-profile.is-interactive .dither-profile-source{filter:grayscale()contrast(1.72)brightness(1.04);transform:scale(1.055)}.hero-portrait-stage:hover .dither-profile.has-dither .dither-profile-canvas,.hero-portrait-stage:focus-within .dither-profile.has-dither .dither-profile-canvas,.dither-profile.has-dither.is-interactive .dither-profile-canvas{opacity:.46}.dither-profile:focus-visible{outline:1px solid var(--ink);outline-offset:8px}.dither-profile canvas{image-rendering:pixelated}.home-page .hero-summary{max-width:540px;color:var(--muted);font-size:.96rem;font-style:italic}.home-page .button{background:var(--app-button-bg);color:var(--ink)}.home-page .button:hover,.home-page .button.primary{background:var(--app-hover);color:var(--ink)}.motion-reveal{will-change:opacity, transform, filter;animation:.64s cubic-bezier(.16,1,.3,1) both subtle-rise}.manual-row.motion-reveal,.system-row.motion-reveal,.experience-row.motion-reveal,.proof-row.motion-reveal,.proof-lead.motion-reveal,.proof-side-row.motion-reveal,.credential-item.motion-reveal,.contact-section.motion-reveal{animation-duration:.52s}.home-paper .manual-section:first-child{animation-delay:80ms}.home-paper .manual-section:nth-child(2){animation-delay:.14s}.home-paper .manual-section:nth-child(3){animation-delay:.2s}.home-paper .manual-section:nth-child(4){animation-delay:.26s}.home-paper .manual-section:nth-child(5){animation-delay:.32s}.home-paper .manual-section:nth-child(6){animation-delay:.38s}@keyframes subtle-rise{0%{opacity:0;filter:blur(8px);transform:translateY(24px)scale(.985)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}.pixel-mark{grid-template-columns:repeat(2,8px);gap:2px;width:fit-content;margin-top:18px;display:grid}.pixel-mark i{background:var(--ink);width:8px;height:8px;display:block}.pixel-mark i:first-child,.pixel-mark i:last-child{opacity:0}.home-paper{z-index:1;background:0 0;margin-bottom:clamp(72px,10vw,140px);position:relative}.home-paper.shell{padding-right:var(--inner-gutter);padding-left:var(--inner-gutter)}.home-paper .manual-section,.home-paper .contact-section{padding-left:0;padding-right:0}.home-paper .manual-row h2,.home-paper .system-row h2,.home-paper .experience-row h2,.home-paper .proof-row h2,.home-paper .proof-lead h2,.home-paper .proof-side-row h2,.home-paper .credential-item h2{overflow-wrap:anywhere;word-break:normal;max-width:100%}.hero-copy,.manual-row>*,.system-row>*,.experience-row>*,.proof-row>*,.proof-side-row>*,.credential-item,.contact-section>*,.project-row>*,.writing-row>*,.timeline-item>*{min-width:0}.eyebrow,.row-meta,.section-label{font-family:var(--font-mono)}.eyebrow{color:var(--signal);text-transform:uppercase;margin:0 0 18px;font-size:.78rem;font-weight:700}.hero-copy h1,.page-hero h1,.article-shell h1,.resume-heading h1{max-width:850px;color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:.98rem;font-weight:700;line-height:.96}.hero-summary,.resume-heading p{max-width:640px;color:var(--muted);font-size:1.08rem;line-height:1.75}.hero-summary{margin:24px 0 0}.hero-summary a{color:var(--signal);text-underline-offset:4px;text-decoration:underline}.hero-actions,.article-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.button{background:var(--app-button-bg);min-height:38px;color:var(--ink);justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:.9rem;display:inline-flex}.button:hover,.button.primary{background:var(--app-hover)}.manual-section{scroll-margin-top:calc(var(--nav-height) + 8px);padding:var(--section-y) var(--inner-gutter);border-top:0}.section-label{width:fit-content;color:var(--dim);text-transform:uppercase;align-items:center;gap:9px;margin-bottom:22px;font-size:.78rem;font-weight:700;display:flex}.bitmap-section-punctuation{background:radial-gradient(circle, var(--ink) 0 .8px, transparent 1px), transparent;opacity:.16;background-size:5px 5px;width:34px;height:12px;margin-left:2px;transition:opacity .16s,transform .16s;animation:3.8s steps(2,end) infinite bitmap-pulse;display:inline-block;transform:translateY(1px)}.section-label:hover .bitmap-section-punctuation{opacity:.34;transform:translate(2px,1px)}@keyframes bitmap-pulse{0%,to{opacity:.16;transform:translateY(1px)}50%{opacity:.28;transform:translate(2px,1px)}}.manual-list,.system-list,.experience-list{border-top:0;gap:10px;display:grid}.project-hover-preview-trigger{display:block}.manual-row,.system-row,.experience-row{padding:var(--row-y) 0;grid-template-columns:minmax(0,1fr) minmax(180px,280px);align-items:center;gap:24px;transition:color .16s;display:grid}.system-row{grid-template-columns:minmax(0,1fr) minmax(180px,280px)}.system-accent{justify-items:end;gap:10px;min-width:0;display:grid}.featured-bitmap-system{grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:center}.featured-bitmap-system .system-accent:before{content:"";background:radial-gradient(circle, var(--ink) 0 1px, transparent 1.2px), transparent;opacity:.16;background-size:6px 6px;justify-self:end;width:42px;height:34px;transition:opacity .16s;display:block}.featured-bitmap-system .row-tags{max-width:260px}.featured-bitmap-system:hover .system-accent:before{opacity:.36}.experience-row{grid-template-columns:160px 230px minmax(0,1fr)}.proof-section{padding-top:calc(var(--section-y) + 6px)}.proof-timeline,.proof-side-list{gap:10px;display:grid}.proof-row{padding:var(--row-y) 0;grid-template-columns:180px minmax(0,1fr) minmax(120px,180px);align-items:start;gap:24px;display:grid}.proof-row h2,.proof-lead h2,.proof-side-row h2,.credential-item h2{color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:1.2rem;font-weight:600;line-height:1.08}.proof-row p,.proof-lead p,.proof-side-row p,.credential-item p{color:var(--muted);margin:9px 0 0;line-height:1.58}.proof-outcome{color:var(--accent-muted);font-family:var(--font-mono);font-size:.76rem;font-style:italic;font-weight:600}.proof-row-timeline .proof-outcome{text-align:right;margin-top:2px}.proof-split{grid-template-columns:minmax(260px,.9fr) minmax(0,1.45fr);align-items:start;gap:44px;display:grid}.proof-lead{top:calc(var(--nav-height) + 24px);position:sticky}.proof-side-row{padding:var(--row-y) 0;grid-template-columns:150px minmax(0,1fr);gap:22px;display:grid}.credential-strip{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px;display:grid}.credential-item h2{font-size:1.12rem;font-weight:600}.manual-row:hover h2,.system-row:hover h2{color:var(--ink)}.row-meta{color:var(--dim);margin-bottom:8px;font-size:.72rem;font-style:italic;font-weight:500;display:block}.manual-row h2,.system-row h2,.experience-row h2,.contact-section h2{color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:1.45rem;font-weight:600;line-height:1.08}.manual-row p,.system-row p,.experience-row p,.contact-section p{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;line-height:1.65}.row-tags,.mini-tags,.pill-row{flex-wrap:wrap;gap:6px;display:flex}.row-tags{justify-content:flex-end;transition:transform .16s}.row-tags span,.mini-tags span,.pill{background:color-mix(in srgb, var(--panel) 72%, transparent);min-height:26px;color:var(--muted);font-family:var(--font-mono);align-items:center;padding:0 8px;font-size:.72rem;font-weight:500;display:inline-flex}.system-thumb,.system-mark{object-fit:cover;filter:saturate(.82)contrast(1.04);width:56px;height:56px}.system-mark{background:radial-gradient(circle, var(--quiet-dot) 0 1px, transparent 1.2px), var(--panel-soft);background-size:6px 6px,auto;display:block}.subtle-link{margin-top:18px}.text-link{color:var(--app-muted);align-items:center;gap:7px;font-size:.78rem;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--app-ink)}.history-back-link{border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-7px;line-height:1;transition:background .16s,color .16s;display:inline-flex}.history-back-link:hover,.history-back-link:focus-visible{background:var(--app-hover)}.history-back-icon{width:14px;height:14px;display:block}.muted{color:var(--dim)!important}.contact-section{padding:calc(var(--section-y) + 12px) var(--inner-gutter);text-align:left;border-top:0;grid-template-columns:minmax(0,1fr) minmax(280px,360px);place-items:start;gap:44px;display:grid}.contact-section>div:first-child>p:not(.eyebrow){max-width:560px;color:var(--muted);line-height:1.75}.contact-links{gap:0;display:grid}.contact-links a{min-height:42px;color:var(--muted);font-family:var(--font-mono);grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:14px;padding:12px 0;font-size:.78rem;font-weight:500;transition:color .16s,transform .16s;display:grid}.contact-links a span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact-links a:hover{color:var(--ink);transform:translate(4px)}.page-hero,.resume-page,.article-shell{padding:var(--page-top) var(--inner-gutter) 0}.page-hero h1,.article-shell h1,.resume-heading h1{margin-top:18px;font-size:.98rem}.page-title-row{align-items:center;gap:11px;display:flex}.page-title-row h1{min-width:0;margin:0}.project-list,.writing-list{padding:calc(var(--section-y) - 4px) var(--inner-gutter) 0;border-top:0;gap:10px;display:grid}.project-row,.writing-row{padding:var(--row-y) 0;grid-template-columns:minmax(0,1fr) minmax(180px,280px);align-items:center;gap:22px;display:grid}.row-image{object-fit:cover;filter:saturate(.72)contrast(1.02)brightness(.96);width:180px;height:112px}.row-copy{gap:9px;display:grid}.project-row .mini-tags,.writing-row .mini-tags{justify-content:flex-end}.project-row h2,.writing-row h2{color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:1.4rem;font-weight:600}.project-row p,.writing-row p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.6}.section-stack{padding:calc(var(--section-y) + 16px) var(--inner-gutter) 0}.section-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.section-header h2,.resume-block h2{color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:2.2rem;font-weight:700}.link-stack a{background:color-mix(in srgb, var(--panel) 58%, transparent);min-height:40px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 12px;display:flex}.link-stack a:hover{color:var(--signal)}.article-shell{max-width:900px}.article-lede{font-size:1.15rem}.article-meta{color:var(--dim);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:.78rem;font-style:italic;font-weight:500;display:flex}.article-actions{margin-bottom:28px}.article-image{aspect-ratio:16/7;object-fit:cover;filter:saturate(.82)contrast(1.02)brightness(.96);width:100%;max-width:100%;height:auto;max-height:360px;margin:34px 0}.prose h1,.prose h2,.prose h3{color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;margin:36px 0 12px;font-weight:700;line-height:1.15}.prose h2{font-size:2rem}.prose p,.prose ul,.prose ol,.prose blockquote{margin:0 0 18px}.prose a{color:var(--signal);text-underline-offset:4px;text-decoration:underline}.prose img{width:100%;max-width:100%;box-shadow:none;background:0 0;margin:34px 0 14px}.prose p:has(>img){margin-bottom:0}.prose>p:first-child:has(>img){margin-bottom:clamp(34px,4vw,52px)}.prose>p:first-child:has(>img):has(+p>em:only-child){margin-bottom:10px}.prose p:has(>em:only-child){color:var(--dim);font-family:var(--font-mono);margin:0 0 30px;font-size:.78rem;font-style:italic;font-weight:500;line-height:1.55}.prose th[align=right],.prose td[align=right]{text-align:right}.prose blockquote{color:var(--ink);padding-left:0}.prose li{margin-bottom:8px}.resume-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;margin-top:18px;display:grid}.resume-stat-grid{border-top:0;border-bottom:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:34px;display:grid}.stat{background:color-mix(in srgb, var(--panel) 64%, transparent);min-height:104px;padding:20px}.stat span{color:var(--accent-muted);font-family:var(--font-mono);text-transform:uppercase;font-size:.72rem;font-weight:600;display:block}.stat strong{color:var(--ink);font-family:var(--font-display);margin-top:12px;font-size:1.35rem;font-weight:700;line-height:1.15;display:block}.resume-block{gap:18px;margin-top:40px;display:grid}.timeline{border-top:0;gap:10px;display:grid}.timeline-item{padding:var(--row-y) 0;grid-template-columns:220px minmax(0,1fr);gap:22px;display:grid}.timeline-item h3{color:var(--ink);margin:6px 0 0;font-size:1.12rem}.timeline-item p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.65}.timeline-item span{color:var(--accent-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:500}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:900px){.contact-section{grid-template-columns:1fr;gap:36px}.hero{padding-top:calc(var(--page-top) - 8px)}.hero-copy h1,.page-hero h1,.article-shell h1,.resume-heading h1{font-size:3.35rem}.manual-row,.system-row,.experience-row,.timeline-item{grid-template-columns:1fr;gap:12px}.row-tags{justify-content:flex-start}.resume-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-row{grid-template-columns:1fr;gap:10px}.proof-row-timeline .proof-outcome{text-align:left}.proof-split,.credential-strip{grid-template-columns:1fr;gap:18px}.proof-lead{position:static}.proof-side-list{border-left:0;padding-left:0}.proof-side-row{grid-template-columns:1fr;gap:8px}}@media (max-width:640px){:root{--nav-height:60px;--page-top:34px;--section-y:34px;--row-y:18px;--page-gutter:12px;--inner-gutter:0px}main{padding-top:var(--nav-height)}.shell{width:min(100% - 24px,1080px)}.site-nav{height:var(--nav-height);width:100%;padding:0 var(--page-gutter);gap:12px}.nav-links{width:auto;max-width:calc(100% - 88px);box-shadow:none;flex-wrap:nowrap;justify-content:flex-end}.nav-links a{white-space:nowrap;min-height:30px;padding:0 7px;font-size:.78rem}.theme-toggle{width:30px;min-height:30px}.hero{padding:var(--page-top) 0 var(--section-y);gap:28px}.hero-copy h1,.page-hero h1,.article-shell h1,.resume-heading h1{overflow-wrap:anywhere;max-width:100%;font-size:1.74rem;line-height:1.08}.hero-summary,.article-lede{font-size:1rem}.prose table{white-space:nowrap;display:block;overflow-x:auto}.prose th,.prose td{padding:12px}.manual-section{scroll-margin-top:calc(var(--nav-height) + 8px);padding:var(--section-y) 0}.manual-row,.system-row,.experience-row,.proof-row,.proof-side-row{padding:var(--row-y) 0}.page-hero,.resume-page,.article-shell{padding-top:var(--page-top)}.project-list,.writing-list{padding-top:calc(var(--section-y) - 4px)}.project-row,.writing-row,.timeline-item{padding:var(--row-y) 0}.contact-section{padding:calc(var(--section-y) + 4px) 0}.contact-links a{grid-template-columns:74px minmax(0,1fr);gap:10px;font-size:.72rem}.project-row,.writing-row{grid-template-columns:1fr}.row-image{width:100%;height:190px}.resume-heading,.resume-stat-grid{grid-template-columns:1fr}.stat,.stat:last-child{border-right:0}.section-header{flex-direction:column;align-items:flex-start}}@media (max-width:900px){.home-page .hero{grid-template-columns:1fr;gap:42px;min-height:auto;padding-top:clamp(54px,14vw,86px);padding-bottom:54px}.home-page .hero:before{inset:30px -10% 42%}.home-page .hero-copy h1{font-size:clamp(3.3rem,15vw,6rem)}}@media (max-width:640px){.home-page .site-nav{max-width:calc(100vw - 24px)}.home-page .wordmark-name{text-overflow:ellipsis;max-width:104px;font-size:.8rem;overflow:hidden}.hero-portrait-stage{width:min(100%,330px)}.home-page .hero-copy h1{overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-size:clamp(2.35rem,13vw,3.25rem);line-height:.94}.home-page .hero-summary{font-size:.9rem}.home-paper.shell{width:min(100% - 24px,1080px);padding-left:16px;padding-right:16px}.home-paper .manual-row,.home-paper .system-row,.home-paper .experience-row,.home-paper .proof-row,.home-paper .proof-side-row{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%;overflow:hidden}.home-paper .manual-row>*,.home-paper .system-row>*,.home-paper .experience-row>*,.home-paper .proof-row>*,.home-paper .proof-side-row>*{min-width:0;max-width:100%}.home-paper .manual-row h2,.home-paper .system-row h2,.home-paper .experience-row h2,.home-paper .proof-row h2,.home-paper .proof-lead h2,.home-paper .proof-side-row h2,.home-paper .credential-item h2{overflow-wrap:anywhere;word-break:break-word;font-size:1.18rem;line-height:1.12}.home-paper .row-tags{justify-content:flex-start;max-width:100%}.home-paper .row-tags span{overflow-wrap:anywhere;max-width:100%}}.loading-screen{z-index:9999;background:var(--app-bg);opacity:1;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}html[data-loader-seen=true] .loading-screen{display:none}html[data-loader-phase=active] body>main{opacity:0;transform:translateY(4px)}html[data-loader-phase=active] .site-nav{opacity:0;transform:translate(-50%)translateY(4px)}html[data-loader-phase=revealing] body>main{animation:.42s cubic-bezier(.16,1,.3,1) both loader-content-in}html[data-loader-phase=revealing] .site-nav{animation:.36s cubic-bezier(.16,1,.3,1) 80ms both loader-dock-in}.loading-logo-shell{width:66px;height:66px;color:var(--app-loader-coin);place-items:center;display:grid;position:relative}.loading-coin-stage{perspective:520px;width:64px;height:64px;display:block;position:relative}.loading-coin{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;display:block;position:relative}.loading-coin-face{backface-visibility:hidden;transform-style:preserve-3d;border-radius:999px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.loading-coin-front{transform:translateZ(1px)}.loading-coin-back{transform:rotateY(180deg)translateZ(1px)}.loading-coin-svg{width:100%;height:100%;display:block;overflow:visible}.loading-coin-surface{fill:var(--app-loader-coin);stroke:var(--app-loader-coin-line);stroke-width:.85px}.loading-coin-logo-path{fill:none;stroke:var(--app-bg);stroke-width:3.1px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}@keyframes loader-content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translate(0,0)}}@keyframes loader-dock-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.ambient-panels{z-index:45;pointer-events:none;position:fixed;inset:0}.ambient-panels[data-gacha-modal-open=true]{pointer-events:auto}.ambient-panels[data-gacha-modal-open=true] .ambient-hover-zone{pointer-events:none}.ambient-hover-zone{z-index:46;pointer-events:auto;background:0 0;width:min(26vw,360px);position:fixed;top:0;bottom:0}.ambient-hover-zone-left{left:0}.ambient-hover-zone-right{right:0}.ambient-indicator{z-index:46;opacity:.44;pointer-events:none;gap:5px;max-width:150px;transition:opacity .18s,transform .18s;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.ambient-indicator-left{text-align:left;left:34px}.ambient-indicator-right{text-align:right;right:34px}.ambient-indicator-label,.ambient-indicator-meta{color:var(--app-dim);text-transform:lowercase;white-space:nowrap;line-height:1;display:block}.ambient-indicator-label{font-size:.74rem;font-weight:650}.ambient-indicator-meta{opacity:.72;font-size:.64rem;font-weight:500}.ambient-hover-zone:hover .ambient-indicator{opacity:0}.ambient-hover-zone-left:hover .ambient-indicator{transform:translate(14px,-50%)}.ambient-hover-zone-right:hover .ambient-indicator{transform:translate(-14px,-50%)}.ambient-panel{z-index:47;--ambient-playground-width:320px;width:min(var(--ambient-playground-width), calc(100vw - 88px));height:100dvh;max-height:none;box-shadow:none;color:var(--app-ink);opacity:0;pointer-events:none;visibility:hidden;background:0 0;border:0;border-radius:0;grid-auto-rows:max-content;align-content:safe center;padding:42px 0;display:grid;position:fixed;top:0;bottom:0;overflow:hidden auto}.ambient-panel-left{transform-origin:0;filter:blur(6px);left:42px;transform:translate(-14px)scale(.985)}.ambient-panel-right{transform-origin:100%;filter:blur(6px);right:42px;transform:translate(14px)scale(.985)}.ambient-panel[data-panel-state=closed]{opacity:0;pointer-events:none;visibility:hidden}.ambient-panel[data-panel-state=open],.ambient-panel[data-panel-state=closing]{visibility:visible}.ambient-panel[data-panel-state=open]{pointer-events:auto}.ambient-panel-left[data-panel-state=open]{animation:.24s cubic-bezier(.16,1,.3,1) both ambient-panel-in-left}.ambient-panel-right[data-panel-state=open]{animation:.24s cubic-bezier(.16,1,.3,1) both ambient-panel-in-right}.ambient-panel[data-panel-state=closing]{pointer-events:none}.ambient-panel-left[data-panel-state=closing]{animation:.18s both ambient-panel-out-left}.ambient-panel-right[data-panel-state=closing]{animation:.18s both ambient-panel-out-right}.ambient-panel-header,.ambient-block-title,.ambient-spotify,.ambient-wall-form{align-items:center;display:flex}.ambient-panel-header{color:var(--app-ink);justify-content:space-between;margin-bottom:18px;font-size:.9rem;font-weight:650}.ambient-wall-form button{background:var(--app-input-bg);width:30px;height:34px;color:var(--app-muted);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .16s,color .16s;display:inline-flex}.ambient-wall-form button:hover,.ambient-wall-form button:focus-visible{background:var(--app-hover);color:var(--app-ink);outline:none}.ambient-block{gap:10px;padding:13px 0;display:grid}.ambient-block:first-of-type{padding-top:0}.ambient-block+.ambient-block{margin-top:2px;padding-top:15px}.ambient-block-title{color:var(--app-dim);text-transform:lowercase;gap:7px;font-size:.72rem;font-weight:600}.ambient-block p{color:var(--app-muted);margin:0;font-size:.9rem;line-height:1.45}.ambient-spotify{width:100%;min-width:0;color:inherit;gap:12px;text-decoration:none}.ambient-album{filter:saturate(.98)contrast(1.02)brightness(.95);width:48px;height:48px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--spotify-accent) 24%, transparent);background-color:#232323;background-image:radial-gradient(circle at 34% 38%,#f4f2edc2,#0000 0 2px),radial-gradient(circle at 68% 64%,#f4f2ed80,#0000 0 1.5px),radial-gradient(circle,#f4f2ed3d 0 1px,#0000 1.2px),none;background-position:50%;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,6px 6px,auto;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:8px;flex:none;position:relative;overflow:hidden}.ambient-album:after{background:linear-gradient(135deg, #ffffff1f, transparent 42%), radial-gradient(circle at 72% 22%, var(--spotify-glow), transparent 44%);content:"";opacity:.62;pointer-events:none;position:absolute;inset:0}.ambient-spotify .ambient-album[style]{background-size:cover}.ambient-spotify-link{border-radius:8px;transition:box-shadow .16s,opacity .16s,transform .16s;box-shadow:0 0 #0000}.ambient-spotify-link:hover,.ambient-spotify-link:focus-visible{box-shadow:0 0 0 4px var(--spotify-glow);opacity:.9;outline:none;transform:translate(1px)}.ambient-spotify p{color:var(--app-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:650;overflow:hidden}.ambient-spotify span:not(.ambient-album){color:var(--app-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.78rem;display:block;overflow:hidden}.ambient-spotify[data-status=playing] span:not(.ambient-album),.ambient-spotify[data-status=recent] span:not(.ambient-album){color:var(--spotify-accent)}.ambient-mini-row{min-width:0;color:inherit;gap:2px;text-decoration:none;display:grid}.ambient-mini-row p{color:var(--app-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:650;overflow:hidden}.ambient-mini-row span{color:var(--app-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.ambient-mini-link{border-radius:8px;transition:color .16s,opacity .16s,transform .16s}.ambient-mini-link:hover,.ambient-mini-link:focus-visible{opacity:.74;outline:none;transform:translate(1px)}.ambient-github{gap:8px;width:100%;min-width:0;display:grid}.ambient-playground-section{gap:9px;width:100%;max-width:100%}.playground-spin-pill{color:var(--app-dim);letter-spacing:0;margin-left:auto;font-size:.68rem;font-weight:600}.ambient-contribution-calendar{grid-auto-columns:4px;grid-auto-flow:column;gap:1px;width:max-content;max-width:100%;padding:2px 0;display:grid;overflow:visible}.ambient-contribution-week{grid-template-rows:repeat(7,4px);gap:1px;display:grid}.ambient-contribution-day{background:var(--app-ink);opacity:.1;border-radius:1px;width:4px;height:4px;display:block}.ambient-contribution-day[data-level="0"]{opacity:.1}.ambient-contribution-day[data-level="1"]{opacity:.26}.ambient-contribution-day[data-level="2"]{opacity:.44}.ambient-contribution-day[data-level="3"]{opacity:.66}.ambient-contribution-day[data-level="4"]{opacity:.9}.ambient-wall-notes{overscroll-behavior:contain;scroll-behavior:smooth;gap:7px;max-height:168px;display:grid;overflow-y:auto}.ambient-wall-notes p{color:var(--app-muted);gap:2px;font-size:.82rem;display:grid}.ambient-wall-name{color:var(--app-ink);font-size:.68rem;font-weight:650;line-height:1}.ambient-wall-error{color:var(--app-dim)!important}.ambient-wall-form{background:0 0;grid-template-columns:minmax(0,1fr) 30px;align-items:end;gap:8px;padding:0;display:grid}.ambient-wall-fields{gap:6px;min-width:0;display:grid}.ambient-wall-identity,.ambient-wall-prompt{min-height:1rem;color:var(--app-dim);font-size:.68rem;font-weight:650;line-height:1}.ambient-wall-identity{justify-content:space-between;align-items:center;gap:8px;display:flex}.ambient-wall-identity span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ambient-wall-form button.ambient-wall-change{width:auto;height:auto;color:var(--app-dim);background:0 0;border-radius:0;padding:0;font-size:.68rem;font-weight:650;line-height:1}.ambient-wall-form button.ambient-wall-change:hover,.ambient-wall-form button.ambient-wall-change:focus-visible{color:var(--app-ink);background:0 0}.ambient-wall-form input{background:var(--app-input-bg);min-width:0;height:34px;color:var(--app-ink);font:inherit;box-shadow:inset 0 0 0 1px var(--app-input-ring);border:0;border-radius:8px;outline:none;padding:0 10px;font-size:.82rem}.ambient-wall-form input.ambient-wall-name-input{height:26px;color:var(--app-muted);font-size:.72rem}.ambient-wall-name-form input.ambient-wall-name-input{height:34px;color:var(--app-ink);font-size:.82rem}.ambient-wall-form input::placeholder{color:var(--app-dim)}.ambient-wall-form button:disabled{color:var(--app-dim);cursor:not-allowed;opacity:.48}.ambient-people-section{gap:8px}.ambient-presence-count{gap:9px;display:grid}.ambient-presence-count p{color:var(--app-ink);font-size:1rem;font-weight:650;line-height:1.1}.ambient-presence-dots{flex-wrap:wrap;gap:5px;max-width:112px;display:flex}.ambient-presence-dot{background:var(--app-ink);opacity:.72;border-radius:999px;width:7px;height:7px;display:block}.ambient-presence-dot:nth-child(2n){opacity:.44}.ambient-presence-dot:nth-child(3n){opacity:.26}.ambient-room-list{gap:7px;display:grid}.ambient-room-row{color:var(--app-muted);grid-template-columns:minmax(0,1fr) auto;gap:12px;font-size:.82rem;line-height:1.2;display:grid}.ambient-room-row span:last-child{color:var(--app-ink);font-weight:650}.ambient-people-wall{padding-bottom:0}.ambient-gacha{padding-bottom:0;position:relative}.ambient-gacha-confetti{z-index:2;pointer-events:none;width:1px;height:1px;position:absolute;top:18px;right:22px}.ambient-gacha-confetti span{background:color-mix(in srgb, var(--c) 76%, var(--app-ink) 24%);opacity:0;width:3px;height:5px;animation:.62s cubic-bezier(.16,1,.3,1) both ambient-gacha-confetti-pop;animation-delay:var(--d);border-radius:1px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.72)}.ambient-gacha-body{gap:7px;display:grid}.ambient-gacha-status{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.ambient-gacha-body button{width:fit-content;min-height:1rem;color:var(--app-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:0;padding:0;font-size:.78rem;font-weight:650;transition:color .16s,opacity .16s}.ambient-gacha-body button:hover{color:var(--app-ink);background:0 0}.ambient-gacha-body button:focus-visible{color:var(--app-ink);background:0 0;outline:none}.ambient-gacha-body button:disabled{color:var(--app-dim);cursor:not-allowed;opacity:.52}.ambient-gacha-body p{color:var(--app-muted);font-size:.8rem;line-height:1.35}.ambient-roll-window{gap:3px;min-height:1.1rem;display:grid;overflow:hidden}.ambient-roll-window.is-rolling{color:var(--app-ink)}.ambient-roll-result{transform-origin:0;display:inline-block}.ambient-roll-meta{color:var(--app-muted);text-transform:lowercase;font-size:.68rem;font-weight:650;line-height:1;display:block}.ambient-roll-window.is-rolling .ambient-roll-result{animation:86ms steps(2,end) infinite ambient-gacha-roll}.ambient-gacha-collection{justify-items:center;width:100%;max-width:100%;display:grid}.ambient-gacha-collection-trigger{width:fit-content;color:var(--app-muted);cursor:pointer;font:inherit;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:0;padding:2px 0;transition:color .16s;display:inline-flex}.ambient-gacha-collection-trigger:hover,.ambient-gacha-collection-trigger:focus-visible{color:var(--app-ink);background:0 0;outline:none}.ambient-gacha-count{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;gap:0;min-width:0;font-size:.78rem;font-weight:650;line-height:1;display:inline-flex;overflow:hidden}.ambient-gacha-modal-backdrop{z-index:80;background:color-mix(in srgb, var(--app-bg) 72%, transparent);pointer-events:auto;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ambient-gacha-modal{background:var(--app-panel);width:min(360px,100vw - 40px);max-width:100%;box-shadow:inset 0 0 0 1px var(--app-input-ring);border-radius:8px;gap:12px;padding:14px;display:grid}.ambient-gacha-modal-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.ambient-gacha-modal-header p{color:var(--app-ink);margin:0;font-size:.8rem;font-weight:650;line-height:1}.ambient-gacha-modal-close{width:24px;height:24px;color:var(--app-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .16s,color .16s;display:inline-flex}.ambient-gacha-modal-close:hover,.ambient-gacha-modal-close:focus-visible{background:var(--app-hover);color:var(--app-ink);outline:none}.ambient-gacha-modal-list{gap:7px;max-height:min(300px,50vh);display:grid;overflow-y:auto}.ambient-gacha-unlock-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;min-height:20px;padding:0;display:grid}.ambient-gacha-unlock-row span:first-child{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:650;overflow:hidden}.ambient-gacha-unlock-meta{color:var(--app-muted);white-space:nowrap;text-transform:lowercase;font-size:.62rem;font-weight:650;line-height:1}.ambient-gacha-unlock-meta[data-rarity=common],.ambient-roll-meta[data-rarity=common]{color:var(--rarity-common)}.ambient-gacha-unlock-meta[data-rarity=uncommon],.ambient-roll-meta[data-rarity=uncommon]{color:var(--rarity-uncommon)}.ambient-gacha-unlock-meta[data-rarity=rare],.ambient-roll-meta[data-rarity=rare]{color:var(--rarity-rare)}.ambient-gacha-unlock-meta[data-rarity=legendary],.ambient-roll-meta[data-rarity=legendary]{color:var(--rarity-legendary)}.ambient-gacha-unlock-meta[data-rarity=mythical],.ambient-roll-meta[data-rarity=mythical]{color:var(--rarity-mythical)}@keyframes ambient-gacha-roll{0%{opacity:.42;transform:translateY(-2px)}to{opacity:1;transform:translateY(2px)}}@keyframes ambient-gacha-confetti-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.62)}20%{opacity:.92}to{opacity:0;transform:translate(var(--x), var(--y)) rotate(var(--r)) scale(.84)}}.shootaround-toy{width:236px;max-width:100%;color:var(--app-muted);-webkit-user-select:none;user-select:none;background:0 0;gap:8px;padding:12px 0 9px;display:grid}.shootaround-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.shootaround-score,.shootaround-helper{color:var(--app-dim);text-transform:lowercase;font-size:.72rem;font-weight:600;line-height:1}.shootaround-toy.is-clean .shootaround-score{color:var(--app-ink)}.shootaround-toy.is-again .shootaround-score{color:var(--app-muted)}.shootaround-court{background:radial-gradient(circle, var(--app-court-dot) 0 1px, transparent 1.2px), var(--app-court-bg);width:236px;max-width:100%;height:176px;box-shadow:inset 0 0 0 1px var(--app-input-ring);touch-action:none;background-size:9px 9px,auto;border-radius:8px;position:relative;overflow:hidden}.shootaround-court-lines{z-index:1;width:100%;height:100%;color:var(--app-court-line);pointer-events:none;position:absolute;inset:0}.shootaround-hoop-foreground{z-index:4}.shootaround-ground,.shootaround-hoop path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.shootaround-ground{opacity:.22}.shootaround-hoop{color:var(--app-muted)}.shootaround-backboard{opacity:.22}.shootaround-rim{opacity:.86;stroke-width:2.4px}.shootaround-front-rim,.shootaround-backboard-blocker{fill:#0000;opacity:0;stroke:none}.shootaround-net{color:var(--app-muted)}.shootaround-net path{opacity:.72;stroke-width:1.15px}.shootaround-aim-trail{z-index:2;background:linear-gradient(90deg, var(--app-aim-trail), transparent);pointer-events:none;transform-origin:0;border-radius:999px;height:1px;position:absolute;top:0;left:0}.shootaround-confetti{z-index:5;pointer-events:none;width:1px;height:1px;position:absolute;top:52px;left:181px}.shootaround-confetti span{background:var(--app-confetti);opacity:0;width:3px;height:5px;animation:.56s cubic-bezier(.16,1,.3,1) both shootaround-confetti-pop;animation-delay:var(--d);border-radius:1px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.7)}.shootaround-confetti span:first-child{background:color-mix(in srgb, #7aa880 72%, var(--app-confetti) 28%)}.shootaround-confetti span:nth-child(2){background:color-mix(in srgb, #d2a354 72%, var(--app-confetti) 28%)}.shootaround-confetti span:nth-child(3){background:color-mix(in srgb, #6e8ec4 72%, var(--app-confetti) 28%)}.shootaround-confetti span:nth-child(4){background:color-mix(in srgb, #b87f9f 72%, var(--app-confetti) 28%)}.shootaround-confetti span:nth-child(5){background:color-mix(in srgb, #d8c987 72%, var(--app-confetti) 28%)}.shootaround-confetti span:nth-child(6){background:color-mix(in srgb, #8bb8b1 72%, var(--app-confetti) 28%)}.shootaround-ball{z-index:3;background:radial-gradient(circle at 38% 32%, var(--app-ball-light), transparent 0 2px), radial-gradient(circle, var(--app-ball-mid), var(--app-ball-dark));width:15px;height:15px;box-shadow:inset 0 0 0 1px var(--app-ball-ring), 0 4px 16px var(--app-ball-shadow);cursor:grab;touch-action:none;will-change:transform;border:0;border-radius:999px;padding:0;position:absolute;top:0;left:0}.shootaround-toy.is-clean .shootaround-ball{transition:transform .18s cubic-bezier(.16,1,.3,1)}.shootaround-ball:active{cursor:grabbing}.shootaround-ball:focus-visible{outline-offset:3px;outline:1px solid #f4f2ed8a}@keyframes shootaround-confetti-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}24%{opacity:1}to{opacity:0;transform:translate(var(--x), var(--y)) rotate(var(--r)) scale(.82)}}@keyframes ambient-panel-in-left{0%{opacity:0;filter:blur(8px);transform:translate(-18px)scale(.98)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes ambient-panel-in-right{0%{opacity:0;filter:blur(8px);transform:translate(18px)scale(.98)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes ambient-panel-out-left{0%{opacity:1;filter:blur();transform:translate(0,0)scale(1)}to{opacity:0;filter:blur(6px);transform:translate(-14px)scale(.985)}}@keyframes ambient-panel-out-right{0%{opacity:1;filter:blur();transform:translate(0,0)scale(1)}to{opacity:0;filter:blur(6px);transform:translate(14px)scale(.985)}}.site-nav{z-index:40;width:fit-content;height:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:0;padding:0;display:block;position:fixed;inset:auto auto 40px 50%;transform:translate(-50%)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-dock{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}.dock-outer{pointer-events:none;justify-content:center;align-items:flex-end;max-width:100%;display:flex;position:relative;overflow:visible}.dock-panel{justify-content:center;align-items:flex-end;width:fit-content;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.site-dock{border:1px solid var(--app-line);background:var(--app-dock);width:max-content;height:58px;box-shadow:var(--app-dock-shadow);pointer-events:auto;border-radius:999px;align-items:flex-end;gap:4px;padding:7px 10px;display:flex}.dock-item{aspect-ratio:1;color:var(--app-muted);cursor:pointer;font:inherit;touch-action:manipulation;background:0 0;border:0;border-radius:999px;outline:none;justify-content:center;align-items:center;padding:0;transition:background .16s,color .16s;display:inline-flex;position:relative}.dock-item:hover,.dock-item:focus-visible{background:var(--app-hover);color:var(--app-ink)}.dock-icon{pointer-events:none;justify-content:center;align-items:center;display:flex}.dock-label{border:1px solid var(--app-line);background:var(--app-dock);width:max-content;max-width:10rem;color:var(--app-muted);pointer-events:none;white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:500;line-height:1;position:absolute;top:-31px;left:50%}.wordmark,.dock-link,.theme-toggle{width:100%;min-width:0;height:100%;min-height:0;color:var(--app-muted);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .16s,color .16s,transform .16s;display:inline-flex}.wordmark:hover,.dock-link:hover,.theme-toggle:hover{background:var(--app-hover);color:var(--app-ink);transform:translateY(-1px)}.wordmark-name{clip:rect(0, 0, 0, 0);color:currentColor;white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;font-size:.86rem;font-weight:400;line-height:1;position:absolute;overflow:hidden}.nav-links{width:auto;max-width:none;box-shadow:none;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.nav-links a{padding:0;font-size:0}.home-page{--ink:var(--app-ink);--muted:var(--app-muted);--dim:var(--app-dim);--panel:var(--app-panel);--panel-soft:var(--app-panel-soft);--line:var(--app-line);--line-strong:var(--app-line-strong);--signal:var(--app-muted);--accent-muted:var(--app-muted);background:var(--app-bg);min-height:100vh;color:var(--app-ink);background-size:auto;padding-top:0;padding-bottom:168px}.home-page .shell,.home-paper.shell{width:min(var(--app-column), calc(100% - 40px));max-width:var(--app-column);padding-left:0;padding-right:0}.home-page .hero{min-height:auto;padding-top:clamp(82px,10vw,120px);padding-bottom:44px;display:block}.home-page .hero-compact{margin:0 auto}.identity-row{justify-content:space-between;align-items:center;gap:14px;width:100%;display:flex}.identity-main{align-items:center;gap:14px;min-width:0;display:flex}.identity-mark{border:1px solid var(--app-line);background:var(--app-button-bg);width:52px;height:52px;color:var(--app-ink);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.identity-mark img{border-radius:inherit;object-fit:cover;object-position:center 38%;filter:saturate(.9)contrast(1.04);width:100%;height:100%;transition:filter .18s,opacity .18s,transform .18s}.identity-mark-photo{z-index:1;position:relative}.identity-mark-bitmap{z-index:2;opacity:0;filter:grayscale()contrast(1.8)brightness(1.05);image-rendering:pixelated;mix-blend-mode:screen;transition:filter .18s,-webkit-mask-size .18s,mask-size .18s,opacity .18s,transform .18s;position:absolute;inset:0;transform:scale(1.08);-webkit-mask-image:radial-gradient(circle,#000 0 1.15px,#0000 1.36px);mask-image:radial-gradient(circle,#000 0 1.15px,#0000 1.36px);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:4px 4px;mask-size:4px 4px}.identity-mark:hover .identity-mark-photo{opacity:.18;filter:grayscale()contrast(1.45)brightness(.78);transform:scale(1.045)}.identity-mark:hover .identity-mark-bitmap{opacity:1;filter:grayscale()contrast(2.05)brightness(1.08);transform:scale(1.12);-webkit-mask-size:3.4px 3.4px;mask-size:3.4px 3.4px}.home-page .hero-copy h1{max-width:none;color:var(--app-ink);font-size:1.18rem;font-style:normal;font-weight:600;line-height:1.18}.identity-resume-link{color:var(--app-dim);flex:none;align-items:center;gap:4px;margin-left:auto;font-size:.72rem;font-weight:500;line-height:1;text-decoration:none;transition:color .16s;display:inline-flex}.identity-resume-link:hover{color:var(--app-ink)}.identity-resume-link:focus-visible{color:var(--app-ink);outline:none}.home-page .hero-role{max-width:25rem;color:var(--app-muted);margin:4px 0 0;font-size:.9rem;font-style:normal;line-height:1.45}.home-paper{margin-bottom:0}.intro-section{padding:0 0 42px;animation-delay:80ms}.intro-section p{max-width:32rem;color:var(--app-muted);margin:0;font-size:.98rem;font-weight:400;line-height:1.55}.intro-section p+p{margin-top:18px}.manual-section,.proof-section{padding:34px 0}.section-heading-row{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.section-label{color:var(--app-ink);font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:1.02rem;font-weight:600}.section-label svg,.bitmap-section-punctuation{display:none}.section-view-button{min-height:26px;color:var(--app-muted);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 9px;font-size:.76rem;font-weight:500;line-height:1;transition:background .16s,color .16s;display:inline-flex}.section-view-button:hover,.section-view-button:focus-visible{background:var(--app-hover);color:var(--app-ink)}.manual-list,.system-list,.experience-list,.proof-timeline,.proof-side-list{gap:0}.manual-row,.system-row,.experience-row,.proof-row,.proof-side-row,.credential-item{border-radius:12px;grid-template-columns:minmax(0,1fr);gap:6px;margin:0 -12px;padding:12px;transition:background .16s;display:grid}.experience-timeline .experience-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:6px}.experience-row[data-experience-kind=education]{margin-top:8px;padding-top:18px}.experience-copy{gap:5px;display:grid}.experience-copy p{margin:0}.row-title-swap{grid-template-areas:"title";align-items:baseline;display:grid}.row-title-swap>span{grid-area:title;min-width:0;transition:opacity .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1),filter .18s}.row-title-meta{color:var(--app-muted);opacity:0;filter:blur(2px);transform:translateY(.22em)}.experience-row:hover .row-title-swap>span:first-child,.experience-row:focus-within .row-title-swap>span:first-child,.proof-row:hover .row-title-swap>span:first-child,.proof-row:focus-within .row-title-swap>span:first-child,.proof-lead:hover .row-title-swap>span:first-child,.proof-lead:focus-within .row-title-swap>span:first-child,.proof-side-row:hover .row-title-swap>span:first-child,.proof-side-row:focus-within .row-title-swap>span:first-child,.credential-minimal-item:hover .row-title-swap>span:first-child,.credential-minimal-item:focus-within .row-title-swap>span:first-child{opacity:0;filter:blur(2px);transform:translateY(-.22em)}.experience-row:hover .row-title-meta,.experience-row:focus-within .row-title-meta,.proof-row:hover .row-title-meta,.proof-row:focus-within .row-title-meta,.proof-lead:hover .row-title-meta,.proof-lead:focus-within .row-title-meta,.proof-side-row:hover .row-title-meta,.proof-side-row:focus-within .row-title-meta,.credential-minimal-item:hover .row-title-meta,.credential-minimal-item:focus-within .row-title-meta{opacity:1;filter:blur();transform:translate(0,0)}.manual-row:hover,.system-row:hover{background:var(--app-hover)}.manual-row h2,.system-row h2,.experience-row h2,.proof-row h2,.proof-lead h2,.proof-side-row h2,.credential-item h2,.contact-section h2{color:var(--app-ink);font-family:var(--font-body);letter-spacing:0;font-size:.98rem;font-weight:600;line-height:1.25}.manual-row p,.system-row p,.experience-row p,.proof-row p,.proof-lead p,.proof-side-row p,.credential-item p,.contact-section p{color:var(--app-muted);font-size:.86rem;line-height:1.55}.row-meta,.article-meta,.proof-outcome{color:var(--app-dim);font-family:var(--font-body);font-size:.72rem;font-style:normal;font-weight:400}.home-page .row-tags{display:none}.featured-bitmap-system{grid-template-columns:minmax(0,1fr)}.featured-bitmap-system .system-accent{display:none}.proof-row{align-items:start}.proof-row-timeline .proof-outcome{text-align:left}.proof-split,.credential-strip{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.credential-minimal-list{gap:8px}.credential-minimal-item{margin:0 -12px;padding:6px 12px}.credential-minimal-item h2{font-size:.92rem}.credential-minimal-item .proof-outcome{margin-top:3px}.proof-lead{margin:0 -12px 4px;padding:12px;position:static}.proof-lead h2{max-width:none;font-size:.98rem;font-weight:600}.proof-side-list{padding-left:0}.contact-section{text-align:left;grid-template-columns:minmax(0,1fr);justify-items:start;gap:18px;padding:36px 0 0;display:grid}.contact-section h2{max-width:28rem;font-size:1.08rem}.contact-links{gap:0}.contact-links a{min-height:38px;color:var(--app-muted);font-family:var(--font-body);grid-template-columns:86px minmax(0,1fr);font-size:.78rem}.contact-links a span:first-child{color:var(--app-dim);text-transform:none}.contact-copy{text-align:left;justify-items:start;gap:12px;max-width:36rem;display:grid}.contact-copy p{max-width:34rem}.contact-actions{--contact-label-width:5.75rem;text-align:left;justify-items:start;gap:18px;max-width:36rem;display:grid}.contact-primary{grid-template-columns:var(--contact-label-width) minmax(0, 1fr);align-items:baseline;column-gap:24px;width:fit-content;max-width:100%;display:grid}.contact-label,.contact-socials>span{color:var(--app-dim);font-size:.78rem;font-weight:500}.contact-label{pointer-events:none}.contact-value{min-width:0;color:var(--app-muted);cursor:pointer;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:500;text-decoration:none;transition:color .16s;overflow:hidden}.contact-value:hover{color:var(--app-ink)}.contact-value:focus-visible{color:var(--app-ink);outline:none}.contact-email-control{align-items:center;gap:8px;min-width:0;display:inline-flex}.contact-copy-button{height:20px;color:var(--app-dim);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:.72rem;font-weight:500;line-height:1;transition:color .16s;display:inline-flex}.contact-copy-button svg{flex:none}.contact-copy-button:hover{color:var(--app-ink)}.contact-copy-button:focus-visible{color:var(--app-ink);outline:none}.contact-socials{grid-template-columns:var(--contact-label-width) minmax(0, 1fr);color:var(--app-dim);text-align:left;justify-content:flex-start;align-items:baseline;gap:10px 24px;display:grid}.contact-socials>div{flex-wrap:wrap;gap:6px 12px;display:flex}.contact-socials a{color:var(--app-muted);font-size:.78rem;text-decoration:none;transition:color .16s}.contact-socials a:hover{color:var(--app-ink)}.contact-socials a:focus-visible{color:var(--app-ink);outline:none}@media (max-width:640px){.site-nav{bottom:22px}.site-dock{height:54px;padding:6px 9px}.home-page .shell,.home-paper.shell{width:min(var(--app-column), calc(100% - 32px))}.home-page .hero{padding-top:72px;padding-bottom:36px}}body{background:var(--app-bg);color:var(--app-ink)}main:not(.home-page){color:var(--app-ink);padding-top:118px;padding-bottom:164px}.page-hero,.article-shell,.resume-page{width:min(var(--app-column), calc(100% - 40px));max-width:var(--app-column);padding:0}.page-hero h1,.article-shell h1,.resume-heading h1{max-width:none;color:var(--app-ink);font-family:var(--font-body);margin-top:12px;font-size:.98rem;font-weight:600;line-height:1.2}.page-hero .page-title-row h1,.article-shell .page-title-row h1{margin:0}.article-lede,.resume-heading p{max-width:29rem;color:var(--app-muted);font-size:.86rem;line-height:1.6}.project-list,.writing-list{width:min(var(--app-column), calc(100% - 40px));max-width:var(--app-column);padding:34px 0 0}.project-row,.writing-row{border-radius:12px;grid-template-columns:minmax(0,1fr);gap:6px;margin:0 -12px;padding:12px;transition:background .16s;display:grid}.project-row:hover,.writing-row:hover{background:var(--app-hover)}.project-hover-preview{z-index:70;border:1px solid var(--app-line);background:var(--app-panel);pointer-events:none;transform-origin:0;border-radius:10px;width:260px;position:fixed;overflow:hidden}.project-hover-preview[data-side=left]{transform-origin:100%}.project-hover-preview-image{object-fit:cover;filter:saturate(.76)contrast(1.02)brightness(.9);width:100%;height:146px}.external-hover-trigger{display:inline}.external-hover-link{color:var(--app-ink);box-shadow:inset 0 -1px 0 var(--app-line-strong);border-radius:4px;text-decoration:none;transition:background .16s,box-shadow .16s,color .16s}.external-hover-link:hover,.external-hover-link:focus-visible{background:var(--app-hover);box-shadow:inset 0 -1px 0 var(--app-ink);color:var(--app-ink);outline:none}.row-title-swap .external-hover-link{box-shadow:none}.row-title-swap .external-hover-link:hover,.row-title-swap .external-hover-link:focus-visible{box-shadow:inset 0 -1px 0 var(--app-muted);background:0 0}:is(.experience-row:has(.external-hover-link:hover) .row-title-swap>span:first-child,.experience-row:has(.external-hover-link:focus-visible) .row-title-swap>span:first-child){opacity:1;filter:blur();transform:translate(0,0)}:is(.experience-row:has(.external-hover-link:hover) .row-title-meta,.experience-row:has(.external-hover-link:focus-visible) .row-title-meta){opacity:0;filter:blur(2px);transform:translateY(.22em)}.external-hover-preview{z-index:72;background:var(--app-panel);width:282px;min-height:188px;box-shadow:inset 0 0 0 1px var(--app-line), 0 20px 46px color-mix(in srgb, var(--app-ink) 14%, transparent);pointer-events:none;transform-origin:0;border:0;border-radius:12px;padding:0;position:fixed;overflow:hidden}.external-hover-preview[data-side=left]{transform-origin:100%}.external-hover-image{filter:saturate(.74)contrast(1.04)brightness(.62);background-color:#202020;background-position:50%;background-size:cover;width:100%;height:188px;display:block;position:relative;overflow:hidden}.external-hover-image:after{content:"";opacity:1;background:linear-gradient(#0000001f,#0000009e 54%,#000000eb),radial-gradient(circle,#f4f2ed14 0 1px,#0000 1.2px) 0 0/8px 8px;position:absolute;inset:0}.external-hover-preview-copy{text-shadow:0 1px 14px #000000eb;gap:5px;min-width:0;padding:0;display:grid;position:absolute;bottom:12px;left:12px;right:12px}.external-hover-preview-copy>span{color:#f4f2edb3;letter-spacing:0;text-transform:lowercase;font-size:.68rem;font-weight:600;line-height:1}.external-hover-preview-copy strong{color:#fffffff0;letter-spacing:0;font-size:.88rem;font-weight:600;line-height:1.16}.external-hover-preview-copy p{color:#f4f2edc7;margin:0;font-size:.76rem;line-height:1.38}.project-row h2,.writing-row h2{color:var(--app-ink);font-family:var(--font-body);font-size:.98rem;font-weight:600;line-height:1.25}.project-row p,.writing-row p{color:var(--app-muted);font-size:.86rem;line-height:1.55}.project-row .mini-tags,.writing-row .mini-tags{display:none}.article-actions{margin-top:18px;margin-bottom:26px}.button{border:1px solid var(--app-line);background:var(--app-button-bg);min-height:34px;color:var(--app-ink);border-radius:999px;font-size:.82rem}.button:hover,.button.primary{background:var(--app-hover);color:var(--app-ink)}.article-image{aspect-ratio:16/7;width:100%;max-width:100%;height:auto;max-height:360px;box-shadow:none;filter:saturate(.84)contrast(.98)brightness(.92);border-radius:4px;margin:34px 0}.prose{color:var(--app-muted);font-size:.92rem;line-height:1.7}.prose h1,.prose h2,.prose h3{color:var(--app-ink);font-family:var(--font-body);font-weight:600}.prose h2{margin-top:42px;font-size:1.16rem}.prose h3{font-size:1rem}.prose img{width:100%;max-width:100%;box-shadow:none;background:0 0;border-radius:4px;margin:34px 0 14px}.prose a{color:var(--app-ink);-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal)}.prose blockquote{color:var(--app-ink)}.prose table{border-collapse:separate;border-spacing:0;width:100%;box-shadow:none;color:var(--app-muted);background:0 0;margin:30px 0 32px;font-size:.82rem;line-height:1.45}.prose th,.prose td{color:var(--app-muted);text-align:left;padding:10px 0}.prose th{color:var(--app-dim);font-family:var(--font-body);text-transform:lowercase;font-size:.72rem;font-weight:500}.prose td{color:var(--app-muted)}.prose th:not(:first-child),.prose td:not(:first-child){text-align:right;padding-left:18px}.prose tbody tr+tr td{box-shadow:inset 0 1px 0 var(--app-table-line)}@media (max-width:640px){main:not(.home-page){padding-top:86px}.page-hero,.article-shell,.resume-page,.project-list,.writing-list{width:min(var(--app-column), calc(100% - 32px))}.article-image,.prose img{width:100%;margin-left:0;transform:none}}@media (max-width:1100px){.ambient-panels{display:none}}
