.options-btn[data-v-6bc69095]{cursor:pointer;color:var(--text-light);background:0 0;border:1px solid #fdf8e18c;border-radius:4px;margin-left:12px;padding:5px 12px;font-size:.9em;font-weight:700}.options-btn[data-v-6bc69095]:hover,.options-btn[aria-expanded=true][data-v-6bc69095]{border-color:var(--accent-yellow);color:var(--accent-yellow)}.settings-header[data-v-6bc69095]{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:.5rem;display:flex}.settings-header h2[data-v-6bc69095]{margin:0}.settings-close[data-v-6bc69095]{cursor:pointer;color:var(--text-faint);background:0 0;border:none;padding:0 4px;font-size:1.6rem;line-height:1}.settings-close[data-v-6bc69095]:hover{color:var(--text)}.settings-section[data-v-6bc69095]{border-top:1px solid var(--border);margin-top:1.1rem;padding-top:1rem}.settings-section[data-v-6bc69095]:first-of-type{border-top:none;margin-top:.4rem;padding-top:0}.settings-section h3[data-v-6bc69095]{color:var(--text-strong);margin:0 0 .35rem;font-size:1rem}.settings-hint[data-v-6bc69095]{color:var(--text-muted);margin:0 0 .75rem;font-size:.88em;line-height:1.4}.settings-current[data-v-6bc69095]{color:var(--text);margin:.6rem 0 0;font-size:.92em}.modal-lang[data-v-6bc69095]{margin-left:0}.lang-switcher[data-v-6bc69095]{gap:2px;display:flex}.lang-switcher button[data-v-6bc69095]{border:1px solid var(--border-strong);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:4px;padding:5px 12px;font-size:.85em;font-weight:700;transition:all .15s}.lang-switcher button[data-v-6bc69095]:hover{border-color:var(--brand-text);color:var(--brand-text)}.lang-switcher button.active[data-v-6bc69095]{background:var(--accent-yellow);border-color:var(--accent-yellow);color:var(--primary-purple)}.login-actions .auth-btn[data-v-6bc69095]{border:1px solid var(--border-strong);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:4px;padding:4px 10px;font-size:.82em;font-weight:600}.login-actions .auth-btn[data-v-6bc69095]:hover{color:#ff4136;border-color:#ff4136}.login-actions .auth-btn.primary[data-v-6bc69095]{color:#fff;background:#ff4136;border-color:#ff4136}.login-actions .auth-btn.primary[data-v-6bc69095]:hover{filter:brightness(.95);color:#fff}.login-actions .auth-btn.ghost[data-v-6bc69095]{border-color:var(--border)}.login-actions .auth-btn[data-v-6bc69095]:disabled{opacity:.6;cursor:wait}.login-backdrop[data-v-6bc69095]{background:var(--backdrop);z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.login-modal[data-v-6bc69095]{background:var(--surface);border-radius:10px;width:min(400px,100%);padding:1.4rem 1.5rem;box-shadow:0 12px 40px #0000002e}.login-modal h2[data-v-6bc69095]{color:var(--text-strong);margin:0 0 .4rem;font-size:1.25rem}.login-hint[data-v-6bc69095]{color:var(--text-muted);margin:0 0 1rem;font-size:.9em;line-height:1.4}.login-field[data-v-6bc69095]{color:var(--text);flex-direction:column;gap:4px;margin-bottom:.75rem;font-size:.9em;display:flex}.login-field input[data-v-6bc69095]{border:1px solid var(--border-strong);border-radius:6px;padding:8px 10px;font-size:1em}.login-error[data-v-6bc69095]{color:var(--danger-text);margin:0 0 .75rem;font-size:.88em}.login-success[data-v-6bc69095]{color:var(--success-text);margin:0 0 .75rem;font-size:.88em}.login-actions[data-v-6bc69095]{justify-content:flex-end;gap:8px;margin-top:.75rem;display:flex}.dev-skip-banner[data-v-6bc69095]{text-align:center;background:var(--warning-bg);border-bottom:1px solid var(--warning-border);color:var(--warning-text);margin:0;padding:8px 16px;font-size:.9em}.beta-badge[data-v-c8e6c3c0]{background:var(--warning-bg);color:var(--warning-text);vertical-align:middle;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-block}.course-list .course-card[data-v-be1cdac9]{color:inherit;text-decoration:none;display:block}.placement-hint[data-v-be1cdac9]{color:var(--text-muted);margin:-14px 0 24px;font-size:.95em}.placement-hint-link[data-v-be1cdac9]{color:var(--brand-text);margin-left:6px;font-weight:700;text-decoration:underline;transition:color .2s;display:inline-block}.placement-hint-link[data-v-be1cdac9]:hover{color:var(--brand-text)}.course-beta[data-v-be1cdac9]{margin-bottom:10px}.course-format-badge[data-v-be1cdac9]{background:var(--surface-tint);color:var(--brand-text);text-transform:uppercase;letter-spacing:.03em;border-radius:20px;margin-bottom:10px;padding:3px 10px;font-size:.75em;font-weight:700;display:inline-block}.projekte-teaser-card[data-v-be1cdac9]{background:var(--surface-muted);border:1px solid var(--border-color,var(--border));border-left:6px solid var(--accent-orange,#ff9800);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.projekte-teaser-text h3[data-v-be1cdac9]{color:var(--brand-text);margin:0 0 4px}.projekte-teaser-text p[data-v-be1cdac9]{color:var(--text-muted);margin:0}.projekte-teaser-link[data-v-be1cdac9]{background:var(--primary-purple,#4a2274);color:#fff;white-space:nowrap;border-radius:8px;padding:10px 18px;font-weight:600;text-decoration:none;transition:background .2s}.projekte-teaser-link[data-v-be1cdac9]:hover{background:#3d1b5c}.termin-topic[data-v-be1cdac9]{color:var(--text);margin-top:-10px;margin-bottom:15px;font-weight:700}.unterstuetzer-list[data-v-be1cdac9]{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:25px;display:grid}.unterstuetzer-card[data-v-be1cdac9]{background:var(--surface-muted);border:1px solid var(--border-color,var(--border));border-radius:12px;padding:25px}.unterstuetzer-content[data-v-be1cdac9]{align-items:center;display:flex}.unterstuetzer-link[data-v-be1cdac9]{color:inherit;align-items:center;text-decoration:none;transition:transform .2s;display:flex}.unterstuetzer-link[data-v-be1cdac9]:hover{transform:translateY(-2px)}.mehr-infos-link[data-v-be1cdac9]{color:#007bff;margin-top:1rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-block}.mehr-infos-link[data-v-be1cdac9]:hover{color:#0056b3;text-decoration:underline}.unterstuetzer-logo[data-v-be1cdac9]{border-radius:4px;width:120px;height:auto;margin-right:2rem}.unterstuetzer-text h3[data-v-be1cdac9]{color:var(--text);margin:0 0 .5rem}.unterstuetzer-text p[data-v-be1cdac9]{color:var(--text-muted);margin:0;line-height:1.6}@media (width<=768px){.unterstuetzer-content[data-v-be1cdac9]{text-align:center;flex-direction:column}.unterstuetzer-logo[data-v-be1cdac9]{margin-bottom:1rem;margin-right:0}}.appointments-section[data-v-9cf9b718]{background-color:var(--surface-muted);border:1px solid var(--border);border-radius:8px;margin-bottom:40px;padding:20px}.appointments-section h3[data-v-9cf9b718]{border-bottom:2px solid gold;margin-top:0;padding-bottom:10px}.termin-card-local[data-v-9cf9b718]{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:15px;padding:15px}.termin-card-local h4[data-v-9cf9b718]{margin-top:0}.termine-empty[data-v-9cf9b718]{color:var(--text-muted);margin:0;font-style:italic}.cm-host[data-v-42d12107]{border:1px solid var(--border-tint);background:var(--surface-tint);border-radius:6px;margin:8px 10px;overflow:hidden}.cm-host[data-v-42d12107]:focus-within{border-color:var(--brand-text);box-shadow:0 0 0 1px var(--brand-text)}.cm-host[data-v-42d12107] .cm-editor{background:0 0;outline:none}.cm-host[data-v-42d12107] .cm-scroller{overflow:auto}.cm-host[data-v-42d12107] .cm-gutters{background:var(--surface-tint);border-right:1px solid var(--border-tint);color:var(--brand-text-soft)}.jupyter-notebook[data-v-21fc750f]{border:1px solid var(--border);background:var(--surface);border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.notebook-controls-bar[data-v-21fc750f]{background:var(--surface-muted);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.btn-kernel[data-v-21fc750f]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:.85em;font-weight:600;transition:background .15s}.btn-kernel[data-v-21fc750f]:hover:not(:disabled){background:#3d1b5c}.btn-kernel[data-v-21fc750f]:disabled{cursor:default;background:#28a745}.btn-run-all[data-v-21fc750f]{background:var(--accent-orange,#ff9800);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:.85em;font-weight:600;transition:background .15s}.btn-run-all[data-v-21fc750f]:hover:not(:disabled){background:#fb8c00}.btn-run-all[data-v-21fc750f]:disabled{opacity:.4;cursor:not-allowed}.btn-download[data-v-21fc750f]{color:var(--text-muted);border:1px solid var(--border-strong);background:0 0;border-radius:6px;margin-left:auto;padding:5px 12px;font-size:.8em;text-decoration:none;transition:all .15s}.btn-download[data-v-21fc750f]:hover{background:var(--surface-muted);color:var(--text)}.loading[data-v-21fc750f]{text-align:center;color:var(--text-faint);padding:30px;font-size:.9em}.error[data-v-21fc750f]{color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:6px;margin:12px;padding:16px;font-size:.9em}.notebook-cells[data-v-21fc750f]{flex-direction:column;display:flex}.cell[data-v-21fc750f]{border-bottom:1px solid var(--border)}.cell[data-v-21fc750f]:last-child{border-bottom:none}.cell-markdown[data-v-21fc750f]{padding:18px 22px}.cell-markdown[data-v-21fc750f] h1{color:var(--brand-text);border-bottom:3px solid var(--accent-yellow,#fdd835);margin:.3em 0 .5em;padding-bottom:.25em;font-size:1.6em}.cell-markdown[data-v-21fc750f] h2{color:var(--text);margin:1em 0 .4em;font-size:1.25em}.cell-markdown[data-v-21fc750f] h3{color:var(--text);margin:.8em 0 .3em;font-size:1.05em}.cell-markdown[data-v-21fc750f] p{margin:0 0 .75em;line-height:1.65}.cell-markdown[data-v-21fc750f] ul,.cell-markdown[data-v-21fc750f] ol{margin:.5em 0;padding-left:1.5em}.cell-markdown[data-v-21fc750f] li{margin-bottom:.25em;line-height:1.6}.cell-markdown[data-v-21fc750f] code{background:var(--surface-muted);border-radius:3px;padding:1px 5px;font-family:Courier New,monospace;font-size:.88em}.cell-markdown[data-v-21fc750f] pre{color:#d4d4d4;background:#1e1e1e;border-radius:6px;margin:.75em 0;padding:14px 16px;overflow-x:auto}.cell-markdown[data-v-21fc750f] pre code{color:inherit;background:0 0;padding:0;font-size:.9em}.cell-markdown[data-v-21fc750f] table{border-collapse:collapse;width:100%;margin:.75em 0;font-size:.9em}.cell-markdown[data-v-21fc750f] th{background:var(--surface-muted);font-weight:600}.cell-markdown[data-v-21fc750f] th,.cell-markdown[data-v-21fc750f] td{border:1px solid var(--border);text-align:left;padding:7px 12px}.cell-markdown[data-v-21fc750f] blockquote{border-left:3px solid var(--border-strong);color:var(--text-muted);margin:.75em 0;padding-left:14px;font-style:italic}.cell-code[data-v-21fc750f]{background:var(--surface-tint)}.code-header[data-v-21fc750f]{background:var(--surface-tint);border-bottom:1px solid var(--border-tint);justify-content:space-between;align-items:center;padding:5px 10px 5px 14px;display:flex}.cell-label[data-v-21fc750f]{color:var(--brand-text-soft);font-family:monospace;font-size:.75em}.btn-run-cell[data-v-21fc750f]{background:var(--accent-orange,#ff9800);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:3px 10px;font-size:.78em;font-weight:600;transition:background .15s}.btn-run-cell[data-v-21fc750f]:hover:not(:disabled){background:#fb8c00}.btn-run-cell[data-v-21fc750f]:disabled{opacity:.4;cursor:not-allowed}.cell-output[data-v-21fc750f]{background:var(--surface);border-top:1px solid var(--border);min-height:0;padding:8px 14px}.output-running[data-v-21fc750f]{color:var(--text-faint);font-size:.85em;font-style:italic}.output-empty[data-v-21fc750f]{color:var(--text-faint);margin:0;font-family:monospace;font-size:13px;font-style:italic}.output-stream[data-v-21fc750f]{white-space:pre-wrap;color:var(--text);margin:0;font-family:monospace;font-size:13px}.output-error[data-v-21fc750f]{white-space:pre-wrap;color:var(--danger-text);background:var(--danger-bg);border-radius:4px;margin:0;padding:8px;font-family:monospace;font-size:13px}.kernel-status[data-v-21fc750f]{color:#fff;z-index:1000;background:#1f2937;border-radius:6px;padding:8px 16px;font-size:.85em;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 8px #0003}.js-sandbox-wrapper[data-v-a3604829]{margin-bottom:16px}.js-sandbox[data-v-a3604829]{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;width:100%;max-width:400px;height:300px;display:block}.is-web .js-sandbox[data-v-a3604829]{background:var(--surface);max-width:none;height:420px}.is-web .sandbox-toolbar[data-v-a3604829],.is-web .sandbox-stalled-hint[data-v-a3604829]{max-width:none}.sandbox-toolbar[data-v-a3604829]{justify-content:space-between;align-items:center;gap:10px;max-width:400px;margin-top:8px;display:flex}.sandbox-status[data-v-a3604829]{color:var(--text-muted);font-size:.85em}.btn-restart-sandbox[data-v-a3604829]{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:6px;padding:6px 14px;font-size:.85em;font-weight:500}.btn-restart-sandbox[data-v-a3604829]:hover{background:#5a6268}.sandbox-stalled-hint[data-v-a3604829]{background:var(--warning-bg);border:1px solid var(--warning-border);max-width:400px;color:var(--warning-text);border-radius:6px;margin:8px 0 0;padding:8px 12px;font-size:.85em}.cm-host[data-v-745b03e0]{border:1px solid var(--border-tint);background:var(--surface-tint);border-radius:6px;margin-bottom:12px;overflow:hidden}.cm-host[data-v-745b03e0]:focus-within{border-color:var(--brand-text);box-shadow:0 0 0 1px var(--brand-text)}.cm-host[data-v-745b03e0] .cm-editor{background:0 0;outline:none}.cm-host[data-v-745b03e0] .cm-scroller{overflow:auto}.cm-host[data-v-745b03e0] .cm-gutters{background:var(--surface-tint);border-right:1px solid var(--border-tint);color:var(--brand-text-soft)}.cm-api-hover{color:#f4ecfa;white-space:pre-line;background:#2b1a3d;border-radius:6px;max-width:320px;padding:6px 10px;font-family:Courier New,Consolas,Monaco,monospace;font-size:12.5px;line-height:1.5}.completion-badge-hint[data-v-c4bbb42b]{margin:0 0 16px;font-size:1em}.completion-badge-hint a[data-v-c4bbb42b]{color:var(--brand-text);font-weight:600}.completion-actions[data-v-c4bbb42b]{flex-wrap:wrap;gap:10px;display:flex}.btn-next[data-v-c4bbb42b]{background:var(--primary-purple,#4a2274);color:#fff;text-align:center;cursor:pointer;border:none;border-radius:6px;padding:12px 24px;font-size:16px;font-weight:600;text-decoration:none;display:inline-block}.btn-next[data-v-c4bbb42b]:hover{background:#3d1b5c}.btn-next-secondary[data-v-c4bbb42b]{color:var(--brand-text);border:2px solid var(--brand-text);background:0 0}.btn-next-secondary[data-v-c4bbb42b]:hover{background:var(--surface-tint)}.concept-box[data-v-0f339e8f]{background:var(--surface-tint);border:1px solid var(--border-tint);border-radius:8px;margin-top:24px;padding:14px 18px}.concept-box-title[data-v-0f339e8f]{color:var(--brand-text);margin:0 0 8px;font-size:1em}.concept-box-list[data-v-0f339e8f]{margin:0;padding-left:18px}.concept-box-item[data-v-0f339e8f]{margin-bottom:6px;line-height:1.5}.concept-box-link[data-v-0f339e8f]{color:var(--brand-text);margin-left:4px;font-size:.9em;display:inline-block}.lesson-view[data-v-73ef7215]{max-width:800px;margin:0 auto;container-type:inline-size}.lesson-view.with-workspace[data-v-73ef7215]{max-width:1320px}.js-lesson-grid[data-v-73ef7215]{position:relative}.js-workspace[data-v-73ef7215]{margin:-8px 0 24px}.js-workspace.is-empty[data-v-73ef7215],.js-workspace.no-canvas[data-v-73ef7215],.lesson-view:not(.with-workspace) .js-workspace[data-v-73ef7215],.js-workspace-output[data-v-73ef7215]{display:none}.js-workspace-inner[data-v-73ef7215]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px}.js-workspace-title[data-v-73ef7215]{color:var(--brand-text);margin:0 0 8px;font-weight:600}.js-workspace-task[data-v-73ef7215]{color:var(--text-muted);font-weight:400}.js-workspace-hint[data-v-73ef7215]{color:var(--text-muted);margin:0 0 8px;font-size:.9em}@container (width>=920px){.with-workspace .js-lesson-grid[data-v-73ef7215]{padding-right:446px}.with-workspace .js-workspace[data-v-73ef7215],.with-workspace .js-workspace.is-empty[data-v-73ef7215],.with-workspace .js-workspace.no-canvas[data-v-73ef7215]{width:426px;margin:0;display:block;position:absolute;top:0;bottom:0;right:0}.with-workspace .js-workspace-inner[data-v-73ef7215]{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}.with-workspace .js-workspace-output[data-v-73ef7215]{margin-bottom:0;display:block}.with-workspace .task-block .output-display[data-v-73ef7215]{display:none}.with-workspace .code-editor-wrapper[data-v-73ef7215],.with-workspace .solution-reveal[data-v-73ef7215]{max-width:none}}.lesson-content[data-v-73ef7215]{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:24px;line-height:1.6}.lesson-loading[data-v-73ef7215]{color:var(--text-muted);font-style:italic}.lesson-content[data-v-73ef7215] h1{border-bottom:2px solid var(--accent-yellow,#fdd835);margin-top:0;margin-bottom:1em;padding-bottom:.3em;font-size:1.5em}.lesson-content[data-v-73ef7215] h2{margin-top:1em;margin-bottom:.5em;font-size:1.2em}.lesson-content[data-v-73ef7215] code{background:var(--surface-muted);border-radius:3px;padding:2px 6px;font-family:Courier New,monospace;font-size:.9em}.lesson-content[data-v-73ef7215] .glossary-term{border-bottom:1px dotted var(--brand-text);cursor:help}.lesson-content[data-v-73ef7215] .concept-link{color:inherit;border-bottom:1px dotted var(--brand-text);text-decoration:none}.lesson-content[data-v-73ef7215] .concept-link:after{content:"↗";color:var(--brand-text);margin-left:1px;font-size:.75em}.lesson-content[data-v-73ef7215] .concept-link:hover{color:var(--brand-text)}.lesson-content[data-v-73ef7215] pre{background:var(--surface-muted);border-radius:6px;padding:12px;overflow-x:auto}.lesson-editor-section[data-v-73ef7215]{background:var(--surface-muted);border:2px solid var(--brand-text);border-radius:8px;flex-direction:column;padding:20px;display:flex}.editor-hint[data-v-73ef7215]{color:var(--text-muted);margin:0 0 12px;font-size:.9em}.editor-hint-ran[data-v-73ef7215]{color:var(--brand-text)}.task-block[data-v-73ef7215]{border-bottom:1px solid var(--border);border-left:4px solid #0000;margin-bottom:24px;padding-bottom:24px;padding-left:14px}.task-block.task-required[data-v-73ef7215]{border-left-color:var(--accent-orange,#ff9800)}.task-block.task-example[data-v-73ef7215]{border-left-color:var(--border-strong)}.task-block[data-v-73ef7215]:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.task-badge[data-v-73ef7215]{letter-spacing:.03em;text-transform:uppercase;border-radius:12px;margin-bottom:6px;padding:2px 10px;font-size:.72em;font-weight:700;display:inline-block}.badge-example[data-v-73ef7215]{background:var(--surface-muted);color:var(--text-faint)}.badge-required[data-v-73ef7215]{background:var(--warning-bg);color:var(--accent-orange,#fb8c00)}.task-instruction[data-v-73ef7215]{color:var(--brand-text);margin:0 0 8px;font-size:.95em;font-weight:600;line-height:1.4;display:block}.task-done[data-v-73ef7215]{color:var(--success);margin-right:6px}.task-pending[data-v-73ef7215]{color:var(--text-faint);margin-right:6px}.task-skipped[data-v-73ef7215]{color:#d9822b;margin-right:6px}.task-status-label[data-v-73ef7215]{color:var(--text-muted);margin-left:.35em;font-size:.9em;font-weight:400}.lesson-complete-box[data-v-73ef7215]{background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;margin-top:24px;padding:20px}.lesson-summary[data-v-73ef7215]{color:var(--success-text);margin:0 0 16px;font-size:1.05em;font-weight:500}.btn-next[data-v-73ef7215]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:12px 24px;font-size:16px;font-weight:600}.btn-next[data-v-73ef7215]:hover{background:#3d1b5c}a.btn-next[data-v-73ef7215]{text-align:center;text-decoration:none;display:inline-block}.code-editor-wrapper[data-v-73ef7215]{border-radius:8px;max-width:500px;transition:box-shadow .15s,border-color .15s}.code-editor-wrapper.code-editor-ran[data-v-73ef7215] .cm-host{border-color:var(--accent-orange,#ff9800);box-shadow:0 0 0 2px #ff980033}.meine-seite-note[data-v-73ef7215]{background:var(--warning-bg);color:#6d4c00;border:1px solid #ffe082;border-radius:6px;margin:0 0 8px;padding:6px 10px;font-size:.85em}.code-ran-note[data-v-73ef7215]{color:var(--accent-orange,#fb8c00);margin:-6px 0 12px;font-size:.82em;font-weight:600}.run-then-check[data-v-73ef7215]{color:var(--text-muted);margin:8px 0 0;font-size:.9em}.btn-next-task[data-v-73ef7215]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:10px;padding:8px 16px;font-size:15px;font-weight:600;display:block}.btn-next-task[data-v-73ef7215]:hover{background:#3d1b5c}.solution-reveal[data-v-73ef7215]{border:1px dashed var(--border-tint);background:var(--surface-tint);border-radius:6px;max-width:500px;margin:0 0 12px}.solution-reveal summary[data-v-73ef7215]{cursor:pointer;color:var(--brand-text);-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:.85em;font-weight:600}.solution-code[data-v-73ef7215]{white-space:pre-wrap;word-break:break-word;color:var(--text);margin:0;padding:0 12px 12px;font-family:Courier New,Consolas,Monaco,monospace;font-size:.85em}.editor-actions[data-v-73ef7215]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.btn-run[data-v-73ef7215]{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:6px;padding:10px 24px;font-size:16px;font-weight:600}.btn-run[data-v-73ef7215]:hover:not(:disabled){background:#5a6268}.btn-run[data-v-73ef7215]:disabled{cursor:not-allowed;opacity:.6;background:#adb5bd}.btn-check[data-v-73ef7215]{background:var(--accent-orange,#ff9800);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 24px;font-size:16px;font-weight:600}.btn-check[data-v-73ef7215]:hover:not(:disabled){background:#fb8c00}.btn-check[data-v-73ef7215]:disabled{cursor:not-allowed;opacity:.6;background:#6c757d}.btn-skip[data-v-73ef7215]{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:10px 20px;font-size:15px}.btn-skip[data-v-73ef7215]:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn-skip[data-v-73ef7215]:disabled{cursor:not-allowed;opacity:.6}.btn-reset[data-v-73ef7215]{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:10px 20px;font-size:15px}.btn-reset[data-v-73ef7215]:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn-reset[data-v-73ef7215]:disabled{cursor:not-allowed;opacity:.6}.output-display[data-v-73ef7215]{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;margin-top:12px;margin-bottom:12px;padding:12px}.output-display strong[data-v-73ef7215]{color:var(--text-muted);margin-bottom:8px;font-size:.9em;display:block}.output-content[data-v-73ef7215]{white-space:pre-wrap;word-break:break-word;margin:0;font-family:Courier New,Consolas,Monaco,monospace;font-size:14px}.feedback[data-v-73ef7215]{border-radius:6px;padding:12px 16px;font-weight:500}.feedback-success[data-v-73ef7215]{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.feedback-error[data-v-73ef7215]{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.lesson-view[data-v-e65cad6c]{max-width:800px;margin:0 auto}.lesson-content[data-v-e65cad6c]{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:24px;line-height:1.6}.lesson-loading[data-v-e65cad6c]{color:var(--text-muted);font-style:italic}.lesson-content[data-v-e65cad6c] h1{border-bottom:2px solid var(--accent-yellow,#fdd835);margin-top:0;margin-bottom:1em;padding-bottom:.3em;font-size:1.5em}.lesson-content[data-v-e65cad6c] h2{margin-top:1em;margin-bottom:.5em;font-size:1.2em}.lesson-content[data-v-e65cad6c] code{background:var(--surface-muted);border-radius:3px;padding:2px 6px;font-family:Courier New,monospace;font-size:.9em}.lesson-content[data-v-e65cad6c] .glossary-term{border-bottom:1px dotted var(--brand-text);cursor:help}.lesson-content[data-v-e65cad6c] .concept-link{color:inherit;border-bottom:1px dotted var(--brand-text);text-decoration:none}.lesson-content[data-v-e65cad6c] .concept-link:after{content:"↗";color:var(--brand-text);margin-left:1px;font-size:.75em}.lesson-content[data-v-e65cad6c] .concept-link:hover{color:var(--brand-text)}.lesson-content[data-v-e65cad6c] pre{background:var(--surface-muted);border-radius:6px;padding:12px;overflow-x:auto}.lesson-editor-section[data-v-e65cad6c]{background:var(--surface-muted);border:2px solid var(--brand-text);border-radius:8px;padding:20px}.editor-hint[data-v-e65cad6c]{color:var(--text-muted);margin:0 0 12px;font-size:.9em}.editor-header[data-v-e65cad6c]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.editor-label[data-v-e65cad6c]{color:var(--text);font-weight:600}.btn-kernel[data-v-e65cad6c]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500}.btn-kernel[data-v-e65cad6c]:hover:not(:disabled){background:#3d1b5c}.btn-kernel[data-v-e65cad6c]:disabled{cursor:default;background:#28a745}.task-block[data-v-e65cad6c]{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:24px}.task-block[data-v-e65cad6c]:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.task-instruction[data-v-e65cad6c]{color:var(--brand-text);margin:0 0 8px;font-size:.95em;font-weight:600;line-height:1.4;display:block}.task-done[data-v-e65cad6c]{color:var(--success);margin-right:6px}.task-pending[data-v-e65cad6c]{color:var(--text-faint);margin-right:6px}.task-skipped[data-v-e65cad6c]{color:#d9822b;margin-right:6px}.task-status-label[data-v-e65cad6c]{color:var(--text-muted);margin-left:.35em;font-size:.9em;font-weight:400}.task-bonus-badge[data-v-e65cad6c]{background:var(--accent-orange,#ff9800);color:#fff;vertical-align:middle;letter-spacing:.03em;border-radius:10px;margin-right:6px;padding:1px 7px;font-size:.72em;font-weight:700;display:inline-block}.lesson-complete-box[data-v-e65cad6c]{background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;margin-top:24px;padding:20px}.lesson-summary[data-v-e65cad6c]{color:var(--success-text);margin:0 0 16px;font-size:1.05em;font-weight:500}.btn-next[data-v-e65cad6c]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:12px 24px;font-size:16px;font-weight:600}.btn-next[data-v-e65cad6c]:hover{background:#3d1b5c}a.btn-next[data-v-e65cad6c]{text-align:center;text-decoration:none;display:inline-block}.code-editor[data-v-e65cad6c]{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:6px;width:100%;max-width:500px;min-height:80px;margin-bottom:12px;padding:15px;font-family:Courier New,Consolas,Monaco,monospace;font-size:14px;line-height:1.6}.code-editor[data-v-e65cad6c]:focus{outline:2px solid var(--brand-text);outline-offset:-2px}.editor-actions[data-v-e65cad6c]{gap:10px;margin-bottom:12px;display:flex}.btn-run[data-v-e65cad6c]{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:6px;padding:10px 24px;font-size:16px;font-weight:600}.btn-run[data-v-e65cad6c]:hover:not(:disabled){background:#5a6268}.btn-run[data-v-e65cad6c]:disabled{cursor:not-allowed;opacity:.6;background:#adb5bd}.output-display[data-v-e65cad6c]{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;margin-top:12px;margin-bottom:12px;padding:12px}.output-display strong[data-v-e65cad6c]{color:var(--text-muted);margin-bottom:8px;font-size:.9em;display:block}.output-content[data-v-e65cad6c]{white-space:pre-wrap;word-break:break-word;margin:0;font-family:Courier New,Consolas,Monaco,monospace;font-size:14px}.btn-check[data-v-e65cad6c]{background:var(--accent-orange,#ff9800);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 24px;font-size:16px;font-weight:600}.btn-check[data-v-e65cad6c]:hover:not(:disabled){background:#fb8c00}.btn-check[data-v-e65cad6c]:disabled{cursor:not-allowed;opacity:.6;background:#6c757d}.btn-skip[data-v-e65cad6c]{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:10px 20px;font-size:15px}.btn-skip[data-v-e65cad6c]:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn-skip[data-v-e65cad6c]:disabled{cursor:not-allowed;opacity:.6}.btn-reset[data-v-e65cad6c]{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:10px 20px;font-size:15px}.btn-reset[data-v-e65cad6c]:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn-reset[data-v-e65cad6c]:disabled{cursor:not-allowed;opacity:.6}.feedback[data-v-e65cad6c]{border-radius:6px;padding:12px 16px;font-weight:500}.feedback-success[data-v-e65cad6c]{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.feedback-error[data-v-e65cad6c]{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.kernel-status[data-v-e65cad6c]{color:var(--text-muted);margin-top:12px;font-size:.9em}.task-block.task-example[data-v-e65cad6c]{border-left:4px solid var(--border-strong);padding-left:12px}.task-badge[data-v-e65cad6c]{letter-spacing:.03em;text-transform:uppercase;background:var(--surface-muted);color:var(--text-faint);border-radius:12px;margin-bottom:6px;padding:2px 10px;font-size:.72em;font-weight:700;display:inline-block}.code-editor.code-editor-ran[data-v-e65cad6c]{border-color:var(--accent-orange,#ff9800);box-shadow:0 0 0 2px #ff980033}.code-ran-note[data-v-e65cad6c]{color:var(--accent-orange,#fb8c00);margin:0 0 8px;font-size:.82em;font-weight:600}.run-then-check[data-v-e65cad6c]{color:var(--text-muted);margin:8px 0 0;font-size:.9em}.btn-next-task[data-v-e65cad6c]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:10px;padding:8px 16px;font-size:15px;font-weight:600;display:block}.btn-next-task[data-v-e65cad6c]:hover{background:#3d1b5c}.editor-hint-ran[data-v-e65cad6c]{margin-top:-6px}.editor-hint-blank[data-v-e65cad6c]{color:var(--brand-text);font-weight:600}.solution-box[data-v-e65cad6c]{margin-top:12px}.btn-solution[data-v-e65cad6c]{color:var(--text-muted);border:1px dashed var(--border-strong);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:.85em}.btn-solution[data-v-e65cad6c]:hover{background:var(--surface-muted);color:var(--text)}.solution-label[data-v-e65cad6c]{color:var(--text-muted);margin:0 0 6px;font-size:.82em;font-weight:600}.solution-code[data-v-e65cad6c]{background:var(--surface-muted);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:12px;font-family:Courier New,Consolas,Monaco,monospace;font-size:13px}.js-course-tour[data-v-56841f9a]{max-width:900px;margin:0 auto}.js-course-tour.tour-wide[data-v-56841f9a]{max-width:1320px}.loading[data-v-56841f9a],.error[data-v-56841f9a]{text-align:center;padding:40px;font-size:18px}.error[data-v-56841f9a]{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px}.tour-header-embedded[data-v-56841f9a]{color:var(--brand-text-soft);margin-bottom:4px;font-size:.92em;font-weight:600}.tour-header[data-v-56841f9a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tour-breadcrumb[data-v-56841f9a]{color:var(--brand-text-soft);align-items:center;gap:8px;font-size:.92em;font-weight:600;display:flex}.breadcrumb-back[data-v-56841f9a]{font:inherit;color:var(--brand-text-soft);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.breadcrumb-back[data-v-56841f9a]:hover{color:var(--brand-text)}.breadcrumb-sep[data-v-56841f9a]{color:var(--text-faint)}.breadcrumb-lesson[data-v-56841f9a]{color:var(--brand-text)}.progress-count[data-v-56841f9a]{color:var(--success);font-weight:600}.progress-stepper[data-v-56841f9a]{scrollbar-width:none;align-items:flex-start;gap:20px;margin:18px 0 8px;display:flex;overflow-x:auto}.progress-stepper[data-v-56841f9a]::-webkit-scrollbar{display:none}.stepper-group[data-v-56841f9a]{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.stepper-group-label[data-v-56841f9a]{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);font-size:.75em;font-weight:700}.stepper-group-dots[data-v-56841f9a]{align-items:center;display:flex}.stepper-group-gap[data-v-56841f9a]{background:var(--surface-muted);align-self:center;width:1px;height:20px;margin-top:14px}.stepper-step[data-v-56841f9a]{cursor:pointer;background:0 0;border:none;padding:0;display:flex}.stepper-step[data-v-56841f9a]:disabled{cursor:not-allowed}.stepper-dot[data-v-56841f9a]{border:2px solid var(--border-strong);background:var(--surface);width:30px;height:30px;color:var(--text-faint);border-radius:50%;justify-content:center;align-items:center;font-size:.85em;font-weight:700;transition:all .15s;display:flex}.stepper-step.done .stepper-dot[data-v-56841f9a]{background:var(--primary-purple,#4a2274);border-color:var(--brand-text);color:#fff}.stepper-step.current .stepper-dot[data-v-56841f9a]{background:var(--accent-orange,#ff9800);border-color:var(--accent-orange,#ff9800);color:#fff;box-shadow:0 0 0 4px var(--warning-bg)}.stepper-step.locked .stepper-dot[data-v-56841f9a]{opacity:.5}.stepper-line[data-v-56841f9a]{background:var(--surface-muted);width:20px;height:3px}.stepper-line.done[data-v-56841f9a]{background:var(--primary-purple,#4a2274)}.lesson-main[data-v-56841f9a]{margin-top:12px}.tour-actions[data-v-56841f9a]{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px;display:flex}.btn-export[data-v-56841f9a],.btn-import[data-v-56841f9a]{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:6px;padding:8px 12px;font-size:.9em}.btn-export[data-v-56841f9a]:hover,.btn-import[data-v-56841f9a]:hover{background:var(--surface-muted)}.file-input[data-v-56841f9a]{display:none}.branch-choice-page[data-v-56841f9a]{text-align:center;padding:24px 8px}.branch-tile-grid[data-v-56841f9a]{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:16px;display:flex}.branch-tile[data-v-56841f9a]{background:var(--surface);border:2px solid var(--border-tint);cursor:pointer;width:240px;font:inherit;color:inherit;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:20px 16px;display:flex}.branch-tile[data-v-56841f9a]:hover{border-color:var(--brand-text);background:var(--surface-tint)}.branch-tile-icon[data-v-56841f9a]{font-size:2em}.branch-tile-desc[data-v-56841f9a]{color:var(--text-muted);font-size:.85em}.quiz-step[data-v-f0e5982a]{margin-bottom:20px}.quiz-step-title[data-v-f0e5982a]{color:var(--brand-text);margin:0 0 16px;font-size:1.05em}.quiz-question[data-v-f0e5982a]{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:16px}.quiz-question.correct[data-v-f0e5982a]{border-color:var(--success);background:var(--success-bg)}.quiz-question.incorrect[data-v-f0e5982a]{border-color:var(--danger);background:var(--danger-bg)}.question-text[data-v-f0e5982a]{margin:0 0 12px;font-weight:600;line-height:1.4}.multi-hint[data-v-f0e5982a]{color:var(--text-muted);margin:-6px 0 10px;font-size:.85em;font-weight:500}.question-num[data-v-f0e5982a]{color:var(--brand-text);margin-right:4px}.options[data-v-f0e5982a]{flex-wrap:wrap;gap:8px;display:flex}.mc-options[data-v-f0e5982a]{flex-direction:column}.option-btn[data-v-f0e5982a]{background:var(--surface-muted);border:2px solid var(--border);cursor:pointer;text-align:left;border-radius:6px;padding:10px 16px;font-size:.95em;transition:border-color .15s,background .15s}.option-btn[data-v-f0e5982a]:hover:not(:disabled){border-color:var(--brand-text)}.option-btn.selected[data-v-f0e5982a]{border-color:var(--brand-text);background:#4a227414}.option-btn.correct[data-v-f0e5982a]{border-color:var(--success);background:var(--success-bg)}.option-btn.wrong[data-v-f0e5982a]{border-color:var(--danger);background:var(--danger-bg)}.option-dontknow[data-v-f0e5982a]{color:var(--text-muted);border-style:dashed;font-style:italic}.option-dontknow.selected[data-v-f0e5982a]{background:var(--surface-muted);color:var(--text-muted);border-color:#6c757d}.option-btn[data-v-f0e5982a]:disabled{cursor:default}.option-block[data-v-f0e5982a]{align-items:flex-start;gap:8px;width:100%;display:flex}.option-mark[data-v-f0e5982a]{flex-shrink:0;font-size:1.05em;line-height:1.3}.question-actions[data-v-f0e5982a]{margin-top:12px}.btn-check-one[data-v-f0e5982a]{background:var(--accent-orange,#ff9800);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-weight:600}.btn-check-one[data-v-f0e5982a]:disabled{cursor:not-allowed;background:#adb5bd}.question-feedback[data-v-f0e5982a]{border-radius:4px;margin:10px 0 0;padding:8px 10px;font-size:.9em}.feedback-ok[data-v-f0e5982a]{background:var(--success-bg);color:var(--success-text)}.feedback-no[data-v-f0e5982a]{background:var(--warning-bg);color:var(--warning-text)}.quiz-actions[data-v-f0e5982a]{margin-top:8px}.btn-check-quiz[data-v-f0e5982a]{background:var(--accent-orange,#ff9800);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-weight:600}.btn-check-quiz[data-v-f0e5982a]:disabled{cursor:not-allowed;background:#adb5bd}.quiz-result[data-v-f0e5982a]{border-radius:6px;padding:12px 16px;font-weight:600}.quiz-pass[data-v-f0e5982a]{background:var(--success-bg);color:var(--success-text)}.quiz-fail[data-v-f0e5982a]{background:var(--warning-bg);color:var(--warning-text)}.btn-retry[data-v-f0e5982a]{border:1px solid var(--warning-text);color:var(--warning-text);cursor:pointer;background:0 0;border-radius:4px;margin-left:12px;padding:4px 12px}.code-challenge[data-v-14c0a050]{border-top:1px dashed var(--border);margin-top:16px;padding-top:16px}.challenge-header[data-v-14c0a050]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.challenge-header h4[data-v-14c0a050]{color:var(--brand-text);margin:0}.challenge-badge[data-v-14c0a050]{background:var(--success-bg);color:var(--success-text);border-radius:10px;padding:2px 10px;font-size:.75em;font-weight:700}.challenge-instruction[data-v-14c0a050]{color:var(--text-muted);margin:0 0 12px;line-height:1.5}.challenge-editor-header[data-v-14c0a050]{margin-bottom:10px}.btn-kernel[data-v-14c0a050]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:.85em;font-weight:500}.btn-kernel[data-v-14c0a050]:disabled{cursor:default;background:#28a745}.code-editor[data-v-14c0a050]{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:6px;width:100%;max-width:500px;min-height:70px;margin-bottom:10px;padding:12px;font-family:Courier New,Consolas,Monaco,monospace;font-size:14px;line-height:1.5;display:block}.challenge-actions[data-v-14c0a050]{gap:8px;margin-bottom:10px;display:flex}.btn-run[data-v-14c0a050],.btn-check[data-v-14c0a050],.btn-reset[data-v-14c0a050]{cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:.9em;font-weight:600}.btn-run[data-v-14c0a050]{color:#fff;background:#6c757d}.btn-run[data-v-14c0a050]:disabled,.btn-check[data-v-14c0a050]:disabled{cursor:not-allowed;background:#adb5bd}.btn-check[data-v-14c0a050]{background:var(--accent-orange,#ff9800);color:#fff}.btn-reset[data-v-14c0a050]{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-reset[data-v-14c0a050]:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn-reset[data-v-14c0a050]:disabled{cursor:not-allowed;opacity:.6}.challenge-output[data-v-14c0a050]{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;margin-bottom:10px;padding:10px 12px}.challenge-output strong[data-v-14c0a050]{color:var(--text-muted);margin-bottom:6px;font-size:.85em;display:block}.challenge-output pre[data-v-14c0a050]{white-space:pre-wrap;word-break:break-word;margin:0;font-family:Courier New,Consolas,Monaco,monospace;font-size:.9em}.challenge-feedback[data-v-14c0a050]{border-radius:6px;padding:10px 14px;font-size:.9em;font-weight:500}.feedback-success[data-v-14c0a050]{background:var(--success-bg);color:var(--success-text)}.feedback-error[data-v-14c0a050]{background:var(--danger-bg);color:var(--danger-text)}.kernel-status[data-v-14c0a050]{color:var(--text-muted);margin-top:8px;font-size:.85em}.code-challenge[data-v-9a92f671]{border-top:1px dashed var(--border);margin-top:16px;padding-top:16px}.challenge-header[data-v-9a92f671]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.challenge-header h4[data-v-9a92f671]{color:var(--brand-text);margin:0}.challenge-badge[data-v-9a92f671]{background:var(--success-bg);color:var(--success-text);border-radius:10px;padding:2px 10px;font-size:.75em;font-weight:700}.challenge-instruction[data-v-9a92f671]{color:var(--text-muted);margin:0 0 12px;line-height:1.5}.challenge-actions[data-v-9a92f671]{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.btn-run[data-v-9a92f671],.btn-check[data-v-9a92f671],.btn-reset[data-v-9a92f671]{cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:.9em;font-weight:600}.btn-run[data-v-9a92f671]{color:#fff;background:#6c757d}.btn-check[data-v-9a92f671]{background:var(--accent-orange,#ff9800);color:#fff}.btn-reset[data-v-9a92f671]{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-run[data-v-9a92f671]:disabled,.btn-check[data-v-9a92f671]:disabled{cursor:not-allowed;background:#adb5bd}.challenge-output[data-v-9a92f671]{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;margin-bottom:10px;padding:10px}.challenge-output pre[data-v-9a92f671]{white-space:pre-wrap;margin:6px 0 0}.challenge-feedback[data-v-9a92f671]{border-radius:6px;padding:10px 14px;font-weight:500}.feedback-success[data-v-9a92f671]{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.feedback-error[data-v-9a92f671]{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.week-check-panel[data-v-df62016d]{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:8px;padding:20px}.check-intro[data-v-df62016d]{margin-bottom:16px}.check-intro h3[data-v-df62016d]{color:var(--brand-text);margin:0 0 6px}.check-intro p[data-v-df62016d]{color:var(--text-muted);margin:0;font-size:.95em}.check-badge[data-v-df62016d]{background:var(--success-bg);color:var(--success-text);border-radius:10px;margin-top:10px;padding:2px 10px;font-size:.8em;font-weight:700;display:inline-block}.check-fully-done[data-v-df62016d]{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);border-radius:8px;margin:16px 0 0;padding:12px 16px;font-weight:600}.check-loading[data-v-df62016d],.check-empty[data-v-df62016d]{color:var(--text-muted);font-style:italic}.offline-downloads[data-v-56efb945]{flex-direction:column;gap:8px;padding:18px 0 4px;display:flex}.offline-downloads-title[data-v-56efb945]{color:var(--text);font-weight:600}.offline-downloads-buttons[data-v-56efb945]{flex-wrap:wrap;gap:8px;display:flex}.btn-offline-download[data-v-56efb945]{background:var(--surface-muted);border:1px solid var(--border);color:var(--brand-text);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:6px 14px;font-size:.9em;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn-offline-download[data-v-56efb945]:hover{background:var(--surface-muted);border-color:var(--brand-text)}.offline-downloads-hint[data-v-56efb945]{color:var(--text-faint);font-size:.8em}.tour-side-menu[data-v-d6c19b44]{flex-direction:column;gap:18px;min-width:200px;max-width:240px;display:flex}.side-menu-section h4[data-v-d6c19b44]{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:0 0 8px;font-size:.78em}.side-menu-list[data-v-d6c19b44]{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.side-menu-step[data-v-d6c19b44]{text-align:left;cursor:pointer;width:100%;color:var(--text-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:.88em;transition:background .15s,color .15s;display:flex}.side-menu-step[data-v-d6c19b44]:hover{background:var(--surface-tint)}.side-menu-step.reached[data-v-d6c19b44]{color:var(--brand-text)}.side-menu-step.active[data-v-d6c19b44]{background:var(--primary-purple,#4a2274);color:#fff;font-weight:600}.side-menu-icon[data-v-d6c19b44]{text-align:center;flex-shrink:0;width:1.2em}.side-menu-sub[data-v-d6c19b44]{border-left:2px solid var(--border-tint);padding-left:6px}.side-menu-heading[data-v-d6c19b44]{text-align:left;cursor:pointer;width:100%;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:5px 10px;font-size:.82em}.side-menu-heading[data-v-d6c19b44]:hover{background:var(--surface-tint);color:var(--text)}.side-menu-heading.level-2[data-v-d6c19b44]{font-weight:600}.side-menu-reference[data-v-d6c19b44]{color:var(--brand-text-soft)}.side-menu-download[data-v-d6c19b44]{color:var(--brand-text-soft);text-decoration:none}.tour-stepper[data-v-8fb165ae]{margin-top:8px}.tour-header[data-v-8fb165ae]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tour-breadcrumb[data-v-8fb165ae]{align-items:center;gap:8px;font-size:.92em;display:flex}.breadcrumb-link[data-v-8fb165ae]{color:var(--brand-text-soft);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-weight:600}.breadcrumb-link[data-v-8fb165ae]:hover{color:var(--brand-text);text-decoration:underline}.breadcrumb-sep[data-v-8fb165ae]{color:var(--text-faint)}.side-menu-toggle[data-v-8fb165ae]{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:.82em}.side-menu-toggle[data-v-8fb165ae]:hover{background:var(--surface-tint);border-color:var(--border-tint)}.progress-stepper[data-v-8fb165ae]{scrollbar-width:none;align-items:flex-start;margin:18px 0 8px;display:flex;overflow-x:auto}.progress-stepper[data-v-8fb165ae]::-webkit-scrollbar{display:none}.stepper-step[data-v-8fb165ae]{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;min-width:64px;padding:0 4px;display:flex}.stepper-dot[data-v-8fb165ae]{border:2px solid var(--border-strong);background:var(--surface);width:34px;height:34px;color:var(--text-faint);border-radius:50%;justify-content:center;align-items:center;font-size:.9em;font-weight:700;transition:all .15s;display:flex}.stepper-step.done .stepper-dot[data-v-8fb165ae]{background:var(--primary-purple,#4a2274);border-color:var(--brand-text);color:#fff}.stepper-step.current .stepper-dot[data-v-8fb165ae]{background:var(--accent-orange,#ff9800);border-color:var(--accent-orange,#ff9800);color:#fff;box-shadow:0 0 0 4px var(--warning-bg)}.stepper-label[data-v-8fb165ae]{color:var(--text-muted);text-align:center;white-space:nowrap;font-size:.78em}.stepper-step.done .stepper-label[data-v-8fb165ae]{color:var(--brand-text)}.stepper-step.current .stepper-label[data-v-8fb165ae]{color:var(--accent-orange,#ff9800);font-weight:700}.stepper-line[data-v-8fb165ae]{background:var(--surface-muted);flex:1;min-width:20px;height:3px;margin-top:17px}.stepper-line.done[data-v-8fb165ae]{background:var(--primary-purple,#4a2274)}.tour-body[data-v-8fb165ae]{align-items:flex-start;gap:24px;margin-top:16px;display:flex}.tour-content[data-v-8fb165ae]{flex:1;min-width:0}.tour-reference-banner[data-v-8fb165ae]{background:var(--surface-tint);border:1px solid var(--border-tint);color:var(--brand-text);border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-weight:600;display:flex}.tour-back-btn[data-v-8fb165ae]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:.85em;font-weight:600}.tour-back-btn[data-v-8fb165ae]:hover{background:#3d1b5c}.cheat-sheet-reference[data-v-8fb165ae]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px}.cheat-sheet-actions[data-v-8fb165ae]{text-align:center;margin-bottom:16px}.download-btn[data-v-8fb165ae]{color:#fff;background:#28a745;border-radius:6px;align-items:center;gap:8px;margin:4px 8px;padding:10px 20px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.download-btn[data-v-8fb165ae]:hover{background:#218838;transform:translateY(-2px)}.download-icon[data-v-8fb165ae]{font-size:1.1em}.cheat-sheet-markdown[data-v-8fb165ae]{font-size:.95em;line-height:1.6}.cheat-sheet-markdown[data-v-8fb165ae] h1{color:var(--success);border-bottom:2px solid var(--success);margin-top:0;padding-bottom:10px}.cheat-sheet-markdown[data-v-8fb165ae] h2{color:var(--text);border-bottom:1px solid var(--border);margin-top:2em;padding-bottom:5px}.cheat-sheet-markdown[data-v-8fb165ae] h3{color:var(--text-muted);margin-top:1.5em}.cheat-sheet-markdown[data-v-8fb165ae] code{background:var(--surface-muted);border:1px solid var(--border);border-radius:3px;padding:2px 6px;font-family:Courier New,monospace;font-size:.9em}.cheat-sheet-markdown[data-v-8fb165ae] pre{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;padding:15px;overflow-x:auto}.cheat-sheet-markdown[data-v-8fb165ae] pre code{background:0 0;border:none;padding:0}.cheat-sheet-markdown[data-v-8fb165ae] ul,.cheat-sheet-markdown[data-v-8fb165ae] ol{padding-left:25px}.cheat-sheet-markdown[data-v-8fb165ae] li{margin-bottom:5px}.cheat-sheet-markdown[data-v-8fb165ae] table{border-collapse:collapse;width:100%;margin:20px 0}.cheat-sheet-markdown[data-v-8fb165ae] th,.cheat-sheet-markdown[data-v-8fb165ae] td{border:1px solid var(--border);text-align:left;padding:8px 12px}.cheat-sheet-markdown[data-v-8fb165ae] th{background:var(--surface-muted);font-weight:700}.cheat-sheet-markdown[data-v-8fb165ae] blockquote{border-left:4px solid var(--success);color:var(--text-muted);margin-left:0;padding-left:20px;font-style:italic}.branch-choice-page[data-v-8fb165ae]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px 20px}.branch-choice-page h3[data-v-8fb165ae]{color:var(--brand-text);margin:0 0 6px}.branch-choice-page>p[data-v-8fb165ae]{color:var(--text-muted);margin:0 0 18px}.branch-tile-grid[data-v-8fb165ae]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;max-width:640px;display:grid}.tile[data-v-8fb165ae]{text-align:left;background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:18px 16px;transition:all .15s;display:flex}.tile[data-v-8fb165ae]:hover{border-color:var(--border-tint);background:var(--surface-tint);transform:translateY(-2px)}.branch-tile-icon[data-v-8fb165ae]{font-size:1.6em}.branch-tile strong[data-v-8fb165ae]{color:var(--brand-text);font-size:1.05em}.branch-tile-desc[data-v-8fb165ae]{color:var(--text-muted);font-size:.82em}.tour-tail[data-v-8fb165ae]{padding:18px 4px 4px}.tour-next-btn[data-v-8fb165ae]{background:var(--accent-orange,#ff9800);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 22px;font-size:1em;font-weight:700}.tour-next-btn[data-v-8fb165ae]:hover{background:#fb8c00}.tour-done-msg[data-v-8fb165ae],.tour-check-pending[data-v-8fb165ae]{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);border-radius:8px;padding:14px 18px;font-weight:600}.certificate-reveal[data-v-8fb165ae]{background:var(--celebrate-bg);text-align:center;border:2px solid gold;border-radius:12px;padding:28px 24px;animation:.3s certificate-pop-8fb165ae}@keyframes certificate-pop-8fb165ae{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.certificate-badge[data-v-8fb165ae]{margin-bottom:6px;font-size:3em;line-height:1}.certificate-reveal h3[data-v-8fb165ae]{color:var(--brand-text);margin:0 0 6px}.certificate-reveal>p[data-v-8fb165ae]{color:var(--text-muted);margin:0 0 16px}.certificate-name-row[data-v-8fb165ae]{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;display:flex}.certificate-name-row label[data-v-8fb165ae]{color:var(--text-muted);font-size:.85em;font-weight:600}.certificate-name-row input[data-v-8fb165ae]{border:1px solid var(--border);border-radius:6px;min-width:200px;padding:7px 10px;font-size:.9em}.btn-certificate-pdf[data-v-8fb165ae]{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:8px;padding:9px 18px;font-size:.9em;font-weight:600}.btn-certificate-pdf[data-v-8fb165ae]:hover:not(:disabled){background:#6d28d9}.btn-certificate-pdf[data-v-8fb165ae]:disabled{opacity:.6;cursor:default}.certificate-login-hint[data-v-8fb165ae]{color:var(--text-faint);margin:0;font-size:.82em;font-style:italic}.after-check-choice[data-v-8fb165ae]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;display:flex}.after-check-tile[data-v-8fb165ae]{text-align:center;color:var(--brand-text);background:var(--surface);align-items:center;min-width:180px;font-weight:700}@media (width<=900px){.tour-body[data-v-8fb165ae]{flex-direction:column}}.fortschritt-widget[data-v-5e5e60a2]{background:var(--celebrate-bg);border:2px solid gold;border-radius:8px;margin-bottom:40px;overflow:hidden}.fortschritt-widget-header[data-v-5e5e60a2]{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:20px;display:flex}.fortschritt-widget-header[data-v-5e5e60a2]:hover{background:color-mix(in srgb, var(--surface) 30%, transparent)}.fortschritt-widget-header h3[data-v-5e5e60a2]{color:var(--text);border:none;margin:0;padding:0}.fortschritt-toggle[data-v-5e5e60a2]{color:var(--text-muted);font-size:1.5em;font-weight:700}.fortschritt-widget-content[data-v-5e5e60a2]{border-top:1px solid #ffd70080;padding:0 20px 20px}.fortschritt-einleitung[data-v-5e5e60a2]{background:color-mix(in srgb, var(--surface) 60%, transparent);border-left:4px solid gold;border-radius:8px;margin-bottom:16px;padding:14px 16px}.fortschritt-einleitung p[data-v-5e5e60a2]{margin:0 0 8px;font-size:.95em;line-height:1.5}.fortschritt-einleitung p[data-v-5e5e60a2]:last-child{margin-bottom:0}.fortschritt-import-export[data-v-5e5e60a2]{border-bottom:1px solid #ffd70080;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.fortschritt-io-btn[data-v-5e5e60a2]{background:color-mix(in srgb, var(--surface) 90%, transparent);border:2px solid var(--border);cursor:pointer;border-radius:8px;margin:0;padding:8px 14px;font-size:.9em;transition:all .2s}.fortschritt-io-btn[data-v-5e5e60a2]:hover{background:var(--surface);border-color:gold}.fortschritt-file-input[data-v-5e5e60a2]{display:none}.fortschritt-skript-details[data-v-5e5e60a2]{color:var(--text-muted);margin-top:12px;font-size:.85em}.fortschritt-summary[data-v-5e5e60a2]{margin:15px 0}.certificate-count[data-v-5e5e60a2]{background:color-mix(in srgb, var(--surface) 80%, transparent);border:1px solid var(--border);color:var(--brand-text);border-radius:8px;padding:10px 16px;font-weight:600}.fortschritt-weekly-section[data-v-5e5e60a2]{border-top:1px solid #ffd70080;margin-top:20px;padding-top:16px}.fortschritt-weekly-header[data-v-5e5e60a2]{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.fortschritt-weekly-header:hover h4[data-v-5e5e60a2]{color:var(--text-muted)}.fortschritt-weekly-section h4[data-v-5e5e60a2]{color:var(--text);margin:0;font-size:1em}.fortschritt-weekly-hint[data-v-5e5e60a2]{color:var(--text-muted);margin:0 0 16px;font-size:.85em}.certificate-name-field[data-v-5e5e60a2]{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;display:flex}.certificate-name-field label[data-v-5e5e60a2]{color:var(--text-muted);font-size:.85em;font-weight:600}.certificate-name-input[data-v-5e5e60a2]{border:1px solid var(--border);border-radius:6px;flex:1;min-width:180px;padding:8px 10px;font-size:.9em}.btn-certificate-pdf[data-v-5e5e60a2]{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;margin-top:4px;padding:6px 10px;font-size:.75em}.btn-certificate-pdf[data-v-5e5e60a2]:hover:not(:disabled){background:#6d28d9}.btn-certificate-pdf[data-v-5e5e60a2]:disabled{opacity:.6;cursor:default}.certificate-login-hint[data-v-5e5e60a2]{color:var(--text-faint);margin-top:4px;font-size:.7em;font-style:italic}.certificate-grid[data-v-5e5e60a2]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding-top:12px;display:grid}.certificate-card[data-v-5e5e60a2]{background:color-mix(in srgb, var(--surface) 90%, transparent);border:1px solid var(--border);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;display:flex}.certificate-card.earned[data-v-5e5e60a2]{border-color:var(--border-tint);background:var(--surface-tint)}.certificate-icon[data-v-5e5e60a2]{font-size:1.8em}.certificate-week[data-v-5e5e60a2]{color:var(--text);font-size:.9em;font-weight:600}.certificate-status[data-v-5e5e60a2]{color:var(--text-muted);font-size:.78em}.certificate-card.earned .certificate-status[data-v-5e5e60a2]{color:var(--brand-text);font-weight:600}.fortschritt-hint[data-v-5e5e60a2]{color:var(--text-muted);margin:15px 0 0;font-size:.9em}.week-tour[data-v-ab19bdea]{padding:20px}.tour-page[data-v-ab19bdea]{animation:.18s tour-page-in-ab19bdea}@keyframes tour-page-in-ab19bdea{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tour-intro[data-v-ab19bdea]{color:var(--text-muted);margin-bottom:24px}.tour-loading[data-v-ab19bdea]{color:var(--text-faint);font-style:italic}.section-label[data-v-ab19bdea]{color:var(--brand-text);border-bottom:none;margin:0 0 10px;font-size:1.3em}.week-picker-header[data-v-ab19bdea]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.week-picker-header .section-label[data-v-ab19bdea]{margin:0}.certificates-link[data-v-ab19bdea]{background:var(--warning-bg);color:var(--brand-text);cursor:pointer;border:1px solid gold;border-radius:8px;padding:7px 14px;font-size:.85em;font-weight:600}.certificates-link[data-v-ab19bdea]:hover{background:#fdebd0}.breadcrumb-back[data-v-ab19bdea]{color:var(--brand-text-soft);cursor:pointer;background:0 0;border:none;padding:0 0 14px;font-size:.9em}.breadcrumb-back[data-v-ab19bdea]:hover{color:var(--brand-text);text-decoration:underline}.week-map[data-v-ab19bdea]{position:relative}.week-map-path[data-v-ab19bdea]{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.week-map-path path[data-v-ab19bdea]{fill:none;stroke:#d9c7ea;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 12}.tile-grid[data-v-ab19bdea]{z-index:1;gap:14px;display:grid;position:relative}.week-tile-grid[data-v-ab19bdea]{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.variant-tile-grid[data-v-ab19bdea]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-width:760px}.tile[data-v-ab19bdea]{text-align:left;background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:20px 18px;transition:all .15s;display:flex;box-shadow:0 1px 2px #0000000a}.tile[data-v-ab19bdea]:hover{border-color:var(--border-tint);background:var(--surface-tint);transform:translateY(-2px);box-shadow:0 4px 10px #4a22741f}.tile.active[data-v-ab19bdea]{border-color:var(--brand-text);background:var(--surface-tint)}.week-tile-icon[data-v-ab19bdea]{width:1.3em;font-size:1.6em;display:inline-block;position:relative}.week-tile-badge[data-v-ab19bdea]{font-size:.55em;position:absolute;top:-8px;right:-10px}.week-tile strong[data-v-ab19bdea]{color:var(--brand-text);font-size:1.05em}.week-tile span[data-v-ab19bdea]:not(.week-tile-badge){color:var(--text-muted);font-size:.85em}.variant-tile[data-v-ab19bdea]{text-align:center;color:var(--text);align-items:center;padding:26px 18px;font-size:1.15em;font-weight:600}.interactive-course[data-v-86af2519]{max-width:1200px;margin:0 auto;padding:20px 0}.variant-selector[data-v-86af2519]{text-align:center;padding:40px 20px}.variant-selector h2[data-v-86af2519]{margin-bottom:8px;font-size:1.6em}.variant-intro[data-v-86af2519]{color:var(--text-muted);margin-bottom:32px}.variant-cards[data-v-86af2519]{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.variant-card[data-v-86af2519]{border:2px solid var(--border);background:var(--surface);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:8px;width:220px;padding:28px 20px;transition:all .15s;display:flex;box-shadow:0 1px 2px #0000000a}.variant-card[data-v-86af2519]:hover{border-color:var(--border-tint);background:var(--surface-tint);transform:translateY(-2px);box-shadow:0 4px 10px #4a22741f}.variant-icon[data-v-86af2519]{font-size:2.4em}.variant-card strong[data-v-86af2519]{color:var(--text-strong);font-size:1.1em}.variant-age[data-v-86af2519]{color:var(--text-faint);font-size:.85em}.variant-features[data-v-86af2519]{text-align:left;color:var(--text-muted);margin:8px 0 0;padding:0;font-size:.88em;list-style:none}.variant-features li[data-v-86af2519]:before{content:"✓ ";color:var(--brand-text);font-weight:700}.loading[data-v-86af2519],.error[data-v-86af2519]{text-align:center;padding:40px;font-size:18px}.error[data-v-86af2519]{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px}.btn-switch[data-v-86af2519]{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;text-align:center;border-color:var(--brand-text);color:var(--brand-text);border-radius:6px;padding:8px 12px;font-size:.9em}.btn-switch[data-v-86af2519]:hover{background:#4a22740f}@media (width<=768px){.variant-cards[data-v-86af2519]{flex-direction:column;align-items:center}}@media (width<=768px){.course-layout{min-height:unset;gap:16px;padding:16px}.lessons-sidebar{display:none}.lessons-sidebar.sidebar-mobile-open{display:block}.btn-sidebar-toggle{display:inline-flex}}.placement-course[data-v-2924d28b]{max-width:800px;margin:0 auto;padding:12px 0 40px}.loading[data-v-2924d28b],.error[data-v-2924d28b]{text-align:center;padding:40px}.error[data-v-2924d28b]{color:var(--danger);background:var(--danger-bg);border-radius:8px}.placement-intro h2[data-v-2924d28b]{margin:0 0 8px}.placement-intro p[data-v-2924d28b]{color:var(--text-muted);margin:0 0 12px;line-height:1.5}.session-progress[data-v-2924d28b]{font-weight:600;color:var(--brand-text)!important}.placement-results h2[data-v-2924d28b]{margin:0 0 8px}.results-intro[data-v-2924d28b]{color:var(--text-muted);margin:0 0 20px}.week-results[data-v-2924d28b]{flex-direction:column;gap:12px;margin:0 0 24px;padding:0;list-style:none;display:flex}.week-result[data-v-2924d28b]{border:2px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.week-result.ok[data-v-2924d28b]{border-color:var(--success);background:var(--success-bg)}.week-result.review[data-v-2924d28b]{background:var(--warning-bg);border-color:#ff9800}.week-result-text[data-v-2924d28b]{flex-direction:column;gap:4px;display:flex}.week-result-text span[data-v-2924d28b]{color:var(--text-muted);font-size:.9em}.week-jump[data-v-2924d28b]{background:var(--primary-purple,#4a2274);color:#fff;border-radius:6px;padding:8px 14px;font-size:.9em;font-weight:600;text-decoration:none}.recommend[data-v-2924d28b]{margin:0 0 20px;font-weight:600}.recommend a[data-v-2924d28b]{color:var(--brand-text)}.projects-block[data-v-2924d28b]{background:var(--surface-tint);border:2px solid var(--border-tint);border-radius:12px;margin:0 0 24px;padding:18px}.projects-block h3[data-v-2924d28b]{color:var(--brand-text);margin:0 0 8px}.projects-intro[data-v-2924d28b]{color:var(--text-muted);margin:0 0 14px;line-height:1.45}.project-list[data-v-2924d28b]{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.project-card[data-v-2924d28b]{background:var(--surface);border:1px solid var(--border-tint);border-radius:10px;padding:14px 16px}.project-card strong[data-v-2924d28b]{color:var(--text-strong);margin-bottom:6px;display:block}.project-card p[data-v-2924d28b]{color:var(--text-muted);margin:0;font-size:.95em;line-height:1.45}.project-skills[data-v-2924d28b]{color:var(--text-muted)!important;margin-top:8px!important;font-size:.85em!important}.btn-retry[data-v-2924d28b]{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:8px 16px}.lesson-view[data-v-5745829a]{max-width:800px;margin:0 auto}.guide-mode-switch[data-v-5745829a]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.guide-mode-label[data-v-5745829a]{color:var(--brand-text);font-weight:600}.guide-mode-btn[data-v-5745829a]{border:2px solid var(--brand-text);background:var(--surface);color:var(--brand-text);cursor:pointer;border-radius:20px;padding:6px 16px;font-weight:600}.guide-mode-btn.active[data-v-5745829a]{background:var(--primary-purple,#4a2274);color:#fff}.lesson-content[data-v-5745829a]{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:24px;line-height:1.6}.lesson-loading[data-v-5745829a]{color:var(--text-muted);font-style:italic}.lesson-content[data-v-5745829a] h1{border-bottom:2px solid var(--accent-yellow,#fdd835);margin-top:0;margin-bottom:1em;padding-bottom:.3em;font-size:1.5em}.lesson-content[data-v-5745829a] h2{margin-top:1.2em;margin-bottom:.5em;scroll-margin-top:16px;font-size:1.2em}.lesson-content[data-v-5745829a] .concept-link{color:inherit;border-bottom:1px dotted var(--brand-text);text-decoration:none}.lesson-content[data-v-5745829a] .concept-link:after{content:"↗";color:var(--brand-text);margin-left:1px;font-size:.75em}.lesson-content[data-v-5745829a] .concept-link:hover{color:var(--brand-text)}.lesson-content[data-v-5745829a] code{background:var(--surface-muted);border-radius:3px;padding:2px 6px;font-family:Courier New,monospace;font-size:.9em}.lesson-content[data-v-5745829a] pre{background:var(--surface-muted);border-radius:6px;padding:12px;overflow-x:auto}.lesson-content[data-v-5745829a] pre code{background:0 0;padding:0}.lesson-content[data-v-5745829a] blockquote{border-left:4px solid var(--accent-orange,#ff9800);background:var(--warning-bg);border-radius:0 6px 6px 0;margin:12px 0;padding:8px 14px}.lesson-content[data-v-5745829a] blockquote p{margin:4px 0}.lesson-content[data-v-5745829a] table{border-collapse:collapse;margin:12px 0}.lesson-content[data-v-5745829a] th,.lesson-content[data-v-5745829a] td{border:1px solid var(--border);text-align:left;padding:6px 10px}.lesson-content[data-v-5745829a] img{max-width:100%;height:auto;margin:12px auto;display:block}.lesson-content[data-v-5745829a] details{border:1px dashed var(--brand-text);background:var(--surface-tint);border-radius:6px;margin:12px 0;padding:10px 14px}.lesson-content[data-v-5745829a] summary{color:var(--brand-text);cursor:pointer;font-weight:600}.lesson-content[data-v-5745829a] .variante{display:none}.modus-bloecke .lesson-content[data-v-5745829a] .variante-bloecke,.modus-python .lesson-content[data-v-5745829a] .variante-python,.modus-javascript .lesson-content[data-v-5745829a] .variante-javascript{display:block}.lesson-content[data-v-5745829a] .mc-blocks{background:var(--surface-muted);border-radius:6px;margin:12px 0;padding:12px;overflow-x:auto}.lesson-content[data-v-5745829a] .mc-block{color:#fff;white-space:nowrap;background:#1e90ff;border-radius:6px;width:fit-content;margin-top:3px;padding:6px 12px;font-size:.9em;font-weight:600}.lesson-content[data-v-5745829a] .mc-grundlagen{background:#1e90ff}.lesson-content[data-v-5745829a] .mc-eingabe{background:#d400d4}.lesson-content[data-v-5745829a] .mc-schleifen{background:#0a0}.lesson-content[data-v-5745829a] .mc-logik{background:#00a4a6}.lesson-content[data-v-5745829a] .mc-variablen{background:#dc143c}.lesson-content[data-v-5745829a] .mc-mathematik{background:#9400d3}.lesson-content[data-v-5745829a] .mc-minicar{background:#aa278d}.lesson-content[data-v-5745829a] .mc-funktionen{background:#3455db}.lesson-content[data-v-5745829a] .mc-musik{background:#e63022}.lesson-content[data-v-5745829a] .mc-pins{background:#b22222}.lesson-content[data-v-5745829a] .mc-funk{background:#e3008c}.lesson-content[data-v-5745829a] .mc-led{background:#5c2d91}.lesson-editor-section[data-v-5745829a]{background:var(--surface-muted);border:2px solid var(--brand-text);border-radius:8px;padding:20px}.editor-hint[data-v-5745829a]{color:var(--text-muted);margin:0 0 12px;font-size:.9em}.guide-task[data-v-5745829a]{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px;line-height:1.4;display:flex}.guide-task-done[data-v-5745829a]{border-color:var(--success-border);background:#eaf7ed}.guide-task-check[data-v-5745829a]{accent-color:#28a745;flex:none;width:22px;height:22px;margin:0}.task-bonus-badge[data-v-5745829a]{background:var(--accent-orange,#ff9800);color:#fff;vertical-align:middle;letter-spacing:.03em;border-radius:10px;margin-right:6px;padding:1px 7px;font-size:.72em;font-weight:700;display:inline-block}.lesson-complete-box[data-v-5745829a]{background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;margin-top:24px;padding:20px}.lesson-summary[data-v-5745829a]{color:var(--success-text);margin:0 0 16px;font-size:1.05em;font-weight:500}.btn-next[data-v-5745829a]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 24px;font-size:15px;font-weight:600}.partner-box[data-v-0b68547f]{border:1px solid var(--border);border-radius:8px;margin-top:16px;padding:12px;font-size:.9em}.partner-hint[data-v-0b68547f]{color:var(--text-muted);margin:0 0 8px}.partner-linked[data-v-0b68547f]{margin:0 0 6px}.partner-names[data-v-0b68547f]{display:block}.partner-form label[data-v-0b68547f]{margin-bottom:8px;display:block}.partner-form label span[data-v-0b68547f]{margin-bottom:2px;display:block}.partner-form input[data-v-0b68547f]{box-sizing:border-box;border:1px solid var(--border-strong);width:100%;font:inherit;border-radius:6px;padding:6px 8px}.partner-error[data-v-0b68547f]{color:var(--danger-text);margin:0 0 8px}.partner-actions[data-v-0b68547f]{flex-wrap:wrap;gap:8px;display:flex}.partner-open[data-v-0b68547f],.partner-submit[data-v-0b68547f],.partner-cancel[data-v-0b68547f],.partner-unlink[data-v-0b68547f]{border:1px solid var(--brand-text);color:var(--brand-text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px}.partner-open[data-v-0b68547f]{width:100%}.partner-submit[data-v-0b68547f]{background:var(--primary-purple);color:#fff}.partner-submit[data-v-0b68547f]:disabled{opacity:.6;cursor:default}.certificate-reveal[data-v-f0c216c6]{text-align:center;background:#fff9e6;border:2px solid #ffe69c;border-radius:12px;margin-top:20px;padding:24px}.certificate-badge[data-v-f0c216c6]{font-size:2.5em}.certificate-reveal h3[data-v-f0c216c6]{color:var(--primary-purple,#4a2274);margin:8px 0 4px}.certificate-name-row[data-v-f0c216c6]{flex-direction:column;align-items:center;gap:4px;margin:14px 0;display:flex}.certificate-name-row input[data-v-f0c216c6]{text-align:center;border:1px solid #dee2e6;border-radius:6px;padding:8px 12px;font-size:1em}.btn-certificate-pdf[data-v-f0c216c6]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:600}.btn-certificate-pdf[data-v-f0c216c6]:disabled{opacity:.6;cursor:default}.certificate-login-hint[data-v-f0c216c6]{color:#6c757d;font-size:.9em}.final-check-pending[data-v-f0c216c6]{color:#6c757d;margin-top:16px;font-style:italic}.progress-count{color:var(--success);font-weight:600}.course-layout{background:var(--surface);border:1px solid var(--border-color,var(--border));border-radius:12px;grid-template-columns:1fr;gap:24px;min-height:500px;padding:24px;display:grid}.progress-bar-full{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px}.progress-bar-full .progress-info{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.95em;display:flex}.progress-info-right{align-items:center;gap:12px;display:flex}.btn-sidebar-toggle{border:1px solid var(--border);cursor:pointer;color:var(--brand-text);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.85em;display:none}.progress-bar-full .progress-track{background:var(--surface-muted);border-radius:4px;height:8px;overflow:hidden}.progress-bar-full .progress-fill{background:linear-gradient(90deg, var(--primary-purple,#4a2274), var(--accent-orange,#ff9800));height:100%;transition:width .3s}.lessons-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px}.lessons-sidebar h3{color:var(--text);margin:0 0 12px;font-size:1em}.lessons-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lesson-item{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;transition:background .2s,border-color .2s;display:flex}.lesson-item:hover:not(.locked){background:var(--surface-muted)}.lesson-item.active{border-color:var(--brand-text);background:#4a227414}.lesson-item.completed{color:var(--success)}.lesson-item.locked{opacity:.5;cursor:not-allowed}.lesson-number{color:var(--brand-text);min-width:18px;font-weight:700}.lesson-title{white-space:nowrap;font-size:.95em}.lesson-check{color:var(--success);font-weight:700}.section-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);flex-basis:100%;margin:10px 0 0;padding:0 4px;font-size:.75em;font-weight:700}.section-header:first-child{margin-top:0}.sidebar-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px;display:flex}.btn-export,.btn-import{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:6px;padding:8px 12px;font-size:.9em}.btn-export:hover,.btn-import:hover{background:var(--surface-muted)}.file-input{display:none}.lesson-main{min-width:0}.no-lesson{background:var(--surface-muted);border:2px dashed var(--border);text-align:center;color:var(--text-muted);border-radius:8px;padding:60px 40px}@media (width<=768px){.course-layout{min-height:unset;gap:16px;padding:16px}.lessons-sidebar{display:none}.lessons-sidebar.sidebar-mobile-open{display:block}.btn-sidebar-toggle{display:inline-flex}}.project-course[data-v-cee29001]{max-width:1200px;margin:0 auto;padding:20px 0}.project-course.project-course-wide[data-v-cee29001]{max-width:1600px}.loading[data-v-cee29001],.error[data-v-cee29001]{text-align:center;padding:40px;font-size:18px}.error[data-v-cee29001]{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px}.js-grundkurs-tour[data-v-b092ba3c]{max-width:1200px;margin:0 auto}.choose-week-title[data-v-b092ba3c]{text-align:center;color:var(--text-muted);margin-bottom:24px}.week-grid[data-v-b092ba3c]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;max-width:900px;margin:0 auto;display:grid}.week-tile[data-v-b092ba3c]{background:var(--surface);border:2px solid var(--brand-text);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;display:flex}.week-tile[data-v-b092ba3c]:hover:not(:disabled){background:var(--surface-tint)}.week-tile.locked[data-v-b092ba3c]{border-color:var(--border);cursor:not-allowed;opacity:.7}.week-tile-number[data-v-b092ba3c]{text-transform:uppercase;letter-spacing:.03em;color:var(--accent-orange,#ff9800);font-size:.8em;font-weight:700}.week-tile.locked .week-tile-number[data-v-b092ba3c]{color:var(--text-faint)}.week-tile-title[data-v-b092ba3c]{color:var(--brand-text);font-weight:600}.week-tile.locked .week-tile-title[data-v-b092ba3c]{color:var(--text-faint)}.week-tile-badge[data-v-b092ba3c]{color:var(--text-faint);font-size:.75em}.weekly-course-tour[data-v-5099060a]{max-width:1200px;margin:0 auto}.choose-week-title[data-v-5099060a]{text-align:center;color:var(--text-muted);margin-bottom:24px}.week-grid[data-v-5099060a]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;max-width:900px;margin:0 auto;display:grid}.week-tile[data-v-5099060a]{background:var(--surface);border:2px solid var(--brand-text);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;display:flex}.week-tile[data-v-5099060a]:hover:not(:disabled){background:var(--surface-tint)}.week-tile.locked[data-v-5099060a]{border-color:var(--border);cursor:not-allowed;opacity:.7}.week-tile-number[data-v-5099060a]{text-transform:uppercase;letter-spacing:.03em;color:var(--accent-orange,#ff9800);font-size:.8em;font-weight:700}.week-tile.locked .week-tile-number[data-v-5099060a]{color:var(--text-faint)}.week-tile-title[data-v-5099060a]{color:var(--brand-text);font-weight:600}.week-tile.locked .week-tile-title[data-v-5099060a]{color:var(--text-faint)}.week-tile-badge[data-v-5099060a]{color:var(--text-faint);font-size:.75em}.weekly-course-check[data-v-5099060a]{max-width:900px;margin:0 auto}.tour-breadcrumb[data-v-5099060a]{color:var(--brand-text-soft);align-items:center;gap:8px;margin-bottom:12px;font-size:.92em;font-weight:600;display:flex}.breadcrumb-back[data-v-5099060a]{font:inherit;color:var(--brand-text-soft);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.breadcrumb-back[data-v-5099060a]:hover,.breadcrumb-week[data-v-5099060a]{color:var(--brand-text)}.certificate-reveal[data-v-5099060a]{background:var(--warning-bg);border:2px solid var(--warning-border);text-align:center;border-radius:12px;margin-top:20px;padding:24px}.certificate-badge[data-v-5099060a]{font-size:2.5em}.certificate-reveal h3[data-v-5099060a]{color:var(--brand-text);margin:8px 0 4px}.certificate-name-row[data-v-5099060a]{flex-direction:column;align-items:center;gap:4px;margin:14px 0;display:flex}.certificate-name-row input[data-v-5099060a]{border:1px solid var(--border);text-align:center;border-radius:6px;padding:8px 12px;font-size:1em}.btn-certificate-pdf[data-v-5099060a]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:600}.btn-certificate-pdf[data-v-5099060a]:disabled{opacity:.6;cursor:default}.certificate-login-hint[data-v-5099060a]{color:var(--text-muted);font-size:.9em}.tour-check-pending[data-v-5099060a]{color:var(--text-muted);margin-top:16px;font-style:italic}.after-check-choice[data-v-5099060a]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.after-check-tile[data-v-5099060a]{background:var(--surface);border:2px solid var(--border-tint);cursor:pointer;font:inherit;color:var(--brand-text);border-radius:10px;padding:10px 18px;font-weight:600}.after-check-tile[data-v-5099060a]:hover{border-color:var(--brand-text);background:var(--surface-tint)}.stufe-selector[data-v-5ddc0857]{text-align:center;padding:40px 20px}.stufe-selector h2[data-v-5ddc0857]{margin-bottom:8px;font-size:1.6em}.stufe-intro[data-v-5ddc0857]{color:var(--text-muted);margin-bottom:32px}.stufe-cards[data-v-5ddc0857]{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.stufe-card[data-v-5ddc0857]{border:2px solid var(--border);background:var(--surface);cursor:pointer;text-align:center;width:260px;font:inherit;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;transition:all .15s;display:flex;box-shadow:0 1px 2px #0000000a}.stufe-card[data-v-5ddc0857]:hover{border-color:var(--border-tint);background:var(--surface-tint);transform:translateY(-2px);box-shadow:0 4px 10px #4a22741f}.stufe-icon[data-v-5ddc0857]{font-size:2.4em}.stufe-card strong[data-v-5ddc0857]{color:var(--text-strong);font-size:1.1em}.stufe-age[data-v-5ddc0857]{color:var(--text-faint);font-size:.85em}.stufe-features[data-v-5ddc0857]{text-align:left;color:var(--text-muted);margin:8px 0 0;padding:0;font-size:.88em;list-style:none}.stufe-features li[data-v-5ddc0857]:before{content:"✓ ";color:var(--brand-text);font-weight:700}.stufe-bar[data-v-5ddc0857]{background:var(--surface-tint);border:1px solid var(--border-tint);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;max-width:1320px;margin:0 auto 16px;padding:10px 14px;display:flex}.btn-change-stufe[data-v-5ddc0857]{color:var(--brand-text);border:1px solid var(--border-tint);cursor:pointer;font:inherit;background:0 0;border-radius:6px;padding:6px 14px;font-size:.9em}.btn-change-stufe[data-v-5ddc0857]:hover{background:var(--surface)}.beta-hint[data-v-56bd5910]{color:var(--warning-text);margin:-.4em 0 1em;font-size:.95em}.course-detail[data-v-56bd5910]{padding:20px}.btn-start-course[data-v-56bd5910]{background:var(--primary-purple,#4a2274);color:#fff;cursor:pointer;border:none;border-radius:10px;margin:28px auto 0;padding:16px 32px;font-size:1.15em;font-weight:700;transition:background .15s,transform .15s;display:block}.btn-start-course[data-v-56bd5910]:hover{background:#3d1b5c;transform:translateY(-1px)}.btn-back-to-overview[data-v-56bd5910]{color:var(--brand-text);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:4px 0;font-size:.9em;font-weight:600}.btn-back-to-overview[data-v-56bd5910]:hover{text-decoration:underline}.interactive-course-wrapper[data-v-56bd5910],.project-course-wrapper[data-v-56bd5910],.grundkurs-tour-wrapper[data-v-56bd5910],.placement-course-wrapper[data-v-56bd5910]{margin-top:20px;overflow:visible}.course-description[data-v-56bd5910]{margin-bottom:40px;font-size:1.1em}.placement-banner[data-v-56bd5910]{background:#f0f4ff;border:2px solid #6c8ebf;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 0;padding:14px 16px;display:flex}.placement-banner p[data-v-56bd5910]{color:#334;flex:1;margin:0;font-size:.95em;line-height:1.4}.placement-banner-link[data-v-56bd5910]{background:var(--primary-purple,#4a2274);color:#fff;white-space:nowrap;border-radius:6px;padding:8px 14px;font-size:.9em;font-weight:600;text-decoration:none}.placement-banner-link[data-v-56bd5910]:hover{background:#3d1b5c}.course-structure[data-v-56bd5910]{margin-top:8px}.course-structure-intro[data-v-56bd5910]{color:var(--text-muted);margin-bottom:16px;font-size:.95em}.course-structure-tabs[data-v-56bd5910]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.course-structure-tab[data-v-56bd5910]{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.course-structure-icon[data-v-56bd5910]{flex-shrink:0;font-size:1.5em;line-height:1.2}.course-structure-text[data-v-56bd5910]{flex-direction:column;gap:2px;display:flex}.course-structure-text strong[data-v-56bd5910]{color:var(--text-strong);font-size:.95em}.course-structure-text span[data-v-56bd5910]{color:var(--text-muted);font-size:.82em;line-height:1.4}.course-structure-reference[data-v-56bd5910]{color:var(--text-muted);margin:14px 0 0;font-size:.85em;font-style:italic}.projekte-view[data-v-237d7e2c]{max-width:1200px;margin:0 auto;padding:20px}#projekte-hero[data-v-237d7e2c]{margin-bottom:24px}.projekte-filters[data-v-237d7e2c]{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:18px 20px}.filters-header[data-v-237d7e2c]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.filters-title[data-v-237d7e2c]{color:var(--brand-text);margin:0;font-size:1em}.filter-grid[data-v-237d7e2c]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px 28px;display:grid}.filter-group-wide[data-v-237d7e2c]{grid-column:1/-1}.filter-group[data-v-237d7e2c]{flex-direction:column;gap:8px;display:flex}.filter-label[data-v-237d7e2c]{color:var(--text-muted);font-size:.85em;font-weight:600}.filter-chips[data-v-237d7e2c]{flex-wrap:wrap;gap:6px;display:flex}.filter-chip[data-v-237d7e2c]{border:1px solid var(--border-color,var(--border-strong));background:var(--surface);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.85em;transition:background .2s,color .2s,border-color .2s}.filter-chip[data-v-237d7e2c]:hover{border-color:var(--brand-text)}.filter-chip.active[data-v-237d7e2c]{background:var(--primary-purple,#4a2274);border-color:var(--brand-text);color:#fff}.filter-reset[data-v-237d7e2c]{color:var(--accent-orange,#fb8c00);cursor:pointer;background:0 0;border:none;padding:5px 0;font-size:.85em;font-weight:600}.filter-reset[data-v-237d7e2c]:hover{text-decoration:underline}.projekte-count[data-v-237d7e2c]{color:var(--text-muted);margin:0 0 16px;font-size:.9em}.projekte-empty[data-v-237d7e2c]{color:var(--text-muted);padding:20px 0}.projekt-card[data-v-237d7e2c]{color:inherit;text-decoration:none;display:block}.projekt-badges[data-v-237d7e2c]{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.badge[data-v-237d7e2c]{border-radius:999px;padding:3px 10px;font-size:.78em;font-weight:600;display:inline-block}.badge-language[data-v-237d7e2c]{color:#075985;background:#e0f2fe}.badge-level[data-v-237d7e2c]{background:var(--warning-bg);color:var(--warning-text)}.badge-duration[data-v-237d7e2c]{background:var(--surface-tint);color:var(--brand-text)}.projekt-tags[data-v-237d7e2c]{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.tag-chip[data-v-237d7e2c]{background:var(--surface-muted);color:var(--text-muted);border-radius:6px;padding:2px 8px;font-size:.78em}.projekt-lessons[data-v-237d7e2c]{color:var(--text-muted);margin:8px 0 12px;font-size:.85em}.profil-view[data-v-2ac2b3b6]{max-width:900px;margin:0 auto;padding:20px}.profil-login-required[data-v-2ac2b3b6]{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:20px}.profil-greeting[data-v-2ac2b3b6]{color:var(--text);margin-bottom:32px;font-size:1.1em}.profil-badges h2[data-v-2ac2b3b6]{margin-bottom:4px}.profil-badges-hint[data-v-2ac2b3b6]{color:var(--text-muted);margin:0 0 20px;font-size:.9em}.profil-loading[data-v-2ac2b3b6]{color:var(--text-muted)}.badge-grid[data-v-2ac2b3b6]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.badge-card[data-v-2ac2b3b6]{background:var(--surface-muted);border:1px solid var(--border);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;transition:border-color .15s,transform .15s;display:flex}.badge-card-link[data-v-2ac2b3b6]{flex-direction:column;align-items:center;gap:6px;width:100%;text-decoration:none;display:flex}.badge-card[data-v-2ac2b3b6]:hover{border-color:var(--brand-text);transform:translateY(-2px)}.badge-card.earned[data-v-2ac2b3b6]{background:var(--celebrate-bg);border-color:gold}.badge-icon[data-v-2ac2b3b6]{font-size:2.2em}.badge-title[data-v-2ac2b3b6]{color:var(--text);font-size:.95em;font-weight:600}.badge-status[data-v-2ac2b3b6]{color:var(--text-muted);font-size:.8em}.badge-card.earned .badge-status[data-v-2ac2b3b6]{color:#8a6d00;font-weight:600}.profil-certificates[data-v-2ac2b3b6]{margin-top:40px}.profil-certificates h2[data-v-2ac2b3b6]{margin-bottom:4px}.profil-certificates-hint[data-v-2ac2b3b6]{color:var(--text-muted);margin:0 0 20px;font-size:.9em}.cert-course-block[data-v-2ac2b3b6]{margin-bottom:28px}.cert-course-title[data-v-2ac2b3b6]{color:var(--text);align-items:center;gap:10px;margin:0 0 12px;font-size:1em;display:flex}.cert-course-count[data-v-2ac2b3b6]{color:var(--brand-text);background:#f3ecfe;border-radius:999px;padding:2px 10px;font-size:.8em;font-weight:600}.certificate-name-field[data-v-2ac2b3b6]{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 20px;display:flex}.certificate-name-field label[data-v-2ac2b3b6]{color:var(--text-muted);font-size:.9em;font-weight:600}.certificate-name-field input[data-v-2ac2b3b6]{border:1px solid var(--border);border-radius:6px;flex:1;min-width:180px;max-width:320px;padding:8px 10px;font-size:.9em}.btn-certificate-pdf[data-v-2ac2b3b6]{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;margin-top:2px;padding:6px 10px;font-size:.75em}.btn-certificate-pdf[data-v-2ac2b3b6]:hover:not(:disabled){background:#6d28d9}.btn-certificate-pdf[data-v-2ac2b3b6]:disabled{opacity:.6;cursor:default}.teaser[data-v-9cbba013]{color:#fff;background:#0d1117;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;font-family:Segoe UI,system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}.teaser[data-v-9cbba013]:before{content:"";background-image:linear-gradient(#29396d2e 1px,#0000 1px),linear-gradient(90deg,#29396d2e 1px,#0000 1px);background-size:60px 60px;animation:20s linear infinite gridMove-9cbba013;position:absolute;inset:0}@keyframes gridMove-9cbba013{0%{background-position:0 0}to{background-position:60px 60px}}.blob[data-v-9cbba013]{filter:blur(120px);opacity:.25;border-radius:50%;animation:6s ease-in-out infinite blobPulse-9cbba013;position:absolute}.blob-1[data-v-9cbba013]{background:#29396d;width:600px;height:600px;top:-150px;left:-150px}.blob-2[data-v-9cbba013]{background:#ef533a;width:500px;height:500px;animation-delay:3s;bottom:-100px;right:-100px}@keyframes blobPulse-9cbba013{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.35;transform:scale(1.15)}}.code-float[data-v-9cbba013]{color:#ef533a33;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;font-family:Courier New,monospace;font-size:15px;animation:linear infinite floatUp-9cbba013;position:absolute}@keyframes floatUp-9cbba013{0%{opacity:0;transform:translateY(0)}10%{opacity:1}90%{opacity:.15}to{opacity:0;transform:translateY(-110vh)}}.content[data-v-9cbba013]{z-index:10;flex-direction:column;align-items:center;display:flex;position:relative}.logo-wrap[data-v-9cbba013]{margin-bottom:36px;animation:1s ease-out both fadeDown-9cbba013}.logo-wrap img[data-v-9cbba013]{filter:drop-shadow(0 8px 32px #ef533a59);width:auto;height:clamp(120px,18vh,200px)}.chip[data-v-9cbba013]{color:#ef533a;letter-spacing:4px;text-transform:uppercase;background:#ef533a26;border:1px solid #ef533a80;border-radius:100px;margin-bottom:28px;padding:8px 28px;font-size:clamp(14px,1.5vw,18px);font-weight:600;animation:1s ease-out .2s both fadeDown-9cbba013}h1[data-v-9cbba013]{text-align:center;letter-spacing:-3px;margin:0;font-size:clamp(72px,9vw,130px);font-weight:900;line-height:1;animation:1s ease-out .4s both fadeDown-9cbba013}.ue[data-v-9cbba013]{color:#fff}.gangs[data-v-9cbba013]{color:#ffffff4d}.hacker[data-v-9cbba013]{color:#ef533a}.divider[data-v-9cbba013]{background:#ef533a;border-radius:2px;width:120px;height:4px;margin:32px 0;animation:1s ease-out .7s both grow-9cbba013}@keyframes grow-9cbba013{0%{opacity:0;width:0}to{opacity:1;width:120px}}.tagline[data-v-9cbba013]{color:#ffffffbf;text-align:center;font-size:clamp(22px,2.5vw,36px);font-weight:300;line-height:1.5;animation:1s ease-out .8s both fadeUp-9cbba013}.tagline strong[data-v-9cbba013]{color:#fff;font-weight:600}.cta[data-v-9cbba013]{align-items:center;gap:20px;margin-top:44px;animation:1s ease-out 1.1s both fadeUp-9cbba013;display:flex}.cta-arrow[data-v-9cbba013]{color:#ef533a;font-size:28px;animation:1.5s ease-in-out infinite bounce-9cbba013}@keyframes bounce-9cbba013{0%,to{transform:translate(0)}50%{transform:translate(8px)}}.cta-text[data-v-9cbba013]{letter-spacing:.5px;font-size:clamp(20px,2.2vw,30px);font-weight:700}.bottom-bar[data-v-9cbba013]{background:linear-gradient(90deg,#29396d,#ef533a,#29396d) 0 0/200% 100%;height:5px;animation:4s linear infinite shimmer-9cbba013;position:absolute;bottom:0;left:0;right:0}@keyframes shimmer-9cbba013{0%{background-position:0 0}to{background-position:200% 0}}@keyframes fadeDown-9cbba013{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp-9cbba013{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stats-toolbar[data-v-87fe17d0]{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 16px;display:flex}.stats-filter[data-v-87fe17d0]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;flex:200px;padding:8px 10px}.stats-min[data-v-87fe17d0]{align-items:center;gap:6px;display:flex}.btn-secondary[data-v-87fe17d0]{cursor:pointer;background:var(--surface-muted);color:var(--text);border:none;border-radius:6px;padding:10px 16px;font-weight:600}.btn-link[data-v-87fe17d0]{color:var(--brand-text);cursor:pointer;background:0 0;border:none;padding:0}.stats-table[data-v-87fe17d0]{border-collapse:collapse;background:var(--surface);width:100%}.stats-table th[data-v-87fe17d0],.stats-table td[data-v-87fe17d0]{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.stats-course[data-v-87fe17d0]{color:var(--text-muted);font-size:.85em}.few-kids[data-v-87fe17d0]{opacity:.55}.muted[data-v-87fe17d0]{color:var(--text-muted)}.error[data-v-87fe17d0]{color:var(--danger-text);background:var(--danger-bg);border-radius:6px;padding:8px 10px}.admin-page[data-v-d2d8ca7b]{max-width:900px;margin:0 auto;padding:24px 20px 48px}.admin-intro[data-v-d2d8ca7b]{color:var(--text-muted);margin:0 0 20px}.admin-login-card[data-v-d2d8ca7b],.modal-card[data-v-d2d8ca7b]{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:420px;max-height:calc(100vh - 32px);padding:20px;overflow-y:auto}.field[data-v-d2d8ca7b]{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field input[data-v-d2d8ca7b],.field select[data-v-d2d8ca7b]{border:1px solid var(--border-strong);border-radius:6px;padding:10px 12px;font-size:1em}.admin-toolbar[data-v-d2d8ca7b]{gap:10px;margin-bottom:16px;display:flex}.admin-tabs[data-v-d2d8ca7b]{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.admin-tab[data-v-d2d8ca7b]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-weight:600}.admin-tab.active[data-v-d2d8ca7b]{color:var(--brand-text);border-bottom-color:var(--brand-text)}.field-row[data-v-d2d8ca7b]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.termin-vorschlag[data-v-d2d8ca7b]{margin:-8px 0 14px;font-size:.9em}.termin-ort-entfernen[data-v-d2d8ca7b]{margin:-6px 0 14px;padding:0}.termin-preview[data-v-d2d8ca7b]{margin:0 0 14px;font-weight:600}.field-checkbox[data-v-d2d8ca7b]{flex-direction:row;align-items:center;gap:8px}.field-checkbox input[data-v-d2d8ca7b]{width:auto}.badge[data-v-d2d8ca7b]{border-radius:999px;margin-right:6px;padding:2px 8px;font-size:.8em;font-weight:600;display:inline-block}.badge-cancelled[data-v-d2d8ca7b]{background:var(--danger-bg);color:var(--danger-text)}.badge-unlisted[data-v-d2d8ca7b]{background:var(--surface-muted);color:var(--text-muted);margin-right:6px}.badge-recurring[data-v-d2d8ca7b]{color:#1a5fb4;background:#eaf3fd}.btn-primary[data-v-d2d8ca7b],.btn-secondary[data-v-d2d8ca7b]{cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-weight:600}.btn-primary[data-v-d2d8ca7b]{background:var(--primary-purple,#4a2274);color:#fff}.btn-secondary[data-v-d2d8ca7b]{background:var(--surface-muted);color:var(--text)}.btn-primary[data-v-d2d8ca7b]:disabled{opacity:.6;cursor:not-allowed}.admin-table[data-v-d2d8ca7b]{border-collapse:collapse;background:var(--surface);width:100%}.admin-table th[data-v-d2d8ca7b],.admin-table td[data-v-d2d8ca7b]{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.actions[data-v-d2d8ca7b]{white-space:nowrap}.btn-link[data-v-d2d8ca7b]{color:var(--brand-text);cursor:pointer;background:0 0;border:none;margin-right:10px;padding:0;font-weight:600}.btn-link.danger[data-v-d2d8ca7b]{color:var(--danger-text)}.error[data-v-d2d8ca7b]{color:var(--danger-text);background:var(--danger-bg);border-radius:6px;padding:8px 10px}.muted[data-v-d2d8ca7b]{color:var(--text-muted)}.reset-result[data-v-d2d8ca7b]{background:#eef7ee;border:1px solid #b7dfb9;border-radius:6px;margin-bottom:14px;padding:10px 12px}.reset-result p[data-v-d2d8ca7b]{margin:0 0 6px}.temp-password[data-v-d2d8ca7b]{-webkit-user-select:all;user-select:all;margin-left:6px;font-family:monospace;font-size:1.25em}.must-change-badge[data-v-d2d8ca7b]{background:var(--warning-bg);color:var(--warning-text);border-radius:10px;margin-left:6px;padding:1px 6px;font-size:.78em;font-weight:600;display:inline-block}.modal-backdrop[data-v-d2d8ca7b]{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-actions[data-v-d2d8ca7b]{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary-purple:#4a2274;--accent-yellow:#fdd835;--accent-orange:#ff9800;--accent-blue:#03a9f4;--text-light:#fdf8e1;--bg-page:#f4f6f8;--surface:#fff;--surface-muted:#f8f9fa;--surface-tint:#f7f1fb;--text:#333;--text-strong:#222;--text-muted:#666;--text-faint:#888;--border:#dee2e6;--border-strong:#ccc;--border-tint:#d9c7ea;--brand-text:#4a2274;--brand-text-soft:#7c5a94;--success-bg:#d4edda;--success-text:#155724;--success-border:#c3e6cb;--success:#28a745;--danger-bg:#f8d7da;--danger-text:#721c24;--danger-border:#f5c6cb;--danger:#dc3545;--warning-bg:#fff3cd;--warning-text:#664d03;--warning-border:#ffe69c;--code-bg:#f4f4f4;--shadow:#0000001a;--backdrop:#14141473;--celebrate-bg:linear-gradient(135deg, #fef9e7 0%, #fdebd0 100%);--cm-keyword:#708;--cm-string:#a11;--cm-number:#164;--cm-comment:#940;--cm-def:#00f;--cm-builtin:#219;--cm-active-line:#cef4;--cm-selection:#d9d9d9;--text-dark:var(--text);--background-light:var(--bg-page);--white:var(--surface);--border-color:var(--border)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-page:#15121b;--surface:#1f1a27;--surface-muted:#262030;--surface-tint:#2c2238;--text:#e6e1ec;--text-strong:#f3eff7;--text-muted:#b5adc0;--text-faint:#8f879b;--border:#3a3346;--border-strong:#514860;--border-tint:#4e3a66;--brand-text:#cdaef0;--brand-text-soft:#b49ad0;--success-bg:#173a24;--success-text:#9be0b2;--success-border:#2c5c3c;--success:#3ec466;--danger-bg:#3e1d22;--danger-text:#f4a9b0;--danger-border:#6e2f38;--danger:#f06272;--warning-bg:#3a3014;--warning-text:#f0d27a;--warning-border:#6a5520;--code-bg:#2a2433;--shadow:#00000073;--backdrop:#000000a6;--celebrate-bg:linear-gradient(135deg, #3a3014 0%, #3d2a17 100%);--cm-keyword:#d19bf7;--cm-string:#f3a37c;--cm-number:#8fd6a0;--cm-comment:#a89a7c;--cm-def:#82b8ff;--cm-builtin:#79d4e8;--cm-active-line:#ffffff0d;--cm-selection:#4a3d63}body{background-color:var(--background-light);color:var(--text-dark);margin:0;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}#app-container{flex-direction:column;min-height:100vh;display:flex}.app-header{background-color:var(--primary-purple);color:var(--text-light);justify-content:space-between;align-items:center;padding:15px 30px;display:flex;box-shadow:0 2px 10px #0000001a}.header-title{align-items:center;gap:15px;display:flex}.header-logo{width:auto;height:50px}.app-header h1{color:var(--text-light);margin:0;font-size:2.2em;font-weight:900}.app-header nav a{color:var(--text-light);margin:0 15px;font-size:1.1em;font-weight:700;text-decoration:none;transition:color .3s}.app-header nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 0;display:flex}.app-header nav a:hover,.app-header nav a.router-link-exact-active{color:var(--accent-yellow)}.header-title-link{text-decoration:none}.app-main{box-sizing:border-box;flex-grow:1;width:100%;max-width:1100px;margin:0 auto;padding:40px 20px}.app-main:has(.with-workspace){max-width:1500px}.app-main section{background-color:var(--surface);box-sizing:border-box;border-radius:12px;width:100%;margin-bottom:40px;padding:30px;box-shadow:0 4px 15px #00000012}.app-main h1,.app-main h2,.app-main h3{font-family:Nunito,sans-serif;font-weight:900}.app-main h2{color:var(--brand-text);border-bottom:3px solid var(--accent-yellow);margin-bottom:25px;padding-bottom:10px;font-size:2em}#hero{text-align:center;box-shadow:none;background-color:#0000}#hero h2{color:var(--text-dark);border-bottom:none;font-size:2.5em}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:15px;margin-top:20px;display:flex}.cta-button{background-color:var(--accent-orange);color:#fff;border-radius:25px;padding:15px 30px;font-size:1.1em;font-weight:700;text-decoration:none;transition:background-color .3s,transform .2s;display:inline-block;box-shadow:0 4px 10px #0000001a}.cta-button:hover{background-color:#fb8c00;transform:translateY(-2px)}.cta-button-secondary{background-color:var(--primary-purple)}.cta-button-secondary:hover{background-color:#3d1b5c}.course-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;display:grid}.course-card{border:1px solid var(--border-color);background-color:var(--surface-muted);border-radius:12px;padding:25px;transition:transform .3s,box-shadow .3s}.course-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.course-card h3{color:var(--brand-text);margin-top:0}.course-link{color:var(--accent-orange);font-weight:700;text-decoration:none;transition:color .3s}.course-link:hover{color:#fb8c00}.termine-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;display:grid}.termin-link{color:inherit;flex-direction:column;text-decoration:none;display:flex}.termin-card{background-color:var(--surface-muted);border:1px solid var(--border-color);border-radius:12px;flex-grow:1;padding:25px;transition:transform .3s,box-shadow .3s}.termin-link:hover .termin-card{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.termin-card h3{color:var(--brand-text);margin-top:0;font-size:1.2em}.termin-card p{margin-bottom:5px}.termin-card.cancelled{color:var(--danger-text);text-decoration:line-through}.cancelled-text{color:var(--danger-text);font-weight:700}.app-footer{text-align:center;background-color:var(--primary-purple);color:var(--text-light);margin-top:40px;padding:30px 20px;font-size:1em}@media (width<=768px){.app-header{flex-direction:column;gap:15px;padding:15px}.app-header h1{font-size:1.8em}.app-header nav{margin-top:10px}.app-main{padding:20px 15px}.app-main h2{font-size:1.8em}#hero h2{font-size:2em}}
