:root{--color-background:#fff;--color-text:#000;--color-links:#009;--color-accent:#663;--color-header:#fff;--color-header-text:#000;--color-navigation:none;--color-navigation-text:#666;--color-navigation-active:#888;--color-navigation-hover:#333;--color-footer:#222;--color-footer-text:#ccc;--color-selection-text:#fff;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--space-4xs:clamp(2px, 1.3043px + .2174cqi, 4px);--space-3xs:clamp(5px, 3.9565px + .3261cqi, 8px);--space-2xs:clamp(9px, 6.913px + .6522cqi, 15px);--space-xs:clamp(14px, 10.8696px + .9783cqi, 23px);--space-s:clamp(18px, 13.8261px + 1.3043cqi, 30px);--space-m:clamp(27px, 20.7391px + 1.9565cqi, 45px);--space-l:clamp(54px, 41.4783px + 3.913cqi, 90px);--space-xl:clamp(108px, 82.9565px + 7.8261cqi, 180px);--space-2xl:clamp(162px, 124.435px + 11.7391cqi, 270px);--space-4xs-3xs:clamp(2px, -.087px + .6522cqi, 8px);--space-3xs-2xs:clamp(5px, 1.5217px + 1.087cqi, 15px);--space-2xs-xs:clamp(9px, 4.1304px + 1.5217cqi, 23px);--space-xs-s:clamp(14px, 8.4348px + 1.7391cqi, 30px);--space-s-m:clamp(18px, 8.6087px + 2.9348cqi, 45px);--space-m-l:clamp(27px, 5.087px + 6.8478cqi, 90px);--space-l-xl:clamp(54px, 10.1739px + 13.6957cqi, 180px);--space-xl-2xl:clamp(108px, 51.6522px + 17.6087cqi, 270px)}@font-face{font-family:Charter;font-stretch:100%;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/xcharter_regular-C4tTxGRQ.woff2)format("woff2")}@font-face{font-family:Charter;font-stretch:100%;font-style:italic;font-weight:400;font-display:swap;src:url(/build/assets/xcharter_italic-BgHHjYJj.woff2)format("woff2")}@font-face{font-family:Charter;font-stretch:100%;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/xcharter_bold-0vB5uPVS.woff2)format("woff2")}@font-face{font-family:Charter;font-stretch:100%;font-style:italic;font-weight:700;font-display:swap;src:url(/build/assets/xcharter_bold_italic-DKSYocKN.woff2)format("woff2")}@font-face{font-family:Charter Fallback;src:local(Georgia);size-adjust:103%;ascent-override:92%;descent-override:25%;line-gap-override:0%}@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/assets/InterVariable-DiVDrmQJ.woff2)format("woff2")}@font-face{font-family:InterVariable;font-style:italic;font-weight:100 900;font-display:swap;src:url(/build/assets/InterVariable-Italic-FCBEiFp6.woff2)format("woff2")}@font-face{font-family:InterVariable Fallback;src:local("system-ui"),local(-apple-system),local(Segoe UI),local(Roboto);size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}@font-face{font-family:CommitMonoVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/assets/CommitMonoVariable-ytizKI8U.woff2)format("woff2")}@font-face{font-family:CommitMonoVariable Fallback;src:local("ui-monospace"),local(Menlo),local(Monaco),local(Consolas),local(Courier New);size-adjust:100%;ascent-override:95%;descent-override:25%;line-gap-override:0%}@font-face{font-family:IBM_vga8;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/ibm_vga8-CPxoLRKf.woff2)format("woff2")}@font-face{font-family:IBM_vga8 Fallback;src:local(Courier New),local("monospace");size-adjust:110%}@font-face{font-family:blockzone;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/blockzone-webfont-C7SBosPn.woff2)format("woff2")}@font-face{font-family:blockzone Fallback;src:local(Courier New),local("monospace");size-adjust:105%}:root{--step--4:clamp(.5425rem, .7232rem + -.2007vw, .683rem);--step--3:clamp(.651rem, .78rem + -.1432vw, .7513rem);--step--2:clamp(.7813rem, .8394rem + -.0646vw, .8264rem);--step--1:clamp(.9091rem, .901rem + .0406vw, .9375rem);--step-0:clamp(1rem, .9643rem + .1786vw, 1.125rem);--step-1:clamp(1.1rem, 1.0286rem + .3571vw, 1.35rem);--step-2:clamp(1.21rem, 1.0929rem + .5857vw, 1.62rem);--step-3:clamp(1.331rem, 1.1559rem + .8757vw, 1.944rem);--step-4:clamp(1.4641rem, 1.2159rem + 1.241vw, 2.3328rem);--step-5:clamp(1.6105rem, 1.2708rem + 1.6984vw, 2.7994rem);--step-6:clamp(1.7716rem, 1.3179rem + 2.2681vw, 3.3592rem);--step-7:clamp(1.9487rem, 1.3538rem + 2.9748vw, 4.0311rem);--step-8:clamp(2.1436rem, 1.374rem + 3.8482vw, 4.8373rem);--step-9:clamp(2.3579rem, 1.3731rem + 4.924vw, 5.8048rem);--step-10:clamp(2.5937rem, 1.3446rem + 6.2457vw, 6.9657rem);--step-11:clamp(2.8531rem, 1.2801rem + 7.8653vw, 8.3588rem);--step-12:clamp(3.1384rem, 1.1692rem + 9.846vw, 10.0306rem)}.oldstyle-numerals{font-feature-settings:"onum" 1, "frac" 1, "calt" 0;font-variant-numeric:oldstyle-nums}.lining-numerals{font-feature-settings:"lnum" 1, "frac" 1, "calt" 0;font-variant-numeric:lining-nums}.proportional-numerals{font-feature-settings:"pnum" 1, "frac" 1, "calt" 0;font-variant-numeric:proportional-nums}.tabular-numerals{font-feature-settings:"tnum" 1, "frac" 0, "calt" 0;font-variant-numeric:tabular-nums}h1,.text--alpha{margin:var(--space-s) 0;padding-bottom:var(--space-s);font-size:var(--step-4);letter-spacing:-1.08px;text-wrap:balance;font-style:normal;font-weight:700;line-height:1}h2,.text--beta{margin-top:var(--space-s);margin-bottom:var(--space-2xs);font-size:var(--step-2);font-style:normal;font-weight:900;line-height:1}h3,.text--gamma{margin-top:var(--space-s);margin-bottom:var(--space-3xs);font-size:var(--step-1);font-style:normal;font-weight:400;line-height:1}.text--hero{font-size:var(--step-5);letter-spacing:-1.84px;margin:0;padding:0;font-style:normal;font-weight:400;line-height:1}.text--small{font-size:var(--step--1);font-style:normal;font-weight:400;line-height:1.5}.text--data{font-size:var(--step-0);font-style:normal;font-weight:400;line-height:1.5}.introduction,.text--introduction{margin-bottom:var(--space-l);font-size:var(--step-2);font-style:normal;font-weight:100;line-height:1.5}.introduction p,.text--introduction p{font-size:inherit;line-height:inherit}@view-transition{navigation:auto}html{font-size:var(--step-0);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-background);color:var(--color-text);margin:0;padding:0}::selection{background-color:var(--color-accent);color:var(--color-selection-text)}.visually-hidden{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;padding:var(--space-2xs) var(--space-xs);transition:transform .15s var(--ease-out);background:var(--color-text);clip-path:inset(50%);color:var(--color-background);text-decoration:none;position:absolute;top:0;left:0;transform:translateY(-150%)}.skip-link:focus{clip-path:none;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-property:opacity,color,background-color,border-color,fill,stroke!important;transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}a,button,input,select,textarea,label,summary{touch-action:manipulation}p,ul,li{hanging-punctuation:first last;font-weight:400}p{text-wrap:pretty}p,ul,ol,li,h1,h2,h3,h4{margin:0 0 1.45em;padding:0;font-size:1em;line-height:1.45}@media (width>=768px){p,ul,ol,li,h1,h2,h3,h4{margin:0 0 1.5em;line-height:1.55}}ul ul,ol ol,dl dl{margin-bottom:0}h1{text-wrap:balance;margin:1em 0 1.25em;font-size:1.6em;line-height:1.2}@media (width>=600px){h1{margin:1em 0 .75em;font-size:3em}}h2{text-wrap:balance;margin:1.5em 0 .3em;padding:.3em 0;font-size:1.2em;line-height:1.4}@media (width>=600px){h2{margin:1.8em 0 .6em;font-size:1.5em;line-height:1.2}}h3{letter-spacing:-.005em;text-wrap:balance;margin:1.4em 0 .5em;font-size:1.1em;font-weight:600}h4,h5,h6{color:color-mix(in oklab, var(--color-text) 60%, transparent);margin:1em 0 .5em;font-size:1em}img{max-width:100%;height:auto}article img,.text-content img{outline:1px solid color-mix(in oklab, var(--color-text) 10%, transparent);outline-offset:-1px}ul,ol,dl{margin:0 0 1.5em;line-height:1.5}ul,ol{margin-left:20px}li{margin-bottom:0}dt{color:#395199;font-weight:700}dd{margin:0 0 1em}a{color:var(--color-links);text-underline-position:under;transition:color .15s}a:hover{color:oklab(from var(--color-links) calc(l - .1) a b)}b,strong{font-weight:700}pre{color:#333;background:#eee;margin-bottom:3em;font-size:.75em;line-height:1.6}pre code.hljs{padding:1lh!important}kbd{font-size-adjust:.35;border:1px solid #0003;border-radius:2px;padding:0 5px;line-height:1.2;display:inline-block}abbr[title]{cursor:help;border-bottom:2px dotted #0000004d;text-decoration:none}sup{font-feature-settings:"sups" 1}@supports (font-variant-position:super){sup{font-feature-settings:normal;font-variant-position:super}}@supports (font-variant-position:super) or (font-feature-settings:"sups" 1){sup{font-size:inherit;vertical-align:inherit}}sub{font-feature-settings:"subs" 1}@supports (font-variant-position:sub){sub{font-feature-settings:normal;font-variant-position:sub}}@supports (font-variant-position:sub) or (font-feature-settings:"subs" 1){sub{font-size:inherit;vertical-align:inherit}}table{caption-side:bottom;border-collapse:collapse;margin:1.5em 0}table .number{text-align:right}table .alignment{text-align:"." center}caption{color:#666;padding:.5em 5px 1.5em;font-size:.8em}th{color:#999;text-align:left;font-variant-numeric:lining-nums tabular-nums;padding:1.25em 20px .25em;font-size:.8em}@media (width>=768px){th{font-size:1em}}th:last-child{padding-right:0}tfoot th{text-align:left}td{text-align:left;font-variant-numeric:lining-nums tabular-nums;border:0;padding:.25em 20px;font-size:.8em}tr.no-border td{border:0}@media (width>=768px){td{font-size:1em;line-height:1.3}}@media (width>=1024px){td{font-size:.9em}}td:last-child{padding-right:0}hr{border:0;border-top:1px solid #eee;margin:1em 0}@media (width>=600px){hr{margin:4em 0 3em}}.hr hr{display:none}.hr{border-top:1px solid #ddd;margin:1em 0}@media (width>=600px){.hr{margin:6em 0 1em}}blockquote{color:#3339;margin:2em 0}@media (width>=768px){blockquote{margin:0 0 1em}}blockquote p{quotes:"“" "”" "‘" "’"}blockquote p:before{content:open-quote;margin-left:-.83ch}blockquote p:after{content:close-quote}figure{margin:0}figcaption{color:#ccc;margin:.5em 0 2em;font-size:.8em;font-style:italic}object{outline:none}.small{float:right;margin-right:20px;font-size:11px}.center{text-align:center}picture.right{float:right;margin:0 0 2em 4em}picture.left{float:left;margin:0 2em 4em 0}fieldset{border:1px solid #333;margin:0 0 3em;padding:1em}@media (width>=600px){fieldset{padding:1.5em}}legend{color:#333;padding:0 2px;font-weight:400}label{margin:13px 0 3px;font-size:.85em;font-weight:400;display:block}label.long{margin:15px 0;line-height:.9}input{color:var(--color-text);font-size:16px;font-weight:400}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search]{box-sizing:border-box;appearance:none;border:1px solid #ccc;width:100%;margin:0;padding:7px}@media (width>=768px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search]{max-width:600px}}input[type=search]{border:0;border-bottom:2px solid var(--color-text);border-radius:0;padding:7px 0;font-size:20px}@media (width>=768px){input[type=search]{max-width:88%}}input[type=search]:focus:not([readonly]){box-shadow:none}input[type=number]{text-align:center;width:45px;padding:5px 3px}@media (width>=768px){input[type=number]{width:60px;padding:5px}}input[type=color]{padding:0}input[type=file]{font-size:12px}input[readonly=readonly]{color:#ccc}input[disabled]{color:#333;background:#eee}input:focus:not([readonly]){box-shadow:0 0 5px #ffffff80}input.submit{margin:25px 0 10px}textarea{box-sizing:border-box;border:1px solid #ccc;width:100%;height:100px;padding:5px;font-size:16px}@media (width>=600px){textarea{max-width:600px}}textarea:focus{box-shadow:0 0 5px #ffffff80}select{margin:2px 0 10px}input::placeholder{color:#999;font-size:16px}.video-container{height:0;margin:1em 0;padding-bottom:56.25%;position:relative;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{width:100%;height:100%;position:absolute;top:0;left:0}.poster-circles{display:none}[data-grid-layout=true]{--gutter:10px;--content:min(800px, 100% - var(--gutter) * 4);--layout:minmax(0, 400px);--full:minmax(var(--gutter), 1fr);grid-template-columns:[full-start] var(--full) [layout-start] var(--layout) [content-start] var(--content) [content-end] var(--layout) [layout-end] var(--full) [full-end];display:grid}[data-grid=content]{grid-column:content}[data-grid=layout]{grid-column:layout}[data-grid=full]{grid-column:full}.layout-main{display:contents}#main:focus,#main:focus-visible{outline:none}[data-grid-content=true]{grid-template-columns:repeat(6,1fr);gap:20px;display:grid}@media screen and (width>=1024px){[data-grid-content=true]{grid-template-columns:repeat(12,1fr);gap:30px}[data-selected-theme=sans-serif] [data-grid-content=true]{grid-template-columns:repeat(6,1fr);gap:0 40px}}nav,section,header,footer,article,aside{display:block}body{grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}header{padding:var(--space-s);background:var(--color-header);color:var(--color-header-text);flex-direction:column;display:flex}header :focus-visible{outline-color:var(--color-header-text)}@media (width>=1024px){header{grid-template-columns:1fr auto 1fr;justify-content:space-between;align-items:center;display:grid}}header .heading{font-size:var(--step--2);text-align:center;margin:0;padding:0;font-weight:700;line-height:1.5}@media (width>=1024px){header .heading{text-align:left}}header .heading span{opacity:.8;color:var(--color-text);font-weight:200}header .heading a{opacity:.6;color:var(--color-text);text-decoration:none}header .heading a:hover{opacity:.8;color:inherit}header .tagline{font-size:var(--step--2);text-align:center;margin:0 5%;line-height:1}@media (width>=1024px){header .tagline{text-align:right;margin:0 15px 0 0;padding:.7em 0 1em}}.tag-filter{margin:var(--space-s) 0 var(--space-l) 0;line-height:2.5lh}.switchers{flex-flow:wrap;justify-content:center;gap:1em;display:flex}.theme-switcher{flex-wrap:wrap;justify-content:center;margin:1rem 0;font-size:1rem;display:flex}button[data-theme],button[data-crt-toggle],button[data-poster-toggle],button[data-typography-toggle]{width:2em;height:2em;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), color .16s var(--ease-out), transform .12s var(--ease-out);border:1px solid color-mix(in oklab, var(--color-text) 40%, transparent);color:var(--color-text);cursor:pointer;background:0 0;border-radius:2px;margin:2px 6px;padding:0;font-size:1rem;line-height:1}button[data-theme][aria-pressed=true],button[data-crt-toggle][aria-pressed=true],button[data-poster-toggle][aria-pressed=true],button[data-typography-toggle][aria-pressed=true]{border-color:var(--color-text);background:color-mix(in oklab, var(--color-text) 10%, transparent);color:var(--color-text)}button[data-theme]:hover,button[data-crt-toggle]:hover,button[data-poster-toggle]:hover,button[data-typography-toggle]:hover{background:color-mix(in oklab, var(--color-text) 5%, transparent)}button[data-theme]:active,button[data-crt-toggle]:active,button[data-poster-toggle]:active,button[data-typography-toggle]:active{transform:scale(.95)}button[data-theme=clean]{padding-bottom:2px}button[data-theme=monospace]{font-family:monospace}button[data-theme=serif]{font-family:serif}button[data-theme=sans-serif]{font-family:sans-serif}button[data-theme="8bit"]{font-family:monospace}.crt-switcher{flex-wrap:wrap;justify-content:center;margin:1rem 0;font-size:1rem;display:none}button[data-crt-toggle]{font-family:monospace}.poster-switcher{flex-wrap:wrap;justify-content:center;margin:1rem 0;font-size:1rem;display:none}button[data-poster-toggle]{font-family:sans-serif}.typography-switcher{flex-wrap:wrap;justify-content:center;margin:1rem 0;font-size:1rem;display:none}button[data-typography-toggle]{font-family:serif}.color-switcher{flex-wrap:wrap;justify-content:center;margin:1rem 0;font-size:1rem;display:flex}html.clean-theme-active .color-switcher{display:none}html.clean-theme-active .main-nav li a{font-size:var(--step--2)}html.clean-theme-active footer{--color-footer:#fff;--color-footer-text:#000}button[data-color]{width:2em;height:2em;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), box-shadow .16s var(--ease-out), transform .12s var(--ease-out);border:1px solid color-mix(in oklab, var(--color-text) 40%, transparent);color:var(--color-text);cursor:pointer;background:0 0;border-radius:50%;margin:2px 6px;padding:0}button[data-color][aria-pressed=true]{box-shadow:inset 0 0 0 1px #fff}button[data-color]:hover{box-shadow:0 0 0 3px color-mix(in oklab, var(--color-text) 15%, transparent)}button[data-color][aria-pressed=true]:hover{box-shadow:0 0 0 1px #fff inset, 0 0 0 3px color-mix(in oklab, var(--color-text) 15%, transparent)}button[data-color]:active{transform:scale(.95)}button[data-color=white]{background-color:#fff}button[data-color=white][aria-pressed=true]{background-color:#ccc;box-shadow:inset 0 0 0 1px #fff}button[data-color=color]{background-color:orange}button[data-color=black]{background-color:#222;border-color:#000}button[data-color=black]:hover{box-shadow:inset 0 0 0 1px #fff}.main-nav{background:var(--color-navigation);text-align:center}@media (width>=1024px){.main-nav{height:50px}}.main-nav ul{margin:0;padding:8px 0}.main-nav li{margin:0 4px;padding:0;list-style-type:none;display:inline-block}@media (width>=768px){.main-nav li{margin:0 5px}}@media (width>=1024px){.main-nav li{margin:0 10px 0 0}}.main-nav li.nav-secondary{display:none}@media (width>=768px){.main-nav li.nav-secondary{display:inline-block}}.main-nav li a{transition:color .16s var(--ease-out);color:var(--color-navigation-text);font-size:var(--step--3);padding:10px 12px;font-weight:500;text-decoration:none;display:inline-block}@media (width>=1024px){.main-nav li a{padding:8px 12px}}.main-nav li a:focus-visible{outline:2px solid var(--color-navigation-text);outline-offset:2px;background:0 0;border-radius:3px}.main-nav li a.last,.main-nav li:hover a.last,.main-nav li.active a.last{padding-right:0}.main-nav li.active a{color:var(--color-navigation-active);text-underline-offset:4px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}@media (hover:hover) and (pointer:fine){.main-nav li:hover a{color:var(--color-navigation-hover)}}.introduction{margin:var(--space-l) 0}.home-text img{float:right;width:40%;margin:0 0 0 30px}@media (width>=768px){.home-text img{width:unset}}#archive ul li a{text-decoration:none}#archive ul li a:hover{text-decoration:underline}#archive ul li time{margin:0 0 0 var(--space-3xs);padding:0 var(--space-3xs);font-size:var(--step--3);border:1px solid #000;border-radius:2px;display:inline-block}aside h2,.article h2{letter-spacing:-.005em;margin:1.4em 0 .5em;padding:0;font-size:1.1em;font-weight:600;line-height:1.45}@media (width>=768px){aside h2,.article h2{line-height:1.55}}#prev a,#next a{align-items:center;min-height:24px;display:inline-flex}.books{margin:0 auto}.books-grid{grid-template-rows:auto;grid-template-columns:1fr;display:grid}@media (width>=400px){.books-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=600px){.books-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1200px){.books-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1500px){.books-grid{grid-template-columns:repeat(5,1fr)}}.book .book-image{margin-top:var(--space-m)}.book .information{margin:10px 5px var(--space-m);text-align:center;position:relative}.book .information h3{font-size:var(--step--2);margin:5px 0 0;line-height:1.3}footer{width:100%;margin:var(--space-l) 0 0 0;padding:var(--space-l) 0;clear:both;background:var(--color-footer);color:var(--color-footer-text);font-size:var(--step--2)}footer :focus-visible{outline-color:var(--color-footer-text)}footer p{text-align:center;margin:0 0 1em;padding:0}footer kbd{border-color:oklch(from var(--color-footer-text) l c h/50%);color:var(--color-footer-text)}:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}:is(a,button,input,select,textarea,summary,[role=button],[tabindex="0"]):focus-visible:not([data-color],.person__open){background:var(--color-text);color:var(--color-background)}div.image{clear:right;background:#fff;border:8px solid #fff;line-height:0;position:relative;box-shadow:0 1px 4px #00000045,inset 0 0 40px #0000000f}div.image:after{content:"";z-index:-1;background:0 0;width:40%;height:40%;position:absolute;bottom:10px;right:10px;transform:skew(8deg)rotate(6deg);box-shadow:0 8px 16px #00000080}div.image:before{content:"";z-index:-2;background:0 0;width:40%;height:40%;position:absolute;bottom:10px;left:10px;transform:skew(-8deg)rotate(-6deg);box-shadow:0 8px 16px #00000080}div.image img{margin:0;padding:0}.entry div.image{float:right;margin:0 3em 2em;padding:0}@media (width>=768px){.entry div.image{max-width:45%}}.entry div.image.center{float:none;margin:2em 0 2em -2px;padding:0}.entry div.image.fullwidth{float:none;max-width:75%;margin:2em 0;padding:0}.error-page{text-align:center}.error-page__ways-out{margin-top:var(--space-l)}ul.archive li{text-align:left;font-size:13px;list-style-type:none}.breadcrumbs{text-align:left;margin:5px 0 0;font-size:11px}.breadcrumbs a{color:#333}.breadcrumbs span{color:#999;padding:0 5px}div.highlight:hover p{cursor:pointer;background:#000}.info{background:#fff7b0;margin-bottom:2em;padding:1em 15px}.caption{margin:1em 1em 2em}.table-wrapper{max-width:100%;position:relative;overflow-x:auto}.hide-on-small-screen{display:none}@media (width>=1024px){.hide-on-small-screen{display:block}}.book{clear:both;grid-template-rows:auto auto;grid-template-columns:1fr;align-items:center;display:grid}.book .book-image{width:75%;height:auto;margin:var(--space-s) auto 0 auto;transition:transform .28s var(--ease-out);aspect-ratio:var(--cover-ratio);cursor:pointer;position:relative}.book .book-image .book-cover{z-index:1;transform-origin:0;width:100%;height:100%;transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out);background:#111 0 0/cover;border-radius:3px;position:absolute;box-shadow:inset 4px 1px 3px #ffffff60,inset 0 -1px 2px #00000080}.book .book-image .effect{background-image:linear-gradient(90deg,#fff3 0%,#fff0 100%);border-left:2px solid #00000010;width:20px;height:100%;margin-left:10px}.book .book-image .light{opacity:.1;background-image:linear-gradient(90deg,#fff0 0%,#fff3 100%);border-radius:3px;width:90%;height:100%;transition:width .3s,opacity .3s;position:absolute;top:0;right:0}.book .book-image .book-inside{background:#fff;border:1px solid #999;border-radius:2px;width:calc(100% - 2px);height:96%;position:relative;top:2%;box-shadow:10px 40px 40px -10px #00000030,inset -2px 0 gray,inset -3px 0 #dbdbdb,inset -4px 0 #fff,inset -5px 0 #dbdbdb,inset -6px 0 #fff,inset -7px 0 #dbdbdb,inset -8px 0 #fff,inset -9px 0 #dbdbdb}@media (hover:hover){.book .book-image:hover{transform:rotate(-1deg)}.book .book-image:hover .book-cover{transform-style:preserve-3d;transform:perspective(2000px)rotateY(-30deg);box-shadow:inset 4px 1px 3px #ffffff60,inset 0 -1px 2px #00000080,10px 0 10px -5px #00000030}.book .book-image:hover .effect{width:40px}.book .book-image:hover .light{opacity:1;width:70%}}.book .information{text-align:center;min-height:100px;margin:10px 5px;position:relative}.book .information h3{color:inherit;font-size:var(--step--2);text-wrap:balance;margin:5px 0 0;line-height:1.2}.book .information h3 em{font-style:normal}.book .information .author{letter-spacing:1px;text-transform:uppercase;margin:10px 0 0;font-size:12px;font-weight:400;display:block}.book .information .book-year:before{content:" ("}.book .information .book-year:after{content:")"}.book .information small{margin:5px 0 1em;font-size:12px;display:block}.book .book-trigger{width:100%;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:none;padding:10px 0;font-weight:700;transition:transform .15s cubic-bezier(.23,1,.32,1);display:block}.book .book-trigger:active{transform:scale(.97)}.book:nth-of-type(n+1) .book-image{rotate:1deg}.book:nth-of-type(3n+1) .book-image{rotate:-1deg}.book:nth-of-type(6n+2) .book-image{rotate:-4deg}.book:has(.book-trigger:focus-visible) .book-cover{transform-style:preserve-3d;transform:perspective(2000px)rotateY(-25deg);box-shadow:inset 4px 1px 3px #ffffff60,inset 0 -1px 2px #00000080,10px 0 10px -5px #00000030}.book:has(.book-trigger:focus-visible) h3{text-decoration:underline}.book-dialog{width:90vw;height:85dvh;max-height:85dvh;transition:opacity .3s cubic-bezier(.23, 1, .32, 1), transform .3s cubic-bezier(.23, 1, .32, 1), overlay .3s cubic-bezier(.23, 1, .32, 1) allow-discrete, display .3s cubic-bezier(.23, 1, .32, 1) allow-discrete;background:var(--color-background);color:var(--color-text);border:1px solid #ffffff0d;border-radius:12px;padding:0;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d}@media (width>=768px){.book-dialog{aspect-ratio:4/3;width:min(106.667dvh,90vw);height:auto;max-height:min(67.5vw,80dvh)}}@starting-style{.book-dialog{opacity:0;transform:scale(.95)translateY(10px)}}.book-dialog:not([open]){opacity:0;transform:scale(.97)translateY(5px)}.book-dialog::backdrop{transition:opacity .3s cubic-bezier(.23, 1, .32, 1), overlay .3s cubic-bezier(.23, 1, .32, 1) allow-discrete, display .3s cubic-bezier(.23, 1, .32, 1) allow-discrete;background:#000c}@starting-style{.book-dialog::backdrop{opacity:0}}.book-dialog:not([open])::backdrop{opacity:0}.book-dialog__content h2{margin-top:0}.book-dialog__close{z-index:1;top:var(--space-3xs);width:36px;height:36px;margin:var(--space-3xs) var(--space-3xs) 0 0;float:right;background:color-mix(in oklab, var(--color-text) 5%, transparent);color:inherit;font-size:var(--step-1);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;line-height:1;transition:background-color .15s,transform .15s;display:flex;position:sticky}.book-dialog__close:hover{background:color-mix(in oklab, var(--color-text) 12%, transparent)}.book-dialog__close:active{transform:scale(.95)}@media (width>=768px){.book-dialog__close{top:var(--space-xs);margin:var(--space-xs) var(--space-xs) 0 0}}.book-dialog__inner{gap:var(--space-l);padding:var(--space-m);grid-template-rows:auto 1fr;grid-template-columns:1fr;display:grid}@media (width>=500px){.book-dialog__inner{grid-template-columns:150px 1fr}}.book-dialog__cover{animation:.4s cubic-bezier(.23,1,.32,1) 50ms both book-dialog-enter}.book-dialog__content{animation:.4s cubic-bezier(.23,1,.32,1) .12s both book-dialog-enter}.book-dialog__cover img{width:50%;height:auto}@media (width>=768px){.book-dialog__cover img{width:100%}}.book-dialog__subtitle{opacity:.7;font-style:italic}.book-dialog__meta{font-size:var(--step--1);letter-spacing:1px;text-transform:uppercase}.book-dialog a{color:var(--color-links)}@keyframes book-dialog-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.book-dialog,.book-dialog::backdrop{transition:none}.book-dialog__cover,.book-dialog__content{animation:none}}input[type=submit],input[type=reset],.button{--button-color-text:var(--color-text);--button-color-border:var(--color-text);--button-color-background:color-mix(in oklab, var(--color-text) 20%, transparent);min-height:24px;transition:background-color .16s var(--ease-out), color .16s var(--ease-out), border-color .16s var(--ease-out), transform .12s var(--ease-out);border:2px solid var(--button-color-border);color:var(--button-color-text);font-family:inherit;font-size:var(--step--1);white-space:nowrap;cursor:pointer;appearance:none;background:0 0;border-radius:6px;padding:6px 18px;font-weight:400;line-height:1.5;text-decoration:none}input[type=submit]:hover,input[type=reset]:hover,.button:hover{border:2px solid var(--button-color-border);background-color:oklab(from var(--button-color-background) calc(l - .1) a b/calc(alpha * .9));color:var(--button-color-text)}input[type=submit]:active,input[type=reset]:active,.button:active{border:2px solid var(--button-color-border);background-color:var(--button-color-background);color:var(--button-color-text);transform:scale(.97)}input[type=submit]:focus-visible,input[type=reset]:focus-visible,.button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}input[type=submit].disabled,input[type=submit].disabled:hover,input[type=reset].disabled,input[type=reset].disabled:hover,.button.disabled,.button.disabled:hover{border-color:color-mix(in oklab, var(--color-text) 15%, transparent);background:color-mix(in oklab, var(--color-text) 10%, transparent);color:color-mix(in oklab, var(--color-text) 40%, transparent)}input[type=submit].disabled .icon,input[type=submit].disabled:hover .icon,input[type=reset].disabled .icon,input[type=reset].disabled:hover .icon,.button.disabled .icon,.button.disabled:hover .icon{opacity:.5}input[type=submit] .icon,input[type=reset] .icon,.button .icon{float:left;background-size:100%;width:24px;height:24px;margin:-2px 7px 0 -4px;display:inline-block}a.button{display:inline-block}.button.--pill{--button-color-text:var(--color-text);--button-color-border:transparent;--button-color-background:color-mix(in oklab, var(--color-text) 12%, transparent);background-color:var(--button-color-background);border:none;border-radius:8px}.button.--pill:hover{background-color:color-mix(in oklab, var(--color-text) 25%, transparent);color:var(--button-color-text)}.button.--pill.is-active{background:var(--color-text);color:var(--color-background)}.home-list{--home-list-rule:color-mix(in oklab, var(--color-text) 22%, transparent);clear:both;margin:2.5em 0}.home-list__label{border-bottom:1px solid var(--home-list-rule);color:color-mix(in oklab, var(--color-text) 70%, transparent);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .75em;padding-bottom:.4em;font-size:.8em}.home-list__items{margin:0;padding:0;list-style:none}.home-list__item{border-bottom:1px solid var(--home-list-rule);grid-template-columns:1fr auto;align-items:baseline;gap:0 .75em;padding:.5em 0;line-height:1.35;display:grid}.home-list__link{font-weight:600}.home-list__meta{color:color-mix(in oklab, var(--color-text) 65%, transparent);text-align:right;white-space:nowrap;font-size:.8em}.home-list__more{margin:.75em 0 0;font-size:.85em}.home-books{grid-template-columns:repeat(3,1fr);gap:1.5em;margin:0;padding:0;list-style:none;display:grid}.home-books__item{display:block}.home-books__link{text-decoration:none;display:block}.home-books__frame{width:max-content;max-width:100%;margin:0 0 .7em;display:block;position:relative}.home-books__board{display:contents}.home-books__spine,.home-books__sheen,.home-books__pages,.home-books__year{display:none}.home-text .home-books__cover{float:none;outline:1px solid color-mix(in oklab, var(--color-text) 12%, transparent);outline-offset:-1px;-o-object-fit:contain;object-fit:contain;-o-object-position:left bottom;object-position:left bottom;width:auto;max-width:100%;height:140px;margin:0;display:block}.home-books__title{text-wrap:balance;font-size:.85em;font-weight:600;line-height:1.3;display:block}.home-books .home-list__meta{text-align:left;white-space:normal;display:block}@media (width<500px){.home-list__item{grid-template-columns:1fr}.home-list__meta{text-align:left;white-space:normal}.home-books{gap:1em}.home-text .home-books__cover{height:110px}}@media print{.home-list{display:none}}.module-image{padding:30px cp(14, 767)}@media (width>=768px){.module-image{padding:30px 0}}.module-image .section-content{padding:0}.image-left{float:left;width:50%;margin:0 20px 0 0}.image-right{float:right;width:50%;margin:0 0 0 20px}.line-text-hover-effect{--color-bg-effect:#eee;--blendmode-effect:difference;--bg-blur:0px;--font-size-list-item:18px;color:var(--color-link);white-space:nowrap;cursor:pointer;font-kerning:none;text-decoration:none;position:relative}.line-text-hover-effect:hover{color:var(--color-link-hover);text-decoration:none}.line-text-hover-effect .word{white-space:nowrap;pointer-events:none}.line-text-hover-effect .char{pointer-events:none;position:relative}.line-text-hover-effect--cursor-square .char{--opa:0}.line-text-hover-effect--cursor-square .char:after{content:"";width:1ch;height:100%;opacity:var(--opa);background:#0000001a;position:absolute;top:0;left:0}.line-text-hover-effect--bg,.line-text-hover-effect--bg-south{--anim:0}.line-text-hover-effect--bg:after,.line-text-hover-effect--bg-south:after{content:"";width:100%;height:calc(100% + 3px);transform:scaleX(var(--anim));transform-origin:0%;background-color:var(--color-bg-effect);mix-blend-mode:var(--blendmode-effect);-webkit-backdrop-filter:blur(var(--bg-blur));backdrop-filter:blur(var(--bg-blur));position:absolute;top:0;left:0}.line-text-hover-effect--bg-south:after{z-index:-1;width:auto;height:auto;transform:scaleY(var(--anim));transform-origin:50% 100%;border-radius:2px;inset:-8px}.dos-filter-label,.dos-dir-header,.dos-statusline,.person__idx,.person__domain{display:none}.dos-people-body{display:contents}.people-list{padding:0;list-style-type:none;margin:3em 0 0!important}.people-list>li{transition:box-shadow .2s var(--ease-out), background-color .2s var(--ease-out), transform .12s var(--ease-out);box-shadow:0 0 0 1px color-mix(in oklab, var(--color-text) 8%, transparent), 0 1px 2px color-mix(in oklab, var(--color-text) 4%, transparent);cursor:pointer;border-radius:10px;margin-bottom:1.5em;padding:30px 40px;position:relative}@media (hover:hover) and (pointer:fine){.people-list>li:hover{background:color-mix(in oklab, var(--color-text) 3%, transparent);box-shadow:0 0 0 1px color-mix(in oklab, var(--color-text) 14%, transparent), 0 6px 16px color-mix(in oklab, var(--color-text) 8%, transparent)}}.people-list>li:active{transform:scale(.99)}.people-list>li:has(:focus-visible){box-shadow:0 0 0 2px var(--color-text), 0 6px 16px color-mix(in oklab, var(--color-text) 8%, transparent)}.people-list .person__open{z-index:0;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.people-list .person__open:focus-visible{background:0 0;outline:none}.people-list .person__name,.people-list .person__bio,.people-list .person__comment,.people-list .person__socials,.people-list .person__domain{z-index:1;position:relative}.people-list .person__name{letter-spacing:-.005em;margin:0 0 1em;padding:0;font-size:1.1em;font-weight:600;line-height:1.45}@media (width>=768px){.people-list .person__name{line-height:1.55}}.people-list .person__tags{margin:0 0 0 10px;padding:0;font-family:monospace;list-style-type:none}.people-list .person__tags .person__tag{border:1px solid color-mix(in oklab, var(--color-text) 14%, transparent);background:color-mix(in oklab, var(--color-text) 6%, transparent);color:color-mix(in oklab, var(--color-text) 65%, transparent);vertical-align:middle;border-radius:3px;margin:0;padding:1px 5px;font-size:.55em;font-weight:400}.people-list .person__bio p,.people-list .person__comments p{margin:0;padding:0 0 .5em}.people-list .person__socials{color:color-mix(in oklab, var(--color-text) 55%, transparent);flex-wrap:wrap;align-items:center;gap:.7em;margin:.85em 0 0;padding:0;display:flex}.people-list .person__socials li{box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0;transition:none;display:inline-flex}.people-list .person__socials li:hover{box-shadow:none;background:0 0}.people-list .person__socials li a{min-width:24px;min-height:24px;transition:color .16s var(--ease-out);color:inherit;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.people-list .person__socials li a:hover{color:var(--color-text)}}.people-list .person__socials li a:focus-visible{outline:2px solid var(--color-text);outline-offset:3px;border-radius:2px}.people-list .person__socials .person__social-icon{width:18px;height:18px;display:block}.person-dialog{transform-origin:50%;width:min(1000px,95vw);max-width:none;max-height:90dvh;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out), overlay .22s var(--ease-out) allow-discrete, display .22s var(--ease-out) allow-discrete;opacity:1;background:var(--color-background);color:var(--color-text);border:1px solid #ffffff0d;border-radius:12px;padding:0;overflow-y:auto;transform:scale(1);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d}.person-dialog:not([open]){opacity:0;transform:scale(.96)}@starting-style{.person-dialog[open]{opacity:0;transform:scale(.96)}}.person-dialog::backdrop{transition:background-color .22s var(--ease-out), backdrop-filter .22s var(--ease-out), display .22s var(--ease-out) allow-discrete;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c}.person-dialog:not([open])::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0}@starting-style{.person-dialog[open]::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0}}.person-dialog__close{z-index:1;float:right;background:color-mix(in oklab, var(--color-text) 8%, transparent);width:36px;height:36px;color:inherit;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;margin:12px 12px 0 0;font-size:1.25rem;line-height:1;display:flex;position:sticky;top:12px}.person-dialog__close:hover{background:color-mix(in oklab, var(--color-text) 15%, transparent)}.person-dialog__inner{gap:1.5rem;padding:1.5rem;display:grid}.person-dialog__screenshots{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width>=700px){.person-dialog__screenshots{grid-template-columns:minmax(0,.5625fr) minmax(0,1.90476fr)}}.person-dialog__screenshot{background:color-mix(in oklab, var(--color-text) 4%, transparent);border-radius:6px;width:100%;height:auto;display:block}.person-dialog__screenshot--mobile{aspect-ratio:9/16;-o-object-fit:cover;object-fit:cover}.person-dialog__screenshot--og{aspect-ratio:1200/630;-o-object-fit:cover;object-fit:cover}.person-dialog__content h2{justify-content:flex-start;align-items:center;display:flex;margin:1em 0 .5em!important}.person-dialog__content .person__tags{flex-wrap:wrap;gap:4px;margin:0 0 0 10px;padding:0;list-style:none;display:inline-flex}.person-dialog__content .person__tags .person__tag{border:1px solid color-mix(in oklab, var(--color-text) 15%, transparent);background:color-mix(in oklab, var(--color-text) 6%, transparent);color:color-mix(in oklab, var(--color-text) 75%, transparent);border-radius:4px;padding:4px 8px;font-size:.7em;font-weight:400}.person-dialog__bio blockquote{margin:0}.person-dialog a{color:var(--color-links)}[data-selected-theme=serif] .person-dialog{--color-background:#fff}[data-selected-theme="8bit"] .people-list ::marker{font-size:0}[data-selected-theme="8bit"] .person__bio blockquote{margin:2em 0 1em}.modal-dim{z-index:10;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;transition:opacity .26s;position:fixed;inset:0}.modal-dim.is-active{opacity:1}.person-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;transition:none}.person-dialog.is-morphing{transition:none}.terminal-treats-banner{border:1px solid color-mix(in oklab, var(--color-background) 45%, transparent);background:var(--color-text);color:var(--color-background);border-radius:4px;margin:0 0 2em;padding:20px}.terminal-treats-banner p{text-transform:uppercase;margin:0;padding:0;font-family:monospace;font-size:12px}.inline-tag{background:var(--color-text);color:var(--color-background);font-family:CommitMonoVariable,monospace;font-size:var(--step--3);text-transform:uppercase;border-radius:2px;margin:0 10px;padding:3px 10px;font-style:normal;font-weight:400;line-height:1}[data-selected-color=white] pre code.hljs{padding:1em;display:block;overflow-x:auto}[data-selected-color=white] code.hljs{padding:3px 5px}[data-selected-color=white] .hljs{color:#000;background:#fff}[data-selected-color=white] .hljs-string,[data-selected-color=white] .hljs-variable,[data-selected-color=white] .hljs-template-variable,[data-selected-color=white] .hljs-symbol,[data-selected-color=white] .hljs-bullet,[data-selected-color=white] .hljs-section,[data-selected-color=white] .hljs-addition,[data-selected-color=white] .hljs-attribute,[data-selected-color=white] .hljs-link{color:#888}[data-selected-color=white] .hljs-comment,[data-selected-color=white] .hljs-quote,[data-selected-color=white] .hljs-meta,[data-selected-color=white] .hljs-deletion{color:#ccc}[data-selected-color=white] .hljs-keyword,[data-selected-color=white] .hljs-selector-tag,[data-selected-color=white] .hljs-section,[data-selected-color=white] .hljs-name,[data-selected-color=white] .hljs-type,[data-selected-color=white] .hljs-strong{font-weight:700}[data-selected-color=white] .hljs-emphasis{font-style:italic}[data-selected-color=white] pre code.hljs{background:#f5f5f5}[data-selected-color=white]{--color-background:#eee;--color-text:#222;--color-links:#724e91;--color-accent:#f90;--color-header:none;--color-header-text:#000;--color-navigation:#eee;--color-navigation-text:#451f55;--color-navigation-active:#724e91;--color-navigation-hover:#e54f6d;--color-footer:#ccc;--color-footer-text:#333}[data-selected-color=color] pre code.hljs{padding:1em;display:block;overflow-x:auto}[data-selected-color=color] code.hljs{padding:3px 5px}[data-selected-color=color] .hljs{color:#a7a7a7;background:#1e1e1e}[data-selected-color=color] .hljs::-moz-selection{color:#a7a7a7;background-color:#464b50}[data-selected-color=color] .hljs ::-moz-selection{color:#a7a7a7;background-color:#464b50}[data-selected-color=color] .hljs::selection{color:#a7a7a7;background-color:#464b50}[data-selected-color=color] .hljs ::selection{color:#a7a7a7;background-color:#464b50}[data-selected-color=color] .hljs-comment{color:#5f5a60}[data-selected-color=color] .hljs-tag{color:#838184}[data-selected-color=color] .hljs-subst,[data-selected-color=color] .hljs-punctuation,[data-selected-color=color] .hljs-operator{color:#a7a7a7}[data-selected-color=color] .hljs-operator{opacity:.7}[data-selected-color=color] .hljs-bullet,[data-selected-color=color] .hljs-variable,[data-selected-color=color] .hljs-template-variable,[data-selected-color=color] .hljs-selector-tag,[data-selected-color=color] .hljs-name,[data-selected-color=color] .hljs-deletion{color:#cf6a4c}[data-selected-color=color] .hljs-symbol,[data-selected-color=color] .hljs-number,[data-selected-color=color] .hljs-link,[data-selected-color=color] .hljs-attr,[data-selected-color=color] .hljs-variable.constant_,[data-selected-color=color] .hljs-literal{color:#cda869}[data-selected-color=color] .hljs-title,[data-selected-color=color] .hljs-class .hljs-title,[data-selected-color=color] .hljs-title.class_{color:#f9ee98}[data-selected-color=color] .hljs-strong{color:#f9ee98;font-weight:700}[data-selected-color=color] .hljs-code,[data-selected-color=color] .hljs-addition,[data-selected-color=color] .hljs-title.class_.inherited__,[data-selected-color=color] .hljs-string{color:#8f9d6a}[data-selected-color=color] .hljs-built_in,[data-selected-color=color] .hljs-doctag,[data-selected-color=color] .hljs-quote,[data-selected-color=color] .hljs-keyword.hljs-atrule,[data-selected-color=color] .hljs-regexp{color:#afc4db}[data-selected-color=color] .hljs-function .hljs-title,[data-selected-color=color] .hljs-attribute,[data-selected-color=color] .ruby .hljs-property,[data-selected-color=color] .hljs-title.function_,[data-selected-color=color] .hljs-section{color:#7587a6}[data-selected-color=color] .hljs-type,[data-selected-color=color] .hljs-template-tag,[data-selected-color=color] .diff .hljs-meta,[data-selected-color=color] .hljs-keyword{color:#9b859d}[data-selected-color=color] .hljs-emphasis{color:#9b859d;font-style:italic}[data-selected-color=color] .hljs-meta,[data-selected-color=color] .hljs-meta .hljs-keyword,[data-selected-color=color] .hljs-meta .hljs-string{color:#9b703f}[data-selected-color=color] .hljs-meta .hljs-keyword,[data-selected-color=color] .hljs-meta-keyword{font-weight:700}[data-selected-color=color]{--color-background:#f8c630;--color-text:#22162b;--color-links:#724e91;--color-accent:#f90;--color-header:none;--color-header-text:#000;--color-navigation:none;--color-navigation-text:#451f55;--color-navigation-active:#724e91;--color-navigation-hover:#e54f6d;--color-footer:#22162b;--color-footer-text:#f8c630}[data-selected-color=black]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#000;--color-text:#fff;--color-accent:#ddd;--color-links:#9f9;--color-header:#000;--color-header-text:#fff;--color-navigation:none;--color-navigation-text:#fff;--color-navigation-active:#ccc;--color-navigation-hover:#aaa;--color-footer:#111;--color-footer-text:#999}[data-selected-color=black] button[data-theme]{color:#fff;background:0 0;border:1px solid #fff3}[data-selected-color=black] button[data-theme][aria-pressed=true]{color:#fff;background:#ffffff26;border-color:#fff9}[data-selected-color=black] button[data-theme]:is(:hover,:focus){background:#ffffff1a}[data-selected-color=black] blockquote{color:#999}.design-overview__body{margin:0 0 3em}@media (width>=768px){[data-selected-theme=sans-serif] .design-overview article{align-items:start;row-gap:0}[data-selected-theme=sans-serif] .design-overview article>h1{grid-area:1/1/auto/span 2;margin:0}[data-selected-theme=sans-serif] .design-overview article>.design-overview__body{grid-area:1/4/auto/span 3;margin:0}}.style-guide{padding-top:2em;border-top:1px solid color-mix(in oklab, currentcolor 15%, transparent);font-feature-settings:normal;margin:4em 0 2em;padding-inline:clamp(1rem,3vw,3rem)}.style-guide h2{margin:0 0 .25em}.style-guide__intro{opacity:.75;max-width:60ch;margin:0 0 2em}.style-guide__theme+.style-guide__theme{margin-top:3.5em}.style-guide__theme-head{margin:0 0 1.25em}.style-guide__theme-head .style-guide__theme-name{font-family:var(--sample-font,inherit)!important;letter-spacing:normal!important;text-shadow:none!important;text-transform:none!important;margin:0 0 .2em!important;font-size:clamp(1.75rem,3vw,2.5rem)!important;font-weight:700!important;line-height:1.1!important}.style-guide__theme-head .style-guide__theme-name:before,.style-guide__theme-head .style-guide__theme-name:after{content:none!important}.style-guide__theme-head .style-guide__theme-desc{opacity:.65;max-width:60ch;margin:0!important;font-size:1rem!important;font-weight:400!important;line-height:1.55!important}.style-guide__boxes{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));align-items:start;gap:1rem;display:grid}.style-guide__box{background:var(--color-background);min-height:0;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--color-text) 12%, transparent);color:var(--color-text);border-radius:8px;padding:clamp(1.25rem,2vw,1.75rem);display:block;overflow:visible}.style-guide__box h2,.style-guide__box h3{letter-spacing:normal;text-transform:none;color:var(--color-text)!important;text-shadow:none!important}.style-guide__box h2:before,.style-guide__box h2:after,.style-guide__box h3:before,.style-guide__box h3:after{content:none}.style-guide__box a{color:var(--color-links)}.style-guide__box,.style-guide__box *{font-family:var(--sample-font,inherit)!important}.style-guide__box .style-guide__box-color{opacity:.5;letter-spacing:.04em;text-transform:uppercase;margin:0 0 1.5em!important;font-size:.8125rem!important;font-weight:600!important;line-height:1.2!important}.style-guide__box .style-guide__box-display{margin:0 0 .5em!important;font-size:clamp(1.125rem,1vw + .75rem,1.5rem)!important;font-weight:600!important;line-height:1.3!important}.style-guide__box .style-guide__box-body{max-width:60ch;margin:0!important;font-size:1.0625rem!important;font-weight:400!important;line-height:1.55!important}.style-guide__link-sample{color:var(--color-links);text-underline-position:under;text-decoration:underline}.style-guide__box[data-selected-theme=monospace] .style-guide__box-display,.style-guide__box[data-selected-theme=monospace] .style-guide__box-body,.style-guide__box[data-selected-theme="8bit"] .style-guide__box-display,.style-guide__box[data-selected-theme="8bit"] .style-guide__box-body,.style-guide__box[data-selected-theme="8bit"] *{font-size:1rem!important}.style-guide__box[data-selected-theme="8bit"] strong,.style-guide__box[data-selected-theme="8bit"] b{font-weight:400!important}.style-guide__box[data-selected-theme="8bit"] em,.style-guide__box[data-selected-theme="8bit"] i{background:color-mix(in oklab, var(--color-text) 15%, transparent);padding:0 .25em;font-style:normal!important}.style-guide__states{border-top:1px solid color-mix(in oklab, var(--color-text) 12%, transparent);margin-top:2em;padding-top:1.5em}.style-guide__state-group+.style-guide__state-group{margin-top:1.25em}.style-guide__state-label{opacity:.55;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .6em!important;font-size:.8125rem!important;font-weight:600!important;line-height:1.2!important}.sg-state-nav,.sg-state-filter{flex-wrap:wrap;align-items:baseline;gap:.4em .9em;display:flex}.sg-state-link,.sg-state-pill{cursor:default;font-size:.95rem;line-height:1.4}.sg-state-link{padding:4px 8px;font-weight:500;text-decoration:none}.sg-state-pill{background:0 0;border:0;padding:0 .2em}.sg-state-label{display:none}.sg-state-link--default{color:var(--color-navigation-text)}.sg-state-link--hover{color:var(--color-navigation-hover)}.sg-state-link--active{color:var(--color-navigation-active);text-underline-offset:4px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}.sg-state-link--focus{outline:2px solid var(--color-accent);outline-offset:2px;color:var(--color-navigation-text);border-radius:3px}.style-guide__box[data-selected-theme=serif] .sg-state-pill{--marker:color-mix(in oklab, var(--color-links) 48%, transparent);--marker-hover:color-mix(in oklab, var(--color-links) 20%, transparent);color:color-mix(in oklab, var(--color-text) 50%, transparent);background-position:0 64%;background-repeat:no-repeat}.style-guide__box[data-selected-theme=serif] .sg-state-pill--default,.style-guide__box[data-selected-theme=serif] .sg-state-pill--hover{background-image:linear-gradient(100deg, transparent 2%, var(--marker-hover) 4%, var(--marker-hover) 95%, transparent 98%)}.style-guide__box[data-selected-theme=serif] .sg-state-pill--default{background-size:0% 66%}.style-guide__box[data-selected-theme=serif] .sg-state-pill--hover{color:color-mix(in oklab, var(--color-text) 80%, transparent);background-size:100% 66%}.style-guide__box[data-selected-theme=serif] .sg-state-pill--active{background-image:linear-gradient(100deg, transparent 2%, var(--marker) 4%, var(--marker) 95%, transparent 98%);color:var(--color-text);background-size:100% 66%}.style-guide__box[data-selected-theme=serif] .sg-state-pill--focus{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:3px}.style-guide__box[data-selected-theme=serif][data-selected-color=color]{--color-text:#ece6f3;--color-navigation-text:#f8c630b8;--color-navigation-hover:#fff;--color-navigation-active:#fe0;color:#ece6f3;background-color:#463f50;background-image:linear-gradient(#22162b99,#341a44ad)}.style-guide__box[data-selected-theme=serif][data-selected-color=color] .sg-state-link--focus,.style-guide__box[data-selected-theme=serif][data-selected-color=color] .sg-state-pill--focus{outline-color:#b39ddb}.style-guide__box[data-selected-theme=serif][data-selected-color=color] .sg-card{background:#ffffff12;border-radius:4px;padding:.7em .9em;box-shadow:inset 0 0 0 1px #ffffff1f,0 10px 26px #0000004d}.style-guide__box[data-selected-theme=serif][data-selected-color=color] .sg-card__title{color:#ece6f3}.style-guide__box[data-selected-theme=serif][data-selected-color=color] .sg-card__year{opacity:1;color:oklab(93.3398% .0110378 -.014832/.65)}.style-guide__box[data-selected-theme=sans-serif] .sg-state-pill{border:1px solid var(--color-text);color:var(--color-text);background:0 0;border-radius:4px;padding:6px 12px}.style-guide__box[data-selected-theme=sans-serif] .sg-state-pill--hover{background:color-mix(in oklab, var(--color-text) 6%, transparent)}.style-guide__box[data-selected-theme=sans-serif] .sg-state-pill--active{background:var(--color-text);color:var(--color-background)}.style-guide__box[data-selected-theme=sans-serif] .sg-state-pill--focus{outline:2px solid var(--color-accent);outline-offset:2px}.style-guide__box[data-selected-theme=monospace] .sg-state-link{text-transform:uppercase}.style-guide__box[data-selected-theme=monospace] .sg-state-pill{color:color-mix(in oklab, var(--color-text) 30%, transparent)}.style-guide__box[data-selected-theme=monospace] .sg-state-pill--active{color:color-mix(in oklab, var(--color-text) 80%, transparent);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}.style-guide__box[data-selected-theme=monospace] .sg-state-link--focus,.style-guide__box[data-selected-theme=monospace] .sg-state-pill--focus{outline-offset:0;background:var(--color-text);color:var(--color-background);border-radius:0;outline:2px solid #0000}.style-guide__box[data-selected-theme="8bit"] .sg-state-link{padding:0 1ch}.style-guide__box[data-selected-theme="8bit"] .sg-state-link--default{color:var(--color-navigation-text);background:0 0}.style-guide__box[data-selected-theme="8bit"] .sg-state-link--hover{background:var(--color-navigation-hover);color:var(--color-navigation-text)}.style-guide__box[data-selected-theme="8bit"] .sg-state-link--active{background:var(--color-text);color:var(--color-background);font-weight:400;text-decoration:none}.style-guide__box[data-selected-theme="8bit"] .sg-state-link--focus{background:var(--color-navigation-text);color:var(--color-navigation-hover);border-radius:0;outline:none}.style-guide__box[data-selected-theme="8bit"] .sg-state-label{color:var(--dos-accent);margin-right:1ch;font-weight:700;display:inline}.style-guide__box[data-selected-theme="8bit"] .sg-state-pill{color:#fff;background:#000;border-radius:0;padding:0 1ch}.style-guide__box[data-selected-theme="8bit"] .sg-state-pill--hover,.style-guide__box[data-selected-theme="8bit"] .sg-state-pill--active{background:var(--color-text);color:var(--color-background)}.style-guide__box[data-selected-theme="8bit"] .sg-state-pill--focus{outline-offset:0;background:var(--color-navigation-text);color:var(--color-navigation-hover);outline:2px solid #0000}.style-guide__box[data-selected-theme="8bit"][data-selected-color=white] .sg-state-pill--default{color:#000;background:#aaa}.style-guide__box[data-selected-theme="8bit"][data-selected-color=white] .sg-state-pill--hover{color:#000;background:#ff5}.style-guide__box[data-selected-theme="8bit"][data-selected-color=color] .sg-state-pill--hover{color:#ff5;background:#000}.style-guide__box[data-selected-theme="8bit"][data-selected-color=black] .sg-state-pill--hover{color:#333;background:#5f5}.sg-card{margin-top:.4em}.sg-card__title{color:var(--color-links);text-underline-offset:2px;cursor:default;text-decoration:underline}.sg-card__year{opacity:.6;margin-top:.3em;font-size:.85rem;display:block}.style-guide__box[data-selected-theme=serif] .sg-card__title{text-decoration:none}.style-guide__box[data-selected-theme=serif] .sg-card:hover .sg-card__title{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.style-guide__box[data-selected-theme=sans-serif] .sg-card{border-top:1px dotted var(--color-navigation-hover);padding-top:.6em}.style-guide__box[data-selected-theme=sans-serif] .sg-card__title{font-weight:700;text-decoration:none}.style-guide__box[data-selected-theme=sans-serif] .sg-card:hover .sg-card__title{text-underline-offset:.18em;text-decoration:underline}.style-guide__box[data-selected-theme=monospace] .sg-card:hover .sg-card__title{background:var(--color-text);color:var(--color-background);text-decoration:none}.style-guide__box[data-selected-theme="8bit"] .sg-card{border:2px solid var(--color-text);box-shadow:4px 4px 0 var(--color-text);margin-top:.6em;padding:.5em .7em}.style-guide__box[data-selected-theme="8bit"] .sg-card__title{background:color-mix(in oklab, var(--color-text) 12%, transparent)}.style-guide__box[data-selected-theme="8bit"] .sg-card__year{opacity:1;color:color-mix(in oklab, var(--color-text) 65%, transparent)}.style-guide__box[data-selected-theme="8bit"] .sg-card:hover .sg-card__title{color:#000;background:#ff5}.style-guide__box[data-selected-theme="8bit"][data-selected-color=black] .sg-card:hover .sg-card__title{color:#333;background:#5f5}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}::view-transition-old(slide){animation:.18s cubic-bezier(.23,1,.32,1) both fade-out}::view-transition-new(slide){animation:.22s cubic-bezier(.23,1,.32,1) both fade-in}::view-transition-old(root){animation-duration:.25s}::view-transition-new(root){animation-duration:.25s}.sample-transition{view-transition-name:slide}#ascii{color:#333;background:#111;width:80vw;height:80vh;margin:0;padding:0;font-family:Simple Console,monospace;font-size:1em;line-height:1.2;position:absolute;top:10vh;left:10vw}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c7ccd1;background:#1c2023}.hljs::-moz-selection{color:#c7ccd1;background-color:#565e65}.hljs ::-moz-selection{color:#c7ccd1;background-color:#565e65}.hljs::selection{color:#c7ccd1;background-color:#565e65}.hljs ::selection{color:#c7ccd1;background-color:#565e65}.hljs-comment{color:#747c84}.hljs-tag{color:#adb3ba}.hljs-subst,.hljs-punctuation,.hljs-operator{color:#c7ccd1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-variable,.hljs-template-variable,.hljs-selector-tag,.hljs-name,.hljs-deletion{color:#c7ae95}.hljs-symbol,.hljs-number,.hljs-link,.hljs-attr,.hljs-variable.constant_,.hljs-literal{color:#c7c795}.hljs-title,.hljs-class .hljs-title,.hljs-title.class_{color:#aec795}.hljs-strong{color:#aec795;font-weight:700}.hljs-code,.hljs-addition,.hljs-title.class_.inherited__,.hljs-string{color:#95c7ae}.hljs-built_in,.hljs-doctag,.hljs-quote,.hljs-keyword.hljs-atrule,.hljs-regexp{color:#95aec7}.hljs-function .hljs-title,.hljs-attribute,.ruby .hljs-property,.hljs-title.function_,.hljs-section{color:#ae95c7}.hljs-type,.hljs-template-tag,.diff .hljs-meta,.hljs-keyword{color:#c795ae}.hljs-emphasis{color:#c795ae;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#c79595}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}.guides{--guide-color:#000;--column-color:#666;visibility:hidden;z-index:9999;pointer-events:none;position:fixed;inset:0}.guides__inner{background-color:color-mix(in srgb, var(--guide-color), transparent 90%);outline:1px solid #ffffff4d;grid-row:1;height:100%}.guides__columns{background-color:color-mix(in srgb, var(--column-color), transparent 85%);height:100%}.guides:after{content:attr(data-window-width);color:#ffffff1a;font-size:10em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media print{body>:not(main){display:none}:root{--color-background:#fff!important;--color-text:#000!important;--color-links:#000!important;--color-accent:#000!important;--color-selection-text:#fff!important;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}body,body :not(pre,pre *,code,code *){box-shadow:none!important;color:#000!important;text-shadow:none!important;background-color:#0000!important;background-image:none!important}body{background-color:#fff!important}a{text-decoration:underline!important}[data-selected-theme="8bit"]{min-height:0!important;display:block!important;overflow:visible!important}[data-selected-theme="8bit"] body{border-radius:0!important;width:auto!important;height:auto!important;min-height:0!important;overflow:visible!important}[data-selected-theme="8bit"]:before,[data-selected-theme="8bit"]:after,.poster-circles,.dos-statusline,.dos-dir-header,.dos-filter-label,.book-specimen,.modal-dim{display:none!important}h1,h2,h3,h4{-moz-column-break-after:avoid;break-after:avoid}p,li,blockquote,figure{orphans:3;widows:3}}
