.canvas-host.svelte-1t3oi0n{cursor:default;user-select:none;position:absolute;inset:0}.canvas-host.editable.svelte-1t3oi0n{cursor:crosshair}.canvas-host.svelte-1t3oi0n canvas{display:block}.flash.svelte-1t3oi0n{pointer-events:none;background:radial-gradient(circle,#fbbf242e,#0000 60%);animation:.36s ease-out svelte-1t3oi0n-flash;position:absolute;inset:0}@keyframes svelte-1t3oi0n-flash{0%{opacity:1}to{opacity:0}}.error.svelte-1t3oi0n{color:#fecaca;max-width:520px;font-family:var(--mono);pointer-events:none;background:#450a0ae6;border:1px solid #f8717180;border-radius:8px;padding:8px 12px;font-size:11px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.app.svelte-18gl9ye{grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.topbar.svelte-18gl9ye{border-bottom:1px solid var(--line);backdrop-filter:blur(10px);z-index:3;background:#0a0f15eb;align-items:center;gap:22px;height:58px;padding:0 20px;display:flex}.brand.svelte-18gl9ye{align-items:center;gap:10px;min-width:210px;display:flex}.mark.svelte-18gl9ye{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0f766e);border-radius:9px;place-items:center;width:32px;height:32px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:700;display:grid;box-shadow:0 8px 24px #2563eb59}.brand.svelte-18gl9ye strong:where(.svelte-18gl9ye){letter-spacing:.02em;font-size:15px;display:block}.sub.svelte-18gl9ye{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px;display:block}.chapters.svelte-18gl9ye{scrollbar-width:none;gap:4px;display:flex;overflow:auto}.chapters.svelte-18gl9ye::-webkit-scrollbar{display:none}.chapters.svelte-18gl9ye button:where(.svelte-18gl9ye),.chapters.svelte-18gl9ye a:where(.svelte-18gl9ye){color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:baseline;gap:7px;padding:7px 10px;display:flex}.chapters.svelte-18gl9ye button:where(.svelte-18gl9ye):hover,.chapters.svelte-18gl9ye a:where(.svelte-18gl9ye):hover{color:var(--text);border-color:var(--line)}.chapters.svelte-18gl9ye button.active:where(.svelte-18gl9ye){color:var(--text);background:#121a24;border-color:#334252}.chapters.svelte-18gl9ye a:where(.svelte-18gl9ye){text-decoration:none}.nav-number.svelte-18gl9ye{font-family:var(--mono);color:#fbbf24;font-size:10px}.nav-title.svelte-18gl9ye{font-size:12px}.top-actions.svelte-18gl9ye{align-items:center;gap:8px;margin-left:auto;display:flex}.top-actions.svelte-18gl9ye .link:where(.svelte-18gl9ye){color:var(--muted);font-family:var(--mono);border:1px solid #0000;border-radius:7px;padding:6px 8px;font-size:10.5px;text-decoration:none}.top-actions.svelte-18gl9ye .link:where(.svelte-18gl9ye):hover{color:var(--text);border-color:var(--line)}.body.svelte-18gl9ye{grid-template-columns:300px minmax(0,1fr) 300px;min-height:0;display:grid}.lesson.svelte-18gl9ye,.inspector.svelte-18gl9ye{background:linear-gradient(#0d131b,#0a0f15);padding:22px 18px 30px;overflow:auto}.lesson.svelte-18gl9ye{border-right:1px solid var(--line)}.inspector.svelte-18gl9ye{border-left:1px solid var(--line)}.kicker.svelte-18gl9ye{color:#fbbf24;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:9px;display:inline-block}h1.svelte-18gl9ye{letter-spacing:-.01em;margin:0 0 14px;font-size:20px;line-height:1.3}.lesson.svelte-18gl9ye p:where(.svelte-18gl9ye){color:#a8b6c8;margin:0 0 12px;font-size:12.5px;line-height:1.65}.goal.svelte-18gl9ye{background:#fbbf240d;border:1px solid #fbbf2440;border-radius:10px;margin:18px 0;padding:12px}.goal-label.svelte-18gl9ye{color:#fbbf24;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:9px;display:block}.goal.svelte-18gl9ye p:where(.svelte-18gl9ye){color:#d6c9a8;margin:0;font-size:12px}.block.svelte-18gl9ye{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.block-head.svelte-18gl9ye{justify-content:space-between;align-items:center;display:flex}h2.svelte-18gl9ye{color:#9fb0c5;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:9.5px;font-weight:600}.task-count.svelte-18gl9ye{color:var(--muted);font-family:var(--mono);font-size:10px}.tasks.svelte-18gl9ye{gap:9px;margin:0;padding:0;list-style:none;display:grid}.tasks.svelte-18gl9ye li:where(.svelte-18gl9ye){color:#a8b6c8;gap:9px;font-size:12px;line-height:1.45;display:flex}.tasks.svelte-18gl9ye li.done:where(.svelte-18gl9ye){color:#86efac}.check.svelte-18gl9ye{text-align:center;width:15px;height:15px;font-family:var(--mono);border:1px solid #334252;border-radius:50%;flex:none;margin-top:1px;font-size:10px;line-height:13px}.tasks.svelte-18gl9ye li.done:where(.svelte-18gl9ye) .check:where(.svelte-18gl9ye){color:#34d399;border-color:#34d3998c}.tasks.svelte-18gl9ye small:where(.svelte-18gl9ye){color:#6f8198;margin-top:2px;font-size:10.5px;display:block}.success.svelte-18gl9ye{color:#a7f3d0;background:#34d39912;border:1px solid #34d3994d;border-radius:8px;margin-top:12px;padding:9px 10px;font-size:11px}.presets.svelte-18gl9ye{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.preset.svelte-18gl9ye{color:#cbd5e1;font-family:var(--mono);cursor:pointer;background:#111923;border:1px solid #2b3949;border-radius:7px;padding:6px 9px;font-size:10px}.preset.svelte-18gl9ye:hover,.preset.active.svelte-18gl9ye{color:#fde68a;border-color:#fbbf2480}.stage.svelte-18gl9ye{background:radial-gradient(900px 500px at 45% 45%,#2563eb12,#0000 70%),radial-gradient(700px 400px at 70% 20%,#0596690d,#0000 70%);flex-direction:column;min-width:0;min-height:0;display:flex}.toolbar.svelte-18gl9ye{border-bottom:1px solid var(--line);background:#0a0f158c;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.tool-group.svelte-18gl9ye{border-right:1px solid var(--line);gap:5px;padding-right:8px;display:flex}.tool-group.svelte-18gl9ye:last-child{border-right:0}.canvas-wrap.svelte-18gl9ye{flex:1;min-height:0;position:relative}.stage-status.svelte-18gl9ye{border:1px solid var(--line);color:#cbd5e1;max-width:70%;font-family:var(--mono);pointer-events:none;backdrop-filter:blur(6px);background:#0a0f15b8;border-radius:7px;align-items:center;gap:7px;padding:6px 9px;font-size:10px;display:flex;position:absolute;top:12px;left:14px}.status-dot.svelte-18gl9ye{background:#475569;border-radius:50%;width:6px;height:6px}.status-dot.active.svelte-18gl9ye{background:#fbbf24;box-shadow:0 0 8px #fbbf24cc}.stage-footer.svelte-18gl9ye{border-top:1px solid var(--line);background:#0a0f158c;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.trace.svelte-18gl9ye{scrollbar-width:none;gap:5px;min-width:0;display:flex;overflow:auto}.trace.svelte-18gl9ye::-webkit-scrollbar{display:none}.trace-chip.svelte-18gl9ye{color:#94a3b8;font-family:var(--mono);background:#0f1720;border:1px solid #273444;border-radius:6px;flex:none;padding:4px 7px;font-size:9.5px}.trace-chip.svelte-18gl9ye b:where(.svelte-18gl9ye){color:#fbbf24;margin-right:4px}.legend.svelte-18gl9ye{color:var(--muted);font-family:var(--mono);flex:none;gap:10px;font-size:9px;display:flex}.legend.svelte-18gl9ye span:where(.svelte-18gl9ye){align-items:center;gap:5px;display:flex}.dot.svelte-18gl9ye{border-radius:50%;width:6px;height:6px}.dot.amber.svelte-18gl9ye{background:#fbbf24}.dot.light.svelte-18gl9ye{background:#cbd5e1}.dot.slate.svelte-18gl9ye{background:#64748b}.rule.svelte-18gl9ye{min-height:22px;color:var(--amber);font-family:var(--mono);word-break:break-all;font-size:12px}.muted.svelte-18gl9ye{color:var(--muted);font-size:11.5px;line-height:1.55}.metrics.svelte-18gl9ye{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.metrics.svelte-18gl9ye div:where(.svelte-18gl9ye){border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:9px}.metrics.svelte-18gl9ye span:where(.svelte-18gl9ye){font-family:var(--mono);color:#e2e8f0;font-size:18px;display:block}.metrics.svelte-18gl9ye label:where(.svelte-18gl9ye){color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:8.5px;display:block}.legend-list.svelte-18gl9ye{color:var(--muted);gap:7px;margin:0;padding:0;font-size:11px;list-style:none;display:grid}.legend-list.svelte-18gl9ye li:where(.svelte-18gl9ye){align-items:center;gap:7px;display:flex}.swatch.svelte-18gl9ye{border-radius:3px;width:10px;height:10px}.swatch.gamma.svelte-18gl9ye{background:#2563eb}.swatch.delta.svelte-18gl9ye{background:#059669}.swatch.epsilon.svelte-18gl9ye{background:#6b7280}.swatch.ctr.svelte-18gl9ye{background:#7c3aed}code.svelte-18gl9ye{color:#cbd5e1;font-family:var(--mono);font-size:10.5px}.trace-list.svelte-18gl9ye{color:#a8b6c8;font-family:var(--mono);gap:5px;margin:0;padding:0;font-size:10px;list-style:none;display:grid}.trace-list.svelte-18gl9ye li:where(.svelte-18gl9ye){gap:8px;display:flex}.trace-step.svelte-18gl9ye{color:#fbbf24;min-width:26px}.loading.svelte-18gl9ye{height:100%;color:var(--muted);font-family:var(--mono);place-items:center;font-size:11px;display:grid}button.svelte-18gl9ye{color:var(--text);font-family:var(--mono);cursor:pointer;background:#111923;border:1px solid #2b3949;border-radius:7px;padding:6px 10px;font-size:10.5px;transition:border-color .12s,background .12s}button.svelte-18gl9ye:hover:not(:disabled){background:#17212c;border-color:#3f5268}button.svelte-18gl9ye:disabled{opacity:.42;cursor:default}button.primary.svelte-18gl9ye{color:#fde68a;background:#fbbf241f;border-color:#fbbf2473}button.ghost.svelte-18gl9ye{background:0 0}button.danger.svelte-18gl9ye{color:#fca5a5;border-color:#f871714d}button.add.svelte-18gl9ye{color:#93c5fd;border-color:#60a5fa40}.note.svelte-18gl9ye code:where(.svelte-18gl9ye){color:#93c5fd}@media (width<=1020px){.body.svelte-18gl9ye{grid-template-columns:280px minmax(0,1fr)}.inspector.svelte-18gl9ye{display:none}}@media (width<=860px){.app.svelte-18gl9ye{height:auto;min-height:100vh;overflow:auto}.topbar.svelte-18gl9ye{flex-wrap:wrap;gap:10px;height:auto;padding:12px 14px}.brand.svelte-18gl9ye{min-width:0}.chapters.svelte-18gl9ye{order:3;width:100%}.body.svelte-18gl9ye{grid-template-rows:auto minmax(460px,60vh);grid-template-columns:1fr}.lesson.svelte-18gl9ye{border-right:0;border-bottom:1px solid var(--line);max-height:44vh}.stage.svelte-18gl9ye{min-height:460px}.stage-footer.svelte-18gl9ye{flex-wrap:wrap}.legend.svelte-18gl9ye{display:none}}
