.login-page[data-v-a0d57181]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.login-content[data-v-a0d57181]{display:flex;flex-direction:column;align-items:center;gap:28px;width:100%;max-width:400px;animation:slideUp-a0d57181 .5s cubic-bezier(.16,1,.3,1) both}.brand[data-v-a0d57181]{font-size:clamp(2rem,9vw,3rem);font-weight:800;letter-spacing:-1.5px;line-height:1;display:flex;align-items:baseline;gap:10px}.brand-q[data-v-a0d57181]{background:linear-gradient(135deg,var(--text) 30%,var(--accent-fg-dim));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px var(--accent-glow))}.brand-rest[data-v-a0d57181]{color:var(--text)}.brand-tag[data-v-a0d57181]{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-fg-dim);padding:3px 8px;background:var(--accent-soft-strong);border:1px solid var(--accent-border);border-radius:6px;margin-bottom:4px}.card[data-v-a0d57181]{width:100%;padding:32px;display:flex;flex-direction:column;gap:22px}.card-header[data-v-a0d57181]{display:flex;align-items:center;gap:14px}.card-icon[data-v-a0d57181]{color:var(--accent-fg-dim);flex-shrink:0}.eyebrow[data-v-a0d57181]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:0 0 3px}h2[data-v-a0d57181]{font-size:1.2rem;font-weight:700;color:var(--text);margin:0}.hint[data-v-a0d57181]{font-size:.88rem;color:var(--text-muted);line-height:1.5;margin:0}.divider[data-v-a0d57181]{display:flex;align-items:center;gap:12px;color:var(--text-faint);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.divider[data-v-a0d57181]:before,.divider[data-v-a0d57181]:after{content:"";flex:1;height:1px;background:var(--border)}.embedded-form[data-v-a0d57181]{display:flex;flex-direction:column;gap:14px}.field[data-v-a0d57181]{display:flex;flex-direction:column;gap:6px}.field label[data-v-a0d57181]{font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em}.field input[data-v-a0d57181]{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.9rem;box-sizing:border-box}.field input[data-v-a0d57181]:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.submit-btn[data-v-a0d57181]{width:100%;padding:14px;font-size:.95rem;font-weight:700;border-radius:10px;background:var(--accent-grad);color:var(--text-on-accent);border:none;cursor:pointer;transition:transform .15s,box-shadow .2s;box-shadow:0 4px 20px var(--accent-glow);display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.submit-btn[data-v-a0d57181]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 28px var(--accent-glow)}.submit-btn[data-v-a0d57181]:disabled{background:var(--surface-3);color:var(--text-faint);box-shadow:none}.spinner[data-v-a0d57181]{width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-a0d57181 .7s linear infinite;display:inline-block}.error-msg[data-v-a0d57181]{padding:10px 14px;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-fg);border-radius:8px;font-size:.85rem;text-align:center}@keyframes slideUp-a0d57181{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-a0d57181{to{transform:rotate(360deg)}}.callback-page[data-v-30449a7c]{min-height:100vh;display:flex;align-items:center;justify-content:center}.spinner[data-v-30449a7c]{width:36px;height:36px;border:3px solid var(--surface-3);border-top-color:var(--accent-fg-dim);border-radius:50%;animation:spin-30449a7c .8s linear infinite;display:block}@keyframes spin-30449a7c{to{transform:rotate(360deg)}}.course-card[data-v-87d7e960]{padding:20px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:transform .3s var(--ease-spring),box-shadow .3s ease,border-color .2s;transform:perspective(800px) rotateX(1deg);will-change:transform}.course-card[data-v-87d7e960]:hover{transform:perspective(800px) rotateX(0) translateY(-4px) scale(1.01);box-shadow:0 16px 48px var(--accent-glow),0 0 0 1px var(--border-strong)}.card-top[data-v-87d7e960]{display:flex;align-items:center;justify-content:space-between;gap:8px}.pill[data-v-87d7e960]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:3px 9px;border-radius:20px}.pill.beginner[data-v-87d7e960]{background:var(--success-bg);color:var(--success-fg);border:1px solid var(--success-border)}.pill.intermediate[data-v-87d7e960]{background:var(--warning-bg);color:var(--warning-fg);border:1px solid var(--warning-border)}.pill.advanced[data-v-87d7e960]{background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-border)}.card-actions[data-v-87d7e960]{display:flex;gap:2px;opacity:0;transition:opacity .2s}.course-card:hover .card-actions[data-v-87d7e960]{opacity:1}.btn-icon[data-v-87d7e960]{background:transparent;color:var(--text-muted);border:none;padding:5px;border-radius:6px;cursor:pointer;display:flex;transition:color .15s,background .15s}.btn-icon[data-v-87d7e960]:hover{color:var(--text);background:var(--surface-3)}.btn-icon.danger[data-v-87d7e960]:hover{color:var(--danger-fg);background:var(--danger-bg)}.title[data-v-87d7e960]{font-size:1rem;font-weight:700;color:var(--text);line-height:1.3}.objectives[data-v-87d7e960]{font-size:.82rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.objectives[data-v-87d7e960] p{margin:0}.objectives[data-v-87d7e960] p+p{margin-top:.3em}.objectives[data-v-87d7e960] ul,.objectives[data-v-87d7e960] ol{margin:0;padding-left:1.1em}.objectives[data-v-87d7e960] strong{color:var(--text);font-weight:600}.card-footer[data-v-87d7e960]{display:flex;gap:14px;margin-top:4px}.meta[data-v-87d7e960]{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--text-faint);font-weight:500}.overlay[data-v-75022e28]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal[data-v-75022e28]{width:100%;max-width:520px;padding:28px;display:flex;flex-direction:column;gap:20px}.modal-header[data-v-75022e28]{display:flex;align-items:center;justify-content:space-between}.modal-header h3[data-v-75022e28]{font-size:1.1rem;font-weight:700;color:var(--text)}.btn-icon[data-v-75022e28]{background:transparent;color:var(--text-muted);border:none;padding:4px;border-radius:6px;cursor:pointer;display:flex;transition:color .2s,background .2s}.btn-icon[data-v-75022e28]:hover{color:var(--text);background:var(--surface-hover)}form[data-v-75022e28]{display:flex;flex-direction:column;gap:16px}.row[data-v-75022e28]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field[data-v-75022e28]{display:flex;flex-direction:column;gap:6px}.field label[data-v-75022e28]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.required[data-v-75022e28]{color:var(--danger-fg)}textarea[data-v-75022e28]{resize:vertical;min-height:80px}.actions[data-v-75022e28]{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.btn-ghost[data-v-75022e28]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:10px 18px}.btn-ghost[data-v-75022e28]:hover{background:var(--surface-hover);color:var(--text)}.spinner[data-v-75022e28]{width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-75022e28 .7s linear infinite;display:inline-block}.error-msg[data-v-75022e28]{padding:10px 14px;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-fg);border-radius:8px;font-size:.85rem}.modal-enter-active[data-v-75022e28],.modal-leave-active[data-v-75022e28]{transition:opacity .25s var(--ease-smooth)}.modal-enter-active .modal[data-v-75022e28],.modal-leave-active .modal[data-v-75022e28]{transition:transform .3s var(--ease-spring),opacity .25s var(--ease-smooth)}.modal-enter-from[data-v-75022e28],.modal-leave-to[data-v-75022e28]{opacity:0}.modal-enter-from .modal[data-v-75022e28]{transform:scale(.92) translateY(16px)}.modal-leave-to .modal[data-v-75022e28]{transform:scale(.95) translateY(8px)}@keyframes spin-75022e28{to{transform:rotate(360deg)}}.theme-switcher[data-v-89f30988]{display:flex;align-items:center;gap:8px}.mode-toggle[data-v-89f30988]{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.mode-toggle[data-v-89f30988]:hover{background:var(--surface-hover);color:var(--text)}.theme-select-wrap[data-v-89f30988]{position:relative;display:flex;align-items:center}.theme-select-icon[data-v-89f30988]{position:absolute;left:9px;color:var(--text-faint);pointer-events:none}.theme-select[data-v-89f30988]{width:auto;padding:7px 10px 7px 28px;font-size:.8rem;font-weight:600;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer}.theme-select[data-v-89f30988]:hover{background:var(--surface-hover);color:var(--text)}.is-compact .mode-toggle[data-v-89f30988]{padding:5px;border-radius:6px}.is-compact .theme-select[data-v-89f30988]{padding:4px 8px 4px 24px;font-size:.72rem}.is-compact .theme-select-icon[data-v-89f30988]{left:7px}.page[data-v-d4670d2c]{min-height:100vh;display:flex;flex-direction:column}.topbar[data-v-d4670d2c]{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 28px;border-radius:0;border-left:none;border-right:none;border-top:none}.brand[data-v-d4670d2c]{display:flex;align-items:center;gap:9px}.brand-icon[data-v-d4670d2c]{color:var(--accent-fg-dim)}.brand-name[data-v-d4670d2c]{font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.3px}.brand-tag[data-v-d4670d2c]{color:var(--accent-fg-dim);font-weight:700}.topbar-actions[data-v-d4670d2c]{display:flex;align-items:center;gap:8px}.btn-primary[data-v-d4670d2c]{background:var(--accent-grad);color:var(--text-on-accent);padding:8px 16px;font-size:.83rem;border-radius:8px;display:flex;align-items:center;gap:6px;box-shadow:0 2px 12px var(--accent-glow);transition:transform .15s,box-shadow .2s}.btn-primary[data-v-d4670d2c]:hover{transform:translateY(-1px);box-shadow:0 4px 18px var(--accent-glow)}.btn-ghost[data-v-d4670d2c]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:8px 14px;font-size:.83rem;border-radius:8px;display:flex;align-items:center;gap:6px;transition:background .2s,color .2s}.btn-ghost[data-v-d4670d2c]:hover{background:var(--surface-hover);color:var(--text)}.content[data-v-d4670d2c]{flex:1;padding:32px 28px;max-width:1100px;margin:0 auto;width:100%}.state-msg[data-v-d4670d2c]{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 20px;color:var(--text-muted)}.spinner-large[data-v-d4670d2c]{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent-fg-dim);border-radius:50%;animation:spin-d4670d2c .8s linear infinite}.empty-icon[data-v-d4670d2c]{color:var(--accent-fg-dim);opacity:.5}.empty-title[data-v-d4670d2c]{font-size:1.1rem;font-weight:700;color:var(--text)}.empty-sub[data-v-d4670d2c]{font-size:.88rem;color:var(--text-muted)}.grid[data-v-d4670d2c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.overlay[data-v-d4670d2c]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.confirm-modal[data-v-d4670d2c]{max-width:400px;width:100%;padding:28px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.warn-icon[data-v-d4670d2c]{color:var(--warning-fg)}.confirm-modal h3[data-v-d4670d2c]{font-size:1rem;font-weight:700;color:var(--text)}.confirm-modal p[data-v-d4670d2c]{font-size:.85rem;color:var(--text-muted)}.confirm-actions[data-v-d4670d2c]{display:flex;gap:10px;margin-top:6px}.btn-danger[data-v-d4670d2c]{background:var(--danger-solid);color:var(--text-on-accent);padding:9px 20px;font-size:.85rem;border-radius:8px;min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .2s}.btn-danger[data-v-d4670d2c]:hover:not(:disabled){background:var(--danger-solid-hover)}.spinner[data-v-d4670d2c]{width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-d4670d2c .7s linear infinite;display:inline-block}.card-list-enter-active[data-v-d4670d2c]{transition:all .4s var(--ease-spring)}.card-list-leave-active[data-v-d4670d2c]{transition:all .3s var(--ease-smooth)}.card-list-enter-from[data-v-d4670d2c]{opacity:0;transform:translateY(20px) scale(.95)}.card-list-leave-to[data-v-d4670d2c]{opacity:0;transform:scale(.92)}.modal-enter-active[data-v-d4670d2c],.modal-leave-active[data-v-d4670d2c]{transition:opacity .25s var(--ease-smooth)}.modal-enter-from[data-v-d4670d2c],.modal-leave-to[data-v-d4670d2c]{opacity:0}@keyframes spin-d4670d2c{to{transform:rotate(360deg)}}.node-progress[data-v-48660682]{display:flex;align-items:center;gap:8px;padding:0 16px 12px}.np-track[data-v-48660682]{flex:1;height:4px;border-radius:20px;background:var(--surface-1);overflow:hidden}.np-fill[data-v-48660682]{display:block;height:100%;border-radius:20px;background:var(--accent-fg);transition:width .4s var(--ease-smooth)}.node-progress.validated .np-fill[data-v-48660682]{background:var(--success-fg)}.np-count[data-v-48660682]{display:inline-flex;align-items:center;gap:3px;font-size:.62rem;font-weight:700;color:var(--text-faint);flex-shrink:0;min-width:24px;justify-content:flex-end}.node-progress.validated .np-count[data-v-48660682]{color:var(--success-fg)}.node-card[data-v-a43556de]{flex:1;min-width:0;background:var(--surface-2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-top-color:var(--border-top);border-radius:14px;box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;position:relative;transform:perspective(1000px) rotateX(0) translateZ(0);transition:transform .25s var(--ease-spring),box-shadow .22s ease,opacity .2s ease,border-color .2s ease,background .2s ease;will-change:transform,box-shadow}.node-card[data-v-a43556de]:hover:not(.is-selected):not(.is-receded){transform:perspective(1000px) rotateX(.5deg) translateY(-3px);box-shadow:0 8px 32px var(--shadow-color);border-color:var(--border-top)}.node-card.is-selected[data-v-a43556de]{background:var(--surface-sel);border-color:var(--border-top);border-top-color:var(--nodecard-edge, var(--accent-edge));transform:perspective(1000px) rotateX(0) scale(1.015) translateY(-6px);box-shadow:0 24px 64px var(--accent-glow),0 0 0 1px var(--accent-border),inset 0 1px 0 var(--border-top);cursor:default;z-index:1}.node-card.is-receded[data-v-a43556de]{transform:perspective(1000px) rotateX(2deg) scale(.975) translateY(2px);opacity:.55;cursor:pointer}.card-header[data-v-a43556de]{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;min-height:52px;cursor:pointer}.header-body[data-v-a43556de]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.node-title[data-v-a43556de]{font-size:.9rem;font-weight:700;color:var(--text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.is-selected .node-title[data-v-a43556de]{white-space:normal}.node-goals[data-v-a43556de]{font-size:.75rem;color:var(--text-muted);line-height:1.5;margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.node-goals li[data-v-a43556de]:before{content:"·";margin-right:5px;color:var(--text-faint)}.header-right[data-v-a43556de]{display:flex;align-items:center;gap:4px;flex-shrink:0}.item-count[data-v-a43556de]{font-size:.68rem;font-weight:700;padding:2px 7px;background:var(--accent-soft-strong);color:var(--accent-fg);border-radius:10px;border:1px solid var(--accent-border)}.card-body[data-v-a43556de]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s var(--ease-smooth),padding-bottom .22s var(--ease-smooth);padding-bottom:0}.card-body.open[data-v-a43556de]{grid-template-rows:1fr;padding-bottom:14px}.card-body-inner[data-v-a43556de]{overflow:hidden;padding:0 16px;display:flex;flex-direction:column;gap:8px}.prereq-row[data-v-a43556de]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:7px;font-size:.75rem}.prereq-icon[data-v-a43556de]{color:var(--text-faint);flex-shrink:0}.prereq-label[data-v-a43556de]{color:var(--text-faint)}.prereq-title[data-v-a43556de]{color:var(--text-muted);font-weight:600}.node-description[data-v-a43556de]{font-size:.78rem;color:var(--text-muted);line-height:1.55}.node-description.is-clamped[data-v-a43556de]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.node-description[data-v-a43556de] p{margin:0}.node-description[data-v-a43556de] p+p{margin-top:.25em}.node-description[data-v-a43556de] ul,.node-description[data-v-a43556de] ol{margin:0;padding-left:1.1em}.node-description[data-v-a43556de] strong{color:var(--text);font-weight:600}.summary-footer[data-v-a43556de]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.type-pill[data-v-a43556de]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;background:var(--accent-soft);color:var(--accent-fg-dim);border-radius:10px;border:1px solid var(--accent-border)}.validation-pill[data-v-a43556de]{font-size:.65rem;font-weight:600;padding:2px 7px;display:flex;align-items:center;gap:4px;background:var(--success-bg);color:var(--success-fg);border-radius:10px;border:1px solid var(--success-border)}.empty-hint[data-v-a43556de]{font-size:.72rem;color:var(--text-faint);font-style:italic}.btn-icon[data-v-a43556de]{background:transparent;color:var(--text-faint);border:none;padding:4px 5px;border-radius:5px;cursor:pointer;display:flex;align-items:center;transition:color .15s,background .15s}.btn-icon[data-v-a43556de]:hover{color:var(--text);background:var(--surface-hover)}.btn-icon.danger[data-v-a43556de]:hover{color:var(--danger-fg);background:var(--danger-bg)}.btn-icon.close-btn[data-v-a43556de]:hover{color:var(--accent-fg);background:var(--accent-soft)}.canvas[data-v-470abfe4]{display:flex;flex-direction:column;padding-bottom:120px}.node-track[data-v-470abfe4]{position:relative;display:flex;flex-direction:column;gap:10px}.node-track[data-v-470abfe4]:before{content:"";position:absolute;left:7px;top:26px;bottom:26px;width:1px;background:linear-gradient(to bottom,transparent 0%,var(--accent-soft-strong) 10%,var(--accent-soft-strong) 90%,transparent 100%);pointer-events:none}.node-wrap[data-v-470abfe4]{display:flex;align-items:flex-start;gap:14px}.track-icon[data-v-470abfe4]{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:15px;position:relative;z-index:1;transition:opacity .2s ease,filter .2s ease}.track-icon.is-receded[data-v-470abfe4]{opacity:.4}.track-icon.is-selected[data-v-470abfe4]{filter:brightness(1.3)}.add-node-area[data-v-470abfe4]{padding-left:30px;margin-top:14px}.ghost-card[data-v-470abfe4]{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:1.5px dashed var(--border);border-radius:14px;color:var(--text-faint);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .22s var(--ease-smooth);background:transparent}.ghost-card[data-v-470abfe4]:hover{border-color:var(--accent-border);color:var(--text-muted);background:var(--accent-soft)}.new-node-form[data-v-470abfe4]{padding:18px;display:flex;flex-direction:column;gap:10px;animation:fadeIn-470abfe4 .22s var(--ease-smooth) both}.form-actions[data-v-470abfe4]{display:flex;gap:8px;justify-content:flex-end}.btn-ghost[data-v-470abfe4]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:8px 16px;font-size:.83rem;border-radius:8px}.btn-ghost[data-v-470abfe4]:hover{background:var(--surface-hover)}button[data-v-470abfe4]:not(.btn-ghost){padding:8px 16px;font-size:.83rem;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px}.error-msg[data-v-470abfe4]{font-size:.8rem;color:var(--danger-fg);padding:6px 10px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:6px}.spinner[data-v-470abfe4]{width:13px;height:13px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-470abfe4 .7s linear infinite;display:inline-block}.node-list-enter-active[data-v-470abfe4]{transition:all .35s var(--ease-spring)}.node-list-leave-active[data-v-470abfe4]{transition:all .25s var(--ease-smooth);position:absolute;width:100%}.node-list-enter-from[data-v-470abfe4]{opacity:0;transform:perspective(1000px) rotateX(8deg) translateY(-14px) scale(.96)}.node-list-leave-to[data-v-470abfe4]{opacity:0;transform:perspective(1000px) scale(.95) translateY(6px)}@keyframes fadeIn-470abfe4{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-470abfe4{to{transform:rotate(360deg)}}.node-hero[data-v-ab068d37]{position:relative;isolation:isolate;--family-color: var(--family-content)}.hero-bg[data-v-ab068d37]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0;background:linear-gradient(180deg,color-mix(in srgb,var(--family-color) 14%,transparent) 0%,color-mix(in srgb,var(--family-color) 5%,transparent) 45%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 60%,transparent 100%)}.hero-glow[data-v-ab068d37]{position:absolute;top:-55%;right:-8%;width:240px;height:240px;border-radius:50%;filter:blur(52px);opacity:.5;background:var(--family-color)}.hero-watermark[data-v-ab068d37]{position:absolute;right:-22px;bottom:-36px;opacity:.06;transform:rotate(-12deg)}.hero-fg[data-v-ab068d37]{position:relative;z-index:1}.variant-bar[data-v-ab068d37]{background:var(--panel-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.variant-bar .hero-bg[data-v-ab068d37]{background:linear-gradient(180deg,color-mix(in srgb,var(--family-color) 16%,transparent),color-mix(in srgb,var(--family-color) 7%,transparent));-webkit-mask-image:none;mask-image:none}.variant-bar .hero-glow[data-v-ab068d37]{width:180px;height:180px;top:-120%;opacity:.4;filter:blur(44px)}.variant-bar .hero-watermark[data-v-ab068d37]{right:-14px;bottom:-28px;opacity:.05}.content-body[data-v-ab8ce7e4]{font-size:.95rem;color:var(--text);line-height:1.78;max-width:800px}.content-body[data-v-ab8ce7e4]>:first-child{margin-top:0}.content-body[data-v-ab8ce7e4]>:last-child{margin-bottom:0}.content-body[data-v-ab8ce7e4] p{margin:0 0 1.1em}.content-body[data-v-ab8ce7e4] h1,.content-body[data-v-ab8ce7e4] h2,.content-body[data-v-ab8ce7e4] h3,.content-body[data-v-ab8ce7e4] h4{color:var(--text);font-weight:700;line-height:1.3;letter-spacing:-.01em;margin:1.8em 0 .6em}.content-body[data-v-ab8ce7e4] h1{font-size:1.45rem}.content-body[data-v-ab8ce7e4] h2{font-size:1.22rem}.content-body[data-v-ab8ce7e4] h3{font-size:1.05rem}.content-body[data-v-ab8ce7e4] h4{font-size:.95rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.content-body[data-v-ab8ce7e4] ul,.content-body[data-v-ab8ce7e4] ol{padding-left:1.4em;margin:0 0 1.1em}.content-body[data-v-ab8ce7e4] li{margin:.35em 0}.content-body[data-v-ab8ce7e4] li::marker{color:var(--text-faint)}.content-body[data-v-ab8ce7e4] li>ul,.content-body[data-v-ab8ce7e4] li>ol{margin:.35em 0}.content-body[data-v-ab8ce7e4] strong{color:var(--text);font-weight:700}.content-body[data-v-ab8ce7e4] em{color:var(--accent-fg)}.content-body[data-v-ab8ce7e4] a{color:var(--info-fg);text-decoration:none;border-bottom:1px solid var(--info-border);transition:border-color .15s,color .15s}.content-body[data-v-ab8ce7e4] a:hover{color:var(--info-fg);border-bottom-color:var(--info-fg)}.content-body[data-v-ab8ce7e4] code{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:.85em;background:var(--surface-2);padding:1px 5px;border-radius:4px;color:var(--success-fg)}.content-body[data-v-ab8ce7e4] pre{margin:0 0 1.2em;padding:14px 16px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;overflow-x:auto;line-height:1.6}.content-body[data-v-ab8ce7e4] pre code{background:none;padding:0;color:var(--text);font-size:.84em}.content-body[data-v-ab8ce7e4] blockquote{margin:0 0 1.2em;padding:6px 16px;border-left:3px solid var(--accent-border);background:var(--accent-soft);border-radius:0 8px 8px 0;color:var(--text-muted);font-style:italic}.content-body[data-v-ab8ce7e4] blockquote p{margin:.4em 0}.content-body[data-v-ab8ce7e4] hr{border:none;border-top:1px solid var(--border);margin:1.8em 0}.content-body[data-v-ab8ce7e4] img{max-width:100%;height:auto;border-radius:10px;margin:.4em 0}.content-body[data-v-ab8ce7e4] table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.9em}.content-body[data-v-ab8ce7e4] th,.content-body[data-v-ab8ce7e4] td{text-align:left;padding:8px 12px;border:1px solid var(--border)}.content-body[data-v-ab8ce7e4] th{background:var(--surface-1);color:var(--text);font-weight:700}.content-media[data-v-ab8ce7e4],.content-audio[data-v-ab8ce7e4]{width:100%;border-radius:10px}.content-audio[data-v-ab8ce7e4]{height:40px}.content-link[data-v-ab8ce7e4]{font-size:.88rem;color:var(--info-fg);word-break:break-all}.content-quiz[data-v-ab8ce7e4]{display:flex;flex-direction:column;gap:10px;font-size:.86rem;color:var(--text-muted);padding:14px;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:10px}.cq-head[data-v-ab8ce7e4]{display:flex;align-items:center;gap:8px}.cq-settings[data-v-ab8ce7e4]{display:flex;flex-wrap:wrap;gap:6px}.cq-chip[data-v-ab8ce7e4]{font-size:.72rem;font-weight:600;color:var(--warning-fg);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:20px;padding:3px 9px}.content-empty[data-v-ab8ce7e4]{font-size:.84rem;color:var(--text-faint);font-style:italic;margin:0}.item-row[data-v-ff1fe1cf]{border-radius:9px;border:1px solid transparent;transition:background .15s,border-color .15s}.item-row[data-v-ff1fe1cf]:not(.is-selected):hover{background:var(--surface-1)}.item-row.is-selected[data-v-ff1fe1cf]{background:var(--surface-1);border-color:var(--border-soft)}.row-main[data-v-ff1fe1cf]{display:flex;align-items:stretch;gap:10px;padding:9px 10px 8px;cursor:pointer;border-radius:9px;min-height:48px}.type-icon-col[data-v-ff1fe1cf]{display:flex;align-items:center;justify-content:center;width:32px;flex-shrink:0;border-radius:7px;padding:2px;background:var(--surface-1)}.type-icon-col[data-family=media] .type-icon[data-v-ff1fe1cf]{color:var(--family-media)}.type-icon-col[data-family=content] .type-icon[data-v-ff1fe1cf]{color:var(--family-content)}.type-icon-col[data-family=active] .type-icon[data-v-ff1fe1cf]{color:var(--family-active)}.type-icon-col[data-family=assessment] .type-icon[data-v-ff1fe1cf]{color:var(--family-assessment)}.row-body[data-v-ff1fe1cf]{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}.row-top[data-v-ff1fe1cf]{display:flex;align-items:center;gap:7px;min-width:0}.item-title[data-v-ff1fe1cf]{font-size:.84rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.dur-chip[data-v-ff1fe1cf]{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:600;color:var(--info-fg);background:var(--info-bg);border:1px solid var(--info-border);border-radius:4px;padding:1px 6px;white-space:nowrap;flex-shrink:0}.top-actions[data-v-ff1fe1cf]{display:flex;align-items:center;gap:3px;opacity:0;transition:opacity .15s;flex-shrink:0}.row-main:hover .top-actions[data-v-ff1fe1cf],.is-selected .top-actions[data-v-ff1fe1cf]{opacity:1}.top-btn[data-v-ff1fe1cf]{display:flex;align-items:center;gap:4px;background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 7px;font-size:.72rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;color:var(--text-faint);transition:all .13s}.top-btn.primary[data-v-ff1fe1cf]{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-border)}.top-btn.primary[data-v-ff1fe1cf]:hover{background:var(--info-bg);border-color:var(--info-solid-border);color:var(--info-fg);filter:brightness(1.12)}.top-btn.danger[data-v-ff1fe1cf]:hover{color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger-border)}.row-sub[data-v-ff1fe1cf]{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden}.type-label[data-v-ff1fe1cf]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;flex-shrink:0}.type-label[data-family=media][data-v-ff1fe1cf]{color:var(--family-media)}.type-label[data-family=content][data-v-ff1fe1cf]{color:var(--family-content)}.type-label[data-family=active][data-v-ff1fe1cf]{color:var(--family-active)}.type-label[data-family=assessment][data-v-ff1fe1cf]{color:var(--family-assessment)}.sub-dot[data-v-ff1fe1cf]{font-size:.65rem;color:var(--text-faint);flex-shrink:0}.sub-snippet[data-v-ff1fe1cf]{font-size:.74rem;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.expand-caret[data-v-ff1fe1cf]{color:var(--text-faint);align-self:center;transition:transform .2s ease;flex-shrink:0;margin-left:2px}.expand-caret.rotated[data-v-ff1fe1cf]{transform:rotate(180deg)}.expand-wrap[data-v-ff1fe1cf]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.expand-wrap.open[data-v-ff1fe1cf]{grid-template-rows:1fr}.expand-inner[data-v-ff1fe1cf]{overflow:hidden}.preview-area[data-v-ff1fe1cf]{padding:8px 12px 4px 52px;border-top:1px solid var(--border-soft)}.preview-md[data-v-ff1fe1cf]{font-size:.78rem;color:var(--text-faint);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.preview-md[data-v-ff1fe1cf] p{margin:0;display:inline}.preview-md[data-v-ff1fe1cf] p+p:before{content:" "}.preview-md[data-v-ff1fe1cf] h1,.preview-md[data-v-ff1fe1cf] h2,.preview-md[data-v-ff1fe1cf] h3{display:inline;font-size:inherit;font-weight:700}.preview-md[data-v-ff1fe1cf] ul,.preview-md[data-v-ff1fe1cf] ol{display:inline;padding:0;list-style:none}.preview-md[data-v-ff1fe1cf] li:before{content:"· "}.preview-md[data-v-ff1fe1cf] li{display:inline}.preview-md[data-v-ff1fe1cf] strong{color:var(--text-muted)}.preview-url[data-v-ff1fe1cf]{font-size:.76rem;color:var(--info-fg);word-break:break-all}.preview-ref[data-v-ff1fe1cf]{display:flex;align-items:center;gap:5px;font-size:.76rem;color:var(--text-faint)}.ref-icon[data-v-ff1fe1cf]{color:var(--family-assessment)}.student-view[data-v-ff1fe1cf]{padding:8px 12px 4px 52px;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:6px}.sv-label[data-v-ff1fe1cf]{display:flex;align-items:center;gap:5px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--info-fg)}.action-bar[data-v-ff1fe1cf]{display:flex;align-items:center;gap:2px;padding:6px 10px 8px}.act-sep[data-v-ff1fe1cf]{width:1px;height:14px;background:var(--border);margin:0 4px;flex-shrink:0}.act-btn[data-v-ff1fe1cf]{display:flex;align-items:center;gap:4px;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 7px;font-size:.72rem;font-weight:500;font-family:inherit;cursor:pointer;color:var(--text-faint);white-space:nowrap;transition:all .13s}.act-btn[data-v-ff1fe1cf]:hover:not(:disabled){color:var(--text-muted);background:var(--surface-hover);border-color:var(--border-soft)}.act-btn[data-v-ff1fe1cf]:disabled{opacity:.25;cursor:default}.act-btn.active[data-v-ff1fe1cf]{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-border)}.item-backdrop[data-v-47c8005a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:310;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.item-panel[data-v-47c8005a]{width:100%;max-width:900px;height:min(90vh,calc(100vh - 40px));display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--overlay-solid);border:1px solid var(--border);border-top-color:var(--info-border);box-shadow:var(--shadow-dropdown),0 0 0 1px var(--info-border),inset 0 1px 0 var(--border-top)}.phase-enter-active[data-v-47c8005a]{transition:opacity .18s ease}.phase-leave-active[data-v-47c8005a]{transition:opacity .12s ease}.phase-enter-from[data-v-47c8005a],.phase-leave-to[data-v-47c8005a]{opacity:0}.phase-pick[data-v-47c8005a]{display:flex;flex-direction:column;height:100%}.pick-header[data-v-47c8005a]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;flex-shrink:0}.pick-title[data-v-47c8005a]{font-size:.88rem;font-weight:600;color:var(--text-muted)}.pick-body[data-v-47c8005a]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 32px 36px}.type-groups[data-v-47c8005a]{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;width:100%}.type-group[data-v-47c8005a]{display:flex;flex-direction:column;gap:8px}.group-label[data-v-47c8005a]{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.group-btns[data-v-47c8005a]{display:flex;flex-wrap:wrap;gap:7px}.tgb[data-v-47c8005a]{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:9px;border:1.5px solid var(--border);background:var(--surface-1);color:var(--text-muted);font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:all .15s}.tgb[data-v-47c8005a]:hover:not(.disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.tgb.disabled[data-v-47c8005a]{opacity:.32;cursor:not-allowed}.tgb[data-family=media] .tgb-icon[data-v-47c8005a]{color:var(--family-media)}.tgb[data-family=content] .tgb-icon[data-v-47c8005a]{color:var(--family-content)}.tgb[data-family=active] .tgb-icon[data-v-47c8005a]{color:var(--family-active)}.tgb[data-family=assessment] .tgb-icon[data-v-47c8005a]{color:var(--family-assessment)}.tgb-soon[data-v-47c8005a]{font-size:.59rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:1px 5px;border-radius:4px;background:var(--surface-2);color:var(--text-faint);margin-left:2px}.phase-edit[data-v-47c8005a]{display:flex;flex-direction:column;height:100%;min-height:0}.panel-header[data-v-47c8005a]{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.type-icon-btn[data-v-47c8005a]{display:flex;align-items:center;gap:4px;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:6px 8px;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.type-icon-btn[data-v-47c8005a]:hover,.type-icon-btn.open[data-v-47c8005a]{background:var(--surface-3);border-color:var(--border-strong)}.type-caret[data-v-47c8005a]{color:var(--text-faint);transition:transform .18s}.type-icon-btn.open .type-caret[data-v-47c8005a]{transform:rotate(180deg)}.title-input[data-v-47c8005a]{flex:1;background:transparent;border:none;border-bottom:1.5px solid transparent;color:var(--text);font-size:1.05rem;font-weight:700;font-family:inherit;padding:2px 0;line-height:1.3;transition:border-color .18s;min-width:0}.title-input[data-v-47c8005a]:hover{border-bottom-color:var(--border)}.title-input[data-v-47c8005a]:focus{outline:none;border-bottom-color:var(--info-border)}.btn-icon[data-v-47c8005a]{background:transparent;color:var(--text-faint);border:none;padding:5px;border-radius:6px;cursor:pointer;display:flex;align-items:center;flex-shrink:0;transition:color .14s,background .14s}.btn-icon[data-v-47c8005a]:hover{color:var(--text);background:var(--surface-hover)}.meta-row[data-v-47c8005a]{display:flex;align-items:center;gap:8px;padding:9px 20px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.meta-icon[data-v-47c8005a]{color:var(--text-faint);flex-shrink:0}.meta-num[data-v-47c8005a]{width:60px;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.82rem;font-family:inherit;padding:3px 7px;text-align:right;-moz-appearance:textfield}.meta-num[data-v-47c8005a]::-webkit-inner-spin-button,.meta-num[data-v-47c8005a]::-webkit-outer-spin-button{opacity:1}.meta-num[data-v-47c8005a]:focus{outline:none;border-color:var(--info-border)}.meta-unit[data-v-47c8005a]{font-size:.78rem;color:var(--text-faint)}.meta-hint[data-v-47c8005a]{font-size:.74rem;color:var(--text-faint);white-space:nowrap}.meta-sep[data-v-47c8005a]{width:1px;height:14px;background:var(--border);flex-shrink:0}.toggle-btn[data-v-47c8005a]{width:30px;height:17px;border-radius:9px;background:var(--toggle-track);border:1px solid var(--toggle-track-border);position:relative;cursor:pointer;transition:background .22s,border-color .22s;flex-shrink:0;padding:0}.toggle-btn.on[data-v-47c8005a]{background:var(--info-solid);border-color:var(--info-solid-border)}.toggle-thumb[data-v-47c8005a]{position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--toggle-thumb);transition:transform .2s ease,background .2s}.toggle-btn.on .toggle-thumb[data-v-47c8005a]{transform:translate(13px);background:#fff}.meta-label[data-v-47c8005a]{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.meta-spacer[data-v-47c8005a]{flex:1}.preview-toggle[data-v-47c8005a]{display:flex;align-items:center;gap:5px;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:.74rem;font-weight:600;font-family:inherit;color:var(--text-faint);cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.preview-toggle[data-v-47c8005a]:hover,.preview-toggle.active[data-v-47c8005a]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-fg)}.panel-body[data-v-47c8005a],.content-area[data-v-47c8005a]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.text-editor[data-v-47c8005a]{flex:1;min-height:0;width:100%;max-width:800px;margin:0 auto;resize:none;padding:20px 26px;background:transparent;border:none;color:var(--text);font-size:.95rem;font-family:inherit;line-height:1.8}.text-editor[data-v-47c8005a]::placeholder{color:var(--text-faint);opacity:.7}.text-editor[data-v-47c8005a]:focus{outline:none}.md-preview[data-v-47c8005a]{flex:1;min-height:0;overflow-y:auto;max-width:800px;margin:0 auto;padding:20px 26px;color:var(--text-muted);font-size:.92rem;line-height:1.78;scrollbar-width:thin;scrollbar-color:var(--info-border) transparent}.md-preview[data-v-47c8005a] h1,.md-preview[data-v-47c8005a] h2,.md-preview[data-v-47c8005a] h3,.md-preview[data-v-47c8005a] h4{color:var(--text);margin:1.4em 0 .5em;font-weight:700;line-height:1.3}.md-preview[data-v-47c8005a] h1{font-size:1.35rem}.md-preview[data-v-47c8005a] h2{font-size:1.15rem}.md-preview[data-v-47c8005a] h3{font-size:1rem}.md-preview[data-v-47c8005a] h4{font-size:.92rem}.md-preview[data-v-47c8005a] p{margin:0 0 1em}.md-preview[data-v-47c8005a] ul,.md-preview[data-v-47c8005a] ol{padding-left:1.6em;margin:0 0 1em}.md-preview[data-v-47c8005a] li{margin-bottom:.25em}.md-preview[data-v-47c8005a] strong{color:var(--text);font-weight:700}.md-preview[data-v-47c8005a] em{color:var(--accent-fg);font-style:italic}.md-preview[data-v-47c8005a] code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.84em;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--success-fg)}.md-preview[data-v-47c8005a] pre{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:0 0 1em}.md-preview[data-v-47c8005a] pre code{background:none;border:none;padding:0;font-size:.87em;color:var(--text-muted)}.md-preview[data-v-47c8005a] blockquote{border-left:3px solid var(--accent-border);padding-left:14px;margin:0 0 1em;color:var(--text-faint);font-style:italic}.md-preview[data-v-47c8005a] a{color:var(--info-fg);text-decoration:none}.md-preview[data-v-47c8005a] a:hover{text-decoration:underline}.md-preview[data-v-47c8005a] hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.panel-footer[data-v-47c8005a]{display:flex;flex-direction:column;gap:8px;padding:12px 20px;border-top:1px solid var(--border-soft);flex-shrink:0}.footer-actions[data-v-47c8005a]{display:flex;justify-content:flex-end;gap:8px}.footer-error[data-v-47c8005a]{font-size:.79rem;color:var(--danger-fg);padding:6px 10px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:7px}.btn-ghost[data-v-47c8005a]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:9px 16px;font-size:.83rem;font-family:inherit;border-radius:9px;cursor:pointer;transition:background .14s}.btn-ghost[data-v-47c8005a]:hover{background:var(--surface-hover);color:var(--text)}.btn-save[data-v-47c8005a]{background:var(--info-solid);color:var(--text-on-accent);border:1px solid var(--info-solid-border);padding:9px 22px;font-size:.85rem;font-weight:700;font-family:inherit;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;min-width:110px;min-height:38px;transition:background .15s}.btn-save[data-v-47c8005a]:hover:not(:disabled){background:var(--info-solid-hover)}.btn-save[data-v-47c8005a]:disabled{opacity:.4;cursor:default}.spinner[data-v-47c8005a]{width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-47c8005a .7s linear infinite;display:inline-block}.type-dropdown[data-v-47c8005a]{position:fixed;z-index:9999;background:var(--overlay-solid);border:1px solid var(--border);border-radius:12px;padding:5px;display:flex;flex-direction:column;gap:1px;box-shadow:var(--shadow-dropdown),0 0 0 1px var(--info-border);min-width:190px}.dd-sep[data-v-47c8005a]{height:1px;background:var(--border);margin:3px 6px}.dd-opt[data-v-47c8005a]{background:transparent;border:none;color:var(--text-muted);text-align:left;padding:7px 10px;border-radius:7px;font-size:.82rem;font-weight:500;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:9px;transition:background .12s,color .12s}.dd-opt[data-v-47c8005a]:hover:not(.dd-disabled){background:var(--info-bg);color:var(--text)}.dd-opt.active[data-v-47c8005a]{background:var(--info-bg);color:var(--info-fg);font-weight:600}.dd-opt.dd-disabled[data-v-47c8005a]{opacity:.3;cursor:not-allowed}.dd-soon[data-v-47c8005a]{margin-left:auto;font-size:.59rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:1px 5px;border-radius:3px;background:var(--surface-2)}.quiz-picker[data-v-47c8005a]{flex:1;min-height:0;display:flex;flex-direction:column;gap:0;overflow:hidden}.quiz-search-wrap[data-v-47c8005a]{display:flex;align-items:center;gap:9px;padding:12px 20px 10px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.qs-icon[data-v-47c8005a]{color:var(--text-faint);flex-shrink:0}.qs-input[data-v-47c8005a]{flex:1;background:transparent;border:none;color:var(--text);font-size:.9rem;font-family:inherit;padding:0}.qs-input[data-v-47c8005a]::placeholder{color:var(--text-faint)}.qs-input[data-v-47c8005a]:focus{outline:none}.qs-loading[data-v-47c8005a]{color:var(--text-faint);display:flex;align-items:center}.quiz-results[data-v-47c8005a]{flex:1;min-height:0;overflow-y:auto;padding:6px 12px 12px;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:var(--warning-border) transparent}.quiz-empty[data-v-47c8005a]{padding:24px;text-align:center;font-size:.82rem;color:var(--text-faint)}.quiz-row[data-v-47c8005a]{display:flex;flex-direction:column;gap:4px;padding:9px 12px;border-radius:8px;background:transparent;border:1px solid transparent;text-align:left;cursor:pointer;font-family:inherit;transition:background .13s,border-color .13s;width:100%}.quiz-row[data-v-47c8005a]:hover{background:var(--warning-bg);border-color:var(--warning-border)}.qr-main[data-v-47c8005a]{display:flex;align-items:center;gap:8px}.qr-title[data-v-47c8005a]{flex:1;font-size:.86rem;font-weight:600;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-count[data-v-47c8005a]{font-size:.68rem;font-weight:700;color:var(--warning-fg);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:4px;padding:1px 6px;white-space:nowrap;flex-shrink:0}.qr-tags[data-v-47c8005a]{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.qr-tag-icon[data-v-47c8005a]{color:var(--text-faint);flex-shrink:0}.qr-tag[data-v-47c8005a]{font-size:.66rem;padding:1px 6px;border-radius:3px;background:var(--surface-1);color:var(--text-faint);white-space:nowrap}.quiz-selected-card[data-v-47c8005a]{margin:14px 20px 0;padding:14px 16px;border-radius:12px;background:var(--warning-bg);border:1px solid var(--warning-border);display:flex;flex-direction:column;gap:10px}.qsc-top[data-v-47c8005a]{display:flex;align-items:center;gap:9px}.qsc-check[data-v-47c8005a]{color:var(--warning-fg);flex-shrink:0}.qsc-title[data-v-47c8005a]{flex:1;font-size:.92rem;font-weight:700;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qsc-change[data-v-47c8005a]{background:transparent;border:1px solid var(--border);border-radius:6px;padding:3px 9px;font-size:.74rem;font-weight:600;font-family:inherit;color:var(--text-faint);cursor:pointer;flex-shrink:0;transition:all .13s}.qsc-change[data-v-47c8005a]:hover{border-color:var(--border-strong);color:var(--text-muted)}.qsc-loading[data-v-47c8005a]{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--text-faint)}.qsc-meta[data-v-47c8005a]{display:flex;align-items:center;gap:7px}.qsc-stat[data-v-47c8005a]{display:flex;align-items:center;gap:4px;font-size:.76rem;color:var(--text-faint)}.qsc-dot[data-v-47c8005a]{color:var(--text-faint);font-size:.7rem}.qsc-questions[data-v-47c8005a]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.qsc-q[data-v-47c8005a]{display:flex;align-items:baseline;gap:8px}.qsc-qnum[data-v-47c8005a]{font-size:.67rem;font-weight:700;color:var(--warning-fg);background:var(--warning-bg);border-radius:3px;padding:1px 5px;flex-shrink:0;line-height:1.6}.qsc-qtext[data-v-47c8005a]{font-size:.8rem;color:var(--text-muted);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.qsc-more[data-v-47c8005a]{font-size:.74rem;color:var(--text-faint);font-style:italic;padding-left:2px}.qcard-enter-active[data-v-47c8005a]{transition:opacity .2s ease,transform .2s ease}.qcard-leave-active[data-v-47c8005a]{transition:opacity .15s ease}.qcard-enter-from[data-v-47c8005a]{opacity:0;transform:translateY(-4px)}.qcard-leave-to[data-v-47c8005a]{opacity:0}.spin[data-v-47c8005a]{animation:spin-47c8005a .8s linear infinite;display:inline-block}@keyframes spin-47c8005a{to{transform:rotate(360deg)}}.node-editor[data-v-1251028a]{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;border-radius:18px;overflow:hidden;background:var(--panel-solid);border:1px solid var(--border);border-top-color:var(--accent-edge);box-shadow:var(--shadow-elevated),inset 0 1px 0 var(--border-top)}.warn-banner[data-v-1251028a]{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--warning-bg);border-bottom:1px solid var(--warning-border);font-size:.8rem;color:var(--warning-fg);flex-shrink:0}.warn-banner span[data-v-1251028a]{flex:1}.warn-discard[data-v-1251028a],.warn-keep[data-v-1251028a]{background:transparent;border:1px solid;border-radius:6px;padding:3px 10px;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s}.warn-discard[data-v-1251028a]{color:var(--danger-fg);border-color:var(--danger-border)}.warn-discard[data-v-1251028a]:hover{background:var(--danger-bg)}.warn-keep[data-v-1251028a]{color:var(--warning-fg);border-color:var(--warning-border)}.warn-keep[data-v-1251028a]:hover{background:var(--warning-bg)}.editor-hero[data-v-1251028a]{flex-shrink:0}.panel-header[data-v-1251028a]{display:flex;align-items:center;gap:10px;padding:14px 20px;flex-shrink:0}.type-picker-btn[data-v-1251028a]{display:flex;align-items:center;gap:6px;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:5px 9px;color:var(--text-faint);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}.type-picker-btn[data-v-1251028a]:hover,.type-picker-btn.open[data-v-1251028a]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text-muted)}.type-picker-btn.has-type[data-v-1251028a]{color:var(--text-muted)}.type-picker-label[data-v-1251028a]{max-width:100px;overflow:hidden;text-overflow:ellipsis}.type-caret[data-v-1251028a]{opacity:.55;transition:transform .18s;flex-shrink:0}.type-picker-btn.open .type-caret[data-v-1251028a]{transform:rotate(180deg)}.title-wrap[data-v-1251028a]{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.title-input[data-v-1251028a]{flex:1;background:transparent;border:none;border-bottom:1.5px solid transparent;color:var(--text);font-size:1.05rem;font-weight:700;font-family:inherit;padding:2px 0;line-height:1.3;transition:border-color .18s;min-width:0}.title-input[data-v-1251028a]:hover{border-bottom-color:var(--border)}.title-input[data-v-1251028a]:focus{border-bottom-color:var(--accent-edge);outline:none}.title-static[data-v-1251028a]{flex:1;color:var(--text);font-size:1.05rem;font-weight:700;line-height:1.3;min-width:0;margin:0}.type-picker-btn.is-static[data-v-1251028a]{cursor:default}.goals-readonly[data-v-1251028a]{font-size:.82rem;color:var(--text-muted);line-height:1.6;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.goals-readonly li[data-v-1251028a]:before{content:"·";margin-right:6px;color:var(--text-faint)}.desc-readonly[data-v-1251028a]{font-size:.82rem;color:var(--text-muted);line-height:1.6}.desc-readonly[data-v-1251028a] p{margin:0 0 .5em}.desc-readonly[data-v-1251028a] p:last-child{margin-bottom:0}.desc-readonly[data-v-1251028a] ul,.desc-readonly[data-v-1251028a] ol{margin:.2em 0 .5em 1.3em;padding:0}.desc-readonly[data-v-1251028a] li{margin-bottom:.2em}.desc-readonly[data-v-1251028a] strong{color:var(--text);font-weight:600}.desc-readonly[data-v-1251028a] code{font-size:.85em;background:var(--surface-1);padding:1px 5px;border-radius:4px}.desc-readonly[data-v-1251028a] a{color:var(--accent-fg-dim);text-decoration:underline}.title-saved-dot[data-v-1251028a]{width:6px;height:6px;border-radius:50%;background:var(--success-fg);box-shadow:0 0 6px var(--success-fg);flex-shrink:0}.panel-body[data-v-1251028a]{display:grid;grid-template-columns:1fr 1fr;flex:1;overflow:hidden;min-height:0}.col-meta[data-v-1251028a]{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border-soft)}.tab-bar[data-v-1251028a]{display:flex;gap:4px;padding:0 16px;flex-shrink:0;position:relative;z-index:2;border-bottom:1px solid var(--border)}.tab-btn[data-v-1251028a]{position:relative;background:transparent;border:none;padding:11px 12px 9px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);cursor:pointer;display:flex;align-items:center;gap:6px;margin-bottom:-1px;transition:color .15s}.tab-btn[data-v-1251028a]:hover{color:var(--text-muted)}.tab-btn.active[data-v-1251028a]{color:var(--text)}.tab-btn[data-v-1251028a]:after{content:"";position:absolute;bottom:-5px;left:6px;right:6px;height:2px;background:transparent;border-radius:1px;transition:background .18s,box-shadow .18s}.tab-btn.active[data-v-1251028a]:after{background:var(--accent-fg-dim);box-shadow:0 0 8px var(--accent-glow)}.tab-dot[data-v-1251028a]{width:5px;height:5px;border-radius:50%;flex-shrink:0}.tab-panel[data-v-1251028a]{position:relative;z-index:1;flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:var(--accent-soft-strong) transparent}.tab-intro[data-v-1251028a]{font-size:.78rem;color:var(--text-faint);line-height:1.55;margin:0;padding-bottom:4px;border-bottom:1px solid var(--border-soft)}.empty-hint[data-v-1251028a]{font-size:.8rem;color:var(--text-faint);font-style:italic}.save-area[data-v-1251028a]{flex-shrink:0;padding:0 20px 14px;border-top:1px solid var(--border-soft)}.save-row[data-v-1251028a]{display:flex;align-items:center;gap:10px;padding-top:10px}.btn-save[data-v-1251028a]{flex:1;background:var(--accent-solid);color:var(--text-on-accent);border:1px solid var(--accent-solid-hover);padding:9px 18px;font-size:.85rem;font-weight:700;font-family:inherit;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:background .15s;min-height:38px}.btn-save[data-v-1251028a]:hover:not(:disabled){background:var(--accent-solid-hover)}.btn-save[data-v-1251028a]:disabled{opacity:.45;cursor:default}.error-inline[data-v-1251028a]{font-size:.78rem;color:var(--danger-fg)}.field-group[data-v-1251028a]{display:flex;flex-direction:column;gap:6px}.field-group.nested[data-v-1251028a]{padding-left:2px}label[data-v-1251028a]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);display:flex;align-items:center;gap:6px}.label-opt[data-v-1251028a]{font-size:.65rem;font-weight:400;text-transform:none;letter-spacing:0;opacity:.6}input[data-v-1251028a],textarea[data-v-1251028a]{font-size:.87rem}textarea[data-v-1251028a]{resize:vertical;min-height:64px}.desc-textarea[data-v-1251028a]{background:transparent;border:none;border-radius:0;padding:2px 0 2px 26px;color:var(--text-muted);font-size:.84rem;line-height:1.75;resize:none;min-height:unset;width:100%;font-family:inherit}.desc-textarea[data-v-1251028a]::placeholder{color:var(--text-faint);font-style:italic;opacity:.7}.desc-textarea[data-v-1251028a]:focus{outline:none}.goals-list[data-v-1251028a]{display:flex;flex-direction:column;gap:1px;margin-top:2px}.goal-item[data-v-1251028a]{display:flex;align-items:flex-start;gap:6px;padding:5px 6px;border-radius:7px;transition:background .12s}.goal-item[data-v-1251028a]:hover{background:var(--surface-1)}.goal-remove[data-v-1251028a]{opacity:0;background:transparent;border:none;color:var(--danger-fg);padding:3px;border-radius:4px;cursor:pointer;display:flex;align-items:center;flex-shrink:0;margin-top:1px;transition:opacity .12s,background .12s}.goal-item:hover .goal-remove[data-v-1251028a]{opacity:1}.goal-remove[data-v-1251028a]:hover{background:var(--danger-bg)}.goal-text[data-v-1251028a]{font-size:.83rem;color:var(--text-muted);line-height:1.5}.goals-empty[data-v-1251028a]{font-size:.76rem;color:var(--text-faint);font-style:italic;margin:0}.prereq-picker[data-v-1251028a]{display:flex;flex-direction:column;gap:5px}.prereq-opt[data-v-1251028a]{background:var(--surface-1);color:var(--text-muted);border:1px solid var(--border);border-radius:9px;padding:9px 14px;font-size:.82rem;font-weight:600;font-family:inherit;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .15s;text-align:left}.prereq-opt[data-v-1251028a]:hover{background:var(--surface-hover);color:var(--text)}.prereq-opt.active[data-v-1251028a]{background:var(--accent-soft-strong);color:var(--accent-fg);border-color:var(--accent-border)}.toggle-label[data-v-1251028a]{display:flex;align-items:center;gap:10px;font-size:.83rem;font-weight:600;color:var(--text-muted);cursor:pointer;text-transform:none;letter-spacing:0}.toggle[data-v-1251028a]{width:34px;height:19px;border-radius:10px;background:var(--toggle-track);border:1px solid var(--toggle-track-border);position:relative;cursor:pointer;transition:background .22s,border-color .22s;flex-shrink:0;padding:0}.toggle.on[data-v-1251028a]{background:var(--accent-solid);border-color:var(--accent-solid-hover)}.toggle-thumb[data-v-1251028a]{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--toggle-thumb);transition:transform .22s var(--ease-spring),background .22s}.toggle.on .toggle-thumb[data-v-1251028a]{transform:translate(15px);background:#fff}.validation-fields[data-v-1251028a]{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:10px}.mode-tabs[data-v-1251028a]{display:flex;gap:4px;flex-wrap:wrap}.mode-tab[data-v-1251028a]{background:var(--surface-1);color:var(--text-muted);border:1px solid var(--border);border-radius:7px;padding:5px 10px;font-size:.74rem;font-weight:600;font-family:inherit;display:flex;align-items:center;gap:5px;cursor:pointer;transition:all .14s}.mode-tab[data-v-1251028a]:hover{background:var(--surface-hover);color:var(--text)}.mode-tab.active[data-v-1251028a]{background:var(--accent-soft-strong);color:var(--accent-fg);border-color:var(--accent-border)}.mode-desc[data-v-1251028a]{font-size:.78rem;color:var(--text-faint);line-height:1.55}.col-items[data-v-1251028a]{overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:var(--accent-soft-strong) transparent}.col-items-header[data-v-1251028a]{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.col-title[data-v-1251028a]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.item-count-badge[data-v-1251028a]{font-size:.67rem;font-weight:700;padding:1px 6px;background:var(--accent-soft-strong);color:var(--accent-fg);border-radius:8px;border:1px solid var(--accent-border)}.items-list[data-v-1251028a]{display:flex;flex-direction:column;gap:2px}.items-empty[data-v-1251028a]{font-size:.8rem;color:var(--text-faint);font-style:italic}.add-item-row[data-v-1251028a]{padding-top:4px}.btn-add-item[data-v-1251028a]{background:transparent;color:var(--text-faint);border:1px dashed var(--border);border-radius:8px;padding:8px 14px;font-size:.78rem;font-weight:600;font-family:inherit;display:flex;align-items:center;gap:6px;width:100%;justify-content:center;cursor:pointer;transition:all .18s}.btn-add-item[data-v-1251028a]:hover{color:var(--text-muted);border-color:var(--accent-border);background:var(--accent-soft)}.type-dropdown[data-v-1251028a]{position:fixed;z-index:9999;background:var(--overlay-solid);border:1px solid var(--border);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow-dropdown),0 0 0 1px var(--accent-soft);max-height:280px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--accent-soft-strong) transparent}.type-option[data-v-1251028a]{background:transparent;border:none;color:var(--text-muted);text-align:left;padding:7px 10px;border-radius:8px;font-size:.82rem;font-weight:500;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:9px;transition:background .12s,color .12s}.type-option[data-v-1251028a]:hover{background:var(--accent-soft);color:var(--text)}.type-option.active[data-v-1251028a]{background:var(--accent-soft-strong);color:var(--accent-fg);font-weight:700}.type-dropdown-sep[data-v-1251028a]{height:1px;background:var(--border);margin:3px 6px}.type-clear[data-v-1251028a]{color:var(--text-faint);font-size:.78rem}.type-clear[data-v-1251028a]:hover{color:var(--danger-fg);background:var(--danger-bg)}.btn-icon[data-v-1251028a]{background:transparent;color:var(--text-faint);border:none;padding:6px;border-radius:7px;cursor:pointer;display:flex;align-items:center;flex-shrink:0;transition:color .14s,background .14s}.btn-icon[data-v-1251028a]:hover{color:var(--text);background:var(--surface-hover)}.complexity-toggle.is-advanced[data-v-1251028a]{color:var(--accent-fg-dim);background:var(--accent-soft)}.confirm-backdrop[data-v-1251028a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:24px}.confirm-box[data-v-1251028a]{max-width:340px;width:100%;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;border-radius:16px}.warn-icon[data-v-1251028a]{color:var(--warning-fg)}.confirm-box p[data-v-1251028a]{font-size:.9rem;color:var(--text-muted);margin:0}.confirm-actions[data-v-1251028a]{display:flex;gap:8px}.btn-ghost[data-v-1251028a]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:8px 16px;font-size:.83rem;font-family:inherit;border-radius:8px;cursor:pointer;transition:background .14s}.btn-ghost[data-v-1251028a]:hover{background:var(--surface-hover)}.btn-danger[data-v-1251028a]{background:var(--danger-solid);color:var(--text-on-accent);border:none;padding:8px 18px;font-size:.85rem;font-family:inherit;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:36px;transition:background .14s}.btn-danger[data-v-1251028a]:hover:not(:disabled){background:var(--danger-solid-hover)}.spinner[data-v-1251028a]{width:13px;height:13px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-1251028a .7s linear infinite;display:inline-block}.warn-enter-active[data-v-1251028a],.warn-leave-active[data-v-1251028a]{transition:max-height .25s ease,opacity .2s ease;overflow:hidden}.warn-enter-from[data-v-1251028a],.warn-leave-to[data-v-1251028a]{max-height:0;opacity:0}.warn-enter-to[data-v-1251028a]{max-height:60px}.save-appear-enter-active[data-v-1251028a]{transition:all .25s var(--ease-spring)}.save-appear-leave-active[data-v-1251028a]{transition:all .18s ease}.save-appear-enter-from[data-v-1251028a]{opacity:0;transform:translateY(8px)}.save-appear-leave-to[data-v-1251028a]{opacity:0;transform:translateY(4px)}.title-status-enter-active[data-v-1251028a],.title-status-leave-active[data-v-1251028a]{transition:opacity .3s ease}.title-status-enter-from[data-v-1251028a],.title-status-leave-to[data-v-1251028a]{opacity:0}.expand-enter-active[data-v-1251028a]{transition:opacity .22s ease}.expand-leave-active[data-v-1251028a]{transition:opacity .15s ease}.expand-enter-from[data-v-1251028a],.expand-leave-to[data-v-1251028a]{opacity:0}.modal-enter-active[data-v-1251028a],.modal-leave-active[data-v-1251028a]{transition:opacity .2s ease}.modal-enter-from[data-v-1251028a],.modal-leave-to[data-v-1251028a]{opacity:0}@keyframes spin-1251028a{to{transform:rotate(360deg)}}.quiz-runner[data-v-b7fea165]{width:100%;max-width:620px;margin:0 auto}.qr-state[data-v-b7fea165]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;color:var(--text-muted);font-size:.88rem}.state-icon.warn[data-v-b7fea165]{color:var(--warning-fg)}.spinner-lg[data-v-b7fea165]{width:30px;height:30px;border:3px solid var(--border);border-top-color:var(--warning-fg);border-radius:50%;animation:spin-b7fea165 .8s linear infinite}.qr-intro[data-v-b7fea165]{display:flex;flex-direction:column;gap:18px;padding:24px;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:16px}.intro-head[data-v-b7fea165]{display:flex;flex-direction:column;gap:5px}.intro-eyebrow[data-v-b7fea165]{display:inline-flex;align-items:center;gap:5px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--warning-fg)}.intro-title[data-v-b7fea165]{font-size:1.2rem;font-weight:800;color:var(--text);margin:0;line-height:1.25}.intro-sub[data-v-b7fea165]{font-size:.8rem;color:var(--text-faint);margin:0}.result-banner[data-v-b7fea165]{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px}.result-text[data-v-b7fea165]{display:flex;flex-direction:column;gap:3px}.result-line[data-v-b7fea165]{display:flex;align-items:center;gap:7px;margin:0;font-size:.92rem;color:var(--text)}.result-line strong[data-v-b7fea165]{font-weight:800}.rl-icon[data-v-b7fea165]{color:var(--success-fg)}.result-meta[data-v-b7fea165]{margin:0;font-size:.74rem;color:var(--text-faint)}.settings-chips[data-v-b7fea165]{display:flex;flex-wrap:wrap;gap:7px}.chip[data-v-b7fea165]{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--text-muted);background:var(--surface-1);border:1px solid var(--border);border-radius:20px;padding:4px 10px}.chip.off[data-v-b7fea165]{color:var(--text-faint);opacity:.6}.no-attempts[data-v-b7fea165]{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-faint);margin:0}.qr-running[data-v-b7fea165]{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--surface-1);border:1px solid var(--border);border-radius:16px}.progress-bar[data-v-b7fea165]{height:5px;background:var(--surface-hover);border-radius:3px;overflow:hidden}.progress-fill[data-v-b7fea165]{height:100%;background:var(--warning-grad);border-radius:3px;transition:width .3s var(--ease-smooth)}.q-counter[data-v-b7fea165]{font-size:.72rem;color:var(--text-faint);margin:0;font-weight:600}.q-text[data-v-b7fea165]{font-size:1.05rem;font-weight:700;color:var(--text);margin:0;line-height:1.4}.options[data-v-b7fea165]{display:flex;flex-direction:column;gap:9px}.option[data-v-b7fea165]{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 15px;background:var(--surface-1);border:1.5px solid var(--border);border-radius:11px;color:var(--text-muted);font-size:.9rem;font-family:inherit;cursor:pointer;transition:background .14s,border-color .14s,color .14s}.option[data-v-b7fea165]:hover{background:var(--surface-hover);border-color:var(--warning-border);color:var(--text)}.option.selected[data-v-b7fea165]{background:var(--warning-bg);border-color:var(--warning-solid-border);color:var(--warning-fg)}.opt-letter[data-v-b7fea165]{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700}.option.selected .opt-letter[data-v-b7fea165]{background:var(--warning-solid);color:var(--text-on-warning)}.opt-text[data-v-b7fea165]{min-width:0}.run-nav[data-v-b7fea165]{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.qr-result[data-v-b7fea165]{display:flex;flex-direction:column;gap:20px}.result-hero[data-v-b7fea165]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 20px;background:var(--surface-1);border:1px solid var(--border);border-radius:16px}.done-mark[data-v-b7fea165]{color:var(--success-fg)}.result-h[data-v-b7fea165]{font-size:1.15rem;font-weight:800;color:var(--text);margin:0}.result-detail[data-v-b7fea165]{font-size:.85rem;color:var(--text-muted);margin:0}.score-ring[data-v-b7fea165]{position:relative;width:56px;height:56px;flex-shrink:0}.score-ring.big[data-v-b7fea165]{width:96px;height:96px}.ring-svg[data-v-b7fea165]{width:100%;height:100%;transform:rotate(-90deg)}.ring-track[data-v-b7fea165]{fill:none;stroke:var(--border);stroke-width:4}.ring-val[data-v-b7fea165]{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease-smooth)}.score-ring[data-band=high] .ring-val[data-v-b7fea165]{stroke:var(--family-active)}.score-ring[data-band=mid] .ring-val[data-v-b7fea165]{stroke:var(--family-assessment)}.score-ring[data-band=low] .ring-val[data-v-b7fea165]{stroke:var(--danger-fg)}.ring-num[data-v-b7fea165]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.92rem;font-weight:800;color:var(--text)}.score-ring.big .ring-num[data-v-b7fea165]{font-size:1.5rem}.ring-num small[data-v-b7fea165]{font-size:.6em;font-weight:700;opacity:.7;margin-left:1px}.review[data-v-b7fea165]{display:flex;flex-direction:column;gap:8px}.review-label[data-v-b7fea165]{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);margin:0 0 2px}.review-row[data-v-b7fea165]{display:flex;gap:10px;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--surface-1)}.review-row.ok[data-v-b7fea165]{border-color:var(--success-border)}.review-row.bad[data-v-b7fea165]{border-color:var(--danger-border)}.rev-icon[data-v-b7fea165]{flex-shrink:0;margin-top:1px}.review-row.ok .rev-icon[data-v-b7fea165]{color:var(--success-fg)}.review-row.bad .rev-icon[data-v-b7fea165]{color:var(--danger-fg)}.rev-body[data-v-b7fea165]{min-width:0;display:flex;flex-direction:column;gap:3px}.rev-q[data-v-b7fea165]{font-size:.84rem;font-weight:600;color:var(--text);margin:0;line-height:1.4}.rev-a[data-v-b7fea165]{font-size:.77rem;color:var(--text-muted);margin:0;line-height:1.4}.rev-yours.wrong[data-v-b7fea165]{color:var(--danger-fg)}.rev-correct[data-v-b7fea165]{color:var(--success-fg)}.result-actions[data-v-b7fea165]{display:flex;justify-content:flex-end;gap:8px}.btn-start[data-v-b7fea165]{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--warning-solid);color:var(--text-on-warning);border:1px solid var(--warning-solid-border);padding:10px 20px;font-size:.86rem;font-weight:700;font-family:inherit;border-radius:10px;cursor:pointer;min-height:40px;transition:background .15s}.btn-start[data-v-b7fea165]:hover:not(:disabled){background:var(--warning-solid-hover)}.btn-start[data-v-b7fea165]:disabled{opacity:.4;cursor:default}.btn-ghost[data-v-b7fea165]{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:10px 16px;font-size:.84rem;font-family:inherit;border-radius:10px;cursor:pointer;transition:background .14s,color .14s}.btn-ghost[data-v-b7fea165]:hover{background:var(--surface-hover);color:var(--text)}.inline-error[data-v-b7fea165]{padding:9px 13px;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-fg);border-radius:9px;font-size:.8rem}.spinner[data-v-b7fea165]{width:14px;height:14px;border:2px solid rgba(0,0,0,.25);border-top-color:#1c1407;border-radius:50%;animation:spin-b7fea165 .7s linear infinite;display:inline-block}@keyframes spin-b7fea165{to{transform:rotate(360deg)}}.bullet-nav[data-v-ed777b0e]{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}.bullets[data-v-ed777b0e]{display:flex;align-items:center;gap:7px;flex:1;flex-wrap:wrap}.bullet[data-v-ed777b0e]{width:9px;height:9px;border-radius:50%;padding:0;background:var(--border-strong);border:1px solid transparent;cursor:pointer;transition:all .18s var(--ease-smooth)}.bullet[data-v-ed777b0e]:hover{background:var(--border-focus);transform:scale(1.2)}.bullet.overview[data-v-ed777b0e]{border-radius:3px}.bullet.active[data-v-ed777b0e]{background:var(--accent-fg-dim);box-shadow:0 0 8px var(--accent-glow);transform:scale(1.25)}.bullet.overview.active[data-v-ed777b0e]{background:var(--text-muted);box-shadow:0 0 8px var(--border-focus)}.counter[data-v-ed777b0e]{font-size:.72rem;font-weight:600;color:var(--text-faint);flex-shrink:0}.close-btn[data-v-ed777b0e]{display:flex;align-items:center;padding:6px;border-radius:7px;color:var(--text-faint);background:transparent;cursor:pointer;transition:color .14s,background .14s;flex-shrink:0}.close-btn[data-v-ed777b0e]:hover{color:var(--text);background:var(--surface-hover)}.student-node[data-v-6a867a20]{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;padding:0}.hero-main[data-v-6a867a20]{position:relative;display:flex;align-items:flex-start;gap:14px;padding:18px 22px 12px}.hero-body[data-v-6a867a20]{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.hero-meta[data-v-6a867a20]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-type[data-v-6a867a20]{display:inline-flex;align-items:center;gap:5px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);padding:3px 9px;border-radius:20px;background:var(--surface-2);border:1px solid var(--border)}.hero-stat[data-v-6a867a20]{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;color:var(--text-faint)}.hero-title[data-v-6a867a20]{font-size:1.2rem;font-weight:800;color:var(--text);line-height:1.25;margin:0}.hero-validation[data-v-6a867a20]{display:flex;align-items:center;gap:8px;margin:0;font-size:.8rem;color:var(--text-muted)}.hv-icon[data-v-6a867a20]{color:var(--family-active);flex-shrink:0}.hv-text[data-v-6a867a20]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-back[data-v-6a867a20]{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);border-radius:20px;padding:4px 11px;font-size:.72rem;font-weight:700;cursor:pointer;margin-bottom:2px;transition:background .15s,color .15s}.hero-back[data-v-6a867a20]:hover{background:var(--accent-soft-strong);color:var(--accent-fg)}.hero-lock[data-v-6a867a20]{display:inline-flex;align-items:center;gap:6px;margin:2px 0 0;font-size:.78rem;color:var(--warning-fg)}.hero-ring[data-v-6a867a20]{position:relative;z-index:1;width:52px;height:52px;flex-shrink:0}.ring-svg[data-v-6a867a20]{width:100%;height:100%;transform:rotate(-90deg)}.ring-track[data-v-6a867a20]{fill:none;stroke:var(--border);stroke-width:3.5}.ring-value[data-v-6a867a20]{fill:none;stroke:var(--family-color);stroke-width:3.5;stroke-linecap:round;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--family-color) 60%,transparent));transition:stroke-dashoffset .5s var(--ease-smooth)}.ring-label[data-v-6a867a20]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:700;color:var(--text-muted)}.hero-rule[data-v-6a867a20]{position:relative;display:flex;align-items:center;gap:12px;padding:4px 22px}.rule-line[data-v-6a867a20]{flex:1;height:1px;background:var(--border)}.view-more[data-v-6a867a20]{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);border-radius:20px;padding:4px 12px;font-size:.7rem;font-weight:700;font-family:inherit;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s,color .15s,border-color .15s}.view-more[data-v-6a867a20]:hover{background:var(--accent-soft-strong);color:var(--accent-fg);border-color:var(--accent-border)}.vm-caret[data-v-6a867a20]{transition:transform .25s var(--ease-smooth)}.vm-caret.up[data-v-6a867a20]{transform:rotate(180deg)}.node-extra[data-v-6a867a20]{position:relative;display:flex;flex-direction:column;gap:13px;padding:8px 22px 18px}.extra-row[data-v-6a867a20]{display:flex;align-items:center;gap:9px;font-size:.82rem;color:var(--text-muted)}.extra-row strong[data-v-6a867a20]{color:var(--text);font-weight:700}.extra-icon.prereq[data-v-6a867a20]{color:var(--family-intro);flex-shrink:0}.extra-block[data-v-6a867a20]{display:flex;flex-direction:column;gap:6px}.extra-label[data-v-6a867a20]{display:inline-flex;align-items:center;gap:6px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.extra-goals[data-v-6a867a20]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:.84rem;color:var(--text-muted);line-height:1.55}.extra-goals li[data-v-6a867a20]{display:flex;gap:8px}.extra-goals li[data-v-6a867a20]:before{content:"";width:5px;height:5px;margin-top:8px;border-radius:50%;background:var(--family-color);flex-shrink:0}.extra-desc[data-v-6a867a20]{font-size:.84rem;color:var(--text-muted);line-height:1.65}.extra-desc[data-v-6a867a20] p{margin:0 0 .5em}.extra-desc[data-v-6a867a20] p:last-child{margin-bottom:0}.extra-desc[data-v-6a867a20] ul,.extra-desc[data-v-6a867a20] ol{margin:.2em 0 .5em 1.3em;padding:0}.extra-desc[data-v-6a867a20] li{margin-bottom:.2em}.extra-desc[data-v-6a867a20] strong{color:var(--text);font-weight:600}.extra-desc[data-v-6a867a20] code{font-size:.85em;background:var(--surface-1);padding:1px 5px;border-radius:4px}.extra-desc[data-v-6a867a20] a{color:var(--accent-fg-dim);text-decoration:underline}.status-chip[data-v-6a867a20]{margin-left:auto;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:20px;flex-shrink:0}.status-chip.todo[data-v-6a867a20]{background:var(--surface-2);color:var(--text-faint);border:1px solid var(--border)}.status-chip.done[data-v-6a867a20]{background:var(--success-bg);color:var(--success-fg);border:1px solid var(--success-border)}.more-enter-active[data-v-6a867a20]{transition:opacity .25s ease,transform .25s var(--ease-smooth)}.more-leave-active[data-v-6a867a20]{transition:opacity .15s ease,transform .15s ease}.more-enter-from[data-v-6a867a20],.more-leave-to[data-v-6a867a20]{opacity:0;transform:translateY(-6px)}.slide-list[data-v-6a867a20]{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}.slide-entry[data-v-6a867a20]{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 14px;background:var(--surface-1);border:1px solid var(--border);border-radius:11px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.slide-entry[data-v-6a867a20]:hover{background:var(--surface-hover);border-color:var(--accent-border);transform:translate(2px)}.entry-status[data-v-6a867a20]{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--border-strong);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:transparent}.entry-status.done[data-v-6a867a20]{width:15px;height:15px;background:var(--success-bg);border-color:var(--success-border);color:var(--success-fg)}.entry-index[data-v-6a867a20]{font-size:.7rem;font-weight:700;color:var(--text-faint);width:14px;flex-shrink:0}.entry-icon[data-v-6a867a20]{flex-shrink:0}.entry-icon[data-family=media][data-v-6a867a20]{color:var(--family-media)}.entry-icon[data-family=content][data-v-6a867a20]{color:var(--family-content)}.entry-icon[data-family=active][data-v-6a867a20]{color:var(--family-active)}.entry-icon[data-family=assessment][data-v-6a867a20]{color:var(--family-assessment)}.entry-text[data-v-6a867a20]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.entry-title[data-v-6a867a20]{font-size:.86rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-type[data-v-6a867a20]{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.entry-dur[data-v-6a867a20]{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:600;color:var(--info-fg);flex-shrink:0}.entry-caret[data-v-6a867a20]{color:var(--text-faint);flex-shrink:0}.list-empty[data-v-6a867a20]{font-size:.84rem;color:var(--text-faint);font-style:italic;padding:14px 16px}.reader-hero[data-v-6a867a20]{position:sticky;top:0;z-index:5}.reader-bar[data-v-6a867a20]{display:flex;flex-direction:column;gap:9px;padding:12px 18px 10px}.reader-bar-head[data-v-6a867a20]{display:flex;align-items:center;gap:10px;min-width:0}.reader-bar-title[data-v-6a867a20]{flex:1;min-width:0;font-size:1.02rem;font-weight:800;letter-spacing:-.01em;color:var(--text);line-height:1.25;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-bar-type[data-v-6a867a20]{flex-shrink:0;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 9px;border-radius:20px;background:var(--surface-2);border:1px solid var(--border)}.head-icon[data-v-6a867a20]{flex-shrink:0}.head-icon[data-family=media][data-v-6a867a20]{color:var(--family-media)}.head-icon[data-family=content][data-v-6a867a20]{color:var(--family-content)}.head-icon[data-family=active][data-v-6a867a20]{color:var(--family-active)}.head-icon[data-family=assessment][data-v-6a867a20]{color:var(--family-assessment)}.reader-bar-type[data-family=media][data-v-6a867a20]{color:var(--family-media)}.reader-bar-type[data-family=content][data-v-6a867a20]{color:var(--family-content)}.reader-bar-type[data-family=active][data-v-6a867a20]{color:var(--family-active)}.reader-bar-type[data-family=assessment][data-v-6a867a20]{color:var(--family-assessment)}.reader-bar[data-v-6a867a20] .bullet-nav{border-bottom:none;padding:0}.reader-body[data-v-6a867a20]{width:100%;max-width:860px;margin:0 auto;padding:26px 30px 44px;box-sizing:border-box;display:flex;flex-direction:column;gap:20px}@media (max-width: 700px){.reader-body[data-v-6a867a20]{padding-left:18px;padding-right:18px}}.quiz-note[data-v-6a867a20]{display:flex;align-items:center;gap:8px;margin:0;font-size:.84rem;color:var(--info-fg);background:var(--info-bg);border:1px solid var(--info-border);border-radius:10px;padding:12px 14px}.finish-row[data-v-6a867a20]{display:flex;justify-content:flex-start;padding-top:4px}.finish-btn[data-v-6a867a20]{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem}.finished-chip[data-v-6a867a20]{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:700;color:var(--success-fg);background:var(--success-bg);border:1px solid var(--success-border);border-radius:10px;padding:9px 16px}.course-objectives[data-v-796c02df]{position:relative;overflow:hidden;display:flex;gap:14px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 11%,transparent),transparent 68%),var(--surface-1);border:1px solid var(--border);border-top-color:var(--accent-edge);box-shadow:var(--shadow-card)}.co-glow[data-v-796c02df]{position:absolute;top:-45%;right:-6%;width:180px;height:180px;border-radius:50%;filter:blur(50px);opacity:.4;background:var(--accent);pointer-events:none}.co-badge[data-v-796c02df]{position:relative;z-index:1;flex-shrink:0;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-fg-dim);border:1px solid var(--accent-border)}.co-body[data-v-796c02df]{position:relative;z-index:1;display:flex;flex-direction:column;gap:5px;min-width:0}.co-eyebrow[data-v-796c02df]{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--accent-fg-dim)}.co-text[data-v-796c02df]{font-size:.86rem;color:var(--text-muted);line-height:1.62;margin:0}.co-text[data-v-796c02df] p{margin:0 0 .4em}.co-text[data-v-796c02df] p:last-child{margin-bottom:0}.co-text[data-v-796c02df] ul,.co-text[data-v-796c02df] ol{margin:.2em 0 .4em 1.2em;padding:0}.co-text[data-v-796c02df] li{margin-bottom:.15em}.co-text[data-v-796c02df] strong{color:var(--text);font-weight:600}.co-text[data-v-796c02df] code{font-size:.85em;background:var(--surface-1);padding:1px 5px;border-radius:4px}.compact[data-v-796c02df]{padding:14px;gap:11px}.compact .co-badge[data-v-796c02df]{width:30px;height:30px;border-radius:9px}.compact .co-text[data-v-796c02df]{font-size:.82rem;line-height:1.55}.course-info[data-v-7dde6b09]{display:flex;flex-direction:column;gap:18px}.ci-learner[data-v-7dde6b09]{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:14px}.cl-greet[data-v-7dde6b09]{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:800;color:var(--accent-fg)}.cl-bar[data-v-7dde6b09]{height:6px;border-radius:20px;background:var(--surface-2);overflow:hidden}.cl-fill[data-v-7dde6b09]{display:block;height:100%;border-radius:20px;background:var(--accent-fg);transition:width .4s var(--ease-smooth)}.cl-meta[data-v-7dde6b09]{font-size:.72rem;color:var(--text-muted)}.ci-head[data-v-7dde6b09]{display:flex;flex-direction:column;gap:8px}.pill[data-v-7dde6b09]{align-self:flex-start;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:3px 9px;border-radius:20px}.pill.beginner[data-v-7dde6b09]{background:var(--success-bg);color:var(--success-fg);border:1px solid var(--success-border)}.pill.intermediate[data-v-7dde6b09]{background:var(--warning-bg);color:var(--warning-fg);border:1px solid var(--warning-border)}.pill.advanced[data-v-7dde6b09]{background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-border)}.ci-title[data-v-7dde6b09]{font-size:1.05rem;font-weight:700;color:var(--text);line-height:1.3;margin:0}.ci-stats[data-v-7dde6b09]{display:flex;flex-wrap:wrap;gap:14px}.stat[data-v-7dde6b09]{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.stat-value[data-v-7dde6b09]{font-size:.9rem;font-weight:700;color:var(--text)}.stat-label[data-v-7dde6b09]{font-size:.74rem;color:var(--text-faint)}.ci-section-label[data-v-7dde6b09]{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.ci-outline[data-v-7dde6b09]{display:flex;flex-direction:column;gap:8px}.outline-list[data-v-7dde6b09]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;counter-reset:outline}.outline-row[data-v-7dde6b09]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;font-size:.82rem;color:var(--text-muted);transition:background .15s,color .15s}.outline-row.is-selected[data-v-7dde6b09]{background:var(--accent-soft-strong);color:var(--accent-fg)}.outline-title[data-v-7dde6b09]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-panel[data-v-b11a5a8f]{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 20px 20px;border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 11%,transparent),transparent 60%),var(--surface-1);border:1px solid var(--border);border-top-color:var(--accent-edge);box-shadow:var(--shadow-card);transition:box-shadow .4s ease,border-color .4s ease}.ai-panel.working[data-v-b11a5a8f]{border-top-color:var(--accent);box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.ai-panel.success[data-v-b11a5a8f]{border-top-color:var(--success-border, var(--accent))}.ai-aurora[data-v-b11a5a8f]{position:absolute;top:-50%;right:-80%;bottom:-50%;left:-80%;background:conic-gradient(from 0deg,color-mix(in srgb,var(--accent) 22%,transparent),transparent 30%,transparent 60%,color-mix(in srgb,var(--accent-fg-dim, var(--accent)) 18%,transparent),color-mix(in srgb,var(--accent) 22%,transparent));opacity:.35;filter:blur(38px);animation:aurora-spin-b11a5a8f 14s linear infinite;pointer-events:none}.ai-panel.working .ai-aurora[data-v-b11a5a8f]{opacity:.55;animation-duration:5s}@keyframes aurora-spin-b11a5a8f{to{transform:rotate(360deg)}}.spark[data-v-b11a5a8f]{position:absolute;color:var(--accent-fg-dim);opacity:0;pointer-events:none;animation:twinkle-b11a5a8f 4.5s ease-in-out infinite;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 60%,transparent))}@keyframes twinkle-b11a5a8f{0%,to{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(25deg)}}.ai-stage[data-v-b11a5a8f]{position:relative;z-index:1;flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center}.ai-icon-ring[data-v-b11a5a8f]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:var(--accent-soft);border:1px solid var(--accent-border)}.ai-panel.working .ai-icon-ring[data-v-b11a5a8f]{animation:ring-pulse-b11a5a8f 1.6s ease-in-out infinite}@keyframes ring-pulse-b11a5a8f{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 0%,transparent)}}.ai-icon-glyph[data-v-b11a5a8f]{position:relative;z-index:1;color:var(--accent-fg-dim)}.spin[data-v-b11a5a8f]{animation:spin-b11a5a8f .9s linear infinite}@keyframes spin-b11a5a8f{to{transform:rotate(360deg)}}.ai-body[data-v-b11a5a8f]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;width:100%;text-align:center}.ai-eyebrow[data-v-b11a5a8f]{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--accent-fg-dim)}.ai-title[data-v-b11a5a8f]{font-size:.98rem;font-weight:700;color:var(--text);line-height:1.3;margin:0}.ai-text[data-v-b11a5a8f]{font-size:.82rem;color:var(--text-muted);line-height:1.5;margin:2px 0 6px}.ai-text em[data-v-b11a5a8f]{color:var(--text);font-style:normal;font-weight:600}.ai-btn[data-v-b11a5a8f]{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;font-size:.82rem;font-weight:600;border-radius:8px;background:var(--accent-soft);color:var(--accent-fg-dim);border:1px solid var(--accent-border);cursor:pointer;transition:background .2s,transform .15s}.ai-btn[data-v-b11a5a8f]:hover:not(:disabled){background:var(--accent-border)}.ai-btn[data-v-b11a5a8f]:active:not(:disabled){transform:scale(.97)}.ai-btn[data-v-b11a5a8f]:disabled{opacity:.75;cursor:default}.ai-btn-label[data-v-b11a5a8f]{display:flex;align-items:center;gap:7px;white-space:nowrap}.ai-btn-sheen[data-v-b11a5a8f]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,color-mix(in srgb,var(--accent-fg-dim, #fff) 25%,transparent) 48%,transparent 66%);transform:translate(-120%);pointer-events:none}.ai-btn:hover:not(:disabled) .ai-btn-sheen[data-v-b11a5a8f]{animation:sheen-sweep-b11a5a8f 1s ease}@keyframes sheen-sweep-b11a5a8f{to{transform:translate(120%)}}.ai-note[data-v-b11a5a8f]{font-size:.76rem;margin:2px 0 0}.ai-error[data-v-b11a5a8f]{color:var(--danger-fg)}.ai-hint[data-v-b11a5a8f]{color:var(--text-muted)}.ai-hint code[data-v-b11a5a8f]{font-size:.85em;background:var(--surface-1);padding:1px 5px;border-radius:4px;color:var(--text)}.panel-in-enter-active[data-v-b11a5a8f]{transition:opacity .5s var(--ease-smooth, ease),transform .5s var(--ease-smooth, ease)}.panel-in-enter-from[data-v-b11a5a8f]{opacity:0;transform:translateY(-8px) scale(.98)}.icon-pop-enter-active[data-v-b11a5a8f],.icon-pop-leave-active[data-v-b11a5a8f]{transition:opacity .18s ease,transform .18s ease}.icon-pop-enter-from[data-v-b11a5a8f]{opacity:0;transform:scale(.6) rotate(-10deg)}.icon-pop-leave-to[data-v-b11a5a8f]{opacity:0;transform:scale(.6) rotate(10deg)}.fade-slide-enter-active[data-v-b11a5a8f],.fade-slide-leave-active[data-v-b11a5a8f]{transition:opacity .25s ease,transform .25s ease}.fade-slide-enter-from[data-v-b11a5a8f],.fade-slide-leave-to[data-v-b11a5a8f]{opacity:0;transform:translateY(-4px)}.class-list[data-v-b6cae753]{display:flex;flex-direction:column;gap:22px}.muted[data-v-b6cae753]{color:var(--text-muted);font-size:.9rem;padding:20px 0}.empty[data-v-b6cae753]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:44px 32px;color:var(--text-muted)}.empty h3[data-v-b6cae753]{font-size:1.05rem;font-weight:700;color:var(--text)}.empty p[data-v-b6cae753]{font-size:.88rem;max-width:46ch;line-height:1.5}.list-actions[data-v-b6cae753]{display:flex;justify-content:flex-end}.btn-primary[data-v-b6cae753]{background:var(--accent-solid, var(--accent));color:var(--text-on-accent);border:none;padding:9px 16px;font-size:.85rem;font-weight:600;border-radius:9px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:filter .2s,transform .1s}.btn-primary[data-v-b6cae753]:hover{filter:brightness(1.08)}.btn-primary[data-v-b6cae753]:active{transform:translateY(1px)}.group[data-v-b6cae753]{display:flex;flex-direction:column;gap:10px}.group-label[data-v-b6cae753]{display:flex;align-items:center;gap:8px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.count[data-v-b6cae753]{font-size:.66rem;padding:1px 7px;border-radius:10px;background:var(--surface-hover);color:var(--text-muted)}.rows[data-v-b6cae753]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.row[data-v-b6cae753]{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;cursor:pointer;transition:transform .14s var(--ease-smooth),border-color .2s}.row[data-v-b6cae753]:hover{transform:translate(2px);border-color:var(--accent-border)}.row:hover .row-caret[data-v-b6cae753]{color:var(--accent-fg)}.row-main[data-v-b6cae753]{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.row-title[data-v-b6cae753]{font-size:.95rem;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta[data-v-b6cae753]{display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--text-muted);flex-wrap:wrap}.dot[data-v-b6cae753]{color:var(--text-faint)}.access[data-v-b6cae753]{display:inline-flex;align-items:center;gap:4px;text-transform:capitalize}.status[data-v-b6cae753]{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:20px}.status.draft[data-v-b6cae753]{background:var(--surface-hover);color:var(--text-muted)}.status.open[data-v-b6cae753]{background:var(--success-bg);color:var(--success-fg);border:1px solid var(--success-border)}.status.closed[data-v-b6cae753]{background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-border)}.row-caret[data-v-b6cae753]{color:var(--text-faint);flex-shrink:0;transition:color .2s}.inspector[data-v-832fa7f3]{padding:18px 20px;display:flex;flex-direction:column;gap:16px}.insp-top[data-v-832fa7f3]{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn-text[data-v-832fa7f3]{background:transparent;border:none;color:var(--text-muted);font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 2px;transition:color .2s}.btn-text[data-v-832fa7f3]:hover{color:var(--text)}.insp-actions[data-v-832fa7f3]{display:flex;gap:8px}.btn-ghost[data-v-832fa7f3]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:6px 12px;font-size:.8rem;border-radius:8px;display:flex;align-items:center;gap:5px;cursor:pointer;transition:background .2s,color .2s}.btn-ghost[data-v-832fa7f3]:hover{background:var(--surface-hover);color:var(--text)}.btn-ghost.danger[data-v-832fa7f3]:hover{color:var(--danger-fg);border-color:var(--danger-border)}.insp-meta[data-v-832fa7f3]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.78rem;color:var(--text-muted)}.status[data-v-832fa7f3]{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 9px;border-radius:20px}.status.draft[data-v-832fa7f3]{background:var(--surface-hover);color:var(--text-muted)}.status.open[data-v-832fa7f3]{background:var(--success-bg);color:var(--success-fg);border:1px solid var(--success-border)}.status.closed[data-v-832fa7f3]{background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-border)}.group-tag[data-v-832fa7f3]{text-transform:capitalize;color:var(--text-faint)}.access[data-v-832fa7f3],.window[data-v-832fa7f3]{display:inline-flex;align-items:center;gap:5px;text-transform:capitalize}.lifecycle[data-v-832fa7f3]{display:flex}.btn-primary[data-v-832fa7f3],.btn-warn[data-v-832fa7f3]{border:none;padding:9px 16px;font-size:.85rem;font-weight:600;border-radius:9px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:var(--text-on-accent);transition:filter .2s,transform .1s}.btn-primary[data-v-832fa7f3]{background:var(--success-solid, var(--accent))}.btn-warn[data-v-832fa7f3]{background:var(--warning-solid, var(--danger-solid))}.btn-primary[data-v-832fa7f3]:hover,.btn-warn[data-v-832fa7f3]:hover{filter:brightness(1.08)}.btn-primary[data-v-832fa7f3]:active,.btn-warn[data-v-832fa7f3]:active{transform:translateY(1px)}.closed-note[data-v-832fa7f3]{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;color:var(--text-muted)}.closed-note svg[data-v-832fa7f3]{color:var(--danger-fg)}.join[data-v-832fa7f3]{display:flex;flex-direction:column;gap:7px}.join-label[data-v-832fa7f3]{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.join-row[data-v-832fa7f3]{display:flex;align-items:stretch;gap:8px}.join-url[data-v-832fa7f3]{flex:1;min-width:0;padding:9px 12px;border-radius:8px;background:var(--surface-hover);border:1px solid var(--border-soft);font-family:var(--font-mono, ui-monospace, monospace);font-size:.8rem;color:var(--text);overflow-x:auto;white-space:nowrap}.btn-copy[data-v-832fa7f3]{flex-shrink:0;background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:0 14px;font-size:.8rem;font-weight:600;border-radius:8px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:background .2s,color .2s}.btn-copy[data-v-832fa7f3]:hover{background:var(--surface-hover);color:var(--text)}.btn-copy.copied[data-v-832fa7f3]{color:var(--success-fg);border-color:var(--success-border)}.overlay[data-v-832fa7f3]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.confirm-modal[data-v-832fa7f3]{max-width:380px;width:100%;padding:28px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.warn-icon[data-v-832fa7f3]{color:var(--warning-fg)}.confirm-modal h3[data-v-832fa7f3]{font-size:1rem;font-weight:700;color:var(--text)}.confirm-modal p[data-v-832fa7f3]{font-size:.85rem;color:var(--text-muted);line-height:1.5}.confirm-actions[data-v-832fa7f3]{display:flex;gap:10px;margin-top:6px}.btn-danger[data-v-832fa7f3]{background:var(--danger-solid);color:var(--text-on-accent);border:none;padding:9px 20px;font-size:.85rem;border-radius:8px;cursor:pointer;transition:background .2s}.btn-danger[data-v-832fa7f3]:hover{background:var(--danger-solid-hover, var(--danger-solid))}.modal-enter-active[data-v-832fa7f3],.modal-leave-active[data-v-832fa7f3]{transition:opacity .25s var(--ease-smooth)}.modal-enter-from[data-v-832fa7f3],.modal-leave-to[data-v-832fa7f3]{opacity:0}.vis-tree[data-v-6cfc7583]{display:flex;flex-direction:column;gap:14px}.tree-head[data-v-6cfc7583]{display:flex;flex-direction:column;gap:3px}.tree-label[data-v-6cfc7583]{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.tree-hint[data-v-6cfc7583]{font-size:.78rem;color:var(--text-muted)}.muted[data-v-6cfc7583]{color:var(--text-muted);font-size:.85rem}.nodes[data-v-6cfc7583],.items[data-v-6cfc7583]{list-style:none;margin:0;padding:0}.nodes[data-v-6cfc7583]{display:flex;flex-direction:column;gap:8px}.node[data-v-6cfc7583]{border:1px solid var(--border-soft);border-radius:12px;padding:12px 14px;background:var(--panel-solid, transparent);transition:opacity .2s}.node.is-hidden[data-v-6cfc7583]{opacity:.45}.node-head[data-v-6cfc7583]{display:flex;align-items:center;gap:10px}.node-title[data-v-6cfc7583]{flex:1;min-width:0;font-size:.92rem;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eye[data-v-6cfc7583]{flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--text-muted);width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.eye[data-v-6cfc7583]:hover{background:var(--surface-hover);color:var(--text);border-color:var(--accent-border)}.items[data-v-6cfc7583]{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-left:26px;border-left:1px solid var(--border-soft);margin-left:7px}.item[data-v-6cfc7583]{padding:4px 0;transition:opacity .2s}.item.is-hidden[data-v-6cfc7583]{opacity:.45}.item-row[data-v-6cfc7583]{display:flex;align-items:center;gap:8px}.item-icon[data-v-6cfc7583]{color:var(--text-muted);flex-shrink:0}.item-title[data-v-6cfc7583]{flex:1;min-width:0;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quiz-tag[data-v-6cfc7583]{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:5px;background:var(--accent-soft);color:var(--accent-fg)}.item-empty[data-v-6cfc7583]{padding-left:26px;margin-top:8px;font-size:.78rem}.quiz-settings[data-v-6cfc7583]{display:flex;align-items:center;gap:16px;margin:6px 0 2px 22px;flex-wrap:wrap}.lock-toggle[data-v-6cfc7583],.attempts[data-v-6cfc7583]{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted)}.lock-toggle input[data-v-6cfc7583]{width:15px;height:15px;cursor:pointer;accent-color:var(--accent-solid, var(--accent))}.attempts input[data-v-6cfc7583]{width:62px;padding:4px 7px;border-radius:6px;border:1px solid var(--border);background:var(--surface-hover);color:var(--text);font-size:.8rem}.overlay[data-v-c665db1e]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal[data-v-c665db1e]{width:100%;max-width:520px;padding:28px;display:flex;flex-direction:column;gap:20px}.modal-header[data-v-c665db1e]{display:flex;align-items:center;justify-content:space-between}.modal-header h3[data-v-c665db1e]{font-size:1.1rem;font-weight:700;color:var(--text)}.btn-icon[data-v-c665db1e]{background:transparent;color:var(--text-muted);border:none;padding:4px;border-radius:6px;cursor:pointer;display:flex;transition:color .2s,background .2s}.btn-icon[data-v-c665db1e]:hover{color:var(--text);background:var(--surface-hover)}form[data-v-c665db1e]{display:flex;flex-direction:column;gap:16px}.row[data-v-c665db1e]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field[data-v-c665db1e]{display:flex;flex-direction:column;gap:6px}.field label[data-v-c665db1e]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.required[data-v-c665db1e]{color:var(--danger-fg)}.hint[data-v-c665db1e]{font-size:.76rem;color:var(--text-faint);margin-top:-6px}.actions[data-v-c665db1e]{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.btn-ghost[data-v-c665db1e]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:10px 18px}.btn-ghost[data-v-c665db1e]:hover{background:var(--surface-hover);color:var(--text)}.spinner[data-v-c665db1e]{width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-c665db1e .7s linear infinite;display:inline-block}.error-msg[data-v-c665db1e]{padding:10px 14px;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-fg);border-radius:8px;font-size:.85rem}.modal-enter-active[data-v-c665db1e],.modal-leave-active[data-v-c665db1e]{transition:opacity .25s var(--ease-smooth)}.modal-enter-active .modal[data-v-c665db1e],.modal-leave-active .modal[data-v-c665db1e]{transition:transform .3s var(--ease-spring),opacity .25s var(--ease-smooth)}.modal-enter-from[data-v-c665db1e],.modal-leave-to[data-v-c665db1e]{opacity:0}.modal-enter-from .modal[data-v-c665db1e]{transform:scale(.92) translateY(16px)}.modal-leave-to .modal[data-v-c665db1e]{transform:scale(.95) translateY(8px)}@keyframes spin-c665db1e{to{transform:rotate(360deg)}}.class-lens[data-v-692e2d16]{max-width:760px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:20px}.lens-head[data-v-692e2d16]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.head-titles[data-v-692e2d16]{display:flex;flex-direction:column;gap:4px;min-width:0}.eyebrow[data-v-692e2d16]{display:inline-flex;align-items:center;gap:6px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-fg-dim, var(--text-faint))}.lens-head h2[data-v-692e2d16]{font-size:1.3rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-ghost[data-v-692e2d16]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:8px 14px;font-size:.82rem;border-radius:8px;display:flex;align-items:center;gap:6px;cursor:pointer;flex-shrink:0;transition:background .2s,color .2s}.btn-ghost[data-v-692e2d16]:hover{background:var(--surface-hover);color:var(--text)}.error-msg[data-v-692e2d16]{padding:10px 14px;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-fg);border-radius:8px;font-size:.85rem}.editor-layout[data-v-bd35f570]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.layout-topbar[data-v-bd35f570]{position:sticky;top:0;z-index:20;flex-shrink:0}.layout-grid[data-v-bd35f570]{position:relative;flex:1;min-height:0;display:grid;grid-template-areas:"left main right";grid-template-columns:var(--col-left) minmax(0,1fr) var(--col-right);grid-template-rows:minmax(0,1fr);transition:grid-template-columns .4s var(--ease-smooth);padding-bottom:52px}.region[data-v-bd35f570]{position:relative;min-width:0;min-height:0;overflow:hidden}.region-left[data-v-bd35f570]{grid-area:left}.region-main[data-v-bd35f570]{grid-area:main}.region-right[data-v-bd35f570]{grid-area:right}.region-left[data-v-bd35f570]{border-right:1px solid var(--border-soft)}.region-right[data-v-bd35f570]{border-left:1px solid var(--border-soft)}.region-left[data-v-bd35f570]{transition:transform .45s var(--ease-smooth)}.region-left.is-receded[data-v-bd35f570]{transform-origin:left center;transform:perspective(2000px) rotateY(16deg)}.region-left[data-v-bd35f570] .node-card.is-receded{opacity:.2}.region-scroll[data-v-bd35f570]{height:100%;overflow-y:auto;padding:24px 22px;scrollbar-width:thin;scrollbar-color:var(--accent-soft-strong) transparent}.region-main>.region-scroll[data-v-bd35f570]{padding:24px}@media (max-width: 1100px){.region-left[data-v-bd35f570],.region-right[data-v-bd35f570]{position:absolute;top:0;bottom:0;z-index:30;width:var(--drawer-width);max-width:88vw;background:var(--drawer-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 20px 80px var(--shadow-color);transition:transform .32s var(--ease-smooth)}.region-left[data-v-bd35f570]{left:0;border-right:1px solid var(--border-soft)}.region-right[data-v-bd35f570]{right:0;border-left:1px solid var(--border-soft)}}.drawer-scrim[data-v-bd35f570]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.scrim-enter-active[data-v-bd35f570],.scrim-leave-active[data-v-bd35f570]{transition:opacity .25s ease}.scrim-enter-from[data-v-bd35f570],.scrim-leave-to[data-v-bd35f570]{opacity:0}.is-debug .region[data-v-bd35f570]{outline:1px dashed var(--accent-border);outline-offset:-1px}.region-tag[data-v-bd35f570]{position:absolute;top:6px;left:6px;z-index:40;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:6px;background:var(--accent);color:var(--text-on-accent);pointer-events:none;box-shadow:0 2px 8px var(--shadow-color);white-space:nowrap}.main-tag[data-v-bd35f570]{background:var(--info-solid)}@media (prefers-reduced-motion: reduce){.layout-grid[data-v-bd35f570],.region-left[data-v-bd35f570],.region-right[data-v-bd35f570],.scrim-enter-active[data-v-bd35f570],.scrim-leave-active[data-v-bd35f570]{transition:none!important}}.status-bar[data-v-ba86df1d]{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:16px;padding:10px 28px;border-radius:0;border-left:none;border-right:none;border-bottom:none;background:var(--panel-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.breadcrumb[data-v-ba86df1d]{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden}.sep[data-v-ba86df1d]{color:var(--text-faint);flex-shrink:0}.crumb[data-v-ba86df1d]{font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-crumb[data-v-ba86df1d]{color:var(--text-muted);max-width:200px}.node-crumb[data-v-ba86df1d]{color:var(--text);max-width:200px}.item-crumb[data-v-ba86df1d]{color:var(--accent-fg-dim)}.mode-badge[data-v-ba86df1d]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0;transition:all .3s var(--ease-smooth)}.mode-course[data-v-ba86df1d]{background:var(--surface-hover);color:var(--text-faint);border:1px solid var(--border)}.mode-node[data-v-ba86df1d]{background:var(--warning-bg);color:var(--warning-fg);border:1px solid var(--warning-border)}.mode-item[data-v-ba86df1d]{background:var(--accent-soft-strong);color:var(--accent-fg);border:1px solid var(--accent-border)}.complexity-badge[data-v-ba86df1d]{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:20px;white-space:nowrap;flex-shrink:0}.complexity-badge.simple[data-v-ba86df1d]{background:var(--surface-1);color:var(--text-faint);border:1px solid var(--border-soft)}.complexity-badge.advanced[data-v-ba86df1d]{background:var(--accent-soft);color:var(--accent-fg);border:1px solid var(--accent-border)}.lens-badge[data-v-ba86df1d]{display:flex;align-items:center;gap:4px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.lens-author[data-v-ba86df1d]{background:var(--surface-1);color:var(--text-faint);border:1px solid var(--border)}.lens-author[data-v-ba86df1d]:hover{color:var(--text-muted);background:var(--surface-hover)}.lens-student[data-v-ba86df1d]{background:var(--info-bg);color:var(--info-fg);border:1px solid var(--info-border)}.lens-student[data-v-ba86df1d]:hover{background:var(--info-bg);filter:brightness(1.15)}.controls[data-v-ba86df1d]{display:flex;align-items:center;gap:4px;flex-shrink:0}.ctrl-btn[data-v-ba86df1d]{background:var(--surface-1);color:var(--text-faint);border:1px solid var(--border);border-radius:6px;padding:5px 7px;display:flex;align-items:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.ctrl-btn[data-v-ba86df1d]:hover{background:var(--surface-3);color:var(--text-muted)}.ctrl-btn.active[data-v-ba86df1d]{background:var(--accent-soft-strong);color:var(--accent-fg);border-color:var(--accent-border)}.shortcuts[data-v-ba86df1d]{display:flex;align-items:center;gap:4px;flex-shrink:0}.shortcut-btn[data-v-ba86df1d]{background:var(--surface-1);color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:5px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.shortcut-btn[data-v-ba86df1d]:hover:not(:disabled){background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.shortcut-btn[data-v-ba86df1d]:disabled{opacity:.3;cursor:default}kbd[data-v-ba86df1d]{font-family:inherit;font-size:.68rem;color:var(--text-faint);background:var(--surface-hover);border:1px solid var(--border);border-radius:4px;padding:1px 4px}.hint[data-v-ba86df1d]{font-size:.72rem;color:var(--text-faint);display:flex;align-items:center;gap:5px}.page[data-v-b6ca1869]{height:100vh;overflow:hidden}.topbar[data-v-b6ca1869]{display:flex;align-items:center;gap:16px;padding:12px 28px;border-radius:0;border-left:none;border-right:none;border-top:none}.btn-back[data-v-b6ca1869]{background:transparent;color:var(--text-muted);border:none;padding:7px 12px;border-radius:8px;font-size:.83rem;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:color .2s,background .2s;flex-shrink:0}.btn-back[data-v-b6ca1869]:hover{color:var(--text);background:var(--surface-hover)}.course-meta[data-v-b6ca1869]{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.pill[data-v-b6ca1869]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0}.pill.beginner[data-v-b6ca1869]{background:var(--success-bg);color:var(--success-fg);border:1px solid var(--success-border)}.pill.intermediate[data-v-b6ca1869]{background:var(--warning-bg);color:var(--warning-fg);border:1px solid var(--warning-border)}.pill.advanced[data-v-b6ca1869]{background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-border)}.course-title[data-v-b6ca1869]{font-size:1rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-ghost[data-v-b6ca1869]{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:7px 14px;font-size:.82rem;border-radius:8px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:background .2s,color .2s;flex-shrink:0}.btn-ghost[data-v-b6ca1869]:hover{background:var(--surface-hover);color:var(--text)}.main-course[data-v-b6ca1869]{max-width:720px;margin:0 auto;width:100%}.student-hero[data-v-b6ca1869]{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:var(--panel-solid)}.course-objectives-block[data-v-b6ca1869]{margin-bottom:28px}.state-msg[data-v-b6ca1869]{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 20px;color:var(--text-muted)}.spinner-large[data-v-b6ca1869]{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent-fg-dim);border-radius:50%;animation:spin-b6ca1869 .8s linear infinite}.overlay[data-v-b6ca1869]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.confirm-modal[data-v-b6ca1869]{max-width:380px;width:100%;padding:28px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.warn-icon[data-v-b6ca1869]{color:var(--warning-fg)}.confirm-modal h3[data-v-b6ca1869]{font-size:1rem;font-weight:700;color:var(--text)}.confirm-modal p[data-v-b6ca1869]{font-size:.85rem;color:var(--text-muted)}.confirm-actions[data-v-b6ca1869]{display:flex;gap:10px;margin-top:6px}.btn-danger[data-v-b6ca1869]{background:var(--danger-solid);color:var(--text-on-accent);padding:9px 20px;font-size:.85rem;border-radius:8px;min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .2s}.btn-danger[data-v-b6ca1869]:hover:not(:disabled){background:var(--danger-solid-hover)}.spinner[data-v-b6ca1869]{width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-b6ca1869 .7s linear infinite;display:inline-block}.modal-enter-active[data-v-b6ca1869],.modal-leave-active[data-v-b6ca1869]{transition:opacity .25s var(--ease-smooth)}.modal-enter-from[data-v-b6ca1869],.modal-leave-to[data-v-b6ca1869]{opacity:0}@keyframes spin-b6ca1869{to{transform:rotate(360deg)}}:root{--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--bg-gradient: linear-gradient(135deg, #1a0533 0%, #0d1117 40%, #0a1628 100%);--text: rgba(255, 255, 255, .92);--text-muted: rgba(255, 255, 255, .55);--text-faint: rgba(255, 255, 255, .32);--text-on-accent: #ffffff;--text-on-warning:#1c1407;--surface-1: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .07);--surface-3: rgba(255, 255, 255, .1);--surface-hover: rgba(255, 255, 255, .08);--surface-sel: rgba(255, 255, 255, .09);--glass-bg: rgba(255, 255, 255, .07);--surface-input: rgba(255, 255, 255, .07);--panel-bg: rgba(13, 10, 25, .75);--panel-solid: rgba(18, 12, 36, .55);--overlay-solid: rgba(12, 8, 28, .98);--drawer-bg: rgba(13, 10, 25, .96);--scrim: rgba(0, 0, 0, .55);--select-bg: #1a0533;--border: rgba(255, 255, 255, .1);--border-soft: rgba(255, 255, 255, .06);--border-top: rgba(255, 255, 255, .18);--border-strong: rgba(255, 255, 255, .2);--border-focus: rgba(255, 255, 255, .4);--shadow-color: rgba(0, 0, 0, .28);--shadow-card: 0 4px 24px rgba(0, 0, 0, .2);--shadow-elevated: 0 24px 80px rgba(0, 0, 0, .4);--shadow-dropdown: 0 20px 60px rgba(0, 0, 0, .7);--accent: #7c3aed;--accent-hover: #6d28d9;--accent-grad: linear-gradient(135deg, #7c3aed, #6d28d9);--accent-glow: rgba(124, 58, 237, .35);--accent-soft: rgba(124, 58, 237, .15);--accent-soft-strong: rgba(124, 58, 237, .22);--accent-fg: #c4b5fd;--accent-fg-dim: #a78bfa;--accent-border: rgba(124, 58, 237, .35);--accent-edge: rgba(167, 139, 250, .45);--accent-solid: rgba(124, 58, 237, .75);--accent-solid-hover: rgba(124, 58, 237, .9);--success-bg: rgba(52, 211, 153, .16);--success-fg: #6ee7b7;--success-border: rgba(52, 211, 153, .3);--warning-bg: rgba(245, 158, 11, .2);--warning-fg: #fcd34d;--warning-border: rgba(245, 158, 11, .3);--warning-solid: rgba(245, 158, 11, .85);--warning-solid-hover: #fbbf24;--warning-solid-border: rgba(251, 191, 36, .9);--warning-grad: linear-gradient(90deg, #fbbf24, #f59e0b);--danger-bg: rgba(239, 68, 68, .2);--danger-fg: #fca5a5;--danger-border: rgba(239, 68, 68, .35);--danger-solid: rgba(239, 68, 68, .8);--danger-solid-hover: #dc2626;--info-bg: rgba(56, 189, 248, .18);--info-fg: #7dd3fc;--info-border: rgba(56, 189, 248, .3);--info-solid: rgba(14, 165, 233, .7);--info-solid-hover: rgba(14, 165, 233, .9);--info-solid-border: rgba(56, 189, 248, .85);--toggle-track: rgba(255, 255, 255, .1);--toggle-track-border: rgba(255, 255, 255, .12);--toggle-thumb: rgba(255, 255, 255, .7);--family-intro: #60a5fa;--family-content: #a78bfa;--family-active: #34d399;--family-assessment: #fbbf24;--family-media: #38bdf8}:root[data-mode=light]{--bg-gradient: linear-gradient(135deg, #ede9fe 0%, #eef2ff 42%, #e0f2fe 100%);--text: rgba(28, 22, 46, .92);--text-muted: rgba(28, 22, 46, .6);--text-faint: rgba(28, 22, 46, .42);--text-on-accent: #ffffff;--text-on-warning:#3a2a07;--surface-1: rgba(80, 50, 140, .05);--surface-2: rgba(255, 255, 255, .66);--surface-3: rgba(255, 255, 255, .88);--surface-hover: rgba(124, 58, 237, .08);--surface-sel: rgba(124, 58, 237, .11);--glass-bg: rgba(255, 255, 255, .66);--surface-input: rgba(255, 255, 255, .78);--panel-bg: rgba(255, 255, 255, .82);--panel-solid: rgba(255, 255, 255, .86);--overlay-solid: rgba(255, 255, 255, .98);--drawer-bg: rgba(255, 255, 255, .96);--scrim: rgba(40, 28, 70, .32);--select-bg: #ffffff;--border: rgba(28, 22, 46, .12);--border-soft: rgba(28, 22, 46, .08);--border-top: rgba(255, 255, 255, .9);--border-strong: rgba(28, 22, 46, .22);--border-focus: rgba(124, 58, 237, .55);--shadow-color: rgba(80, 50, 140, .16);--shadow-card: 0 4px 20px rgba(80, 50, 140, .12);--shadow-elevated: 0 24px 70px rgba(80, 50, 140, .2);--shadow-dropdown: 0 20px 55px rgba(80, 50, 140, .25);--accent: #7c3aed;--accent-hover: #6d28d9;--accent-grad: linear-gradient(135deg, #7c3aed, #6d28d9);--accent-glow: rgba(124, 58, 237, .28);--accent-soft: rgba(124, 58, 237, .1);--accent-soft-strong: rgba(124, 58, 237, .16);--accent-fg: #6d28d9;--accent-fg-dim: #7c3aed;--accent-border: rgba(124, 58, 237, .3);--accent-edge: rgba(124, 58, 237, .4);--accent-solid: rgba(124, 58, 237, .92);--accent-solid-hover: #6d28d9;--success-bg: rgba(16, 185, 129, .14);--success-fg: #047857;--success-border: rgba(16, 185, 129, .32);--warning-bg: rgba(245, 158, 11, .16);--warning-fg: #b45309;--warning-border: rgba(245, 158, 11, .38);--warning-solid: rgba(245, 158, 11, .9);--warning-solid-hover: #d97706;--warning-solid-border: rgba(217, 119, 6, .85);--warning-grad: linear-gradient(90deg, #f59e0b, #d97706);--danger-bg: rgba(239, 68, 68, .12);--danger-fg: #b91c1c;--danger-border: rgba(239, 68, 68, .32);--danger-solid: rgba(220, 38, 38, .9);--danger-solid-hover: #b91c1c;--info-bg: rgba(14, 165, 233, .13);--info-fg: #0369a1;--info-border: rgba(56, 189, 248, .42);--info-solid: rgba(2, 132, 199, .92);--info-solid-hover: #0369a1;--info-solid-border: rgba(2, 132, 199, .95);--toggle-track: rgba(28, 22, 46, .16);--toggle-track-border: rgba(28, 22, 46, .22);--toggle-thumb: #ffffff;--family-intro: #2563eb;--family-content: #7c3aed;--family-active: #059669;--family-assessment: #b45309;--family-media: #0284c7}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-gradient);min-height:100vh;background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;transition:color .3s var(--ease-smooth)}#app{min-height:100vh}button{background:var(--accent);color:var(--text-on-accent);border:none;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{background:var(--surface-3);color:var(--text-faint);cursor:not-allowed}input,textarea,select{padding:10px 13px;border:1.5px solid var(--border);border-radius:8px;font-size:.9rem;font-family:inherit;width:100%;background:var(--surface-input);color:var(--text);outline:none;transition:border-color .2s,background .2s}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,textarea:focus,select:focus{border-color:var(--border-focus);background:var(--surface-3)}select option{background:var(--select-bg);color:var(--text)}.glass{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-top-color:var(--border-top);border-radius:16px;box-shadow:var(--shadow-card)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}
