:root{--font-serif: "Computer Modern Serif", "Latin Modern Roman", Georgia, "Times New Roman", serif;--font-sans: "Lato", system-ui, sans-serif;--font-size-base: 14px;--color-bg: hsl(40, 20%, 98%);--color-text: #1a1a1a;--color-muted: #6b6b6b;--color-rule: rgba(26, 26, 26, .12);--max-width: 38rem;--gap-section: 4rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--color-bg);font-size:var(--font-size-base);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-serif);color:var(--color-text);line-height:1.75;padding:1.5rem;min-height:100vh;background-color:transparent}@keyframes colorDrift{0%{background-color:#f8f6f1}30%{background-color:#e5ebf0}60%{background-color:#f2eded}to{background-color:#f8f6f1}}html[data-effects=on]{animation:colorDrift 60s ease-in-out infinite}html[data-effects=off]{animation:none!important;background-color:var(--color-bg)!important}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;top:1rem;left:1rem;width:auto;height:auto;overflow:visible;padding:.5rem 1rem;background:var(--color-text);color:var(--color-bg);z-index:100}header,main,footer{max-width:var(--max-width);margin:0 auto;width:100%}header{padding-top:3.5rem;padding-bottom:var(--gap-section);text-align:left}.site-name{font-size:1.75rem;font-weight:700;letter-spacing:.01em;line-height:1.3;margin-bottom:.9rem}.site-meta{font-size:.9375rem;color:var(--color-muted);font-style:italic;line-height:1.6}.site-meta span{display:block}main{counter-reset:section}section{padding-bottom:var(--gap-section)}.section-label{counter-increment:section;font-family:var(--font-serif);font-size:1.0625rem;font-weight:700;letter-spacing:normal;text-transform:none;color:var(--color-text);margin-bottom:1.5rem;font-style:normal}.section-label:before{content:counter(section) "  ";color:var(--color-text)}.prose{font-size:1rem;line-height:1.55;text-align:justify;hyphens:auto;-webkit-hyphens:auto}.prose p{margin:0}.prose p+p{text-indent:1.5em}.prose h3{font-family:var(--font-serif);font-size:1rem;font-weight:700;letter-spacing:normal;text-transform:none;color:var(--color-text);margin-top:2rem;margin-bottom:1rem;text-align:left}.prose ul{list-style:none;padding:0}.prose ul li{padding-bottom:.6em;line-height:1.6;text-align:left}.prose ul li:last-child{padding-bottom:0}.prose strong{font-weight:600}.prose em{font-style:italic}.prose a{color:var(--color-text)}a{color:inherit;text-decoration:underline;text-decoration-color:var(--color-rule);text-underline-offset:3px;transition:opacity .2s ease}a:hover{opacity:.55}a:focus-visible{outline:2px solid var(--color-text);outline-offset:3px;border-radius:1px}footer{border-top:1px solid var(--color-rule);padding-top:1.75rem;padding-bottom:3.5rem;font-family:var(--font-sans);font-size:.625rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);line-height:2.2}html[data-effects=on] .prose p,html[data-effects=on] .prose li{--gx: -9999px;--gy: -9999px;background-image:radial-gradient(circle 220px at var(--gx) var(--gy),#000 0%,var(--color-text) 60%);-webkit-background-clip:text;background-clip:text;color:transparent}html[data-effects=on] .section-label{--gx: -9999px;--gy: -9999px;background-image:radial-gradient(circle 220px at var(--gx) var(--gy),#000,var(--color-muted) 60%);-webkit-background-clip:text;background-clip:text;color:transparent}#cursor-glow{position:fixed;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,128,.32) 0%,rgba(255,200,0,.24) 20%,rgba(0,255,140,.2) 40%,rgba(0,160,255,.16) 55%,transparent 68%);filter:saturate(1.6);animation:cursor-glow-spin 6s linear infinite;pointer-events:none;transform:translate(-50%,-50%);z-index:0;will-change:left,top,filter}@keyframes cursor-glow-spin{to{filter:saturate(1.6) hue-rotate(360deg)}}@media(min-width:768px){html{font-size:calc(var(--font-size-base) + 1px)}body{padding:2rem 4rem}header{padding-top:5.5rem}.site-meta span{display:inline}.site-meta span+span:before{content:" · ";color:var(--color-rule)}}@media(min-width:1100px){body{padding:2rem 5rem}}
