@font-face{font-family:DaVinci;src:url(/_fonts/TRJNDaVinci-Regular.woff) format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:DaVinci;src:url(/_fonts/TRJNDaVinci-Italic.woff) format("woff");font-style:italic;font-weight:400;font-display:swap}:root{color-scheme:light dark;--color-bg: #f6f1e8;--color-bg-accent: rgba(172, 136, 90, .14);--color-surface: rgba(255, 255, 255, .42);--color-text: #1c1a17;--color-muted: rgba(28, 26, 23, .74);--color-border: rgba(28, 26, 23, .08);--color-toggle-bg: rgba(255, 255, 255, .48);--color-toggle-active-bg: rgba(28, 26, 23, .9);--color-toggle-active-text: #f6f1e8;--color-link: currentColor;--shell-width: 72rem;--content-width: 34rem;--gutter: clamp(1.25rem, 3vw, 2.5rem);--hero-gap: clamp(2rem, 6vw, 4rem);--surface-shadow: 0 0 0 1px var(--color-border)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #11100f;--color-bg-accent: rgba(255, 184, 107, .12);--color-surface: rgba(255, 255, 255, .06);--color-text: #f6efe5;--color-muted: rgba(246, 239, 229, .72);--color-border: rgba(246, 239, 229, .12);--color-toggle-bg: rgba(255, 255, 255, .06);--color-toggle-active-bg: #f6efe5;--color-toggle-active-text: #11100f}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,var(--color-bg-accent),transparent 34%),var(--color-bg);color:var(--color-text);font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video,canvas{display:block;max-width:100%}a{color:var(--color-link);text-decoration-color:currentColor;text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{text-decoration-thickness:.12em}.site-shell{width:min(100%,var(--shell-width));margin-inline:auto;padding-inline:var(--gutter)}.site-layout{min-height:100vh;display:grid;align-content:center;gap:clamp(1.75rem,5vw,3.25rem);padding-block:0 clamp(3rem,8vh,6rem)}.hero{display:grid;place-items:center}.hero__inner{width:100%;display:grid;justify-items:center;gap:var(--hero-gap)}.hero__title{grid-column:1}.intro{display:grid;justify-content:center}.intro__inner{width:min(100%,var(--content-width) + 16rem);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;column-gap:clamp(1.5rem,4vw,3rem)}.intro__meta{display:grid;justify-items:center;row-gap:.9rem}.intro__avatar-wrap{margin:0;width:clamp(9rem,20vw,12rem);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--color-surface);box-shadow:var(--surface-shadow)}.intro__avatar{width:100%;height:100%;object-fit:cover;display:block}.hero__title{margin:0;font-family:DaVinci,Times New Roman,serif;font-weight:400;font-size:clamp(3rem,11vw,8rem);line-height:1.2;letter-spacing:-.05em;text-wrap:balance;font-synthesis:none}.hero__title-emphasis{font-style:italic}.prose{color:var(--color-muted);font-size:clamp(1.05rem,.9rem + .45vw,1.3rem);line-height:1.75;padding-top:.25rem;width:min(100%,var(--content-width))}.prose p{margin:0;text-wrap:balance}.prose p+p{margin-top:1.5rem}.theme-switcher{position:fixed;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:10;display:inline-flex;align-items:center;gap:.25rem;padding:.35rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-toggle-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.theme-switcher__button{appearance:none;border:0;border-radius:999px;padding:.5rem .8rem;background:transparent;color:var(--color-muted);font:inherit;font-size:.85rem;line-height:1;letter-spacing:.01em;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease}.theme-switcher__button:hover{transform:translateY(-1px)}.theme-switcher__button[data-active=true]{background:var(--color-toggle-active-bg);color:var(--color-toggle-active-text)}.theme-switcher__button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.blog-index,.post{width:min(100%,var(--shell-width))}.blog-index{display:grid;gap:clamp(1.5rem,4vw,2.5rem)}.blog-index__header,.post__header{width:min(100%,var(--content-width))}.blog-index__eyebrow,.post__eyebrow{margin:0 0 .6rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-muted)}.blog-index__title,.post__title{margin:0;font-family:DaVinci,Times New Roman,serif;font-weight:400;font-size:clamp(2.5rem,7vw,5rem);line-height:1.05;letter-spacing:-.05em;text-wrap:balance}.blog-index__description,.post__description{margin:1rem 0 0;color:var(--color-muted);font-size:clamp(1.05rem,.9rem + .35vw,1.2rem);line-height:1.75;text-wrap:balance}.blog-index__list{display:grid;gap:1rem}.blog-card{margin:0}.blog-card__link{display:grid;gap:.5rem;padding:1.1rem 1.2rem 1.15rem;border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-surface);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.blog-card__link:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-border) 50%,currentColor 50%)}.blog-card__date{margin:0;font-size:.82rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.blog-card__title{margin:0;font-family:DaVinci,Times New Roman,serif;font-size:clamp(1.4rem,2vw,2rem);line-height:1.08;font-weight:400;letter-spacing:-.03em}.blog-card__description{margin:0;color:var(--color-muted);font-size:1rem;line-height:1.65}.blog-card__tags,.post__tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.35rem 0 0}.blog-card__tags li,.post__tags li{padding:.3rem .62rem;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);font-size:.82rem;color:var(--color-muted)}.post{display:grid;gap:2rem}.post__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,max-content));gap:1rem 1.5rem;margin:1.25rem 0 0}.post__meta dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted)}.post__meta dd{margin:.25rem 0 0;color:var(--color-text)}.post__content{width:min(100%,var(--content-width));color:var(--color-text);font-size:clamp(1.05rem,.95rem + .4vw,1.18rem);line-height:1.8}.post__content :is(p,ul,ol,blockquote,pre){margin:0}.post__content p+p,.post__content p+ul,.post__content p+ol,.post__content p+blockquote,.post__content p+pre,.post__content ul+p,.post__content ol+p,.post__content blockquote+p,.post__content pre+p,.post__content .callout+p,.post__content .sandbox+p,.post__content .embed+p{margin-top:1.4rem}.post__content h2,.post__content h3{margin:2.25rem 0 .85rem;line-height:1.15;letter-spacing:-.03em}.post__content h2{font-size:clamp(1.5rem,2.5vw,2rem)}.post__content h3{font-size:clamp(1.2rem,2vw,1.5rem)}.post__content ul,.post__content ol{padding-inline-start:1.3rem}.post__content li+li{margin-top:.45rem}.post__content pre{overflow:auto;padding:1rem 1.1rem;border-radius:1rem;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 65%,black 35%)}.post__content code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.92em}.post__content :not(pre)>code{padding:.15rem .35rem;border-radius:.35rem;background:var(--color-surface);border:1px solid var(--color-border)}.callout,.sandbox,.embed{margin:1.5rem 0}.callout{padding:1rem 1.1rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-surface)}.callout__title{margin:0 0 .5rem;font-weight:600}.callout__body>:first-child{margin-top:0}.callout__body>:last-child{margin-bottom:0}.sandbox__frame,.embed__frame{display:block;width:100%;border:1px solid var(--color-border);border-radius:1rem;background:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:40rem){.theme-switcher{top:auto;right:50%;bottom:max(1rem,env(safe-area-inset-bottom));transform:translate(50%)}.site-layout{gap:clamp(2rem,7vw,3rem)}.hero__inner{gap:clamp(1.25rem,5vw,2rem)}.intro__inner{grid-template-columns:1fr;justify-items:center;row-gap:1rem}.intro__avatar-wrap{width:9rem}.intro__body{width:min(100%,var(--content-width))}.post__content{width:100%}}
