﻿@font-face{font-family:Inconsolata;src:local("Inconsolata"),url("/National_Library/20160526010038oe_/https://drhayes.io/fonts/inconsolata/Inconsolata-Regular.woff2") format("woff2");font-display:swap}@font-face{font-family:"Inconsolata Bold";src:local("Inconsolata Bold"),url("/National_Library/20160526010038oe_/https://drhayes.io/fonts/inconsolata/Inconsolata-Bold.woff2") format("woff2");font-display:swap}:root{--background: #282a36;--comment: #6272a4;--foreground: #f8f8f2;--selection: #44475a;--cyan: #8be9fd;--green: #50fa7b;--orange: #ffb86c;--pink: #ff79c6;--purple: #bd93f9;--red: #ff5555;--yellow: #f1fa8c;--background-30: #282a3633;--comment-30: #6272a433;--foreground-30: #f8f8f233;--selection-30: #44475a33;--cyan-30: #8be9fd33;--green-30: #50fa7b33;--orange-30: #ffb86c33;--pink-30: #ff79c633;--purple-30: #bd93f933;--red-30: #ff555533;--yellow-30: #f1fa8c33;--background-40: #282a3666;--comment-40: #6272a466;--foreground-40: #f8f8f266;--selection-40: #44475a66;--cyan-40: #8be9fd66;--green-40: #50fa7b66;--orange-40: #ffb86c66;--pink-40: #ff79c666;--purple-40: #bd93f966;--red-40: #ff555566;--yellow-40: #f1fa8c66}pre::-webkit-scrollbar{width:14px}pre::-webkit-scrollbar-track{background-color:var(--comment);border-radius:0px}pre::-webkit-scrollbar-thumb{background-color:var(--purple);border-radius:0px}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{text-shadow:none;background-color:var(--selection)}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background-color:var(--selection)}pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre.line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block;padding-right:20px}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{color:var(--foreground);font-size:.8em;padding:.5em;background:var(--comment);border-radius:.5em}div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar span:hover,div.code-toolbar>.toolbar span:focus{color:inherit;text-decoration:none;background-color:var(--green)}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}code[class*=language-],pre[class*=language-]{color:var(--foreground);background:var(--background);text-shadow:none;font-family:var(--code-font);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{background:var(--background);border-radius:.5em;padding:1em;overflow:auto;height:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:var(--background)}:not(pre)>code[class*=language-]{padding:4px 7px;border-radius:.3em;white-space:normal}.limit-300{height:300px !important}.limit-300{height:400px !important}.limit-500{height:500px !important}.limit-600{height:600px !important}.limit-700{height:700px !important}.limit-800{height:800px !important}.language-css{color:var(--purple)}.token{color:var(--pink)}.language-css .token{color:var(--pink)}.token.script{color:var(--foreground)}.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.atrule,.token.attr-name,.token.attr-value{color:var(--green)}.language-css .token.atrule{color:var(--purple)}.language-html .token.attr-value,.language-markup .token.attr-value{color:var(--yellow)}.token.boolean{color:var(--purple)}.token.builtin,.token.class-name{color:var(--cyan)}.token.comment{color:var(--comment)}.token.constant{color:var(--purple)}.language-javascript .token.constant{color:var(--orange);font-style:italic}.token.entity{color:var(--pink)}.language-css .token.entity{color:var(--green)}.language-html .token.entity.named-entity{color:var(--purple)}.language-html .token.entity:not(.named-entity){color:var(--pink)}.language-markup .token.entity.named-entity{color:var(--purple)}.language-markup .token.entity:not(.named-entity){color:var(--pink)}.token.function{color:var(--green)}.language-css .token.function{color:var(--cyan)}.token.important,.token.keyword{color:var(--pink)}.token.prolog{color:var(--foreground)}.token.property{color:var(--orange)}.language-css .token.property{color:var(--cyan)}.token.punctuation{color:var(--pink)}.language-css .token.punctuation{color:var(--orange)}.language-html .token.punctuation,.language-markup .token.punctuation{color:var(--foreground)}.token.selector{color:var(--pink)}.language-css .token.selector{color:var(--green)}.token.regex{color:var(--red)}.language-css .token.rule:not(.atrule){color:var(--foreground)}.token.string{color:var(--yellow)}.token.tag{color:var(--pink)}.token.url{color:var(--cyan)}.language-css .token.url{color:var(--orange)}.token.variable{color:var(--comment)}.token.number{color:#bd93f9}.token.operator{color:#8be9fd}.token.char{color:#ff879d}.token.symbol{color:#ffb86c}.token.deleted{color:#e2777a}.token.namespace{color:#e2777a}.highlight-line{color:inherit;display:inline-block;text-decoration:none;border-radius:4px;padding:2px 10px}.highlight-line:empty:before{content:" "}.highlight-line:not(:last-child){min-width:100%}.highlight-line .highlight-line:not(:last-child){min-width:0}.highlight-line-isdir{color:var(--foreground);background-color:var(--selection-30)}.highlight-line-active{background-color:var(--comment-30)}.highlight-line-add{background-color:var(--green-30)}.highlight-line-remove{background-color:var(--red-30)}:root{--body-font: Optima, Candara, "Noto Sans", source-sans-pro, sans-serif;--heading-font: Bahnschrift, "DIN Alternate", "Franklin Gothic Medium", "Nimbus Sans Narrow", sans-serif-condensed, sans-serif;--code-font: "Inconsolata", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--measure: 65ch;--s-5: clamp(0.37rem, 0.41rem + -0.06vw, 0.4rem);--s-4: clamp(0.46rem, 0.49rem + -0.04vw, 0.48rem);--s-3: clamp(0.58rem, 0.58rem + 0vw, 0.58rem);--s-2: clamp(0.69rem, 0.69rem + 0.04vw, 0.72rem);--s-1: clamp(0.83rem, 0.81rem + 0.12vw, 0.9rem);--s0: clamp(1rem, 0.96rem + 0.22vw, 1.13rem);--s1: clamp(1.2rem, 1.13rem + 0.36vw, 1.41rem);--s2: clamp(1.44rem, 1.33rem + 0.55vw, 1.76rem);--s3: clamp(1.73rem, 1.56rem + 0.82vw, 2.2rem);--s4: clamp(2.07rem, 1.84rem + 1.17vw, 2.75rem);--s5: clamp(2.49rem, 2.16rem + 1.64vw, 3.43rem);--space-3xs: clamp(0.25rem, 0.23rem + 0.11vw, 0.31rem);--space-2xs: clamp(0.5rem, 0.48rem + 0.11vw, 0.56rem);--space-xs: clamp(0.75rem, 0.71rem + 0.22vw, 0.88rem);--space-s: clamp(1rem, 0.96rem + 0.22vw, 1.13rem);--space-m: clamp(1.5rem, 1.43rem + 0.33vw, 1.69rem);--space-l: clamp(2rem, 1.91rem + 0.43vw, 2.25rem);--space-xl: clamp(3rem, 2.87rem + 0.65vw, 3.38rem);--space-2xl: clamp(4rem, 3.83rem + 0.87vw, 4.5rem);--space-3xl: clamp(6rem, 5.74rem + 1.3vw, 6.75rem);--space-3xs-2xs: clamp(0.25rem, 0.14rem + 0.54vw, 0.56rem);--space-2xs-xs: clamp(0.5rem, 0.37rem + 0.65vw, 0.88rem);--space-xs-s: clamp(0.75rem, 0.62rem + 0.65vw, 1.13rem);--space-s-m: clamp(1rem, 0.76rem + 1.2vw, 1.69rem);--space-m-l: clamp(1.5rem, 1.24rem + 1.3vw, 2.25rem);--space-l-xl: clamp(2rem, 1.52rem + 2.39vw, 3.38rem);--space-xl-2xl: clamp(3rem, 2.48rem + 2.61vw, 4.5rem);--space-2xl-3xl: clamp(4rem, 3.04rem + 4.78vw, 6.75rem);--space-s-l: clamp(1rem, 0.57rem + 2.17vw, 2.25rem);--line-height: 1.5;--line-height-small: 1.25;--border-thin: 0.02em;--color-dark: hsl(0 0% 5%);--color-dark-20: hsl(0 0% 5% / 0.2);--color-dark-40: hsl(0 0% 5% / 0.4);--color-darkish: hsl(0 0% 20%);--color-light: hsl(0 0% 95%);--color-lightish: hsl(0 0% 90%);--color-gray-50: hsl(0 0% 50%);--color-gray-60: hsl(0 0% 60%);--color-white: hsl(0 0% 98%);--color-blue: hsl(210 50% 50%);--color-red: hsl(0 100% 50%);--color-link: var(--color-blue);--color-code: var(--color-blue);--bg-color-code: var(--color-lightish);--color-bq: var(--color-blue);--color-code-block-shadow: var(--color-dark-40);--color-strong: var(--color-dark-20);--color-time: var(--color-gray-50);--color-box-bg-color: var(--color-light);--color-box-invert: var(--color-light);--color-box-invert-bg-color: var(--color-dark);--color-tag: var(--color-blue);--color-tag-hover: var(--color-dark);--color-tag-orphan: var(--color-gray-60);--color-badge-bg-color: var(--color-light);--color-badge-draft: var(--color-blue);--color-game-text-outline: var(--color-blue);--color-target-bg-color: var(--color-lightish);--aside-background-color: var(--color-light);--aside-header-color: var(--color-dark);--aside-text-color: var(--color-dark);--aside-border-color: var(--color-gray-60);--warning-background-color: hsl(0 80% 95%);--warning-color: var(--color-red);--warning-border-color: hsl(0 50% 80%);--joke-background-color: hsl(92.9, 100%, 93.9%);--joke-color: hsl(139.5, 82.2%, 35.3%);--joke-border-color: hsl(139.5, 60%, 80%);--draft-background-color: hsl(210 80% 97%);--draft-color: hsl(210 60% 50%);--draft-color-text: var(--color-blue);--draft-border-color: hsl(210 90% 80%);--omg-status-label-background-color: hsl(210 90% 90%);--omg-status-border-color: hsl(210 90% 75%);--blue-gradient: linear-gradient(100deg, hsl(240, 70%, 50%), hsl(200, 100%, 50%));--color-game-caption: var(--color-lightish);font-size:var(--s0)}::selection{color:var(--color-darkish);background-color:var(--color-lightish)}.center{box-sizing:content-box;margin-inline:auto;max-inline-size:var(--measure);padding-inline-start:var(--s1);padding-inline-end:var(--s1)}.center.intrinsic{display:flex;flex-direction:column;align-items:center}.stack{display:flex;flex-direction:column;justify-content:flex-start}.stack.tight{--space: var(--s-1)}.stack>*{margin-block:0}.stack>*+*{margin-block-start:var(--space, var(--s0))}.box{padding:var(--s1);border-width:var(--border-thin);border-style:solid}:not(aside).box{background-color:var(--color-box-bg-color)}.box *{color:inherit}.box.invert{color:var(--color-box-invert);background-color:var(--color-box-invert-bg-color)}.with-sidebar{display:flex;flex-wrap:wrap;gap:var(--space, var(--s0))}.with-sidebar>:first-child{flex-grow:1}.with-sidebar>:last-child{flex-basis:0;flex-grow:999;min-inline-size:50%}.cluster{display:flex;flex-wrap:wrap;gap:var(--space, var(--s0));justify-content:flex-start;align-items:center}.visually-hidden{position:absolute !important;clip:rect(1px 1px 1px 1px) !important;padding:0 !important;border:0 !important;height:1px !important;width:1px !important;overflow:hidden !important}*{box-sizing:border-box;max-inline-size:var(--measure)}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}html,body,div,header,nav,main,footer{max-inline-size:none}body{padding:0;margin:0;font-family:var(--body-font);font-size:var(--s0);line-height:var(--line-height);font-variant-numeric:oldstyle-nums proportional-nums;text-rendering:optimizeLegibility}a,a:visited{color:currentColor;text-decoration:underline;text-decoration-color:var(--color-link);text-decoration-skip-ink:auto;text-decoration-thickness:1px;text-underline-offset:.2ex}a[aria-current^=page]:before,a:visited[aria-current^=page]:before{content:"<";font-size:.75em}a[aria-current^=page]:after,a:visited[aria-current^=page]:after{content:">";font-size:.75em}h1,h2,h3,h4,h5{font-family:var(--heading-font);font-weight:bold;line-height:var(--line-height-small);text-wrap:balance}h1 a,h2 a,h3 a,h4 a,h5 a{text-decoration:none}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover{text-decoration:underline}h1{font-size:var(--s3);line-height:1;letter-spacing:-0.02em}h2{font-size:var(--s2)}h3{font-size:var(--s1)}h4{font-size:var(--s0)}h5{font-size:var(--s0)}p{margin-block:0}blockquote{margin-inline-start:0;padding-inline-start:var(--s0);font-size:var(--s1);font-style:italic;border-inline-start-style:solid;border-width:var(--s-2);border-color:var(--color-bq)}hr{border:0;height:var(--s2)}hr:after{display:block;content:"꧁ఌ꧂";text-align:center;color:initial}p>code,li>code,a>code{font-family:var(--code-font);font-weight:bold;color:var(--color-code);background-color:var(--bg-color-code)}kbd{font:var(--code-font)}pre,.stack pre{margin-block:var(--s2);box-shadow:0 0 var(--s0) var(--color-code-block-shadow)}figcaption{text-align:center;font-size:var(--s-1)}ol,ul{padding-inline-start:var(--s0)}figure{margin-inline:0}img{width:100%}aside{--aside-text: "aside";position:relative;border-color:var(--aside-border-color);border-radius:.5em;background-color:var(--aside-background-color);color:var(--aside-text-color)}aside.box{margin-block:var(--s2)}aside h4+p:first-of-type{margin-block-start:var(--s-1)}aside.box::before{position:absolute;content:"<" var(--aside-text) ">";inset-block-start:0;inset-inline-start:50%;transform:translateX(-50%) translateY(-50%);font-size:var(--s-2);background-color:var(--aside-background-color);border:var(--border-thin) solid;border-color:var(--aside-border-color);border-radius:.5em;padding:var(--space-3xs) var(--space-2xs);color:var(--aside-text-color)}aside.box::after{position:absolute;content:"</" var(--aside-text) ">";inset-block-end:0;inset-inline-start:50%;transform:translateX(-50%) translateY(50%);font-size:var(--s-2);background-color:var(--aside-background-color);border:var(--border-thin) solid;border-color:var(--aside-border-color);border-radius:.5em;padding:var(--space-3xs) var(--space-2xs);color:var(--aside-text-color)}aside h4:first-of-type{margin-block:0;color:var(--aside-header-color)}strong{text-shadow:0 0 4px var(--color-strong)}body>nav{margin-block-end:var(--s4)}body>nav ul{display:flex;flex-wrap:wrap;gap:var(--s0);justify-content:flex-start;align-items:center;text-transform:lowercase;list-style-type:none;padding-inline-start:0}time{color:var(--color-time)}article{hyphens:auto;overflow-wrap:break-word;word-break:break-word}blockquote cite:before{content:"— "}dl dt{font-weight:bold}dl dd{margin-block-end:var(--space-s)}:target{background-color:var(--color-target-bg-color)}.heading-font{font-family:var(--heading-font)}.inline-list{display:flex;flex-wrap:wrap;gap:var(--space, var(--s0));padding-inline-start:0;list-style-type:none}.font-size\:s1{font-size:var(--s1)}.font-size\:s3{font-size:var(--s3)}.no-link-decoration{background-image:none}.no-link-decoration *{background-image:none}.p-summary{font-style:italic}.post-metadata{margin-block-start:var(--s-4)}.tags{line-height:var(--line-height-small);gap:var(--s-1)}.tags .tag:before{content:"#"}.tags .tag[href]{background-image:none;color:var(--color-tag)}.tags .tag[href]:hover{color:var(--color-tag-hover)}.tags .orphan-tag{color:var(--color-tag-orphan)}.align-self\:center{align-self:center}.text-align\:right{text-align:right}.margin-block-start\:s5{margin-block-start:var(--s5)}.margin-block-end\:s5{margin-block-end:var(--s5)}.badge{font-family:var(--heading-font);font-weight:bold;font-size:var(--s-1);text-transform:uppercase;background-color:var(--color-badge-bg-color)}.badge.draft{color:var(--color-badge-draft)}.list-style-type\:none{list-style-type:none}.hidden{display:none}.tight-kern{letter-spacing:-0.05em}.draft{color:var(--draft-color-text)}aside#toc{--aside-text: "toc"}aside#posse{--aside-text: "posse"}aside.warning{--aside-background-color: var(--warning-background-color);--aside-header-color: var(--warning-color);--aside-text-color: var(--warning-color);--aside-border-color: var(--warning-border-color);--aside-text: "warning"}aside.joke{--aside-background-color: var(--joke-background-color);--aside-header-color: var(--joke-color);--aside-text-color: var(--joke-color);--aside-border-color: var(--joke-border-color);--aside-text: "😆😂🤣"}aside.draft{--aside-background-color: var(--draft-background-color);--aside-header-color: var(--draft-color);--aside-text-color: var(--draft-color);--aside-border-color: var(--draft-border-color);--aside-text: "draft"}.omg-status{position:relative;border-color:var(--omg-status-border-color);border-radius:.5em;margin-block:var(--s2)}.omg-status::before{position:absolute;inset-block-start:-1em;inset-inline-start:1em;background-color:var(--omg-status-label-background-color);padding-inline:1em;content:"Latest Status"}.omg-status .omg-status-text{margin:0;font-family:var(--body-font);font-size:var(--s0);font-weight:normal}.blue-gradient{background-image:var(--blue-gradient);background-clip:text;color:rgba(0,0,0,0);font-weight:bold;-webkit-background-clip:text;-webkit-fill-color:rgba(0,0,0,0)}.front-page{padding:var(--s0)}.front-page svg{width:20rem;max-width:100vw}.front-page h2 a[href^=mailto]{background-image:var(--blue-gradient);background-clip:text;color:rgba(0,0,0,0);-webkit-background-clip:text;-webkit-fill-color:rgba(0,0,0,0);text-decoration:underline}a:has(.game-card){text-decoration:none}.game-card{display:grid;--outline-thickness: 0.04em}.game-card img{grid-column:1;grid-row:1;object-fit:cover}.game-card figcaption{grid-column:1;grid-row:1;align-self:center;font-family:var(--heading-font);font-weight:bold;font-size:var(--s4);max-inline-size:calc(100% - 1rem);max-block-size:calc(100% - 1rem);margin:0;color:var(--color-game-caption);text-shadow:calc(var(--outline-thickness)*-1) calc(var(--outline-thickness)*-1) var(--color-game-text-outline),var(--outline-thickness) calc(var(--outline-thickness)*-1) var(--color-game-text-outline),var(--outline-thickness) var(--outline-thickness) var(--color-game-text-outline),calc(var(--outline-thickness)*-1) var(--outline-thickness) var(--color-game-text-outline)}.about-logo{position:absolute;width:30rem;opacity:.05;pointer-events:none}.webmentions img{max-width:var(--s4);max-height:var(--s4);clip-path:circle(50%);shape-outside:circle(50%)}.reply img{width:var(--s4);height:var(--s4);clip-path:circle(50%);shape-outside:circle(50%)}