@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg: #000000;--text: #ffffff;--body: #b8b8b8;--muted: #575757;--line: #1f1f1f;--surface: #101010;--focus: #7f97ad;--font: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, monospace;--pad: clamp(24px, 5vw, 48px);--max: 570px}html{color-scheme:dark;font-size:15px}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--body);font-family:var(--font);font-size:1rem;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#2a2a2a;color:var(--text)}.page{max-width:var(--max);width:100%;margin:0 auto;padding:clamp(96px,18vh,280px) var(--pad) 80px}h1,h2,h3{font:inherit;margin:0}p{margin:0 0 1em}p:last-child{margin-bottom:0}ul{margin:0;padding-left:0;list-style:none}a{color:var(--text);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:var(--muted);transition:text-decoration-color .15s ease}a:hover{text-decoration-color:var(--text)}a:focus-visible,.row:focus-visible,.resumeLink:focus-visible,.resumeDialogClose:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}.linkPreview{position:relative}.linkPreviewCard{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);width:160px;border-radius:5px;border:1px solid var(--line);background:var(--surface);box-shadow:0 14px 34px #00000029;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:20}.linkPreviewCard img{display:block;width:100%;height:auto}.linkPreview:hover .linkPreviewCard,.linkPreview:focus-within .linkPreviewCard{opacity:1;visibility:visible;transform:translate(-50%)}.autoReveal{color:inherit;text-decoration:none;transition:color .18s ease}.autoReveal:hover,.autoReveal:focus-visible{color:#bf5700}.autoRevealText{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;vertical-align:bottom;opacity:0;color:#bf5700;transition:max-width .3s cubic-bezier(.33,1,.68,1),opacity .25s ease}.autoReveal:hover .autoRevealText,.autoReveal:focus-visible .autoRevealText{max-width:8ch;opacity:1}.header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:1.75em}.name{font-size:1.05rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.about{margin-bottom:3em}.sectionLabel{font-family:var(--mono);font-size:.78rem;font-weight:400;letter-spacing:.02em;text-transform:lowercase;color:var(--muted);margin-bottom:.7em}.sectionLabel:before{content:"// "}.rows{border-top:1px solid var(--line)}.row{padding:.85em 0;border-bottom:1px solid var(--line);cursor:default}.rowHead{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.rowTitle{color:var(--text)}.rowYear{font-family:var(--mono);font-size:.85em;color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 auto}.rowContext{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .3s cubic-bezier(.33,1,.68,1),opacity .2s ease,margin-top .3s cubic-bezier(.33,1,.68,1)}.rowContextInner{margin:0;min-height:0;overflow:hidden;color:var(--body);font-size:.92em;transition:overflow .3s allow-discrete}.row:hover .rowContext,.row:focus-visible .rowContext,.row:focus-within .rowContext{grid-template-rows:1fr;opacity:1;margin-top:.35em}.row:hover .rowContextInner,.row:focus-visible .rowContextInner,.row:focus-within .rowContextInner{overflow:visible}.footer{margin-top:3em;color:var(--body);font-size:.95em}.resumeLink{font-family:var(--mono);font-size:.8em;color:var(--muted);background:transparent;border:0;padding:0;margin:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line);transition:color .15s ease,text-decoration-color .15s ease}.resumeLink:hover{color:var(--text);text-decoration-color:var(--muted)}.resumeDialog{width:min(820px,92vw);height:min(88vh,900px);padding:0;border:0;border-radius:12px;overflow:hidden;background:var(--surface);color:var(--text);box-shadow:0 24px 64px #00000038;opacity:0;transform:none;transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1),display .32s allow-discrete,overlay .32s allow-discrete}.resumeDialog[open]{display:flex;flex-direction:column;opacity:1;transform:translateY(0) scale(1)}@starting-style{.resumeDialog[open]{opacity:0;transform:translateY(10px) scale(.985)}}.resumeDialog::backdrop{background:#0000;backdrop-filter:blur(2px);transition:background .32s cubic-bezier(.22,1,.36,1),display .32s allow-discrete,overlay .32s allow-discrete}.resumeDialog[open]::backdrop{background:#00000052}@starting-style{.resumeDialog[open]::backdrop{background:#0000}}.resumeDialogHeader{flex:0 0 auto;display:flex;justify-content:flex-end;padding:8px 10px}.resumeDialogClose{font-family:var(--mono);font-size:.78em;color:var(--muted);background:transparent;border:0;border-radius:4px;padding:.2em .4em;margin:0;cursor:pointer;transition:color .15s ease}.resumeDialogClose:hover{color:var(--text)}.resumeFrame{flex:1 1 auto;width:100%;border:0;background:var(--surface)}@media(hover:none){.rowContext{grid-template-rows:1fr;opacity:1;margin-top:.35em}.rowContextInner{overflow:visible}}@media(prefers-reduced-motion:reduce){a,.resumeLink,.resumeDialogClose,.rowContext,.rowContextInner{transition:none}.linkPreviewCard{transition:opacity .18s ease,visibility .18s;transform:translate(-50%)}.resumeDialog{transition:none;transform:none}.resumeDialog::backdrop{transition:none}}
