*,: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);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:1rem 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{grid-area:title;margin:0;font-size:.82rem;font-weight:800}.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{pointer-events:none;left:max(1.5rem, env(safe-area-inset-left))!important;top:max(3.5rem, env(safe-area-inset-top))!important;z-index:2000!important;position:fixed!important;bottom:auto!important;right:auto!important}@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);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%}.save-btn{left:50%;bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:1000;pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f4f4f4e6;font-family:var(--ui-font);letter-spacing:var(--ui-tracking);cursor:pointer;-webkit-font-smoothing:antialiased;background:#040a12a6;border:1px solid #ffffff40;border-radius:999px;padding:.5rem 1.25rem;font-size:11px;transition:background .24s,border-color .24s;position:fixed;transform:translate(-50%)}.save-btn:hover{background:#040a12d9;border-color:#ffffff73}.save-btn:active{background:#040a12f2}.loading-progress{z-index:10000;flex-direction:column;align-items:center;gap:.75rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-progress__track{background:#ffffff26;width:160px;height:6px;overflow:hidden}.loading-progress__fill{background:#7fffd4;width:0;height:100%;transition:width .2s}.loading-progress__label{letter-spacing:var(--ui-tracking);color:#ffffff80;margin:0;font-size:9px}.plane-label-overlay{z-index:80;pointer-events:none;color:#f4f4f4eb;transition:opacity .26s;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,480px);color:inherit;font-family:var(--ui-font);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(12px,.72vw,16px)}.plane-label-card__specs{gap:.25rem;margin:0;display:grid}.plane-label-card__row{grid-template-columns:3.5rem 1fr;align-items:baseline;gap:1.8rem;margin:0;font-size:clamp(12px,.78vw,11px);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(12px,.72vw,16px)}@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,480px)}.plane-label-card__row{grid-template-columns:2.8rem 1fr;gap:1.8rem}}
