:root{--ink: #0e0e0d;--ink-60: rgba(14,14,13,.6);--ink-25: rgba(14,14,13,.25);--ink-10: rgba(14,14,13,.1);--paper: #f5f3ef;--paper-glass: rgba(245,243,239,.3);--paper-2: #eceae4;--paper-3: #e2dfd8;--accent: #1a3a2a;--accent-mid: #2d6b4a;--rule: rgba(14,14,13,.12);--serif: "Libre Baskerville", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif;--max-prose: 68ch;--max-site: 1160px;--transition: .2s cubic-bezier(.22,1,.36,1);--code-bg: rgba(245,243,239,.55);--prose-size: clamp(1.1rem, 1.6vw, 1.25rem)}[data-theme=dark]{--ink: #e8e4dc;--ink-60: rgba(232,228,220,.6);--ink-25: rgba(232,228,220,.25);--ink-10: rgba(232,228,220,.1);--paper: #101010;--paper-glass: rgba(16,16,16,.3);--paper-2: #181816;--paper-3: #212120;--accent: #7ab89a;--accent-mid: #5a9a7a;--rule: rgba(232,228,220,.12);--code-bg: rgba(16,16,16,.55)}#cursor-dot{position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;background:var(--accent-mid);opacity:.75;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .15s ease,height .15s ease,opacity .15s ease,background .15s ease;will-change:transform}#cursor-dot.expanded{width:18px;height:18px;opacity:.35}@media(hover:none){#cursor-dot{display:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}@media(hover:hover){html,body,*{cursor:none!important}}body{background-color:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden;transition:background var(--transition),color var(--transition)}#dot-grid{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none}#page-content{position:relative}a{color:inherit;text-decoration:none}#theme-blot{position:fixed;inset:0;z-index:9995;pointer-events:none;clip-path:circle(0% at 50% 50%)}#theme-blot.active{animation:ink-blot .75s cubic-bezier(.22,1,.36,1) forwards}@keyframes ink-blot{0%{clip-path:circle(0% at var(--blot-x, 50%) var(--blot-y, 50%));opacity:1}60%{clip-path:circle(130% at var(--blot-x, 50%) var(--blot-y, 50%));opacity:1}to{clip-path:circle(130% at var(--blot-x, 50%) var(--blot-y, 50%));opacity:0}}ul,ol{list-style:none}button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}.container{max-width:var(--max-site);margin:0 auto;padding:0 2rem}.prose b.br{font-style:inherit;font-weight:inherit}[data-bionic=on] .prose b.br{font-weight:700}.prose{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;font-size:var(--prose-size);line-height:1.75}.prose p{margin-bottom:1.6em}.prose h2{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:2.5em 0 .8em;line-height:1.25;scroll-margin-top:calc(56px + 1.5rem)}.prose h3{font-family:var(--sans);font-size:1.125rem;font-weight:500;margin:2em 0 .6em;color:var(--ink-60);scroll-margin-top:calc(56px + 1.5rem)}.prose blockquote{border-left:2px solid var(--accent);padding-left:1.5rem;margin:2em 0;font-style:italic;color:var(--ink-60)}.prose strong{font-weight:700}.prose a{color:var(--accent-mid);text-decoration:none;background-image:linear-gradient(var(--accent-mid),var(--accent-mid));background-position:0% 100%;background-repeat:no-repeat;background-size:0% 1.5px;padding-bottom:1px;transition:background-size .36s ease}.prose a:hover{background-size:100% 1.5px}.prose code{font-family:Courier New,monospace;font-size:.875em;background:var(--code-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:2px 6px;border-radius:3px}.prose pre{background:var(--code-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--rule);padding:1.5rem;border-radius:6px;overflow-x:auto;font-size:.875rem;margin:2em 0;max-width:100%}.prose pre code{background:none;padding:0}.prose ul{list-style:disc;padding-left:1.5em;margin-bottom:1.6em}.prose li{margin-bottom:.4em}.prose hr{border:none;border-top:1px solid var(--rule);margin:2.5em 0}.prose table{width:100%;border-collapse:collapse;margin:2em 0;font-family:var(--sans);font-size:.9rem}.prose th{text-align:left;padding:.5rem 1rem;border-bottom:2px solid var(--rule);font-weight:500}.prose td{padding:.5rem 1rem;border-bottom:1px solid var(--rule);color:var(--ink-60)}
