@font-face{font-family:Mona Sans;src:url(fonts/mona-sans-latin-wght-normal.woff2) format("woff2");font-weight:200 900;font-display:swap}@font-face{font-family:Martian Mono;src:url(fonts/martian-mono-latin-wdth-normal.woff2) format("woff2");font-weight:100 800;font-stretch:75% 112.5%;font-display:swap}:root{--bg: #090a0c;--bg-1: #0e1013;--bg-2: #15181c;--line: rgb(255 255 255 / .1);--line-2: rgb(255 255 255 / .22);--text: #e1e3dc;--text-2: #a6adb5;--text-3: #7b838c;--hot: #ffb224;--open: #ff4d3d;--radius: 8px;--ease: cubic-bezier(.22, 1, .36, 1);--sans: "Mona Sans", ui-sans-serif, system-ui, sans-serif;--mono: "Martian Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;overflow-x:clip;background:var(--bg);color:var(--text);font:400 1rem/1.5 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,ul,ol,dl,dd,figure,pre{margin:0;padding:0}ul,ol{list-style:none}button{font:inherit;color:inherit}::selection{background:var(--hot);color:var(--bg)}:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mono,code,pre{font-family:var(--mono);font-stretch:87.5%}code .rem{color:var(--text-3)}code .ok{color:var(--text)}code .warn{color:var(--hot)}code .bad{color:var(--open)}:root{--vw: 100vw;--frame-w: min(var(--vw), calc(100svh * 16 / 9));--edge: max(1.1rem, calc((var(--vw) - var(--frame-w)) / 2 + var(--frame-w) * .02917));--line-size: clamp(2.3rem, calc(var(--frame-w) * .0467), 5.6rem)}.skip{position:fixed;z-index:20;top:.6rem;left:var(--edge);padding:.6rem .9rem;border-radius:var(--radius);background:var(--text);color:var(--bg);font-size:.9rem;text-decoration:none;transform:translateY(-300%)}.skip:focus{transform:none}.top{position:fixed;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.1rem var(--edge);border-bottom:1px solid var(--line);background:#090a0cd1;backdrop-filter:blur(14px) saturate(1.5);pointer-events:none}.top.clear{border-bottom-color:transparent;background-color:transparent;backdrop-filter:none}.top a{pointer-events:auto;text-decoration:none}.brand{display:inline-flex;align-items:center;color:var(--text)}.brand svg{height:1.05rem;fill:currentColor}.top nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem);font-size:.92rem;line-height:1}.top nav a{color:var(--text-2);transition:color .15s}.top nav a:hover{color:var(--text)}.top nav .start{padding:.55rem .85rem;border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);transition:background .15s,color .15s,border-color .15s}.top nav .start:hover{border-color:var(--text);background:var(--text);color:var(--bg)}.bar{display:flex;gap:3px}.bar button{position:relative;flex:var(--share, 1) 1 0;height:1.75rem;padding:0;border:0;background:none;cursor:pointer}.bar button:before,.bar button i{content:"";position:absolute;inset:50% 0 auto;height:2px;margin-top:-1px;border-radius:1px;transition:height .15s,margin .15s}.bar button:before{background:#ffffff38}.bar button i{background:var(--text);transform:scaleX(var(--p, 0));transform-origin:left}.bar button:hover:before,.bar button:hover i{height:4px;margin-top:-2px}.foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem 2rem;padding:2.2rem var(--edge) 2rem;border-top:1px solid var(--line);color:var(--text-3);font:400 .76rem/1.5 var(--mono);font-stretch:87.5%}.foot nav{display:flex;gap:1.6rem}.foot a{color:var(--text-2);text-decoration:none}.foot a:hover{color:var(--text)}@media(prefers-reduced-motion:no-preference){.top{transition:border-color .2s,background-color .2s,backdrop-filter .2s}}@media(max-width:760px),(max-aspect-ratio:1 / 1),(max-height:540px){.top{position:absolute}}@media(max-width:760px),(max-aspect-ratio:1 / 1){.top nav a:not(.start){display:none}}@media(max-height:540px)and (min-aspect-ratio:1 / 1),(min-width:761px)and (max-width:960px)and (min-aspect-ratio:1 / 1){.top{padding-block:.45rem}.brand svg{height:.9rem}.top nav{font-size:.8rem}.top nav .start{padding:.4rem .7rem}}.top{position:absolute;border-bottom-color:transparent;background:none;backdrop-filter:none}.guide{--col: min(max(calc(var(--vw) * .48), 34rem), 43rem);--gap: clamp(1.5rem, calc(var(--vw) * .04), 4.5rem);position:relative}.stage{position:sticky;top:0;height:100svh;overflow:clip}.world{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s var(--ease)}.lit .world{opacity:1}.seat{position:absolute;inset:15svh var(--edge) 13svh calc(var(--edge) + var(--col) + var(--gap));pointer-events:none}.seat.end{inset:8svh var(--edge) 8svh calc(var(--edge) + var(--col) + var(--gap) * .3)}.flat{display:block;width:100%;height:100%;overflow:visible}.flat .block{fill:#e1e3dc00;stroke:var(--line-2);stroke-dasharray:3 5;vector-effect:non-scaling-stroke;transition:fill .5s var(--ease),stroke .5s var(--ease)}.flat .block.shut{fill:#e1e3dc12;stroke-dasharray:none}.flat .block.lit{fill:var(--text);stroke:var(--text)}.flat .seam{fill:var(--hot)}html:not(.gl) :is(.world,.found,.tip),.gl .flat{display:none}.found,.tip{position:absolute;top:0;left:0;pointer-events:none}.found{display:grid;gap:.35rem;padding:1.5rem 0 0 .85rem;white-space:nowrap;opacity:0}.found:before{content:"";position:absolute;top:.3rem;left:0;width:1px;height:3.1rem;background:var(--line-2)}.found b{font:520 1rem/1.2 var(--sans)}.found span{color:var(--text-2);font:400 .7rem/1.3 var(--mono);font-stretch:87.5%}.found b,.found span{text-shadow:0 0 .4rem var(--bg),0 0 1.1rem var(--bg)}.tip{padding:.5rem .75rem .55rem;border:1px solid var(--line-2);border-radius:var(--radius);background:#0d0f12e0;white-space:nowrap;opacity:0;transform:translate(-50%,-50%);transition:opacity .12s}.tip.on{opacity:1}.tip b{font:520 .9rem/1.2 var(--sans)}.flow{position:relative;z-index:1;margin-top:-100svh;padding:0 var(--edge);pointer-events:none}.flow>*{width:var(--col);max-width:100%;pointer-events:auto}.lead{display:grid;gap:clamp(1.6rem,4svh,2.4rem);padding-top:max(6.2rem,15svh)}.lead h1,.finish h2{font:560 min(calc(var(--line-size) * 1.3),calc(var(--col) / 7.7)) / .94 var(--sans);letter-spacing:-.05em;text-wrap:balance}.hand,.acts{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem}.all,.primary{padding:.85rem 1.25rem;border:0;border-radius:var(--radius);background:var(--text);color:var(--bg);font-weight:560;line-height:1.2;text-decoration:none;transition:background .15s}.all{cursor:copy}.all:hover,.primary:hover{background:#fff}.free{color:var(--text-3);font-size:.9rem}.step{display:grid;gap:1.1rem;justify-items:start;padding-top:clamp(4.5rem,15svh,9rem)}.step>*{min-width:0;max-width:100%}.step>:is(.sheet,.issue){justify-self:stretch}.live .step>*{transition:opacity .7s var(--ease)}.live .step:not(.on,:focus-within)>*{opacity:.28}.glyph{width:1.7rem;fill:#ffffff24}.glyph .past{fill:#e1e3dc80}.glyph .own{fill:var(--text)}.step h2{margin-bottom:.35rem;font:560 clamp(1.75rem,calc(var(--line-size) * .6),2.7rem) / 1 var(--sans);letter-spacing:-.04em;text-wrap:balance}.command{display:inline-flex;align-items:center;gap:1.2rem;padding:.95rem 1.1rem .95rem 1.3rem;border:1px solid var(--line-2);border-radius:var(--radius);background:#0e1013d1;color:var(--text);cursor:copy}.command code{overflow:hidden;font-size:clamp(.6rem,2.6vw,.86rem);text-overflow:ellipsis;white-space:nowrap}.command>span,.copy{color:var(--text-3);font:400 .72rem/1 var(--mono);font-stretch:87.5%;text-align:right;transition:color .15s}.command>span{min-width:6ch}.command:hover>span,.command[data-done]>span,.copy:hover,.copy[data-done]{color:var(--text)}.note{color:var(--text-2);font-size:clamp(1rem,calc(var(--frame-w) * .0125),1.2rem);line-height:1.4}.spec{color:var(--text-3);font:400 .7rem/1.4 var(--mono);font-stretch:87.5%}.sheet,.issue{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);container-type:inline-size}.gl .sheet,.gl .issue{background:#0d0f12a8;backdrop-filter:blur(22px) saturate(1.25)}.sheet figcaption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.3rem .4rem .3rem 1rem;border-bottom:1px solid var(--line);color:var(--text-3);font:400 .7rem/1.2 var(--mono);font-stretch:87.5%}.sheet figcaption>:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term figcaption code{color:var(--text)}.term figcaption i{margin-right:.9em;color:var(--text-3);font-style:normal}.copy{flex:none;min-width:calc(6ch + 1.2rem);padding:.6rem;border:0;border-radius:6px;background:none;cursor:copy}.sheet pre,.issue pre{padding:.8rem 0;color:var(--text);font-size:clamp(.65rem,1.9cqi,.8rem);line-height:1.8}.term pre{color:var(--text-2)}.sheet pre code>span,.issue pre code>span{display:block;min-height:1lh;padding:0 1rem 0 calc(1rem + 4ch);text-indent:-4ch;white-space:pre-wrap;overflow-wrap:anywhere}pre i{color:var(--text-3);font-style:normal}.fill{box-sizing:content-box;min-width:1ch;padding:0;border:0;border-bottom:1px dashed var(--text-3);border-radius:0;background:none;color:inherit;font:inherit;line-height:1.35;letter-spacing:inherit;text-indent:0;caret-color:var(--hot);transition:border-color .15s}.fill:hover{border-bottom-color:var(--text)}.fill:focus{outline:0;border-bottom:1px solid var(--hot)}.note code,.issue dd code{color:var(--text);font-size:.86em;overflow-wrap:anywhere}.issue h3{padding:.8rem 1rem;border-bottom:1px solid var(--line);font:520 .98rem/1.3 var(--sans)}.issue h3 span{margin-right:.5em;color:var(--text-3);font:400 .82em/1 var(--mono);font-stretch:87.5%}.issue dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1.2rem;padding:.9rem 1rem 1rem;color:var(--text-2);font-size:.86rem;line-height:1.35}.issue dt{color:var(--text-3);font:400 .7rem/1.65 var(--mono);font-stretch:87.5%}.issue pre{border-top:1px solid var(--line);font-size:clamp(.6rem,1.75cqi,.76rem)}.flow>.finish{display:grid;align-content:center;gap:1.5rem;justify-items:start;min-height:100svh;padding:6rem 0}.finish>p:not([class]){max-width:31rem;color:var(--text-2);font-size:clamp(1rem,calc(var(--frame-w) * .0125),1.3rem);line-height:1.4;text-wrap:pretty}.more{color:var(--text-2);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:.3em;transition:color .15s}.more:hover{color:var(--text)}@media(prefers-reduced-motion:no-preference){.live .term pre code>span{opacity:0}.live .term.ran pre code>span{opacity:1;transition:opacity 0s calc(var(--i) * 90ms + .2s)}}@media(max-width:960px),(max-aspect-ratio:1 / 1){.top nav a:not(.start){display:revert}.guide{--col: calc(var(--vw) - 2 * var(--edge));padding-top:3.4rem}.stage{z-index:2;height:max(9rem,30svh);background:var(--bg);-webkit-mask-image:linear-gradient(#000 calc(100% - 1.5rem),transparent);mask-image:linear-gradient(#000 calc(100% - 1.5rem),transparent)}.seat{inset:.4rem var(--edge) 1.9rem}.seat.end,.found,.tip{display:none}.flow{margin-top:0}.lead{padding-top:1.4rem}.step{padding-top:4.5rem}.gl .sheet,.gl .issue{background:var(--bg-1);backdrop-filter:none}.command{justify-content:space-between;justify-self:stretch;gap:.8rem;padding:.85rem .9rem .85rem 1rem;text-align:left}.command code{font-size:.74rem;line-height:1.6;white-space:normal}.copy{min-height:2.75rem}.flow>.finish{min-height:0;padding:6rem 0 5rem}}@media(max-width:960px)and (max-height:540px){.stage{position:relative;height:11rem}}
