:root{color-scheme:light dark;--bg:#fdfcfa;--ink:#1c1b19;--muted:#6a6862;--link:#1a4fa0;--link-hover:#0f3a7a;--rule:#e6e2da;--code-bg:#f4f2ed;--mark:#8a6d1f;--measure:34rem;--serif:Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--bg:#17181b;--ink:#e2e0db;--muted:#9b9992;--link:#8fb5f0;--link-hover:#b3cdf6;--rule:#2c2e33;--code-bg:#1e2024;--mark:#d6b45c}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;padding:0 1.5rem;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.site-header,main,.site-footer{max-width:var(--measure);margin-inline:auto}main{padding-block:1rem 4rem}a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:2px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--rule);z-index:10}.site-header{padding-block:2.5rem 1rem;font-family:var(--sans);font-size:.9rem}.site-title{color:var(--muted);text-decoration:none}.site-title:hover{color:var(--ink)}.site-footer{padding-block:2rem 3rem;border-top:1px solid var(--rule);color:var(--muted);font-family:var(--sans);font-size:.85rem}.site-footer p{margin:0}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--ink)}.site-name{margin:4rem 0 .5rem;font-size:1.75rem;font-weight:600;letter-spacing:-.01em}.intro{margin:0 0 3.5rem;color:var(--muted)}.list-heading{margin:0 0 1.5rem;font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.post-list{list-style:none;margin:0;padding:0}.post-item{margin-bottom:2rem}.post-link{display:block;font-size:1.2rem;text-decoration:none;color:var(--ink)}.post-link:hover{color:var(--link);text-decoration:underline;text-underline-offset:.16em}.post-date{display:block;margin-top:.15rem;font-family:var(--sans);font-size:.85rem;color:var(--muted)}.post-description{margin:.4rem 0 0;font-size:1rem;color:var(--muted)}.post-header{margin:3.5rem 0 2.5rem}.post-header h1{margin:0 0 .6rem;font-size:1.9rem;font-weight:600;line-height:1.25;letter-spacing:-.015em}.post-meta{margin:0;font-family:var(--sans);font-size:.85rem;color:var(--muted)}.post-header .post-description{margin-top:.9rem;font-size:1.05rem}.post h2,.post h3,.post h4{margin:2.5rem 0 .75rem;font-weight:600;line-height:1.3}.post h2{font-size:1.35rem}.post h3{font-size:1.15rem}.post h4{font-size:1rem}.post p{margin:0 0 1.4rem}.post ul,.post ol{margin:0 0 1.4rem;padding-left:1.4rem}.post li{margin-bottom:.4rem}.post blockquote{margin:2rem 0;padding-left:1.25rem;border-left:2px solid var(--rule);color:var(--muted);font-style:italic}.post blockquote p:last-child{margin-bottom:0}.post hr{margin:3rem auto;width:4rem;border:0;border-top:1px solid var(--rule)}.post img{display:block;max-width:100%;height:auto;margin:2rem auto}.post figure{margin:2rem 0}.post figure img{margin:0 auto}.post figure.fig-portrait img{max-width:17rem}.post figcaption{margin-top:.5rem;font-family:var(--sans);font-size:.85rem;color:var(--muted);text-align:center}code,pre{font-family:var(--mono)}.post code{padding:.12em .3em;background:var(--code-bg);border-radius:3px;font-size:.85em}.post pre{margin:1.75rem 0;padding:1rem 1.15rem;overflow-x:auto;background:var(--code-bg);border-radius:4px;font-size:.85rem;line-height:1.55;tab-size:2;-moz-tab-size:2}.post pre code{padding:0;background:0 0;font-size:inherit}.post .chord-shapes{margin:2rem 0}.post .chord-label{margin:0 0 .25rem;font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.post .chords-diagram{display:block;max-width:100%;height:auto;margin:0 0 1.25rem;color:var(--ink)}.post figure.spotify{margin:2rem 0}.post .spotify-embed{display:block;width:100%;max-width:100%;margin:0;border:0;border-radius:12px}.post pre.chords{margin:2rem 0;padding:0;background:0 0;border-radius:0;font-size:.95rem;line-height:1.5;overflow-x:auto}@media(max-width:34rem){.post pre.chords{font-size:.85rem}}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cs{color:var(--muted);font-style:italic}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kr,.chroma .kt,.chroma .kc{color:var(--link)}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .sd{color:var(--mark)}.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh{color:var(--mark)}.chroma .nf,.chroma .nx{color:var(--ink)}.chroma .nt{color:var(--link)}.post table{width:100%;margin:1.75rem 0;border-collapse:collapse;font-size:.95rem}.post th,.post td{padding:.5rem .6rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.post th{font-family:var(--sans);font-size:.85rem;font-weight:600}.post .table-wrap{overflow-x:auto;margin:1.75rem 0}.post .table-wrap table{margin:0}.footnotes{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-size:.9rem;color:var(--muted)}.footnotes hr{display:none}.footnotes ol{padding-left:1.2rem}sup[id^=fnref] a{text-decoration:none}.post-nav{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-family:var(--sans);font-size:.9rem}.post-nav a{color:var(--muted);text-decoration:none}.post-nav a:hover{color:var(--ink)}.post img.portrait{display:block;width:160px;height:160px;margin:0 0 1.75rem;border-radius:50%;object-fit:cover}@media(max-width:34rem){.post img.portrait{width:128px;height:128px}}.notfound{margin-top:5rem}.notfound h1{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}@media(max-width:34rem){body{font-size:1.0625rem;padding:0 1.25rem}.site-name{margin-top:2.5rem;font-size:1.5rem}.post-header{margin-top:2rem}.post-header h1{font-size:1.55rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}