:root{--global-font-size:15px;--global-line-height:1.4em;--global-space:10px;--font-stack:"Menlo", "Monaco", "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", serif;--mono-font-stack:"Menlo", "Monaco", "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", serif;--background-color:#fff;--page-width:60em;--font-color:#151515;--invert-font-color:#fff;--primary-color:#1a95e0;--secondary-color:#727578;--error-color:#d20962;--progress-bar-background:#727578;--progress-bar-fill:#151515;--code-bg-color:#e8eff2;--input-style:solid;--display-h1-decoration:none;--block-background-color:var(--background-color)}*{box-sizing:border-box;text-rendering:geometricprecision}::selection{background:var(--primary-color);color:var(--invert-font-color)}body{font-size:var(--global-font-size);color:var(--font-color);line-height:var(--global-line-height);font-family:var(--font-stack);word-wrap:break-word;background-color:var(--background-color);margin:0}h1,h2,h3,h4,h5,h6,.logo{line-height:var(--global-line-height)}a{cursor:pointer;color:var(--primary-color);text-decoration:none}a:hover{background-color:var(--primary-color);color:var(--invert-font-color)}em{font-size:var(--global-font-size);font-style:italic;font-family:var(--font-stack);color:var(--font-color)}blockquote,code,em,strong{line-height:var(--global-line-height)}blockquote,code,footer,h1,h2,h3,h4,h5,h6,header,li,ol,p,section,ul,.logo{float:none;margin:0;padding:0}blockquote,h1,ol,p,ul,.logo{margin-top:calc(var(--global-space) * 2);margin-bottom:calc(var(--global-space) * 2)}h1,.logo{padding:calc(var(--global-space) * 2)0;margin:0;font-weight:600;position:relative;overflow:hidden}h1:after{content:"====================================================================================================";display:var(--display-h1-decoration);position:absolute;bottom:5px;left:0}h1+*,.logo+*{margin-top:0}h2,h3,h4,h5,h6{margin-bottom:var(--global-line-height);font-weight:600;position:relative}blockquote{padding-left:calc(var(--global-space) * 2);position:relative;overflow:hidden}blockquote:after{content:">\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >\a >";white-space:pre;line-height:var(--global-line-height);color:#9ca2ab;position:absolute;top:0;left:0}blockquote>:last-child{margin-bottom:0}code{font-weight:inherit;background-color:var(--code-bg-color);font-family:var(--mono-font-stack)}code:after,code:before{content:"`";display:inline}pre code:after,pre code:before{content:""}pre{word-break:break-all;word-wrap:break-word;color:var(--secondary-color);background-color:var(--block-background-color);border:1px solid var(--secondary-color);padding:var(--global-space);white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-o-pre-wrap;display:block}pre code{min-width:100%;font-family:var(--mono-font-stack);background-color:var(--block-background-color);margin:0;padding:0;display:inline-block;overflow-x:scroll}.terminal blockquote,.terminal h1,.terminal h2,.terminal h3,.terminal h4,.terminal h5,.terminal h6,.terminal strong,.terminal .logo{font-size:var(--global-font-size);font-style:normal;font-family:var(--font-stack)}.terminal code{font-size:var(--global-font-size);font-style:normal}.terminal-prompt{white-space:nowrap;position:relative}.terminal-prompt:before{content:"> "}.terminal-prompt:after{content:"";background:var(--primary-color);border-radius:0;width:3px;height:1em;margin-left:.2em;animation:.8s infinite cursor;display:inline-block;position:relative;bottom:-2px}@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}li,li>ul>li{padding-left:calc(var(--global-space) * 2);display:block;position:relative}nav>ul>li{padding-left:0}li:after{position:absolute;top:0;left:0}ul>li:after{content:"-"}nav ul>li:after{content:""}ol li:before{content:counters(item,".")". ";counter-increment:item}ol ol li:before{content:counters(item,".")" ";counter-increment:item}.terminal-menu li:after,.terminal-menu li:before{display:none}ol{counter-reset:item}ol li:nth-child(n+10):after{left:-7px}ol ol{margin-top:0;margin-bottom:0}.terminal-menu{width:100%}.terminal-nav{flex-direction:column;align-items:flex-start;display:flex}ul ul{margin-top:0;margin-bottom:0}.terminal-menu ul{width:100%;font-size:var(--global-font-size);flex-direction:column;flex-grow:1;margin-top:0;list-style-type:none;display:flex;padding:0!important}.terminal-menu li{margin:0 0 .5em;padding:0;display:flex}ol.terminal-toc li{border-bottom:1px dotted var(--secondary-color);margin-bottom:15px;padding:0}.terminal-menu li:last-child{margin-bottom:0}ol.terminal-toc li a{background:var(--background-color);text-align:left;margin:4px 4px 4px 0;padding-right:4px;position:relative;top:6px}.terminal-menu li a:not(.btn){width:100%;color:var(--secondary-color);border:none;text-decoration:none;display:block}.terminal-menu li a.active{color:var(--font-color)}.terminal-menu li a:hover{color:inherit;background:0 0}ol.terminal-toc li:before{content:counters(item,".")". ";counter-increment:item;background:var(--background-color);padding:4px 0 4px 4px;position:absolute;bottom:-8px;right:0}ol.terminal-toc li a:hover{background:var(--primary-color);color:var(--invert-font-color)}hr{margin:calc(var(--global-space) * 4)0;border:0;border-bottom:1px dashed var(--secondary-color);position:relative;overflow:hidden}p{margin:0 0 var(--global-line-height)}.container{max-width:var(--page-width)}.container,.container-fluid{padding:0 calc(var(--global-space) * 2);margin:0 auto}img{max-width:100%}.progress-bar{background-color:var(--progress-bar-background);height:8px;margin:12px 0}.progress-bar.progress-bar-show-percent{margin-top:38px}.progress-bar-filled{background-color:var(--progress-bar-fill);width:0;height:100%;transition:width .3s;position:relative}.progress-bar-filled:before{content:"";border:6px solid #0000;border-top-color:var(--progress-bar-fill);position:absolute;top:-6px;right:-6px}.progress-bar-filled:after{color:var(--progress-bar-fill);content:attr(data-filled);white-space:nowrap;border:6px solid #0000;font-size:12px;display:block;position:absolute;top:-32px;right:0;transform:translate(50%)}.progress-bar-no-arrow>.progress-bar-filled:before,.progress-bar-no-arrow>.progress-bar-filled:after{content:"";visibility:hidden;opacity:0;display:none}table{border-collapse:collapse;width:100%;margin:var(--global-line-height)0;color:var(--font-color);font-size:var(--global-font-size)}table td,table th{vertical-align:top;border:1px solid var(--font-color);line-height:var(--global-line-height);padding:calc(var(--global-space)/2);font-size:1em}table thead tr th{vertical-align:middle;font-size:1em;font-weight:700}table tfoot tr th{font-weight:500}table caption{margin:0 0 1em;font-size:1em}.form{width:100%}fieldset{border:1px solid var(--font-color);padding:1em}label{color:var(--font-color);font-size:1em}input[type=email],input[type=text],input[type=number],input[type=password],input[type=search],input[type=date],input[type=time]{border:1px var(--input-style)var(--font-color);width:100%;font-size:1em;font-family:var(--font-stack);appearance:none;border-radius:0;padding:.7em .5em}input[type=email]:active,input[type=text]:active,input[type=number]:active,input[type=password]:active,input[type=search]:active,input[type=date]:active,input[type=time]:active,input[type=email]:focus,input[type=text]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=date]:focus,input[type=time]:focus{appearance:none;border:1px solid var(--font-color);outline:none}input[type=text]:not(:placeholder-shown):invalid,input[type=email]:not(:placeholder-shown):invalid,input[type=password]:not(:placeholder-shown):invalid,input[type=search]:not(:placeholder-shown):invalid,input[type=number]:not(:placeholder-shown):invalid,input[type=date]:not(:placeholder-shown):invalid,input[type=time]:not(:placeholder-shown):invalid{border-color:var(--error-color)}input,textarea{color:var(--font-color);background-color:var(--background-color)}input::placeholder,textarea::placeholder{opacity:1;color:var(--secondary-color)!important}textarea{resize:none;border:1px var(--input-style)var(--font-color);width:100%;height:auto;font-size:1em;font-family:var(--font-stack);appearance:none;border-radius:0;padding:.5em}textarea:focus{appearance:none;border:1px solid var(--font-color);outline:none}textarea:not(:placeholder-shown):invalid{border-color:var(--error-color)}select{border:1px var(--input-style)var(--font-color);width:100%;font-size:1em;font-family:var(--font-stack);color:var(--font-color);-webkit-appearance:none;-moz-appearance:none;background-color:var(--background-color);background-image:url("data:image/svg+xml;utf8,<svg fill='currentColor' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");background-position:right .5em bottom .5em;background-repeat:no-repeat;border-radius:0;padding:.7em .5em}input:-webkit-autofill{border:1px solid var(--font-color);-webkit-text-fill-color:var(--font-color);box-shadow:0 0 0 1000px var(--invert-font-color)inset;transition:background-color 5000s ease-in-out}input:-webkit-autofill:hover{border:1px solid var(--font-color);-webkit-text-fill-color:var(--font-color);box-shadow:0 0 0 1000px var(--invert-font-color)inset;transition:background-color 5000s ease-in-out}input:-webkit-autofill:focus textarea:-webkit-autofill{border:1px solid var(--font-color);-webkit-text-fill-color:var(--font-color);box-shadow:0 0 0 1000px var(--invert-font-color)inset;transition:background-color 5000s ease-in-out}textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus{border:1px solid var(--font-color);-webkit-text-fill-color:var(--font-color);box-shadow:0 0 0 1000px var(--invert-font-color)inset;transition:background-color 5000s ease-in-out}select:-webkit-autofill{border:1px solid var(--font-color);-webkit-text-fill-color:var(--font-color);box-shadow:0 0 0 1000px var(--invert-font-color)inset;transition:background-color 5000s ease-in-out}select:-webkit-autofill:hover{border:1px solid var(--font-color);-webkit-text-fill-color:var(--font-color);box-shadow:0 0 0 1000px var(--invert-font-color)inset;transition:background-color 5000s ease-in-out}select:-webkit-autofill:focus{border:1px solid var(--font-color);-webkit-text-fill-color:var(--font-color);box-shadow:0 0 0 1000px var(--invert-font-color)inset;transition:background-color 5000s ease-in-out}.form-group{margin-bottom:var(--global-line-height);overflow:auto}.btn{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1;border-style:solid;border-width:1px;outline:none;justify-content:center;align-items:center;padding:.65em 2em;font-family:inherit;font-size:1em;display:inline-flex;position:relative}.btn:active{box-shadow:none}.btn.btn-ghost{border-color:var(--font-color);color:var(--font-color);background-color:initial}.btn.btn-ghost:focus,.btn.btn-ghost:hover{border-color:var(--tertiary-color);color:var(--tertiary-color);z-index:2}.btn.btn-ghost:hover{background-color:initial}.btn-block{width:100%;display:flex}.btn-default{background-color:var(--font-color);border-color:var(--invert-font-color);color:var(--invert-font-color)}.btn-default:hover,.btn-default:focus:not(.btn-ghost){background-color:var(--secondary-color);color:var(--invert-font-color)}.btn-default.btn-ghost:focus,.btn-default.btn-ghost:hover{border-color:var(--secondary-color);color:var(--secondary-color);z-index:2}.btn-error{color:var(--invert-font-color);background-color:var(--error-color);border:1px solid var(--error-color)}.btn-error:hover,.btn-error:focus:not(.btn-ghost){background-color:var(--error-color);border-color:var(--error-color)}.btn-error.btn-ghost{border-color:var(--error-color);color:var(--error-color)}.btn-error.btn-ghost:focus,.btn-error.btn-ghost:hover{border-color:var(--error-color);color:var(--error-color);z-index:2}.btn-primary{color:var(--invert-font-color);background-color:var(--primary-color);border:1px solid var(--primary-color)}.btn-primary:hover,.btn-primary:focus:not(.btn-ghost){background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary.btn-ghost{border-color:var(--primary-color);color:var(--primary-color)}.btn-primary.btn-ghost:focus,.btn-primary.btn-ghost:hover{border-color:var(--primary-color);color:var(--primary-color);z-index:2}.btn-small{padding:.5em 1.3em!important;font-size:.9em!important}.btn-group{overflow:auto}.btn-group .btn{float:left}.btn-group .btn-ghost:not(:first-child){margin-left:-1px}.terminal-card{border:1px solid var(--secondary-color)}.terminal-card>header{color:var(--invert-font-color);text-align:center;background-color:var(--secondary-color);padding:.5em 0}.terminal-card>div:first-of-type{padding:var(--global-space)}.terminal-timeline{padding-left:70px;position:relative}.terminal-timeline:before{content:" ";background:var(--secondary-color);z-index:400;width:2px;height:100%;display:inline-block;position:absolute;left:35px}.terminal-timeline .terminal-card{margin-bottom:25px}.terminal-timeline .terminal-card:before{content:" ";background:var(--invert-font-color);border:2px solid var(--secondary-color);z-index:400;width:15px;height:15px;margin-top:25px;display:inline-block;position:absolute;left:26px}.terminal-alert{color:var(--font-color);border:1px solid var(--font-color);margin-bottom:var(--global-space);padding:1em}.terminal-alert-error{color:var(--error-color);border-color:var(--error-color)}.terminal-alert-primary{color:var(--primary-color);border-color:var(--primary-color)}@media screen and (width>=960px){label{width:100%;display:block}pre::-webkit-scrollbar{height:3px}}@media screen and (width>=480px){form{width:100%}}@media screen and (width>=30rem){.terminal-nav{flex-direction:row;align-items:center}.terminal-menu ul{margin-top:calc(var(--global-space) * 2);flex-direction:row;justify-content:flex-end;place-items:center flex-end}.terminal-menu li{margin:0 2em 0 0}.terminal-menu li:last-child{margin-right:0}}.terminal-media:not(:last-child){margin-bottom:1.25rem}.terminal-media-left{padding-right:var(--global-space)}.terminal-media-left,.terminal-media-right{vertical-align:top;display:table-cell}.terminal-media-right{padding-left:var(--global-space)}.terminal-media-body{vertical-align:top;display:table-cell}.terminal-media-heading{font-size:1em;font-weight:700}.terminal-media-content{margin-top:.3rem}.terminal-placeholder{background-color:var(--secondary-color);text-align:center;color:var(--font-color);border:1px solid var(--secondary-color);font-size:1rem}figure>img{padding:0}.terminal-avatarholder{width:calc(var(--global-space) * 5);height:calc(var(--global-space) * 5)}.terminal-avatarholder img{padding:0}figure{margin:0}figure>figcaption{color:var(--secondary-color);text-align:center}.terminal-banner{background-color:var(--font-color);color:var(--invert-font-color);padding:calc(var(--global-space) * 2);flex-direction:column;gap:1rem;width:100%;display:flex}.terminal-banner>.container{max-width:var(--page-width)}.terminal-banner>.container,.terminal-banner>.container-fluid{margin:0 auto;padding:0}@media screen and (width>=30rem){.terminal-banner{flex-direction:row}}.hljs{background:var(--block-background-color);color:var(--font-color);padding:.5em;display:block;overflow-x:auto}.hljs-comment,.hljs-quote{color:var(--secondary-color)}.hljs-variable{color:var(--font-color)}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-name,.hljs-tag{color:var(--primary-color)}.hljs-string,.hljs-title,.hljs-section,.hljs-attribute,.hljs-literal,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-addition,.hljs-string{color:var(--secondary-color)}.hljs-deletion,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-meta{color:var(--primary-color)}.hljs-doctag{color:var(--secondary-color)}.hljs-attr,.hljs-symbol,.hljs-bullet,.hljs-link{color:var(--primary-color)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--global-font-size:15px;--global-line-height:1.6em;--global-space:10px;--font-stack:ui-monospace, "SF Mono", Menlo, Monaco, "Cascadia Mono", "Roboto Mono", Consolas, "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;--mono-font-stack:var(--font-stack);--page-width:48em;--background-color:#fff;--font-color:#111;--invert-font-color:#fff;--primary-color:#111;--secondary-color:#6b6b6b;--tertiary-color:#6b6b6b;--error-color:#b3261e;--code-bg-color:#f4f4f4;--block-background-color:var(--background-color);--progress-bar-background:#ddd;--progress-bar-fill:#111;--input-style:solid;--display-h1-decoration:none;--accent:var(--primary-color);--accent-rgb:17, 17, 17;--accent-hover:#444;--accent-light:#11111112;--accent-contrast:var(--invert-font-color);--bg:var(--background-color);--bg-app:var(--background-color);--bg-panel:var(--background-color);--bg-sidebar:var(--background-color);--bg-card:var(--background-color);--bg-elevated:var(--background-color);--bg-inset:var(--code-bg-color);--bg-hover:#0000000d;--text-primary:var(--font-color);--text-secondary:#444;--text-tertiary:var(--secondary-color);--text-muted:var(--secondary-color);--line:#e2e2e2;--border:#ececec;--border-md:#dcdcdc;--border-strong:var(--line);--border-focus:var(--primary-color);--font:var(--font-stack);--font-mono:var(--font-stack);--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--shadow-sm:none;--shadow:none;--shadow-md:none;--shadow-lg:none;--ease:cubic-bezier(.22, 1, .36, 1);--t-fast:.12s;--t:.2s;--bar-h:48px;--viz-idle:#b8b8b8;--viz-idle-fill:#e6e6e6;--viz-active:#1a7fc4;--viz-active-soft:#1a7fc447;--viz-compare:#c46a06;--viz-swap:#c92a2a;--viz-swap-soft:#c92a2a33;--viz-done:#12805c;--viz-done-soft:#12805c38;--viz-wall:#4b4b4b;--viz-grid:#0000001a;--viz-label:#111;--viz-label-alt:#fff;--viz-visited-fill:#dcdcdc;--viz-pivot:#7a3fc4;--viz-frontier:#0a8aa6}html.dark-theme{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background-color:#0b0b0b;--font-color:#ebebeb;--invert-font-color:#0b0b0b;--primary-color:#ebebeb;--secondary-color:#8f8f8f;--tertiary-color:#8f8f8f;--error-color:#ff7b72;--code-bg-color:#171717;--progress-bar-background:#2a2a2a;--progress-bar-fill:#ebebeb;--accent-rgb:235, 235, 235;--accent-hover:#bdbdbd;--accent-light:#ebebeb1a;--bg-hover:#ffffff12;--text-secondary:#bdbdbd;--line:#2a2a2a;--border:#1f1f1f;--border-md:#333;--viz-idle:#55555b;--viz-idle-fill:#232326;--viz-active:#62c4ff;--viz-active-soft:#62c4ff4d;--viz-compare:#fbbf24;--viz-swap:#ff7b7b;--viz-swap-soft:#ff7b7b3d;--viz-done:#4ade9f;--viz-done-soft:#4ade9f3d;--viz-wall:#8f8f8f;--viz-grid:#ffffff24;--viz-label:#ebebeb;--viz-label-alt:#0b0b0b;--viz-visited-fill:#2e2e32;--viz-pivot:#c792ff;--viz-frontier:#4dd7f0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--background-color);scroll-padding-top:1rem;overflow-x:clip}body{overflow-x:clip}img,svg,canvas{max-width:100%}svg,canvas{display:block}[hidden]{display:none!important}a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--secondary-color);text-decoration-color:var(--secondary-color)}a:hover{color:var(--font-color);background:0 0;text-decoration-color:currentColor}.terminal-menu a,.terminal-logo a,.tool-bar a,.btn,.skip{text-decoration:none}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--font-color);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--background-color);border:1px solid var(--font-color);padding:.5rem 1rem;position:fixed;top:0;left:50%;transform:translate(-50%,-120%)}.skip:focus-visible{transform:translate(-50%)}:root{--gutter:clamp(1.25rem, 5vw, 3rem)}.wrap{max-width:calc(46rem + 2 * var(--gutter));padding-inline:var(--gutter)}@media (width>=1100px){.wrap{margin-left:4vw}}.section,.foot,.page-footer{background:linear-gradient(var(--line), var(--line)) no-repeat var(--gutter) 0 / calc(100% - 2 * var(--gutter)) 1px}.bar{z-index:1;align-items:center;gap:1.5rem;padding-block:1.25rem;display:flex;position:relative}.bar .logo{margin:0;padding:0;font-weight:700}.bar .logo a{color:var(--font-color)}.bar .terminal-menu{width:auto;margin-left:auto}.bar .terminal-menu ul{justify-content:flex-end;margin:0}.bar .terminal-menu li{margin-bottom:0}.bar .menu-item:hover{color:var(--font-color)}@media (width<=560px){.bar .terminal-menu{display:none}.bar{justify-content:space-between}.theme-toggle{margin-left:auto}}.link{font:inherit;color:inherit;cursor:pointer;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--secondary-color);text-decoration-color:var(--secondary-color);background:0 0;border:0;margin:0;padding:0}.link:hover{text-decoration-color:currentColor}.theme-toggle{width:2rem;height:2rem;color:var(--secondary-color);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.theme-toggle:hover{color:var(--font-color)}.theme-toggle svg{width:1.05rem;height:1.05rem}.i-sun{display:none}html.dark-theme .i-sun{display:block}html.dark-theme .i-moon{display:none}.loading{min-height:50vh;color:var(--secondary-color);place-content:center;margin:0;display:grid}.dots{white-space:nowrap;vertical-align:bottom;width:0;animation:1.2s steps(4,end) infinite dots;display:inline-block;overflow:hidden}@keyframes dots{to{width:3ch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dots{width:3ch;animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.theme-toggle{color:buttontext}}.rubik{z-index:0;aspect-ratio:1;opacity:.7;pointer-events:none;width:min(46vw,78vh);position:fixed;top:50%;right:3vw;transform:translateY(-50%)}:root{--bar-h:4rem}.bar-sticky{box-sizing:border-box;height:var(--bar-h);background:linear-gradient(var(--line), var(--line)) no-repeat var(--gutter) 100% / calc(100% - 2 * var(--gutter)) 1px, var(--background-color);padding-block:0;position:sticky;top:0}.hero,.section{scroll-margin-top:var(--bar-h)}.hero{padding-block:clamp(4rem,16vh,10rem) clamp(3rem,10vh,6rem)}.meta{color:var(--secondary-color);margin:0 0 1rem}.name{letter-spacing:-.03em;margin:0 0 1.25rem;padding:0;font-size:clamp(2rem,5.2vw,3.6rem);font-weight:700;line-height:1.05;overflow:visible}.terminal .name{font-size:clamp(2rem,5.2vw,3.6rem)}.name:after{content:none}.lede{max-width:28rem;color:var(--text-secondary);margin:0 0 1.75rem}.links{flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;display:flex}.section{padding-block:clamp(2.5rem,7vh,4.5rem)}.section h2{color:var(--secondary-color);margin:0 0 1.75rem;font-weight:700}.section h2:before,.section h2:after{content:none}.sub{color:var(--secondary-color);margin:2.25rem 0 .5rem;font-weight:700}.prose{color:var(--text-secondary);line-height:1.7}.prose p{margin:0 0 1rem}.prose strong{color:var(--font-color)}.list{color:var(--secondary-color);flex-wrap:wrap;gap:.2rem 1.5rem;margin:1.25rem 0 0;display:flex}.list li{width:auto}.rows{margin:0}.rows>li{padding-left:0}.rows>li:before,.rows>li:after{content:none}.row{grid-template-columns:9rem minmax(0,1fr);gap:.4rem 2rem;padding:1rem 0;display:grid}.row-meta{color:var(--secondary-color);margin:0;font-size:.9em}.row-meta b{color:var(--font-color);font-weight:400;display:block}.row-title{margin:0;font-size:1em;font-weight:700;line-height:1.5}.row-title a{color:inherit}.row-desc,.row-authors{color:var(--text-secondary);margin:.35rem 0 0}.row-authors{font-size:.9em}.row-authors b{color:var(--font-color)}.row-tags{color:var(--secondary-color);margin:.5rem 0 0;font-size:.9em}.row-links{flex-wrap:wrap;gap:.25rem 1.25rem;margin:.6rem 0 0;font-size:.9em;display:flex}.notes details{border-top:1px solid var(--line)}.notes details:last-child{border-bottom:1px solid var(--line)}.notes summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;list-style:none;display:flex}.notes summary::-webkit-details-marker{display:none}.notes summary:after{content:"+";color:var(--secondary-color)}.notes details[open] summary:after{content:"–"}.notes summary:hover{color:var(--secondary-color)}.note-body{color:var(--text-secondary);padding:0 0 1.25rem;line-height:1.7}.note-body p{margin:0 0 1rem}.note-body p:last-child{margin-bottom:0}.note-body code{padding:0 .2em}.bookmarks{gap:.5rem;margin:0;display:grid}.foot{padding-block:clamp(3rem,8vh,5rem) 2.5rem}.foot-mail{overflow-wrap:anywhere;color:var(--font-color);font-size:clamp(1.05rem,3.4vw,1.6rem);font-weight:700}.foot-links{flex-wrap:wrap;gap:.25rem 1.5rem;margin:2rem 0 0;display:flex}.foot-base{color:var(--secondary-color);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin:2.5rem 0 0;font-size:.9em;display:flex}.foot-base a{color:inherit}@media (width<=860px){.rubik{opacity:.35;width:min(94vw,62vh);right:50%;transform:translate(50%,-50%)}}@media (width<=640px){.row{grid-template-columns:minmax(0,1fr);gap:.25rem;padding:.9rem 0}.row-meta b{margin-right:.75rem;display:inline}}@media print{.bar,.rubik,.skip{display:none}.hero{padding-top:0}.notes details{break-inside:avoid}}.page{padding-top:2.5rem;padding-bottom:3rem}.page-footer{color:var(--secondary-color);padding-block:1rem 2.5rem;font-size:.9em}.page-footer p{margin:0}.eyebrow{color:var(--secondary-color);margin:0 0 .75rem}.lead{max-width:40rem;color:var(--text-secondary);line-height:1.7}h1.title,.page-hero h1,.hub-title,.notfound h1{letter-spacing:-.02em;margin:0 0 1rem;padding:0;font-size:clamp(1.3rem,3.2vw,1.9rem);font-weight:700;line-height:1.25;overflow:visible}.terminal .page-hero h1,.terminal .hub-title,.terminal .notfound h1{font-size:clamp(1.3rem,3.2vw,1.9rem)}.page-hero h1:after,.notfound h1:after{content:none}.page-hero h1{max-width:34rem}.page-hero{margin-bottom:2.5rem}.post-list{margin:0}.post-list>li{padding-left:0}.post-list>li:before,.post-list>li:after{content:none}.post-card{color:var(--font-color);grid-template-columns:8.5rem minmax(0,1fr);gap:.4rem 1.5rem;padding:1rem 0;text-decoration:none;display:grid}.post-card:hover{background:0 0}.post-card:hover .post-title{text-underline-offset:3px;text-decoration:underline}.post-date{color:var(--secondary-color);font-size:.9em}.post-title{font-weight:700;line-height:1.45;display:block}.post-tags{color:var(--secondary-color);flex-wrap:wrap;gap:.1rem 1rem;margin-top:.4rem;font-size:.9em;display:flex}.post-empty{color:var(--secondary-color)}.reader-meta{color:var(--secondary-color);margin:0 0 1.5rem;font-size:.9em}.markdown-content{max-width:46rem;color:var(--text-secondary);line-height:1.7}.markdown-content h1{color:var(--font-color);letter-spacing:-.02em;margin:0 0 1rem;padding:0;font-size:clamp(1.4rem,3.4vw,1.9rem);line-height:1.25;overflow:visible}.terminal .markdown-content h1{font-size:clamp(1.4rem,3.4vw,1.9rem)}.markdown-content h1:after{content:none}.markdown-content h2{color:var(--font-color);margin:2.5rem 0 .9rem;font-size:1.15em}.markdown-content h3{color:var(--font-color);margin:2rem 0 .7rem;font-size:1.05em}.markdown-content p{margin:0 0 1.1rem}.markdown-content strong{color:var(--font-color)}.markdown-content ul,.markdown-content ol{margin:0 0 1.1rem}.markdown-content li{margin-bottom:.45rem;padding-left:1.4rem}.markdown-content li ul,.markdown-content li ol{margin:.45rem 0 0}.markdown-content hr{border-bottom:1px solid var(--line);margin:2rem 0}.markdown-content blockquote{margin:1.5rem 0}.markdown-content em{color:var(--secondary-color)}.markdown-content pre{white-space:pre;word-break:normal;margin:1.25rem 0;overflow-x:auto}.markdown-content pre code{overflow-x:visible}.table-scroll{-webkit-overflow-scrolling:touch;margin:1.25rem 0;overflow-x:auto}.table-scroll table{min-width:100%;margin:0}.notfound{flex-direction:column;justify-content:center;min-height:55vh;display:flex}.notfound .code{letter-spacing:-.04em;margin:0;font-size:clamp(3rem,14vw,7rem);font-weight:700;line-height:1}.notfound p{max-width:40ch;color:var(--text-secondary)}.tool-page{background:var(--bg-app);min-height:100dvh;color:var(--text-primary)}.hub{max-width:50rem;padding:3rem var(--gutter) calc(4rem + env(safe-area-inset-bottom))}.hub-hero{margin-bottom:2rem}.hub-list{margin:0;padding:0}.hub-list>li{border-top:1px solid var(--line);padding:1.1rem 0}.hub-list>li:last-child{border-bottom:1px solid var(--line)}.hub-list>li:before,.hub-list>li:after{content:none}.hub-link{color:var(--font-color);font-weight:700}.hub-desc{color:var(--text-secondary);margin:.35rem 0 0}.hub-tags{color:var(--secondary-color);margin:.5rem 0 0;font-size:.9em}.hub-note{color:var(--secondary-color);margin-top:2rem;font-size:.9em}@media (width<=760px){.post-card{grid-template-columns:minmax(0,1fr);gap:.25rem}}.tool-shell :where(ul,ol){margin:0;padding:0;list-style:none}.tool-shell :where(li){padding-left:0;display:block}.tool-shell :where(ul>li):after,.tool-shell :where(ol li):before,.tool-shell :where(ol ol li):before{content:none}.tool-shell :where(h1,h2,h3,h4,h5,h6,p,blockquote){margin:0;padding:0}.tool-shell :where(code):before,.tool-shell :where(code):after{content:none}.tool-shell :where(code){background:0 0}.tool-shell :where(label){width:auto;display:inline}.tool-shell :where(a:not(.btn)):hover{color:var(--accent);background:0 0}.tool-shell :where(img,svg){max-width:100%}.tool-shell :where(table){margin:0}.tool-shell :where(fieldset){border:0;min-width:0;margin:0;padding:0}.tool-shell .prose :where(ul>li){padding-left:1.25rem;position:relative}.tool-shell .prose :where(ul>li):after{content:"-"}.tool-shell{background:var(--bg-app);height:100dvh;color:var(--text-primary);flex-direction:column;display:flex}.tool-body{flex:1;min-height:0;display:flex}.tool-bar{z-index:60;height:var(--bar-h);padding:0 max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));background:var(--bg-panel);border-bottom:1px solid var(--border-strong);flex-shrink:0;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.tool-back{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.4rem;margin-left:-.6rem;padding:.4rem .6rem;display:inline-flex}.tool-back:hover{background:var(--accent);color:var(--accent-contrast)}.tool-back svg{flex-shrink:0;width:16px;height:16px}.tool-bar-divider{background:var(--border-strong);flex-shrink:0;width:1px;height:18px}.tool-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:1em;font-weight:700;overflow:hidden}.tool-bar-spacer{flex:1;min-width:0}.tool-bar-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.tool-switch{position:relative}.tool-switch-toggle{border:1px solid var(--secondary-color);height:2.25rem;color:var(--font-color);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.4rem;padding:0 .7rem;display:inline-flex}.tool-switch-toggle:hover,.tool-switch.open .tool-switch-toggle{color:var(--accent);border-color:var(--accent)}.tool-switch-toggle svg{flex-shrink:0;width:15px;height:15px}.tool-switch-toggle svg:last-child{width:12px;height:12px;transition:transform var(--t)}.tool-switch.open .tool-switch-toggle svg:last-child{transform:rotate(180deg)}.tool-switch-menu{background:var(--bg-elevated);border:1px solid var(--secondary-color);visibility:hidden;opacity:0;min-width:15rem;transition:opacity var(--t-fast), visibility var(--t-fast);position:absolute;top:calc(100% + 6px);right:0}.tool-switch.open .tool-switch-menu{visibility:visible;opacity:1}.tool-switch-menu ul{padding:.25rem}.tool-switch-item{color:var(--text-primary);align-items:center;gap:.6rem;padding:.5rem .65rem;display:flex}.tool-switch-item:hover,.tool-switch-item:focus-visible{background:var(--accent);color:var(--accent-contrast)}.tool-switch-item svg{flex-shrink:0;width:15px;height:15px}.tool-switch-item[aria-current=page]{color:var(--accent)}.tool-switch-item[aria-current=page]:after{content:"●";margin-left:auto;font-size:.6em}.tool-switch-item[aria-current=page]:hover{color:var(--accent-contrast)}.tool-switch-sep{border-top:1px dashed var(--border-strong);height:0;margin:.25rem}.sidebar{background:var(--bg-panel);overscroll-behavior:contain;flex-direction:column;flex-shrink:0;gap:1.5rem;width:300px;padding:1.25rem 1rem;display:flex;overflow-y:auto}.left-sidebar{border-right:1px solid var(--border-strong)}.right-sidebar{border-left:1px solid var(--border-strong)}.control-stack,.info-stack{flex-direction:column;gap:1.5rem;display:flex}.control-group,.panel-section{flex-direction:column;gap:.6rem;display:flex}.panel-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.panel-title{color:var(--text-tertiary);font-size:.8em;font-weight:700}.surface{background:var(--bg-card);border:1px solid var(--border-strong)}.stage{background:var(--bg-app);flex-direction:column;flex:1;min-width:0;display:flex}.canvas-container{background:var(--bg-app);flex:1;min-width:0;min-height:0;position:relative}.field-label{color:var(--text-tertiary);font-size:.8em;font-weight:700;display:block}label.field-label{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.field-value{letter-spacing:0;text-transform:none;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.tool-shell :where(select,input[type=text],input[type=number],input[type=search]){background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:0;width:100%;min-height:2.5rem;padding:.5rem .6rem;font-size:.95em}.tool-shell :where(select,input[type=text],input[type=number],input[type=search]):focus{border-color:var(--accent);outline:none}.tool-shell :where(select){cursor:pointer;padding-right:2rem}.tool-shell :where(select:disabled,input:disabled,button:disabled,textarea:disabled){opacity:.5;cursor:not-allowed}.tool-shell :where(textarea){background:var(--bg-inset);border:1px solid var(--border-strong);resize:vertical;width:100%;padding:.5rem .6rem;font-size:.9em;line-height:1.5}.tool-shell :where(textarea):focus{border-color:var(--accent);outline:none}.tool-shell :where(input[type=range]){width:100%;height:1.75rem;accent-color:var(--accent);cursor:pointer;background:0 0}.tool-shell :where(input[type=checkbox],input[type=radio]){accent-color:var(--accent);cursor:pointer}.tool-shell .btn{white-space:nowrap;gap:.45rem;min-height:2.5rem;padding:.5em .85em}.tool-shell .btn:disabled{opacity:.45;cursor:not-allowed}.tool-shell .btn-icon{flex:none;width:2.6rem;padding:.5em 0}.tool-shell .btn-grow{flex:auto}.tool-shell .btn svg{flex-shrink:0;width:16px;height:16px}.tool-shell .btn.btn-default{background:var(--font-color);border-color:var(--font-color);color:var(--invert-font-color)}.tool-shell .btn.btn-default:hover:not(:disabled){background:var(--secondary-color);border-color:var(--secondary-color)}.tool-shell .btn.btn-ghost{background:0 0}.tool-shell .btn.btn-ghost.btn-default{color:var(--font-color)}.tool-shell .btn.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.tool-shell .btn.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.tool-shell .btn.btn-primary.btn-ghost{color:var(--accent);background:0 0}.tool-shell .btn.btn-primary.btn-ghost:hover:not(:disabled){background:var(--accent-light)}.tool-shell .btn[aria-pressed=true],.tool-shell .btn.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-row{gap:.5rem;display:flex}.btn-row>.btn{white-space:normal;flex:1;min-width:0;line-height:1.25}.btn-row>.btn.btn-grow{flex:auto}.btn-row>input{flex:1;min-width:0}.btn-row>.btn-icon{flex:none}.icon-button{width:2.25rem;height:2.25rem;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.icon-button:hover{color:var(--accent);border-color:var(--accent)}.icon-button svg{width:16px;height:16px}.link-btn{font:inherit;color:var(--text-tertiary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin:-.1rem -.25rem;padding:.1rem .25rem;font-size:.85em;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.link-btn:hover{color:var(--accent)}.segmented{border:1px solid var(--border-strong);flex-wrap:wrap;display:flex}.segmented input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.segmented label{text-align:center;text-transform:none;letter-spacing:0;min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-right:1px solid var(--border);flex:auto;padding:.45rem .5rem}.segmented label:last-of-type{border-right:0}.segmented label:hover{color:var(--text-primary);background:var(--bg-hover)}.segmented input:checked+label{background:var(--accent);color:var(--accent-contrast)}.segmented input:focus-visible+label{outline:2px dashed var(--accent);outline-offset:-3px}.segmented-group{border:0;min-width:0;margin:0;padding:0}.toggle-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.toggle-row label{text-transform:none;letter-spacing:0;color:var(--text-primary);cursor:pointer;margin:0}.toggle-row input{flex-shrink:0;width:16px;height:16px}.hint{color:var(--text-tertiary);text-wrap:pretty;font-size:.85em;line-height:1.55}.hint em{color:var(--text-secondary);font-style:normal;font-weight:700}.blurb{color:var(--text-secondary);text-wrap:pretty;font-size:.9em;line-height:1.6}.error-text{color:var(--viz-swap);font-size:.85em;font-weight:700}.warn-text{color:var(--viz-compare);border:1px dashed var(--viz-compare);padding:.45rem .6rem;font-size:.85em;line-height:1.5}.status-box{color:var(--text-secondary);background:var(--bg-inset);border:1px solid var(--border);padding:.7rem .85rem;line-height:1.5}.legend-list{color:var(--text-secondary);flex-direction:column;gap:.55rem;display:flex}.legend-list li{align-items:center;gap:.6rem;display:flex}.legend-color{border:1px solid;flex-shrink:0;width:14px;height:14px}.entity-list{flex-direction:column;gap:.35rem;max-height:220px;display:flex;overflow-y:auto}.entity-row{background:var(--bg-inset);border:1px solid var(--border);align-items:center;gap:.5rem;padding:.35rem .55rem;display:flex}.entity-swatch{flex-shrink:0;width:10px;height:10px}.entity-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;font-weight:700;overflow:hidden}.entity-count{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:.85em}.entity-remove{color:var(--text-tertiary);cursor:pointer;width:22px;height:22px;font:inherit;background:0 0;border:0;flex-shrink:0;place-items:center;line-height:1;display:grid}.entity-remove:hover{background:var(--viz-swap);color:var(--accent-contrast)}.entity-empty{color:var(--text-tertiary)}.complexity-box{background:var(--bg-inset);border:1px solid var(--border);flex-direction:column;gap:.35rem;margin:0;padding:.75rem .9rem;display:flex}.complexity-box>div{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.complexity-box dt{color:var(--text-secondary)}.complexity-box dd{color:var(--text-primary);margin:0;font-weight:700}.metrics{background:var(--border-strong);border:1px solid var(--border-strong);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;display:grid}.metric{background:var(--bg-panel);flex-direction:column;gap:.15rem;padding:.55rem .85rem;display:flex}.metric-label{color:var(--text-tertiary);font-size:.75em;font-weight:700}.metric-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.1em;font-weight:700}.metric-value.is-accent{color:var(--accent)}.timeline{background:var(--bg-panel);border-top:1px solid var(--border-strong);align-items:center;gap:.75rem;padding:.4rem 1rem;display:flex}.timeline input[type=range]{flex:1;height:1.5rem}.timeline-label{text-align:right;min-width:4ch;color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-weight:700}.pseudocode{background:var(--bg-inset);border:1px solid var(--border);padding:.5rem 0;font-size:.85em;line-height:1.65;overflow-x:hidden}.pseudocode li{color:var(--text-secondary);border-left:2px solid #0000;gap:.6rem;padding:.1rem .7rem;display:flex}.pseudocode li code{white-space:pre-wrap;overflow-wrap:break-word;text-indent:-1.1em;font-size:inherit;padding-left:1.1em}.pseudocode .ln{text-align:right;min-width:1.4ch;color:var(--text-tertiary);opacity:.7;-webkit-user-select:none;user-select:none}.pseudocode li.active{background:var(--accent-light);border-left-color:var(--accent);color:var(--text-primary)}.pseudocode li.active code{color:var(--accent);font-weight:700}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.mini-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85em}.mini-table th{text-align:left;color:var(--text-tertiary);border:0;border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:.3rem .45rem;font-size:.8em;font-weight:700}.mini-table th:first-child,.mini-table td:first-child{padding-left:0}.mini-table th:last-child,.mini-table td:last-child{padding-right:0}.mini-table td{color:var(--text-secondary);border:0;border-bottom:1px solid var(--border);white-space:nowrap;padding:.35rem .45rem}.mini-table tr:last-child td{border-bottom:0}.mini-table .num{text-align:right}.mini-table td.num{color:var(--text-primary);font-weight:700}@media (width<=640px){.tool-back-label,.tool-switch-toggle-label{display:none}.tool-back{margin-left:-.4rem;padding:.4rem}.tool-switch-toggle{padding:0 .55rem}.tool-switch-menu{min-width:13rem}.tool-shell :where(select,input[type=text],input[type=number],input[type=search],textarea){font-size:16px}}
