@import "https://fonts.cdnfonts.com/css/jetbrains-mono-2";
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{--font-family:"JetBrains Mono",monospace;--line-height:1.2rem;--border-thickness:2px;--text-color:#000;--text-color-alt:#666;--background-color:#fff;--background-color-alt:#eee;--font-weight-normal:500;--font-weight-medium:600;--font-weight-bold:800;font-family:var(--font-family);font-optical-sizing:auto;font-weight:var(--font-weight-normal);font-variant-numeric:tabular-nums lining-nums;font-size:16px;font-style:normal}@media (prefers-color-scheme:dark){:root{--text-color:#fff;--text-color-alt:#aaa;--background-color:#000;--background-color-alt:#111}}*{box-sizing:border-box}*+*{margin-top:var(--line-height)}html{background:var(--background-color);width:100%;color:var(--text-color);flex-direction:column;align-items:center;margin:0;padding:0;display:flex}body{width:100%;padding:var(--line-height)2ch;max-width:calc(min(80ch,round(down,100%,1ch)));line-height:var(--line-height);margin:0;position:relative;overflow-x:hidden}@media screen and (max-width:480px){:root{font-size:14px}body{padding:var(--line-height)1ch}}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);margin:calc(var(--line-height)*2)0 var(--line-height);line-height:var(--line-height)}h1{font-size:2rem;line-height:calc(2*var(--line-height));margin-bottom:calc(var(--line-height)*2);text-transform:uppercase}h2{text-transform:uppercase;font-size:1rem}hr{height:var(--line-height);margin:calc(var(--line-height)*1.5)0;color:var(--text-color);border:none;display:block;position:relative}hr:after{content:"";top:calc(var(--line-height)/2 - var(--border-thickness));border-top:calc(var(--border-thickness)*3)double var(--text-color);width:100%;height:0;display:block;position:absolute;left:0}a{text-decoration-thickness:var(--border-thickness)}a:link,a:visited{color:var(--text-color)}p{margin-bottom:var(--line-height);word-break:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}strong{font-weight:var(--font-weight-bold)}em{font-style:italic}sub{vertical-align:sub;width:1.33333ch;margin:0;font-size:.75rem;line-height:0;display:inline-block;position:relative}table{top:calc(var(--line-height)/2);border-collapse:collapse;width:calc(round(down,100%,1ch));margin:0 0 calc(var(--line-height)*2);position:relative}th,td{border:var(--border-thickness)solid var(--text-color);padding:calc((var(--line-height)/2))calc(1ch - var(--border-thickness)/2)calc((var(--line-height)/2) - (var(--border-thickness)));line-height:var(--line-height);vertical-align:top;text-align:left}table tbody tr:first-child>*{padding-top:calc((var(--line-height)/2) - var(--border-thickness))}th{font-weight:700}.width-min{width:0%}.width-auto{width:100%}img,video{object-fit:contain;width:100%;display:block;overflow:hidden}img{color:var(--text-color-alt);font-style:italic}details{border:var(--border-thickness)solid var(--text-color);padding:calc(var(--line-height) - var(--border-thickness))1ch;margin-bottom:var(--line-height)}summary{font-weight:var(--font-weight-medium);cursor:pointer}details[open] summary{margin-bottom:var(--line-height)}details ::marker{content:"▶";margin:0;display:inline-block}details[open] ::marker{content:"▼"}details :last-child{margin-bottom:0}pre{white-space:pre;margin:var(--line-height)0;overflow:auto hidden}figure pre{margin:0}pre,code{font-family:var(--font-family)}code{font-weight:var(--font-weight-medium)}figure{margin:calc(var(--line-height)*2)3ch;overflow:auto hidden}figcaption{margin-top:var(--line-height);font-style:italic;display:block}ul,ol{margin:0 0 var(--line-height);padding:0}ul{padding:0 0 0 2ch;list-style-type:square}ol{counter-reset:item;padding:0;list-style-type:none}ol ul,ol ol,ul ol,ul ul{margin:0;padding:0 0 0 3ch}ol li:before{content:counters(item,".")". ";counter-increment:item;font-weight:var(--font-weight-medium)}li{margin:0;padding:0}li::marker{line-height:0}::-webkit-scrollbar{height:var(--line-height)}input,button,textarea{border:var(--border-thickness)solid var(--text-color);padding:calc(var(--line-height)/2 - var(--border-thickness))calc(1ch - var(--border-thickness));font:inherit;font-weight:inherit;height:calc(var(--line-height)*2);background:var(--background-color);width:auto;color:var(--text-color);-webkit-font-smoothing:inherit;-moz-osx-font-smoothing:inherit;-webkit-appearance:none;margin:0;line-height:normal;overflow:visible}input[type=checkbox],input[type=radio]{vertical-align:top;width:2ch;height:var(--line-height);cursor:pointer;place-content:center;display:inline-grid}input[type=checkbox]:checked:before,input[type=radio]:checked:before{content:"";width:1ch;height:calc(var(--line-height)/2);background:var(--text-color)}input[type=radio],input[type=radio]:before{border-radius:100%}button:focus,input:focus{--border-thickness:3px;outline:none}input{width:calc(round(down,100%,1ch))}::placeholder{color:var(--text-color-alt);opacity:1}::-moz-placeholder{color:var(--text-color-alt)}button::-moz-focus-inner{border:0;padding:0}button{text-transform:uppercase;font-weight:var(--font-weight-medium);cursor:pointer}button:hover{background:var(--background-color-alt)}button:active{transform:translate(2px,2px)}label{width:calc(round(down,100%,1ch));height:auto;line-height:var(--line-height);font-weight:var(--font-weight-medium);margin:0;display:block}label input{width:100%}.tree,.tree ul{line-height:var(--line-height);padding-left:0;list-style-type:none;position:relative}.tree ul{margin:0}.tree ul li{border-left:var(--border-thickness)solid var(--text-color);margin-left:1.5ch;padding-left:1.5ch;position:relative}.tree ul li:before{top:calc(var(--line-height)/2);content:"";border-bottom:var(--border-thickness)solid var(--text-color);width:1ch;display:block;position:absolute;left:0}.tree ul li:last-child{border-left:none}.tree ul li:last-child:after{content:"";height:calc(var(--line-height)/2);border-left:var(--border-thickness)solid var(--text-color);display:block;position:absolute;top:0;left:0}.grid{--grid-cells:0;width:calc(round(down,100%,(1ch*var(--grid-cells)) - (1ch*var(--grid-cells) - 1)));margin-bottom:var(--line-height);gap:1ch;display:flex}.grid>*,.grid>input{flex:0 0 calc(round(down,(100% - (1ch*(var(--grid-cells) - 1)))/var(--grid-cells),1ch))}.grid:has(>:last-child:first-child){--grid-cells:1}.grid:has(>:last-child:nth-child(2)){--grid-cells:2}.grid:has(>:last-child:nth-child(3)){--grid-cells:3}.grid:has(>:last-child:nth-child(4)){--grid-cells:4}.grid:has(>:last-child:nth-child(5)){--grid-cells:5}.grid:has(>:last-child:nth-child(6)){--grid-cells:6}.grid:has(>:last-child:nth-child(7)){--grid-cells:7}.grid:has(>:last-child:nth-child(8)){--grid-cells:8}.grid:has(>:last-child:nth-child(9)){--grid-cells:9}.debug .debug-grid{--color:color-mix(in srgb,var(--text-color)10%,var(--background-color)90%);z-index:-1;background-image:repeating-linear-gradient(var(--color)0 1px,transparent 1px 100%),repeating-linear-gradient(90deg,var(--color)0 1px,transparent 1px 100%);background-size:1ch var(--line-height);margin:0;position:absolute;inset:0}.debug .off-grid{background:#ff00001a}.debug-toggle-label{text-align:right}.site-nav{z-index:100;background:var(--background-color);border-bottom:var(--border-thickness)solid var(--text-color);margin:0;padding:0;position:sticky;top:0}.site-nav-inner{height:calc(var(--line-height)*2);justify-content:space-between;align-items:center;margin:0;display:flex}.site-nav-logo{font-weight:var(--font-weight-bold);letter-spacing:.05em;margin:0;font-size:1rem;text-decoration:none}.site-nav-logo-bracket{color:var(--text-color-alt)}.site-nav-logo-text{color:var(--text-color)}.site-nav-links{gap:2ch;margin:0;display:flex}.site-nav-links a{font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.85rem;text-decoration:none}.site-nav-links a:hover{text-decoration:underline;text-decoration-thickness:var(--border-thickness)}main{margin-top:0}.hero{margin:calc(var(--line-height)*2)0;padding:0}.hero-ascii{white-space:pre;color:var(--text-color);margin:0;font-size:.65rem;line-height:1.1;overflow-x:auto}@media screen and (max-width:480px){.hero-ascii{font-size:.42rem}}.hero-meta{margin-top:var(--line-height)}.hero-tagline{font-weight:var(--font-weight-medium);color:var(--text-color-alt);margin:0;font-size:1rem;display:block}.hero-badges{margin-top:calc(var(--line-height)/2);flex-wrap:wrap;align-items:center;gap:1.5ch;display:flex}.hero-badges>*{margin-top:0}.hero-version{font-weight:var(--font-weight-medium);color:var(--text-color-alt);margin:0;font-size:.85rem}.hero-date{color:var(--text-color-alt);margin:0;font-size:.85rem}.boot-sequence{border:var(--border-thickness)solid var(--text-color);margin:calc(var(--line-height)*2)0;background:var(--background-color)}.boot-sequence-chrome{height:calc(var(--line-height)*1.5);border-bottom:var(--border-thickness)solid var(--text-color);background:var(--background-color-alt);align-items:center;gap:1ch;margin:0;padding:0 1ch;display:flex}.boot-dot{width:1ch;height:calc(var(--line-height)*.5);border:var(--border-thickness)solid var(--text-color);border-radius:50%;margin:0;display:inline-block}.boot-title{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--text-color-alt);text-transform:lowercase;margin:0 0 0 .5ch}.boot-sequence-output{padding:var(--line-height)1.5ch;min-height:calc(var(--line-height)*14);font-size:.85rem;line-height:var(--line-height);margin:0;overflow-x:auto}.ascii-animation.log-viewer{margin:calc(var(--line-height)*2)0;border:var(--border-thickness)solid var(--text-color);background:#0a0a0a;padding:0;overflow:hidden}@media (prefers-color-scheme:light){.ascii-animation.log-viewer{background:#f4f4f4}}.log-header{padding:calc(var(--line-height)/2)1.5ch;border-bottom:1px solid var(--text-color-alt);justify-content:space-between;align-items:center;margin-top:0;display:flex}.log-header>*{margin-top:0}.log-title{color:var(--text-color-alt);letter-spacing:.05em;font-size:.8rem}.log-status{color:#4ade80;align-items:center;gap:.5ch;margin-top:0;font-size:.75rem;display:flex}.log-status>*{margin-top:0}.log-dot{background:#4ade80;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite log-blink;display:inline-block}@keyframes log-blink{0%,to{opacity:1}50%{opacity:.3}}.log-output{padding:calc(var(--line-height)/2)1.5ch;min-height:calc(var(--line-height)*14);max-height:calc(var(--line-height)*14);font-size:.8rem;line-height:var(--line-height);margin-top:0;overflow-y:hidden}.log-output>*{margin-top:0}.log-line{white-space:pre;line-height:var(--line-height);margin:0}.log-ts{color:#6b7280}.log-level{margin-left:1ch;font-weight:700}.log-level.log-info{color:#4ade80}.log-level.log-warn{color:#facc15}.log-level.log-error{color:#f87171}.log-level.log-debug{color:#67e8f9}.log-level.log-system{color:#c084fc}.log-src{color:#93a3b8;margin-left:1ch}.log-msg{color:var(--text-color)}.log-cursor{color:var(--text-color);animation:.8s step-end infinite log-cursor-blink;display:inline-block}@keyframes log-cursor-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-color-scheme:light){.log-status{color:#16a34a}.log-dot{background:#16a34a}.log-ts{color:#9ca3af}.log-level.log-info{color:#16a34a}.log-level.log-warn{color:#ca8a04}.log-level.log-error{color:#dc2626}.log-level.log-debug{color:#0891b2}.log-level.log-system{color:#9333ea}.log-src{color:#6b7280}}.ascii-animation.log-viewer figcaption{border-top:1px solid var(--text-color-alt);padding:calc(var(--line-height)/2)1.5ch;color:var(--text-color-alt);margin-top:0;font-size:.85rem}nav.toc{margin:var(--line-height)0 calc(var(--line-height)*2)}nav.toc ul{padding:0;list-style-type:none}nav.toc ul li{margin:0}nav.toc ul li:before{content:"# ";color:var(--text-color-alt);font-weight:var(--font-weight-medium)}nav.toc a{text-decoration:none}nav.toc a:hover{text-decoration:underline;text-decoration-thickness:var(--border-thickness)}.signup-form{margin-top:var(--line-height);flex-wrap:wrap;gap:1ch;display:flex}.signup-form input[type=email]{flex:auto;min-width:20ch}.signup-form button{flex:none}footer{margin-top:calc(var(--line-height)*3);padding-top:var(--line-height);border-top:var(--border-thickness)solid var(--text-color)}footer p{color:var(--text-color-alt);margin-bottom:calc(var(--line-height)/2)}footer nav{margin-top:calc(var(--line-height)/2)}footer nav a{margin-right:2ch}.status-badge{border:var(--border-thickness)solid var(--text-color);font-weight:var(--font-weight-medium);text-transform:uppercase;font-size:.85rem;line-height:var(--line-height);vertical-align:middle;margin:0;padding:0 1ch;display:inline-block}.blink{animation:1s steps(2,start) infinite blink-animation}@keyframes blink-animation{to{visibility:hidden}}.page-header{margin:calc(var(--line-height)*2)0 var(--line-height)}.page-header h1{margin-bottom:calc(var(--line-height)/2)}.page-header p{color:var(--text-color-alt)}.changelog-entry{margin:var(--line-height)0 calc(var(--line-height)*2)}.changelog-entry h2{align-items:baseline;gap:2ch;display:flex}.changelog-version{font-weight:var(--font-weight-bold)}.changelog-date{font-weight:var(--font-weight-normal);color:var(--text-color-alt);font-size:.85rem}.changelog-entry h3{font-size:.9rem;font-weight:var(--font-weight-medium);margin:var(--line-height)0 calc(var(--line-height)/2);text-transform:uppercase;color:var(--text-color-alt);line-height:var(--line-height)}.changelog-entry ul{margin-bottom:var(--line-height)}.changelog-entry code{color:var(--text-color-alt);font-size:.85rem}
