html,body,#app{height:100%;margin:0;background:#1b2127}.guidance-sidebar{position:absolute;top:0;left:0;bottom:0;z-index:2;display:flex;flex-direction:column;width:300px;padding-bottom:3.375rem;background:linear-gradient(to top left,black,var(--blue-1000));color:var(--blue-100);border-right:2px solid var(--blue-1000);-webkit-user-select:auto;user-select:auto;overflow:hidden}.guidance-sidebar.hidden{width:0;overflow:hidden}.instruction{padding:0 .875rem .75rem;font-size:.875rem;line-height:1.45;opacity:.85}.progress{padding:0 .875rem .75rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.12)}.progress__bar{height:.375rem;background:#ffffff1f;border-radius:999px}.progress__done{position:relative;height:100%;background:var(--done);border-radius:inherit;transition:width .4s cubic-bezier(.22,1.2,.36,1)}.progress__tip{position:absolute;top:50%;right:0;width:.375rem;height:.375rem;background:#fff;border-radius:50%;transform:translate(50%,-50%);animation:progress-tip .7s .22s ease-out both;pointer-events:none}@keyframes progress-tip{0%{opacity:1;box-shadow:0 0 #fffc}to{opacity:0;box-shadow:0 0 0 .75rem #fff0}}.progress__tally{margin-top:.375rem;font-size:.8125rem;font-variant-numeric:tabular-nums;opacity:.75}.lesson-title{flex:0 0 auto;padding:.75rem .875rem .375rem;color:#fff;font-size:1.0625rem;opacity:.9}.guidance-items{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.375rem .875rem .675rem}.step,.note,.fault{position:relative;display:flex;align-items:flex-start;gap:.5rem;overflow:hidden;margin-bottom:.5rem;padding:.4375rem .75rem;color:var(--card-ink);font-size:.875rem;line-height:1.45;border-radius:.5rem;animation:card-in .38s cubic-bezier(.22,1.25,.36,1)}@keyframes card-in{0%{opacity:0;transform:translateY(.625rem) scale(.94)}}.step{--ring: var(--blue-200);--ring-glow: rgb(87 181 225 / 35%);--card-accent: var(--done);background:var(--card)}.guidance-items .icon{flex:0 0 auto;display:flex;align-items:center;height:1.45em}.guidance-items .icon svg{color:var(--card-accent)}.step .icon svg{transform-origin:center;animation:tick-in .4s .13s cubic-bezier(.34,1.7,.64,1) both}@keyframes tick-in{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.todo{--card-accent: var(--blue-150);display:flex;align-items:flex-start;gap:.5rem;width:100%;margin-bottom:.5rem;padding:.4375rem .75rem;color:var(--blue-100);font-family:inherit;font-size:.875rem;line-height:1.45;text-align:left;background:none;border:0;border-radius:.5rem;outline:2px dashed rgba(255,255,255,.2);outline-offset:-2px;cursor:pointer}.todo:hover{background:#ffffff0f;outline-color:#ffffff59}.todo .icon{opacity:.7}.latest{box-shadow:0 0 0 2px var(--ring),0 0 .75rem var(--ring-glow)}.note{--card-accent: var(--card-finished-accent);color:var(--card-finished-ink);background-color:var(--card-finished);animation:note-in .7s cubic-bezier(.22,1.35,.36,1)}@keyframes note-in{0%{opacity:0;transform:scale(.86);box-shadow:0 0 #cfe8dbd9}55%{box-shadow:0 0 1.5rem .25rem #cfe8db99}to{box-shadow:0 0 #cfe8db00}}.fault{--ring: var(--card-fault-accent);--ring-glow: rgb(138 106 16 / 35%);--card-accent: var(--card-fault-accent);color:var(--card-fault-ink);background-color:var(--card-fault);animation:fault-in .46s ease-out}@keyframes fault-in{0%{opacity:0;transform:translateY(.375rem)}55%{transform:translate(.1875rem)}72%{transform:translate(-.1875rem)}88%{transform:translate(.09375rem)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.step,.note,.fault,.step .icon svg,.progress__done{animation:none;transition:none}.progress__tip{display:none}}.lab-panel{display:flex;flex-direction:column;align-items:center;gap:.25rem;font:500 .875rem/1 system-ui,-apple-system,Segoe UI,sans-serif;pointer-events:none;visibility:hidden;opacity:0;transform:translate(-50%,-100%) scale(.92);transition:opacity .14s ease-out,transform .14s ease-out,visibility .14s}.lab-panel--afloat{transform:translate(-50%,-50%) scale(.92)}.lab-panel.is-shown{pointer-events:auto;visibility:visible;opacity:1;transform:translate(-50%,-100%) scale(1)}.lab-panel--afloat.is-shown{transform:translate(-50%,-50%) scale(1)}.lab-panel__row{display:flex;gap:.375rem}.lab-panel__stem{width:2px;height:.75rem;background:#ffffff4d}.lab-control{position:relative;overflow:hidden;padding:.5rem 1rem;border:1px solid #2b3a86;border-radius:999px;background:var(--blue-850);color:#fff;font:inherit;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .12s ease-out,transform 80ms ease-out}.lab-control:hover:not(:disabled){background:var(--blue-800)}.lab-control:active:not(:disabled){transform:translateY(1px)}.lab-control:focus-visible{outline:2px solid var(--blue-200);outline-offset:2px}.lab-control:disabled{opacity:.5;cursor:default}.lab-control--secondary{background:#12181ebf;border-color:#ffffff38;color:#cfe6f2;font-weight:500}.lab-control--secondary:hover:not(:disabled){background:#202a37e6}.lab-control__fill{position:absolute;inset:0 auto 0 0;width:0;background:#8ccfe866;pointer-events:none}.lab-control__label{position:relative}.cutaway{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;background:#1b2127;pointer-events:none}.cutaway__caption{color:var(--blue-100);font-size:1.0625rem;letter-spacing:.01em;text-align:center;padding:0 2rem}.button.inspect-tab{position:absolute;white-space:nowrap;right:10rem;bottom:.75rem;z-index:4}.button.inspect-tab:disabled{opacity:.45}.inspect-prompt{position:absolute;bottom:3.5rem;left:50%;z-index:4;transform:translate(-50%);padding:.375rem .875rem;border-radius:.625rem;background:#1e1c48d1;color:#fff;font-size:.875rem;white-space:nowrap;pointer-events:none}.interaction-label{position:absolute;top:0;left:3.5rem;z-index:5;display:flex;align-items:stretch;min-height:2.125rem;border:2px solid #1b1335;border-top:none;border-radius:0 0 .625rem .625rem;background:var(--edge);box-shadow:8px 8px 16px #2b65ac1f inset,-8px -8px 16px #120b2854 inset;color:#fff;overflow:hidden;opacity:0;transition:opacity .26s ease;pointer-events:none}.interaction-label.is-shown{opacity:1}.interaction-label__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.1875rem .875rem;line-height:1.15}.interaction-label__item+.interaction-label__item{padding-left:1.375rem}.interaction-label__item+.interaction-label__item:before{content:"";position:absolute;top:50%;left:0;width:.6875rem;height:.6875rem;transform:translate(-50%,-50%) rotate(45deg);border-top:2px solid rgba(255,255,255,.32);border-right:2px solid rgba(255,255,255,.32)}.interaction-label__item.is-refused{opacity:.6}.interaction-label__item--holding .interaction-label__name{font-weight:600}.interaction-label__name{font-size:.8125rem}.interaction-label__detail{font-size:.6875rem;opacity:.6;font-variant-numeric:tabular-nums}.button.notebook-tab{position:absolute;right:1rem;bottom:.75rem;z-index:4}.notebook-tab--waiting{animation:notebook-waiting 1.8s ease-in-out infinite}@keyframes notebook-waiting{0%,to{box-shadow:0 0 #38bdf800}50%{box-shadow:0 0 12px 3px #38bdf88c}}.notebook-tab--wrong{box-shadow:0 0 0 2px var(--objection)}.notebook-tab--right{box-shadow:0 0 0 2px var(--done)}.notebook-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center}.notebook-modal{position:relative;z-index:1;display:flex;flex-direction:column;width:min(520px,90%);max-height:80%;overflow:hidden;background:#fff;border-radius:8px}.notebook-modal__header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 8px 24px}.notebook-modal__header h2{margin:0}.notebook-modal__close{display:flex;padding:6px;color:#475569;background:none;border:0;border-radius:999px;cursor:pointer}.notebook-modal__close:hover{background:#f1f5f9}.notebook-modal__rows{display:flex;flex:1 1 auto;flex-direction:column;gap:16px;min-height:0;padding:8px 24px 24px;overflow-y:auto}.notebook-row{display:flex;flex-direction:column;gap:8px;padding:12px;border-left:3px solid transparent;border-radius:4px;background:#f5f7fa}.notebook-row--waiting{border-left-color:#38bdf8}.notebook-row--wrong{border-left-color:var(--objection);background:#fef2f2}.notebook-row--right{border-left-color:var(--done)}.notebook-field__objection{color:var(--objection);font-size:.875rem;line-height:1.4}.notebook-row__asks{font-weight:600}.notebook-row__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notebook-field{display:flex;flex-direction:column;gap:4px}.notebook-field__label{font-size:12px;opacity:.7}.notebook-field__entry{display:flex;align-items:center;gap:8px}.notebook-field__input{flex:1 1 auto;min-width:0;padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px;font:inherit}.notebook-field__input--wrong{border-color:var(--objection);box-shadow:0 0 0 1px var(--objection)}.notebook-field__input--right{border-color:var(--done)}.notebook-field__input::-webkit-outer-spin-button,.notebook-field__input::-webkit-inner-spin-button{margin:0;appearance:none}.notebook-field__input[type=number]{appearance:textfield}.notebook-field__unit{flex:0 0 3.25rem;color:#475569;font-variant-numeric:tabular-nums;white-space:nowrap}@media(prefers-reduced-motion:reduce){.notebook-tab--waiting{animation:none;box-shadow:0 0 10px 2px #38bdf88c}}.status-bar{position:absolute;left:1rem;bottom:.75rem;z-index:6;display:flex;align-items:flex-start;background:linear-gradient(to top left,#1b1335cc,#212559cc);border-radius:1.375rem}.button.help-button{flex:1 0 auto;padding:.375rem 1rem .375rem .875rem;border:2px solid var(--blue-900);border-radius:1.375rem}.control-bindings{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem 1.25rem;padding:.375rem 1.5rem .375rem 1rem;font-size:.8125rem}.control-binding{display:flex;flex-direction:row;align-items:center;gap:.375rem;padding:.25em 0}.control-binding__icon{display:inline-block;color:var(--blue-200)}.control-binding__text{display:inline-block;white-space:nowrap;color:var(--blue-100)}@media(max-width:1000px){.control-bindings{display:none}}.help-overlay{position:absolute;z-index:210;inset:0;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:center;overflow-y:auto}.overlay-backdrop{position:absolute;inset:0;background:linear-gradient(to top left,black,var(--blue-1000));opacity:.7;z-index:-1}.help-modal{position:relative;padding:1.75rem 2rem;width:100%;max-width:42rem;border-radius:.75rem;background:#fff;color:var(--edge);font-size:.9375rem;line-height:1.5}.help-modal h2{margin:0 0 .75rem;font-size:1.25rem}.help-modal ul{margin:.75rem 0;padding-left:1.25rem}.close-button{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.25rem;border:none;background:none;color:var(--tick);font:inherit;cursor:pointer}.lab-toolbar{position:absolute;top:0;right:1rem;z-index:2;display:flex;max-width:100%;justify-content:flex-end;flex-wrap:wrap-reverse;padding-left:3.5rem}.lab-toolbar__actions{display:flex}.lab-toolbar__actions>*:not(:first-child){margin-left:-2px}.lab-toolbar__actions .button{border-radius:0;height:2.125rem;border-top:none}.lab-toolbar__actions .button:first-child{border-bottom-left-radius:.625rem}.lab-toolbar__actions .button:last-child{border-bottom-right-radius:.625rem}.root-container{--blue-100: #abdaf1;--blue-150: #81c8ea;--blue-200: #57b5e1;--blue-300: #2da3dc;--blue-800: #2a3e8e;--blue-850: #253072;--blue-900: #212559;--blue-1000: #120b28;--edge: #1e1c48;--tick: #2c7cbe;--done: #3f9e6a;--objection: #b91c1c;--card: #e8ecf1;--card-ink: #23223f;--card-fault: #efdca2;--card-fault-ink: #4a3a12;--card-fault-accent: #8a6a10;--card-finished: #cfe8db;--card-finished-ink: #123f2c;--card-finished-accent: #15704a;position:relative;width:100%;height:100%;min-height:32rem;background:#1b2127;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.button{position:relative;padding:.375rem .875rem;background:var(--edge);box-shadow:8px 8px 16px #2b65ac1f inset,-8px -8px 16px #120b2854 inset;color:#fff;border:2px solid #1b1335;border-radius:.625rem;font:inherit;font-size:.875rem;outline:none;transition:color .15s ease-out}.button:not(:disabled):hover{background:var(--blue-850);border-color:var(--edge);color:var(--blue-100);cursor:pointer}.button__text{position:relative;display:flex;align-items:center;justify-content:center;gap:.375rem;fill:currentColor;line-height:1;transition:transform .15s ease-out}.button__icon{color:var(--blue-150);transition:opacity .15s ease-out}.button:not(:disabled):hover .button__icon{color:var(--blue-200)}.button:not(:disabled):active .button__icon{color:var(--blue-300)}.button:not(:disabled):active .button__text{transform:translateY(1px);transition:transform 50ms ease-out}.button:not(:disabled):active{background:var(--blue-900);color:var(--blue-300)}.button.blue{background:var(--blue-850);border-color:var(--blue-900);color:var(--blue-100)}.button.blue:not(:disabled):hover{background:var(--blue-800)}.lab-container{position:absolute;inset:0 300px;overflow:hidden;-webkit-user-select:none;user-select:none}.guidancehidden .lab-container{left:0}.devtoolshidden .lab-container{right:0}.lab-bench{position:absolute;inset:0}.lab-veil{position:absolute;inset:0;z-index:2;background:#1b2127;opacity:.72}.lab-panel-at{position:absolute;z-index:3;left:var(--panel-x, 0px);top:var(--panel-y, 0px)}.lab-container canvas{vertical-align:middle}.guidance-toggle{position:absolute;top:0;left:300px;z-index:100;height:2.125rem;width:3rem;padding:0;border-top:none;border-left:none;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0}.guidancehidden .guidance-toggle{left:0}.home[data-v-068c8843]{padding:2rem;color:#e6ebef;font:1rem/1.5 system-ui,sans-serif}a[data-v-068c8843]{color:#9fd8ea}
