.prog-meta[data-v-b4775e7b]{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;flex-shrink:0}.prog-name-row-top[data-v-b4775e7b]{display:flex;align-items:center;gap:6px}.prog-field[data-v-b4775e7b]{width:100%;padding:8px 10px;border:1px solid var(--border-mid);border-radius:5px;font:inherit;font-size:13px;background:var(--bg);outline:none;color:var(--text);resize:none}.prog-field[data-v-b4775e7b]:focus{border-color:var(--text-dim)}.prog-field[data-v-b4775e7b]::placeholder{color:var(--text-faint)}.prog-desc-field[data-v-b4775e7b]{line-height:1.5;min-height:58px}.prog-name[data-v-b4775e7b]{flex:1;padding:8px 10px;border:1px solid var(--border-mid);border-radius:5px;font:inherit;font-size:13px;font-weight:500;background:var(--bg);outline:none;color:var(--text)}.prog-name[data-v-b4775e7b]::placeholder{color:var(--text-faint)}.save-fav-btn[data-v-b4775e7b]{width:34px;height:34px;flex-shrink:0;border:1px solid var(--border-mid);border-radius:5px;background:transparent;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s;touch-action:manipulation}.save-fav-btn[data-v-b4775e7b]:hover:not(:disabled){background:var(--tag-bg);border-color:var(--text-dim)}.save-fav-btn.saved[data-v-b4775e7b]{border-color:var(--green);cursor:default;opacity:.7}.meta-row[data-v-b4775e7b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meta-sep[data-v-b4775e7b]{color:var(--border-mid)}.meta-label[data-v-b4775e7b]{font-size:11px;color:var(--text-dim);white-space:nowrap}.meta-num[data-v-b4775e7b]{width:44px;padding:5px 6px;border:1px solid var(--border-mid);border-radius:5px;font:inherit;font-size:12px;font-weight:600;color:var(--text);text-align:center;background:var(--bg);outline:none}.meta-num[data-v-b4775e7b]:focus{border-color:var(--text-dim)}.apply-all[data-v-b4775e7b]{padding:5px 10px;border:1px solid var(--border-mid);border-radius:5px;background:transparent;font:inherit;font-size:11px;color:var(--text-mid);cursor:pointer;white-space:nowrap;transition:all .1s;touch-action:manipulation}.apply-all[data-v-b4775e7b]:hover{border-color:var(--text-dim);color:var(--text)}.all-desc-row[data-v-b4775e7b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;flex-shrink:0}.all-desc-label[data-v-b4775e7b]{font-size:11px;color:var(--text-dim);flex:1}.all-desc-btn[data-v-b4775e7b]{font-size:11px;padding:3px 9px;border:1px solid var(--border-mid);border-radius:4px;background:transparent;color:var(--text-mid);cursor:pointer;font-family:inherit;transition:all .1s;touch-action:manipulation}.all-desc-btn[data-v-b4775e7b]:hover{border-color:var(--text-dim);color:var(--text)}.empty[data-v-b4775e7b]{border:1px dashed var(--border-mid);border-radius:7px;padding:40px 24px;text-align:center;color:var(--text-faint);flex-shrink:0}.empty span[data-v-b4775e7b]{display:block;font-size:24px;margin-bottom:10px}.empty p[data-v-b4775e7b]{font-size:13px;line-height:1.7}.empty p b[data-v-b4775e7b]{color:var(--text-dim)}.block-wrap[data-v-b4775e7b]{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.block-header[data-v-b4775e7b]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;flex-wrap:wrap;gap:6px}.block-header.type-single[data-v-b4775e7b]{background:var(--bg-subtle)}.block-header.type-superset[data-v-b4775e7b]{background:color-mix(in srgb,#e67e22 10%,var(--bg-subtle));border-bottom:1px solid color-mix(in srgb,#e67e22 25%,transparent)}.block-header.type-circuit[data-v-b4775e7b]{background:color-mix(in srgb,var(--accent) 10%,var(--bg-subtle));border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.block-type-row[data-v-b4775e7b]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.type-selector[data-v-b4775e7b]{display:flex;border:1px solid var(--border-mid);border-radius:5px;overflow:hidden}.type-btn[data-v-b4775e7b]{padding:4px 9px;border:none;background:transparent;font:inherit;font-size:11px;color:var(--text-mid);cursor:pointer;transition:all .1s;touch-action:manipulation;white-space:nowrap}.type-btn[data-v-b4775e7b]:not(:last-child){border-right:1px solid var(--border-mid)}.type-btn.active.type-single[data-v-b4775e7b],.type-btn[data-v-b4775e7b]:not(.active):hover{background:var(--tag-bg);color:var(--text)}.type-btn.active[data-v-b4775e7b]{background:var(--text);color:var(--bg)}.block-header.type-superset .type-btn.active[data-v-b4775e7b]{background:#e67e22}.block-header.type-circuit .type-btn.active[data-v-b4775e7b]{background:var(--accent)}.rounds-label[data-v-b4775e7b]{font-size:11px;color:var(--text-dim);margin-left:4px}.rounds-input[data-v-b4775e7b]{width:40px;padding:3px 5px;border:1px solid var(--border-mid);border-radius:4px;font:inherit;font-size:12px;font-weight:600;text-align:center;background:var(--bg);color:var(--text);outline:none}.block-actions[data-v-b4775e7b]{display:flex;gap:3px;flex-shrink:0}.b-btn[data-v-b4775e7b]{width:26px;height:26px;border-radius:4px;border:1px solid var(--border-mid);background:transparent;cursor:pointer;font-size:12px;color:var(--text-dim);display:flex;align-items:center;justify-content:center;transition:all .1s;touch-action:manipulation}.b-btn[data-v-b4775e7b]:hover{background:var(--tag-bg);color:var(--text);border-color:var(--border-dim)}.b-btn.add[data-v-b4775e7b]{color:var(--accent);border-color:var(--accent)}.b-btn.add[data-v-b4775e7b]:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.b-btn.del[data-v-b4775e7b]:hover{background:var(--del-bg);border-color:var(--del-border);color:var(--del-text)}.prog-row[data-v-b4775e7b]{display:flex;align-items:flex-start;gap:6px;padding:7px 8px;background:var(--bg);border-top:1px solid var(--border);transition:background .1s}.prog-row[data-v-b4775e7b]:hover{background:var(--bg-subtle)}.prog-row.dragging[data-v-b4775e7b]{opacity:.4}.prog-row.dragover[data-v-b4775e7b]{border-top:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg))}.drag-handle[data-v-b4775e7b]{cursor:grab;font-size:14px;color:var(--border-mid);padding:2px 2px 0;flex-shrink:0;touch-action:none;-webkit-user-select:none;user-select:none;line-height:1}.drag-handle[data-v-b4775e7b]:hover{color:var(--text-dim)}.drag-handle[data-v-b4775e7b]:active{cursor:grabbing}.prog-num[data-v-b4775e7b]{font-size:11px;font-weight:700;color:var(--text-faint);min-width:16px;padding-top:2px;text-align:right;flex-shrink:0}.item-letter[data-v-b4775e7b]{font-size:11px;font-weight:700;color:var(--accent)}.prog-body[data-v-b4775e7b]{flex:1;min-width:0;cursor:pointer}.prog-ex-name[data-v-b4775e7b]{font-size:12px;font-weight:600;line-height:1.3;color:var(--text);margin-bottom:2px}.prog-name-row[data-v-b4775e7b]{display:flex;align-items:center;gap:5px;margin-bottom:2px}.prog-tag[data-v-b4775e7b]{font-size:9px;font-weight:700;color:var(--tag-text);background:var(--tag-bg);padding:1px 5px;border-radius:3px;flex-shrink:0;letter-spacing:.3px;text-transform:uppercase}.desc-toggle-btn[data-v-b4775e7b]{font-size:10px;color:var(--text-faint);background:transparent;border:1px solid var(--border);border-radius:3px;padding:1px 6px;cursor:pointer;transition:all .15s;font-family:inherit;touch-action:manipulation;margin-left:2px}.desc-toggle-btn[data-v-b4775e7b]:hover{border-color:var(--text-dim);color:var(--text-mid)}.desc-toggle-btn.active[data-v-b4775e7b]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.prog-desc-block[data-v-b4775e7b]{margin-bottom:8px;border-left:2px solid var(--border-mid);padding-left:8px}.prog-desc-inline[data-v-b4775e7b]{display:flex;align-items:center;gap:6px}.prog-desc[data-v-b4775e7b]{font-size:12px;color:var(--text-dim);line-height:1.6;white-space:pre-wrap;flex:1;min-width:0}.desc-empty[data-v-b4775e7b]{font-style:italic;color:var(--text-faint)}.desc-edit-inline[data-v-b4775e7b]{flex-shrink:0;font-size:13px;padding:2px 4px;border:1px solid transparent;border-radius:3px;background:transparent;cursor:pointer;transition:all .1s;touch-action:manipulation;display:flex;align-items:center}.desc-edit-inline[data-v-b4775e7b]:hover{border-color:var(--border-mid);color:var(--text-mid);background:var(--tag-bg)}.desc-textarea[data-v-b4775e7b]{width:100%;font:inherit;font-size:12px;color:var(--text);background:var(--bg);border:1px solid var(--border-mid);border-radius:4px;padding:6px 8px;resize:vertical;outline:none;line-height:1.6;min-height:60px}.desc-textarea[data-v-b4775e7b]:focus{border-color:var(--accent)}.desc-actions[data-v-b4775e7b]{display:flex;gap:6px;margin-top:5px}.desc-action-btn[data-v-b4775e7b]{font-size:11px;padding:3px 8px;border:1px solid var(--border-mid);border-radius:3px;background:transparent;color:var(--text-mid);cursor:pointer;font-family:inherit;transition:all .1s;touch-action:manipulation}.desc-action-btn.save[data-v-b4775e7b]{border-color:var(--accent);color:var(--accent)}.desc-action-btn.reset[data-v-b4775e7b]{color:var(--text-faint)}.desc-action-btn.reset[data-v-b4775e7b]:hover{color:var(--del-text);border-color:var(--del-border)}.prog-params[data-v-b4775e7b]{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:4px}.p-label[data-v-b4775e7b]{font-size:10px;color:var(--text-faint);letter-spacing:.2px}.p-in[data-v-b4775e7b]{width:42px;padding:4px 5px;border:1px solid var(--border-mid);border-radius:4px;font:inherit;font-size:12px;font-weight:600;text-align:center;outline:none;color:var(--text);background:var(--bg)}.p-in[data-v-b4775e7b]:focus{border-color:var(--text-dim)}.p-x[data-v-b4775e7b]{font-size:11px;color:var(--text-faint);margin:0 2px}.p-link[data-v-b4775e7b]{font-size:11px;color:var(--accent);background:transparent;border:none;padding:0;cursor:pointer;font-family:inherit;transition:opacity .1s}.p-link[data-v-b4775e7b]:hover{opacity:.75}.prog-actions[data-v-b4775e7b]{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.a-btn[data-v-b4775e7b]{width:22px;height:22px;border-radius:4px;border:1px solid var(--border);background:transparent;cursor:pointer;font-size:10px;color:var(--text-faint);display:flex;align-items:center;justify-content:center;transition:all .1s;touch-action:manipulation}.a-btn[data-v-b4775e7b]:hover{background:var(--tag-bg);color:var(--text-mid);border-color:var(--border-mid)}.a-btn.del[data-v-b4775e7b]:hover{background:var(--del-bg);border-color:var(--del-border);color:var(--del-text)}.sets-table[data-v-b4775e7b]{margin-top:6px}.sets-header[data-v-b4775e7b]{display:flex;align-items:center;margin-bottom:3px}.sets-th[data-v-b4775e7b]{font-size:9px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}.sets-th-num[data-v-b4775e7b]{width:22px}.sets-th-reps[data-v-b4775e7b]{width:50px;text-align:center}.sets-th-sep[data-v-b4775e7b]{width:18px}.sets-th-kg[data-v-b4775e7b]{width:56px;text-align:center}.sets-th-note[data-v-b4775e7b]{flex:1;padding-left:10px}.set-row[data-v-b4775e7b]{display:flex;align-items:center;margin-bottom:3px}.sets-num[data-v-b4775e7b]{font-size:10px;font-weight:500;color:var(--text-faint);width:22px;text-align:center;flex-shrink:0}.p-in-s[data-v-b4775e7b]{width:50px;padding:4px 0;border:none;border-bottom:1px solid var(--border-mid);font:inherit;font-size:12px;font-weight:500;text-align:center;outline:none;color:var(--text);background:transparent;transition:border-color .1s}.p-in-s[data-v-b4775e7b]:focus{border-bottom-color:var(--text-dim)}.sets-x[data-v-b4775e7b]{font-size:10px;color:var(--border-dim);width:18px;text-align:center;flex-shrink:0}.p-in-kg[data-v-b4775e7b]{width:56px;padding:4px 0;border:none;border-bottom:1px solid var(--border-mid);font:inherit;font-size:12px;font-weight:500;text-align:center;outline:none;color:var(--text);background:transparent;transition:border-color .1s}.p-in-kg[data-v-b4775e7b]:focus{border-bottom-color:var(--text-dim)}.p-in-kg[data-v-b4775e7b]::placeholder{color:var(--border-dim);font-size:11px}.p-in-note[data-v-b4775e7b]{flex:1;margin-left:10px;padding:4px 0;border:none;border-bottom:1px solid var(--border-mid);font:inherit;font-size:12px;outline:none;color:var(--text-mid);background:transparent;transition:border-color .1s;min-width:0}.p-in-note[data-v-b4775e7b]:focus{border-bottom-color:var(--text-dim)}.p-in-note[data-v-b4775e7b]::placeholder{color:var(--border-dim);font-size:11px;font-style:italic}.export-box[data-v-b4775e7b]{border:1px solid var(--border);border-radius:7px;overflow:hidden;flex-shrink:0}.export-bar[data-v-b4775e7b]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--export-bar);border-bottom:1px solid var(--border);flex-wrap:wrap}.export-bar-icon[data-v-b4775e7b]{font-size:16px;flex-shrink:0}.export-bar-info[data-v-b4775e7b]{flex:1;min-width:0}.export-bar-text[data-v-b4775e7b]{font-size:12px;font-weight:600;color:var(--text)}.export-bar-sub[data-v-b4775e7b]{font-size:10px;color:var(--text-dim);margin-top:1px}.tg-preview[data-v-b4775e7b]{background:var(--preview-bg);padding:12px 14px;font-family:Menlo,Monaco,monospace;font-size:11.5px;line-height:1.8;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto;border-bottom:1px solid var(--border);user-select:text;-webkit-user-select:text}.tg-preview[data-v-b4775e7b]::-webkit-scrollbar{width:3px}.tg-preview[data-v-b4775e7b]::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.tg-preview[data-v-b4775e7b] a{color:var(--accent)}.export-footer[data-v-b4775e7b]{display:flex;gap:8px;padding:10px 12px;background:var(--bg)}.copy-btn[data-v-b4775e7b]{flex:1;padding:9px 14px;background:var(--accent);border:none;border-radius:6px;color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;touch-action:manipulation}.copy-btn[data-v-b4775e7b]:hover{background:var(--accent-hov)}.copy-btn.ok[data-v-b4775e7b]{background:var(--green)}.fav-btn[data-v-b4775e7b]{width:38px;flex-shrink:0;padding:9px;border:1px solid var(--border-mid);border-radius:6px;background:transparent;font-size:16px;cursor:pointer;transition:all .15s;touch-action:manipulation;display:flex;align-items:center;justify-content:center}.fav-btn[data-v-b4775e7b]:hover:not(:disabled){background:var(--tag-bg);border-color:var(--text-dim)}.fav-btn.saved[data-v-b4775e7b]{border-color:var(--green);opacity:.7;cursor:default}.clear-btn[data-v-b4775e7b]{padding:9px 12px;border:1px solid var(--border-mid);border-radius:6px;background:transparent;font:inherit;font-size:12px;color:var(--text-dim);cursor:pointer;transition:all .15s;touch-action:manipulation}.clear-btn[data-v-b4775e7b]:hover{border-color:var(--del-border);color:var(--del-text)}.vmodal-overlay[data-v-b4775e7b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.vmodal[data-v-b4775e7b]{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;display:flex;flex-direction:column;box-shadow:0 12px 48px #0006;max-height:92vh;overflow:hidden}.vmodal-header[data-v-b4775e7b]{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.vmodal-title[data-v-b4775e7b]{font-size:12px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vmodal-close[data-v-b4775e7b]{width:26px;height:26px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text-dim);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .1s}.vmodal-close[data-v-b4775e7b]:hover{background:var(--tag-bg);color:var(--text)}.vmodal-body[data-v-b4775e7b]{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1}.tg-widget-wrap[data-v-b4775e7b]{display:flex;flex-direction:column;gap:12px;align-items:center}.tg-iframe-wrap[data-v-b4775e7b]{width:100%;border-radius:8px;overflow:hidden;background:var(--bg-subtle)}.tg-iframe[data-v-b4775e7b]{width:100%;min-height:200px;height:500px;border:none;display:block;transition:height .2s}.tg-open-btn[data-v-b4775e7b]{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--accent);color:#fff;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;transition:background .15s}.tg-open-btn[data-v-b4775e7b]:hover{background:var(--accent-hov)}@media (max-width:767px){.prog-ex-name[data-v-b4775e7b]{font-size:14px}.p-in[data-v-b4775e7b]{width:48px;padding:6px 5px;font-size:14px}.p-in-s[data-v-b4775e7b]{width:54px;font-size:14px}.p-in-kg[data-v-b4775e7b]{width:60px;font-size:14px}.a-btn[data-v-b4775e7b],.b-btn[data-v-b4775e7b]{width:32px;height:32px;font-size:14px}.meta-num[data-v-b4775e7b]{width:50px;padding:7px 6px;font-size:14px}.copy-btn[data-v-b4775e7b]{padding:12px 14px;font-size:14px}.vmodal[data-v-b4775e7b]{max-height:85vh}}.modal-overlay[data-v-7dca3b3a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.modal[data-v-7dca3b3a]{background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;max-width:480px;display:flex;flex-direction:column;box-shadow:0 8px 40px var(--shadow)}.modal-header[data-v-7dca3b3a]{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title[data-v-7dca3b3a]{font-size:13px;font-weight:600;color:var(--text);flex:1}.modal-close[data-v-7dca3b3a]{width:24px;height:24px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text-dim);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .1s}.modal-close[data-v-7dca3b3a]:hover{background:var(--tag-bg);color:var(--text)}.modal-body[data-v-7dca3b3a]{padding:16px;display:flex;flex-direction:column;gap:12px}.modal-hint[data-v-7dca3b3a]{font-size:11.5px;color:var(--text-dim);line-height:1.6;padding:8px 10px;background:var(--bg-subtle);border-radius:5px;border:1px solid var(--border)}.modal-hint a[data-v-7dca3b3a]{color:var(--accent)}.modal-hint code[data-v-7dca3b3a]{font-family:monospace;background:var(--tag-bg);padding:1px 4px;border-radius:3px;font-size:11px}.field[data-v-7dca3b3a]{display:flex;flex-direction:column;gap:4px;flex:1}.field-row[data-v-7dca3b3a]{display:flex;gap:10px}label[data-v-7dca3b3a]{font-size:11px;color:var(--text-dim);font-weight:500}.hint-inline[data-v-7dca3b3a]{font-weight:400;color:var(--text-faint)}.fi[data-v-7dca3b3a]{width:100%;padding:7px 10px;border:1px solid var(--border-mid);border-radius:5px;font:inherit;font-size:12px;background:var(--bg);color:var(--text);outline:none;transition:border-color .1s}.fi[data-v-7dca3b3a]:focus{border-color:var(--accent)}.fi[data-v-7dca3b3a]::placeholder{color:var(--text-faint)}.token-row[data-v-7dca3b3a]{display:flex;gap:4px}.token-row .fi[data-v-7dca3b3a]{flex:1}.eye-btn[data-v-7dca3b3a]{width:34px;border:1px solid var(--border-mid);border-radius:5px;background:var(--bg);cursor:pointer;font-size:14px;flex-shrink:0;transition:all .1s}.eye-btn[data-v-7dca3b3a]:hover{background:var(--tag-bg)}.status[data-v-7dca3b3a]{font-size:12px;padding:7px 10px;border-radius:5px;line-height:1.5}.status.ok[data-v-7dca3b3a]{background:color-mix(in srgb,#2a7a3c 12%,transparent);color:var(--text);border:1px solid color-mix(in srgb,#2a7a3c 30%,transparent)}.status.warn[data-v-7dca3b3a]{background:color-mix(in srgb,#b87a00 12%,transparent);color:var(--text);border:1px solid color-mix(in srgb,#b87a00 30%,transparent)}.status.err[data-v-7dca3b3a]{background:var(--del-bg);color:var(--del-text);border:1px solid var(--del-border)}.modal-footer[data-v-7dca3b3a]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.btn-test[data-v-7dca3b3a]{padding:7px 12px;border:1px solid var(--border-mid);border-radius:5px;background:transparent;font:inherit;font-size:12px;color:var(--text-mid);cursor:pointer;transition:all .1s}.btn-test[data-v-7dca3b3a]:hover:not(:disabled){border-color:var(--text-dim);color:var(--text)}.btn-test[data-v-7dca3b3a]:disabled{opacity:.5;cursor:default}.btn-cancel[data-v-7dca3b3a]{padding:7px 12px;border:1px solid var(--border-mid);border-radius:5px;background:transparent;font:inherit;font-size:12px;color:var(--text-mid);cursor:pointer;transition:all .1s}.btn-cancel[data-v-7dca3b3a]:hover{border-color:var(--text-dim);color:var(--text)}.btn-save[data-v-7dca3b3a]{padding:7px 14px;background:var(--accent);border:none;border-radius:5px;font:inherit;font-size:12px;font-weight:600;color:#fff;cursor:pointer;transition:all .15s}.btn-save[data-v-7dca3b3a]:hover{background:var(--accent-hov)}@media (max-width:480px){.field-row[data-v-7dca3b3a]{flex-direction:column}}.modal-overlay[data-v-8c168e53]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.modal[data-v-8c168e53]{background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;max-width:440px;display:flex;flex-direction:column;box-shadow:0 8px 40px var(--shadow)}.modal-header[data-v-8c168e53]{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title[data-v-8c168e53]{font-size:13px;font-weight:600;color:var(--text);flex:1}.modal-close[data-v-8c168e53]{width:24px;height:24px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text-dim);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .1s}.modal-close[data-v-8c168e53]:hover{background:var(--tag-bg);color:var(--text)}.modal-body[data-v-8c168e53]{padding:16px;display:flex;flex-direction:column;gap:10px}.field[data-v-8c168e53]{display:flex;flex-direction:column;gap:4px}label[data-v-8c168e53]{font-size:11px;color:var(--text-dim);font-weight:500}.req[data-v-8c168e53]{color:var(--accent)}.fi[data-v-8c168e53]{width:100%;padding:7px 10px;border:1px solid var(--border-mid);border-radius:5px;font:inherit;font-size:12px;background:var(--bg);color:var(--text);outline:none;transition:border-color .1s}.fi[data-v-8c168e53]:focus{border-color:var(--accent)}.fi[data-v-8c168e53]::placeholder{color:var(--text-faint)}.select[data-v-8c168e53]{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.ta[data-v-8c168e53]{resize:vertical;min-height:72px;line-height:1.5}.err-msg[data-v-8c168e53]{font-size:12px;color:var(--del-text);padding:6px 10px;background:var(--del-bg);border:1px solid var(--del-border);border-radius:5px}.modal-footer[data-v-8c168e53]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.save-status[data-v-8c168e53]{font-size:12px;color:var(--text-mid)}.save-status.ok[data-v-8c168e53]{color:var(--green)}.save-status.warn[data-v-8c168e53]{color:#b87a00}.save-status.err[data-v-8c168e53]{color:var(--del-text)}.btn-cancel[data-v-8c168e53]{padding:7px 12px;border:1px solid var(--border-mid);border-radius:5px;background:transparent;font:inherit;font-size:12px;color:var(--text-mid);cursor:pointer;transition:all .1s}.btn-cancel[data-v-8c168e53]:hover:not(:disabled){border-color:var(--text-dim);color:var(--text)}.btn-cancel[data-v-8c168e53]:disabled{opacity:.5;cursor:default}.btn-save[data-v-8c168e53]{padding:7px 14px;background:var(--accent);border:none;border-radius:5px;font:inherit;font-size:12px;font-weight:600;color:#fff;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.btn-save[data-v-8c168e53]:hover:not(:disabled){background:var(--accent-hov)}.btn-save[data-v-8c168e53]:disabled{opacity:.6;cursor:default}.spinner[data-v-8c168e53]{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-8c168e53 .6s linear infinite;flex-shrink:0}@keyframes spin-8c168e53{to{transform:rotate(360deg)}}.modal-overlay[data-v-34a8f23d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.modal[data-v-34a8f23d]{background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 40px var(--shadow)}.modal-header[data-v-34a8f23d]{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title[data-v-34a8f23d]{font-size:13px;font-weight:600;color:var(--text);flex:1}.modal-close[data-v-34a8f23d]{width:24px;height:24px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text-dim);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .1s}.modal-close[data-v-34a8f23d]:hover{background:var(--tag-bg);color:var(--text)}.modal-body[data-v-34a8f23d]{overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px}.modal-body[data-v-34a8f23d]::-webkit-scrollbar{width:3px}.modal-body[data-v-34a8f23d]::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.empty-favs[data-v-34a8f23d]{padding:40px 16px;text-align:center;color:var(--text-faint)}.empty-favs span[data-v-34a8f23d]{display:block;font-size:28px;margin-bottom:10px}.empty-favs p[data-v-34a8f23d]{font-size:13px;line-height:1.7}.fav-row[data-v-34a8f23d]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:7px;transition:border-color .1s}.fav-row[data-v-34a8f23d]:hover{border-color:var(--border-mid)}.fav-info[data-v-34a8f23d]{flex:1;min-width:0}.fav-name[data-v-34a8f23d]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.fav-meta[data-v-34a8f23d]{font-size:11px;color:var(--text-dim);margin-bottom:4px}.fav-exercises[data-v-34a8f23d]{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-actions[data-v-34a8f23d]{display:flex;gap:4px;flex-shrink:0;align-items:flex-start}.fav-btn[data-v-34a8f23d]{padding:5px 10px;border-radius:5px;border:1px solid var(--border-mid);font:inherit;font-size:11px;cursor:pointer;background:transparent;transition:all .1s;touch-action:manipulation;white-space:nowrap}.fav-btn.load[data-v-34a8f23d]{color:var(--accent);border-color:var(--accent)}.fav-btn.load[data-v-34a8f23d]:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.fav-btn.del[data-v-34a8f23d]{color:var(--text-faint)}.fav-btn.del[data-v-34a8f23d]:hover{color:var(--del-text);border-color:var(--del-border)}.fav-btn.confirm[data-v-34a8f23d]{color:var(--green);border-color:var(--green)}.fav-btn.cancel[data-v-34a8f23d]{color:var(--text-faint)}.topbar[data-v-3969be34]{display:flex;align-items:center;padding:0 16px;height:48px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;position:sticky;top:0;z-index:200}.topbar-title[data-v-3969be34]{font-weight:600;font-size:13px;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hamburger-btn[data-v-3969be34]{width:36px;height:36px;border:1px solid var(--border-mid);border-radius:6px;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;flex-shrink:0;transition:all .15s;touch-action:manipulation}.hamburger-btn[data-v-3969be34]:hover{background:var(--tag-bg)}.hamburger-btn span[data-v-3969be34]{display:block;width:16px;height:1.5px;background:var(--text);border-radius:2px;transition:all .2s}.hamburger-btn.open span[data-v-3969be34]:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger-btn.open span[data-v-3969be34]:nth-child(2){opacity:0}.hamburger-btn.open span[data-v-3969be34]:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.menu-overlay[data-v-3969be34]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199}.topbar-menu[data-v-3969be34]{position:absolute;top:calc(100% + 4px);right:16px;width:240px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px var(--shadow);z-index:300;overflow:hidden;padding:6px 0}.menu-section[data-v-3969be34]{padding:2px 0}.menu-section-label[data-v-3969be34]{display:block;font-size:10px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;padding:6px 16px 2px}.menu-item[data-v-3969be34]{width:100%;text-align:left;padding:9px 16px;background:transparent;border:none;font:inherit;font-size:13px;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .1s;touch-action:manipulation}.menu-item[data-v-3969be34]:hover{background:var(--tag-bg)}.menu-info[data-v-3969be34]{display:block;font-size:12px;color:var(--text-dim);padding:4px 16px 6px}.menu-info b[data-v-3969be34]{color:var(--text);font-weight:600}.menu-badge[data-v-3969be34]{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:auto;flex-shrink:0}.menu-divider[data-v-3969be34]{height:1px;background:var(--border);margin:4px 0}.upload-input[data-v-3969be34]{display:none}.toast[data-v-3969be34]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:10px 18px;border-radius:8px;font-size:13px;font-weight:500;color:#fff;background:#333;box-shadow:0 4px 16px #0000004d;z-index:2000;white-space:nowrap;pointer-events:none}.toast.ok[data-v-3969be34]{background:var(--green)}.toast.warn[data-v-3969be34]{background:#b87a00}.toast-enter-active[data-v-3969be34],.toast-leave-active[data-v-3969be34]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-3969be34],.toast-leave-to[data-v-3969be34]{opacity:0;transform:translate(-50%) translateY(8px)}.adding-banner[data-v-3969be34]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:color-mix(in srgb,var(--accent) 15%,transparent);border-bottom:1px solid var(--accent);flex-shrink:0;gap:8px}.adding-banner span[data-v-3969be34]{font-size:12px;color:var(--accent);font-weight:500}.adding-cancel[data-v-3969be34]{font-size:11px;padding:3px 8px;border:1px solid var(--accent);border-radius:4px;background:transparent;color:var(--accent);cursor:pointer;font-family:inherit}.left-top[data-v-3969be34]{padding:10px 12px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.search[data-v-3969be34]{width:100%;padding:8px 10px;border:1px solid var(--border-mid);border-radius:5px;font:inherit;font-size:13px;background:var(--bg);outline:none;color:var(--text)}.search[data-v-3969be34]:focus{border-color:var(--text-dim)}.tabs[data-v-3969be34]{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.tab[data-v-3969be34]{padding:4px 9px;border-radius:4px;border:1px solid var(--border-mid);background:transparent;font:inherit;font-size:12px;color:var(--text-mid);cursor:pointer;transition:all .1s;touch-action:manipulation}.tab[data-v-3969be34]:hover{background:var(--tag-bg)}.tab.on[data-v-3969be34]{background:var(--text);color:var(--bg);border-color:var(--text)}.ex-list[data-v-3969be34]{flex:1;overflow-y:auto;padding:4px}.ex-list[data-v-3969be34]::-webkit-scrollbar{width:3px}.ex-list[data-v-3969be34]::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.ex-row[data-v-3969be34]{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer;transition:background .1s;touch-action:manipulation;min-height:44px}.ex-row[data-v-3969be34]:hover{background:var(--tag-bg)}.ex-row.added[data-v-3969be34]{background:var(--added-bg)}.ex-row.added-multi[data-v-3969be34]{background:var(--added-multi-bg)}.ex-row-info[data-v-3969be34]{flex:1;min-width:0}.ex-row-name[data-v-3969be34]{font-size:12px;font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.ex-row.added .ex-row-name[data-v-3969be34]{color:var(--added-text)}.ex-row.added-multi .ex-row-name[data-v-3969be34]{color:var(--added-multi-text)}.ex-row-group[data-v-3969be34]{font-size:10px;color:var(--text-dim);margin-top:2px}.ex-row-actions[data-v-3969be34]{display:none;align-items:center;gap:3px;flex-shrink:0}.ex-row:hover .ex-row-actions[data-v-3969be34]{display:flex}.ex-act-btn[data-v-3969be34]{width:26px;height:26px;border-radius:4px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .1s;touch-action:manipulation;padding:0;flex-shrink:0}.ex-act-btn.edit[data-v-3969be34]:hover{background:var(--tag-bg);border-color:var(--border-mid)}.ex-act-btn.del[data-v-3969be34]:hover{background:var(--del-bg);border-color:var(--del-border)}.ex-act-btn.confirm[data-v-3969be34]{font-size:12px;color:var(--green);border-color:var(--green)}.ex-act-btn.confirm[data-v-3969be34]:hover{background:color-mix(in srgb,var(--green) 12%,transparent)}.ex-act-btn.cancel[data-v-3969be34]{font-size:12px;color:var(--text-faint);border-color:var(--border-mid)}.ex-act-btn.cancel[data-v-3969be34]:hover{background:var(--tag-bg)}.del-confirm-label[data-v-3969be34]{font-size:10px;color:var(--del-text);white-space:nowrap}.ex-row-btn[data-v-3969be34]{width:28px;height:28px;border-radius:5px;border:1px solid var(--border-dim);background:transparent;cursor:pointer;font-size:13px;color:var(--text-faint);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .1s;touch-action:manipulation}.ex-row:hover .ex-row-btn[data-v-3969be34]{border-color:var(--text-dim);color:var(--text-mid)}.ex-row.added .ex-row-btn[data-v-3969be34]{border-color:var(--added-border);color:var(--added-border)}.ex-row.added-multi .ex-row-btn[data-v-3969be34]{border-color:var(--added-multi-border);color:var(--added-multi-border)}.ex-row.added:hover .ex-row-btn[data-v-3969be34],.ex-row.added-multi:hover .ex-row-btn[data-v-3969be34]{background:var(--del-bg);border-color:var(--del-border);color:var(--del-text)}.no-results[data-v-3969be34]{padding:32px 16px;text-align:center;color:var(--text-faint);font-size:12px}.right[data-v-3969be34]{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:14px;gap:6px}.right[data-v-3969be34]::-webkit-scrollbar{width:3px}.right[data-v-3969be34]::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.desktop-layout[data-v-3969be34]{display:flex;height:calc(100vh - 48px)}.desktop-layout .left[data-v-3969be34]{display:flex;flex-direction:column;background:var(--bg);border-right:none;min-height:0;overflow:hidden;flex-shrink:0}.desktop-layout .right[data-v-3969be34]{flex:1;overflow-y:auto;min-width:0}.resize-handle[data-v-3969be34]{width:5px;cursor:col-resize;background:transparent;flex-shrink:0;border-right:1px solid var(--border);transition:background .15s;position:relative}.resize-handle[data-v-3969be34]:hover,.resize-handle[data-v-3969be34]:active{background:var(--accent)}.mobile-layout[data-v-3969be34]{display:none}@media (max-width:767px){.desktop-layout[data-v-3969be34],.desktop-only[data-v-3969be34]{display:none}.mobile-layout[data-v-3969be34]{display:flex;flex-direction:column;height:calc(100vh - 48px)}.mobile-panel[data-v-3969be34]{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}.mobile-panel.active[data-v-3969be34]{display:flex}.mobile-panel .right[data-v-3969be34]{flex:1;overflow-y:auto;padding:12px}.tab[data-v-3969be34]{padding:7px 12px;font-size:13px}.search[data-v-3969be34]{font-size:16px}.ex-row[data-v-3969be34]{min-height:52px;padding:10px 8px}.ex-row-name[data-v-3969be34]{font-size:13px;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.4}.ex-row-btn[data-v-3969be34]{width:36px;height:36px;font-size:16px}.ex-row-actions[data-v-3969be34]{display:flex}.ex-act-btn[data-v-3969be34]{width:32px;height:32px;font-size:15px}.bottom-nav[data-v-3969be34]{display:flex;border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;padding-bottom:env(safe-area-inset-bottom)}.bnav-btn[data-v-3969be34]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 8px 8px;border:none;background:transparent;cursor:pointer;position:relative;touch-action:manipulation;border-top:2px solid transparent;transition:border-color .15s;font-family:inherit}.bnav-btn.active[data-v-3969be34]{border-top-color:var(--text)}.bnav-icon[data-v-3969be34]{font-size:20px;line-height:1}.bnav-label[data-v-3969be34]{font-size:11px;color:var(--text-dim)}.bnav-btn.active .bnav-label[data-v-3969be34]{color:var(--text);font-weight:600}.bnav-sub[data-v-3969be34]{font-size:10px;color:var(--text-faint)}.bnav-badge[data-v-3969be34]{position:absolute;top:6px;right:calc(50% - 20px);background:var(--accent);color:#fff;font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0f0ee;--bg-subtle: #f8f8f6;--bg-raised: #ffffff;--border: #e0e0de;--border-mid:#d8d8d6;--border-dim:#d0d0ce;--text: #1a1a1a;--text-mid: #666;--text-dim: #aaa;--text-faint:#bbb;--tag-bg: #e8e8e6;--tag-text: #888;--added-bg: #e6f0ea;--added-text:#1a5c30;--added-border:#2a6040;--export-bar:#e8e8e6;--preview-bg:#f0f0ee;--accent: #2AABEE;--accent-hov:#1a9fdc;--green: #2a7a3c;--del-bg: #fee;--del-border:#e99;--del-text: #c44;--tooltip-bg:#1a1a1a;--shadow: rgba(0,0,0,.15)}[data-theme=dark]{--bg: #1a1a1a;--bg-subtle: #242424;--bg-raised: #2a2a2a;--border: #333;--border-mid:#3a3a3a;--border-dim:#444;--text: #f0f0ee;--text-mid: #aaa;--text-dim: #777;--text-faint:#555;--tag-bg: #333;--tag-text: #888;--added-bg: #1a2e20;--added-text:#6ecf8e;--added-border:#3a7050;--export-bar:#242424;--preview-bg:#1e1e1e;--accent: #2AABEE;--accent-hov:#40beff;--green: #3a9a50;--del-bg: #2a1818;--del-border:#7a3333;--del-text: #e06060;--tooltip-bg:#333;--shadow: rgba(0,0,0,.4)}body{font-family:Inter,sans-serif;font-size:13px;background:var(--bg);color:var(--text);height:100vh;display:flex;flex-direction:column;transition:background .2s,color .2s}:root{--added-multi-bg: #e6ecf5;--added-multi-text: #1a3a6c;--added-multi-border:#2a4a8c}[data-theme=dark]{--added-multi-bg: #1a2030;--added-multi-text: #6eaaee;--added-multi-border:#3a5090}
