@font-face{font-family:Tomas Sans;font-style:normal;font-display:swap;font-weight:300 550;font-stretch:100% 108%;src:url(/assets/tomas-sans-B_0viEkk.woff2)format("woff2-variations")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,oklch(98.2% .003 46))var(--lightningcss-dark,oklch(16.5% .004 46));--line:var(--lightningcss-light,oklch(90.5% .005 46))var(--lightningcss-dark,oklch(27% .006 46));--line-strong:var(--lightningcss-light,oklch(80% .006 46))var(--lightningcss-dark,oklch(38% .006 46));--text:var(--lightningcss-light,oklch(20% .006 46))var(--lightningcss-dark,oklch(93.5% .004 46));--text-2:var(--lightningcss-light,oklch(47% .008 46))var(--lightningcss-dark,oklch(72% .006 46));--accent:var(--lightningcss-light,oklch(78% .155 86))var(--lightningcss-dark,oklch(86% .15 92));--selection:var(--lightningcss-light,oklch(88% .006 46))var(--lightningcss-dark,oklch(34% .006 46));--image-edge:var(--lightningcss-light,oklch(20% .006 46/.1))var(--lightningcss-dark,oklch(100% 0 0/.1));--surface:var(--lightningcss-light,oklch(99.5% .002 46))var(--lightningcss-dark,oklch(21.5% .005 46));--shadow-card:0 1px 2px var(--lightningcss-light,oklch(20% .006 46/.04))var(--lightningcss-dark,oklch(0% 0 0/.3)), 0 8px 24px -6px var(--lightningcss-light,oklch(20% .006 46/.1))var(--lightningcss-dark,oklch(0% 0 0/.45));--font:"Tomas Sans", ui-sans-serif, system-ui, sans-serif;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-title:clamp(1.1875rem, 1.1rem + .35vw, 1.375rem);--text-lead:clamp(1.25rem, 1.1rem + .65vw, 1.625rem);--text-email:clamp(1.375rem, .75rem + 3.2vw, 3rem);--text-display:clamp(2.75rem, 1.4rem + 6vw, 6.25rem);--leading-body:1.6;--gutter:clamp(1.25rem, .5rem + 3.5vw, 3rem);--section-space:clamp(5.5rem, 3rem + 8vw, 10rem);--max-width:78rem;--header-h:5rem;--hero-pad:clamp(3rem, 1rem + 8vw, 8rem);--frame:min(var(--max-width), 100vw - var(--gutter));--x-center:.123;--ease-out:cubic-bezier(.23, 1, .32, 1);--header-ease:var(--ease-out)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{color:var(--text);font-family:var(--font);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,p,ul,ol,dl,dd{margin:0}h1,h2,h3{font-weight:inherit;text-wrap:balance}p,li,dd{text-wrap:pretty}img{max-width:100%;height:auto;display:block}::selection{background:var(--selection);color:var(--text)}a{color:inherit;text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.22em;transition:text-decoration-color .15s,color .15s}:focus-visible{outline:1.5px solid var(--text);outline-offset:3px;border-radius:2px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--max-width);padding-inline:max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right));margin-inline:auto}.arrow{vertical-align:.05em;width:.75em;height:.75em;color:var(--text-2);transition:transform .2s var(--ease-out), color .15s ease;display:inline-block}.skip-link{top:.75rem;left:var(--gutter);z-index:40;background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);font-size:var(--text-sm);border-radius:2px;padding:.5rem .75rem;position:fixed;translate:0 -200%}.skip-link:focus,.skip-link:focus-visible{translate:none}.page>main{padding-bottom:6rem}.page>main:focus{outline:none}.site-header{height:var(--header-h);font-size:var(--text-sm);align-items:center;display:flex}.crumbs{color:var(--text-2);gap:.5rem;display:flex}.crumbs a{color:var(--text);text-decoration:none}.crumbs a:hover{text-decoration-line:underline}.intro{max-width:52rem;padding-top:clamp(2rem,1rem + 4vw,4.5rem)}.title{letter-spacing:-.02em;font-size:clamp(2.25rem,1.6rem + 3vw,3.75rem);font-weight:300;font-stretch:104%;line-height:1.05}.lead{color:var(--text-2);font-size:var(--text-title);margin-top:1rem;line-height:1.45}.note{color:var(--text-2);font-size:var(--text-sm);margin-top:.75rem}.button,.chip{outline:1px solid var(--line-strong);outline-offset:-1px;font-size:var(--text-sm);border-radius:999px;line-height:1;transition:background-color .15s,outline-color .15s}.button{padding:.625rem 1rem;font-weight:500}.chip{color:var(--text-2);padding:.375rem .75rem}.chip[aria-pressed=true]{outline-color:var(--text);color:var(--text)}:is(.button,.chip):disabled{cursor:default;opacity:.5}@media (hover:hover){:is(.button,.chip):not(:disabled):hover{background:var(--surface);outline-color:var(--text-2)}}.demo-list{border-top:1px solid var(--line);margin-top:3rem;padding:0;list-style:none}.demo-list li{border-bottom:1px solid var(--line)}.demo-link{gap:.25rem;padding-block:1.25rem;text-decoration:none;display:grid}.demo-name{font-size:var(--text-title);font-weight:400}.demo-description{color:var(--text-2)}.demo-tags{color:var(--text-2);font-size:var(--text-xs)}@media (hover:hover){.demo-link:hover .demo-name{text-decoration-line:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}}.push-swap{max-width:none}.push-swap :is(.lead,.note){max-width:44rem}.ps-command{background:var(--surface);outline:1px solid var(--line);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-sm);border-radius:999px;align-items:center;gap:.75rem;margin-top:2.5rem;padding:.375rem .375rem .375rem 1rem;display:flex}.ps-command:focus-within{outline-color:var(--text-2)}.ps-prompt{color:var(--text-2);flex:none}.ps-args{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;flex:1;padding:.25rem 0}.ps-args:focus-visible{outline:none}.ps-command .button{font-family:var(--font)}.ps-random{color:var(--text-2);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.ps-random span{margin-right:.25rem}.ps-status{min-height:1.6em;margin-top:2rem}.ps-error{color:var(--text-2);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-sm);margin:1rem 0 0}.ps-grid{grid-template-columns:minmax(0,1fr) 12rem;grid-template-areas:"stacks output""controls.";gap:1rem 1.5rem;margin-top:1.25rem;display:grid}.ps-stacks{grid-area:stacks}.ps-controls{grid-area:controls}.ps-output{contain:size;grid-area:output}.ps-stacks{background:var(--surface);outline:1px solid var(--line);border-radius:12px;gap:.5rem;padding:1rem;display:grid}.ps-stack-labels{color:var(--text-2);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-xs);grid-template-columns:1fr 1fr;gap:24px;display:grid}.ps-canvas{width:100%;height:clamp(16rem,50vh,28rem);color:var(--text);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);display:block}.ps-controls{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.ps-controls>.button{min-width:5.5rem}.ps-scrub{min-width:8rem;accent-color:var(--text);flex:1}.ps-count{min-width:6ch;color:var(--text-2);font-variant-numeric:tabular-nums}.ps-speed{gap:.375rem;display:flex}.ps-output{background:var(--surface);outline:1px solid var(--line);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-sm);border-radius:12px;flex-direction:column;display:flex}.ps-output-head{border-bottom:1px solid var(--line);color:var(--text-2);font-family:var(--font);padding:.75rem 1rem}.ps-lines{counter-reset:line;flex:1;margin:0;padding:.5rem 0;list-style:none;position:relative;overflow-y:auto}.ps-lines button{width:100%;color:var(--text-2);font:inherit;text-align:left;gap:1rem;padding:0 1rem;line-height:1.6;display:flex}.ps-lines li{counter-increment:line}.ps-lines button:before{content:counter(line);min-width:4ch;color:var(--line-strong);text-align:right;font-variant-numeric:tabular-nums}.ps-lines li[data-current] button{background:var(--selection);color:var(--text)}.ps-stderr{color:var(--text-2);padding:0 1rem .75rem}@media (width<=52rem){.ps-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"stacks""controls""output"}.ps-output{contain:none;height:16rem}}
