.prog-meta[data-v-96d2d39b]{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;flex-shrink:0}.prog-name-row-top[data-v-96d2d39b]{display:flex;align-items:center;gap:6px}.prog-name[data-v-96d2d39b]{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-96d2d39b]:focus{border-color:var(--text-dim)}.prog-name[data-v-96d2d39b]::placeholder{color:var(--text-faint)}.save-fav-btn[data-v-96d2d39b]{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-96d2d39b]:hover:not(:disabled){background:var(--tag-bg);border-color:var(--text-dim)}.save-fav-btn.saved[data-v-96d2d39b]{border-color:var(--green);cursor:default;opacity:.7}.meta-row[data-v-96d2d39b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meta-sep[data-v-96d2d39b]{color:var(--border-mid)}.meta-label[data-v-96d2d39b]{font-size:11px;color:var(--text-dim);white-space:nowrap}.meta-num[data-v-96d2d39b]{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-96d2d39b]:focus{border-color:var(--text-dim)}.apply-all[data-v-96d2d39b]{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-96d2d39b]:hover{border-color:var(--text-dim);color:var(--text)}.toggle-wrap[data-v-96d2d39b]{display:flex;align-items:center;gap:6px;margin-left:auto}.toggle-label[data-v-96d2d39b]{font-size:11px;color:var(--tag-text);-webkit-user-select:none;user-select:none}.toggle[data-v-96d2d39b]{position:relative;width:28px;height:16px;flex-shrink:0;cursor:pointer}.toggle input[data-v-96d2d39b]{opacity:0;width:0;height:0;position:absolute}.toggle-track[data-v-96d2d39b]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-dim);border-radius:8px;transition:background .15s}.toggle input:checked+.toggle-track[data-v-96d2d39b]{background:var(--accent)}.toggle-thumb[data-v-96d2d39b]{position:absolute;top:2px;left:2px;width:12px;height:12px;background:#fff;border-radius:50%;transition:left .15s}.toggle input:checked~.toggle-thumb[data-v-96d2d39b]{left:14px}.all-desc-row[data-v-96d2d39b]{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-96d2d39b]{font-size:11px;color:var(--text-dim);flex:1}.all-desc-btn[data-v-96d2d39b]{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-96d2d39b]:hover{border-color:var(--text-dim);color:var(--text)}.empty[data-v-96d2d39b]{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-96d2d39b]{display:block;font-size:24px;margin-bottom:10px}.empty p[data-v-96d2d39b]{font-size:13px;line-height:1.7}.empty p b[data-v-96d2d39b]{color:var(--text-dim)}.prog-row[data-v-96d2d39b]{display:flex;align-items:flex-start;gap:8px;padding:10px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:7px;transition:border-color .1s;flex-shrink:0}.prog-row[data-v-96d2d39b]:hover{border-color:var(--border-dim)}.prog-num[data-v-96d2d39b]{font-size:11px;font-weight:600;color:var(--text-faint);min-width:16px;padding-top:2px;text-align:right;flex-shrink:0}.prog-body[data-v-96d2d39b]{flex:1;min-width:0}.prog-name-row[data-v-96d2d39b]{display:flex;align-items:center;gap:6px;margin-bottom:3px}.prog-tag[data-v-96d2d39b]{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-96d2d39b]{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-96d2d39b]:hover{border-color:var(--text-dim);color:var(--text-mid)}.desc-toggle-btn.active[data-v-96d2d39b]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.prog-body[data-v-96d2d39b]{flex:1;min-width:0;cursor:pointer}.prog-ex-name[data-v-96d2d39b]{font-size:13px;font-weight:600;line-height:1.35;color:var(--text);margin-bottom:3px}.prog-ex-name-row[data-v-96d2d39b]{display:flex;align-items:center;gap:6px;cursor:pointer;margin-bottom:3px;-webkit-user-select:none;user-select:none}.prog-ex-name-row .prog-ex-name[data-v-96d2d39b]{flex:1;margin-bottom:0}.prog-desc-block[data-v-96d2d39b]{margin-bottom:8px;border-left:2px solid var(--border-mid);padding-left:8px}.prog-desc-inline[data-v-96d2d39b]{display:flex;align-items:center;gap:6px}.prog-desc[data-v-96d2d39b]{font-size:12px;color:var(--text-dim);line-height:1.6;white-space:pre-wrap;flex:1;min-width:0}.desc-empty[data-v-96d2d39b]{font-style:italic;color:var(--text-faint)}.desc-edit-inline[data-v-96d2d39b]{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;line-height:1;display:flex;align-items:center}.desc-edit-inline[data-v-96d2d39b]:hover{border-color:var(--border-mid);color:var(--text-mid);background:var(--tag-bg)}.desc-textarea[data-v-96d2d39b]{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-96d2d39b]:focus{border-color:var(--accent)}.desc-actions[data-v-96d2d39b]{display:flex;gap:6px;margin-top:5px}.desc-action-btn[data-v-96d2d39b]{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[data-v-96d2d39b]:hover{border-color:var(--text-dim);color:var(--text)}.desc-action-btn.save[data-v-96d2d39b]{border-color:var(--accent);color:var(--accent)}.desc-action-btn.save[data-v-96d2d39b]:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.desc-action-btn.reset[data-v-96d2d39b]{color:var(--text-faint)}.desc-action-btn.reset[data-v-96d2d39b]:hover{color:var(--del-text);border-color:var(--del-border)}.prog-params[data-v-96d2d39b]{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:4px}.p-label[data-v-96d2d39b]{font-size:10px;color:var(--text-faint);letter-spacing:.2px}.p-in[data-v-96d2d39b]{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-96d2d39b]:focus{border-color:var(--text-dim)}.p-x[data-v-96d2d39b]{font-size:11px;color:var(--text-faint);margin:0 2px}.p-link[data-v-96d2d39b]{font-size:11px;color:var(--accent);background:transparent;border:none;padding:0;cursor:pointer;font-family:inherit;transition:opacity .1s}.p-link[data-v-96d2d39b]:hover{opacity:.75}.vmodal-overlay[data-v-96d2d39b]{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-96d2d39b]{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-96d2d39b]{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.vmodal-title[data-v-96d2d39b]{font-size:12px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vmodal-close[data-v-96d2d39b]{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-96d2d39b]:hover{background:var(--tag-bg);color:var(--text)}.vmodal-body[data-v-96d2d39b]{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1}.tg-widget-wrap[data-v-96d2d39b]{display:flex;flex-direction:column;gap:12px;align-items:center}.tg-iframe-wrap[data-v-96d2d39b]{width:100%;border-radius:8px;overflow:hidden;background:var(--bg-subtle)}.tg-iframe[data-v-96d2d39b]{width:100%;min-height:200px;height:500px;border:none;display:block;transition:height .2s}.tg-open-btn[data-v-96d2d39b]{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-96d2d39b]:hover{background:var(--accent-hov)}.tg-open-btn span[data-v-96d2d39b]{font-size:15px}@media (max-width:767px){.vmodal[data-v-96d2d39b]{max-height:85vh}.vmodal-body[data-v-96d2d39b]{padding:12px}}.prog-actions[data-v-96d2d39b]{display:flex;flex-direction:column;gap:3px;flex-shrink:0}.a-btn[data-v-96d2d39b]{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);background:transparent;cursor:pointer;font-size:11px;color:var(--text-faint);display:flex;align-items:center;justify-content:center;transition:all .1s;touch-action:manipulation}.a-btn[data-v-96d2d39b]:hover{background:var(--tag-bg);color:var(--text-mid);border-color:var(--border-mid)}.a-btn.del[data-v-96d2d39b]:hover{background:var(--del-bg);border-color:var(--del-border);color:var(--del-text)}.sets-table[data-v-96d2d39b]{margin-top:6px}.sets-header[data-v-96d2d39b]{display:flex;align-items:center;margin-bottom:3px}.sets-th[data-v-96d2d39b]{font-size:9px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}.sets-th-num[data-v-96d2d39b]{width:22px}.sets-th-reps[data-v-96d2d39b]{width:50px;text-align:center}.sets-th-sep[data-v-96d2d39b]{width:18px}.sets-th-kg[data-v-96d2d39b]{width:56px;text-align:center}.sets-th-note[data-v-96d2d39b]{flex:1;padding-left:10px}.set-row[data-v-96d2d39b]{display:flex;align-items:center;margin-bottom:3px}.sets-num[data-v-96d2d39b]{font-size:10px;font-weight:500;color:var(--text-faint);width:22px;text-align:center;flex-shrink:0}.p-in-s[data-v-96d2d39b]{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-96d2d39b]:focus{border-bottom-color:var(--text-dim)}.sets-x[data-v-96d2d39b]{font-size:10px;color:var(--border-dim);width:18px;text-align:center;flex-shrink:0}.p-in-kg[data-v-96d2d39b]{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-96d2d39b]:focus{border-bottom-color:var(--text-dim)}.p-in-kg[data-v-96d2d39b]::placeholder{color:var(--border-dim);font-size:11px}.p-in-note[data-v-96d2d39b]{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-96d2d39b]:focus{border-bottom-color:var(--text-dim)}.p-in-note[data-v-96d2d39b]::placeholder{color:var(--border-dim);font-size:11px;font-style:italic}.export-box[data-v-96d2d39b]{margin-top:10px;border:1px solid var(--border);border-radius:7px;overflow:hidden;flex-shrink:0}.export-bar[data-v-96d2d39b]{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-96d2d39b]{font-size:16px;flex-shrink:0}.export-bar-info[data-v-96d2d39b]{flex:1;min-width:0}.export-bar-text[data-v-96d2d39b]{font-size:12px;font-weight:600;color:var(--text)}.export-bar-sub[data-v-96d2d39b]{font-size:10px;color:var(--text-dim);margin-top:1px}.tg-preview[data-v-96d2d39b]{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-96d2d39b]::-webkit-scrollbar{width:3px}.tg-preview[data-v-96d2d39b]::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.tg-preview[data-v-96d2d39b] a{color:var(--accent)}.export-footer[data-v-96d2d39b]{display:flex;gap:8px;padding:10px 12px;background:var(--bg)}.copy-btn[data-v-96d2d39b]{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-96d2d39b]:hover{background:var(--accent-hov)}.copy-btn.ok[data-v-96d2d39b]{background:var(--green)}.clear-btn[data-v-96d2d39b]{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-96d2d39b]:hover{border-color:var(--del-border);color:var(--del-text)}@media (max-width:767px){.prog-ex-name[data-v-96d2d39b]{font-size:14px;white-space:normal}.p-in[data-v-96d2d39b]{width:48px;padding:6px 5px;font-size:14px}.p-in-s[data-v-96d2d39b]{width:54px;font-size:14px}.p-in-kg[data-v-96d2d39b]{width:60px;font-size:14px}.a-btn[data-v-96d2d39b]{width:32px;height:32px;font-size:14px}.meta-num[data-v-96d2d39b]{width:50px;padding:7px 6px;font-size:14px}.copy-btn[data-v-96d2d39b]{padding:12px 14px;font-size:14px}}.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-3fbb9716]{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-3fbb9716]{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-3fbb9716]{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title[data-v-3fbb9716]{font-size:13px;font-weight:600;color:var(--text);flex:1}.modal-close[data-v-3fbb9716]{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-3fbb9716]:hover{background:var(--tag-bg);color:var(--text)}.modal-body[data-v-3fbb9716]{overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px}.modal-body[data-v-3fbb9716]::-webkit-scrollbar{width:3px}.modal-body[data-v-3fbb9716]::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.empty-favs[data-v-3fbb9716]{padding:40px 16px;text-align:center;color:var(--text-faint)}.empty-favs span[data-v-3fbb9716]{display:block;font-size:28px;margin-bottom:10px}.empty-favs p[data-v-3fbb9716]{font-size:13px;line-height:1.7}.fav-row[data-v-3fbb9716]{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-3fbb9716]:hover{border-color:var(--border-mid)}.fav-info[data-v-3fbb9716]{flex:1;min-width:0}.fav-name[data-v-3fbb9716]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.fav-meta[data-v-3fbb9716]{font-size:11px;color:var(--text-dim);margin-bottom:4px}.fav-exercises[data-v-3fbb9716]{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-actions[data-v-3fbb9716]{display:flex;gap:4px;flex-shrink:0;align-items:flex-start}.fav-btn[data-v-3fbb9716]{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-3fbb9716]{color:var(--accent);border-color:var(--accent)}.fav-btn.load[data-v-3fbb9716]:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.fav-btn.del[data-v-3fbb9716]{color:var(--text-faint)}.fav-btn.del[data-v-3fbb9716]:hover{color:var(--del-text);border-color:var(--del-border)}.fav-btn.confirm[data-v-3fbb9716]{color:var(--green);border-color:var(--green)}.fav-btn.cancel[data-v-3fbb9716]{color:var(--text-faint)}.topbar[data-v-cb04e28a]{display:flex;align-items:center;gap:12px;padding:0 16px;height:48px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;position:sticky;top:0;z-index:100}.topbar-title[data-v-cb04e28a]{font-weight:600;font-size:13px;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-count[data-v-cb04e28a]{font-size:11px;color:var(--text-dim);white-space:nowrap}.topbar-count b[data-v-cb04e28a]{color:var(--text);font-weight:600}.upload-btn[data-v-cb04e28a]{padding:6px 10px;border:1px solid var(--border-mid);border-radius:4px;background:transparent;font:inherit;font-size:11px;color:var(--text-mid);cursor:pointer;white-space:nowrap;transition:all .1s;touch-action:manipulation}.upload-btn[data-v-cb04e28a]:hover{border-color:var(--text-dim);color:var(--text)}.upload-input[data-v-cb04e28a]{display:none}.upload-wrap[data-v-cb04e28a]{position:relative;flex-shrink:0}.upload-wrap:hover .upload-tooltip[data-v-cb04e28a]{display:block}.upload-tooltip[data-v-cb04e28a]{display:none;position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--tooltip-bg);color:var(--bg);border-radius:7px;padding:12px 14px;z-index:200;box-shadow:0 4px 16px var(--shadow);pointer-events:none}.upload-tooltip[data-v-cb04e28a]:before{content:"";position:absolute;top:-5px;right:14px;width:10px;height:10px;background:var(--tooltip-bg);transform:rotate(45deg);border-radius:1px}.tooltip-title[data-v-cb04e28a]{font-size:11px;font-weight:700;color:var(--bg);margin-bottom:6px;letter-spacing:.3px;text-transform:uppercase}.tooltip-text[data-v-cb04e28a]{font-size:11px;color:var(--text-dim);line-height:1.5;margin-bottom:8px}.tooltip-table[data-v-cb04e28a]{width:100%;border-collapse:collapse;margin-bottom:8px}.tooltip-table td[data-v-cb04e28a]{font-size:11px;padding:2px 0;vertical-align:top}.tooltip-table td[data-v-cb04e28a]:first-child{font-family:monospace;font-size:10.5px;color:var(--accent);width:130px;padding-right:8px;white-space:nowrap}.tooltip-table td[data-v-cb04e28a]:last-child{color:#ccc}.tooltip-note[data-v-cb04e28a]{font-size:10px;color:#666;line-height:1.5;border-top:1px solid #333;padding-top:7px;margin-top:2px}.theme-btn[data-v-cb04e28a]{width:32px;height:32px;border:1px solid var(--border-mid);border-radius:6px;background:transparent;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;touch-action:manipulation}.theme-btn[data-v-cb04e28a]:hover{background:var(--tag-bg)}.topbar-icon-btn[data-v-cb04e28a]{width:32px;height:32px;border:1px solid var(--border-mid);border-radius:6px;background:transparent;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;touch-action:manipulation}.topbar-icon-btn[data-v-cb04e28a]:hover{background:var(--tag-bg)}.toast[data-v-cb04e28a]{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-cb04e28a]{background:var(--green)}.toast.warn[data-v-cb04e28a]{background:#b87a00}.toast-enter-active[data-v-cb04e28a],.toast-leave-active[data-v-cb04e28a]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-cb04e28a],.toast-leave-to[data-v-cb04e28a]{opacity:0;transform:translate(-50%) translateY(8px)}.left-top[data-v-cb04e28a]{padding:10px 12px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.search[data-v-cb04e28a]{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-cb04e28a]:focus{border-color:var(--text-dim)}.tabs[data-v-cb04e28a]{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.tab[data-v-cb04e28a]{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-cb04e28a]:hover{background:var(--tag-bg)}.tab.on[data-v-cb04e28a]{background:var(--text);color:var(--bg);border-color:var(--text)}.ex-list[data-v-cb04e28a]{flex:1;overflow-y:auto;padding:4px}.ex-list[data-v-cb04e28a]::-webkit-scrollbar{width:3px}.ex-list[data-v-cb04e28a]::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.ex-row[data-v-cb04e28a]{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-cb04e28a]:hover{background:var(--tag-bg)}.ex-row.added[data-v-cb04e28a]{background:var(--added-bg)}.ex-row-info[data-v-cb04e28a]{flex:1;min-width:0}.ex-row-name[data-v-cb04e28a]{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-cb04e28a]{color:var(--added-text)}.ex-row-group[data-v-cb04e28a]{font-size:10px;color:var(--text-dim);margin-top:2px}.ex-row-btn[data-v-cb04e28a]{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-cb04e28a]{border-color:var(--text-dim);color:var(--text-mid)}.ex-row.added .ex-row-btn[data-v-cb04e28a]{border-color:var(--added-border);color:var(--added-border)}.ex-row.added:hover .ex-row-btn[data-v-cb04e28a]{background:var(--del-bg);border-color:var(--del-border);color:var(--del-text)}.ex-row-actions[data-v-cb04e28a]{display:none;align-items:center;gap:3px;flex-shrink:0}.ex-row:hover .ex-row-actions[data-v-cb04e28a]{display:flex}.ex-act-btn[data-v-cb04e28a]{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-cb04e28a]:hover{background:var(--tag-bg);border-color:var(--border-mid)}.ex-act-btn.del[data-v-cb04e28a]:hover{background:var(--del-bg);border-color:var(--del-border)}.ex-act-btn.confirm[data-v-cb04e28a]{font-size:12px;color:var(--green);border-color:var(--green)}.ex-act-btn.confirm[data-v-cb04e28a]:hover{background:color-mix(in srgb,var(--green) 12%,transparent)}.ex-act-btn.cancel[data-v-cb04e28a]{font-size:12px;color:var(--text-faint);border-color:var(--border-mid)}.ex-act-btn.cancel[data-v-cb04e28a]:hover{background:var(--tag-bg)}.del-confirm-label[data-v-cb04e28a]{font-size:10px;color:var(--del-text);white-space:nowrap}.no-results[data-v-cb04e28a]{padding:32px 16px;text-align:center;color:var(--text-faint);font-size:12px}.right[data-v-cb04e28a]{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:14px;gap:6px}.right[data-v-cb04e28a]::-webkit-scrollbar{width:3px}.right[data-v-cb04e28a]::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.desktop-layout[data-v-cb04e28a]{display:flex;height:calc(100vh - 48px)}.desktop-layout .left[data-v-cb04e28a]{display:flex;flex-direction:column;background:var(--bg);border-right:none;min-height:0;overflow:hidden;flex-shrink:0}.desktop-layout .right[data-v-cb04e28a]{flex:1;overflow-y:auto;min-width:0}.resize-handle[data-v-cb04e28a]{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-cb04e28a]:hover,.resize-handle[data-v-cb04e28a]:active{background:var(--accent)}.mobile-layout[data-v-cb04e28a]{display:none}@media (max-width:767px){.desktop-layout[data-v-cb04e28a],.desktop-only[data-v-cb04e28a]{display:none}.mobile-layout[data-v-cb04e28a]{display:flex;flex-direction:column;height:calc(100vh - 48px)}.mobile-panel[data-v-cb04e28a]{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}.mobile-panel.active[data-v-cb04e28a]{display:flex}.mobile-panel .right[data-v-cb04e28a]{flex:1;overflow-y:auto;padding:12px}.tab[data-v-cb04e28a]{padding:7px 12px;font-size:13px}.search[data-v-cb04e28a]{font-size:16px}.ex-row[data-v-cb04e28a]{min-height:52px;padding:10px 8px}.ex-row-name[data-v-cb04e28a]{font-size:13px;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.4}.ex-row-actions[data-v-cb04e28a]{display:flex}.ex-act-btn[data-v-cb04e28a]{width:32px;height:32px;font-size:15px}.ex-row-btn[data-v-cb04e28a]{width:36px;height:36px;font-size:16px}.bottom-nav[data-v-cb04e28a]{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-cb04e28a]{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-cb04e28a]{border-top-color:var(--text)}.bnav-icon[data-v-cb04e28a]{font-size:20px;line-height:1}.bnav-label[data-v-cb04e28a]{font-size:11px;color:var(--text-dim)}.bnav-btn.active .bnav-label[data-v-cb04e28a]{color:var(--text);font-weight:600}.bnav-sub[data-v-cb04e28a]{font-size:10px;color:var(--text-faint)}.bnav-badge[data-v-cb04e28a]{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}
