.personal-page{min-height:100vh;padding:var(--personal-gutter);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-personal);font-size:var(--text-md);line-height:1.3;-webkit-font-smoothing:auto}.personal-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--personal-gap);align-items:start;width:min(100%,var(--personal-width))}.personal-portrait{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.personal-copy{min-width:0}.personal-section{position:relative;margin-bottom:var(--space-lg);scroll-margin-top:var(--personal-gutter)}.personal-intro h1{margin:0 0 var(--space-lg);font-size:var(--text-personal-title);line-height:1.1;font-weight:700;overflow-wrap:anywhere}.personal-section h2{margin:0 0 var(--space-md);font-size:inherit;font-weight:700}.personal-section>p{margin:0 0 var(--space-md)}.personal-section>ul,.personal-section>ol{margin:0 0 var(--space-md);padding-left:var(--space-sm)}.personal-section li+li{margin-top:var(--space-2xs)}.personal-section li>p{margin:var(--space-xs) 0 var(--space-md)}.personal-yc-story{position:relative}.personal-yc-photo{position:absolute;top:0;right:calc(100% + var(--personal-gap) + var(--space-sm));width:calc(100% + var(--space-sm));margin:0}.personal-yc-photo img{display:block;width:100%;height:auto}.personal-section li:has(.project-mention),.personal-section>p:has(.project-mention){position:relative}.personal-copy a,.project-name{color:var(--color-personal-link);text-decoration:underline;text-underline-offset:1px;white-space:nowrap}.personal-copy a:visited{color:var(--color-personal-visited)}.personal-copy a:hover,.project-name:hover{text-decoration-thickness:2px}.personal-page a:focus-visible,.personal-page button:focus-visible{outline:2px solid var(--color-personal-link);outline-offset:3px}.personal-logo{display:inline-block;width:16px;height:16px;object-fit:contain;vertical-align:-3px;margin-right:var(--space-3xs)}.project-mention{white-space:nowrap}.project-name{padding:0;border:0;font:inherit;background:none}.project-preview{position:absolute;z-index:5;top:0;right:calc(100% + var(--personal-gap));width:100%;padding:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule-2);background:var(--color-paper);white-space:normal}.project-preview:after{content:"";position:absolute;top:0;left:100%;width:var(--personal-gap);height:100%}.project-preview img{display:block;width:100%;height:auto;max-height:24rem;object-fit:contain}.project-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);padding-top:var(--space-2xs);font-size:var(--text-sm)}.project-preview-caption button{border:0;padding:0 var(--space-2xs);background:none;color:var(--color-ink);font:inherit;font-size:var(--text-lg)}.project-preview-toggle{display:none}.personal-footer{padding:var(--space-md) 0 var(--space-lg)}@media (min-width: 1100px){.personal-main{width:min(var(--personal-width),calc(56vw + var(--personal-gap)))}}@media (hover: none),(max-width: 640px){.project-preview-toggle{display:inline;margin-left:var(--space-3xs);padding:0;border:0;background:none;color:var(--color-muted);font:inherit;font-size:var(--text-sm);text-decoration:underline}}@media (max-width: 640px){.personal-page{padding:var(--space-sm);line-height:1.4}.personal-main{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.personal-intro h1{margin-bottom:var(--space-md)}.personal-yc-photo{position:static;width:100%;margin:var(--space-md) 0}.project-preview{position:fixed;top:auto;bottom:var(--space-sm);left:var(--space-sm);right:var(--space-sm);width:auto}.project-preview img{max-height:45vh}.project-preview:after{display:none}.personal-footer{padding-bottom:0}}.site-nav{display:flex;align-items:center;gap:1.75rem}.site-nav a{font-size:.9375rem;font-weight:400;color:#000;text-decoration:none}.site-nav a:focus-visible{outline:2px solid #000;outline-offset:2px}@media (hover: hover){.site-nav a:hover{opacity:.55}}:root{--color-paper: #ffffff;--color-paper-2: #fafafa;--color-paper-3: #f5f5f5;--color-ink: #000000;--color-ink-2: #1a1a1a;--color-muted: #666666;--color-rule: #e5e5e5;--color-rule-2: #cccccc;--color-accent: #000000;--color-accent-ink: #ffffff;--color-focus: #000000;--font-display: "SF Pro Display", "SF Pro", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;--font-body: "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-display: clamp(2rem, 5vw, 3rem);--tracking-display: -.02em;--tracking-label: .04em;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 5rem;--space-4xl: 7rem;--page-gutter: clamp(1.5rem, 5vw, 3.5rem);--content-max: 42rem;--page-max: 72rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-reduced: .1s;--dur-micro: .12s;--dur-short: .2s;--dur-long: .35s;--rule-hair: 1px;--rule-fine: 1px;--radius-card: 0;--radius-pill: 0;--radius-input: 0;--color-message-blue: #007aff;--color-message-action: #0066db;--color-message-gray: #e9e9eb;--color-message-ink: #171719;--color-message-muted: #6c6c70;--color-message-avatar: #dedee3;--font-message: var(--font-body);--radius-message: 1.125rem;--color-message-avatar-bottom: #9898a0;--color-message-edge: rgba(255, 255, 255, .7);--color-message-shadow: rgba(0, 0, 0, .24);--color-message-soft-shadow: rgba(0, 0, 0, .1);--color-message-backdrop: rgba(20, 22, 30, .32);--color-message-focus: rgba(0, 122, 255, .12)}:root{--color-game-ink: oklch(32% .04 155);--color-game-paper: oklch(95% .03 90);--color-game-light: oklch(98% .015 90);--color-game-rule: oklch(79% .035 100);--color-game-muted: oklch(48% .025 145);--color-game-green: oklch(47% .065 150);--color-game-grass: oklch(81% .075 125);--color-game-gold: oklch(76% .13 80);--color-game-clay: oklch(60% .115 40);--color-game-sky: oklch(89% .04 125);--color-game-overlay: oklch(95% .03 90 / .96);--color-game-shadow: oklch(20% .015 145 / .24);--font-game: "Courier New", ui-monospace, monospace}:root{--font-personal: "Times New Roman", Times, serif;--text-personal-title: 2rem;--color-personal-link: #0000ee;--color-personal-visited: #551a8b;--color-personal-fern: #f8f9f7;--color-personal-eden: #050505;--color-personal-recreach: #060b0e;--personal-width: 68rem;--personal-gutter: clamp(1rem, 1.667vw, 2rem);--personal-gap: clamp(1.5rem, 1.667vw, 2rem)}.not-found-page{min-height:100dvh;display:flex;flex-direction:column;color:#000;background:#fff;font-family:var(--font-body);font-size:.9375rem;line-height:1.55}.not-found-header{display:flex;align-items:center;justify-content:space-between;width:min(100%,72rem);margin-inline:auto;padding:1.75rem clamp(1.5rem,5vw,3.5rem) 0}.not-found-name{font-size:clamp(1.5rem,3.5vw,2rem);font-weight:700;color:#000;letter-spacing:-.03em}.not-found-main{flex:1;display:flex;flex-direction:column;justify-content:center;width:min(100%,72rem);margin-inline:auto;padding:clamp(1.75rem,4vh,2.5rem) clamp(1.5rem,5vw,3.5rem)}.not-found-code{margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-.03em}.not-found-message{margin:.5rem 0 0;color:#666}.not-found-link{margin-top:1.5rem;color:#000;text-decoration:underline;text-underline-offset:.15em}.not-found-page a:focus-visible{outline:2px solid #000;outline-offset:2px}@media (hover: hover){.not-found-page a:hover{opacity:.55}}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:var(--font-body);line-height:1.55;font-weight:400;color:#000;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,button{cursor:pointer}html{height:100%;scroll-behavior:smooth;overflow-x:clip}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow-x:clip;background:#fff;color:#000}#root{width:100%;min-height:100vh;background:#fff}a{color:inherit;text-decoration:none}button{border-radius:0;border:1px solid #000;padding:.6em 1.2em;font-size:1em;font-weight:400;font-family:inherit;background-color:transparent;color:#000;cursor:pointer}button:focus,button:focus-visible{outline:2px solid #000;outline-offset:2px}
