@font-face{font-family:"General Sans";src:url("/assets/GeneralSans-Variable.woff2") format("woff2");font-weight:200 700;font-style:normal;font-display:swap}
@font-face{font-family:"General Sans";src:url("/assets/GeneralSans-VariableItalic.woff2") format("woff2");font-weight:200 700;font-style:italic;font-display:swap}
:root{color-scheme:light;--font:"General Sans","Helvetica Neue",Helvetica,Arial,sans-serif;--surface:#f9f6f0;--text:#0d0c07;--heading:var(--text);--accent:#1d2435;--link:var(--accent);--accent-hover:color-mix(in srgb,var(--accent) 85%,var(--text));--muted:color-mix(in srgb,var(--text) 65%,var(--surface));--rule:color-mix(in srgb,var(--text) 16%,var(--surface));--border:color-mix(in srgb,var(--accent) 30%,var(--surface));--tint:color-mix(in srgb,var(--accent) 6%,var(--surface));--selection:var(--accent)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface);color:var(--text);font-family:var(--font);font-size:1.0625rem;line-height:1.7}
::selection{background:var(--selection);color:var(--surface)}
a{color:var(--link);text-decoration-line:underline;text-decoration-color:var(--border);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .18s ease,text-decoration-color .18s ease}
a:hover{text-decoration-color:currentColor;color:var(--accent-hover)}
a:focus-visible{outline:2px solid var(--link);outline-offset:5px;border-radius:1px}
.skip-link{position:fixed;left:1rem;top:-8rem;background:var(--surface);padding:.7rem 1rem;z-index:10;border:1px solid var(--link)}
.skip-link:focus{top:1rem}
.page{display:grid;grid-template-columns:minmax(0,640px) 170px;column-gap:clamp(3rem,7vw,7rem);max-width:1080px;margin:0 auto;padding:clamp(3rem,9vh,6.5rem) 2rem 6rem;align-items:start}
.sidebar{grid-column:2;grid-row:1;position:sticky;top:3rem;border-left:1px solid var(--rule);padding-left:1.8rem;margin-top:.15rem}
.identity{display:block;color:var(--heading);font-size:1.0625rem;line-height:1.4;font-weight:600;letter-spacing:-.025em;text-decoration:none}
.location{display:block;font-size:.875rem;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:.25rem}
.sidebar nav{margin-top:2.4rem}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar li{margin:0 0 .6rem}
.sidebar nav a{font-size:.9375rem;text-decoration:none;display:inline-block;padding:.12rem 0;position:relative;color:var(--muted)}
.sidebar nav a:hover{color:var(--link)}
.sidebar a[aria-current="page"]{color:var(--link);font-weight:500}
.sidebar a[aria-current="page"]:before{content:"";position:absolute;left:calc(-1.8rem - 1px);width:2px;top:0;bottom:0;background:var(--link)}
.elsewhere{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:2.6rem;font-size:.875rem}
.elsewhere a{text-decoration:none;color:var(--muted)}
.elsewhere a:hover{color:var(--link)}
main{grid-column:1;grid-row:1;min-width:0;outline:none}
p{margin:0 0 1.1rem}
.page-heading{margin-bottom:2.1rem}
.eyebrow{color:var(--muted);font-size:.875rem;margin:0 0 .9rem}
h1{font-size:clamp(2.2rem,4.5vw,3.125rem);line-height:1.15;letter-spacing:-.05em;color:var(--heading);font-weight:500;margin:0;text-wrap:balance}
.lead{font-size:clamp(1.25rem,2.2vw,1.4375rem);line-height:1.55;letter-spacing:-.023em;color:var(--heading);margin-bottom:1.5rem;text-wrap:pretty}
.introduction>p:not(.lead){max-width:35rem}
.interests{margin-top:3.4rem}
.section-heading{font-size:.875rem;font-weight:500;color:var(--muted);margin:0 0 .3rem;padding:0 0 1rem;border-bottom:1px solid var(--rule)}
.interest-list{margin:0}
.interest-list>div{padding:1.5rem 0 1.4rem;border-bottom:1px solid var(--rule)}
.interest-list dt{font-size:1.0625rem;font-weight:550;letter-spacing:-.015em;color:var(--heading);margin-bottom:.35rem}
.interest-list dd{margin:0;text-wrap:pretty}
.page-footer{font-size:.9375rem;margin-top:2.2rem}
.page-intro{margin:1.1rem 0 0;color:var(--muted);max-width:31rem}
.collection-list{list-style:none;padding:0;margin:2.6rem 0 0;border-top:1px solid var(--rule)}
.collection-list>li{display:flex;gap:1.5rem;padding:1.6rem 0;border-bottom:1px solid var(--rule)}
.list-number{font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:.4rem;flex:0 0 1.4rem}
.collection-list h2{font-size:clamp(1.2rem,2.5vw,1.5rem);line-height:1.4;font-weight:500;letter-spacing:-.025em;color:var(--heading);margin:0 0 .2rem}
cite{font-style:normal}
.item-meta{font-size:.9375rem;color:var(--muted);margin:0}
.item-note{font-size:.875rem;color:var(--muted);margin:.45rem 0 0;font-style:italic}
.games-list h2{font-size:clamp(1.5rem,3vw,2rem)}
.games-list>li{padding:2rem 0}
@media(max-width:720px){.page{grid-template-columns:minmax(0,1fr);padding:1.75rem 1.4rem 4rem;gap:2.7rem}.sidebar{grid-column:1;grid-row:1;position:static;border-left:0;border-bottom:1px solid var(--rule);padding:0 0 1.15rem;display:grid;grid-template-columns:1fr auto;gap:1.15rem;margin:0}.sidebar nav{grid-row:2;grid-column:1/-1;margin:0}.sidebar ul{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem}.sidebar li{margin:0}.sidebar nav a{padding:.4rem 0}.sidebar a[aria-current="page"]:before{left:0;right:0;top:auto;bottom:0;height:1px;width:auto}.location{font-size:.8125rem}.elsewhere{flex-direction:row;gap:1rem;margin:0;align-self:start;padding-top:.05rem;flex-wrap:wrap;justify-content:flex-end}main{grid-row:2}.page-heading{margin-bottom:1.8rem}.interests{margin-top:2.7rem}.collection-list>li{gap:1rem}}
@media(max-width:360px){.page{padding-left:1rem;padding-right:1rem}.sidebar ul{gap:.3rem 1rem}.elsewhere{flex-direction:column;gap:.35rem}}
@media(prefers-reduced-motion:reduce){a{transition:none}}

.owner-tools{margin-top:2rem;font-size:.875rem;padding-top:1rem;border-top:1px solid var(--rule)}
@media(max-width:720px){.owner-tools{grid-column:1/-1;margin:0;padding:.7rem 0 0}}

/* Give WebKit a selection root so paragraph-gap highlights stay in this column. */
.minimal-page{position:relative;width:min(32rem,calc(66.666667% - 1.5rem));margin-left:33.333333%;min-height:100vh;min-height:100svh;padding:20vh 0 2rem;padding-top:20svh;background:var(--surface);color:var(--text)}
.minimal-page h1,.minimal-nav,.minimal-content,.minimal-subtitle{font-family:var(--font);font-weight:400;letter-spacing:-.02em}
.minimal-page h1,.minimal-nav{font-size:1.5rem;line-height:1.4}
.minimal-page h1{margin:0;min-height:1.4em;color:var(--heading);overflow-wrap:anywhere;text-wrap:wrap}
.minimal-nav{margin-top:2.8em}
.minimal-nav ul{list-style:none;margin:0;padding:0}
.minimal-nav li{margin:0;padding:0}
.minimal-nav a{display:block;width:fit-content;max-width:100%;color:color-mix(in srgb,var(--text) 65%,transparent);text-decoration-color:transparent;transition:color .18s ease,text-decoration-color .18s ease}
.minimal-nav a:is(:hover,:focus-visible){color:var(--accent);text-decoration-color:currentColor}
.minimal-content,.minimal-subtitle{font-size:1.125rem;line-height:1.5;overflow-wrap:anywhere}
.minimal-subtitle{margin:.35em 0 0;color:var(--muted)}
.minimal-content{margin-top:2em;max-width:32rem}
.minimal-content p{margin:0 0 1.4em;white-space:pre-line}
.minimal-content p:last-child{margin-bottom:0}
.bio-content p{margin-bottom:1em}
.bio-section+.bio-section{margin-top:2em}
.bio-section h2{font:inherit;color:var(--muted);margin:0 0 .5em}
@media(max-width:720px),(max-height:740px){.minimal-content,.minimal-subtitle{font-size:1rem;line-height:1.4}.minimal-content{margin-top:1.5em}.bio-content p{margin-bottom:.75em}.bio-section+.bio-section{margin-top:1.5em}}
.reading-list{list-style:none;margin:0;padding:0}
.reading-list li+li{margin-top:1.4em}
.reading-detail{display:block;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.minimal-nav a{transition:none}}
.typing-text{white-space:pre-wrap}
.typing-pending .typing-text{visibility:hidden}
.typing-active .typing-text::after{content:"";display:inline-block;vertical-align:-.08em;height:1em;border-left:1px solid var(--accent);margin-left:2px}
@media(prefers-reduced-motion:reduce){.typing-pending .typing-text{visibility:visible}.typing-active .typing-text::after{display:none}}
