@layer reset{*,:before,:after{box-sizing:border-box}:not(dialog){margin:0}html{text-size-adjust:none;interpolate-size:allow-keywords;block-size:100%;@media (prefers-reduced-motion:no-preference){scroll-behavior:smooth}}body{font-synthesis-weight:none;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;min-block-size:100%;font-family:system-ui;line-height:1.5}h1,h2,h3,h4{text-box:trim-both cap alphabetic;text-wrap:balance}p,li,dd{text-wrap:pretty}p{max-inline-size:var(--measure,60ch)}a{color:currentColor;text-underline-offset:2px;text-decoration-thickness:clamp(1px,.066lh,2px)}button{transition:scale 50ms ease-in;&:active{scale:.98}}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,svg,video{block-size:auto;max-inline-size:100%}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}hr{block-size:0;color:inherit;border-style:solid;border-width:1px 0 0;overflow:visible}sup{font-size:.5em}input,button,textarea,select{font:inherit;font-size:inherit;color:inherit;letter-spacing:inherit}input[type=file]::-webkit-file-upload-button{font:inherit;font-size:inherit;color:inherit;letter-spacing:inherit}::placeholder{opacity:.75}select{field-sizing:content;padding-block:.25lh}textarea{resize:vertical;field-sizing:content}textarea:not([rows]){min-block-size:10lh}a[href],area,button,input:not([type=text],[type=email],[type=number],[type=password],[type=""],[type=tel],[type=url]),label[for],select,summary,[tabindex]:not([tabindex*=\-],pre){cursor:pointer}a[href],area,button,input,label[for],select,summary,textarea,[tabindex]:not([tabindex*=\-]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}:not(pre)>code,kbd{white-space:nowrap}pre{tab-size:2;white-space:pre;writing-mode:lr;direction:ltr;min-inline-size:0;max-inline-size:100%;overflow-x:auto}:target{scroll-margin-block:1lh}}@layer theme{:root{--step-6:clamp(2.0273rem, 1.4945rem + 2.6639vi, 3.3592rem);--step-5:clamp(1.802rem, 1.4031rem + 1.9947vi, 2.7994rem);--step-4:clamp(1.6018rem, 1.3094rem + 1.462vi, 2.3328rem);--step-3:clamp(1.4238rem, 1.2158rem + 1.0403vi, 1.944rem);--step-2:clamp(1.2656rem, 1.1239rem + .7088vi, 1.62rem);--step-1:clamp(1.125rem, 1.035rem + .45vi, 1.35rem);--step-0:clamp(1rem, .95rem + .25vi, 1.125rem);--step--1:clamp(.8889rem, .8694rem + .0972vi, .9375rem);--step--2:clamp(.7813rem, .7937rem + -.0177vi, .7901rem);--space-5xs:clamp(.0625rem, .0625rem + 0vi, .0625rem);--space-4xs:clamp(.125rem, .125rem + 0vi, .125rem);--space-3xs:clamp(.25rem, .225rem + .125vi, .3125rem);--space-2xs:clamp(.5rem, .475rem + .125vi, .5625rem);--space-xs:clamp(.75rem, .7rem + .25vi, .875rem);--space-s:clamp(1rem, .95rem + .25vi, 1.125rem);--space-m:clamp(1.5rem, 1.425rem + .375vi, 1.6875rem);--space-l:clamp(2rem, 1.9rem + .5vi, 2.25rem);--space-xl:clamp(2.5rem, 2.375rem + .625vi, 2.8125rem);--space-2xl:clamp(3rem, 2.85rem + .75vi, 3.375rem);--space-3xl:clamp(4rem, 3.8rem + 1vi, 4.5rem);--space-4xl:clamp(5rem, 4.75rem + 1.25vi, 5.625rem);--space-5xl:clamp(6rem, 5.7rem + 1.5vi, 6.75rem);--space-6xl:clamp(7rem, 6.65rem + 1.75vi, 7.875rem);--space-5xs-4xs:clamp(.0625rem, .0375rem + .125vi, .125rem);--space-4xs-3xs:clamp(.125rem, .05rem + .375vi, .3125rem);--space-3xs-2xs:clamp(.25rem, .125rem + .625vi, .5625rem);--space-2xs-xs:clamp(.5rem, .35rem + .75vi, .875rem);--space-xs-s:clamp(.75rem, .6rem + .75vi, 1.125rem);--space-s-m:clamp(1rem, .725rem + 1.375vi, 1.6875rem);--space-m-l:clamp(1.5rem, 1.2rem + 1.5vi, 2.25rem);--space-l-xl:clamp(2rem, 1.675rem + 1.625vi, 2.8125rem);--space-xl-2xl:clamp(2.5rem, 2.15rem + 1.75vi, 3.375rem);--space-2xl-3xl:clamp(3rem, 2.4rem + 3vi, 4.5rem);--space-3xl-4xl:clamp(4rem, 3.35rem + 3.25vi, 5.625rem);--space-4xl-5xl:clamp(5rem, 4.3rem + 3.5vi, 6.75rem);--space-5xl-6xl:clamp(6rem, 5.25rem + 3.75vi, 7.875rem);--space-s-l:clamp(1rem, .5rem + 2.5vi, 2.25rem);--space-m-s:clamp(1.125rem, 1.65rem + -.75vi, 1.5rem);--space-s-xs:clamp(.875rem, 1.05rem + -.25vi, 1rem);--space-s-5xs:clamp(.0625rem, 1.375rem + -1.875vi, 1rem);--space-m-5xs:clamp(.0625rem, 2.075rem + -2.875vi, 1.5rem);--space-l-5xs:clamp(.0625rem, 2.775rem + -3.875vi, 2rem);--space-l-m:clamp(1.6875rem, 2.125rem + -.625vi, 2rem);--space-xl-m:clamp(1.6875rem, 2.825rem + -1.625vi, 2.5rem);--space-5xs-m:clamp(.0625rem, -.5875rem + 3.25vi, 1.6875rem)}:root{--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) #1d1c1c;--color-dark:var(--csstools-light-dark-toggle--0,#2c4b85);--color-light:#fefbf9;--color-brand:#ffbd2f;--color-brand-shade:oklch(from var(--color-brand) calc(l * 70%) c h);--color-dark-shade:oklch(from var(--color-dark) calc(l * 105%) c h);--color-light-shade:oklch(from var(--color-light) calc(l * 95%) c h);--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) var(--color-light);--color-text-primary:var(--csstools-light-dark-toggle--1,var(--color-dark));--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) var(--color-dark);--color-bg-primary:var(--csstools-light-dark-toggle--2,var(--color-light));--csstools-light-dark-toggle--3:var(--csstools-color-scheme--light) var(--color-brand-shade);--color-accent:var(--csstools-light-dark-toggle--3,var(--color-brand));--csstools-light-dark-toggle--4:var(--csstools-color-scheme--light) var(--color-light-shade);--color-text-secondary:var(--csstools-light-dark-toggle--4,var(--color-dark-shade));--csstools-light-dark-toggle--5:var(--csstools-color-scheme--light) var(--color-dark-shade);--color-bg-secondary:var(--csstools-light-dark-toggle--5,var(--color-light-shade));--color-border:color-mix(in oklab, var(--color-text-primary) 12%, var(--color-bg-primary));--color-underline:color-mix(in oklab, var(--color-accent) 75%, var(--color-bg-primary));--color-underline-hover:color-mix(in oklab, var(--color-accent) 66%, var(--color-bg-primary));--color-focus:var(--color-accent);--csstools-light-dark-toggle--6:var(--csstools-color-scheme--light) color-mix(in oklab, var(--color-text-primary) 16%, var(--color-bg-primary));--color-bg-button:var(--csstools-light-dark-toggle--6,color-mix(in oklab, var(--color-text-primary) 8%, var(--color-bg-primary)));--color-bg-button-hover:color-mix(in oklab, var(--color-accent) 33%, var(--color-bg-primary));--color-bg-highlight:oklch(from var(--color-accent) l c h / calc(.33 * alpha));--csstools-light-dark-toggle--7:var(--csstools-color-scheme--light) oklch(from var(--color-accent) calc(l * 125%) c h);--color-text-highlight:var(--csstools-light-dark-toggle--7,oklch(from var(--color-accent) calc(l * 50%) c h));--color-scrollbar-track:var(--color-bg-primary);--color-scrollbar-thumb:var(--color-border);--color-scrollbar-thumb-hover:color-mix(in oklab, var(--color-text-primary) 18%, var(--color-bg-primary));@supports not (color:light-dark(tan, tan)){& *{--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) #1d1c1c;--color-dark:var(--csstools-light-dark-toggle--0,#2c4b85);--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) var(--color-light);--color-text-primary:var(--csstools-light-dark-toggle--1,var(--color-dark));--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) var(--color-dark);--color-bg-primary:var(--csstools-light-dark-toggle--2,var(--color-light));--csstools-light-dark-toggle--3:var(--csstools-color-scheme--light) var(--color-brand-shade);--color-accent:var(--csstools-light-dark-toggle--3,var(--color-brand));--csstools-light-dark-toggle--4:var(--csstools-color-scheme--light) var(--color-light-shade);--color-text-secondary:var(--csstools-light-dark-toggle--4,var(--color-dark-shade));--csstools-light-dark-toggle--5:var(--csstools-color-scheme--light) var(--color-dark-shade);--color-bg-secondary:var(--csstools-light-dark-toggle--5,var(--color-light-shade));--csstools-light-dark-toggle--6:var(--csstools-color-scheme--light) color-mix(in oklab, var(--color-text-primary) 16%, var(--color-bg-primary));--color-bg-button:var(--csstools-light-dark-toggle--6,color-mix(in oklab, var(--color-text-primary) 8%, var(--color-bg-primary)));--csstools-light-dark-toggle--7:var(--csstools-color-scheme--light) oklch(from var(--color-accent) calc(l * 125%) c h);--color-text-highlight:var(--csstools-light-dark-toggle--7,oklch(from var(--color-accent) calc(l * 50%) c h))}}}@media (color-gamut:p3){:root{--color-brand:oklch(83.83% .1982 80.76)}}@supports (color:light-dark(red, red)){:root{--color-dark:light-dark(#2c4b85,#1d1c1c);--color-text-primary:light-dark(var(--color-dark),var(--color-light));--color-bg-primary:light-dark(var(--color-light),var(--color-dark));--color-accent:light-dark(var(--color-brand),var(--color-brand-shade));--color-text-secondary:light-dark(var(--color-dark-shade),var(--color-light-shade));--color-bg-secondary:light-dark(var(--color-light-shade),var(--color-dark-shade))}}@supports (color:color-mix(in lch, red, blue)) and (color:light-dark(red, red)){:root{--color-bg-button:light-dark(color-mix(in oklab, var(--color-text-primary) 8%, var(--color-bg-primary)),color-mix(in oklab, var(--color-text-primary) 16%, var(--color-bg-primary)))}}@supports (color:lab(from red l 1 1% / calc(alpha + 0.1))) and (color:light-dark(red, red)){:root{--color-text-highlight:light-dark(oklch(from var(--color-accent) calc(l * 50%) c h),oklch(from var(--color-accent) calc(l * 125%) c h))}}:root{--font-regular:400;--font-medium:600;--font-bold:700;@media (prefers-color-scheme:dark){--font-regular:350;--font-medium:550;--font-bold:650}}:root{--leading-flat:1;--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.6;--leading-relaxed:1.8;--leading-loose:2;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.0125em;--tracking-wider:.025em;--tracking-widest:.0375em;--border-thickness-s:var(--space-5xs);--border-thickness-m:calc(1.5 * var(--space-5xs));--border-thickness-l:var(--space-4xs);--border-thickness-xl:var(--space-3xs);--border-thickness-2xl:var(--space-2xs);--border-thickness-separator:var(--border-thickness-m);--border-thickness-blockquote:calc(1.5 * var(--border-thickness-xl));--border-thickness-focus:calc(1.25 * var(--space-4xs));--border-radius:var(--border-thickness-s);--code-font-size:.9em;--code-font-weight:var(--font-regular);--code-border-thickness:var(--border-thickness-separator);--code-border-radius:var(--border-radius);--code-padding-block:var(--space-2xs-xs);--code-padding-inline:var(--space-2xs-xs);--grain-image:url(data:image/png;base64,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)}}@layer global{@view-transition{navigation:auto}:root{--wrapper-max-width:70rem;--measure:60ch;--gutter:var(--space-m);--center-max-width:48rem;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--button-padding-block:.5em;--button-padding-inline:.5ch;--btn-border-radius:var(--border-radius);--site-nav-padding-block:calc(1.125 * var(--space-s));--site-nav-padding-inline:var(--space-2xs);scrollbar-gutter:stable;--csstools-color-scheme--light:initial;color-scheme:light dark;background-color:var(--color-bg-primary);container:doc-root/inline-size}@media (prefers-color-scheme:dark){:root{--csstools-color-scheme--light: }}body{max-inline-size:var(--wrapper-max-width);color:var(--color-text-primary);accent-color:var(--color-accent);font-family:var(--font-sans-serif);font-size:var(--step-0);line-height:var(--leading-normal);-webkit-font-smoothing:auto;margin-inline:auto;position:relative;@media (prefers-color-scheme:dark){-webkit-font-smoothing:antialiased}}@container doc-root (width>=75rem){body:before{content:"";background-image:var(--grain-image);background-repeat:repeat;background-size:var(--space-xl) var(--space-xl);mix-blend-mode:hard-light;pointer-events:none;opacity:.66;z-index:-1;block-size:100%;inline-size:100cqi;position:absolute;inset-block-start:0;inset-inline-start:50%;translate:-50%}}h1,.heading-1,h2,.heading-2,h3,.heading-3,h4,.heading-4{font-weight:var(--font-medium)}h1,.heading-1{font-size:var(--step-2);line-height:var(--leading-snug)}h2,.heading-2{font-size:var(--step-1);line-height:var(--leading-normal)}h3,.heading-3{font-size:var(--step-0);line-height:var(--leading-normal);letter-spacing:var(--tracking-wide)}h4,.heading-4{font-size:var(--step--1);text-transform:uppercase;line-height:var(--leading-normal);letter-spacing:var(--tracking-wider)}a{text-underline-offset:.25rex;text-decoration-thickness:.25rex;text-decoration-color:var(--color-underline);&:hover{text-decoration-color:currentColor}&:focus-visible{-webkit-text-decoration:none;text-decoration:none}@media (forced-colors:active){&:hover{text-decoration-thickness:.5rex}}}button,.btn,input{padding:var(--button-padding-block) var(--button-padding-inline);outline:var(--border-thickness-separator) solid #0000;border-radius:var(--btn-border-radius);border:none;transition-property:background,outline-color,opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}button,.btn{background:var(--color-bg-button);&:hover{background:var(--color-bg-button-hover);outline-color:var(--color-focus)}&:focus-visible{background:var(--color-bg-button-hover)}}input{background:var(--color-bg-primary);&:hover{outline-color:var(--color-focus)}}:where(ol,ul):not([role=list]){& ::marker{color:var(--color-text-secondary)}&>*+*{margin-block-start:var(--flow-space,var(--space-3xs))}&>li{--flow-space:.25lh}}:where(ul):not([role=list]){list-style:square}hr{color:var(--color-border);border-block-start-width:var(--border-thickness-separator)}blockquote{border-inline-start:var(--border-thickness-blockquote) solid var(--color-border);padding-inline-start:var(--space-s);position:relative;&>*+*{margin-block-start:var(--flow-space,.5lh)}&>*{--flow-space:.5lh}}pre,code{font-family:var(--font-mono);font-size:var(--code-font-size);line-height:var(--leading-relaxed)}pre{padding:var(--code-padding-block) var(--code-padding-inline);border-radius:var(--code-border-radius);outline:var(--border-thickness-separator) solid var(--color-border);scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track);&:hover{scrollbar-color:var(--color-scrollbar-thumb-hover) var(--color-scrollbar-track)}}:not(pre)>code{padding:var(--space-5xs) var(--space-4xs);background:var(--color-bg-button);border-radius:calc(2 * var(--code-border-radius))}mark,::selection{background:var(--color-bg-highlight);color:var(--color-text-highlight)}strong{font-weight:550}ins{-webkit-text-decoration:none;text-decoration:none}dd{margin-inline-start:var(--space-m)}:focus-visible{outline:var(--border-thickness-focus) solid var(--color-focus)}:target{scroll-margin-block-start:calc((2 * var(--site-nav-padding-block)) + 1ex)}}@layer composition{.box{padding:var(--box-padding,1lh);outline:var(--box-border-thickness,var(--border-thickness-separator,1px)) var(--box-border-style,solid) var(--color-box-border,var(--color-border));color:var(--color-box-text,var(--color-text-primary));background-color:var(--color-box-bg,var(--color-bg-primary))}.box *{color:inherit}.center{box-sizing:content-box;max-inline-size:var(--center-max-width);align-items:center;gap:var(--center-gap,1lh);flex-direction:column;margin-inline:auto;display:flex}[data-centered-text] *{text-align:center;text-wrap:balance}.cluster{flex-wrap:var(--cluster-wrap,wrap);gap:var(--cluster-gap,var(--space-s-m));justify-content:var(--cluster-horizontal-alignment,flex-start);align-items:var(--cluster-vertical-alignment,center);display:flex}.flow>*+*{margin-block-start:var(--flow-space,1em)}.grid{gap:var(--grid-row-gap,var(--grid-gap,1lh)) var(--grid-column-gap,var(--grid-gap,1lh));grid-template-columns:repeat(var(--grid-placement,auto-fill), minmax(var(--grid-min-item-size,min(16rem, 100%)), 1fr));display:grid}.grid[data-layout=halves]{--grid-placement:auto-fit;--grid-min-item-size:clamp(16rem, 50vw, 33rem)}.grid[data-layout=thirds]{--grid-placement:auto-fit;--grid-min-item-size:clamp(16rem, 33%, 20rem)}.repel{flex-wrap:var(--repel-wrap,wrap);gap:var(--repel-gap,1lh);justify-content:space-between;align-items:var(--repel-vertical-alignment,center);display:flex}:has(>.sidebar){gap:var(--sidebar-gap,var(--space-s-m));flex-wrap:wrap;display:flex}.sidebar{flex-basis:var(--sidebar-min-width,16rem);flex-grow:1}:has(>.sidebar)>:not(.sidebar){flex-grow:99999;flex-basis:0;min-inline-size:65%}:has(>.sidebar)>:only-child,:has(>.sidebar)>:nth-child(3){--error:"Sidebar layouts must include exactly two child elements.";outline:var(--error-outline)}.stack{gap:var(--stack-gap,var(--space-m));justify-content:var(--stack-vertical-alignment,flex-start);align-items:var(--stack-horizontal-alignment,flex-start);flex-direction:column;display:flex}.wrapper{max-inline-size:var(--wrapper-max-width,80rem);padding-inline:var(--gutter,var(--space-s-m));margin-inline:auto}}@layer blocks{.skip-link{padding-block:var(--site-nav-padding-block);outline:none;display:block;&:nth-of-type(2){text-align:end}&:focus-visible span{outline:var(--border-thickness-focus) solid var(--color-focus)}}.page{--sidebar-gap:0;--sidebar-min-width:22.4rem;background:var(--color-bg-primary);outline:var(--border-thickness-separator) solid var(--color-border);&>aside{--stack-gap:var(--space-s);position:relative;&>*+*{border-block-start:var(--border-thickness-separator) solid var(--color-border)}&:before{content:"";inline-size:var(--border-thickness-separator);border-inline-start:var(--border-thickness-separator) solid var(--color-border);block-size:100%;position:absolute;inset-block-start:0;inset-inline-start:0;@container (width>50vi){inline-size:100%;block-size:var(--border-thickness-separator);border-inline-start:unset;border-block-start:var(--border-thickness-separator) solid var(--color-border)}}}}.banner-text{transition-behavior:allow-discrete;transition:mix-blend-mode .2s;position:relative;@media (hover:hover){&:has(a:hover){mix-blend-mode:normal}}&:focus-within:not(:has(a:active),:has(a:hover)){outline:var(--border-thickness-focus) solid var(--color-focus);outline-offset:calc(-1 * var(--border-thickness-separator))}& svg{pointer-events:none;inline-size:100%;overflow:visible;& path{fill:var(--color-accent)}}}.banner-text:has(+.page){z-index:3;mix-blend-mode:multiply;@media (prefers-color-scheme:dark){mix-blend-mode:lighten}}.site-header{z-index:1;background:var(--color-bg-primary);&:before{content:"";block-size:var(--border-thickness-separator);background-color:var(--color-border);position:absolute;inset-block-end:0;inset-inline:0}}.site-nav{&>ul{--cluster-gap:0px;margin-inline-start:calc(-1 * var(--site-nav-padding-inline))}}.nav-item{& a{padding:var(--site-nav-padding-block) var(--site-nav-padding-inline);display:block}}.site-nav{& [aria-current]{text-decoration-color:#0000;position:relative;&:hover{text-decoration-color:revert}&:before{content:"";inset-inline:var(--site-nav-padding-inline);block-size:var(--border-thickness-2xl);background:var(--color-accent);position:absolute;inset-block-end:0}}}.feed-header{padding-block:var(--space-m) var(--space-xs);& hgroup{gap:var(--stack-gap,var(--space-m));justify-content:var(--stack-vertical-alignment,flex-start);align-items:var(--stack-horizontal-alignment,flex-start);flex-direction:column;display:flex}}.entry-item+.entry-item{border-block-start:var(--border-thickness-separator) solid var(--color-border)}.entry-item{contain:content;& article{--stack-gap:var(--space-m);--stack-horizontal-alignment:stretch}& [rel=bookmark]{margin-inline-start:auto}}.entry-content{max-inline-size:100%;&>*{--flow-space:initial}& h1,& h2,& h2+*,& h3,& h3+*,& h4,& h4+*,& .astro-code,& .astro-code+*{--flow-space:1lh}& blockquote ul{padding-inline-start:var(--space-s)}}.entry-actions>*{border-block-start:var(--border-thickness-separator) solid var(--color-border)}.pagination-control{border-block-start:var(--border-thickness-separator) solid var(--color-border);& a{position:relative;&:after{content:"";inset:calc(-1 * var(--space-m)) 0;z-index:2;position:absolute}}& [rel=next]{margin-inline-start:auto}}.link-entry-title{& a:after{content:" ↗" " (external)";content:" ↗" /" (external)";margin-inline-start:var(--space-3xs);display:inline-block}}.mastodon-share-container{--cluster-gap:.5ch;.no-js & a{cursor:not-allowed;opacity:.37}}copy-to-clipboard:not(:defined) button{cursor:not-allowed;opacity:.37}copy-to-clipboard button{cursor:copy;min-inline-size:8ch}.back-link{border-block-start:var(--border-thickness-separator) solid var(--color-border);display:block}.book-list{--grid-min-item-size:12.8ch;--grid-gap:var(--space-l);grid-template-rows:1fr auto;& li{grid-row:span 2;grid-template-rows:subgrid;gap:var(--space-s-m);display:grid;&>:last-child{order:-1}}}.book-wrapper{perspective:1400px;align-self:end;&>*{transform-style:preserve-3d;transition:transform .5s .1s;position:relative}}.cover{--shadow-color:220 3% 15%;--_book-cover-radius:3px 4px 4px 3px;--_shadow-strength:15%;--_box-shadow:0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--_shadow-strength) + 2%)), 0 3px 2px -2px hsl(var(--shadow-color) / calc(var(--_shadow-strength) + 3%)), 0 7px 5px -2px hsl(var(--shadow-color) / calc(var(--_shadow-strength) + 3%)), 0 12px 10px -2px hsl(var(--shadow-color) / calc(var(--_shadow-strength) + 4%)), 0 22px 18px -2px hsl(var(--shadow-color) / calc(var(--_shadow-strength) + 5%)), 0 41px 33px -2px hsl(var(--shadow-color) / calc(var(--_shadow-strength) + 6%)), 0 100px 80px -2px hsl(var(--shadow-color) / calc(var(--_shadow-strength) + 7%));border-radius:var(--_book-cover-radius);box-shadow:var(--_box-shadow);transform-style:preserve-3d;transform-origin:0%;transition:transform .5s;position:relative;transform:translateZ(20px);&:before,&:after{content:"";border-radius:var(--_book-cover-radius);pointer-events:none;position:absolute}&:before{box-shadow:inset var(--space-4xs) calc(-1 * var(--space-5xs)) var(--space-3xs) #00000040;mix-blend-mode:multiply;background-image:linear-gradient(#fff,#0000001a);inset:0}&:after{inline-size:var(--space-4xs);block-size:100%;box-shadow:var(--space-5xs) 0 var(--space-4xs) #ffffff40;background:#0000000f;inset-block-start:0;inset-inline-start:4%}&>*{transform-style:preserve-3d}}.cover,.cover :where(picture,img){border-radius:var(--_book-cover-radius);block-size:auto;inline-size:100%}.book-filters[disabled]{opacity:.37;& input,& label{cursor:not-allowed}}.book-filters{--btn-border-radius:100vmax;--button-padding-inline:1ch;padding:unset;border:none;& legend{padding:unset}& .btn{outline-offset:calc(-1 * var(--border-thickness-separator))}& input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}& label:after{content:"";position:absolute;inset:0}&>div{--cluster-gap:calc(1.5 * var(--space-3xs));&>div{position:relative;&:hover,&:has(:checked){outline-color:currentColor;outline-width:var(--border-thickness-focus)}&:hover{background:var(--color-bg-button)}&:has(:checked):hover{background:var(--color-bg-button-hover)}&:focus-within{background:var(--color-bg-button-hover);outline:var(--border-thickness-focus) solid var(--color-focus)}}}}#currently-reading{& header{--repel-vertical-alignment:baseline}& .books-container{--grid-min-item-size:16.2rem;--grid-row-gap:var(--space-s);--grid-column-gap:var(--space-m);--grid-placement:auto-fit}& .book{padding:max(2cqi, var(--space-xs));outline:var(--border-thickness-separator) solid var(--color-border);border-radius:var(--border-radius);background:var(--color-bg-primary);flex-wrap:nowrap;align-items:stretch;overflow:clip;& div:has(.cover){flex-basis:var(--space-6xl);position:relative}& .cover{position:absolute;inset-block-start:0;inset-inline-end:0}}}.astro-code{--astro-code-background:var(--color-bg-primary);--csstools-light-dark-toggle--8:var(--csstools-color-scheme--light) #b392f0;--astro-code-foreground:var(--csstools-light-dark-toggle--8,#24292e);--csstools-light-dark-toggle--9:var(--csstools-color-scheme--light) #79b8ff;--astro-code-token-constant:var(--csstools-light-dark-toggle--9,#1974ce);--csstools-light-dark-toggle--10:var(--csstools-color-scheme--light) #9db1c5;--astro-code-token-string:var(--csstools-light-dark-toggle--10,#2c5581);--csstools-light-dark-toggle--11:var(--csstools-color-scheme--light) #7d8690;--astro-code-token-comment:var(--csstools-light-dark-toggle--11,#727374);--csstools-light-dark-toggle--12:var(--csstools-color-scheme--light) #f97583;--astro-code-token-keyword:var(--csstools-light-dark-toggle--12,#d32f2f);--csstools-light-dark-toggle--13:var(--csstools-color-scheme--light) #ff9800;--astro-code-token-parameter:var(--csstools-light-dark-toggle--13,#a76300);--csstools-light-dark-toggle--14:var(--csstools-color-scheme--light) #b392f0;--astro-code-token-function:var(--csstools-light-dark-toggle--14,#6f42c1);--csstools-light-dark-toggle--15:var(--csstools-color-scheme--light) #ffab70;--astro-code-token-string-expression:var(--csstools-light-dark-toggle--15,#228439);--csstools-light-dark-toggle--16:var(--csstools-color-scheme--light) #bbb;--astro-code-token-punctuation:var(--csstools-light-dark-toggle--16,#212121);--csstools-light-dark-toggle--17:var(--csstools-color-scheme--light) #1f85ef;--astro-code-token-link:var(--csstools-light-dark-toggle--17,#1b75d2);@supports not (color:light-dark(tan, tan)){& *{--csstools-light-dark-toggle--8:var(--csstools-color-scheme--light) #b392f0;--astro-code-foreground:var(--csstools-light-dark-toggle--8,#24292e);--csstools-light-dark-toggle--9:var(--csstools-color-scheme--light) #79b8ff;--astro-code-token-constant:var(--csstools-light-dark-toggle--9,#1974ce);--csstools-light-dark-toggle--10:var(--csstools-color-scheme--light) #9db1c5;--astro-code-token-string:var(--csstools-light-dark-toggle--10,#2c5581);--csstools-light-dark-toggle--11:var(--csstools-color-scheme--light) #7d8690;--astro-code-token-comment:var(--csstools-light-dark-toggle--11,#727374);--csstools-light-dark-toggle--12:var(--csstools-color-scheme--light) #f97583;--astro-code-token-keyword:var(--csstools-light-dark-toggle--12,#d32f2f);--csstools-light-dark-toggle--13:var(--csstools-color-scheme--light) #ff9800;--astro-code-token-parameter:var(--csstools-light-dark-toggle--13,#a76300);--csstools-light-dark-toggle--14:var(--csstools-color-scheme--light) #b392f0;--astro-code-token-function:var(--csstools-light-dark-toggle--14,#6f42c1);--csstools-light-dark-toggle--15:var(--csstools-color-scheme--light) #ffab70;--astro-code-token-string-expression:var(--csstools-light-dark-toggle--15,#228439);--csstools-light-dark-toggle--16:var(--csstools-color-scheme--light) #bbb;--astro-code-token-punctuation:var(--csstools-light-dark-toggle--16,#212121);--csstools-light-dark-toggle--17:var(--csstools-color-scheme--light) #1f85ef;--astro-code-token-link:var(--csstools-light-dark-toggle--17,#1b75d2)}}}@supports (color:light-dark(red, red)){.astro-code{--astro-code-foreground:light-dark(#24292e,#b392f0);--astro-code-token-constant:light-dark(#1974ce,#79b8ff);--astro-code-token-string:light-dark(#2c5581,#9db1c5);--astro-code-token-comment:light-dark(#727374,#7d8690);--astro-code-token-keyword:light-dark(#d32f2f,#f97583);--astro-code-token-parameter:light-dark(#a76300,#ff9800);--astro-code-token-function:light-dark(#6f42c1,#b392f0);--astro-code-token-string-expression:light-dark(#228439,#ffab70);--astro-code-token-punctuation:light-dark(#212121,#bbb);--astro-code-token-link:light-dark(#1b75d2,#1f85ef)}}.astro-code[data-language]{position:relative;&:before{content:attr(data-language);padding-block:var(--space-2xs);padding-inline:var(--code-padding-inline);background:oklch(from var(--color-border) l c h / calc(alpha * .8));color:var(--color-text-primary);font-size:var(--step--2);letter-spacing:var(--tracking-wider);line-height:var(--leading-flat);position:absolute;inset-block-start:0;inset-inline-end:0}}.astro-code{padding:unset;&>code{padding:var(--code-padding-block) var(--code-padding-inline);display:block;overflow-x:auto}}search{& input,& button{&:not(:hover,:focus-visible){outline-color:var(--color-border)}&:hover,&:focus-visible{outline:var(--border-thickness-focus) solid var(--color-focus);outline-offset:calc(-1 / 2 * var(--border-thickness-focus));z-index:1}}& input{border-radius:var(--border-radius) 0 0 var(--border-radius)}& button{--button-padding-inline:1ch;--sidebar-min-width:6ch;border-radius:0}}#socials{--flow-space:.25lh;& ul{padding-inline-start:1em}& a:has(svg){background:0 0;-webkit-text-decoration:none;text-decoration:none;& svg{vertical-align:middle;color:var(--color-text-secondary);display:inline}& span{text-decoration-line:underline;text-decoration-color:var(--color-underline)}&:hover span{text-decoration-color:currentColor}}}}@layer utilities{.region{padding-block-start:var(--region-start-space,var(--region-space,2lh));padding-block-end:var(--region-end-space,var(--region-space,2lh))}.visually-hidden:not(:active):not(:focus){clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}[hidden],.hidden{display:none}.mi-auto{margin-inline:auto}.mb-space-m{margin-block:var(--space-m)}.mb-space-xl-m{margin-block:var(--space-xl-m)}.mbs-space-m{margin-block-start:var(--space-m)}.mbs-space-xl-m{margin-block-start:var(--space-xl-m)}.p-space-2xs{padding:var(--space-2xs)}.p-space-xs{padding:var(--space-xs)}.p-space-s{padding:var(--space-s)}.p-space-m{padding:var(--space-m)}.p-space-s-m{padding:var(--space-s-m)}.p-space-m-l{padding:var(--space-m-l)}.p-space-gutter{padding:var(--gutter)}.pi-space-3xs{padding-inline:var(--space-3xs)}.pi-space-2xs{padding-inline:var(--space-2xs)}.pi-space-xs{padding-inline:var(--space-xs)}.pi-space-s{padding-inline:var(--space-s)}.pi-space-m{padding-inline:var(--space-m)}.pi-space-s-m{padding-inline:var(--space-s-m)}.pi-space-gutter{padding-inline:var(--gutter)}.pb-space-3xs{padding-block:var(--space-3xs)}.pb-space-2xs{padding-block:var(--space-2xs)}.pb-space-xs{padding-block:var(--space-xs)}.pb-space-s{padding-block:var(--space-s)}.pb-space-m{padding-block:var(--space-m)}.pb-space-l{padding-block:var(--space-l)}.pb-space-xl{padding-block:var(--space-xl)}.pb-space-2xl{padding-block:var(--space-2xl)}.pb-space-3xl{padding-block:var(--space-3xl)}.pb-space-m-l{padding-block:var(--space-m-l)}.pb-space-s-m{padding-block:var(--space-s-m)}.pb-space-s-xs{padding-block:var(--space-s-xs)}.pb-space-l-5xs{padding-block:var(--space-l-5xs)}.pb-space-l-m{padding-block:var(--space-l-m)}.pb-space-xl-m{padding-block:var(--space-xl-m)}.pb-space-gutter{padding-block:var(--gutter)}.pbs-space-s{padding-block-start:var(--space-s)}.pbs-space-m{padding-block-start:var(--space-m)}.pbs-space-s-xs{padding-block-start:var(--space-s-xs)}.flow-space-0{--flow-space:0}.flow-space-3xs{--flow-space:var(--space-3xs)}.flow-space-2xs{--flow-space:var(--space-2xs)}.flow-space-xs{--flow-space:var(--space-xs)}.flow-space-s{--flow-space:var(--space-s)}.flow-space-m{--flow-space:var(--space-m)}.i-full{inline-size:100%}.max-i-full{max-inline-size:100%}.b-full{block-size:100%}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.relative{position:relative}.sticky{position:sticky}.inset-bs-0{inset-block-start:0}.inset-bs-space-m{inset-block-start:var(--space-m)}.container-type-inline{container-type:inline-size}.multi-col{column-width:var(--multi-col-width,25ch);column-gap:var(--space-l)}.text-step--2{font-size:var(--step--2);letter-spacing:var(--tracking-widest)}.text-step--1{font-size:var(--step--1);letter-spacing:var(--tracking-wider);line-height:var(--leading-relaxed)}.text-step-0{font-size:var(--step-0)}.text-step-1{font-size:var(--step-1)}.text-step-2{font-size:var(--step-2)}.text-step-3{font-size:var(--step-3)}.text-step-4{font-size:var(--step-4)}.text-step-5{font-size:var(--step-5)}.text-step-6{font-size:var(--step-6)}.text-align-end{text-align:end}.text-box-trim{text-box:trim-both cap alphabetic}.text-box-trim-start{text-box:trim-start cap alphabetic}.text-box-trim-end{text-box:trim-end cap alphabetic}.text-balance{text-wrap:balance}.leading-flat{line-height:var(--leading-flat)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.font-regular{font-weight:var(--font-regular)}.font-medium{font-weight:var(--font-medium)}.font-bold{font-weight:var(--font-bold)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.align-self-start{align-self:start}.align-self-end{align-self:end}.align-self-stretch{align-self:stretch}.place-self-end{place-self:end}.gap-0{gap:0}.gap-4xs{gap:var(--space-4xs)}.gap-3xs{gap:var(--space-3xs)}.gap-2xs{gap:var(--space-2xs)}.gap-xs{gap:var(--space-xs)}.gap-s{gap:var(--space-s)}.gap-m{gap:var(--space-m)}.gap-m-s{gap:var(--space-m-s)}.gap-xl{gap:var(--space-xl)}.gap-5xl{gap:var(--space-5xl)}}@layer exceptions{.share-feedback{--repel-gap:var(--space-s) var(--space-2xs)}.share-feedback:has(.mastodon-edit){padding-block:calc(var(--space-m) - var(--button-padding-block))}.feed-page{& hgroup{--cluster-gap:var(--space-m);flex-direction:row;flex-wrap:var(--cluster-wrap,wrap);gap:var(--cluster-gap,var(--space-s-m));justify-content:var(--cluster-horizontal-alignment,flex-start);align-items:var(--cluster-vertical-alignment,center);display:flex;&:before{content:"";flex-basis:var(--space-l);block-size:var(--border-thickness-separator);background:var(--color-border);flex-grow:999}& h1{order:-1}}}.entry-page{& article{& footer:has(>.pub-date){order:-1}}}.book-gallery{--stack-gap:var(--space-xl);& .skip-link:is(:active,:focus){position:relative;inset-inline-start:var(--gutter)}& [href=\/]{position:relative;&:after{content:"";inset:calc(-1 * var(--site-nav-padding-block)) 0;position:absolute}}& main{--flow-space:var(--space-xl)}& .heading-group{&>*{font-size:var(--step-4);flex-shrink:0}& a{transition:opacity .2s,text-decoration-color .2s}& a:not(:hover,:focus-visible){opacity:.6}}& #section-desc{--flow-space:var(--space-m)}& fieldset,& .book-list{--flow-space:var(--space-2xl)}& fieldset{outline:var(--border-thickness-separator) solid var(--color-border);border-radius:var(--border-radius)}& legend{background:var(--color-bg-primary);translate:var(--space-s) -50%;&+*{padding:var(--space-s);padding-block-start:0}}}.tag-page main ul{& li{text-box:trim-both cap alphabetic;& p{--cluster-gap:var(--space-3xs);--cluster-vertical-alignment:baseline;padding-block:var(--space-3xs);position:relative}& a:after{content:"";position:absolute;inset:0}& span{font-size:max(var(--step--2), .33em)}}}.archive-page{& .archive-list{&>*{padding-block:1lh}& section{gap:var(--space-s) var(--space-2xs);grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;display:grid;&+section{border-block-start:var(--border-thickness-separator) solid var(--color-border)}&:before{content:"■";font-size:.5em;line-height:var(--leading-tight)}&>:not(:first-child){grid-column:2/-1}}& li{display:inline;&+li:before{content:"/ "}& a{-webkit-text-decoration:none;text-decoration:none;& span:first-child{text-underline-offset:.25rex;text-decoration-line:underline;text-decoration-thickness:.25rex;text-decoration-color:var(--color-underline)}&:hover{& span:first-child{text-decoration-color:currentColor}}}}}}search:has(>#search-form){padding-block:var(--space-m) var(--space-xs)}#search-form{margin-block-end:var(--space-m);& .sidebar{--sidebar-min-width:auto}.js & .search-btn{display:none}& .clear-btn{display:none;.js &{display:unset}}&:has([type=search]:placeholder-shown) .clear-btn{cursor:not-allowed}.js & [type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.js & [type=search]::-webkit-search-decoration{-webkit-appearance:none}}#search-results-list{padding-inline-start:0;& li{border-block-start:var(--border-thickness-separator) solid var(--color-border);& article{--stack-gap:var(--space-s-m)}}}#about-site{& div:has(>.sidebar){--sidebar-gap:var(--space-m) var(--space-3xs);--sidebar-min-width:auto;position:relative}& div:has(>.sidebar)>:not(.sidebar){min-inline-size:60%}& p{--measure:45ch}}.paper-clip{--_size:var(--space-m);inline-size:var(--_size);position:absolute;inset-block-start:calc((-1 * var(--space-m)) + (-1 / 2 * var(--_size)) + var(--border-thickness-separator));inset-inline-end:0}.profile-pic{inline-size:var(--space-4xl);border:calc(2 * var(--border-thickness-separator)) solid var(--color-bg-primary);outline:var(--border-thickness-separator) solid var(--color-border);translate:calc(1 / 2 * var(--space-m)) calc(-1 / 2 * var(--space-m));rotate:-2deg}@container (width>=50vi){#about-site{& div:has(>.sidebar){--sidebar-gap:var(--space-m)}}.paper-clip{display:none}.profile-pic{inline-size:var(--space-5xl);translate:0;rotate:0deg}}}
