.app-shell[data-v-f8aa16cd]{flex-direction:column;min-height:100vh;display:flex}.topbar[data-v-f8aa16cd]{justify-content:space-between;align-items:center;gap:var(--spacing-16);height:64px;padding:0 var(--spacing-24);border-bottom:1px solid var(--color-charcoal);display:flex}.logout[data-v-f8aa16cd]{border:1px solid var(--color-slate);border-radius:var(--radius-buttons);color:var(--color-silver-mist);padding:var(--spacing-8) var(--spacing-16);font:inherit;font-size:var(--text-body-sm);cursor:pointer;background:0 0;transition:border-color .12s,color .12s}.logout[data-v-f8aa16cd]:hover{border-color:var(--color-graphite);color:var(--color-snow)}.brand[data-v-f8aa16cd]{align-items:center;gap:var(--spacing-8);font-weight:var(--font-weight-medium);font-size:var(--text-body);color:var(--color-snow);display:inline-flex}.brand-mark[data-v-f8aa16cd]{font-family:var(--font-source-code-pro);color:var(--color-phosphor-green)}.app-content[data-v-f8aa16cd]{width:100%;max-width:var(--page-max-width);padding:var(--spacing-32) var(--spacing-24) var(--spacing-64);flex:1;margin:0 auto}.app-content[data-v-f8aa16cd]:has(.evaluation--wide){max-width:calc(1680px + 2 * var(--spacing-24));padding-top:var(--spacing-16)}.activities[data-v-23ade844]{gap:var(--spacing-24);flex-direction:column;display:flex}.header[data-v-23ade844]{justify-content:space-between;align-items:baseline;gap:var(--spacing-16);display:flex}.title[data-v-23ade844]{font-size:var(--text-heading-sm);color:var(--color-snow);margin:0}.student[data-v-23ade844]{font-size:var(--text-body);color:var(--color-silver-mist);margin:0}.student strong[data-v-23ade844]{color:var(--color-snow);font-weight:var(--font-weight-medium)}.status-text[data-v-23ade844]{color:var(--color-silver-mist);margin:0}.error[data-v-23ade844]{padding:var(--spacing-16);border-radius:var(--radius-inputs);color:var(--color-fail);font-size:var(--text-body-sm);border:1px solid #f8717166;margin:0}.list[data-v-23ade844]{gap:var(--spacing-16);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.card[data-v-23ade844]{justify-content:space-between;align-items:center;gap:var(--spacing-16);padding:var(--card-padding);border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);background:var(--color-obsidian);text-decoration:none;display:flex}.card--open[data-v-23ade844]{color:var(--color-snow);cursor:pointer;transition:border-color .12s,background-color .12s}.card--open[data-v-23ade844]:hover{border-color:var(--color-phosphor-green);background:#ffffff0a}.card--closed[data-v-23ade844]{color:var(--color-silver-mist);opacity:.7;cursor:not-allowed}.card-title[data-v-23ade844]{font-size:var(--text-body);font-weight:var(--font-weight-medium)}.badges[data-v-23ade844]{align-items:center;gap:var(--spacing-8);display:flex}.badge[data-v-23ade844]{font-size:var(--text-body-sm);padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius-buttons);border:1px solid var(--color-slate)}.badge--type[data-v-23ade844]{color:var(--color-silver-mist)}.badge--open[data-v-23ade844]{color:var(--color-phosphor-green);border-color:#3ecf8e66}.badge--closed[data-v-23ade844]{color:var(--color-amber,#f4c430);border-color:#f4c43066}.camera[data-v-4f240aed]{left:var(--spacing-16);bottom:var(--spacing-16);z-index:40;width:160px;position:fixed}.camera--placed[data-v-4f240aed]{bottom:auto;left:auto}.camera--active[data-v-4f240aed]{border-radius:var(--radius-cards);border:1px solid var(--color-charcoal);background:var(--color-obsidian);overflow:hidden;box-shadow:0 8px 24px #00000073}.camera--dragging[data-v-4f240aed]{-webkit-user-select:none;user-select:none;box-shadow:0 12px 32px #0009}.camera-handle[data-v-4f240aed]{align-items:center;gap:var(--spacing-8);padding:4px var(--spacing-8);cursor:grab;touch-action:none;background:#0009;display:flex}.camera--dragging .camera-handle[data-v-4f240aed]{cursor:grabbing}.camera-handle-label[data-v-4f240aed]{color:var(--color-snow);font-size:var(--text-caption);letter-spacing:.04em;flex:1}.camera-grip[data-v-4f240aed]{color:var(--color-smoke);font-size:var(--text-caption);line-height:1}.camera-frame[data-v-4f240aed]{background:var(--color-obsidian);width:100%;height:120px;position:relative}.camera-video[data-v-4f240aed]{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.camera-dot[data-v-4f240aed]{background:var(--color-fail);border-radius:50%;width:9px;height:9px;animation:1.6s ease-in-out infinite camera-pulse-4f240aed;box-shadow:0 0 #f8717199}.camera-note[data-v-4f240aed]{max-width:220px;padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius-inputs);color:var(--color-snow);font-size:var(--text-caption);background:#f4c43014;border:1px solid #f4c43066;margin:0;line-height:1.4}.camera-note--action[data-v-4f240aed]{cursor:pointer;text-align:left;font:inherit;font-size:var(--text-caption)}@keyframes camera-pulse-4f240aed{0%,to{box-shadow:0 0 #f8717180}50%{box-shadow:0 0 0 5px #f8717100}}@media (prefers-reduced-motion:reduce){.camera-dot[data-v-4f240aed]{animation:none}}.cm-editor-host[data-v-db809b73]{border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);height:100%;overflow:hidden}.cm-editor-host[data-v-db809b73] .cm-editor{height:100%;min-height:320px}.cm-editor-host[data-v-db809b73] .cm-scroller{font-family:var(--font-source-code-pro)}.md[data-v-34067a85]{color:var(--color-silver-mist);font-size:var(--text-body);line-height:var(--leading-body)}.md[data-v-34067a85] h1,.md[data-v-34067a85] h2,.md[data-v-34067a85] h3{color:var(--color-snow);font-weight:var(--font-weight-medium);margin:var(--spacing-16) 0 var(--spacing-8)}.md[data-v-34067a85] h1{font-size:var(--text-subheading)}.md[data-v-34067a85] h2{font-size:var(--text-body)}.md[data-v-34067a85] h3{font-size:var(--text-body-sm)}.md[data-v-34067a85] p{margin:0 0 var(--spacing-16)}.md[data-v-34067a85] p:last-child{margin-bottom:0}.md[data-v-34067a85] ul,.md[data-v-34067a85] ol{margin:0 0 var(--spacing-16);padding-left:var(--spacing-24)}.md[data-v-34067a85] li{margin:.2em 0}.md[data-v-34067a85] img{max-width:100%;height:auto;margin:0 0 var(--spacing-16);border-radius:var(--radius-inputs);display:block}.md[data-v-34067a85] pre{margin:0 0 var(--spacing-16);padding:var(--spacing-16);border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);font-family:var(--font-source-code-pro);font-size:var(--text-caption);color:var(--color-snow);background:#1b1b1b;overflow-x:auto}.md[data-v-34067a85] pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0;display:block}.md[data-v-34067a85] code{font-family:var(--font-source-code-pro);color:var(--color-snow);background:#242424;border-radius:4px;padding:.1em .35em}.md[data-v-34067a85] table{border-collapse:collapse;max-width:100%;margin:0 0 var(--spacing-16);display:block;overflow-x:auto}.md[data-v-34067a85] th,.md[data-v-34067a85] td{border:1px solid var(--color-charcoal);text-align:left;white-space:nowrap;padding:.4rem .6rem;font-size:.9em}.md[data-v-34067a85] th{color:var(--color-snow);font-weight:var(--font-weight-medium);background:var(--color-ash)}.md[data-v-34067a85] td{color:var(--color-silver-mist)}.md[data-v-34067a85] .hljs-keyword,.md[data-v-34067a85] .hljs-built_in{color:#c678dd}.md[data-v-34067a85] .hljs-title.function_,.md[data-v-34067a85] .hljs-title{color:#dcdcaa}.md[data-v-34067a85] .hljs-string{color:#98c379}.md[data-v-34067a85] .hljs-number,.md[data-v-34067a85] .hljs-literal{color:#d19a66}.md[data-v-34067a85] .hljs-comment{color:#7d8799;font-style:italic}.md[data-v-34067a85] .hljs-params{color:#9cdcfe}.pill[data-v-9e9d2ad1]{justify-content:center;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius-buttons);font-family:var(--font-circular);font-size:var(--text-body-sm);line-height:var(--leading-body-sm);letter-spacing:-.007em;cursor:pointer;transition:background-color .12s,border-color .12s;display:inline-flex}.pill[data-v-9e9d2ad1]:disabled{opacity:.5;cursor:not-allowed}.pill--primary[data-v-9e9d2ad1]{background-color:var(--color-phosphor-green);border:1px solid var(--color-phosphor-green);color:var(--color-obsidian);font-weight:var(--font-weight-medium)}.pill--primary[data-v-9e9d2ad1]:not(:disabled):hover{border-color:var(--color-forest-depth);background-color:var(--color-mint-pulse)}.pill--ghost[data-v-9e9d2ad1]{border:1px solid var(--color-slate);color:var(--color-snow);font-weight:var(--font-weight-regular);background-color:#0000}.pill--ghost[data-v-9e9d2ad1]:not(:disabled):hover{border-color:var(--color-graphite);background-color:#ffffff0a}.console-input-row[data-v-45f6ec2d]{gap:var(--spacing-8);flex-direction:column;display:flex}.console-input[data-v-45f6ec2d]{align-items:center;gap:var(--spacing-8);font-family:var(--font-source-code-pro);font-size:var(--text-caption);flex-wrap:wrap;padding-top:4px;line-height:1.5;display:flex}.console-prompt[data-v-45f6ec2d]{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-snow)}.console-caret[data-v-45f6ec2d]{color:var(--color-phosphor-green)}.console-field[data-v-45f6ec2d]{box-sizing:border-box;min-width:8ch;padding:2px var(--spacing-8);border:none;border-bottom:1px solid var(--color-phosphor-green);color:var(--color-phosphor-green);font:inherit;caret-color:var(--color-phosphor-green);background:0 0;border-radius:0;flex:12ch}.console-field[data-v-45f6ec2d]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.console-send[data-v-45f6ec2d]{padding-block:2px}.console-input-actions[data-v-45f6ec2d]{gap:var(--spacing-8);display:inline-flex}.console-input-row--idle .console-field[data-v-45f6ec2d]{border-bottom-color:var(--color-charcoal);caret-color:#0000;cursor:default;opacity:.55}.console-input-row--idle .console-field[data-v-45f6ec2d]:focus-visible{outline-color:var(--color-charcoal)}.console-input-row--idle .console-send[data-v-45f6ec2d]{opacity:.45;cursor:default}.console-help[data-v-45f6ec2d]{font-size:var(--text-caption);color:var(--color-smoke);margin:0}.console-alert[data-v-45f6ec2d]{font-size:var(--text-body-sm);color:var(--color-fail);margin:0}.sr-only[data-v-45f6ec2d]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (pointer:coarse){.console-field[data-v-45f6ec2d]{font-size:16px}.console-input-actions[data-v-45f6ec2d]{flex-basis:100%}.console-field[data-v-45f6ec2d],.console-send[data-v-45f6ec2d],.console-stop-inline[data-v-45f6ec2d]{min-height:44px}}.py-console[data-v-06b64828]{gap:var(--spacing-8);padding:var(--spacing-16);border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);background:var(--color-obsidian);flex-direction:column;display:flex}.console-head[data-v-06b64828]{align-items:center;gap:var(--spacing-8) var(--spacing-16);flex-wrap:wrap;display:flex}.console-title[data-v-06b64828]{font-size:var(--text-body-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke);margin:0}.console-status[data-v-06b64828]{font-size:var(--text-body-sm);color:var(--color-silver-mist);flex:auto;margin:0}.console-status--waiting[data-v-06b64828]{color:var(--color-phosphor-green)}.console-status--done[data-v-06b64828]{color:var(--color-pass)}.console-status--error[data-v-06b64828]{color:var(--color-fail)}.console-hint[data-v-06b64828],.console-note[data-v-06b64828],.console-trimmed[data-v-06b64828]{font-size:var(--text-caption);color:var(--color-smoke);margin:0}.console-trimmed[data-v-06b64828]{color:var(--color-silver-mist)}.console-fallback[data-v-06b64828]{gap:var(--spacing-8);flex-direction:column;display:flex}.console-fallback-label[data-v-06b64828]{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke)}.console-fallback-input[data-v-06b64828]{box-sizing:border-box;resize:vertical;width:100%;padding:var(--spacing-8) var(--spacing-16);border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);background:var(--color-ash);color:var(--color-snow);font-family:var(--font-source-code-pro);font-size:var(--text-caption)}.console-screen[data-v-06b64828]{padding:var(--spacing-8) var(--spacing-16);border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);background:var(--color-ash);flex-direction:column;display:flex}.console-log[data-v-06b64828]{min-height:3em;max-height:320px;font-family:var(--font-source-code-pro);font-size:var(--text-caption);color:var(--color-snow);margin:0;padding:0;line-height:1.5;list-style:none;overflow:auto}.console-screen--input .console-log[data-v-06b64828]{min-height:0}.console-log[data-v-06b64828]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.console-line[data-v-06b64828]{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.5em}.seg-err[data-v-06b64828],.seg-error[data-v-06b64828]{color:var(--color-fail)}.seg-in[data-v-06b64828]{color:var(--color-phosphor-green)}.seg-sys[data-v-06b64828]{color:var(--color-silver-mist)}.console-line--error[data-v-06b64828]{padding-left:var(--spacing-8);border-left:2px solid var(--color-fail)}.console-goto[data-v-06b64828]{align-self:flex-start}.sr-only[data-v-06b64828]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (pointer:coarse){.console-stop[data-v-06b64828],.console-goto[data-v-06b64828]{min-height:44px}}.code-question[data-v-18b07ceb]{container-type:inline-size}.cq-grid[data-v-18b07ceb]{gap:var(--spacing-24);grid-template-columns:minmax(0,.6fr) minmax(0,1.6fr);align-items:start;display:grid}@container (width<=720px){.cq-grid[data-v-18b07ceb]{grid-template-columns:minmax(0,1fr)}}.statement-panel[data-v-18b07ceb]{min-width:0;padding:var(--card-padding);border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);background:var(--color-obsidian)}.panel-title[data-v-18b07ceb]{margin:0 0 var(--spacing-16);font-size:var(--text-body-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke)}.editor-panel[data-v-18b07ceb]{gap:var(--spacing-16);flex-direction:column;min-width:0;display:flex}.editor-bar[data-v-18b07ceb]{padding:var(--spacing-8) var(--spacing-16);border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);background:var(--color-ash);justify-content:space-between;align-items:center;display:flex}.lang[data-v-18b07ceb]{font-family:var(--font-source-code-pro);font-size:var(--text-caption);letter-spacing:.1em;color:var(--color-silver-mist)}.hint[data-v-18b07ceb]{font-size:var(--text-caption);color:var(--color-smoke)}.editor-wrap[data-v-18b07ceb]{min-height:320px}.actions[data-v-18b07ceb]{gap:var(--spacing-8);display:flex}.test-stdin[data-v-18b07ceb]{gap:var(--spacing-8);flex-direction:column;grid-column:1/-1;display:flex}.test-stdin-label[data-v-18b07ceb]{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke)}.test-stdin-block[data-v-18b07ceb]{padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius-inputs);border:1px solid var(--color-charcoal);background:var(--color-ash);white-space:pre-wrap;font-family:var(--font-source-code-pro);font-size:var(--text-caption);color:var(--color-silver-mist);margin:0}.run-error[data-v-18b07ceb]{font-size:var(--text-body-sm);color:var(--color-fail);margin:0}.results[data-v-18b07ceb]{gap:var(--spacing-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.result[data-v-18b07ceb]{gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius-inputs);border:1px solid var(--color-charcoal);font-size:var(--text-body-sm);grid-template-columns:auto 1fr;align-items:start;display:grid}.result.passed[data-v-18b07ceb]{color:var(--color-pass);border-color:#3ecf8e66}.result.failed[data-v-18b07ceb]{color:var(--color-fail);border-color:#f8717166}.badge[data-v-18b07ceb]{font-weight:var(--font-weight-medium)}.name[data-v-18b07ceb]{color:var(--color-snow)}.detail[data-v-18b07ceb]{white-space:pre-wrap;font-family:var(--font-source-code-pro);font-size:var(--text-caption);color:var(--color-silver-mist);grid-column:1/-1;margin:0}.chip[data-v-d2ba9533]{align-items:center;gap:var(--spacing-8);padding:var(--spacing-8);border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);background:var(--color-obsidian);display:flex}.chip.dragging[data-v-d2ba9533]{z-index:10;border-color:var(--color-phosphor-green);opacity:.9;position:relative}.handle[data-v-d2ba9533]{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;color:var(--color-silver-mist)}.text[data-v-d2ba9533]{min-width:0;color:var(--color-snow);font:inherit;background:0 0;border:none;flex:auto;padding:0}.text[data-v-d2ba9533]:focus{outline:1px solid var(--color-phosphor-green);outline-offset:2px}.move[data-v-d2ba9533]{border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-obsidian);color:var(--color-silver-mist);font:inherit;font-size:var(--text-body-sm)}.remove[data-v-d2ba9533]{color:var(--color-silver-mist);cursor:pointer;font:inherit;background:0 0;border:none}.remove[data-v-d2ba9533]:hover{color:var(--color-fail)}.bucket[data-v-5fe1642c]{gap:var(--spacing-8);padding:var(--spacing-16);border:1px dashed var(--color-slate);border-radius:var(--radius-cards);background:#ffffff05;flex-direction:column;min-height:140px;display:flex}.bucket.active[data-v-5fe1642c]{border-color:var(--color-phosphor-green);border-style:solid}.bucket-header[data-v-5fe1642c]{justify-content:space-between;align-items:baseline;gap:var(--spacing-8);display:flex}.bucket-title[data-v-5fe1642c]{font-size:var(--text-body);color:var(--color-snow);margin:0}.count[data-v-5fe1642c]{font-size:var(--text-body-sm);color:var(--color-silver-mist)}.terms[data-v-5fe1642c]{gap:var(--spacing-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.empty[data-v-5fe1642c]{font-size:var(--text-body-sm);color:var(--color-smoke);margin:0}.er-classification[data-v-3ca7d15f]{gap:var(--spacing-16);flex-direction:column;display:flex}.add-term[data-v-3ca7d15f]{align-items:flex-end;gap:var(--spacing-8);flex-wrap:wrap;display:flex}.field[data-v-3ca7d15f]{gap:var(--spacing-8);flex-direction:column;flex:200px;display:flex}.field-label[data-v-3ca7d15f]{font-size:var(--text-body-sm);color:var(--color-silver-mist)}.field input[data-v-3ca7d15f],.field select[data-v-3ca7d15f]{padding:var(--spacing-8);border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-obsidian);color:var(--color-snow);font:inherit}.add[data-v-3ca7d15f]{padding:var(--spacing-8) var(--spacing-16);border:1px solid var(--color-phosphor-green);border-radius:var(--radius-buttons);color:var(--color-snow);font:inherit;cursor:pointer;background:0 0}.add[data-v-3ca7d15f]:disabled{opacity:.5;cursor:default}.buckets[data-v-3ca7d15f]{gap:var(--spacing-16);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=800px){.buckets[data-v-3ca7d15f]{grid-template-columns:1fr}}.er-canvas[data-v-7d1c01dc]{border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);touch-action:none;width:100%;height:auto;min-height:320px}.er-canvas[data-v-7d1c01dc]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.page[data-v-7d1c01dc]{fill:#fff}.wire-line[data-v-7d1c01dc]{fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.wire-hit[data-v-7d1c01dc]{fill:none;stroke:#0000;cursor:pointer}.wire-hit.selected[data-v-7d1c01dc]{stroke:#3ecf8e59}.wire[data-v-7d1c01dc]:focus-visible{outline:none}.wire:focus-visible .wire-hit[data-v-7d1c01dc]{stroke:#3ecf8e59}.wire:focus-visible .wire-line[data-v-7d1c01dc]{stroke:#3ecf8e;stroke-width:3px}.figure[data-v-7d1c01dc]{cursor:grab}.figure path[data-v-7d1c01dc]{stroke-width:1.7px;stroke-linejoin:round}.figure.selected path[data-v-7d1c01dc],.figure:focus-visible path[data-v-7d1c01dc]{stroke:#3ecf8e;stroke-width:3px}.label[data-v-7d1c01dc],.tag[data-v-7d1c01dc]{pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.label[data-v-7d1c01dc]{text-anchor:middle}.tag[data-v-7d1c01dc]{font-weight:600}.er-canvas.readonly .figure[data-v-7d1c01dc]{cursor:default}.toolbar[data-v-aa7c7b02]{align-items:flex-end;gap:var(--spacing-16);flex-wrap:wrap;display:flex}.group[data-v-aa7c7b02]{align-items:flex-end;gap:var(--spacing-8);display:flex}.field[data-v-aa7c7b02]{gap:var(--spacing-8);flex-direction:column;display:flex}.field-label[data-v-aa7c7b02]{font-size:var(--text-body-sm);color:var(--color-silver-mist)}select[data-v-aa7c7b02],input[data-v-aa7c7b02],button[data-v-aa7c7b02]{padding:var(--spacing-8);border:1px solid var(--color-slate);border-radius:var(--radius-buttons);background:var(--color-obsidian);color:var(--color-snow);font:inherit;font-size:var(--text-body-sm)}button[data-v-aa7c7b02]{cursor:pointer}button[data-v-aa7c7b02]:disabled{opacity:.5;cursor:default}.figure-label[data-v-aa7c7b02]{min-width:14rem}.hint[data-v-aa7c7b02]{font-size:var(--text-body-sm);color:var(--color-silver-mist);flex:100%;margin:0}.er-diagram[data-v-d3c4f4ec]{gap:var(--spacing-16);flex-direction:column;display:flex}.hint[data-v-d3c4f4ec]{font-size:var(--text-body-sm);color:var(--color-silver-mist);margin:0}.focus-banner[data-v-c47f0ae8]{z-index:1000;justify-content:center;align-items:center;gap:var(--spacing-16);padding:var(--spacing-8) var(--spacing-16);background:var(--color-ash);border-bottom:1px solid var(--color-charcoal);color:var(--color-snow);display:flex;position:fixed;top:0;left:0;right:0}.indicator[data-v-c47f0ae8]{border-radius:var(--radius-buttons);background:var(--color-phosphor-green);flex:none;width:8px;height:8px}.message[data-v-c47f0ae8]{font-size:var(--text-body-sm);color:var(--color-silver-mist);margin:0}.dismiss[data-v-c47f0ae8]{padding:var(--spacing-8) var(--spacing-16);border:1px solid var(--color-slate);border-radius:var(--radius-buttons);color:var(--color-snow);font:inherit;font-size:var(--text-body-sm);cursor:pointer;background:0 0}.dismiss[data-v-c47f0ae8]:hover{border-color:var(--color-graphite);background:#ffffff0a}.workspace[data-v-665ecc7e]{container-type:inline-size}.ws-grid[data-v-665ecc7e]{gap:var(--spacing-16);grid-template-columns:minmax(0,1fr);grid-template-areas:"statement""editor""diagram""checks";align-items:start;display:grid}.ws-zone[data-v-665ecc7e]{min-width:0}.ws-statement[data-v-665ecc7e]{z-index:5;border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);background:var(--color-obsidian);grid-area:statement;position:sticky;top:0}.ws-editor[data-v-665ecc7e]{grid-area:editor}.ws-diagram[data-v-665ecc7e]{grid-area:diagram}.ws-checks[data-v-665ecc7e]{grid-area:checks}.ws-statement-bar[data-v-665ecc7e]{justify-content:space-between;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);display:flex}.ws-statement-title[data-v-665ecc7e]{font-size:var(--text-body-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke);margin:0}.ws-statement-toggle[data-v-665ecc7e]{border:1px solid var(--color-slate);border-radius:var(--radius-buttons);color:var(--color-snow);padding:4px var(--spacing-16);font:inherit;font-size:var(--text-caption);white-space:nowrap;cursor:pointer;background:0 0}.ws-statement-toggle[data-v-665ecc7e]:hover{border-color:var(--color-graphite);background:#ffffff0a}.ws-statement-toggle[data-v-665ecc7e]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.ws-toggle-rail[data-v-665ecc7e]{display:none}.ws-statement-body[data-v-665ecc7e]{padding:0 var(--spacing-16) var(--spacing-16);max-height:45dvh;overflow:auto}@container (width>=720px){.ws-grid[data-v-665ecc7e]{grid-template:"statement statement""editor diagram""checks diagram"1fr/minmax(0,1fr) minmax(0,1.2fr)}.ws-statement-body[data-v-665ecc7e]{max-height:22dvh}.ws-grid--flowchart[data-v-665ecc7e]{grid-template:"statement statement""editor diagram""editor checks"1fr/minmax(0,1.6fr) minmax(280px,1fr)}}@container (width>=1100px){.ws-grid[data-v-665ecc7e]{grid-template:"statement editor diagram"minmax(0,1fr)"statement checks diagram"/minmax(220px,.7fr) minmax(0,1fr) minmax(0,1.2fr);align-items:stretch;height:clamp(560px,100dvh - 120px,1100px)}.ws-grid--collapsed[data-v-665ecc7e]{grid-template-columns:40px minmax(0,1fr) minmax(0,1.4fr)}.ws-grid--flowchart[data-v-665ecc7e]{height:clamp(480px, var(--ws-available-height,calc(100dvh - 120px)), 1100px);grid-template:"statement editor diagram"minmax(0,1fr)"statement editor checks"/minmax(200px,.5fr) minmax(0,2fr) minmax(280px,.8fr)}.ws-grid--flowchart.ws-grid--collapsed[data-v-665ecc7e]{grid-template-columns:40px minmax(0,2fr) minmax(280px,.8fr)}.ws-zone[data-v-665ecc7e]{min-height:0;overflow:auto}.ws-statement[data-v-665ecc7e]{flex-direction:column;display:flex;position:static;overflow:hidden}.ws-statement-body[data-v-665ecc7e]{flex:auto;min-height:0;max-height:none}.ws-grid--collapsed .ws-statement-bar[data-v-665ecc7e]{padding:var(--spacing-8) 0;flex:auto;justify-content:center;align-items:stretch}.ws-grid--collapsed .ws-statement-title[data-v-665ecc7e],.ws-grid--collapsed .ws-toggle-text[data-v-665ecc7e]{display:none}.ws-grid--collapsed .ws-toggle-rail[data-v-665ecc7e]{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;display:inline;transform:rotate(180deg)}.ws-grid--collapsed .ws-statement-toggle[data-v-665ecc7e]{width:100%;padding:var(--spacing-16) 0;border:none;border-radius:0}}.flow-block-editor[data-v-708f735c]{z-index:10;border:2px solid var(--color-phosphor-green);border-radius:var(--radius-inputs);background:var(--color-obsidian);min-height:44px;color:var(--color-snow);font-family:var(--font-source-code-pro);resize:none;outline:none;padding:8px 10px;font-size:13px;line-height:1.4;position:absolute;overflow:auto}.flow-help[data-v-0590a93b]{border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-ash);width:min(760px,100% - 16px);max-height:min(600px,100% - 16px);color:var(--color-snow);font-size:var(--text-body-sm);line-height:var(--leading-body-sm);flex-direction:column;display:flex;overflow:hidden;container:flow-help/inline-size}.help-head[data-v-0590a93b]{justify-content:space-between;align-items:center;gap:var(--spacing-8);flex:none;padding:8px 8px 0 16px;display:flex}.help-head h4[data-v-0590a93b]{font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);margin:0}.help-close[data-v-0590a93b]{border-radius:var(--radius-inputs);width:32px;height:32px;color:var(--color-silver-mist);cursor:pointer;background:0 0;border:1px solid #0000;font-size:20px;line-height:1}.help-close[data-v-0590a93b]:hover{color:var(--color-snow);border-color:var(--color-slate)}.help-tabs[data-v-0590a93b]{border-bottom:1px solid var(--color-slate);flex:none;gap:4px;padding:4px 12px 0;display:flex;overflow-x:auto}.help-tab[data-v-0590a93b]{color:var(--color-silver-mist);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:8px 12px}.help-tab[data-v-0590a93b]:hover{color:var(--color-snow)}.help-tab[aria-selected=true][data-v-0590a93b]{color:var(--color-snow);border-bottom-color:var(--color-phosphor-green)}.help-tab[data-v-0590a93b]:focus-visible,.help-close[data-v-0590a93b]:focus-visible,.help-panel[data-v-0590a93b]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:-2px}.help-body[data-v-0590a93b]{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.help-panel[data-v-0590a93b]{padding:12px 16px 16px}.help-intro[data-v-0590a93b],.help-callout[data-v-0590a93b]{color:var(--color-silver-mist);margin:0 0 12px}.help-callout[data-v-0590a93b]{border-left:3px solid var(--color-phosphor-green);border-radius:0 var(--radius-inputs) var(--radius-inputs) 0;background:var(--color-charcoal);color:var(--color-snow);padding:8px 12px}.help-callout strong[data-v-0590a93b]{font-weight:var(--font-weight-medium)}code[data-v-0590a93b]{font-family:var(--font-source-code-pro);font-size:.93em}.help-table[data-v-0590a93b]{border-collapse:collapse;width:100%}.help-table thead th[data-v-0590a93b]{border-bottom:1px solid var(--color-slate);color:var(--color-smoke);font-size:var(--text-caption);font-weight:var(--font-weight-medium);text-align:left;text-transform:uppercase;letter-spacing:.04em;padding:0 12px 6px 0}.help-table th[data-v-0590a93b],.help-table td[data-v-0590a93b]{vertical-align:top;text-align:left;padding:6px 12px 6px 0}.help-table th[data-v-0590a93b]:last-child,.help-table td[data-v-0590a93b]:last-child{padding-right:0}.help-table tbody tr+tr[data-v-0590a93b]>*{border-top:1px solid var(--color-charcoal)}.help-group th[data-v-0590a93b]{color:var(--color-silver-mist);font-size:var(--text-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;padding-top:14px}.help-key[data-v-0590a93b]{width:1%;font-family:var(--font-source-code-pro);font-weight:var(--font-weight-regular);color:var(--color-phosphor-green);white-space:nowrap}.help-keyline[data-v-0590a93b]{display:block}.help-note[data-v-0590a93b]{color:var(--color-smoke);font-size:var(--text-caption);margin-top:2px;display:block}.help-note code[data-v-0590a93b]{color:var(--color-silver-mist);margin-left:.3em}.help-example[data-v-0590a93b]{color:var(--color-silver-mist)}.help-example code[data-v-0590a93b]{color:var(--color-snow);white-space:nowrap}.help-example--list code[data-v-0590a93b]{display:block}.help-desc[data-v-0590a93b]{min-width:13em}.help-gives[data-v-0590a93b]{white-space:nowrap}.help-arrow[data-v-0590a93b]{color:var(--color-smoke);margin:0 6px}.help-example .help-result[data-v-0590a93b]{color:var(--color-mint-pulse)}.sr-only[data-v-0590a93b]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.help-none[data-v-0590a93b]{color:var(--color-graphite)}.help-alt+.help-alt[data-v-0590a93b]{margin-left:.9em}@container flow-help (width<=520px){.help-head[data-v-0590a93b]{padding-left:12px}.help-tabs[data-v-0590a93b]{gap:0;padding:0 4px}.help-tab[data-v-0590a93b]{padding:8px}.help-panel[data-v-0590a93b]{padding:10px 12px 14px}.help-table thead[data-v-0590a93b]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.help-table tr[data-v-0590a93b]{padding:6px 0;display:block}.help-table tbody tr+tr[data-v-0590a93b]>*{border-top:none}.help-table tbody tr+tr[data-v-0590a93b]{border-top:1px solid var(--color-charcoal)}.help-table th[data-v-0590a93b],.help-table td[data-v-0590a93b]{padding:0;display:block}.help-table--stack td[data-v-0590a93b]{padding-top:2px}.help-table--split tr[data-v-0590a93b]:not(.help-group){grid-template-columns:6em minmax(0,1fr);column-gap:10px;display:grid}.help-table--split th[scope=row][data-v-0590a93b]{grid-row:span 2}.help-table--split td[data-v-0590a93b]{grid-column:2}.help-table--split .help-example[data-v-0590a93b]{padding-top:2px}.help-alt[data-v-0590a93b]{display:block}.help-alt+.help-alt[data-v-0590a93b]{margin-left:0}.help-table .help-group[data-v-0590a93b]{padding-top:12px}.help-example[data-v-0590a93b]{white-space:normal}.help-desc[data-v-0590a93b]{min-width:0}.help-none[data-v-0590a93b]{display:none}}.flow-canvas[data-v-35eb53cd]{gap:var(--spacing-8);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.canvas-toolbar[data-v-35eb53cd]{align-items:center;gap:var(--spacing-8);flex-wrap:wrap;display:flex;container:flow-toolbar/inline-size}.toolbar-tools[data-v-35eb53cd]{align-items:center;gap:var(--spacing-8);flex:auto;min-width:0;display:flex}.toolbar-view[data-v-35eb53cd]{flex:none;align-items:center;gap:4px;display:flex}.tool[data-v-35eb53cd]{border:1px solid var(--color-slate);border-radius:var(--radius-inputs);width:32px;height:32px;color:var(--color-snow);font:inherit;font-size:var(--text-body-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tool svg[data-v-35eb53cd]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.tool[data-v-35eb53cd]:hover:not(:disabled){border-color:var(--color-graphite);background:#ffffff0a}.tool[data-v-35eb53cd]:disabled{opacity:.5;cursor:not-allowed}.tool[data-v-35eb53cd]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.zoom[data-v-35eb53cd]{text-align:center;min-width:40px;font-size:var(--text-caption);color:var(--color-silver-mist);font-variant-numeric:tabular-nums}.canvas-overlay[data-v-35eb53cd]{z-index:8;pointer-events:none;max-width:calc(100% - 16px);position:absolute}.canvas-overlay[data-v-35eb53cd]>*{pointer-events:auto}@media (pointer:coarse){.tool[data-v-35eb53cd]{width:44px;height:44px}}@container flow-toolbar (width<=520px){.toolbar-tools[data-v-35eb53cd]{display:contents}.toolbar-tools[data-v-35eb53cd]>.flow-palette{flex:1 0 100%}.toolbar-tools[data-v-35eb53cd]>.edit-actions{border-left:none;padding-left:0}.toolbar-view[data-v-35eb53cd]{margin-left:auto}}.canvas-frame[data-v-35eb53cd]{border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);background-color:var(--color-obsidian);touch-action:none;background-image:radial-gradient(#ffffff0f 1px,#0000 1px);background-size:16px 16px;flex:auto;min-height:360px;position:relative;overflow:hidden}.canvas-frame[data-v-35eb53cd]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.canvas-svg[data-v-35eb53cd]{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.canvas-bg[data-v-35eb53cd]{fill:#0000;cursor:grab}.readonly .canvas-bg[data-v-35eb53cd]{cursor:default}.edge-hit[data-v-35eb53cd]{fill:none;stroke:#0000;stroke-width:16px;cursor:pointer}.edge-line[data-v-35eb53cd]{fill:none;stroke:var(--color-silver-mist);stroke-width:1.6px;stroke-linejoin:round;pointer-events:none}.arrow-head[data-v-35eb53cd]{fill:var(--color-silver-mist)}.arrow-head--hot[data-v-35eb53cd]{fill:var(--color-phosphor-green)}.edge--selected .edge-line[data-v-35eb53cd]{stroke:var(--color-phosphor-green);stroke-width:2.4px}.edge--taken .edge-line[data-v-35eb53cd]{stroke:var(--color-phosphor-green);stroke-width:3px;stroke-dasharray:8 4}.edge-label[data-v-35eb53cd]{fill:var(--color-snow);font-family:var(--font-circular);pointer-events:none;font-weight:600}.node[data-v-35eb53cd]{cursor:grab;touch-action:none}.readonly .node[data-v-35eb53cd]{cursor:default}.node[data-v-35eb53cd]:focus{outline:none}.node:focus-visible .node-shape[data-v-35eb53cd]{stroke:var(--color-phosphor-green);stroke-width:3px}.node-shape[data-v-35eb53cd]{fill:var(--color-ash);stroke:var(--color-silver-mist);stroke-width:1.6px}.node--start .node-shape[data-v-35eb53cd],.node--end .node-shape[data-v-35eb53cd]{fill:var(--color-forest-depth);stroke:var(--color-phosphor-green)}.node--input .node-shape[data-v-35eb53cd],.node--output .node-shape[data-v-35eb53cd]{fill:#1a2532;stroke:#7fa7d6}.node--decision .node-shape[data-v-35eb53cd]{fill:#2c2716;stroke:#e0b84a}.node--current .node-shape[data-v-35eb53cd]{stroke:var(--color-phosphor-green);stroke-width:4px}.node--error .node-shape[data-v-35eb53cd]{stroke:var(--color-fail);stroke-width:2.4px;stroke-dasharray:6 4}.node--target .node-shape[data-v-35eb53cd]{stroke:var(--color-phosphor-green);stroke-width:3px;stroke-dasharray:2 3}.selection-frame[data-v-35eb53cd]{fill:none;stroke:var(--color-phosphor-green);stroke-width:1.4px;stroke-dasharray:4 3;pointer-events:none}.node-text[data-v-35eb53cd]{fill:var(--color-snow);font-family:var(--font-source-code-pro);text-anchor:middle;pointer-events:none;white-space:pre}.node-text--fixed[data-v-35eb53cd]{font-family:var(--font-circular);font-weight:600}.node-number circle[data-v-35eb53cd]{fill:var(--color-graphite)}.node-number text[data-v-35eb53cd]{fill:var(--color-snow);font-family:var(--font-circular);text-anchor:middle;pointer-events:none}.mark[data-v-35eb53cd]{pointer-events:none;font-family:var(--font-circular)}.mark--current[data-v-35eb53cd]{fill:var(--color-phosphor-green);font-size:16px}.mark--error circle[data-v-35eb53cd]{fill:var(--color-fail)}.mark--error text[data-v-35eb53cd]{fill:var(--color-obsidian);text-anchor:middle;font-size:13px;font-weight:700}.mark--warn[data-v-35eb53cd]{fill:#f4c430;text-anchor:end;font-size:14px}.mark--target[data-v-35eb53cd]{fill:var(--color-phosphor-green);text-anchor:middle;font-size:12px}.port[data-v-35eb53cd]{cursor:crosshair;touch-action:none}.port-hit[data-v-35eb53cd]{fill:#0000}.port-dot[data-v-35eb53cd]{fill:var(--color-obsidian);stroke:var(--color-phosphor-green);stroke-width:1.6px}.port--connected .port-dot[data-v-35eb53cd]{fill:var(--color-phosphor-green)}.port:hover .port-dot[data-v-35eb53cd]{stroke-width:3px}.edge-handle[data-v-35eb53cd]{fill:#3ecf8e40;stroke:var(--color-phosphor-green);stroke-width:1.4px;cursor:crosshair;touch-action:none}.edge-delete[data-v-35eb53cd]{cursor:pointer}.edge-delete circle[data-v-35eb53cd]{fill:var(--color-charcoal);stroke:var(--color-fail);stroke-width:1.4px}.edge-delete text[data-v-35eb53cd]{fill:var(--color-snow);text-anchor:middle;pointer-events:none;font-size:12px}.edge-delete:focus-visible circle[data-v-35eb53cd]{stroke-width:3px}.wire-temp[data-v-35eb53cd]{fill:none;stroke:var(--color-phosphor-green);stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}.connect-banner[data-v-35eb53cd]{border:1px solid var(--color-phosphor-green);border-radius:var(--radius-inputs);color:var(--color-snow);font-size:var(--text-caption);pointer-events:none;white-space:nowrap;background:#121212eb;margin:0;padding:6px 12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.help-popover[data-v-35eb53cd]{z-index:20;position:absolute;right:8px}.sr-only[data-v-35eb53cd]{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flow-checks[data-v-627ac2a5]{gap:var(--spacing-8);flex-direction:column;display:flex}.checks-bar[data-v-627ac2a5]{align-items:center;gap:var(--spacing-8);flex-wrap:wrap;display:flex}.checks-title[data-v-627ac2a5]{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke);margin:0}.checks-summary[data-v-627ac2a5]{font-size:var(--text-caption);color:var(--color-silver-mist)}.checks-bar[data-v-627ac2a5] .pill{margin-left:auto}.checks-none[data-v-627ac2a5],.checks-outdated[data-v-627ac2a5]{font-size:var(--text-caption);color:var(--color-smoke);margin:0}.checks-outdated[data-v-627ac2a5]{color:#f4c430}.checks-list[data-v-627ac2a5]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.checks-list--outdated .case[data-v-627ac2a5]{opacity:.55}.case[data-v-627ac2a5]{border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);font-size:var(--text-caption);padding:6px 10px}.case--passed[data-v-627ac2a5]{border-color:#3ecf8e73}.case--failed[data-v-627ac2a5]{border-color:#f8717173}.case-head[data-v-627ac2a5]{align-items:baseline;gap:8px;display:flex}.case-head .case-badge[data-v-627ac2a5]{white-space:nowrap;margin-left:auto}.case-name[data-v-627ac2a5]{color:var(--color-snow)}.case-badge[data-v-627ac2a5]{font-weight:var(--font-weight-medium);color:var(--color-smoke)}.case--passed .case-badge[data-v-627ac2a5]{color:var(--color-pass)}.case--failed .case-badge[data-v-627ac2a5]{color:var(--color-fail)}.case-io[data-v-627ac2a5]{align-items:baseline;gap:6px;min-width:0;margin:0;display:flex}.case-io dt[data-v-627ac2a5]{color:var(--color-smoke)}.case-io dd[data-v-627ac2a5]{flex-wrap:wrap;gap:4px;margin:0;display:flex}.case-outputs[data-v-627ac2a5]{grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;display:grid}.output-col[data-v-627ac2a5]{min-width:0}.output-label[data-v-627ac2a5]{color:var(--color-smoke)}.value[data-v-627ac2a5],.output[data-v-627ac2a5]{font-family:var(--font-source-code-pro);font-size:var(--text-caption);color:var(--color-snow)}.value[data-v-627ac2a5]{background:var(--color-obsidian);border-radius:4px;padding:0 6px}.output[data-v-627ac2a5]{background:var(--color-obsidian);white-space:pre-wrap;word-break:break-word;border-radius:4px;margin:2px 0 0;padding:4px 6px}.muted[data-v-627ac2a5]{color:var(--color-smoke);margin:2px 0 0}.case-reason[data-v-627ac2a5]{color:var(--color-silver-mist);margin:6px 0 0}.flow-examples[data-v-7edade5c]{margin-top:var(--spacing-16)}.examples-title[data-v-7edade5c]{margin:0 0 var(--spacing-8);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke)}.examples-list[data-v-7edade5c]{gap:var(--spacing-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.example[data-v-7edade5c]{padding:var(--spacing-8) 12px;border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);background:var(--color-ash)}.example-name[data-v-7edade5c]{font-size:var(--text-caption);color:var(--color-silver-mist)}.example-io[data-v-7edade5c]{font-size:var(--text-body-sm);grid-template-columns:minmax(0,1fr);gap:2px;margin:4px 0 0;display:grid}.example-io dt[data-v-7edade5c]{font-size:var(--text-caption);color:var(--color-smoke);margin-top:4px}.example-io dd[data-v-7edade5c]{flex-wrap:wrap;gap:4px;min-width:0;margin:0;display:flex}.value[data-v-7edade5c],.output[data-v-7edade5c]{font-family:var(--font-source-code-pro);font-size:var(--text-caption);color:var(--color-snow)}.value[data-v-7edade5c]{background:var(--color-obsidian);border-radius:4px;padding:0 6px}.output[data-v-7edade5c]{white-space:pre-wrap;word-break:break-word;margin:0}.none[data-v-7edade5c]{color:var(--color-smoke)}.flow-palette[data-v-387f85d9]{flex-wrap:nowrap;gap:3px;min-width:0;display:flex}.palette-item[data-v-387f85d9]{border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-ash);height:32px;color:var(--color-snow);font:inherit;font-size:var(--text-caption);white-space:nowrap;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.palette-item[data-v-387f85d9]:hover:not(:disabled){border-color:var(--color-graphite);background:var(--color-charcoal)}.palette-item[data-v-387f85d9]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.palette-item[data-v-387f85d9]:disabled{opacity:.45;cursor:not-allowed}.palette-icon[data-v-387f85d9]{flex:none;width:24px;height:15px}.shape[data-v-387f85d9]{fill:var(--color-obsidian);stroke:var(--color-silver-mist);stroke-width:1.4px}.shape--start[data-v-387f85d9],.shape--end[data-v-387f85d9]{stroke:var(--color-phosphor-green)}.shape--decision[data-v-387f85d9]{stroke:#f4c430}.palette-ghost[data-v-387f85d9]{z-index:50;border:1px dashed var(--color-phosphor-green);border-radius:var(--radius-inputs);color:var(--color-snow);font-size:var(--text-caption);pointer-events:none;background:#121212e6;padding:6px 12px;position:fixed;transform:translate(-50%,-50%)}@media (pointer:coarse){.palette-item[data-v-387f85d9]{height:44px}}@container flow-toolbar (width<=815px){.palette-item[data-v-387f85d9]{padding:0 5px}.palette-label[data-v-387f85d9]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@container flow-toolbar (width<=520px){.flow-palette[data-v-387f85d9]{padding-bottom:2px;overflow-x:auto}}.flow-problems[data-v-4de28e44]{flex-direction:column;gap:4px;display:flex}.problems-title[data-v-4de28e44]{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke);margin:0}.problems-summary[data-v-4de28e44]{text-transform:none;letter-spacing:normal;color:var(--color-silver-mist);margin-left:8px}.problems-list[data-v-4de28e44]{flex-direction:column;gap:3px;max-height:132px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.problem-btn[data-v-4de28e44]{border:1px solid var(--color-charcoal);width:100%;color:var(--color-snow);font:inherit;font-size:var(--text-caption);text-align:left;cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;display:block}.problem-btn--static[data-v-4de28e44]{cursor:default}.problem-btn[data-v-4de28e44]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:1px}.problem--error .problem-btn[data-v-4de28e44]{border-color:#f8717166}.problem--warn .problem-btn[data-v-4de28e44]{border-color:#f4c43059}.problem-symbol[data-v-4de28e44]{width:14px;font-weight:700;display:inline-block}.problem--error .problem-symbol[data-v-4de28e44]{color:var(--color-fail)}.problem--warn .problem-symbol[data-v-4de28e44]{color:#f4c430}.problem-where[data-v-4de28e44]{color:var(--color-silver-mist);margin-right:4px}.sr-only[data-v-4de28e44]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.run-panel[data-v-42217018]{gap:var(--spacing-8);flex-direction:column;flex:0 auto;display:flex}.run-controls[data-v-42217018],.run-options[data-v-42217018]{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.run-controls[data-v-42217018]{gap:6px}.run-actions[data-v-42217018]{align-items:center;gap:6px;margin-left:auto;display:flex}.run-btn[data-v-42217018]{border:1px solid var(--color-slate);border-radius:var(--radius-buttons);min-height:36px;color:var(--color-snow);font:inherit;font-size:var(--text-body-sm);cursor:pointer;background:0 0;padding:0 12px}.run-btn--icon[data-v-42217018]{justify-content:center;align-items:center;width:36px;padding:0;display:inline-flex}.run-btn--icon svg[data-v-42217018]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.run-btn--primary[data-v-42217018]{border-color:var(--color-phosphor-green);color:var(--color-phosphor-green)}.run-btn[data-v-42217018]:hover:not(:disabled){background:#ffffff0a}.run-btn[data-v-42217018]:disabled{opacity:.45;cursor:not-allowed}.run-btn[data-v-42217018]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}@media (pointer:coarse){.run-btn[data-v-42217018]{min-height:44px}.run-btn--icon[data-v-42217018]{width:44px}}.speed[data-v-42217018],.trace[data-v-42217018]{font-size:var(--text-caption);color:var(--color-silver-mist);align-items:center;gap:6px;display:inline-flex}.speed input[data-v-42217018]{width:110px;accent-color:var(--color-phosphor-green)}.speed-label[data-v-42217018]{min-width:64px}.trace input[data-v-42217018]{accent-color:var(--color-phosphor-green)}.run-status[data-v-42217018]{font-size:var(--text-body-sm);color:var(--color-snow);font-variant-numeric:tabular-nums;margin:0}.run-blocker[data-v-42217018],.run-error[data-v-42217018]{border-radius:var(--radius-inputs);color:var(--color-fail);font-size:var(--text-body-sm);background:#f8717114;border:1px solid #f8717173;margin:0;padding:6px 10px}.run-input[data-v-42217018]{border:1px solid var(--color-phosphor-green);border-radius:var(--radius-inputs);background:#3ecf8e0f;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.run-input-label[data-v-42217018]{font-size:var(--text-body-sm);color:var(--color-snow)}.run-input-row[data-v-42217018]{flex-wrap:wrap;gap:6px;display:flex}.run-input-field[data-v-42217018]{border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-obsidian);min-height:40px;color:var(--color-snow);font-family:var(--font-source-code-pro);font-size:var(--text-body-sm);flex:120px;padding:0 10px}.run-input-field[data-v-42217018]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:1px}.console[data-v-42217018]{border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);background:var(--color-obsidian);flex-direction:column;flex:0 auto;min-height:112px;display:flex;overflow:hidden}.console-head[data-v-42217018]{border-bottom:1px solid var(--color-charcoal);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke);padding:4px 10px}.console-lines[data-v-42217018]{min-height:88px;max-height:260px;font-family:var(--font-source-code-pro);flex:auto;margin:0;padding:6px 10px;font-size:12.5px;line-height:1.5;list-style:none;overflow-y:auto}.line[data-v-42217018]{white-space:pre-wrap;word-break:break-word}.line--out[data-v-42217018]{color:var(--color-snow)}.line--in[data-v-42217018]{color:#7fa7d6}.line--trace[data-v-42217018]{color:var(--color-smoke)}.line--err[data-v-42217018]{color:var(--color-fail)}.line--ok[data-v-42217018]{color:var(--color-phosphor-green)}.line--sep[data-v-42217018],.line--empty[data-v-42217018]{color:var(--color-smoke);font-style:italic}.selection-bar[data-v-72bf5c0e]{border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:#1e1e1ef5;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:flex;box-shadow:0 6px 18px #00000073}.bar-btn[data-v-72bf5c0e]{border-radius:var(--radius-inputs);min-width:32px;height:32px;color:var(--color-snow);font:inherit;font-size:var(--text-caption);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:3px;padding:0 6px;display:inline-flex}.bar-btn svg[data-v-72bf5c0e]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.bar-tag[data-v-72bf5c0e]{font-weight:var(--font-weight-medium)}.bar-btn[data-v-72bf5c0e]:hover{border-color:var(--color-graphite);background:#ffffff0f}.bar-btn[data-v-72bf5c0e]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:1px}.bar-btn--danger[data-v-72bf5c0e]{color:var(--color-fail)}@media (pointer:coarse){.bar-btn[data-v-72bf5c0e]{min-width:44px;height:44px}}.flow-vars[data-v-b27c0af9]{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.vars-title[data-v-b27c0af9]{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke);margin:0}.vars-empty[data-v-b27c0af9]{font-size:var(--text-caption);color:var(--color-smoke);margin:0}.vars-table[data-v-b27c0af9]{border-collapse:collapse;width:100%;font-size:var(--text-caption)}.vars-table th[data-v-b27c0af9],.vars-table td[data-v-b27c0af9]{border-bottom:1px solid var(--color-charcoal);text-align:left;padding:3px 6px}.vars-table thead th[data-v-b27c0af9]{color:var(--color-smoke);font-weight:var(--font-weight-regular)}.var-name[data-v-b27c0af9],.var-value code[data-v-b27c0af9]{font-family:var(--font-source-code-pro);color:var(--color-snow);font-weight:var(--font-weight-regular)}.var-type[data-v-b27c0af9]{color:var(--color-silver-mist)}.var-input[data-v-b27c0af9]{border:1px solid var(--color-slate);background:var(--color-obsidian);width:100%;min-width:60px;min-height:30px;color:var(--color-snow);font-family:var(--font-source-code-pro);font-size:var(--text-caption);border-radius:6px;padding:0 6px}.var-btn[data-v-b27c0af9]{border:1px solid var(--color-slate);min-height:30px;color:var(--color-snow);font:inherit;font-size:var(--text-caption);cursor:pointer;background:0 0;border-radius:6px;padding:0 10px}.var-btn[data-v-b27c0af9]:focus-visible,.var-input[data-v-b27c0af9]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:1px}.vars-add[data-v-b27c0af9]{grid-template-columns:1fr 1fr auto;gap:6px;display:grid}.vars-error[data-v-b27c0af9]{font-size:var(--text-caption);color:var(--color-fail);margin:0}.sr-only[data-v-b27c0af9]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.canvas-zone[data-v-0ef3299e]{gap:var(--spacing-8);flex-direction:column;min-height:0;display:flex}.edit-actions[data-v-0ef3299e]{padding-left:var(--spacing-8);border-left:1px solid var(--color-charcoal);flex:none;align-items:center;gap:4px;display:flex;position:relative}.edit-btn[data-v-0ef3299e]{border:1px solid var(--color-slate);border-radius:var(--radius-inputs);width:32px;height:32px;color:var(--color-snow);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.edit-btn svg[data-v-0ef3299e]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.edit-btn[data-v-0ef3299e]:hover:not(:disabled){border-color:var(--color-graphite);background:#ffffff0a}.edit-btn[data-v-0ef3299e]:disabled{opacity:.4;cursor:not-allowed}.edit-btn[aria-expanded=true][data-v-0ef3299e]{border-color:var(--color-fail)}.edit-btn[data-v-0ef3299e]:focus-visible,.text-btn[data-v-0ef3299e]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.reset-confirm[data-v-0ef3299e]{z-index:30;border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-ash);width:max-content;max-width:280px;font-size:var(--text-caption);color:var(--color-silver-mist);flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 18px #00000073}.reset-actions[data-v-0ef3299e]{flex-wrap:wrap;gap:6px;display:flex}.text-btn[data-v-0ef3299e]{border:1px solid var(--color-slate);border-radius:var(--radius-inputs);min-height:32px;color:var(--color-snow);font:inherit;cursor:pointer;background:0 0;padding:0 10px}.text-btn--danger[data-v-0ef3299e]{border-color:#f8717199}.readonly-note[data-v-0ef3299e],.limit-note[data-v-0ef3299e]{font-size:var(--text-caption);color:var(--color-smoke);margin:0}.canvas-main[data-v-0ef3299e]{height:clamp(380px,60dvh,720px)}.run-zone[data-v-0ef3299e]{gap:var(--spacing-16);flex-direction:column;min-height:0;display:flex}@media (pointer:coarse){.edit-btn[data-v-0ef3299e]{width:44px;height:44px}}@container (width>=1100px){.canvas-zone[data-v-0ef3299e]{height:100%}.canvas-main[data-v-0ef3299e]{flex:auto;height:auto;min-height:320px}.run-zone[data-v-0ef3299e]{gap:12px}}.guide-sidebar[data-v-8a215fc0]{gap:var(--spacing-8);flex-direction:column;display:flex;overflow-y:auto}.caret[data-v-8a215fc0]{color:var(--color-silver-mist);flex:none}.course-title[data-v-8a215fc0]{align-items:center;gap:var(--spacing-8);text-align:left;width:100%;color:var(--color-snow);padding:var(--spacing-8) 0;font:inherit;font-size:var(--text-body);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:0;display:flex}.course-title[data-v-8a215fc0]:hover{color:var(--color-phosphor-green)}.course-title-text[data-v-8a215fc0]{min-width:0}.course-body[data-v-8a215fc0]{padding-left:var(--spacing-16)}.course-desc[data-v-8a215fc0]{margin:var(--spacing-8) 0;font-size:var(--text-body-sm);color:var(--color-smoke)}.module[data-v-8a215fc0]{margin-bottom:var(--spacing-8)}.module-title[data-v-8a215fc0]{align-items:center;gap:var(--spacing-8);text-align:left;width:100%;color:var(--color-silver-mist);padding:var(--spacing-8) 0;font:inherit;font-size:var(--text-body-sm);cursor:pointer;background:0 0;border:0;display:flex}.module-title[data-v-8a215fc0]:hover{color:var(--color-snow)}.module-title-text[data-v-8a215fc0]{min-width:0}.lessons[data-v-8a215fc0]{margin:0 0 var(--spacing-8);padding:0 0 0 var(--spacing-16);gap:var(--spacing-8);flex-direction:column;list-style:none;display:flex}.lesson[data-v-8a215fc0]{text-align:left;border-radius:var(--radius-inputs);width:100%;color:var(--color-snow);padding:var(--spacing-8);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;gap:.15rem;display:flex}.lesson[data-v-8a215fc0]:hover{background:#ffffff0a}.lesson.active[data-v-8a215fc0]{border-color:var(--color-phosphor-green);background:#3ecf8e0f}.lesson-title[data-v-8a215fc0]{font-size:var(--text-body-sm);font-weight:var(--font-weight-medium)}.lesson-desc[data-v-8a215fc0]{font-size:var(--text-caption);color:var(--color-smoke);line-height:1.3}.guide-panel[data-v-41a918f2]{border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);background:var(--color-obsidian);flex-direction:column;flex:none;width:clamp(320px,30vw,440px);min-height:0;max-height:100%;transition:width .18s;display:flex;overflow:hidden}.guide-panel--expanded[data-v-41a918f2]{width:min(820px,65vw)}.panel-header[data-v-41a918f2]{justify-content:space-between;align-items:center;gap:var(--spacing-8);padding:var(--spacing-16);border-bottom:1px solid var(--color-charcoal);display:flex}.panel-title[data-v-41a918f2]{font-size:var(--text-subheading);color:var(--color-snow);font-weight:var(--font-weight-medium);margin:0}.panel-actions[data-v-41a918f2]{gap:var(--spacing-8);display:flex}.icon-button[data-v-41a918f2]{align-items:center;gap:var(--spacing-8);border:1px solid var(--color-slate);border-radius:var(--radius-buttons);color:var(--color-snow);padding:var(--spacing-8) var(--spacing-16);font:inherit;font-size:var(--text-body-sm);cursor:pointer;background:0 0;transition:border-color .12s,background-color .12s;display:inline-flex}.icon-button[data-v-41a918f2]:hover{border-color:var(--color-graphite);background:#ffffff0a}.icon-label[data-v-41a918f2]{font-size:var(--text-caption)}.panel-body[data-v-41a918f2]{gap:var(--spacing-16);padding:var(--spacing-16);flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.index-toggle[data-v-41a918f2]{align-items:center;gap:var(--spacing-8);text-align:left;border:1px solid var(--color-slate);border-radius:var(--radius-inputs);width:100%;color:var(--color-snow);padding:var(--spacing-8) var(--spacing-16);font:inherit;font-size:var(--text-body-sm);cursor:pointer;background:0 0;flex:none;transition:border-color .12s,background-color .12s;display:flex}.index-toggle[data-v-41a918f2]:hover{border-color:var(--color-graphite);background:#ffffff0a}.index-caret[data-v-41a918f2]{color:var(--color-silver-mist);flex:none}.index-label[data-v-41a918f2]{color:var(--color-silver-mist)}.index-breadcrumb[data-v-41a918f2]{align-items:center;gap:var(--spacing-8);flex-wrap:wrap;min-width:0;display:flex}.crumb[data-v-41a918f2]{color:var(--color-smoke);font-size:var(--text-caption)}.crumb--current[data-v-41a918f2]{color:var(--color-snow);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium)}.crumb-sep[data-v-41a918f2]{color:var(--color-slate)}.panel-directory[data-v-41a918f2]{border-bottom:1px solid var(--color-charcoal);min-height:0;padding-bottom:var(--spacing-16);flex:auto}.lesson[data-v-41a918f2]{gap:var(--spacing-8);flex-direction:column;flex:auto;min-width:0;display:flex}.lesson-heading[data-v-41a918f2]{font-size:var(--text-body);color:var(--color-snow);font-weight:var(--font-weight-medium);margin:0}.lesson-frame-wrap[data-v-41a918f2]{width:100%;overflow:hidden}.lesson-frame[data-v-41a918f2]{background:#fff;border:0;display:block}.lesson-nav[data-v-41a918f2]{gap:var(--spacing-16);margin-top:var(--spacing-16);padding-top:var(--spacing-16);border-top:1px solid var(--color-charcoal);display:flex}.lesson-nav-button[data-v-41a918f2],.lesson-nav-spacer[data-v-41a918f2]{flex:1 1 0;min-width:0}.lesson-nav-button[data-v-41a918f2]{border:1px solid var(--color-slate);border-radius:var(--radius-buttons);color:var(--color-snow);padding:var(--spacing-8) var(--spacing-16);font:inherit;cursor:pointer;background:0 0;flex-direction:column;gap:.15rem;transition:border-color .12s,background-color .12s;display:flex}.lesson-nav-button[data-v-41a918f2]:hover{border-color:var(--color-graphite);background:#ffffff0a}.lesson-nav-button--prev[data-v-41a918f2]{text-align:left;align-items:flex-start}.lesson-nav-button--next[data-v-41a918f2]{text-align:right;align-items:flex-end}.lesson-nav-dir[data-v-41a918f2]{font-size:var(--text-caption);color:var(--color-silver-mist)}.lesson-nav-title[data-v-41a918f2]{font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width<=900px){.lesson-nav[data-v-41a918f2]{flex-direction:column}.lesson-nav-spacer[data-v-41a918f2]{display:none}}.placeholder[data-v-41a918f2]{padding:var(--spacing-32);color:var(--color-smoke);text-align:center;margin:0}.mc-question[data-v-8017a659]{gap:var(--spacing-16);flex-direction:column;display:flex}.options[data-v-8017a659]{gap:var(--spacing-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.option[data-v-8017a659]{align-items:center;gap:var(--spacing-16);padding:var(--spacing-16);border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-obsidian);color:var(--color-snow);cursor:pointer;transition:border-color .12s,background-color .12s;display:flex}.option[data-v-8017a659]:hover{border-color:var(--color-graphite)}.option.selected[data-v-8017a659]{border-color:var(--color-phosphor-green);background:#3ecf8e0f}.control[data-v-8017a659]{accent-color:var(--color-phosphor-green);flex:none;width:16px;height:16px}.text[data-v-8017a659]{font-size:var(--text-body-sm)}.open-question[data-v-16bd501e]{gap:var(--spacing-16);flex-direction:column;display:flex}.answer[data-v-16bd501e]{resize:vertical;width:100%;padding:var(--spacing-16);border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-obsidian);color:var(--color-snow);font:inherit;letter-spacing:-.007em;line-height:var(--leading-body)}.answer[data-v-16bd501e]::placeholder{color:var(--color-smoke)}.answer[data-v-16bd501e]:focus{border-color:var(--color-phosphor-green);outline:none}.dbml-editor-host[data-v-bff8c348]{border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);height:100%;overflow:hidden}.dbml-editor-host[data-v-bff8c348] .cm-editor{height:100%;min-height:280px}.dbml-editor-host[data-v-bff8c348] .cm-scroller{font-family:var(--font-source-code-pro)}.dbml-editor-host.readonly[data-v-bff8c348] .cm-content{opacity:.85}.schema-canvas[data-v-fbdd81fe]{gap:var(--spacing-8);flex-direction:column;height:100%;min-height:360px;display:flex}.canvas-toolbar[data-v-fbdd81fe]{justify-content:space-between;align-items:center;gap:var(--spacing-8);display:flex}.canvas-title[data-v-fbdd81fe]{font-size:var(--text-body-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke)}.canvas-button[data-v-fbdd81fe]{border:1px solid var(--color-slate);border-radius:var(--radius-buttons);color:var(--color-snow);padding:4px var(--spacing-16);font:inherit;font-size:var(--text-caption);cursor:pointer;background:0 0}.canvas-button[data-v-fbdd81fe]:hover:not(:disabled){border-color:var(--color-graphite);background:#ffffff0a}.canvas-button[data-v-fbdd81fe]:disabled{opacity:.5;cursor:not-allowed}.canvas-button[data-v-fbdd81fe]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.canvas-banner[data-v-fbdd81fe]{padding:6px var(--spacing-16);border-radius:var(--radius-inputs);color:#f4c430;font-size:var(--text-caption);background:#f4c43014;border:1px solid #f4c43066;margin:0}.canvas-frame[data-v-fbdd81fe]{border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);touch-action:none;background:#fff;flex:auto;min-height:320px;position:relative;overflow:hidden}.canvas-svg[data-v-fbdd81fe]{width:100%;height:100%;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;position:absolute;inset:0}.canvas-message[data-v-fbdd81fe]{justify-content:center;align-items:center;gap:var(--spacing-8);padding:var(--spacing-24);text-align:center;color:#5b6a80;font-size:var(--text-body-sm);flex-direction:column;display:flex;position:absolute;inset:0}.canvas-message p[data-v-fbdd81fe]{max-width:42ch;margin:0}.canvas-message--failed[data-v-fbdd81fe]{color:#b42318}.canvas-message .canvas-button[data-v-fbdd81fe]{color:#22303f;border-color:#5b6a80}.wire[data-v-fbdd81fe]{fill:none;stroke:#5b6a80;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.table-body[data-v-fbdd81fe]{fill:#f7f9fc;stroke:#22303f;stroke-width:1.4px}.table-header[data-v-fbdd81fe]{fill:#d5e2f2;stroke:#22303f;stroke-width:1.4px;stroke-linejoin:round;cursor:grab;touch-action:none}.table[data-v-fbdd81fe]:focus{outline:none}.table:focus-visible .table-body[data-v-fbdd81fe],.table:focus-visible .table-header[data-v-fbdd81fe]{stroke:#1f9d63;stroke-width:3px}.table-title[data-v-fbdd81fe]{fill:#22303f;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:700}.row text[data-v-fbdd81fe]{pointer-events:none;-webkit-user-select:none;user-select:none}.row-marker[data-v-fbdd81fe]{fill:#8a5a00;font-weight:700}.row-name[data-v-fbdd81fe]{fill:#22303f}.row.pk .row-name[data-v-fbdd81fe]{font-weight:700}.row-type[data-v-fbdd81fe]{fill:#5b6a80;text-anchor:end}.tag[data-v-fbdd81fe]{fill:#5b6a80;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:600}.schema-canvas.readonly .table-header[data-v-fbdd81fe]{cursor:default}.checks[data-v-72d17a5f]{gap:var(--spacing-8);flex-direction:column;display:flex}.checks-bar[data-v-72d17a5f]{align-items:center;gap:var(--spacing-8);flex-wrap:wrap;display:flex}.checks-toggle[data-v-72d17a5f]{align-items:baseline;gap:var(--spacing-8);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:4px 0;display:flex}.checks-toggle[data-v-72d17a5f]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.checks-chevron[data-v-72d17a5f]{color:var(--color-smoke);font-size:var(--text-caption)}.checks-title[data-v-72d17a5f]{white-space:nowrap;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-smoke);margin:0}.checks-summary[data-v-72d17a5f]{white-space:nowrap;font-size:var(--text-caption);color:var(--color-silver-mist)}.checks-bar[data-v-72d17a5f] .pill{margin-left:auto}.checks-notice[data-v-72d17a5f]{font-size:var(--text-body-sm);color:var(--color-fail);margin:0}.checks-hint[data-v-72d17a5f]{font-size:var(--text-caption);color:var(--color-smoke);margin:0}.checks-outdated[data-v-72d17a5f]{font-size:var(--text-caption);color:#f4c430;margin:0}.checks-list[data-v-72d17a5f]{overscroll-behavior:contain;flex-direction:column;gap:4px;max-height:200px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}@container (width>=1100px){.checks-list[data-v-72d17a5f]{max-height:168px}}.checks-list--outdated .check[data-v-72d17a5f]{opacity:.55}.check[data-v-72d17a5f]{gap:2px var(--spacing-8);border-radius:var(--radius-inputs);border:1px solid var(--color-charcoal);line-height:1.35;font-size:var(--text-body-sm);grid-template-columns:16px 1fr;align-items:start;padding:3px 12px;display:grid}.check.passed[data-v-72d17a5f]{border-color:#3ecf8e66}.check.failed[data-v-72d17a5f]{border-color:#f8717166}.check-badge[data-v-72d17a5f]{color:var(--color-smoke);font-weight:var(--font-weight-medium)}.check.passed .check-badge[data-v-72d17a5f]{color:var(--color-pass)}.check.failed .check-badge[data-v-72d17a5f]{color:var(--color-fail)}.check-name[data-v-72d17a5f]{color:var(--color-snow)}.check-message[data-v-72d17a5f],.check-hint[data-v-72d17a5f]{font-size:var(--text-caption);color:var(--color-silver-mist);grid-column:2;margin:0}.check-hint[data-v-72d17a5f]{color:var(--color-smoke);font-style:italic}.diagnostics[data-v-efca6ddd]{gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius-inputs);background:#f871710f;border:1px solid #f8717166;flex-direction:column;display:flex}.diagnostics-title[data-v-efca6ddd]{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--color-fail);margin:0}.diagnostics-list[data-v-efca6ddd]{overscroll-behavior:contain;flex-direction:column;gap:4px;max-height:132px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.diagnostic[data-v-efca6ddd]{gap:var(--spacing-8);width:100%;color:var(--color-snow);font:inherit;font-size:var(--text-body-sm);text-align:left;cursor:pointer;background:0 0;border:none;padding:4px 0;display:flex}.diagnostic:hover .diagnostic-message[data-v-efca6ddd]{text-decoration:underline}.diagnostic[data-v-efca6ddd]:focus-visible{outline:2px solid var(--color-phosphor-green);outline-offset:2px}.diagnostic-line[data-v-efca6ddd]{font-family:var(--font-source-code-pro);font-size:var(--text-caption);color:var(--color-fail);flex:none;line-height:20px}.editor-zone[data-v-47199c9b]{gap:var(--spacing-16);flex-direction:column;display:flex}.editor-bar[data-v-47199c9b]{justify-content:space-between;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);border:1px solid var(--color-charcoal);border-radius:var(--radius-inputs);background:var(--color-ash);display:flex}.lang[data-v-47199c9b]{font-family:var(--font-source-code-pro);font-size:var(--text-caption);letter-spacing:.1em;color:var(--color-silver-mist)}.hint[data-v-47199c9b]{font-size:var(--text-caption);color:var(--color-smoke)}.editor-wrap[data-v-47199c9b]{height:clamp(280px,50dvh,560px)}.diagnostics-zone[data-v-47199c9b]{flex:none}@container (width>=1100px){.editor-zone[data-v-47199c9b]{gap:var(--spacing-8);height:100%}.editor-wrap[data-v-47199c9b]{flex:auto;height:auto;min-height:200px}}.viewport-block[data-v-82e85fc2]{z-index:9999;padding:var(--spacing-24);background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewport-block-inner[data-v-82e85fc2]{text-align:center;max-width:460px}.viewport-block-title[data-v-82e85fc2]{margin:0 0 var(--spacing-16);color:#f8fafc;font-size:var(--text-heading-sm);font-weight:var(--font-weight-medium)}.viewport-block-body[data-v-82e85fc2]{color:#cbd5e1;font-size:var(--text-body);margin:0;line-height:1.6}.viewport-block-note[data-v-82e85fc2]{margin:var(--spacing-16) 0 0;color:#64748b;font-size:var(--text-body-sm)}.evaluation[data-v-9c34864c]{gap:var(--spacing-24);flex-direction:column;display:flex}.evaluation--wide[data-v-9c34864c],.evaluation--wide .stepper-inner[data-v-9c34864c]{gap:12px}.status-text[data-v-9c34864c]{color:var(--color-silver-mist);margin:0}.header[data-v-9c34864c]{justify-content:space-between;align-items:center;gap:var(--spacing-16);display:flex}.guide-toggle[data-v-9c34864c]{border:1px solid var(--color-slate);border-radius:var(--radius-buttons);color:var(--color-snow);padding:var(--spacing-8) var(--spacing-16);font:inherit;font-size:var(--text-body-sm);cursor:pointer;background:0 0;transition:border-color .12s,background-color .12s}.guide-toggle[data-v-9c34864c]:hover{border-color:var(--color-graphite);background:#ffffff0a}.guide-toggle[aria-pressed=true][data-v-9c34864c]{border-color:var(--color-phosphor-green)}.layout[data-v-9c34864c]{align-items:flex-start;gap:var(--spacing-24);display:flex}.stepper[data-v-9c34864c]{flex:auto;min-width:0}.layout--guide-open[data-v-9c34864c] .guide-panel{max-height:calc(100vh - var(--spacing-128))}.header .student[data-v-9c34864c]{font-size:var(--text-body);color:var(--color-silver-mist);margin:0}.header .student strong[data-v-9c34864c]{color:var(--color-snow);font-weight:var(--font-weight-medium)}.error[data-v-9c34864c]{padding:var(--spacing-16);border-radius:var(--radius-inputs);color:var(--color-fail);font-size:var(--text-body-sm);border:1px solid #f8717166;margin:0}.closed-card[data-v-9c34864c]{padding:var(--card-padding);border-radius:var(--radius-cards);background:#f4c4300f;border:1px solid #f4c43066}.confirmation[data-v-9c34864c]{padding:var(--card-padding);border-radius:var(--radius-cards);background:#3ecf8e0f;border:1px solid #3ecf8e66}.confirmation-title[data-v-9c34864c]{font-size:var(--text-heading-sm);color:var(--color-snow)}.confirmation-body[data-v-9c34864c]{margin:var(--spacing-8) 0 0;color:var(--color-silver-mist)}.stepper-inner[data-v-9c34864c]{gap:var(--spacing-24);flex-direction:column;display:flex}.progress[data-v-9c34864c]{justify-content:space-between;align-items:center;gap:var(--spacing-16);display:flex}.progress-label[data-v-9c34864c]{font-size:var(--text-body-sm);color:var(--color-silver-mist)}.progress-dots[data-v-9c34864c]{gap:var(--spacing-8);display:flex}.dot[data-v-9c34864c]{border-radius:var(--radius-buttons);background:var(--color-charcoal);width:24px;height:4px}.dot.done[data-v-9c34864c]{background:var(--color-graphite)}.dot.current[data-v-9c34864c]{background:var(--color-phosphor-green)}.question-card[data-v-9c34864c]{padding:var(--card-padding);border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);background:var(--color-obsidian)}.step-nav[data-v-9c34864c]{justify-content:space-between;align-items:center;gap:var(--spacing-16);display:flex}.submit-message[data-v-9c34864c]{font-size:var(--text-body-sm);color:var(--color-fail);margin:0}@media (width<=900px){.layout--guide-open[data-v-9c34864c] .guide-panel{inset:var(--spacing-16);z-index:50;width:auto;max-height:none;position:fixed}.layout--guide-open[data-v-9c34864c] .guide-panel--expanded{width:auto}}.login[data-v-4f507dca]{padding-top:var(--spacing-64);justify-content:center;display:flex}.card[data-v-4f507dca]{gap:var(--spacing-16);width:100%;max-width:380px;padding:var(--card-padding);background:var(--color-obsidian);border:1px solid var(--color-charcoal);border-radius:var(--radius-cards);flex-direction:column;display:flex}.title[data-v-4f507dca]{font-size:var(--text-heading-sm);color:var(--color-snow)}.subtitle[data-v-4f507dca]{font-size:var(--text-body-sm);color:var(--color-silver-mist);margin:0}form[data-v-4f507dca]{gap:var(--spacing-8);flex-direction:column;display:flex}.label[data-v-4f507dca]{font-size:var(--text-body-sm);color:var(--color-silver-mist)}.input[data-v-4f507dca]{padding:var(--spacing-8) var(--spacing-16);border:1px solid var(--color-slate);border-radius:var(--radius-inputs);background:var(--color-obsidian);color:var(--color-snow);font:inherit;letter-spacing:-.007em;margin-bottom:var(--spacing-8)}.input[data-v-4f507dca]::placeholder{color:var(--color-smoke)}.input[data-v-4f507dca]:focus{border-color:var(--color-phosphor-green);outline:none}.input[data-v-4f507dca]:disabled{opacity:.6}.error[data-v-4f507dca]{font-size:var(--text-body-sm);color:var(--color-fail);margin:0}:root{--color-phosphor-green:#3ecf8e;--color-mint-pulse:#00c573;--color-forest-depth:#1f4b37;--color-midnight-emerald:#006239;--color-snow:#fafafa;--color-silver-mist:#b4b4b4;--color-smoke:#898989;--color-graphite:#4d4d4d;--color-slate:#393939;--color-charcoal:#2e2e2e;--color-ash:#242424;--color-obsidian:#121212;--color-pass:#3ecf8e;--color-fail:#f87171;--font-circular:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-source-code-pro:"Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-caption:12px;--leading-caption:1.5;--tracking-caption:-.084px;--text-body-sm:14px;--leading-body-sm:1.43;--tracking-body-sm:-.098px;--text-body:16px;--leading-body:1.5;--tracking-body:-.112px;--text-subheading:18px;--leading-subheading:1.38;--tracking-subheading:-.126px;--text-heading-sm:24px;--leading-heading-sm:1.33;--tracking-heading-sm:-.168px;--text-heading:36px;--leading-heading:1.2;--tracking-heading:-.252px;--text-display:72px;--leading-display:1;--tracking-display:-.504px;--font-weight-regular:400;--font-weight-medium:500;--spacing-unit:8px;--spacing-8:8px;--spacing-16:16px;--spacing-24:24px;--spacing-32:32px;--spacing-40:40px;--spacing-48:48px;--spacing-64:64px;--spacing-80:80px;--spacing-96:96px;--spacing-112:112px;--spacing-128:128px;--spacing-224:224px;--page-max-width:1200px;--card-padding:24px;--radius-inputs:8px;--radius-cards:16px;--radius-buttons:9999px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--color-obsidian);color:var(--color-snow);font-family:var(--font-circular);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:-.007em;font-weight:var(--font-weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}#app{background-color:var(--color-obsidian);min-height:100vh;color:var(--color-snow)}a{color:var(--color-mint-pulse);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-weight:var(--font-weight-medium);letter-spacing:-.007em;margin:0}code,pre,kbd{font-family:var(--font-source-code-pro)}
