:root{--bg: #ffffff;--fg: #1a1a1a;--muted: #6b6b6b;--surface: #f5f5f4;--rule: rgba(0, 0, 0, .14);--rule-strong: #1a1a1a;--accent: #e30613;--accent-text: #ffffff;--code-bg: #f5f5f4;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: Charter, "Georgia Pro", Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: "Fira Code", "SF Mono", Monaco, Consolas, "Courier New", monospace}:root[data-theme=dark]{--bg: #0d0d0d;--fg: #ededed;--muted: #9b9b9b;--surface: #161616;--rule: rgba(255, 255, 255, .14);--rule-strong: #ededed;--accent: #ff4d57;--accent-text: #0d0d0d;--code-bg: #161616}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0d0d0d;--fg: #ededed;--muted: #9b9b9b;--surface: #161616;--rule: rgba(255, 255, 255, .14);--rule-strong: #ededed;--accent: #ff4d57;--accent-text: #0d0d0d;--code-bg: #161616}}*,*:before,*:after{box-sizing:border-box;border-radius:0}*{box-shadow:none}html{font-size:16px}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans)}body{min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;right:0;height:6px;background:var(--accent);z-index:100}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--fg)}.container{max-width:1120px;margin:0 auto;padding-inline:32px}.site-header{border-bottom:2px solid var(--rule-strong)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px}.wordmark{font-family:var(--font-sans);font-size:18px;font-weight:700;letter-spacing:-.02em;text-decoration:none}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--fg);text-decoration:none}.site-header nav a:hover{color:var(--accent)}.site-footer{margin-top:64px;border-top:1px solid var(--rule)}.site-footer .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:24px;font-family:var(--font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.site-footer nav{display:flex;gap:24px}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--accent)}.meta{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.theme-toggle{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.theme-toggle:hover{color:var(--accent)}.prose{max-width:700px;font-family:var(--font-serif);font-size:17px;line-height:1.7}.prose h1{font-family:var(--font-sans);font-size:clamp(32px,5vw,56px);font-weight:800;line-height:1.05;letter-spacing:-.035em;text-wrap:balance;margin:0 0 .5em}.prose h2{font-family:var(--font-sans);font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-top:2px solid var(--rule-strong);padding-top:1.2em;margin-top:2.2em;margin-bottom:.5em}.prose h3{font-family:var(--font-sans);font-size:18px;font-weight:700;margin-top:1.8em;margin-bottom:.4em}.prose p{margin:0 0 1.25em}.prose a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--rule)}.prose a:hover{color:var(--accent);text-decoration-color:var(--accent)}.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--surface);padding:0 .15ch}.prose pre{margin:0 0 1.25em}.prose pre code{background:none;padding:0;font-size:inherit}.astro-code{font-family:var(--font-mono);font-size:13px;line-height:1.65;padding:1rem 1.25rem;overflow-x:auto;border-top:2px solid var(--rule-strong);background:var(--code-bg)!important;color:var(--shiki-light)}.astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}:root[data-theme=dark] .astro-code{color:var(--shiki-dark)}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code{color:var(--shiki-dark)}:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}}.footnotes{border-top:1px solid var(--rule);margin-top:3em;padding-top:1em;font-family:var(--font-serif);font-size:14px;color:var(--muted)}.footnotes ol{margin:0;padding-left:1.2em}.footnotes li{margin-bottom:.4em}.footnotes a{color:var(--muted)}.footnotes a:hover{color:var(--accent)}.post-list{max-width:700px}.post-list .post-row{display:grid;grid-template-columns:3.5rem 1fr auto;align-items:baseline;column-gap:16px;padding-block:28px;border-bottom:1px solid var(--rule);text-decoration:none}.post-list .post-row:hover{background:var(--surface)}.post-list .row-num{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.post-list .row-title{font-family:var(--font-sans);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--fg);text-decoration:none}.post-list .row-desc{font-family:var(--font-sans);font-size:15px;color:var(--muted);margin-top:.3em}.post-list .row-date{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:right;white-space:nowrap}.empty-state{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:center;padding-block:64px}.error-404{text-align:center;padding-block:96px}.error-404 .error-404-code{display:block;font-family:var(--font-mono);font-size:80px;font-weight:800;text-transform:uppercase;color:var(--accent);letter-spacing:-.035em}.error-404 .serif-line{font-family:var(--font-serif);font-size:18px;color:var(--muted);margin:1em 0 2em}.error-404 a{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--fg);text-decoration:none}.error-404 a:hover{color:var(--accent)}@media(max-width:768px){.prose,.post-list{margin:0 auto}}@media(max-width:640px){.container{padding-inline:20px}.post-list .post-row{grid-template-columns:3.5rem 1fr}.post-list .row-date{grid-column:2;text-align:left;margin-top:.3em}.site-header .container{flex-wrap:wrap;gap:12px}}
