.welcome[data-v-342e3362]{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.welcome__bg[data-v-342e3362]{position:fixed;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(120,0,255,.15) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(0,200,255,.1) 0%,transparent 60%),radial-gradient(ellipse at 50% 80%,rgba(255,0,128,.08) 0%,transparent 60%),linear-gradient(180deg,#0a0a1e,#12122a,#0a0a1e);z-index:0}.welcome__content[data-v-342e3362]{position:relative;z-index:1;max-width:560px;width:100%;padding:40px 24px;display:flex;flex-direction:column;gap:24px}.welcome__hero[data-v-342e3362]{text-align:center;margin-bottom:8px}.welcome__icon[data-v-342e3362]{font-size:56px;margin-bottom:12px;animation:float-342e3362 3s ease-in-out infinite}@keyframes float-342e3362{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.welcome__title[data-v-342e3362]{font-size:40px;font-weight:800;background:linear-gradient(135deg,#22d3ee,#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;font-family:Inter,sans-serif;letter-spacing:-1px}.welcome__subtitle[data-v-342e3362]{font-size:15px;color:#ffffff80;line-height:1.7;margin:12px 0 0}.welcome__dropzone[data-v-342e3362]{border:2px dashed rgba(255,255,255,.15);border-radius:16px;padding:32px;text-align:center;transition:all .3s;background:#ffffff05}.welcome__dropzone--active[data-v-342e3362]{border-color:#22d3ee;background:#22d3ee0d;box-shadow:0 0 30px #22d3ee1a}.welcome__dropzone-inner[data-v-342e3362]{color:#fff6;font-size:14px}.welcome__dropzone-inner p[data-v-342e3362]{margin:4px 0}.welcome__dropzone-icon[data-v-342e3362]{font-size:36px;display:block;margin-bottom:8px}.welcome__dropzone-or[data-v-342e3362]{font-size:12px;opacity:.5}.welcome__file-btn[data-v-342e3362]{display:inline-block;margin-top:8px;padding:8px 20px;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff9;cursor:pointer;font-size:13px;transition:all .2s}.welcome__file-btn[data-v-342e3362]:hover{border-color:#fff6;color:#fff;background:#ffffff0d}.welcome__textarea-wrap[data-v-342e3362]{display:flex;flex-direction:column;gap:12px}.welcome__textarea[data-v-342e3362]{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff08;color:#e2e8f0;font-family:JetBrains Mono,monospace;font-size:12px;resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box}.welcome__textarea[data-v-342e3362]:focus{border-color:#22d3ee80}.welcome__load-btn[data-v-342e3362]{align-self:flex-end;padding:10px 28px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;font-family:Inter,sans-serif}.welcome__load-btn[data-v-342e3362]:hover{transform:translateY(-1px);box-shadow:0 4px 20px #22d3ee4d}.welcome__errors[data-v-342e3362]{display:flex;flex-direction:column;gap:6px}.welcome__error[data-v-342e3362]{padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:13px}.welcome__actions[data-v-342e3362]{display:flex;flex-direction:column;gap:10px;align-items:center}.welcome__sample-btn[data-v-342e3362],.welcome__prompt-btn[data-v-342e3362]{padding:10px 22px;border-radius:10px;font-size:14px;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;width:100%;text-align:center}.welcome__sample-btn[data-v-342e3362]{background:#a78bfa26;border:1px solid rgba(167,139,250,.3);color:#c4b5fd}.welcome__sample-btn[data-v-342e3362]:hover{background:#a78bfa40;border-color:#a78bfa80;color:#fff}.welcome__prompt-btn[data-v-342e3362]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);color:#ffffff80}.welcome__prompt-btn[data-v-342e3362]:hover{background:#ffffff14;border-color:#fff3;color:#fffc}.skill-card[data-v-0bfca351]{position:relative;display:flex;align-items:center;gap:10px;width:180px;padding:8px 12px;border-radius:10px;border:1.5px solid var(--border-muted);background:var(--bg-node);cursor:pointer;transition:all .25s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.skill-card[data-v-0bfca351]:hover{transform:translateY(-2px) scale(1.03);z-index:100;box-shadow:0 8px 20px #00000040}.skill-card--not-started[data-v-0bfca351]{border-left:3px solid var(--node-not-started-border)}.skill-card--in-progress[data-v-0bfca351]{border-left:3px solid var(--node-in-progress-border);box-shadow:0 0 10px color-mix(in srgb,var(--accent-amber) 20%,transparent);animation:card-pulse-amber-0bfca351 2.5s ease-in-out infinite}.skill-card--completed[data-v-0bfca351]{border-left:3px solid var(--node-completed-border);box-shadow:0 0 10px color-mix(in srgb,var(--node-completed-border) 20%,transparent)}.skill-card--root[data-v-0bfca351]{width:210px;padding:10px 14px;background:linear-gradient(135deg,#6339f933,#22d3ee26);border-color:#22d3ee99;border-left-width:4px}@keyframes card-pulse-amber-0bfca351{0%,to{box-shadow:0 0 6px color-mix(in srgb,var(--accent-amber) 20%,transparent)}50%{box-shadow:0 0 14px color-mix(in srgb,var(--accent-amber) 40%,transparent)}}.skill-card__icon[data-v-0bfca351]{font-size:20px;line-height:1;flex-shrink:0}.skill-card--root .skill-card__icon[data-v-0bfca351]{font-size:24px}.skill-card__body[data-v-0bfca351]{display:flex;flex-direction:column;gap:3px;min-width:0}.skill-card__name[data-v-0bfca351]{font-size:12px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.skill-card--root .skill-card__name[data-v-0bfca351]{font-size:13px}.skill-card__badge[data-v-0bfca351]{font-size:10px;font-weight:600;font-family:Inter,sans-serif;padding:1px 6px;border-radius:4px;width:-moz-fit-content;width:fit-content}.skill-card__badge--not_started[data-v-0bfca351]{background:#ffffff12;color:var(--text-muted)}.skill-card__badge--in_progress[data-v-0bfca351]{background:color-mix(in srgb,var(--accent-amber) 18%,transparent);color:var(--accent-amber)}.skill-card__badge--completed[data-v-0bfca351]{background:color-mix(in srgb,var(--node-completed-border) 18%,transparent);color:var(--node-completed-border)}.skill-tooltip--card[data-v-0bfca351]{left:calc(100% + 12px);top:50%;transform:translateY(-50%);right:auto;bottom:auto}.skill-orb[data-v-0bfca351]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s ease;position:relative}.skill-orb[data-v-0bfca351]:hover{transform:scale(1.2);z-index:100}.skill-orb--root[data-v-0bfca351]{cursor:default!important}.skill-orb--root[data-v-0bfca351]:hover{transform:none!important}.skill-orb__icon[data-v-0bfca351]{font-size:22px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.skill-orb__handle[data-v-0bfca351]{width:1px!important;height:1px!important;background:transparent!important;border:none!important;min-width:1px!important;min-height:1px!important;opacity:0}.skill-orb--not-started[data-v-0bfca351]{background:var(--node-not-started-bg);border:2.5px solid var(--node-not-started-border);box-shadow:0 0 4px #0000004d;transition:background .3s,border-color .3s}.skill-orb--not-started .skill-orb__icon[data-v-0bfca351]{opacity:.35;filter:grayscale(1) brightness(.7)}.skill-orb--not-started[data-v-0bfca351]:hover{background:var(--bg-node-hover);border-color:var(--border-node);box-shadow:0 0 10px #6464b426}.skill-orb--in-progress[data-v-0bfca351]{background:var(--node-in-progress-bg);border:2.5px solid var(--node-in-progress-border);box-shadow:0 0 14px color-mix(in srgb,var(--accent-amber) 45%,transparent),0 0 28px color-mix(in srgb,var(--accent-amber) 12%,transparent);animation:orb-pulse-amber-0bfca351 2.5s ease-in-out infinite;transition:background .3s,border-color .3s}.skill-orb--in-progress .skill-orb__icon[data-v-0bfca351]{opacity:1;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent-amber) 70%,transparent))}.skill-orb--in-progress[data-v-0bfca351]:hover{border-color:var(--accent-amber);box-shadow:0 0 22px color-mix(in srgb,var(--accent-amber) 60%,transparent),0 0 44px color-mix(in srgb,var(--accent-amber) 20%,transparent)}@keyframes orb-pulse-amber-0bfca351{0%,to{box-shadow:0 0 10px color-mix(in srgb,var(--accent-amber) 35%,transparent),0 0 20px color-mix(in srgb,var(--accent-amber) 10%,transparent)}50%{box-shadow:0 0 20px color-mix(in srgb,var(--accent-amber) 55%,transparent),0 0 40px color-mix(in srgb,var(--accent-amber) 20%,transparent)}}.skill-orb--completed[data-v-0bfca351]{background:var(--node-completed-bg);border:2.5px solid var(--node-completed-border);box-shadow:0 0 16px color-mix(in srgb,var(--node-completed-border) 50%,transparent),0 0 32px color-mix(in srgb,var(--node-completed-border) 15%,transparent);transition:background .3s,border-color .3s}.skill-orb--completed .skill-orb__icon[data-v-0bfca351]{opacity:1;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--node-completed-border) 60%,transparent))}.skill-orb--completed[data-v-0bfca351]:hover{border-color:var(--accent-cyan);box-shadow:0 0 24px color-mix(in srgb,var(--node-completed-border) 70%,transparent),0 0 48px color-mix(in srgb,var(--node-completed-border) 25%,transparent)}.skill-orb--root[data-v-0bfca351]{width:80px;height:80px;background:linear-gradient(135deg,#6339f9e6,#22d3eecc);border:3px solid rgba(255,255,255,.4);box-shadow:0 0 30px #6339f980,0 0 60px #22d3ee33;animation:root-glow-0bfca351 3s ease-in-out infinite}.skill-orb--root .skill-orb__icon[data-v-0bfca351]{font-size:30px;opacity:1;filter:none}.skill-orb--root[data-v-0bfca351]:hover{transform:scale(1.15)}@keyframes root-glow-0bfca351{0%,to{box-shadow:0 0 20px #6339f966,0 0 40px #22d3ee26}50%{box-shadow:0 0 35px #6339f9b3,0 0 70px #22d3ee4d}}.skill-tooltip[data-v-0bfca351]{position:absolute;left:calc(100% + 16px);top:50%;transform:translateY(-50%);width:320px;background:#0c0c23f2;backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;z-index:9999;pointer-events:auto;box-shadow:0 8px 32px #00000080,0 0 1px #ffffff1a}.tooltip-fade-enter-active[data-v-0bfca351],.tooltip-fade-leave-active[data-v-0bfca351]{transition:opacity .2s ease,transform .2s ease}.tooltip-fade-enter-from[data-v-0bfca351],.tooltip-fade-leave-to[data-v-0bfca351]{opacity:0;transform:translateY(-50%) translate(-8px)}.tooltip__header[data-v-0bfca351]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.tooltip__icon[data-v-0bfca351]{font-size:28px;line-height:1;flex-shrink:0}.tooltip__title-area[data-v-0bfca351]{flex:1;min-width:0}.tooltip__title[data-v-0bfca351]{font-size:14px;font-weight:700;color:#fff;margin:0;line-height:1.3}.tooltip__category[data-v-0bfca351]{font-size:11px;color:#fff6;display:block}.tooltip__status[data-v-0bfca351]{margin-bottom:8px}.tooltip__tag[data-v-0bfca351]{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px}.tooltip__tag--completed[data-v-0bfca351]{background:#22d3ee26;color:#22d3ee;border:1px solid rgba(34,211,238,.3)}.tooltip__tag--in-progress[data-v-0bfca351]{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.tooltip__tag--not-started[data-v-0bfca351]{background:#ffffff0f;color:#ffffff73;border:1px solid rgba(255,255,255,.1)}.tooltip__desc[data-v-0bfca351]{font-size:12px;line-height:1.6;color:#ffffffa6;margin:0 0 10px}.tooltip__desc--rich[data-v-0bfca351]{white-space:pre-line;max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.tooltip__amazon[data-v-0bfca351]{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:8px 12px;margin-bottom:10px;border-radius:8px;background:linear-gradient(135deg,#f90,#e88600);color:#fff;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ff99004d}.tooltip__amazon[data-v-0bfca351]:hover{background:linear-gradient(135deg,#ffad33,#f90);box-shadow:0 4px 16px #ff990080;transform:translateY(-1px)}.tooltip__teacher[data-v-0bfca351]{display:block;width:100%;margin-top:6px;padding:8px 10px;border:0;border-radius:8px;background:linear-gradient(180deg,#6a4ec9,#4a31a6);color:#fff;font:inherit;font-weight:600;text-align:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 2px 6px #5032b447}.tooltip__teacher[data-v-0bfca351]:hover{transform:translateY(-1px);background:linear-gradient(180deg,#7a60d8,#5b3fbc);box-shadow:0 3px 10px #5032b473}.tooltip__hint[data-v-0bfca351]{font-size:10px;color:#ffffff40;text-align:center;letter-spacing:.5px}.tooltip__hint--root[data-v-0bfca351]{color:#4ade8099}.action-overlay[data-v-950e500a]{position:fixed;inset:0;z-index:500;background:#00000059;backdrop-filter:blur(2px);animation:overlay-in-950e500a .15s ease}@keyframes overlay-in-950e500a{0%{opacity:0}to{opacity:1}}.action-popup[data-v-950e500a]{position:fixed;min-width:200px;background:#0c0c23f7;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:6px;box-shadow:0 12px 40px #0009;animation:popup-in-950e500a .15s cubic-bezier(.34,1.56,.64,1)}@keyframes popup-in-950e500a{0%{opacity:0;transform:scale(.9) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.action-popup__node-name[data-v-950e500a]{font-size:11px;color:#fff6;font-family:Inter,sans-serif;padding:4px 10px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.action-popup__item[data-v-950e500a]{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;color:var(--text-primary, #fff);font-size:13px;font-family:Inter,sans-serif;cursor:pointer;border-radius:8px;transition:background .15s;text-align:left}.action-popup__item[data-v-950e500a]:hover{background:#ffffff14}.action-popup__item--cancel[data-v-950e500a]{color:#ffffff73;font-size:12px}.action-popup__item-icon[data-v-950e500a]{font-size:16px;width:20px;text-align:center}.action-popup__divider[data-v-950e500a]{height:1px;background:#ffffff12;margin:4px 6px}.action-sheet[data-v-950e500a]{position:fixed;bottom:0;left:0;right:0;background:var(--bg-surface, #0e0e2e);border-top:1px solid rgba(255,255,255,.1);border-radius:20px 20px 0 0;padding:12px 16px calc(env(safe-area-inset-bottom) + 16px);animation:sheet-in-950e500a .3s cubic-bezier(.32,.72,0,1)}@keyframes sheet-in-950e500a{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet__handle[data-v-950e500a]{width:36px;height:4px;background:#fff3;border-radius:2px;margin:0 auto 16px}.action-sheet__node-name[data-v-950e500a]{display:flex;align-items:center;gap:8px;font-size:13px;color:#ffffff80;font-family:Inter,sans-serif;margin-bottom:12px;padding:0 4px}.action-sheet__node-icon[data-v-950e500a]{font-size:16px}.action-sheet__actions[data-v-950e500a]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.action-sheet__btn[data-v-950e500a]{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:14px;color:#fff;cursor:pointer;transition:background .2s;text-align:left}.action-sheet__btn[data-v-950e500a]:active{background:#ffffff1a}.action-sheet__btn-icon[data-v-950e500a]{font-size:24px;flex-shrink:0}.action-sheet__btn-text[data-v-950e500a]{display:flex;flex-direction:column;gap:2px}.action-sheet__btn-label[data-v-950e500a]{font-size:15px;font-weight:600;font-family:Inter,sans-serif}.action-sheet__btn-desc[data-v-950e500a]{font-size:12px;color:#ffffff73;font-family:Inter,sans-serif}.action-sheet__cancel[data-v-950e500a]{width:100%;padding:14px;background:#ffffff0f;border:none;border-radius:14px;color:#fff9;font-size:15px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:background .2s}.action-sheet__cancel[data-v-950e500a]:active{background:#ffffff1a}.edge-overlay[data-v-89739e88]{position:fixed;inset:0;z-index:500;background:#00000059;backdrop-filter:blur(2px);animation:overlay-in-89739e88 .15s ease}@keyframes overlay-in-89739e88{0%{opacity:0}to{opacity:1}}.edge-popup[data-v-89739e88]{position:fixed;min-width:230px;background:#0c0c23f7;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:6px;box-shadow:0 12px 40px #0009;animation:popup-in-89739e88 .15s cubic-bezier(.34,1.56,.64,1)}@keyframes popup-in-89739e88{0%{opacity:0;transform:scale(.9) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.edge-popup__between[data-v-89739e88]{display:flex;align-items:center;gap:4px;padding:4px 10px 6px;font-size:11px;color:#fff6;font-family:Inter,sans-serif;flex-wrap:wrap}.edge-popup__node[data-v-89739e88]{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edge-popup__arrow[data-v-89739e88]{opacity:.5;flex-shrink:0}.edge-popup__item[data-v-89739e88]{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;color:#fff;font-size:13px;font-family:Inter,sans-serif;cursor:pointer;border-radius:8px;transition:background .15s;text-align:left}.edge-popup__item[data-v-89739e88]:hover{background:#ffffff14}.edge-popup__item--cancel[data-v-89739e88]{color:#ffffff73;font-size:12px}.edge-popup__item-icon[data-v-89739e88]{font-size:16px;width:20px;text-align:center}.edge-popup__divider[data-v-89739e88]{height:1px;background:#ffffff12;margin:4px 6px}.edge-popup__icons[data-v-89739e88]{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px 6px}.edge-popup__icon-btn[data-v-89739e88]{width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:#ffffff0d;font-size:16px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.edge-popup__icon-btn[data-v-89739e88]:hover{background:#ffffff1f}.edge-popup__icon-btn--active[data-v-89739e88]{border-color:var(--accent-cyan, #22d3ee);background:color-mix(in srgb,var(--accent-cyan, #22d3ee) 20%,transparent)}.edge-popup__input[data-v-89739e88]{width:100%;box-sizing:border-box;padding:8px 10px;margin:0 6px;width:calc(100% - 12px);background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:13px;font-family:Inter,sans-serif;outline:none}.edge-popup__input[data-v-89739e88]:focus{border-color:var(--accent-cyan, #22d3ee)}.edge-popup__input[data-v-89739e88]::-moz-placeholder{color:#ffffff4d}.edge-popup__input[data-v-89739e88]::placeholder{color:#ffffff4d}.edge-popup__form-actions[data-v-89739e88]{display:flex;gap:6px;padding:6px 6px 0}.edge-popup__back[data-v-89739e88]{flex:1;padding:7px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:#ffffff80;font-size:12px;cursor:pointer;font-family:Inter,sans-serif}.edge-popup__confirm[data-v-89739e88]{flex:2;padding:7px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);border:none;border-radius:7px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.edge-popup__confirm[data-v-89739e88]:disabled{opacity:.35;cursor:not-allowed}.edge-popup__confirm[data-v-89739e88]:not(:disabled):hover{transform:translateY(-1px)}.edge-sheet[data-v-89739e88]{position:fixed;bottom:0;left:0;right:0;background:var(--bg-surface, #0e0e2e);border-top:1px solid rgba(255,255,255,.1);border-radius:20px 20px 0 0;padding:12px 16px calc(env(safe-area-inset-bottom) + 16px);animation:sheet-in-89739e88 .3s cubic-bezier(.32,.72,0,1)}@keyframes sheet-in-89739e88{0%{transform:translateY(100%)}to{transform:translateY(0)}}.edge-sheet__handle[data-v-89739e88]{width:36px;height:4px;background:#fff3;border-radius:2px;margin:0 auto 16px}.edge-sheet__between[data-v-89739e88]{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffffff73;font-family:Inter,sans-serif;margin-bottom:12px;padding:0 4px;flex-wrap:wrap}.edge-sheet__arrow[data-v-89739e88]{opacity:.5}.edge-sheet__actions[data-v-89739e88]{margin-bottom:12px}.edge-sheet__btn[data-v-89739e88]{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:14px;color:#fff;cursor:pointer;text-align:left}.edge-sheet__btn-icon[data-v-89739e88]{font-size:24px;flex-shrink:0}.edge-sheet__btn-text[data-v-89739e88]{display:flex;flex-direction:column;gap:2px}.edge-sheet__btn-label[data-v-89739e88]{font-size:15px;font-weight:600;font-family:Inter,sans-serif}.edge-sheet__btn-desc[data-v-89739e88]{font-size:12px;color:#ffffff73;font-family:Inter,sans-serif}.edge-sheet__input[data-v-89739e88]{width:100%;box-sizing:border-box;padding:12px 14px;margin-bottom:10px;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;font-size:15px;font-family:Inter,sans-serif;outline:none}.edge-sheet__input[data-v-89739e88]:focus{border-color:var(--accent-cyan, #22d3ee)}.edge-sheet__input[data-v-89739e88]::-moz-placeholder{color:#ffffff4d}.edge-sheet__input[data-v-89739e88]::placeholder{color:#ffffff4d}.edge-sheet__insert[data-v-89739e88]{width:100%;padding:14px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);border:none;border-radius:14px;color:#fff;font-size:15px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;margin-bottom:10px;transition:all .2s}.edge-sheet__insert[data-v-89739e88]:disabled{opacity:.35;cursor:not-allowed}.edge-sheet__cancel[data-v-89739e88]{width:100%;padding:14px;background:#ffffff0f;border:none;border-radius:14px;color:#fff9;font-size:15px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer}.confirm-overlay[data-v-de7fe622]{position:fixed;inset:0;z-index:2000;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:overlay-in-de7fe622 .15s ease;padding:16px}@keyframes overlay-in-de7fe622{0%{opacity:0}to{opacity:1}}.confirm-modal[data-v-de7fe622]{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:16px;padding:28px 24px 22px;width:100%;max-width:360px;text-align:center;box-shadow:0 20px 60px #0009;animation:modal-in-de7fe622 .2s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-in-de7fe622{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.confirm-modal__icon[data-v-de7fe622]{font-size:32px;margin-bottom:12px}.confirm-modal__message[data-v-de7fe622]{font-size:14px;line-height:1.65;color:var(--text-secondary);font-family:Inter,sans-serif;margin-bottom:22px}.confirm-modal__actions[data-v-de7fe622]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-modal__btn[data-v-de7fe622]{padding:11px;border-radius:10px;border:1px solid var(--border-muted);font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .18s;min-height:44px}.confirm-modal__btn--cancel[data-v-de7fe622]{background:var(--border-subtle);color:var(--text-secondary)}.confirm-modal__btn--cancel[data-v-de7fe622]:hover{background:var(--border-muted);color:var(--text-primary)}.confirm-modal__btn--ok[data-v-de7fe622]{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:transparent;color:#fff}.confirm-modal__btn--ok[data-v-de7fe622]:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 4px 14px #ef444466}.confirm-modal__btn[data-v-de7fe622]:active{transform:scale(.96)}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}.tree-canvas[data-v-4e207e4a]{width:100%;height:100%;position:absolute;top:0;left:0}[data-v-4e207e4a] .vue-flow__pane{cursor:grab}[data-v-4e207e4a] .vue-flow__pane:active{cursor:grabbing}[data-v-4e207e4a] .vue-flow__node:hover{z-index:9999!important}[data-v-4e207e4a] .vue-flow__renderer,[data-v-4e207e4a] .vue-flow{background:var(--canvas-bg)!important;transition:background .3s ease}[data-v-4e207e4a] .vue-flow__edge.edge-locked .vue-flow__edge-path{stroke:var(--edge-locked);stroke-width:2px;transition:all .5s ease}[data-v-4e207e4a] .vue-flow__edge.edge-unlocked .vue-flow__edge-path{stroke:var(--edge-unlocked);stroke-width:2px;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent-cyan) 50%,transparent));transition:all .5s ease}[data-v-4e207e4a] .vue-flow__edge.edge-active .vue-flow__edge-path{stroke:var(--accent-amber);stroke-width:3px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent-amber) 60%,transparent));animation:edge-pulse-orange-4e207e4a 2s ease-in-out infinite;transition:all .5s ease}[data-v-4e207e4a] .vue-flow__edge.edge-completed .vue-flow__edge-path{stroke:var(--accent-cyan);stroke-width:3px;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent-cyan) 70%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent-cyan) 30%,transparent));transition:all .5s ease}[data-v-4e207e4a] .vue-flow__edge:hover .vue-flow__edge-path{filter:drop-shadow(0 0 10px rgba(255,255,255,.4))}[data-v-4e207e4a] .vue-flow__edge.edge-completed:hover .vue-flow__edge-path{filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent-cyan) 90%,transparent)) drop-shadow(0 0 24px color-mix(in srgb,var(--accent-cyan) 50%,transparent))}@keyframes edge-pulse-orange-4e207e4a{0%,to{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent-amber) 40%,transparent))}50%{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent-amber) 80%,transparent))}}[data-v-4e207e4a] .vue-flow__minimap{background:var(--bg-panel)!important;border:1px solid var(--border-muted)!important;border-radius:8px!important;overflow:hidden}[data-v-4e207e4a] .vue-flow__minimap svg{background:var(--bg-panel)!important}[data-v-4e207e4a] .vue-flow__minimap-mask{fill:#ffffff0d!important;stroke:var(--accent-cyan)!important;stroke-width:3!important}[data-theme=light][data-v-4e207e4a] .vue-flow__minimap-mask{fill:#0000000d!important;stroke:var(--accent-cyan)!important}.header-bar[data-v-acfd493b]{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-panel);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);transition:background .3s ease,border-color .3s ease;padding-top:max(10px,env(safe-area-inset-top))}.header-bar__left[data-v-acfd493b]{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.header-bar__logo[data-v-acfd493b]{font-size:22px;flex-shrink:0}.header-bar__title[data-v-acfd493b]{font-size:15px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-bar__right[data-v-acfd493b]{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-bar__progress[data-v-acfd493b]{display:flex;align-items:center;gap:8px}.header-bar__progress-bar[data-v-acfd493b]{width:100px;height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden;flex-shrink:0}.header-bar__progress-fill[data-v-acfd493b]{height:100%;border-radius:3px;background:linear-gradient(90deg,#22d3ee,#06b6d4);transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #22d3ee80}.header-bar__progress-text[data-v-acfd493b]{font-size:12px;color:var(--text-secondary);font-family:JetBrains Mono,monospace;white-space:nowrap}.header-bar__progress-pct[data-v-acfd493b]{opacity:.65}.header-bar__btn[data-v-acfd493b]{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border-muted);border-radius:8px;background:var(--border-subtle);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;white-space:nowrap;min-height:36px}.header-bar__btn[data-v-acfd493b]:hover{background:var(--border-muted);border-color:var(--text-muted);color:var(--text-primary)}.header-bar__btn[data-v-acfd493b]:active{transform:scale(.96)}.header-bar__btn--icon[data-v-acfd493b]{padding:7px 10px;min-width:36px;justify-content:center}.header-bar__btn--accent[data-v-acfd493b]{background:color-mix(in srgb,#22c55e 12%,transparent);border-color:color-mix(in srgb,#22c55e 40%,transparent);color:#4ade80}.header-bar__btn--accent[data-v-acfd493b]:hover{background:color-mix(in srgb,#22c55e 22%,transparent);border-color:#4ade80;color:#86efac}.header-bar__btn--active[data-v-acfd493b]{background:#6a4ec940;border-color:#6a4ec9}@media(max-width:670px){.header-bar[data-v-acfd493b]{padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top))}.header-bar__btn-text[data-v-acfd493b]{display:none}.header-bar__btn[data-v-acfd493b]{padding:7px 10px;gap:0}.header-bar__progress[data-v-acfd493b]{display:none}.header-bar__right[data-v-acfd493b]{gap:6px}}@media(max-width:400px){.header-bar__title[data-v-acfd493b]{font-size:13px}}.modal-overlay[data-v-ed15e357]{position:fixed;inset:0;z-index:1000;background:#0000008c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:overlay-in-ed15e357 .2s ease}@keyframes overlay-in-ed15e357{0%{opacity:0}to{opacity:1}}.modal[data-v-ed15e357]{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:16px;width:480px;max-width:92vw;box-shadow:0 24px 64px #00000080;animation:modal-in-ed15e357 .22s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-in-ed15e357{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal__header[data-v-ed15e357]{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border-subtle)}.modal__title[data-v-ed15e357]{font-size:16px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif}.modal__close[data-v-ed15e357]{width:28px;height:28px;border-radius:6px;border:none;background:var(--border-subtle);color:var(--text-secondary);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.modal__close[data-v-ed15e357]:hover{background:var(--border-muted);color:var(--text-primary)}.modal__body[data-v-ed15e357]{padding:22px;display:flex;flex-direction:column;gap:20px}.setting-section__label[data-v-ed15e357]{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font-family:Inter,sans-serif}.theme-options[data-v-ed15e357]{display:flex;gap:10px}.theme-option[data-v-ed15e357]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;border:1.5px solid var(--border-muted);background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s}.theme-option[data-v-ed15e357]:hover{background:var(--border-subtle);color:var(--text-primary)}.theme-option--active[data-v-ed15e357]{border-color:var(--accent-cyan);background:color-mix(in srgb,var(--accent-cyan) 10%,transparent);color:var(--accent-cyan);box-shadow:0 0 14px color-mix(in srgb,var(--accent-cyan) 20%,transparent)}.theme-option__icon[data-v-ed15e357]{font-size:18px}.divider[data-v-ed15e357]{height:1px;background:var(--border-subtle)}.layout-options[data-v-ed15e357]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.layout-option[data-v-ed15e357]{background:transparent;border:1.5px solid var(--border-muted);border-radius:12px;padding:16px 12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary);text-align:center}.layout-option[data-v-ed15e357]:hover{background:var(--border-subtle);border-color:var(--text-muted);color:var(--text-primary)}.layout-option--active[data-v-ed15e357]{background:color-mix(in srgb,var(--accent-cyan) 10%,transparent);border-color:var(--accent-cyan);color:var(--accent-cyan);box-shadow:0 0 16px color-mix(in srgb,var(--accent-cyan) 15%,transparent)}.layout-option--active[data-v-ed15e357]:hover{background:color-mix(in srgb,var(--accent-cyan) 14%,transparent)}.layout-option__preview[data-v-ed15e357]{width:72px;height:72px}.layout-option__preview svg[data-v-ed15e357]{width:100%;height:100%}.layout-option__name[data-v-ed15e357]{font-size:13px;font-weight:700;font-family:Inter,sans-serif}.layout-option__desc[data-v-ed15e357]{font-size:11px;opacity:.65;font-family:Inter,sans-serif;line-height:1.4}.overlay[data-v-bd6809d4]{position:fixed;inset:0;z-index:1000;background:#0000008c;backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;animation:overlay-in-bd6809d4 .18s ease}@keyframes overlay-in-bd6809d4{0%{opacity:0}to{opacity:1}}@media(min-width:600px){.overlay[data-v-bd6809d4]{align-items:center}}.modal[data-v-bd6809d4]{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:20px 20px 0 0;width:100%;max-width:560px;max-height:92dvh;display:flex;flex-direction:column;box-shadow:0 -8px 40px #0006;animation:modal-in-mobile-bd6809d4 .28s cubic-bezier(.32,.72,0,1)}@media(min-width:600px){.modal[data-v-bd6809d4]{border-radius:16px;max-width:520px;max-height:90vh;box-shadow:0 24px 64px #00000080;animation:modal-in-bd6809d4 .22s cubic-bezier(.34,1.56,.64,1)}}@keyframes modal-in-mobile-bd6809d4{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in-bd6809d4{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal__header[data-v-bd6809d4]{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modal__title-group[data-v-bd6809d4]{display:flex;align-items:center;gap:10px;min-width:0}.modal__icon[data-v-bd6809d4]{font-size:22px;flex-shrink:0}.modal__title[data-v-bd6809d4]{font-size:15px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal__subtitle[data-v-bd6809d4]{font-size:12px;color:var(--text-muted);font-family:Inter,sans-serif;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal__close[data-v-bd6809d4]{width:28px;height:28px;border-radius:6px;border:none;background:var(--border-subtle);color:var(--text-secondary);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.modal__close[data-v-bd6809d4]:hover{background:var(--border-muted);color:var(--text-primary)}.modal__body[data-v-bd6809d4]{padding:20px 22px calc(env(safe-area-inset-bottom) + 20px);display:flex;flex-direction:column;gap:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.info-banner[data-v-bd6809d4]{background:color-mix(in srgb,var(--accent-cyan) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-cyan) 25%,transparent);border-radius:10px;padding:10px 14px;font-size:12px;color:var(--text-secondary);line-height:1.6;font-family:Inter,sans-serif}.info-banner code[data-v-bd6809d4]{background:color-mix(in srgb,var(--accent-cyan) 15%,transparent);padding:1px 5px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent-cyan)}.dropzone[data-v-bd6809d4]{border:2px dashed var(--border-muted);border-radius:12px;padding:20px 16px;text-align:center;transition:all .25s;background:var(--border-subtle);color:var(--text-muted);font-size:13px;font-family:Inter,sans-serif}.dropzone--active[data-v-bd6809d4]{border-color:var(--accent-cyan);background:color-mix(in srgb,var(--accent-cyan) 8%,transparent);color:var(--text-secondary)}.dropzone__icon[data-v-bd6809d4]{font-size:28px;display:block;margin-bottom:6px}.dropzone p[data-v-bd6809d4]{margin:3px 0}.dropzone__or[data-v-bd6809d4]{font-size:11px;opacity:.5}.dropzone__file-btn[data-v-bd6809d4]{display:inline-block;margin-top:8px;padding:6px 18px;border:1px solid var(--border-muted);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .2s;background:transparent}.dropzone__file-btn[data-v-bd6809d4]:hover{border-color:var(--text-muted);color:var(--text-primary)}.input-area[data-v-bd6809d4]{display:flex;flex-direction:column;gap:10px}.input-area__textarea[data-v-bd6809d4]{width:100%;padding:12px 14px;border:1px solid var(--border-muted);border-radius:10px;background:var(--border-subtle);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:12px;resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box}.input-area__textarea[data-v-bd6809d4]:focus{border-color:color-mix(in srgb,var(--accent-cyan) 50%,transparent)}.input-area__actions[data-v-bd6809d4]{display:flex;justify-content:flex-end;gap:10px}.btn-prompt[data-v-bd6809d4]{padding:8px 16px;border:1px solid var(--border-muted);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s;text-decoration:none;display:flex;align-items:center}.btn-prompt[data-v-bd6809d4]:hover{color:var(--text-primary);border-color:var(--text-muted)}.btn-merge[data-v-bd6809d4]{padding:10px 22px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:all .2s}.btn-merge[data-v-bd6809d4]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #22d3ee4d}.btn-merge[data-v-bd6809d4]:active{transform:translateY(0)}.success-msg[data-v-bd6809d4]{padding:10px 14px;background:color-mix(in srgb,#22c55e 10%,transparent);border:1px solid color-mix(in srgb,#22c55e 30%,transparent);border-radius:8px;color:#86efac;font-size:13px;font-family:Inter,sans-serif;text-align:center;font-weight:600}.errors[data-v-bd6809d4]{display:flex;flex-direction:column;gap:6px}.error-item[data-v-bd6809d4]{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:12px;font-family:Inter,sans-serif}.md[data-v-eabca490]{line-height:1.55;word-break:break-word}.md h2[data-v-eabca490]{font-size:1.05rem;font-weight:700;margin:.6em 0 .3em}.md h3[data-v-eabca490]{font-size:1rem;font-weight:700;margin:.5em 0 .3em}.md h4[data-v-eabca490]{font-size:.95rem;font-weight:700;margin:.5em 0 .3em}.md p[data-v-eabca490]{margin:.4em 0}.md ul[data-v-eabca490]{margin:.4em 0 .4em 1.2em;padding:0}.md li[data-v-eabca490]{margin:.15em 0;list-style:disc}.md pre[data-v-eabca490]{background:#ffffff0f;padding:.6em .8em;border-radius:6px;overflow-x:auto;margin:.5em 0;font-size:.85em}.md code[data-v-eabca490]{background:#ffffff14;padding:.1em .35em;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.md pre code[data-v-eabca490]{background:transparent;padding:0}.md a[data-v-eabca490]{color:#6cf;text-decoration:underline}.chat-list[data-v-0dd64235]{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px}.chat-list__empty[data-v-0dd64235]{color:var(--text-muted, #9aa);font-size:.9rem;padding:1em 0}.chat-msg[data-v-0dd64235]{display:flex;flex-direction:column;gap:4px}.chat-msg__role[data-v-0dd64235]{font-size:.75rem;color:var(--text-muted, #9aa)}.chat-msg__body[data-v-0dd64235]{padding:8px 12px;border-radius:10px;font-size:.92rem;white-space:pre-wrap}.chat-msg--user .chat-msg__body[data-v-0dd64235]{background:#508cdc2e;align-self:flex-end;max-width:88%}.chat-msg--assistant .chat-msg__body[data-v-0dd64235]{background:#ffffff0f;align-self:flex-start;max-width:95%}.chat-input[data-v-e660df44]{padding:8px 12px 10px;border-top:1px solid var(--border-subtle, #333)}.chat-input__area[data-v-e660df44]{width:100%;resize:vertical;min-height:48px;max-height:160px;background:var(--bg-input, rgba(0,0,0,.25));color:inherit;border:1px solid var(--border-subtle, #333);border-radius:8px;padding:8px 10px;font:inherit}.chat-input__area[data-v-e660df44]:focus{outline:none;border-color:#6cf}.chat-input__area--err[data-v-e660df44]{border-color:#c44}.chat-input__row[data-v-e660df44]{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.chat-input__count[data-v-e660df44]{font-size:.75rem;color:var(--text-muted, #9aa)}.chat-input__count--err[data-v-e660df44]{color:#f55}.chat-input__send[data-v-e660df44]{background:linear-gradient(180deg,#4a7,#275);color:#fff;border:0;padding:6px 14px;border-radius:6px;font-weight:600;cursor:pointer}.chat-input__send[data-v-e660df44]:disabled{opacity:.4;cursor:not-allowed}.apikey-overlay[data-v-8865145f]{position:fixed;inset:0;background:#0009;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.apikey-modal[data-v-8865145f]{background:var(--bg-panel, #1a1f2c);color:inherit;padding:22px 22px 16px;border-radius:12px;max-width:440px;width:100%;border:1px solid var(--border-subtle, #333)}.apikey-modal h3[data-v-8865145f]{margin:0 0 10px;font-size:1.1rem}.apikey-modal__desc[data-v-8865145f]{font-size:.85rem;line-height:1.55;color:var(--text-muted, #aab);margin:0 0 8px}.apikey-modal__desc a[data-v-8865145f]{color:#6cf}.apikey-modal__input[data-v-8865145f]{width:100%;box-sizing:border-box;margin:10px 0 14px;background:#0000004d;color:inherit;padding:8px 10px;border:1px solid var(--border-subtle, #333);border-radius:6px;font:inherit}.apikey-modal__actions[data-v-8865145f]{display:flex;justify-content:flex-end;gap:8px}.apikey-modal__btn[data-v-8865145f]{background:#ffffff14;color:inherit;border:0;padding:6px 14px;border-radius:6px;cursor:pointer}.apikey-modal__btn--primary[data-v-8865145f]{background:linear-gradient(180deg,#4a7,#275);font-weight:600}.apikey-modal__btn[data-v-8865145f]:disabled{opacity:.4;cursor:not-allowed}.teacher-panel[data-v-e7b0d4b9]{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--bg-panel, #181c26);color:inherit;border-left:1px solid var(--border-subtle, #333);display:flex;flex-direction:column;z-index:110;box-shadow:-8px 0 28px #00000059}.teacher-panel__header[data-v-e7b0d4b9]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-subtle, #333)}.teacher-panel__title[data-v-e7b0d4b9]{display:flex;align-items:center;gap:6px;font-weight:600}.teacher-panel__icon[data-v-e7b0d4b9]{font-size:1.2em}.teacher-panel__actions[data-v-e7b0d4b9]{display:flex;gap:4px}.teacher-panel__icon-btn[data-v-e7b0d4b9]{background:transparent;border:0;color:inherit;cursor:pointer;padding:4px 8px;font-size:1.05em;border-radius:6px}.teacher-panel__icon-btn[data-v-e7b0d4b9]:hover{background:#ffffff14}.teacher-panel__error[data-v-e7b0d4b9]{background:#b432322e;border-bottom:1px solid rgba(180,50,50,.4);padding:6px 12px;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.teacher-panel__error-close[data-v-e7b0d4b9]{background:transparent;border:0;color:inherit;cursor:pointer}.slide-enter-active[data-v-e7b0d4b9],.slide-leave-active[data-v-e7b0d4b9]{transition:transform .25s ease}.slide-enter-from[data-v-e7b0d4b9],.slide-leave-to[data-v-e7b0d4b9]{transform:translate(100%)}.app[data-v-ccee82b3]{width:100vw;height:100vh;overflow:hidden;background:var(--bg-base);transition:background .3s ease}.app__main[data-v-ccee82b3]{width:100%;height:100%;position:relative}
