*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light dark;--black:#100F0F;--paper:#FFFCF0;--gray-50:#F2F0E5;--gray-100:#E6E4D9;--gray-200:#CECDC3;--gray-300:#B7B5AC;--gray-700:#575653;--gray-900:#282726;--gray-950:#1C1B1A;--red-400:#D14D41;--red-600:#AF3029;--orange-400:#DA702C;--orange-600:#BC5215;--green-400:#879A39;--green-600:#66800B;--cyan-400:#3AA99F;--cyan-600:#24837B;--blue-400:#4385BE;--blue-600:#205EA6;--purple-400:#8B7EC8;--purple-600:#5E409D;--bg:light-dark(var(--paper), var(--black));--bg-subtle:light-dark(var(--gray-50), var(--gray-950));--text:light-dark(var(--black), var(--gray-200));--text-muted:light-dark(var(--gray-700), var(--gray-300));--text-faint:light-dark(var(--gray-300), var(--gray-700));--border:light-dark(var(--gray-100), var(--gray-900));--accent:light-dark(var(--blue-600), var(--blue-400));--selection:light-dark(#FFF7B1, #5c4a1f);--content-width:38em;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}html{font-size:62.5%}body{background:var(--bg);color:var(--text);font:calc(1.5rem + .25vw)/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}::selection{background:var(--selection)}body>header,body>main,body>footer{max-width:var(--content-width);margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.3;margin:1.5em 0 .5em}h1{font-size:calc(1.4em + .5vw);letter-spacing:-.02em;line-height:1.25}h2{font-size:calc(1em + .2vw);letter-spacing:-.01em;margin-top:2em}h3{font-size:1em}p,ul,ol{margin-bottom:1em}small{font-size:.875em}a{color:var(--text);text-decoration-color:var(--text-faint)}a:hover{color:var(--accent);text-decoration-color:var(--accent)}h1 a,h2 a,h3 a{color:inherit;text-decoration:none}h1 a:hover,h2 a:hover,h3 a:hover{color:var(--accent)}a[href^=http]:not([href*="noisyoutput.com"])::after{content:"↗";font-size:.75em;margin-left:.1em;vertical-align:super}ul,ol{padding-left:1.5em}li{margin-bottom:.25em}ul>li{list-style-type:'—  '}li::marker{color:var(--text-faint)}blockquote{border-left:3px solid var(--border);padding-left:1em;margin:1.5em 0;color:var(--text-muted)}blockquote p:last-child{margin-bottom:0}hr{border:none;height:1px;background:var(--border);margin:1.5em 0}img{max-width:100%;height:auto;display:block}figure{margin:2em 0}figcaption{font-size:.8em;color:var(--text-muted);margin-top:.5em;text-align:center}code{font:.875em var(--font-mono);background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}pre{font:.875em var(--font-mono);background:var(--bg-subtle);border:1px solid var(--border);border-radius:4px;padding:1em;overflow-x:auto;margin:1.5em 0}pre code{background:0 0;padding:0}.highlight .c,.highlight .cm,.highlight .c1{color:var(--text-faint)}.highlight .k,.highlight .kd,.highlight .kn{color:light-dark(var(--blue-600),var(--blue-400))}.highlight .s,.highlight .s2,.highlight .s1{color:light-dark(var(--green-600),var(--green-400))}.highlight .m,.highlight .mi,.highlight .mf{color:light-dark(var(--purple-600),var(--purple-400))}.highlight .nf,.highlight .nb{color:light-dark(var(--orange-600),var(--orange-400))}.highlight .nv,.highlight .vi{color:light-dark(var(--cyan-600),var(--cyan-400))}.highlight .err{color:light-dark(var(--red-600),var(--red-400))}table{width:100%;border-collapse:collapse;margin:1.5em 0}th,td{text-align:left;padding:.5em 1em .5em 0;border-bottom:1px solid var(--border)}th{font-weight:600}.muted{color:var(--text-muted);font-weight:400}body>header{display:flex;justify-content:space-between;align-items:center;padding-top:2em;padding-bottom:3em}body>header a{text-decoration:none}body>header>a,body>header>span{font-weight:500}body>header>a{padding-bottom:.25em;border-bottom:2px solid transparent}body>header>a:hover{color:var(--accent)}body>header>a.current{border-bottom-color:var(--text)}body>header nav{display:flex;gap:1.5em;align-items:center}body>header nav a{color:var(--text-muted);padding-bottom:.25em;border-bottom:2px solid transparent}body>header nav a:hover{color:var(--accent)}body>header nav a.current{color:var(--text);border-bottom-color:var(--text)}body>footer{margin-top:4em;padding-bottom:3em;color:var(--text-muted);font-size:.875em;text-align:center}body>footer a{text-decoration:none}body>footer .footer-sep{color:var(--text-faint)}article header{margin-bottom:2em}article header h1{margin-top:0;margin-bottom:.25em}article header time{color:var(--text-muted);font-size:.875em}.page-meta{color:var(--text-muted);font-size:.875em;margin:0}.intro{margin:0 0 3em}.archive-section-label{font-size:1em;font-weight:400;color:var(--text-muted);margin:0 0 .25em}.archive-year{font-size:.875em;font-weight:400;color:var(--text-muted);margin:1.5em 0 .25em}.archive-year:first-of-type{margin-top:0}.archive-list{list-style:none;padding:0}.archive-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1em;padding:.35em 0}.archive-list time{color:var(--text-muted);font-size:.875em;min-width:6em;font-variant-numeric:tabular-nums}.archive-list a{text-decoration:underline;text-decoration-color:var(--text-faint);font-weight:400}.archive-list a:hover{color:var(--accent);text-decoration-color:var(--accent)}.archive-list .post-meta{color:var(--text-muted);font-size:.75em;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.post-tag{font-size:.75em;letter-spacing:.05em}.topics-section h2{font-size:1em;font-weight:400;color:var(--text-muted);margin-bottom:.5em}.topics-list{line-height:1.8}.topics-list a{text-decoration:underline;text-decoration-color:var(--text-faint)}.topics-list a:hover{color:var(--accent);text-decoration-color:var(--accent)}.skip-link{position:absolute;left:-9999px;padding:.5em 1em;background:var(--text);color:var(--bg);text-decoration:none}.skip-link:focus{left:50%;transform:translateX(-50%);top:1em}.note:first-of-type{margin-top:2em}.note{margin-bottom:4em}.note-source{font-size:.875em;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5em}.note h2{margin-top:0}.note-date{font-size:.875em}.footnotes{margin-top:3em;padding-top:1.5em;border-top:1px solid var(--border);font-size:.875em}@media print{body>header,body>footer,.skip-link{display:none}body{background:#fff;color:#000}}