:root{--bg: #f3eae6;--surface: #faf3ef;--ink: #1f2353;--ink-2: #3f436e;--ink-3: #6b6e8a;--ink-4: #9a9caf;--rule: #ebddd6;--rule-2: #dcc9bf;--accent: #cf6c70}[data-theme=dark]{--bg: #14101a;--surface: #1c1722;--ink: #ece4ee;--ink-2: #c3b9c7;--ink-3: #8a8190;--ink-4: #5e565f;--rule: #261d2a;--rule-2: #312436;--accent: #e8959a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{position:relative;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .24s ease,color .24s ease}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent)}body:before{content:"";position:fixed;top:0;left:0;right:0;height:85vh;z-index:-1;pointer-events:none;background:radial-gradient(55% 60% at 100% 0%,#f08e7e 0%,transparent 60%),radial-gradient(60% 50% at 50% 0%,#f8e2d4 0%,transparent 65%),radial-gradient(50% 50% at 10% 70%,#d8c4dc 0%,transparent 70%),radial-gradient(50% 55% at 85% 80%,#c5b3dc 0%,transparent 65%),radial-gradient(55% 55% at 35% 35%,#f3c0b1 0%,transparent 70%);-webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);opacity:.22;filter:saturate(.65);transition:opacity .24s ease}[data-theme=dark] body:before{opacity:.12;filter:saturate(.5)}.shell{max-width:720px;margin:0 auto;padding:48px 32px 96px}nav.top{display:flex;align-items:center;justify-content:space-between;padding-bottom:96px}.mark{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.005em;display:inline-flex;align-items:baseline}.mark .tilde{color:var(--accent);margin-right:1px}.mark .caret{display:inline-block;width:7px;height:14px;background:var(--ink);margin-left:4px;transform:translateY(2px);animation:blink 1.05s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.nav-links{display:flex;gap:24px;align-items:center;font-family:IBM Plex Mono,monospace;font-size:12.5px;color:var(--ink-3);letter-spacing:.01em}.nav-links a{position:relative;padding:4px 0}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.65,0,.35,1)}.nav-links a:hover:after{transform:scaleX(1)}.nav-links a[aria-current=page]:after{transform:scaleX(1);background:var(--ink-4)}.theme-toggle{background:transparent;border:1px solid var(--rule-2);border-radius:999px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-3);transition:border-color .2s ease,color .2s ease}.theme-toggle:hover{border-color:var(--ink-2);color:var(--ink)}.theme-toggle svg{width:13px;height:13px}.hero{display:flex;flex-direction:column;gap:24px;margin-bottom:88px}h1.lede{font-family:"Source Serif 4",Georgia,serif;font-variation-settings:"opsz" 36;font-weight:400;font-size:clamp(26px,3vw,32px);line-height:1.35;letter-spacing:-.015em;color:var(--ink);max-width:36ch}h1.lede em{font-style:italic;color:var(--accent);font-weight:400}.sub{font-size:15.5px;line-height:1.65;color:var(--ink-2);max-width:60ch}.sub a{border-bottom:1px solid var(--rule-2);padding-bottom:1px}.writing-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}.writing-head .label{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.writing-head .all{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-3)}.year{display:grid;grid-template-columns:56px 1fr;gap:24px;padding-top:18px;border-top:1px solid var(--rule);margin-top:18px}.year:first-of-type{margin-top:0;border-top:none;padding-top:0}.year-num{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-4);letter-spacing:.02em;padding-top:14px}.year-list{display:flex;flex-direction:column}.entry{display:grid;grid-template-columns:1fr auto;gap:20px;padding:11px 0;align-items:baseline}.entry-title{font-size:15.5px;color:var(--ink);line-height:1.45;transition:color .2s ease}.entry-title .arrow{display:inline-block;margin-left:6px;color:var(--ink-4);opacity:0;transform:translate(-3px);transition:opacity .22s ease,transform .28s cubic-bezier(.65,0,.35,1),color .2s ease;font-family:IBM Plex Mono,monospace}.entry:hover .entry-title{color:var(--accent)}.entry:hover .entry-title .arrow{opacity:1;transform:translate(0);color:var(--accent)}.entry-date{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.draft-badge{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--rule-2);padding:1px 6px;border-radius:3px;margin-left:8px;vertical-align:1px}.empty-state{font-size:15px;color:var(--ink-3);font-style:italic;padding:24px 0;border-top:1px solid var(--rule)}article.post{max-width:60ch}article.post .post-meta{display:flex;gap:14px;align-items:baseline;font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink-3);letter-spacing:.02em;margin-bottom:16px}article.post .post-meta .sep{color:var(--ink-4)}article.post h1{font-family:"Source Serif 4",Georgia,serif;font-variation-settings:"opsz" 36;font-weight:400;font-size:clamp(28px,3.4vw,36px);line-height:1.25;letter-spacing:-.018em;color:var(--ink);margin-bottom:48px;text-wrap:balance}article.post .post-body{font-size:16.5px;line-height:1.7;color:var(--ink-2)}article.post .post-body>*+*{margin-top:1.1em}article.post .post-body h2{font-family:"Source Serif 4",serif;font-variation-settings:"opsz" 24;font-weight:500;font-size:22px;color:var(--ink);margin-top:2.2em;letter-spacing:-.008em}article.post .post-body h3{font-family:"Source Serif 4",serif;font-weight:500;font-size:18px;color:var(--ink);margin-top:1.8em}article.post .post-body h4{font-family:IBM Plex Mono,monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:1.6em}article.post .post-body a{color:var(--accent);border-bottom:1px solid var(--rule-2);padding-bottom:1px;transition:border-color .2s ease}article.post .post-body a:hover{border-bottom-color:var(--accent)}article.post .post-body em{font-family:"Source Serif 4",serif;font-style:italic}article.post .post-body strong{color:var(--ink);font-weight:600}article.post .post-body ul,article.post .post-body ol{padding-left:1.2em}article.post .post-body li{margin-top:.4em}article.post .post-body blockquote{padding-left:1em;border-left:2px solid var(--accent);color:var(--ink-2);font-style:italic;font-family:"Source Serif 4",serif}article.post .post-body code{font-family:IBM Plex Mono,monospace;font-size:.88em;background:var(--surface);border:1px solid var(--rule);padding:1px 6px;border-radius:3px}article.post .post-body pre{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:16px 18px;overflow-x:auto;font-size:13px;line-height:1.6}article.post .post-body pre code{background:transparent;border:none;padding:0;font-size:inherit}article.post .post-body hr{border:none;border-top:1px solid var(--rule);margin:2.4em 0}article.post .post-footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--rule);font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink-3)}article.post .post-footer a{border-bottom:1px solid var(--rule-2);padding-bottom:1px}footer.site{margin-top:96px;padding-top:28px;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink-4);letter-spacing:.02em}footer.site .social{display:flex;gap:16px;color:var(--ink-3)}footer.site .social a:hover{color:var(--accent)}.fade-in{opacity:0;transform:translateY(6px);animation:fadeUp .7s cubic-bezier(.2,.6,.2,1) forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.d1{animation-delay:80ms}.d2{animation-delay:.18s}.d3{animation-delay:.32s}@media(max-width:640px){.shell{padding:32px 22px 64px}nav.top{padding-bottom:64px}.hero{margin-bottom:64px}.year{grid-template-columns:1fr;gap:6px}.year-num{padding-top:0}.nav-links{gap:16px;font-size:11.5px}footer.site{flex-direction:column;align-items:flex-start;gap:12px}}
