:root{--graphite:#1c1c1e;--cement:#e8e4dc;--copper:#b87333;--copper-light:#c98a4b;--surface-light:#f5f2ec;--surface-dark:#111113;--font-display:"Playfair Display", Georgia, serif;--font-body:"Source Serif 4", Georgia, serif;--font-mono:"DM Mono", "Courier New", monospace;--content-width:680px;--nav-height:56px;--bg:var(--surface-light);--text:var(--graphite);--text-muted:#6b6b6d;--accent:var(--copper);--surface:#fff}@media (prefers-color-scheme:dark){:root{--bg:var(--surface-dark);--text:var(--cement);--text-muted:#8b8b8d;--accent:var(--copper-light);--surface:#1a1a1c}}[data-theme=dark]{--bg:var(--surface-dark);--text:var(--cement);--text-muted:#8b8b8d;--accent:var(--copper-light);--surface:#1a1a1c}[data-theme=light]{--bg:var(--surface-light);--text:var(--graphite);--text-muted:#6b6b6d;--accent:var(--copper);--surface:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;line-height:1.75}a{color:var(--accent);text-decoration:none;transition:opacity .15s}a:hover{opacity:.8}h1,h2,h3{font-family:var(--font-display);color:var(--text);font-weight:700;line-height:1.2}h1{font-size:52px}h2{font-size:34px}h3{font-size:24px}p{margin-bottom:1.5em}code{font-family:var(--font-mono);background:var(--surface);border-radius:3px;padding:.2em .4em;font-size:.9em}pre{font-family:var(--font-mono);background:var(--surface);border-radius:4px;margin:2em 0;padding:1.5em;font-size:14px;overflow-x:auto}pre code{background:0 0;padding:0}blockquote{border-left:2px solid var(--accent);color:var(--text-muted);margin:2em 0;padding-left:1.5em;font-style:italic}.mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:13px}.separator{background-color:var(--accent);border:none;width:40px;height:1px;margin:48px auto}.page-enter{opacity:0}.page-enter-active{opacity:1;transition:opacity .15s ease-in}::selection{background:var(--accent);color:var(--bg)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (width<=768px){h1{font-size:36px}h2{font-size:28px}h3{font-size:20px}body{font-size:17px}}.layout{flex-direction:column;min-height:100vh;display:flex}.nav{height:var(--nav-height);z-index:100;transition:background-color .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s;position:fixed;top:0;left:0;right:0}.nav--scrolled{background-color:var(--bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--text-muted);border-bottom-color:#8080801a}.nav__inner{justify-content:space-between;align-items:center;max-width:960px;height:100%;margin:0 auto;padding:0 24px;display:flex}.nav__logo{font-family:var(--font-display);color:var(--text);font-size:24px;font-weight:700}.nav__logo:hover{opacity:1;color:var(--accent)}.nav__links{gap:32px;display:flex}.nav__links a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text);font-size:13px}.nav__links a:hover{color:var(--accent)}.nav__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:6px;width:32px;height:32px;padding:4px;display:none}.nav__burger span{background-color:var(--text);width:100%;height:2px;transition:transform .2s,opacity .2s;display:block}.nav__burger--open span:first-child{transform:translateY(4px)rotate(45deg)}.nav__burger--open span:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-menu{background-color:var(--surface-dark);z-index:99;opacity:0;pointer-events:none;transition:opacity .2s;display:none;position:fixed;inset:0}.mobile-menu--open{opacity:1;pointer-events:auto}.mobile-menu__links{flex-direction:column;justify-content:center;align-items:center;gap:32px;height:100%;display:flex}.mobile-menu__links a{font-family:var(--font-display);color:var(--cement);font-size:32px}.main{margin-top:var(--nav-height);flex:1;padding:48px 24px}.footer{text-align:center;padding:0 24px 48px}.footer .mono{color:var(--text-muted)}@media (width<=768px){.nav__links{display:none}.nav__burger{display:flex}.mobile-menu{display:block}.main{padding:32px 20px}}.home{max-width:var(--content-width);margin:0 auto;padding-top:48px}.featured{text-align:center;padding:0 20px}.featured__link{color:var(--text)}.featured__link:hover{opacity:1}.featured__link:hover .featured__title{color:var(--accent)}.featured__title{margin-bottom:24px;font-size:52px;line-height:1.1;transition:color .15s}.featured__meta{color:var(--accent);margin-bottom:24px}.featured__excerpt{color:var(--text-muted);max-width:540px;margin:0 auto 32px;font-size:20px;line-height:1.6}.featured__cta{font-family:var(--font-mono);color:var(--accent);font-size:14px;display:inline-block}.posts{padding-top:16px}.posts__heading{text-align:center;margin-bottom:40px;font-size:24px}.posts__list{list-style:none}.post-item{margin-bottom:48px}.post-item__link{color:var(--text)}.post-item__link:hover{opacity:1}.post-item__link:hover .post-item__title{color:var(--accent)}.post-item__title{margin-bottom:8px;font-size:28px;transition:color .15s}.post-item__meta{color:var(--accent);margin-bottom:12px}.post-item__excerpt{color:var(--text-muted);margin-bottom:0}.posts__see-all{text-align:center;font-family:var(--font-mono);margin-top:48px;font-size:14px;display:block}@media (width<=768px){.home{padding-top:24px}.featured__title{font-size:36px}.featured__excerpt{font-size:18px}.post-item__title{font-size:24px}}.article{max-width:var(--content-width);margin:0 auto;padding-top:48px}.article__header{text-align:center;margin-bottom:16px}.article__title{margin-bottom:24px;font-size:48px;line-height:1.1}.article__meta{color:var(--accent)}.article__content{padding-top:16px}.article__content h2{margin-top:48px;margin-bottom:24px;font-size:28px}.article__content h3{margin-top:36px;margin-bottom:16px;font-size:22px}.article__content p{margin-bottom:1.5em}.article__content blockquote{border-left:2px solid var(--accent);color:var(--text-muted);margin:2em 0;padding-left:1.5em;font-style:italic}.article__content ul{margin:1.5em 0;padding-left:1.5em}.article__content li{margin-bottom:.5em}.article__content strong{font-weight:600}.continue-reading{padding-top:16px}.continue-reading h2{text-align:center;margin-bottom:24px;font-size:24px}.continue-reading__list{list-style:none}.continue-reading__list li{margin-bottom:24px}.continue-reading__list a{color:var(--text);border-bottom:1px solid #8080801a;padding:16px 0;transition:border-color .15s;display:block}.continue-reading__list a:hover{opacity:1;border-color:var(--accent)}.continue-reading__title{font-family:var(--font-display);margin-bottom:4px;font-size:20px;font-weight:700;display:block}.continue-reading__meta{color:var(--accent)}@media (width<=768px){.article{padding-top:24px}.article__title{font-size:32px}.article__content h2{font-size:24px}.article__content h3{font-size:20px}}.archives{max-width:var(--content-width);margin:0 auto;padding-top:48px}.archives__header{text-align:center}.archives__header h1{font-size:48px}.archives__year{margin-bottom:48px}.archives__year-title{color:var(--accent);margin-bottom:24px;font-size:14px}.archives__list{list-style:none}.archives__item{margin-bottom:16px}.archives__item a{color:var(--text);border-bottom:1px solid #8080801a;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;transition:border-color .15s;display:flex}.archives__item a:hover{opacity:1;border-color:var(--accent)}.archives__item-title{font-family:var(--font-display);font-size:20px;font-weight:700}.archives__item-date{color:var(--text-muted);flex-shrink:0}@media (width<=768px){.archives{padding-top:24px}.archives__header h1{font-size:36px}.archives__item a{flex-direction:column;gap:4px}.archives__item-title{font-size:18px}}.about{max-width:var(--content-width);margin:0 auto;padding-top:48px}.about__header{text-align:center}.about__header h1{font-size:48px}.about__content{padding-top:16px}.about__content h2{margin-top:48px;margin-bottom:24px;font-size:28px}.about__content p{margin-bottom:1.5em}@media (width<=768px){.about{padding-top:24px}.about__header h1{font-size:36px}.about__content h2{font-size:24px}}
