*,:after,:before{box-sizing:border-box}:root{--color-text:#fff;--color-bg:#fff;--color-link:#fff;--color-link-hover:#fff;--page-padding:1.5rem;--ui-font:"IBM Plex Mono", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ui-tracking:.08em;font-size:12px}body{color:var(--color-text);background-color:var(--color-bg);font-family:var(--ui-font);text-transform:uppercase;letter-spacing:var(--ui-tracking);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:.82rem;line-height:1.2;transition:color .52s}body.frame-text-dark{--color-text:#121212;--color-link:#121212;--color-link-hover:#121212}@media (scripting:enabled){.loading:before,.loading:after{content:"";z-index:10000;position:fixed}.loading:before{background:var(--color-bg);width:100%;height:100%;top:0;left:0}.loading:after{background:var(--color-link);width:100px;height:1px;margin:0 0 0 -50px;animation:1.5s ease-in-out infinite alternate forwards loaderAnim;top:50%;left:50%}}@keyframes loaderAnim{0%{transform-origin:0%;transform:scaleX(0)}50%{transform-origin:0%;transform:scaleX(1)}50.1%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}a{color:var(--color-link);cursor:pointer;outline:none;text-decoration:none;transition:color .52s}a:hover{color:var(--color-link-hover);text-decoration:underline}a:focus{background:#d3d3d3;outline:none}a:focus:not(:focus-visible){background:0 0}a:focus:focus-visible{background:0 0;outline:2px solid red}.frame,.frame span,.frame p,.frame h1{transition:color .52s}.frame{padding:3rem var(--page-padding) 0;z-index:1000;grid-row-gap:1rem;grid-column-gap:2rem;pointer-events:none;grid-template-columns:auto auto auto 1fr;grid-template-areas:"title title title title""back archive github.""credit credit credit credit""tags tags tags tags""sponsor sponsor sponsor sponsor";justify-items:start;display:grid;position:relative}.frame #cdawrap{grid-area:sponsor;justify-self:start}.frame a,.frame button{pointer-events:auto}.frame .frame__title{font-size:inherit;grid-area:title;margin:0;font-weight:600}.frame .frame__back{grid-area:back;justify-self:start}.frame .frame__archive{grid-area:archive;justify-self:start}.frame .frame__github{grid-area:github}.frame .frame__tags{flex-wrap:wrap;grid-area:tags;gap:1rem;display:flex}.frame .frame__demos{flex-wrap:wrap;grid-area:demos;gap:1rem;display:flex}.frame .frame__credit{opacity:.78;letter-spacing:var(--ui-tracking);text-align:right;grid-area:credit;margin:0;font-size:.78rem;font-weight:500;line-height:1.2}.frame .frame__credit p{margin-bottom:0}@media screen and (width>=53em){.frame{padding:var(--page-padding);grid-template:"title back github archive sponsor""tags tags tags credit credit"/auto auto auto auto 1fr;align-content:space-between;width:100%;height:100%;position:fixed;top:0;left:0}.frame .frame__tags{align-self:end}.frame .frame__credit,.frame #cdawrap{text-align:right;justify-self:end;max-width:300px}}.content{padding:var(--page-padding);pointer-events:none;flex-direction:column;width:100vw;display:flex;position:relative}@media screen and (width>=53em){.content{justify-content:center;align-items:center;min-height:100vh}}.webgl{pointer-events:auto;touch-action:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0}.debug-pane{z-index:2000;position:fixed;top:4rem;right:1rem}.fps-stats{left:max(1.5rem, env(safe-area-inset-left));top:max(3.5rem, env(safe-area-inset-top));z-index:2000;pointer-events:none;position:fixed;bottom:auto;right:auto}@media (width<=53em){.debug-pane{top:auto;right:max(1.2rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom))}}.velocity-visualizer{left:max(1.52rem, env(safe-area-inset-left));bottom:max(4.75rem, env(safe-area-inset-bottom));z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;width:220px;font-family:var(--ui-font);text-transform:uppercase;letter-spacing:var(--ui-tracking);pointer-events:none;background:#040a12cc;border:1px solid #fff3;padding:.5rem .625rem;position:fixed}.velocity-visualizer__label,.velocity-visualizer__value{margin:0;font-size:10px}.velocity-visualizer__value{margin-top:.25rem}.velocity-visualizer__track{background:#ffffff1f;width:100%;height:6px;margin-top:.5rem;position:relative}.velocity-visualizer__fill{background:#7fffd4;width:0;height:100%;position:absolute;top:0;left:50%}.plane-label-overlay{z-index:80;pointer-events:none;color:#f4f4f4eb;transition:opacity .26s;display:none;position:fixed;inset:0}.plane-label-overlay__left{gap:.75rem;display:grid;position:absolute;top:50%;left:clamp(2.5rem,8vw,12rem);transform:none}.plane-label-overlay__index{opacity:1;margin:0;font-size:9px}.plane-label-overlay__chip{border-radius:50%;width:18px;height:18px;display:inline-block;box-shadow:0 0 0 1px #ffffff24}.plane-label-overlay__right{position:absolute;top:50%;right:clamp(2.5rem,7vw,10rem);transform:none}.plane-label-card{pointer-events:none;opacity:1;width:min(28vw,360px);color:inherit;font-family:var(--ui-font);text-transform:uppercase;letter-spacing:var(--ui-tracking);grid-template-columns:1fr;align-items:start;line-height:1.15;display:grid}.plane-label-card__word{white-space:nowrap;margin:0;font-size:clamp(9px,.78vw,11px)}.plane-label-card__specs{gap:.25rem;margin:0;display:grid}.plane-label-card__row{grid-template-columns:3.5rem 1fr;align-items:baseline;gap:.8rem;margin:0;display:grid}.plane-label-card__row dt,.plane-label-card__row dd{margin:0}.plane-label-card__row dt{opacity:1;font-size:9px}.plane-label-card__value{opacity:1;font-size:clamp(9px,.72vw,11px)}@media (width<=53em){.plane-label-overlay{inset:auto 0 max(6.25rem, env(safe-area-inset-bottom)) 0;padding:0 max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));grid-template-columns:auto auto;justify-content:space-between;align-items:start;gap:.55rem 1.5rem;display:grid}.plane-label-overlay__left{grid-area:2/1;gap:.5rem;position:static;transform:none}.plane-label-overlay__right{grid-area:2/2;position:static;transform:none}.plane-label-card{width:auto;max-width:min(58vw,270px)}.plane-label-card__word{font-size:10px}.plane-label-card__row{grid-template-columns:2.8rem 1fr;gap:.6rem}.plane-label-card__value{font-size:9px}}.site-header{z-index:100;pointer-events:none;justify-content:space-between;align-items:center;padding:2rem 2.5rem;display:flex;position:fixed;top:0;left:0;right:0}.site-title{letter-spacing:.18em;color:#ffffffeb;pointer-events:auto;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;transition:opacity .2s}.site-title:hover{opacity:.8}.save-copy-btn{z-index:95;pointer-events:auto;letter-spacing:.01em;text-align:left;color:#fffffff0;text-shadow:0 2px 18px #00000059;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.2em;padding:0;font-family:Caveat,Comic Sans MS,cursive;font-size:clamp(2.8rem,5.6vw,5rem);font-weight:700;line-height:.95;transition:opacity .32s,transform .42s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:50%;right:clamp(2rem,21vw,22rem);transform:translateY(-50%)rotate(-4deg)}.save-copy-btn__text{display:block}.save-copy-btn__arrow{padding-left:.1em;font-size:.75em;transition:transform .32s cubic-bezier(.16,1,.3,1);display:block}.save-copy-btn:hover{transform:translateY(-50%)rotate(-2deg)scale(1.04)}.save-copy-btn:hover .save-copy-btn__arrow{transform:translate(.35em)}.save-copy-btn:focus-visible{outline-offset:.3em;outline:2px dashed #ffffffb3}.save-copy-btn.is-hidden{opacity:0;pointer-events:none;transform:translateY(-50%)rotate(-4deg)scale(.96)}body.is-nav-back{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'><path d='M26 18H10m0 0l7-7m-7 7l7 7' fill='none' stroke='rgba(0,0,0,0.55)' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/><path d='M26 18H10m0 0l7-7m-7 7l7 7' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") 18 18,w-resize}body.is-nav-forward{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'><path d='M10 18h16m0 0l-7-7m7 7l-7 7' fill='none' stroke='rgba(0,0,0,0.55)' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/><path d='M10 18h16m0 0l-7-7m7 7l-7 7' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") 18 18,e-resize}.gallery-viewport{pointer-events:none;height:100vh;position:relative}.preorder-section{padding:2.5rem max(7vw, env(safe-area-inset-left));z-index:90;pointer-events:none;opacity:0;visibility:hidden;justify-content:flex-start;align-items:center;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),visibility .45s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0;transform:translateY(24px)}.preorder-section.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.preorder-form{color:#fffffff0;text-shadow:0 2px 18px #00000059;margin:0}.preorder-submit-btn{letter-spacing:.01em;text-align:left;color:inherit;transform-origin:0;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.2em;padding:0;font-family:Caveat,Comic Sans MS,cursive;font-size:clamp(2.8rem,5.6vw,5rem);font-weight:700;line-height:.95;transition:transform .42s cubic-bezier(.16,1,.3,1);display:flex;transform:rotate(-3deg)}.preorder-submit-btn__text{display:block}.preorder-submit-btn__arrow{padding-left:.1em;font-size:.75em;transition:transform .32s cubic-bezier(.16,1,.3,1);display:block}.preorder-submit-btn:hover{transform:rotate(-1deg)scale(1.04)}.preorder-submit-btn:hover .preorder-submit-btn__arrow{transform:translate(.35em)}.preorder-submit-btn:focus-visible{outline-offset:.3em;outline:2px dashed #ffffffb3}@media (width<=60em){.site-header{padding:1.25rem 1.5rem}.save-copy-btn{top:auto;right:max(1.5rem, env(safe-area-inset-right));bottom:max(9.5rem, env(safe-area-inset-bottom));font-size:clamp(2.2rem,9vw,3rem);transform:rotate(-4deg)}.save-copy-btn:hover{transform:rotate(-2deg)scale(1.04)}.save-copy-btn.is-hidden{transform:rotate(-4deg)scale(.96)}.preorder-section{justify-content:center;padding:2rem 1.5rem}.preorder-submit-btn{text-align:center;transform-origin:50%;align-items:center;font-size:clamp(2.6rem,11vw,3.6rem)}}
