@font-face{font-family:ibm plex mono;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex mono;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:ibm plex mono;src:url(/fonts/ibm-plex-mono-latin-700-normal.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:ibm plex mono;src:url(/fonts/ibm-plex-mono-latin-400-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:"web437 ibm vga 9x16";src:url(/fonts/Web437_IBM_VGA_9x16.woff)format("woff");font-style:normal;font-weight:400;font-display:block}:root{--bg:#0b0c10;--bg-raised:#12141b;--line:#2a2e3d;--faint:#4a4f60;--fg:#c9ccd3;--fg-bright:#f4f5f7;--dim:#8b90a0;--blue:#14238c;--blue-bright:#2a3fc4;--on-blue:#e6e8f2;--on-blue-dim:#9aa3d6;--yellow:#f5d95a;--cyan:#6fd3dc;--green:#7fd67f;--red:#e0605a;--magenta:#d98bd9;--shadow:#000;--paper:#fff;--print-ink:#111;--mono:"IBM Plex Mono",ui-monospace,"Courier New",monospace;--body:var(--mono);--vga:"Web437 IBM VGA 9x16","IBM Plex Mono",monospace;--cols:80ch;--measure:620px}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-size:18px;scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--bg);font-family:var(--mono);font-size:1rem;line-height:1.6;text-rendering:optimizeLegibility}::selection{background:var(--fg);color:var(--bg)}a{color:var(--link,var(--cyan));text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{background:var(--link,var(--cyan));color:var(--link-ink,var(--bg));text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{--link:var(--bg);position:fixed;z-index:100;top:1rem;left:1rem;transform:translateY(-300%);padding:.4rem .8rem;background:var(--fg);font-size:.85rem;text-decoration:none}.skip-link:hover{background:var(--fg);color:var(--bg)}.skip-link:focus{transform:none}.site-shell{width:min(100% - 2.5rem,var(--cols));margin-inline:auto}.site-main{min-height:65vh}.site-header{padding-top:2rem}.brand{--link:var(--fg-bright);display:inline-flex;align-items:flex-end;font-family:var(--vga);font-size:48px;line-height:1;text-decoration:none;white-space:nowrap}.brand:hover{background:0 0;color:var(--fg-bright)}.brand-prompt{color:var(--dim)}.cursor{width:.5625em;height:.125em;margin-bottom:.125em;background:var(--yellow);animation:blink 1.1s steps(1)infinite}@keyframes blink{50%{opacity:0}}.menu-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 1.5rem;margin-top:1.1rem;padding:0 .4rem;background:var(--blue);color:var(--on-blue);font-size:.85rem}.site-nav{display:flex;flex-wrap:wrap}.site-nav a{--link:var(--on-blue);display:block;padding:.3rem .8rem;text-decoration:none}.site-nav a::first-letter{color:var(--yellow)}.site-nav a:hover{background:var(--blue-bright);color:var(--on-blue)}.site-nav a[aria-current=page]{background:var(--fg);color:var(--bg)}.site-nav a[aria-current=page]::first-letter{color:inherit}.brand-tagline{margin:0;padding:.3rem .4rem;color:var(--on-blue-dim)}.eyebrow,.prompt{margin:0;color:var(--dim);font-size:.85rem}.page-intro{margin:3rem 0 2rem}.page-intro h1,.article-header h1,.not-found h1{margin:.3rem 0 .6rem;color:var(--fg-bright);font-size:clamp(1.5rem,4.5vw,2rem);font-weight:700;line-height:1.2;text-wrap:balance}.page-intro>p:last-child{max-width:var(--measure);margin:0;color:var(--dim);font-family:var(--body)}.archive-list{margin-top:3rem}.page-intro+.archive-list{margin-top:0}.prompt{margin-bottom:1rem}.dir-prompt{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 1ch}.dir-prompt input{width:18ch;max-width:100%;padding:0 .3ch;border:0;border-bottom:2px solid var(--faint);border-radius:0;background:0 0;color:var(--fg-bright);caret-color:var(--yellow);font-size:max(1em,16px);appearance:none}.dir-prompt input::placeholder{color:var(--dim)}.dir-prompt input:focus{border-bottom-color:var(--yellow);outline:none}.dir-empty{margin:1.2rem 0;padding-left:1ch;color:var(--red);font-size:.85rem}.dir-volume{margin:0 0 .4rem;padding-left:1ch;color:var(--dim);font-size:.85rem}.archive-year{padding:1.1rem 0 1.3rem}.archive-year{scroll-margin-top:1rem}.archive-year h2,.dir-heading{margin:0 0 1rem;padding-left:1ch;color:var(--yellow);font-size:.85rem;font-weight:400}.archive-year h2 span,.dir-heading span{color:var(--dim)}.archive-year ol{margin:0;padding:0;list-style:none}.archive-year li{display:grid;grid-template-columns:8ch 3ch 8ch 10ch minmax(0,1fr);align-items:baseline;column-gap:1.5ch;padding:.16rem 0;color:var(--dim);font-size:.85rem}.archive-year li[hidden]{display:none}.archive-year li:hover{color:var(--fg)}.archive-year time,.dir-name,.dir-ext,.dir-size{white-space:nowrap}.dir-size{text-align:right}.guest-tag{color:var(--magenta);text-align:left}.dir-mark{color:var(--cyan);text-align:left}.archive-year a{--link:var(--fg);font-size:1.1em;text-decoration:none}.dir-summary{display:grid;grid-template-columns:20ch 20ch;margin:.9rem 0 0;color:var(--dim);font-size:.85rem;text-align:right}.dir-total{padding-top:1.1rem;border-top:1px solid var(--line)}.dir-total p{margin:0;color:var(--dim);font-size:.85rem}.dir-total>p:first-child{padding-left:5ch}.dir-total .dir-summary{margin-top:.1rem}.term-cloud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem 1.5rem;margin:0 0 4rem;padding:1.3rem 0 0;border-top:1px solid var(--line);list-style:none}.term-cloud a{--link:var(--fg);display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;padding:.2rem .4rem;text-decoration:none}.term-cloud span{min-width:0;overflow-wrap:anywhere}.term-cloud span::before{content:"["}.term-cloud span::after{content:"]"}.term-cloud small{color:var(--dim);font-size:.85rem}.term-cloud a:hover small{color:inherit}.tag-list{display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin:.6rem 0 0;padding:0;list-style:none;font-size:.85rem}.tag-list a{text-decoration:none}.article{display:grid;grid-template-columns:minmax(0,var(--measure));margin-top:3rem}.article-meta{display:flex;flex-wrap:wrap;gap:.1rem 0;margin-top:.8rem;color:var(--dim);font-size:.85rem}.article-meta>*:not(:last-child)::after,.ledger-stats span:not(:last-child)::after,.volume__meta span:not(:last-child)::after,.volume__origin>span:not(:last-child)::after{content:"|";margin:0 .7rem;color:var(--faint)}.article-toc{margin-top:2rem;padding:.6rem .8rem;border:3px double var(--on-blue-dim);background:var(--blue);color:var(--on-blue);box-shadow:.4rem .4rem 0 var(--shadow);font-size:.85rem}.article-toc summary{cursor:pointer;color:var(--yellow)}.article-toc nav{margin-top:.5rem;font-family:var(--body)}.article-toc ul{margin:.2rem 0;padding-left:.9rem;list-style:none}.article-toc nav>ul{padding-left:0}.article-toc li{margin:.35rem 0;line-height:1.35}.article-toc a{--link:var(--on-blue);--link-ink:var(--blue);text-decoration:none}.article-content{margin-top:2.5rem;font-family:var(--body);font-size:.94rem;line-height:1.7;overflow-wrap:break-word}.article-content h1,.article-content h2,.article-content h3,.article-content h4{scroll-margin-top:1.5rem;color:var(--fg-bright);font-family:var(--mono);font-weight:700;line-height:1.25}.article-content h1,.article-content h2{margin:2.8rem 0 1rem;padding-bottom:.4rem;border-bottom:3px double var(--line);font-size:1.4rem}.article-content h3{margin:2.2rem 0 .7rem;font-size:1.15rem}.article-content h4{margin:1.8rem 0 .5rem;font-size:1rem}.article-content p,.article-content ul,.article-content ol{margin-block:1.2rem}.article-content li+li{margin-top:.35rem}.article-content strong{color:var(--fg-bright);font-weight:650}.article-content hr{margin:3rem 0;border:0;border-top:3px double var(--line)}.article-content blockquote{margin:2rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:2px solid var(--dim);font-style:italic}.article-content blockquote p{margin:.5rem 0}.article-content figure{margin:2.2rem 0}.article-content figure img{cursor:zoom-in;width:100%;border:1px solid var(--line);background:var(--bg-raised)}.article-content figcaption{margin-top:.6rem;color:var(--dim);font-family:var(--mono);font-size:.78rem;line-height:1.45}.article-content iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;margin:2rem 0;border:1px solid var(--line)}.article-content table{display:block;width:100%;margin:2rem 0;overflow-x:auto;border-collapse:collapse;font-size:.9rem}.article-content th,.article-content td{padding:.5rem .7rem;border:1px solid var(--line);text-align:left}.article-content th{background:var(--bg-raised);color:var(--fg-bright);font-family:var(--mono);font-size:.78rem;text-transform:uppercase}.article-content code{padding:.08em .3em;background:var(--bg-raised);color:var(--yellow);font-family:var(--mono);font-size:.86em;overflow-wrap:anywhere}.article-content pre{max-width:100%;margin:2rem 0;padding:1rem 1.1rem;overflow:auto;background:var(--blue);color:var(--on-blue);font-family:var(--mono);line-height:1.55;tab-size:2;scrollbar-color:var(--on-blue-dim)var(--blue)}.article-content pre code{padding:0;background:0 0;color:inherit;font-size:.8rem}.codebox{margin:2rem 0;background:var(--blue)}.codebox::before{content:attr(data-lang);display:block;padding:.1rem 1.1rem;background:var(--fg);color:var(--bg);font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.highlight{max-width:100%;overflow:auto}.article-content .highlight pre{margin:0}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt{color:var(--fg-bright);font-weight:700}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sc{color:var(--cyan)}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cp{color:var(--on-blue-dim)}.chroma .nt,.chroma .nf,.chroma .nb,.chroma .nc,.chroma .nl,.chroma .se{color:var(--yellow)}.chroma .na,.chroma .nv,.chroma .nd{color:var(--green)}.chroma .m,.chroma .mi,.chroma .mf,.chroma .no{color:var(--magenta)}.chroma .gs{font-weight:700}.chroma .err{background:0 0;color:inherit}.panel{position:relative;margin:2.4rem 0 2.2rem;padding:1.3rem 1.2rem 1rem;border:3px double var(--on-blue-dim);background:var(--blue);color:var(--on-blue);box-shadow:.4rem .4rem 0 var(--shadow)}.panel>.panel__title{position:absolute;top:0;left:.8rem;max-width:calc(100% - 1.6rem);margin:0;padding:0 .5rem;overflow:hidden;transform:translateY(-55%);background:var(--blue);color:var(--yellow);font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;line-height:1.4;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.panel__content>*:first-child{margin-top:0}.panel__content>*:last-child{margin-bottom:0}.panel a{--link:var(--on-blue);--link-ink:var(--blue)}.article-content .panel code{background:var(--blue-bright)}.article-content .panel strong{color:inherit}.article-footer{margin-top:3.5rem;padding-top:1.5rem;border-top:3px double var(--line)}.article-footer .dir-summary{margin:0 0 1.5rem}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.post-nav span:last-child{text-align:right}.post-nav small{display:block;margin-bottom:.2rem;color:var(--dim);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.post-nav a{--link:var(--fg-bright);line-height:1.35;text-decoration:none}.not-found{margin:4rem 0}.error-code{margin:0 0 1rem;color:var(--blue-bright);font-family:var(--vga);font-size:128px;line-height:1}.not-found .eyebrow{color:var(--red)}.not-found>p:not(.error-code):not(.eyebrow){color:var(--dim);font-family:var(--body)}.text-link{display:inline-block;margin-top:.6rem}.empty-state{padding:2.5rem 0;color:var(--dim)}.ledger-stats{display:flex;flex-wrap:wrap;gap:.1rem 0;margin:-1rem 0 2.6rem;color:var(--dim);font-size:.85rem}.ledger-current{max-width:var(--measure)}.ledger-current__title{margin:0 0 .3rem;color:var(--fg-bright);font-size:1.3rem;font-weight:700;line-height:1.25}.ledger-current .volume__meta,.ledger-current .volume__meta span:not(:last-child)::after{color:var(--on-blue-dim)}.ledger-current .volume__synopsis{color:var(--on-blue)}.ledger{margin-top:2.5rem}.ledger-controls{padding-bottom:1.2rem;border-bottom:3px double var(--line)}.ledger-controls__row{display:flex;flex-wrap:wrap;gap:.7rem}.ledger-search{flex:1 1 16rem;min-width:0;padding:.5rem .7rem;border:1px solid var(--dim);border-radius:0;background:var(--bg-raised);color:var(--fg-bright);font-size:.85rem}.ledger-search::placeholder{color:var(--dim)}.ledger-search:focus,.ledger-sort:focus{border-color:var(--yellow);outline:none}.ledger-sort{padding:.5rem .7rem;border:1px solid var(--dim);border-radius:0;background:var(--bg-raised);color:var(--fg-bright);font-size:.85rem}.facet-set{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}.facet{padding:.15rem .55rem;border:1px solid var(--faint);background:0 0;color:var(--dim);cursor:pointer;font-size:.78rem}.facet small{font-size:1em}.facet:hover{border-color:var(--fg);color:var(--fg)}.facet[aria-pressed=true]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.ledger-more{margin-top:.9rem}.ledger-more summary{cursor:pointer;color:var(--yellow);font-size:.78rem}.ledger-tally{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.1rem 0 0;color:var(--dim);font-size:.85rem}.ledger-reset{padding:0;border:0;background:0 0;color:var(--cyan);cursor:pointer;font-size:.85rem;text-decoration:underline}.ledger-list{margin:0;padding:0;list-style:none}.volume{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1.5rem;padding:2rem 0;border-bottom:1px solid var(--line)}.volume[hidden]{display:none}.volume__mark{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding-top:.35rem}.rating{display:block;width:5.5rem;height:.75rem;background:var(--faint);-webkit-mask:repeating-linear-gradient(90deg,var(--shadow) 0 calc(20% - 3px),transparent calc(20% - 3px) 20%);mask:repeating-linear-gradient(90deg,var(--shadow) 0 calc(20% - 3px),transparent calc(20% - 3px) 20%)}.rating__fill{display:block;height:100%;background:var(--yellow)}.rating__value{color:var(--dim);font-size:.85rem}.volume__abandoned{color:var(--red);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.volume__title{margin:0 0 .3rem;color:var(--fg-bright);font-size:1.25rem;font-weight:700;line-height:1.25}.volume__meta,.volume__origin{display:flex;flex-wrap:wrap;gap:.1rem 0;margin:0;color:var(--dim);font-size:.85rem}.volume__origin{margin-top:.2rem}.volume__origin i{color:var(--fg);font-style:normal}.volume__review{margin:1rem 0 0;padding:.1rem 0 .1rem 1.1rem;border-left:2px solid var(--dim);color:var(--fg-bright);font-family:var(--body);font-style:italic;line-height:1.6}.volume__review p{margin:0}.volume__synopsis{margin:.9rem 0 0;color:var(--dim);font-family:var(--body);font-size:.92rem;line-height:1.55}.volume__genres{color:var(--dim)}.site-footer{margin-top:5rem;padding:1.2rem 0 2.5rem;border-top:3px double var(--line);color:var(--dim);font-size:.78rem}.status-bar{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin-bottom:1.2rem;font-size:.85rem}.status-bar a{display:flex;text-decoration:none}.status-bar a:hover{background:0 0}.status-bar__key{padding-right:.35rem;color:var(--fg)}.status-bar__label{padding:0 .6rem;background:var(--blue);color:var(--on-blue)}.status-bar a:hover .status-bar__label{background:var(--fg);color:var(--bg)}.site-footer p{margin:.2rem 0}.font-credit a{--link:var(--dim)}.lightbox{padding:0;border:0;max-width:100vw;max-height:100vh;background:0 0}.lightbox::backdrop{background:var(--bg,#0b0c10);opacity:.94}.lightbox img{max-width:95vw;max-height:95vh;object-fit:contain;cursor:zoom-out}@media(min-width:960px){.article{grid-template-columns:minmax(0,var(--measure))minmax(0,1fr);column-gap:1.5rem}.article-header{grid-column:1/-1;grid-row:1}.article-content{grid-column:1;grid-row:2}.article-footer{grid-column:1;grid-row:3}.article-toc{position:sticky;top:1.5rem;grid-column:2;grid-row:2/4;align-self:start;max-height:calc(100vh - 3rem);margin-top:2.5rem;overflow:auto;font-size:.8rem}}@media(max-width:760px){html{font-size:17px}.site-shell{width:min(100% - 1.6rem,var(--cols))}.site-header{padding-top:1.3rem}.page-intro,.article{margin-top:2.2rem}.archive-year li{grid-template-columns:10ch minmax(0,1fr)auto}.dir-name,.dir-ext,.dir-size:not(.guest-tag){display:none}.guest-tag{order:1}.archive-year a{font-size:1.15em}.dir-summary{grid-template-columns:12ch 18ch}.term-cloud{grid-template-columns:1fr 1fr}.post-nav{grid-template-columns:1fr}.post-nav span:last-child{text-align:left}.volume{grid-template-columns:1fr;gap:.8rem;padding:1.6rem 0}.volume__mark{flex-direction:row;align-items:center;gap:.7rem;padding-top:0}}@media(max-width:480px){.term-cloud{grid-template-columns:1fr}.article-meta>*:not(:last-child)::after{margin:0 .45rem}.ledger-controls__row{flex-direction:column}.ledger-search{flex:none}.ledger-sort{width:100%}.error-code{font-size:96px}}@media(max-width:400px){.brand{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}}@media print{html,body{background:var(--paper);color:var(--print-ink)}.site-header,.site-footer,.article-toc,.post-nav{display:none}.article{display:block;margin:0}.article-content,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content strong,.article-header h1{color:var(--print-ink)}a{color:var(--print-ink);text-decoration:underline}.article-content pre,.article-content code,.codebox,.panel,.panel>.panel__title{background:var(--paper);color:var(--print-ink);box-shadow:none}.article-content pre,.panel{border:1px solid var(--print-ink)}.codebox::before{background:var(--paper);color:var(--print-ink);border:1px solid var(--print-ink);border-bottom:0}.chroma [class]{color:inherit}.article-content th{background:var(--paper);color:var(--print-ink)}.article-content th,.article-content td{border-color:var(--print-ink)}.eyebrow,.article-meta,.article-content figcaption{color:var(--print-ink)}}