:root{--spacing-base: 1.5em;--spacing-xs: calc(var(--spacing-base) * 0.25);--spacing-sm: calc(var(--spacing-base) * 0.5);--spacing-md: var(--spacing-base);--spacing-lg: calc(var(--spacing-base) * 2);--font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-size-base: 0.8rem;--font-size-small: 0.7rem;--font-size-code: 0.8rem;--bg-h: 40;--bg-s: 12%;--color-bg-primary: hsl(var(--bg-h) var(--bg-s) 97%);--color-bg-secondary: hsl(var(--bg-h) var(--bg-s) 94%);--color-border: hsl(var(--bg-h) var(--bg-s) 85%);--color-selection-bg: hsl(var(--bg-h) var(--bg-s) 81%);--color-text-primary: hsl(var(--bg-h) var(--bg-s) 12%);--color-text-muted: hsl(var(--bg-h) var(--bg-s) 48%);--color-text-code: hsl(var(--bg-h) var(--bg-s) 25%);--container-width: 64ch;--pre-border-radius: 0.75rem;--inline-border-radius: 0.375rem}*{margin:0;padding:0;font:inherit;color:var(--color-text-primary);box-sizing:border-box}::selection{background:var(--color-selection-bg);color:var(--color-text-primary)}html{margin:0 0 0 calc(100vw - 100%);-webkit-text-size-adjust:100%;height:100%}body{font:var(--font-size-base)/var(--spacing-base) var(--font-family-mono);background:var(--color-bg-primary);min-height:100%;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0, var(--container-width));justify-content:center;padding:var(--spacing-lg);gap:var(--spacing-md)}body>*{min-width:0}.container{max-width:none;margin:0;padding:0}ul{list-style-type:disc;margin-left:1.5rem}ol{list-style-type:decimal;margin-left:1.5rem}img{display:block;max-width:100%;height:auto;margin:var(--spacing-base) auto;border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--pre-border-radius)}a{display:inline-block;text-decoration:none;border-bottom:1px dotted;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}a:hover{border-bottom:1px solid}a:focus-visible,button:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}h1,h2,h3,h4,h5{margin:var(--spacing-base) 0;font-weight:700}p{margin:var(--spacing-base) 0}hr{border:0;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}strong{font-weight:700}em{font-style:italic}time{color:var(--color-text-muted)}blockquote{margin:var(--spacing-base) 0;padding:var(--spacing-sm) var(--spacing-base);border:1px solid var(--color-border);border-radius:var(--pre-border-radius);background:var(--color-bg-secondary);font-style:italic}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}pre{margin:var(--spacing-base) 0;border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--pre-border-radius);white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-family-mono);font-size:var(--font-size-code);line-height:1.6;color:var(--color-text-code);overflow-x:auto}pre code{background:none;border:none;padding:0;font-size:inherit;color:inherit}p>code,li>code,h1>code,h2>code,h3>code,h4>code,h5>code{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--inline-border-radius);padding:.2em .4em;font-family:var(--font-family-mono);font-size:var(--font-size-code);color:var(--color-text-code)}table{width:100%;margin:var(--spacing-base) 0;border-collapse:collapse}th{font-weight:700;text-align:left;border-bottom:2px solid var(--color-border);padding:var(--spacing-sm)}td{padding:var(--spacing-sm);border-bottom:1px solid var(--color-border)}figure{margin:var(--spacing-base) 0;text-align:center}figcaption{color:var(--color-text-muted);font-size:var(--font-size-small);margin-top:var(--spacing-xs)}.site-header{padding:var(--spacing-base) 0;font-size:var(--font-size-base)}.site-header a{border-bottom:none}.site-header a:hover{border-bottom:none;text-decoration:underline}.site-header .site-header-top{display:flex;align-items:baseline;gap:var(--spacing-sm)}.site-header .site-title{font-weight:700;margin-right:auto}.site-header .lang-switch{display:flex;align-items:baseline}.site-header .lang-switch .sep{color:var(--color-text-muted);margin:0 .35em}.site-header .lang-switch a{color:var(--color-text-muted)}.site-header .lang-switch a.active{color:var(--color-text-primary)}.site-header .lang-switch a:hover{color:var(--color-text-primary)}.site-header .site-nav ul{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0}.site-header .site-nav li+li::before{content:"|";color:var(--color-text-muted);margin:0 .5em}.site-header .site-nav a{color:var(--color-text-muted)}.site-header .site-nav a:hover{color:var(--color-text-primary)}.site-header .site-nav a.active{color:var(--color-text-primary)}.list-header{margin-bottom:var(--spacing-md)}.list-header h1{margin:0;font-size:var(--font-size-base)}.list-intro{margin-bottom:var(--spacing-lg);color:var(--color-text-muted)}.post-list{list-style:none;margin:0;padding:0}.post-list-item{display:block;text-align:left;padding:var(--spacing-sm) 0}.post-list-item .post-list-link{display:inline-block}.post-list-item>time{display:block;white-space:nowrap;font-size:var(--font-size-small)}.post-list-item .post-summary,.post-list-item .post-tags{margin:0}.post-list-item .post-summary{color:var(--color-text-muted);font-size:var(--font-size-small)}.post-list-item .post-tags{margin-top:var(--spacing-xs)}.post-tags{list-style:none;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin:var(--spacing-sm) 0 0;padding:0;font-size:var(--font-size-small)}.post-tags li{font-style:italic}.post-tags a{color:var(--color-text-muted);border-bottom:none}.post-tags a::before{content:"#"}.post-tags a:hover{color:var(--color-text-primary);border-bottom:none}.gig-year{margin-bottom:var(--spacing-lg)}.gig-year h2{margin:0 0 var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);font-size:var(--font-size-base)}.gig-list{list-style:none;margin:0;padding:0}.gig{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.gig .gig-date{flex:0 0 5em;color:var(--color-text-muted);font-size:var(--font-size-small);white-space:nowrap}.gig .gig-venue{margin-left:auto;color:var(--color-text-muted);font-size:var(--font-size-small);text-align:right}.gig-empty{color:var(--color-text-muted)}@media(max-width: 600px){.gig{flex-wrap:wrap}.gig .gig-venue{margin-left:0;flex-basis:100%;text-align:left}}.pager{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-base);border-top:1px solid var(--color-border);font-size:var(--font-size-small)}.pager a{color:var(--color-text-muted);border-bottom:none}.pager a:hover{color:var(--color-text-primary);border-bottom:none}.pager .pager-status{margin:0 auto;color:var(--color-text-muted)}.pager .pager-next{margin-left:auto}.pager .is-disabled{color:var(--color-text-muted);opacity:.4}.post .post-header{margin-bottom:var(--spacing-md)}.post .post-header h1{margin:0;font-size:var(--font-size-base)}.post .post-header time{font-size:var(--font-size-small)}.post .post-content{counter-reset:h2}.post .post-content h2{counter-increment:h2;counter-reset:h3}.post .post-content h3{counter-increment:h3;counter-reset:h4}.post .post-content h4{counter-increment:h4;counter-reset:h5}.post .post-content h5{counter-increment:h5}.post .post-content h2:not(.manual-number)::before{content:counter(h2) ". "}.post .post-content h3:not(.manual-number)::before{content:counter(h2) "." counter(h3) ". "}.post .post-content h4:not(.manual-number)::before{content:counter(h2) "." counter(h3) "." counter(h4) ". "}.post .post-content h5:not(.manual-number)::before{content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". "}.post .post-content h2,.post .post-content h3,.post .post-content h4,.post .post-content h5{font-size:var(--font-size-base)}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--spacing-lg);padding:var(--spacing-base) 0;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-small)}.site-footer p{margin:0;color:var(--color-text-muted)}@media(max-width: 600px){body{padding:var(--spacing-md)}pre{max-width:calc(100vw - 4em)}.site-header{flex-wrap:wrap;gap:var(--spacing-sm)}}@media(min-width: 1024px){body{grid-template-columns:1fr minmax(auto, 60ch) 1fr;justify-content:unset;padding:var(--spacing-lg) 0;gap:0}body>*{grid-column:2}}@media(min-width: 1400px){body{grid-template-columns:1fr minmax(auto, 72ch) 1fr}}@media print{body{background:#fff;color:#000;padding:0;display:block}.site-header,.site-footer,.pager{display:none !important}a{border-bottom:none;color:#000}pre,blockquote,img{page-break-inside:avoid}h1,h2,h3,h4,h5{page-break-after:avoid}}