:root{--paper: #FAF6EE;--cream: #F5F0E6;--ink: #1A1613;--ink-soft: #3D342C;--ink-muted: #6B5F54;--ink-faint: #9A8F82;--rule: #D9CFBD;--rule-soft: #E8DFCC;--terracotta: #B8502E;--font-display: "Newsreader", Georgia, serif;--font-body: "Source Serif 4", Georgia, serif;--font-sans: "Inter Tight", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--pad-page-desktop: 48px;--pad-page-mobile: 22px;--timeline-max: 820px}[data-theme=dark]{--paper: #171310;--cream: #241d18;--ink: #F1E5D6;--ink-soft: #D4C4B2;--ink-muted: #AB9986;--ink-faint: #7D6F61;--rule: #3A3027;--rule-soft: #2C241D;--terracotta: #D98A61;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;transition:background-color .2s ease,color .2s ease}body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--ink-soft);margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);transition:background-color .2s ease,color .2s ease;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{flex:1;width:100%}a{color:var(--terracotta);text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}::selection{background:#b8502e2e;color:var(--ink)}p{margin:0 0 1.1em}.chronicle-head{width:100%;margin:0;padding:28px var(--pad-page-desktop) 8px;display:flex;align-items:baseline;justify-content:space-between;gap:24px}.chronicle-head__logo{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:20px;color:var(--ink);letter-spacing:-.01em;text-decoration:none}.chronicle-head__logo em{font-style:italic;color:var(--terracotta)}.chronicle-head__nav{display:flex;align-items:center;gap:22px;font-family:var(--font-sans);font-size:13px;letter-spacing:.02em}.chronicle-head__nav a{color:var(--ink-soft);text-decoration:none;transition:color .1s ease}.chronicle-head__nav a:hover,.chronicle-head__nav a[aria-current=page],.chronicle-head__nav a.is-rss{color:var(--terracotta)}.chronicle-head__theme-toggle{background:none;border:none;padding:2px;margin:0 0 0 2px;width:24px;height:24px;position:relative;cursor:pointer;color:var(--ink-soft);transition:color .2s ease}.chronicle-head__theme-toggle:hover{color:var(--terracotta)}.chronicle-head__theme-toggle .icon-sun,.chronicle-head__theme-toggle .icon-moon{position:absolute;top:3px;left:3px;transition:opacity .35s ease,transform .35s ease}.chronicle-head__theme-toggle .icon-moon{opacity:0;transform:rotate(-90deg) scale(.8)}[data-theme=dark] .chronicle-head__theme-toggle .icon-sun{opacity:0;transform:rotate(90deg) scale(.8)}[data-theme=dark] .chronicle-head__theme-toggle .icon-moon{opacity:1;transform:rotate(0) scale(1)}.chronicle-hero{max-width:var(--timeline-max);margin:0 auto;padding:28px var(--pad-page-desktop) 12px}.chronicle-hero h1{font-family:var(--font-display);font-weight:400;font-size:40px;line-height:1.1;letter-spacing:-.7px;margin:0 0 14px;color:var(--ink);max-width:640px}.chronicle-hero h1 em{font-style:italic;color:var(--terracotta)}.chronicle-hero p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);max-width:520px;margin:0}.timeline{position:relative;max-width:var(--timeline-max);margin:0 auto;padding:32px var(--pad-page-desktop) 72px}.timeline:before{content:"";position:absolute;left:calc(var(--pad-page-desktop) + 120px + 18px);top:0;bottom:0;width:1px;background:var(--rule);transition:background-color .2s ease}.timeline__year{display:grid;grid-template-columns:120px 40px 1fr;align-items:center;margin:24px 0 8px;position:relative}.timeline__year-dot{justify-self:center;grid-column:2;width:18px;height:18px;background:var(--terracotta);border-radius:50%;position:relative;z-index:1;transition:background-color .2s ease,border-color .2s ease}.timeline__year--past .timeline__year-dot{background:var(--paper);border:1px solid var(--terracotta)}.timeline__year-label{grid-column:3;font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--terracotta);padding-left:20px;line-height:1}.entry{display:grid;grid-template-columns:120px 40px 1fr;padding:10px 0;position:relative}.entry__date{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);text-align:right;padding:6px 20px 0 0;letter-spacing:.3px;line-height:1}.entry__node{justify-self:center;margin-top:8px;width:9px;height:9px;background:var(--paper);border:1.5px solid var(--terracotta);border-radius:50%;position:relative;z-index:1;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.entry__body{padding-left:20px;min-width:0}.entry__tag{font-family:var(--font-mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-muted);margin:0 0 3px;line-height:1}.entry__title{font-family:var(--font-display);font-size:19px;line-height:1.3;font-weight:500;color:var(--ink);margin:0 0 6px}.entry__title a{color:inherit;text-decoration:none}.entry__title a:hover{text-decoration:underline;text-decoration-color:var(--terracotta);text-underline-offset:3px}.entry__excerpt{font-family:var(--font-body);font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin:0}.entry--active .entry__node{width:13px;height:13px;background:var(--terracotta);border:none;box-shadow:0 0 0 3px var(--paper),0 0 0 4.5px var(--terracotta);margin-top:6px}.entry--faded{opacity:.55}.entry--back{padding:4px 0 20px}.entry--back .entry__node{background:var(--paper);border-color:var(--ink-faint);width:7px;height:7px}.entry--back a{font-family:var(--font-sans);font-size:12px;color:var(--terracotta);text-decoration:none;padding-left:20px}.entry--back a:hover{text-decoration:underline;text-underline-offset:3px}.article-body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--ink-soft);padding-left:20px;max-width:660px}.article-body h1,.article-body .article-title{font-family:var(--font-display);font-weight:500;font-size:34px;line-height:1.15;letter-spacing:-.4px;color:var(--ink);margin:0 0 6px}.article-body .article-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-muted);margin:0 0 28px}.article-body h2{font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.25;color:var(--ink);margin:2em 0 .5em}.article-body h3{font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--ink);margin:1.6em 0 .4em}.article-body a{color:var(--terracotta);text-decoration:underline;text-decoration-color:#b8502e66;text-underline-offset:3px}.article-body a:hover{text-decoration-color:var(--terracotta)}.article-body blockquote{border-left:2px solid var(--terracotta);margin:18px 0;padding:2px 0 2px 18px;font-family:var(--font-display);font-style:italic;font-size:18px;line-height:1.45;color:var(--ink)}.article-body blockquote p{margin:0}.article-body code{font-family:var(--font-mono);font-size:.88em;background:var(--cream);padding:1px 5px;border-radius:2px;color:var(--ink);transition:background-color .2s ease,color .2s ease}.article-body pre{background:var(--cream);padding:16px 18px;overflow-x:auto;margin:18px 0;font-family:var(--font-mono);font-size:13px;line-height:1.55;border-left:2px solid var(--rule);transition:background-color .2s ease,border-color .2s ease}.article-body pre code{background:none;padding:0;font-size:inherit}.article-body img{max-width:100%;height:auto;margin:22px 0;display:block}.article-body ul,.article-body ol{padding-left:1.4em}.article-body li{margin-bottom:.35em}.article-body hr{border:none;border-top:1px solid var(--rule);margin:2em 0}.chronicle-foot{max-width:var(--timeline-max);margin:0 auto;padding:32px var(--pad-page-desktop) 48px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);transition:border-color .2s ease,color .2s ease}.chronicle-foot__links{display:flex;gap:18px}.chronicle-foot__links a{color:var(--ink-muted);text-decoration:none;transition:color .1s ease}.chronicle-foot__links a:hover{color:var(--terracotta)}@media(max-width:900px){.chronicle-hero,.timeline,.chronicle-foot,.chronicle-head{padding-left:32px;padding-right:32px}.timeline:before{left:170px}}@media(max-width:600px){.chronicle-head{padding:22px var(--pad-page-mobile) 6px;flex-wrap:wrap}.chronicle-head__logo{font-size:17px}.chronicle-head__nav{gap:16px;font-size:12px}.chronicle-head__theme-toggle{width:22px;height:22px}.chronicle-head__theme-toggle .icon-sun,.chronicle-head__theme-toggle .icon-moon{top:2px;left:2px}.chronicle-hero{padding:16px var(--pad-page-mobile) 10px}.chronicle-hero h1{font-size:26px;line-height:1.15;letter-spacing:-.4px}.chronicle-hero p{font-size:14px}.timeline{padding:22px var(--pad-page-mobile) 48px}.timeline:before{left:calc(var(--pad-page-mobile) + 56px + 12px)}.timeline__year,.entry{grid-template-columns:56px 24px 1fr}.timeline__year-label{font-size:16px;padding-left:10px}.timeline__year-dot{width:13px;height:13px}.entry__date{font-size:10px;padding:4px 10px 0 0}.entry__node{width:7px;height:7px}.entry--active .entry__node{width:11px;height:11px}.entry__body{padding-left:10px}.entry__title{font-size:15px}.entry__excerpt{font-size:12.5px}.article-body{padding-left:10px;font-size:14.5px}.article-body .article-title{font-size:22px}.article-body blockquote{font-size:15.5px;padding-left:14px}.chronicle-foot{padding:24px var(--pad-page-mobile) 32px;flex-direction:column;align-items:flex-start;gap:10px}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
