@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(./ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(./ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}:root{--bg:#0b0d0f;--panel:#101316d6;--panel-2:#161a1ef0;--solid:#15191c;--solid-2:#1b2024;--solid-3:#232a2f;--line:#ffffff14;--line-2:#ffffff26;--text:#e7eaec;--soft:#b9c1c6;--muted:#8b959c;--dim:#5c666d;--accent:#7fa8d6;--accent-bg:#2c4f78;--accent-bg-2:#34608f;--run:#43d17a;--run-bg:#43d17a21;--amber:#f0a83a;--amber-bg:#f0a83a21;--red:#ee5145;--red-bg:#ee514524;--sans:"IBM Plex Sans", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", "Cascadia Mono", Consolas, "Courier New", monospace;--ed-bg:#121518;--ed-card:#181c20;--wire:#a2acb3;--flow-on:var(--run);--flow-off:#4f5960;--lad-box:#20262b;--radius:.625rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{font-size:clamp(16px,min(1.46vw,2.6vh),24px)}*{box-sizing:border-box}svg.lucide{flex:none;width:1.15em;height:1.15em}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:.875rem/1.45 var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--line-2);cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:.4375rem;align-items:center;gap:.4375rem;min-height:2.125rem;padding:.375rem .75rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover:not(:disabled){background:#ffffff17;border-color:#ffffff3d}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent-bg);color:#fff;border-color:#4a77a8;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-bg-2);border-color:var(--accent)}button.primary.on{background:#22405f}button.icon{justify-content:center;min-width:2.125rem;padding:.375rem}button.ghost{background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:#ffffff12;border-color:#0000}button.danger:hover:not(:disabled){color:var(--red)}kbd{border:1px solid var(--line-2);min-width:1.125rem;height:1.125rem;font:600 .6563rem/1 var(--mono);color:var(--muted);background:#00000040;border-bottom-width:2px;border-radius:.25rem;place-items:center;padding:0 .25rem;display:inline-grid}.logo{width:1.625rem;height:1.625rem;color:var(--text);flex:none}.kicker{font:600 .6563rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.mono{font-family:var(--mono);font-size:.7813rem}.muted{color:var(--muted)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grow{flex:1}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app{grid-template-columns:1fr;min-width:1100px;height:100vh;display:grid}.app.with-editor{grid-template-columns:minmax(20rem,1fr) 66vw}.stage{background:#050607;position:relative;overflow:hidden}.scene-host{position:absolute;inset:0}.cell-canvas{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;display:block}.cell-canvas:active{cursor:grabbing}.hud{z-index:5;position:absolute}.app.present .hud,.app.present .coach,.app.present .labels,.app.present .offline-status.offline-status,.app.showing .hud,.app.showing .coach,.app.at-home .hud,.app.at-home .coach,.app.at-home .labels{display:none}.present-exit{z-index:6;opacity:0;background:var(--panel);position:absolute;bottom:1rem;right:1rem}.present-exit:hover,.present-exit:focus-visible{opacity:1}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem)}.hud-top{pointer-events:none;align-items:center;gap:.75rem;display:flex;top:.875rem;left:.875rem;right:.875rem}.hud-top>*{pointer-events:auto}.brand{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);text-align:left;gap:.625rem;min-height:2.875rem;padding:.375rem .875rem .375rem .625rem}.brand-tx b{letter-spacing:.08em;font-size:.875rem;display:block}.brand-tx span{color:var(--muted);font-size:.7188rem;display:block}.views{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);gap:2px;margin:0 auto;padding:.25rem;display:flex}.views button{min-height:2.125rem;color:var(--soft);background:0 0;border-color:#0000;padding:.3125rem .6875rem}.views button kbd{min-width:1rem;height:1rem;font-size:.625rem}.views button.on{color:#fff;background:#7fa8d629}.views button.on kbd{border-color:var(--accent);color:var(--accent)}.top-right{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);align-items:center;gap:.25rem;padding:.25rem;display:flex}.top-right>button:not(.primary){background:0 0;border-color:#0000}.top-right>button:not(.primary):hover{background:#ffffff12}.top-right>button.on:not(.primary){color:var(--accent)}.cpu-chip{gap:.5625rem;padding:.1875rem .625rem .1875rem .5rem}.cpu-leds{gap:2px;display:grid}.led{background:#2a3035;border-radius:1.5px;width:.875rem;height:.25rem;display:block;box-shadow:inset 0 0 0 1px #0006}.led.green{background:var(--run);box-shadow:0 0 .4375rem var(--run)}.led.amber{background:var(--amber);box-shadow:0 0 .4375rem var(--amber)}.led.red{background:var(--red);box-shadow:0 0 .4375rem var(--red)}.cpu-txt{text-align:left;line-height:1.15;display:grid}.cpu-txt b{font-size:.7813rem}.cpu-txt small{font:600 .6563rem/1.2 var(--mono);color:var(--muted)}.io{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);gap:.375rem;max-width:calc(100% - 1.75rem);padding:.5rem .75rem .625rem;display:grid;bottom:.875rem;left:.875rem}.io-head{border-bottom:1px solid var(--line);align-items:center;gap:.875rem;min-height:1.5rem;padding-bottom:.25rem;display:flex}.io-name{align-items:baseline;gap:.5rem;display:flex}.io-name b{letter-spacing:.04em;font-size:.875rem}.io-name span{font:.6875rem var(--mono);color:var(--muted)}.io-st{font:600 .6875rem/1 var(--mono);color:var(--soft);letter-spacing:.04em;align-items:center;gap:.375rem;display:inline-flex}.io-st .led{width:1.125rem;height:.375rem}.io-row{align-items:stretch;gap:.1875rem;display:flex}.io-h{width:4.25rem;font:700 .875rem/1.1 var(--mono);color:var(--soft);letter-spacing:.06em;align-content:center;margin-right:.25rem;display:grid}.io-h small{font:500 .625rem var(--sans);color:var(--dim);letter-spacing:0;text-transform:uppercase}.io-bit{color:#7b868d;background:#15191c;border:1px solid #252b30;border-radius:.375rem;align-content:center;justify-items:center;gap:.1875rem;width:2.625rem;height:3.375rem;font-style:normal;transition:background 80ms,color 80ms,border-color 80ms;display:grid}.io-bit b{font:600 .75rem/1 var(--mono)}.io-bit em{background:#2a3237;border-radius:50%;width:.75rem;height:.75rem;display:block;box-shadow:inset 0 1px 2px #0009}.io-bit span{font:600 .625rem/1 var(--sans);color:#a6b1b9;white-space:nowrap;max-width:2.4rem;overflow:hidden}.io-bit.on{color:#eafff1;background:#43d17a29;border-color:#43d17ab3}.io-bit.on em{background:var(--run);box-shadow:0 0 .5rem var(--run), inset 0 -1px 2px #00000040}.io-bit.on span{color:#bdf3d0}.io-bit.forced{outline:2px solid var(--amber);outline-offset:-1px}.io-sep{background:var(--line-2);width:1px;margin:.25rem .5rem}.io-an{width:5.5rem;font:.75rem var(--mono);color:var(--muted);align-content:center;gap:.25rem;display:grid}.io-an b{color:var(--soft);font-weight:600}.io-an>span:last-child{color:var(--text);font-weight:600}.io-meter{background:#22292e;border-radius:3px;height:.375rem;display:block;overflow:hidden}.io-meter i{background:var(--accent);height:100%;display:block}.io-ai{font:.8125rem var(--mono);color:var(--muted)}.io-slow{background:var(--amber-bg);color:#ffe2a8;min-height:1.5rem;font:600 .6875rem var(--mono);letter-spacing:.04em;border-color:#a77512;padding:.0625rem .5rem}.app.with-editor .io{display:none}.io-min{min-height:1.625rem;margin-right:-.375rem;padding:.125rem .375rem}.io.min .io-row{display:none}.io.min .io-head{border-bottom:0;padding-bottom:0}.io-ai b{color:var(--text);font-weight:600}.io-ai.turning b{color:var(--run)}.io-alarm{font:700 .75rem/1 var(--mono);color:#fff;background:#a3241b;border-radius:.25rem;padding:.3125rem .4375rem;animation:1s steps(2,end) infinite pulse}@keyframes pulse{50%{background:#5c1510}}@media (width<=1799px){.brand-tx span,.top-right>.wide-only .vl{display:none}.brand{padding-right:.625rem}.views button{padding:.3125rem .5rem;font-size:.8125rem}.hud-top{gap:.5rem}.brand-tx{display:none}}.app.with-editor .io{padding:.375rem .5rem;right:.875rem}.app.with-editor .io-name span,.app.with-editor .io-h small,.app.with-editor .io-bit span,.app.with-editor .io-an,.app.with-editor .io-sep{display:none}.app.with-editor .io-h{width:1.75rem;font-size:.6875rem}.app.with-editor .io-row{flex-wrap:wrap}.app.with-editor .io-bit{width:1.875rem;height:2.25rem}.app.with-editor .brand,.app.with-editor .cpu-txt,.app.with-editor .vl,.app.with-editor .wide-only,.app.with-editor .top-right>.primary{display:none}.app.with-editor .brand{padding:.375rem .5625rem}.app.with-editor .views button{padding:.3125rem .5625rem}.app.with-editor .hud-top{gap:.5rem}.offline-status{z-index:4;display:none;position:absolute;top:4.375rem;left:50%;transform:translate(-50%)}.offline-status:has(button){border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);color:var(--muted);align-items:center;gap:.5rem;padding:.375rem .5rem .375rem .75rem;font-size:.75rem;display:flex}.offline-status button{min-height:1.75rem;padding:.1875rem .625rem;font-size:.75rem}.labels{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.lbl{will-change:transform;position:absolute;top:0;left:0}.lbl.chip{font:600 .6875rem/1.3 var(--mono);color:#fff;white-space:nowrap;background:#0a0c0ec7;border:1px solid #ffffff1f;border-radius:.25rem;align-items:baseline;gap:.25rem;margin:-1.875rem 0 0 -2px;padding:2px .375rem;display:flex;translate:-50%}.lbl.chip span{color:var(--muted);font-size:.625rem;font-weight:400}.lbl.comp{border-left:2px solid var(--accent);font:600 .75rem/1.3 var(--sans);color:#fff;white-space:nowrap;letter-spacing:.02em;background:#0a0c0eb3;border-radius:.3125rem;margin-top:-.875rem;padding:.25rem .5625rem;translate:-50% -100%}.lbl.focus{z-index:2}.lbl.focus .dot{border:2px solid #fff;border-radius:50%;width:.875rem;height:.875rem;animation:1.6s ease-out infinite ping;position:absolute;top:-.4375rem;left:-.4375rem;box-shadow:0 0 0 .25rem #7fa8d659}.lbl.focus .stem{transform-origin:0;background:#fff;width:3.5rem;height:2px;position:absolute;top:-1px;left:.4375rem;rotate:-32deg}.lbl.focus .box{color:#111;font:600 .8125rem/1.3 var(--sans);white-space:nowrap;background:#f2f4f5;border-radius:.375rem;padding:.375rem .6875rem;position:absolute;top:-3.375rem;left:3.25rem;box-shadow:0 .5rem 1.5rem #00000073}.lbl.focus.left .stem{transform-origin:100%;left:-3.9375rem;rotate:32deg}.lbl.focus.left .box{left:auto;right:3.25rem}@keyframes ping{0%{box-shadow:0 0 #ffffff8c}to{box-shadow:0 0 0 1rem #fff0}}.tip{z-index:30;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);pointer-events:none;background:#0c0e10f0;border-radius:.5625rem;width:max-content;max-width:19.375rem;padding:.5625rem .75rem;position:fixed;box-shadow:0 .625rem 1.875rem #00000073}.tip-h{justify-content:space-between;align-items:baseline;gap:.625rem;display:flex}.tip-h b{font-size:.8438rem}.tip code{font:600 .75rem var(--mono);color:var(--soft)}.tip p{color:var(--soft);margin:.1875rem 0 0;font-size:.7813rem}.tip .tip-state{font-family:var(--mono);color:var(--text);font-size:.75rem}.tip .tip-act{color:var(--accent);font-weight:600}.rtip{z-index:50;border:1px solid var(--line-2);color:var(--text);background:#0c0e10f5;border-radius:.4375rem;align-items:center;gap:.5rem;padding:.375rem .625rem;font-size:.7813rem;animation:.12s ease-out tip-in;display:inline-flex;box-shadow:0 .5rem 1.375rem #00000073}@keyframes tip-in{0%{opacity:0;transform:translateY(-.1875rem)}}.flash{z-index:20;border:1px solid var(--line-2);background:var(--panel-2);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border-left-width:.1875rem;border-radius:.5625rem;align-items:center;gap:.625rem;max-width:min(40rem,90%);padding:.5625rem .5rem .5625rem .875rem;font-size:.8438rem;animation:.25s ease-out drop;display:flex;position:absolute;top:4.625rem;left:50%;transform:translate(-50%);box-shadow:0 .75rem 2.125rem #0006}.flash.ok{border-left-color:var(--run)}.flash.warn{border-left-color:var(--amber)}.flash.error{border-left-color:var(--red);background:#280e0cf0}.app:has(.coach) .flash{animation:none;left:auto;right:.875rem;transform:none}@keyframes drop{0%{opacity:0;transform:translate(-50%,-.5rem)}}.loader{z-index:40;background:#090b0c;place-items:center;display:grid;position:absolute;inset:0}.loader-card{text-align:center;justify-items:center;gap:.625rem;width:min(26.25rem,90%);display:grid}.loader-card .logo{width:2.75rem;height:2.75rem}.loader-card h1{letter-spacing:.16em;margin:.25rem 0 0;font-size:1.5rem;font-weight:600}.loader-card p{color:var(--muted);margin:0 0 .875rem}.bar{background:#1c2125;border-radius:2px;width:100%;height:.1875rem;overflow:hidden}.bar span{background:var(--text);height:100%;transition:width .2s;display:block}.loader-card small{color:var(--muted);font:.75rem var(--mono)}.scene-error{z-index:41;text-align:center;background:#0b0d0f;place-content:center;justify-items:center;gap:.375rem;padding:2.5rem;display:grid;position:absolute;inset:0}.scene-error p{max-width:35rem;color:var(--muted)}.home{z-index:30;background:linear-gradient(90deg,#080a0bfa 0%,#080a0bf0 40%,#080a0b38 64%,#080a0b0d 100%);align-items:center;display:flex;position:absolute;inset:0}.home-col{gap:.85rem;width:min(34rem,47vw);margin-left:3.5vw;display:grid}.home-identity{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.home-identity>b{letter-spacing:.04em;font-size:1rem}.home-identity b span{font:.65rem var(--mono);border:1px solid var(--line-2);color:var(--soft);vertical-align:middle;border-radius:3px;padding:.15rem .35rem}.home-identity>span{color:var(--muted);font-size:.75rem}.home h1{letter-spacing:-.025em;text-wrap:balance;max-width:13em;margin:0;font-size:clamp(2rem,3.2vw,2.875rem);font-weight:600;line-height:1.08}.home .lede{max-width:31rem;color:var(--soft);margin:0;font-size:.9rem;line-height:1.5}.first-start{margin-top:.25rem}.first-route{color:var(--soft);justify-content:space-between;gap:.4rem;margin:0 0 .65rem;padding:0;font-size:.7rem;list-style:none;display:flex}.first-route li{align-items:center;gap:.3rem;display:flex}.first-route li>span{width:1.1rem;height:1.1rem;color:var(--accent);border:1px solid #657c93;border-radius:50%;place-items:center;font-size:.65rem;display:grid}.first-cta{text-align:left;gap:.8rem;width:100%;padding:.75rem .9rem}.first-cta>span{flex:1;gap:.1rem;display:grid}.first-cta b{font-size:1rem;font-weight:600}.first-cta small{color:#d4e3f5;font-size:.75rem;font-weight:400}.paths{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.paths .path{align-items:center;gap:.6rem;min-height:4.1rem;padding:.5rem .65rem}.paths .path-ic{background:0 0;width:1.65rem;height:1.65rem}.paths .path-tx b{font-size:.85rem}.paths .path-tx span{font-size:.7rem}.paths .path-tx small{font-size:.65rem}.path{border:1px solid var(--line);border-radius:var(--radius);text-align:left;white-space:normal;background:#181c20b8;align-items:center;gap:.875rem;min-height:4.125rem;padding:.625rem .875rem;display:flex}.path:hover:not(:disabled){background:#22282de6;border-color:#7fa8d673}.path.lead{background:#2c4f7852;border-color:#7fa8d680}.path-ic{width:2.5rem;height:2.5rem;color:var(--accent);background:#ffffff0d;border-radius:.5625rem;flex:none;place-items:center;display:grid}.path-tx{flex:1;gap:1px;display:grid}.path-tx b{font-size:.9375rem;font-weight:600}.path-tx span{color:var(--soft);font-size:.8125rem}.path-tx small{font:.7188rem var(--mono);color:var(--muted)}.path-go{color:var(--dim);flex:none}.path:hover .path-go{color:var(--accent)}.home-foot{color:var(--muted);align-items:center;gap:1rem;font-size:.7rem;display:flex}.home-foot button{color:var(--soft);font-family:var(--sans);padding-left:.25rem;font-size:.8125rem}.home-machine{border-left:3px solid var(--accent);background:#0f1214eb;gap:.2rem;padding:.7rem 1rem;display:grid;position:absolute;bottom:1.75rem;right:2rem}.home-machine b{font-size:.9rem;font-weight:600}.home-machine span{color:var(--soft);font-size:.7rem}.coach{z-index:6;border:1px solid var(--line-2);background:var(--panel-2);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);border-radius:.75rem;width:23.25rem;max-height:calc(100% - 9.375rem);padding:.875rem 1rem;animation:.3s ease-out rise;position:absolute;top:4.5rem;left:.875rem;overflow:auto;box-shadow:0 1.125rem 3.125rem #00000073}@keyframes rise{0%{opacity:0;transform:translateY(.5rem)}}.coach header{justify-content:space-between;align-items:center;gap:.5rem;margin:-.25rem -.375rem .25rem 0;display:flex}.coach header .kicker{flex:1}.coach h2{letter-spacing:-.01em;margin:.375rem 0;font-size:1.1875rem;font-weight:600;line-height:1.25}.coach p{color:var(--soft);margin:0 0 .625rem;font-size:.8438rem;line-height:1.55}.coach footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.375rem;margin-top:.75rem;display:flex}.dots{gap:.25rem;margin:2px 0 .25rem;display:flex}.dots i{background:#2a3035;border-radius:2px;flex:1;height:.1875rem}.dots i.done{background:var(--soft)}.dots i.cur{background:var(--accent)}.dots i.miss{background:var(--red)}.task{color:#dbe7f5;border:1px dashed #7fa8d680;border-radius:.5rem;align-items:center;gap:.5625rem;padding:.625rem .75rem;font-size:.8438rem;font-weight:500;display:flex}.task svg{color:var(--accent);flex:none}.task.ok{border-style:solid;border-color:var(--run);background:var(--run-bg);color:#dcffe9}.task.ok svg{color:var(--run)}.badge{font:600 .6563rem/1.4 var(--mono);border-radius:6.1875rem;align-items:center;gap:.1875rem;padding:2px .4375rem;display:inline-flex}.badge.ok{color:var(--run);background:var(--run-bg)}table.wiring{border-collapse:collapse;width:100%;margin:2px 0 .625rem;font-size:.7813rem}.wiring td{border-top:1px solid var(--line);color:var(--soft);padding:.3125rem .375rem}.wiring td:first-child{width:3.625rem;color:var(--text)}.wiring td:last-child{color:var(--muted);text-align:right;white-space:nowrap}.concepts{flex-wrap:wrap;gap:.3125rem;margin-bottom:.5rem;display:flex}.chip-btn{min-height:1.625rem;color:var(--accent);border-color:#7fa8d64d;border-radius:6.1875rem;padding:2px .5625rem;font-size:.75rem}.hints-list{gap:.375rem;margin:.375rem 0 0;padding:0;list-style:none;display:grid}.hints-list li{color:#f3e4cc;background:#f0a83a12;border-radius:.4375rem;gap:.5rem;padding:.5rem .625rem;font-size:.8125rem;line-height:1.45;display:flex}.hints-list svg{color:var(--amber);flex:none;margin-top:2px}.checks{gap:2px;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.checks li{color:var(--muted);border-radius:.375rem;align-items:flex-start;gap:.5625rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.checks li svg{flex:none;margin-top:1px}.checks li small{color:#f6b1aa;font:.7188rem/1.4 var(--mono);margin-top:2px;display:block}.checks li.run{color:var(--text);background:#7fa8d61a}.checks li.run svg{color:var(--accent)}.checks li.pass{color:var(--text)}.checks li.pass svg{color:var(--run)}.checks li.fail{color:var(--text);background:var(--red-bg)}.checks li.fail svg{color:var(--red)}.verdict{border-left:.1875rem solid;border-radius:.5rem;margin-top:.625rem;padding:.625rem .75rem}.verdict b{font-size:.875rem}.verdict p{margin:.25rem 0 0;font-size:.8125rem}.verdict.ok{border-color:var(--run);background:var(--run-bg)}.verdict.bad{border-color:var(--red);background:var(--red-bg)}.fix{color:#f3e4cc;gap:.375rem;margin-top:.25rem;font-size:.7813rem;display:flex}.fix svg{color:var(--amber);flex:none;margin-top:2px}.sheet-overlay{z-index:35;-webkit-backdrop-filter:blur(.1875rem);backdrop-filter:blur(.1875rem);background:#04060799;position:fixed;inset:0}.sheet{z-index:36;border:1px solid var(--line-2);background:var(--solid);border-radius:.875rem;outline:none;flex-direction:column;width:min(40rem,92%);height:fit-content;max-height:min(86vh,53.75rem);margin:auto;display:flex;position:fixed;inset:0;box-shadow:0 1.875rem 5rem #0009}.sheet.wide{width:min(58.75rem,94%)}.sheet>header{justify-content:space-between;align-items:center;padding:1rem 1rem .375rem 1.5rem;display:flex}.sheet h2{margin:0;font-size:1.25rem;font-weight:600}.sheet-lede{color:var(--soft);margin:0;padding:0 1.5rem .875rem;font-size:.8438rem}.mgrid{grid-template-columns:1fr 1fr;gap:.5rem;padding:0 1.5rem 1.5rem;display:grid;overflow:auto}.mcard{border-radius:var(--radius);text-align:left;white-space:normal;border-color:var(--line);background:var(--solid-2);align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.mcard:hover:not(:disabled){background:var(--solid-3);border-color:#7fa8d680}.mnum{border:1px solid var(--line-2);width:1.875rem;height:1.875rem;font:600 .8125rem var(--mono);color:var(--soft);border-radius:50%;flex:none;place-items:center;display:grid}.mcard.done .mnum{border-color:var(--run);color:var(--run);background:var(--run-bg)}.mtx{gap:2px;display:grid}.mtx small{font:.6875rem var(--mono);color:var(--muted)}.mtx b{font-size:.875rem;font-weight:600}.mtx span{color:var(--muted);font-size:.7813rem;line-height:1.45}.search{border:1px solid var(--line-2);color:var(--muted);background:#0f1214;border-radius:.5rem;align-items:center;gap:.5rem;margin:.25rem 1.5rem .625rem;padding:0 .625rem;display:flex}.search input{background:0 0;border:0;outline:none;flex:1;min-height:2.375rem}.glossary{gap:2px;margin:0;padding:0 1.5rem 1.5rem;display:grid;overflow:auto}.glossary>div{border-radius:.5rem;padding:.625rem .75rem}.glossary>div.hl{box-shadow:inset 2px 0 var(--accent);background:#7fa8d61f}.glossary dt{font-size:.9063rem;font-weight:600}.glossary dd{color:var(--soft);margin:.1875rem 0 0;font-size:.8438rem;line-height:1.55}.glossary dd b{color:var(--text);font-weight:500}.glossary em{color:var(--muted);margin-top:.25rem;font-size:.7813rem;font-style:normal;display:block}.show{z-index:25;pointer-events:none;background:linear-gradient(#05060700 66%,#050607d1 100%);position:absolute;inset:0}.lower{gap:.5rem;max-width:47.5rem;display:grid;position:absolute;bottom:clamp(2.5rem,8vh,5.25rem);left:clamp(2rem,6vw,6rem)}.lower h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.875rem,3.2vw,3rem);font-weight:600;line-height:1.05}.lower p{color:var(--soft);margin:0;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.45}.show-bar{background:#ffffff29;width:13.75rem;height:2px;margin-top:.625rem;display:block}.show-bar i{transform-origin:0;background:#fff;height:100%;animation:linear forwards fill;display:block}@keyframes fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.app.with-editor .lower{right:1.5rem}.app.with-editor .lower h2{font-size:1.875rem}.app.with-editor .lower p{font-size:.9375rem}.show-nav{pointer-events:auto;opacity:.35;gap:.25rem;transition:opacity .2s;display:flex;position:absolute;bottom:1.125rem;right:1.125rem}.show-nav:hover,.show-nav:focus-within{opacity:1}.editor{background:var(--ed-bg);border-left:1px solid #252b30;outline:none;flex-direction:column;min-width:0;height:100vh;display:flex}.ed-head{border-bottom:1px solid #22282d;align-items:center;gap:.75rem;padding:.625rem .625rem .5rem 1rem;display:flex}.ed-path{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.7813rem;overflow:hidden}.ed-path b{color:var(--text);font-weight:600}.ed-path span{color:var(--dim);margin:0 .25rem}.ed-sync{border-radius:6.1875rem;align-items:center;gap:.375rem;padding:.25rem .5625rem;font-size:.75rem;font-weight:600;display:inline-flex}.ed-sync.ok{color:var(--run);background:var(--run-bg)}.ed-sync.diff{color:var(--amber);background:var(--amber-bg)}.ed-tabs{scrollbar-width:none;border-bottom:1px solid #22282d;gap:2px;padding:0 .75rem;display:flex;overflow-x:auto}.ed-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:.5625rem .75rem}@media (width<=1599px){.ed-tabs button{padding-inline:.5rem;font-size:.875rem}}.ed-tabs button:hover:not(:disabled){color:var(--text);background:0 0}.ed-tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.ed-tool{background:#15181b;border-bottom:1px solid #22282d;flex-wrap:wrap;align-items:center;gap:.375rem;padding:.5rem .75rem;display:flex}.ed-tool .sep,.ed-fav .sep{background:#2a3035;align-self:stretch;width:1px;margin:2px .25rem}.ed-tool .grow{flex:1}.ed-tool button.on{background:#7fa8d624;border-color:#4a77a8}.ed-tool .mode.run.on{background:var(--run-bg);color:#d4ffe3;border-color:#2f9a58}.ed-tool .mode.stop.on{background:var(--amber-bg);color:#ffe2a8;border-color:#a77512}.menu-host{position:relative}.menu{z-index:10;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--solid-2);gap:2px;width:22.5rem;padding:.375rem;display:grid;position:absolute;top:calc(100% + .375rem);right:0;box-shadow:0 1.125rem 2.5rem #00000080}.menu button{white-space:normal;text-align:left;background:0 0;border-color:#0000;justify-items:start;gap:1px;padding:.5rem .625rem;display:grid}.menu button span{color:var(--muted);font-size:.75rem}.menu-row{border-bottom:1px solid var(--line);gap:2px;margin-bottom:.25rem;padding-bottom:.375rem;display:flex}.menu-row button{flex:1;justify-content:center;gap:.375rem;padding:.5rem .375rem;display:inline-flex}.menu-h{font:600 .6563rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:.25rem .625rem 2px}.ed-fav{background:#15181b;border-bottom:1px solid #22282d;flex-wrap:wrap;align-items:stretch;gap:2px;padding:.375rem .625rem;display:flex}.fav{color:#cfd6db;background:0 0;border-color:#0000;justify-items:center;gap:1px;min-width:2.75rem;min-height:2.5rem;padding:.1875rem .25rem 2px;display:grid}.fav small{color:var(--muted);font-size:.625rem;line-height:1.1}.fav:hover:not(:disabled){border-color:var(--line-2)}.fav.on{color:var(--accent);background:#7fa8d61f;border-color:#4a77a8}.fav.on small{color:var(--accent)}.ed-props{border-bottom:1px solid #22282d;flex-wrap:wrap;align-items:flex-end;gap:.75rem;min-height:3.625rem;padding:.5rem .875rem;display:flex}.ed-props .hint{color:var(--muted);align-self:center;align-items:center;gap:.4375rem;font-size:.7813rem;display:inline-flex}.prop{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;gap:.1875rem;font-size:.6875rem;font-weight:600;display:grid}.prop input,.prop select{min-height:2rem;font:.8125rem var(--mono);text-transform:none;letter-spacing:0;background:#0e1113;border:1px solid #343c43;border-radius:.375rem;padding:.25rem .5625rem}.prop.op input{width:14.375rem}.prop.num input{width:6.875rem}.prop small{font:.6875rem var(--mono);color:var(--dim);text-transform:none;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;max-width:16.25rem;overflow:hidden}.ed-banner{color:#ffe2a8;background:#f0a83a12;border-bottom:1px solid #f0a83a33;padding:.375rem .875rem;font-size:.7813rem}.ed-nets{flex:1;align-content:start;gap:.625rem;padding:.75rem .75rem 2.5rem;display:grid;overflow:auto}.net{background:var(--ed-card);border:1px solid #22292e;border-radius:.5625rem}.net.cur{border-color:#3b5672}.net.error{border-color:#ee51458c}.net.warning{border-left:.1875rem solid var(--amber)}.net header{align-items:center;gap:.5rem;padding:.375rem .375rem 0 .75rem;display:flex}.net-no{white-space:nowrap;font-size:.8125rem;font-weight:700}.net-title,.net-comment{background:0 0;border:1px solid #0000;border-radius:.3125rem;flex:1;min-width:0;padding:.1875rem .375rem}.net-title{font-size:.8125rem;font-weight:600}.net-comment{width:calc(100% - 1.125rem);color:var(--muted);margin:0 .375rem 0 .75rem;font-size:.75rem;display:block}.net-title:hover,.net-comment:hover{border-color:#2c3338}.net-title:focus,.net-comment:focus{background:#0f1214;border-color:#4a77a8;outline:none}.net-acts{gap:1px;display:flex}.net:hover .net-acts,.net.cur .net-acts{opacity:1}.net-acts button{min-height:1.75rem;color:var(--muted);padding:.1875rem .375rem;font-size:.75rem}.net-body{padding:0 .375rem .375rem;overflow-x:auto}.lad-svg{width:100%;height:auto;font-family:var(--sans);-webkit-user-select:none;user-select:none;display:block}.lad-wire,.lad-rail,.lad-el,.lad-on,.lad-off,.lad-off-el,.lad-flow{stroke-width:2px;fill:none}.lad-wire,.lad-el{stroke:var(--wire)}.lad-rail{stroke:var(--wire);stroke-width:4px}.lad-on{stroke:var(--flow-on);stroke-width:2.4px}.lad-on.rail{stroke-width:4px}.lad-off{stroke:var(--flow-off);stroke-dasharray:5 4}.lad-off-el{stroke:#7a858c}.lad-flow{stroke:#d6ffe4;stroke-width:2.4px;stroke-dasharray:3 15;stroke-linecap:round;pointer-events:none;animation:.55s linear infinite flow}.lad-flow.rail{stroke-width:3px}@keyframes flow{to{stroke-dashoffset:-18px}}@media (prefers-reduced-motion:reduce){.lad-flow{display:none}}rect.lad-el,rect.lad-on,rect.lad-off-el{stroke-width:1.6px;fill:var(--lad-box)}.lad-tag{fill:#e3e8eb;font-size:15.5px}.lad-addr{fill:#9aa6ae;font:14px var(--mono)}.lad-mark{fill:#e3e8eb;font:700 13px var(--mono)}.lad-box-h{fill:#eef1f3;font:700 14.5px var(--mono)}.lad-box-t{fill:#b4bec4;font:14px var(--mono)}.lad-box-q{fill:#6d7880;font:700 14px var(--mono)}.lad-box-q.on{fill:var(--flow-on)}.lad-cell{cursor:pointer}.lad-hit{fill:#0000;stroke:#0000}.lad-cell:hover .lad-hit{fill:#ffffff09;stroke:#ffffff14}.lad-cell.sel .lad-hit{fill:#7fa8d61a;stroke:var(--accent);stroke-width:1.5px}.lad-junc{cursor:pointer}.lad-junc circle{fill:#181c20;stroke:#4c565d;stroke-width:1.4px;opacity:0;transition:opacity .12s}.net:hover .lad-junc circle{opacity:.7}.lad-junc:hover circle{opacity:1;stroke:var(--accent);fill:#7fa8d64d}.lad-junc.on circle{opacity:0}.lad-junc.on:hover circle{opacity:1;stroke:var(--red)}.add-net{color:var(--muted);border-style:dashed;justify-self:start}.ed-scroll{flex:1;padding:.75rem 1rem 1.875rem;overflow:auto}table.tags{border-collapse:collapse;width:100%;font-size:.8125rem}.tags th{background:var(--ed-bg);text-align:left;color:var(--muted);border-bottom:1px solid #2a3035;padding:.5rem;font-size:.7188rem;font-weight:600;position:sticky;top:-.75rem}.tags td{border-bottom:1px solid #1d2327;padding:.375rem .5rem}.tags .val{color:var(--muted)}.tags .val.on{color:var(--run);font-weight:700}.tags tr.used td:first-child{box-shadow:inset 2px 0 #4a77a8}.tags .kind{color:var(--muted);font-size:.75rem}.cell-in{width:100%;min-width:7rem;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:.3125rem;padding:.25rem .375rem}.cell-in:hover{border-color:#2a3035}.cell-in:focus{background:#0f1215;border-color:#4a77a8;outline:none}.tag-bar{align-items:center;gap:.375rem;margin-bottom:.625rem;display:flex}.tag-bar .grow{flex:1}.tag-filter{border:1px solid var(--line-2);width:20rem;max-width:50%;color:var(--text);font:inherit;background:#0f1215;border-radius:.4375rem;padding:.4375rem .625rem}.ed-scroll .empty{color:var(--muted);padding:1rem .5rem}.xref-intro{color:var(--soft);align-items:flex-start;gap:.5rem;max-width:60rem;margin:0 0 .75rem;font-size:.8125rem;display:flex}.xref-intro svg{color:var(--accent);margin-top:.2rem}.xref td:first-child{width:12rem}.xref td:first-child small{color:var(--muted);font-size:.75rem;display:block}.xref td:nth-child(2){width:9rem}.xref tr.warn td{background:#f0a83a0f}.xref small.warn{color:var(--amber);align-items:center;gap:.25rem;margin-top:.25rem;font-size:.75rem;display:flex}.uses{flex-wrap:wrap;gap:.25rem;display:flex}.use{gap:.375rem;min-height:1.75rem;padding:.125rem .5rem .125rem .25rem;font-size:.75rem}.use span{width:1.25rem;height:1.25rem;font:700 .6875rem var(--mono);color:var(--soft);background:#232a2f;border-radius:.25rem;place-items:center;display:inline-grid}.use.escrita span{background:var(--accent-bg);color:#fff}.speed{border:1px solid #2a3035;border-radius:.5rem;gap:2px;padding:2px;display:flex}.speed button{min-height:1.875rem;font:600 .8125rem var(--mono);border-color:#0000;padding:.25rem .5rem}.speed button.icon{padding:.25rem .4375rem}.ed-tool .speed button.on.hold{background:var(--amber-bg);color:#ffe2a8;border-color:#a77512}.diag h4,.force h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1rem 0 .375rem;font-size:.75rem}.diag h4:first-child{margin-top:0}.diag-row{text-align:left;white-space:normal;background:0 0;border:0;border-radius:.375rem;align-items:flex-start;gap:.5rem;width:100%;min-height:0;padding:.375rem .5rem;font-size:.8125rem;display:flex}.diag-row>span{display:grid}button.diag-row:hover:not(:disabled){background:#ffffff0d}button.diag-row:disabled{opacity:1;cursor:default}.diag-row svg{flex:none;margin-top:2px}.diag-row .t{width:4rem;font:.75rem var(--mono);color:var(--dim);flex:none}.err{color:var(--red)}.warn{color:var(--amber)}.info{color:var(--accent)}.force-note{background:var(--amber-bg);color:#f3e4cc;border-radius:.5rem;gap:.5rem;margin:0 0 .75rem;padding:.5625rem .75rem;font-size:.8125rem;display:flex}.force-note svg{flex:none;margin-top:2px}.force-cols{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.625rem;display:grid}.force .tags td{padding:.1875rem .375rem}.force tr.forced td{background:#f0a83a14}.seg3{border:1px solid var(--line-2);border-radius:.375rem;display:inline-flex;overflow:hidden}.seg3 button{min-height:1.5rem;font:.7188rem var(--mono);color:var(--muted);background:0 0;border:0;border-radius:0;padding:1px .5rem}.seg3 button+button{border-left:1px solid var(--line-2)}.seg3 button.on{color:#fff;background:var(--solid-3)}.force tr.forced .seg3 button.on{background:#f0a83a59}.faults{gap:.375rem;margin:.5rem 0 .75rem;display:grid}.fault{border:1px solid var(--line);cursor:pointer;border-radius:.5rem;align-items:flex-start;gap:.625rem;padding:.5625rem .75rem;display:flex}.fault.on{border-color:var(--red);background:var(--red-bg)}.fault input{accent-color:var(--red);margin-top:.1875rem}.fault span{gap:2px;display:grid}.fault small{color:var(--muted);font-size:.7813rem}.fault em{color:#f6c9c4;font-size:.7813rem;font-style:normal}.trend{flex-direction:column;flex:1;gap:.625rem;min-height:0;padding:.625rem .875rem .875rem;display:flex}.trend-pick{flex-wrap:wrap;gap:.25rem;display:flex}.trend-pick label{font:.7188rem var(--mono);color:var(--muted);cursor:pointer;border:1px solid #2a3035;border-radius:.3125rem;align-items:center;gap:.25rem;padding:.1875rem .4375rem;display:inline-flex}.trend-pick label.on{color:var(--text);background:#7fa8d61a;border-color:#4a77a8}.trend-pick input{display:none}.trend-canvas{background:#0e1113;border:1px solid #22282d;border-radius:.5rem;flex:1;width:100%;min-height:0}.report{display:none}@media print{@page{margin:18mm}body{color:#111;background:#fff;overflow:visible}.app{min-width:0;height:auto;display:block}.app>:not(.report){display:none!important}.report{font:12pt/1.5 var(--sans);color:#111;display:block}.report header{border-bottom:2px solid #111;justify-content:space-between;margin-bottom:.875rem;padding-bottom:.375rem;font-size:10pt;display:flex}.report h1{margin:0 0 .375rem;font-size:18pt}.report h2{margin:1.125rem 0 .375rem;font-size:12pt}.report ol{padding-left:1.125rem}.report .small{color:#555;margin-top:1.5rem;font-size:9pt}}.quiz{gap:.75rem;padding:.25rem 1.5rem 1.5rem;display:grid;overflow:auto}.quiz-top{justify-content:space-between;align-items:baseline;display:flex}.quiz-score{font:600 .8125rem var(--mono);color:var(--soft)}.quiz-q{text-wrap:balance;margin:.25rem 0 0;font-size:1.125rem;font-weight:600;line-height:1.35}.quiz-opts{gap:.375rem;display:grid}.quiz-opt{text-align:left;white-space:normal;background:var(--solid-2);border-color:var(--line-2);justify-content:flex-start;gap:.75rem;min-height:3rem;padding:.5rem .75rem;font-size:.9063rem}.quiz-opt:hover:not(:disabled){background:var(--solid-3);border-color:#7fa8d699}.quiz-opt:disabled{cursor:default;opacity:1}.quiz-opt.right{border-color:var(--run);background:var(--run-bg);color:#dcffe9}.quiz-opt.wrong{border-color:var(--red);background:var(--red-bg);color:#ffd9d5}.quiz-opt.dim{color:var(--muted)}.quiz-letter{width:1.625rem;height:1.625rem;font:600 .8125rem var(--mono);background:#ffffff0f;border-radius:.375rem;flex:none;place-items:center;display:grid}.quiz-opt.right .quiz-letter{background:var(--run);color:#062b14}.quiz-opt.wrong .quiz-letter{background:var(--red);color:#2b0805}.quiz-why{border-left:3px solid var(--amber);background:var(--amber-bg);color:var(--soft);border-radius:.5rem;padding:.75rem .875rem;font-size:.875rem;line-height:1.55}.quiz-why.ok{border-left-color:var(--run);background:var(--run-bg)}.quiz-why b{color:var(--text)}.quiz-why .link{width:fit-content;min-height:0;color:var(--accent);margin-top:.375rem;padding:.125rem .375rem;display:flex}.quiz-foot{justify-content:flex-end;display:flex}.quiz-end{text-align:center}.quiz-big{font:600 4rem/1 var(--mono);margin:.5rem 0 0}.quiz-big small{color:var(--muted);font-size:1.5rem}.quiz-msg{color:var(--soft);margin:0}.quiz-review{text-align:left;gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.quiz-review li{color:var(--soft);border-radius:.375rem;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8438rem;display:flex}.quiz-review li span{flex:1}.quiz-review li.ok svg{color:var(--run)}.quiz-review li.bad svg{color:var(--red)}.quiz-review .link{min-height:0;color:var(--accent);padding:.125rem .5rem}.lesson-card{width:25.5rem}.lesson-art{border:1px solid var(--line);width:100%;height:auto;font-family:var(--sans);background:#0f1214;border-radius:.5rem;margin:.375rem 0 .125rem;padding:.375rem .25rem;display:block}.lesson-card p{font-size:.875rem}.lessons{gap:.375rem;margin:0;padding:0 1.5rem .5rem;list-style:none;display:grid;overflow:auto}.lesson{border-radius:var(--radius);text-align:left;white-space:normal;border-color:var(--line);background:var(--solid-2);align-items:center;gap:.75rem;width:100%;padding:.75rem .875rem;display:flex}.lesson:hover{background:var(--solid-3);border-color:#7fa8d680}.lesson.next{box-shadow:inset 3px 0 var(--accent);border-color:#7fa8d6a6}.lesson-no{border:1px solid var(--line-2);width:2rem;height:2rem;font:600 .875rem var(--mono);color:var(--soft);border-radius:50%;flex:none;place-items:center;display:grid}.lesson.ok .lesson-no{border-color:var(--run);color:var(--run);background:var(--run-bg)}.lesson-tx{flex:1;gap:2px;display:grid}.lesson-tx b{font-size:.9375rem;font-weight:600}.lesson-tx span{color:var(--muted);font-size:.8125rem}.lesson small{font:.6875rem var(--mono);color:var(--muted);flex:none}.sheet-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.625rem;padding:.875rem 1.5rem 1.25rem;font-size:.8125rem;display:flex}.sheet-foot b{color:var(--soft);font-weight:500}.spot{z-index:30;pointer-events:none;border:2px solid var(--accent);border-radius:.5rem;transition:left .18s,top .18s,width .18s,height .18s;animation:1.3s ease-in-out infinite spot;position:fixed;box-shadow:0 0 0 4px #7fa8d638,0 0 1.5rem #7fa8d659}.spot-tx{background:var(--accent-bg-2);color:#fff;white-space:nowrap;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 .375rem 1rem #0006}.spot-tx.up{top:auto;bottom:calc(100% + .5rem)}@keyframes spot{50%{box-shadow:0 0 0 8px #7fa8d614,0 0 2rem #7fa8d680}}@media (prefers-reduced-motion:reduce){.spot{transition:none;animation:none}}.app.with-editor .lesson-card{width:auto;max-width:27rem;max-height:calc(100% - 13rem);padding:.625rem .875rem;inset:auto .625rem .625rem}.app.with-editor .lesson-art{max-height:5.25rem}.app.with-editor .lesson-card h2{margin:.25rem 0;font-size:1.0625rem}.app.with-editor .lesson-card p{margin-bottom:.5rem;font-size:.8125rem;line-height:1.45}.app.with-editor .lesson-card footer{margin-top:.5rem}.crumbs{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);align-items:center;gap:.375rem;padding:.1875rem;display:flex;top:4.25rem;left:.875rem}.crumbs ol{align-items:center;gap:.125rem;margin:0;padding:0 .25rem 0 0;list-style:none;display:flex}.crumbs li{color:var(--dim);align-items:center;gap:.125rem;display:flex}.crumbs li button{min-height:1.75rem;color:var(--soft);padding:.125rem .5rem;font-size:.8125rem}.crumbs li button.here,.crumbs .here{color:#fff;font-weight:600}.crumbs .here.dev{color:var(--accent);padding:.125rem .5rem;font-size:.8125rem}.crumbs .crumb-home{padding-inline:.4375rem}.crumbs li:first-child+li>svg:first-child{display:none}.crumb-back{border-radius:.375rem 0 0 .375rem;gap:.3125rem;min-height:1.75rem;padding:.125rem .4375rem;border-right:1px solid var(--line)!important}.crumb-back span{font-size:.6875rem}.crumb-free{color:#dbe7f5;background:#2c4f7859;border-color:#7fa8d673;min-height:1.75rem;padding:.125rem .625rem;font-size:.75rem}.app:has(.coach) .crumbs{display:none}.navpanel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);width:12.5rem;padding:.375rem;top:4.25rem;right:.875rem}.navpanel.closed{width:auto}.minimap{background:#00000047;border-radius:.4375rem;width:100%;height:auto;margin-bottom:.25rem;display:block}.mm-room{fill:none;stroke:#ffffff29;stroke-width:4px}.mm-door{stroke:var(--muted);stroke-width:9px;stroke-linecap:round}.mm-area{cursor:pointer;outline:none}.mm-area rect{fill:#ffffff12;stroke:#ffffff4d;stroke-width:3px;transition:fill .15s,stroke .15s}.mm-area text{fill:var(--soft);font:600 30px var(--sans)}.mm-area:hover rect,.mm-area:focus-visible rect{fill:#7fa8d647;stroke:var(--accent)}.mm-area.on rect{fill:#7fa8d659;stroke:#fff}.mm-area.on text{fill:#fff}.mm-cone{fill:#7fa8d638;stroke:#7fa8d699;stroke-width:2.5px;pointer-events:none}.mm-eye{fill:#fff;stroke:var(--accent-bg);stroke-width:5px;pointer-events:none}.nav-tools{justify-content:space-between;gap:1px;display:flex}.nav-tools button{min-width:1.6875rem;min-height:1.6875rem;color:var(--soft);padding:.1875rem}.nav-tools button.on{color:var(--accent)}.navpanel.closed .nav-tools{flex-direction:column}.inspector{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--panel-2);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);width:12.5rem;max-height:calc(100% - 23.5rem);padding:.625rem .75rem .75rem;animation:.25s ease-out rise;top:18.75rem;right:.875rem;overflow:auto;box-shadow:0 .75rem 2rem #0006}.navpanel.closed~.inspector{max-height:calc(100% - 9rem);top:4.25rem}.inspector header{justify-content:space-between;align-items:center;margin:-.25rem -.375rem .125rem 0;display:flex}.inspector header button{min-width:1.625rem;min-height:1.625rem}.inspector h2{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;margin:0 0 .25rem;font-size:1rem;font-weight:600;display:flex}.inspector h2 code{font:600 .75rem var(--mono);color:var(--accent)}.inspector p{color:var(--soft);margin:0 0 .375rem;font-size:.75rem;line-height:1.45}.inspector .ins-state{font:.7188rem/1.4 var(--mono);color:var(--text);background:#ffffff0d;border-radius:.375rem;padding:.3125rem .5rem}.ins-uses{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.5rem}.ins-uses>b{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.25rem;font-size:.6875rem;display:block}.ins-uses ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.ins-uses li{color:var(--soft);align-items:baseline;gap:.375rem;font-size:.7188rem;display:flex}.ins-uses li span{font:600 .6563rem var(--mono);color:var(--text);white-space:nowrap}.ins-uses li em{font-style:normal;font:.625rem var(--mono);color:var(--dim);margin-left:auto}.ins-uses .link{min-height:1.5rem;color:var(--accent);margin:.25rem 0 0 -.375rem;padding:.125rem .375rem;font-size:.7188rem}.ins-op{justify-content:center;width:100%;margin-top:.625rem;font-size:.8125rem}.learn{position:relative}.learn-btn{background:0 0;gap:.375rem;border-color:#0000!important}.learn-btn.on{background:#ffffff14!important}.menu{z-index:40;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--solid);gap:2px;width:16.5rem;padding:.375rem;animation:.12s ease-out tip-in;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 1rem 2.5rem #0000008c}.menu-item{text-align:left;background:0 0;border-color:#0000;justify-content:flex-start;gap:.75rem;width:100%;min-height:2.75rem;padding:.375rem .625rem}.menu-item svg{color:var(--accent)}.menu-item span{line-height:1.25;display:grid}.menu-item b{font-size:.8438rem;font-weight:600}.menu-item small{color:var(--muted);font-size:.7188rem}.menu-item:hover,.menu-item:focus-visible{background:#7fa8d61f!important}.navhelp{z-index:32;border:1px solid var(--line-2);background:var(--panel-2);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);border-radius:.875rem;width:min(30rem,90%);padding:1rem 1.125rem 1.125rem;animation:.3s ease-out rise;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 1.5rem 4rem #0000008c}.navhelp header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.navhelp header b{font-size:1.0625rem}.navhelp dl{gap:.125rem;margin:0 0 .875rem;display:grid}.navhelp dl div{border-bottom:1px solid var(--line);grid-template-columns:9.5rem 1fr;align-items:center;gap:.75rem;padding:.375rem .25rem;display:grid}.navhelp dt{color:var(--text);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:flex}.navhelp dd{color:var(--soft);margin:0;font-size:.8125rem}.navhelp>.primary{justify-content:center;width:100%}.mouse{width:.875rem;height:1.25rem;color:var(--soft);flex:none}.io.min{align-items:center;gap:.75rem;padding:.375rem .5rem .375rem .75rem;display:flex}.io.min .io-name b{font-size:.8125rem}.io-strip{align-items:center;gap:2px;display:flex}.io-sh{font:700 .6875rem var(--mono);color:var(--muted);letter-spacing:.06em;margin:0 .25rem 0 .375rem}.io-sh:first-child{margin-left:0}.io-dot{width:1.5rem;color:var(--muted);background:#15191c;border:1px solid #252b30;border-radius:.3125rem;justify-items:center;gap:2px;padding:.1875rem 0 .25rem;font-style:normal;display:grid}.io-dot b{font:600 .5625rem/1 var(--mono)}.io-dot em{background:#2a3237;border-radius:50%;width:.5625rem;height:.5625rem;display:block}.io-dot.on{color:#eafff1;background:#43d17a29;border-color:#43d17ab3}.io-dot.on em{background:var(--run);box-shadow:0 0 .4375rem var(--run)}.io-dot.forced{outline:2px solid var(--amber);outline-offset:-1px}.io.min .io-min{margin-left:-.25rem}.lbl.comp{pointer-events:auto;cursor:pointer;align-items:baseline;gap:.4375rem;transition:background .15s,border-color .15s;display:flex}.lbl.comp span{font:500 .625rem var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.lbl.comp:hover{background:#2c4f78eb;border-left-color:#fff}.lbl.comp:hover span{color:#dbe7f5}.app.at-home .crumbs,.app.at-home .navpanel,.app.at-home .inspector,.app.showing .navhelp,.app.with-editor .learn{display:none}
