.notification[data-v-6fc71fb3]{display:flex;align-items:flex-start;gap:12px;background:var(--surface-2);border:1px solid var(--border-2);border-left:4px solid;padding:16px;border-radius:4px;box-shadow:0 6px 20px #00000073;min-width:350px;max-width:450px;animation:slideIn-6fc71fb3 .3s ease-out}@keyframes slideIn-6fc71fb3{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success[data-v-6fc71fb3]{border-left-color:#16a34a}.notification-error[data-v-6fc71fb3]{border-left-color:#dc2626}.notification-warning[data-v-6fc71fb3]{border-left-color:#f59e0b}.notification-info[data-v-6fc71fb3]{border-left-color:var(--accent)}.notification-icon[data-v-6fc71fb3]{flex-shrink:0;font-size:20px;padding-top:2px}.notification-success .notification-icon[data-v-6fc71fb3]{color:#4ade80}.notification-error .notification-icon[data-v-6fc71fb3]{color:#f87171}.notification-warning .notification-icon[data-v-6fc71fb3]{color:#fbbf24}.notification-info .notification-icon[data-v-6fc71fb3]{color:var(--accent)}.notification-content[data-v-6fc71fb3]{flex:1;min-width:0}.notification-title[data-v-6fc71fb3]{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;line-height:1.4}.notification-message[data-v-6fc71fb3]{font-size:13px;color:var(--text-dim);line-height:1.5;white-space:pre-wrap;word-break:break-word}.notification-close[data-v-6fc71fb3]{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.notification-close[data-v-6fc71fb3]:hover{background:var(--surface-3);color:var(--text)}.notification-close i[data-v-6fc71fb3]{font-size:14px}.notification-stack[data-v-a7d8abde]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.notification-stack[data-v-a7d8abde]>*{pointer-events:auto}.notification-list-enter-active[data-v-a7d8abde]{transition:all .3s ease-out}.notification-list-leave-active[data-v-a7d8abde]{transition:all .3s ease-in}.notification-list-enter-from[data-v-a7d8abde],.notification-list-leave-to[data-v-a7d8abde]{transform:translate(100%);opacity:0}.notification-list-move[data-v-a7d8abde]{transition:transform .3s ease}.claude-icon[data-v-51e6ce22]{display:inline-block;vertical-align:middle;flex-shrink:0}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #1a1a1a;--surface: #1e1e1e;--surface-2: #242424;--surface-3: #2c2c2c;--border: #333;--border-2: #3a3a3a;--text: #e6e6e6;--text-dim: #aaa;--text-muted: #888;--accent: #D97757;--accent-dim: #3a2c26;--info: #60a5fa;--ok: #16a34a;--ok-bg: #12271a;--warn: #f59e0b;--warn-bg: #2b2110;--err: #ef4444;--err-bg: #2b1616;color-scheme:dark}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;font-size:14px}.container{max-width:1400px;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left))}.header{background:var(--surface-2);border:1px solid var(--border);margin-bottom:20px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.terminal-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-family:inherit;color:var(--text);background:var(--accent-dim);border:1px solid var(--accent);cursor:pointer}.terminal-btn:hover{background:var(--accent);color:#fff}.terminal-btn.empty{color:var(--text-dim);background:var(--surface-3);border-color:var(--border-2)}.terminal-btn.empty:hover{color:var(--text);border-color:var(--text-muted)}.terminal-count{min-width:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:17px;text-align:center;color:#fff;background:var(--accent);border-radius:9px}.account{position:relative;flex-shrink:0}.account-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-family:inherit;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border-2);cursor:pointer}.account-btn:hover{color:var(--text);border-color:var(--accent)}.account-btn .fa-user-circle{color:var(--accent)}.account-btn .fa-caret-down{font-size:10px;color:var(--text-muted)}.account-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:250px;background:var(--surface-2);border:1px solid var(--border-2);box-shadow:0 8px 24px #00000073}.account-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:10px 14px;font-size:12px;font-family:inherit;text-align:left;color:var(--text-dim);background:transparent;border:none;cursor:pointer}.account-menu button:hover{background:var(--surface-3);color:var(--text)}.account-menu button+button{border-top:1px solid var(--border)}.account-menu i{width:14px;color:var(--text-muted)}.header-content h1{font-size:18px;font-weight:600;color:var(--text);margin:0}.subtitle{color:var(--text-muted);font-size:13px;margin-top:2px}.navigation{display:flex;gap:10px;margin-bottom:20px}.nav-btn{background:var(--surface-2);border:1px solid var(--border-2);padding:8px 16px;font-size:13px;cursor:pointer;color:var(--text-dim);transition:none;display:inline-flex;align-items:center;gap:6px}.nav-btn i{font-size:12px}.nav-btn:hover{background:var(--surface-3);color:var(--text)}.nav-btn.active{background:var(--accent-dim);color:var(--text);border-color:var(--accent)}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#202020}::-webkit-scrollbar-thumb{background:#3d3d3d}::-webkit-scrollbar-thumb:hover{background:#4d4d4d}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface-3) inset}.fa-spin{animation:fa-spin 1s infinite linear}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mt-2{margin-top:16px}.mb-2{margin-bottom:16px}.font-mono{font-family:Courier New,monospace}.card[data-v-5d4cd200]{background:var(--surface);border:1px solid var(--border);margin-bottom:20px}.card-header[data-v-5d4cd200]{background:var(--surface-2);border-bottom:1px solid var(--border);padding:12px 20px}.card-header h2[data-v-5d4cd200]{font-size:14px;font-weight:600;color:var(--text);margin:0}.card-body[data-v-5d4cd200]{padding:20px}.form-group[data-v-5d4cd200]{margin-bottom:16px}.form-label[data-v-5d4cd200]{display:block;margin-bottom:6px;font-weight:500;color:var(--text);font-size:13px}.form-input[data-v-5d4cd200]{width:100%;padding:8px 12px;border:1px solid var(--border-2);background:var(--surface-3);color:var(--text);font-size:13px;font-family:inherit}.form-input[data-v-5d4cd200]:focus{outline:none;border-color:var(--accent)}.form-input.error[data-v-5d4cd200]{border-color:var(--err)}.form-help[data-v-5d4cd200]{display:block;margin-top:4px;font-size:12px;color:var(--text-muted)}.form-help code[data-v-5d4cd200]{font-family:Courier New,monospace;background:var(--surface-3);padding:1px 4px}.form-error[data-v-5d4cd200]{margin-top:4px;color:var(--err);font-size:12px}.form-note[data-v-5d4cd200]{margin-top:12px;font-size:12px;color:var(--text-muted);max-width:640px}.btn[data-v-5d4cd200]{padding:8px 16px;font-size:13px;font-weight:500;border:none;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.btn i[data-v-5d4cd200]{font-size:12px}.btn[data-v-5d4cd200]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-5d4cd200]{background:var(--accent);color:#fff}.btn-primary[data-v-5d4cd200]:hover:not(:disabled){background:#c9663f}.checkbox-label[data-v-5d4cd200]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text)}.checkbox-label input[type=checkbox][data-v-5d4cd200]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.checkbox-label input[type=checkbox][data-v-5d4cd200]:disabled{cursor:not-allowed}.checkbox-label span[data-v-5d4cd200]{-webkit-user-select:none;user-select:none}.deployment-mode-switcher[data-v-5d4cd200]{display:flex;flex-direction:column;gap:10px}.radio-label[data-v-5d4cd200]{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border-2);border-radius:6px;cursor:pointer;transition:all .2s ease;background:var(--surface-2)}.radio-label[data-v-5d4cd200]:hover{border-color:var(--accent)}.radio-label input[type=radio][data-v-5d4cd200]{width:18px;height:18px;cursor:pointer;flex-shrink:0;accent-color:var(--accent)}.radio-label[data-v-5d4cd200]:has(input[type=radio]:checked){border-color:var(--accent);background:var(--accent-dim)}.radio-text[data-v-5d4cd200]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);-webkit-user-select:none;user-select:none;flex-grow:1}.radio-label:has(input[type=radio]:checked) .radio-text[data-v-5d4cd200]{color:var(--text);font-weight:600}.radio-text i[data-v-5d4cd200]{font-size:14px;color:var(--text-muted);width:16px;text-align:center}.radio-label:has(input[type=radio]:checked) .radio-text i[data-v-5d4cd200]{color:var(--accent)}.radio-label input[type=radio][data-v-5d4cd200]:disabled{cursor:not-allowed;opacity:.5}.radio-label[data-v-5d4cd200]:has(input[type=radio]:disabled){cursor:not-allowed;opacity:.6}.project-name-cell[data-v-ed003c07]{display:flex;align-items:center;gap:8px}.project-name-cell i[data-v-ed003c07]{color:var(--text-muted);font-size:12px}.project-name-cell strong[data-v-ed003c07]{color:var(--text);font-weight:600}.project-status[data-v-ed003c07]{display:inline-block;padding:2px 8px;font-size:11px;border:1px solid;white-space:nowrap}.project-status.status-running[data-v-ed003c07]{color:#4ade80;border-color:#166534;background:var(--ok-bg)}.project-status.status-stopped[data-v-ed003c07]{color:#fca5a5;border-color:#7f1d1d;background:var(--err-bg)}.project-status.status-unknown[data-v-ed003c07]{color:var(--text-dim);border-color:var(--border-2);background:var(--surface-2)}.domains-cell[data-v-ed003c07]{display:flex;flex-direction:column;gap:4px}.domain-link[data-v-ed003c07]{color:var(--info);text-decoration:none;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.domain-link[data-v-ed003c07]:hover{text-decoration:underline}.git-cell[data-v-ed003c07]{display:flex;justify-content:center}.btn-git-link[data-v-ed003c07]{padding:4px 10px;font-size:12px;border:1px solid;background:var(--surface-2);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:all .2s ease}.btn-git-link.git-type-github[data-v-ed003c07]{border-color:var(--border-2);color:var(--text-dim)}.btn-git-link.git-type-github[data-v-ed003c07]:hover{background:var(--surface-3);color:var(--text)}.btn-git-link.git-type-gitlab[data-v-ed003c07]{border-color:#fc6d26;color:#fc6d26}.btn-git-link.git-type-gitlab[data-v-ed003c07]:hover{background:#2b1a12}.btn-git-link.git-type-other[data-v-ed003c07]{border-color:#a3453a;color:#f05032}.btn-git-link.git-type-other[data-v-ed003c07]:hover{background:#2b1a17}.btn-git-create[data-v-ed003c07]{padding:4px 10px;font-size:12px;border:1px dashed #fc6d26;background:transparent;color:#fc6d26;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:all .2s ease}.btn-git-create[data-v-ed003c07]:hover{background:#2b1a12;border-style:solid}.branch-cell[data-v-ed003c07]{display:flex;justify-content:center}.branch-name[data-v-ed003c07]{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;background:var(--surface-3);border:1px solid var(--border-2);border-radius:3px;font-size:12px;color:var(--text-dim);font-family:Courier New,monospace}.branch-name i[data-v-ed003c07]{font-size:11px;color:var(--text-muted)}.project-actions[data-v-ed003c07]{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}.btn-action[data-v-ed003c07]{padding:4px 8px;font-size:12px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;color:var(--text-dim)}.btn-action[data-v-ed003c07]:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-muted)}.btn-action[data-v-ed003c07]:disabled{opacity:.3;cursor:not-allowed}.btn-action.btn-start[data-v-ed003c07]{color:#4ade80}.btn-action.btn-start[data-v-ed003c07]:hover:not(:disabled){border-color:#16a34a;background:var(--ok-bg)}.btn-action.btn-stop[data-v-ed003c07]{color:#f87171}.btn-action.btn-stop[data-v-ed003c07]:hover:not(:disabled){border-color:#dc2626;background:var(--err-bg)}.btn-action.btn-restart[data-v-ed003c07]{color:var(--info)}.btn-action.btn-restart[data-v-ed003c07]:hover:not(:disabled){border-color:var(--info);background:#16233a}.btn-action.btn-git-pull[data-v-ed003c07]{color:#a78bfa}.btn-action.btn-git-pull[data-v-ed003c07]:hover:not(:disabled){border-color:#8b5cf6;background:#211a33}.btn-action.btn-logs[data-v-ed003c07]{color:var(--text-dim)}.btn-action.btn-logs[data-v-ed003c07]:hover:not(:disabled){border-color:var(--text-muted);background:var(--surface-3)}.btn-action.btn-delete[data-v-ed003c07]{color:#f87171}.btn-action.btn-delete[data-v-ed003c07]:hover:not(:disabled){border-color:#dc2626;background:var(--err-bg)}.btn-editor[data-v-ed003c07]{padding:4px 8px;font-size:11px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;color:var(--text-dim);display:inline-flex;align-items:center;gap:4px}.btn-editor i[data-v-ed003c07]{font-size:10px}.btn-editor[data-v-ed003c07]:hover{background:var(--surface-3);color:var(--text)}.btn-editor.btn-claude[data-v-ed003c07]:hover{background:var(--accent-dim);border-color:var(--accent)}.claude-count[data-v-ed003c07]{min-width:15px;padding:0 4px;font-size:10px;font-weight:700;line-height:15px;text-align:center;color:#fff;background:var(--accent);border-radius:8px}.action-divider[data-v-ed003c07]{width:1px;height:16px;background:var(--border-2);margin:0 4px}.btn-loading[data-v-ed003c07]{opacity:.7;cursor:wait!important}.font-mono[data-v-ed003c07]{font-family:Courier New,monospace}.text-muted[data-v-ed003c07]{color:var(--text-muted)}.pending-row[data-v-086072c4]{background:#d977570f}.pending-row.failed[data-v-086072c4]{background:#ef444412}.project-name-cell[data-v-086072c4]{display:flex;align-items:center;gap:8px}.project-name-cell i[data-v-086072c4]{color:var(--accent);font-size:12px}.pending-row.failed .project-name-cell i[data-v-086072c4]{color:var(--err)}.project-name-cell strong[data-v-086072c4]{color:var(--text);font-weight:600}.project-status[data-v-086072c4]{display:inline-block;padding:2px 8px;font-size:11px;border:1px solid;white-space:nowrap}.project-status.status-creating[data-v-086072c4]{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.project-status.status-error[data-v-086072c4]{color:#fca5a5;border-color:#7f1d1d;background:var(--err-bg)}.domain-text[data-v-086072c4]{font-size:12px;color:var(--text-dim)}.progress[data-v-086072c4]{display:flex;align-items:center;gap:10px}.progress-track[data-v-086072c4]{width:120px;height:4px;background:var(--surface-3);flex-shrink:0}.progress-fill[data-v-086072c4]{height:100%;background:var(--accent);transition:width .3s}.progress-message[data-v-086072c4],.error-message[data-v-086072c4]{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:inline-block}.error-message[data-v-086072c4]{color:#fca5a5}.project-actions[data-v-086072c4]{display:flex;gap:4px;align-items:center}.btn-action[data-v-086072c4]{padding:4px 8px;font-size:11px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;color:var(--text-dim);display:inline-flex;align-items:center;gap:5px}.btn-action[data-v-086072c4]:hover{color:var(--accent);border-color:var(--accent)}.btn-dismiss[data-v-086072c4]:hover{color:var(--err);border-color:var(--err)}.font-mono[data-v-086072c4]{font-family:Courier New,monospace}.folder-name-cell[data-v-cf27eb66]{display:flex;align-items:center;gap:8px}.folder-name-cell i[data-v-cf27eb66]{color:var(--warn);font-size:12px}.folder-name-cell strong[data-v-cf27eb66]{color:#fbbf24;font-weight:600}.folder-path[data-v-cf27eb66]{color:var(--text-muted);font-size:12px;font-family:Courier New,monospace}.orphaned-actions[data-v-cf27eb66]{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}.btn-action[data-v-cf27eb66]{padding:4px 8px;font-size:12px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;color:var(--text-dim)}.btn-action.btn-delete[data-v-cf27eb66]{color:#f87171}.btn-action.btn-delete[data-v-cf27eb66]:hover:not(:disabled){border-color:#dc2626;background:var(--err-bg)}.btn-editor[data-v-cf27eb66]{padding:4px 8px;font-size:11px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;color:var(--text-dim);display:inline-flex;align-items:center;gap:4px}.btn-editor i[data-v-cf27eb66]{font-size:10px}.btn-editor[data-v-cf27eb66]:hover{background:var(--surface-3);color:var(--text)}.btn-editor.btn-claude[data-v-cf27eb66]:hover{background:var(--accent-dim);border-color:var(--accent)}.claude-count[data-v-cf27eb66]{min-width:15px;padding:0 4px;font-size:10px;font-weight:700;line-height:15px;text-align:center;color:#fff;background:var(--accent);border-radius:8px}.action-divider[data-v-cf27eb66]{width:1px;height:16px;background:var(--border-2);margin:0 4px}.text-muted[data-v-cf27eb66]{color:var(--text-muted)}.modal-overlay[data-v-2dfeaea7]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-container[data-v-2dfeaea7]{background:var(--surface);border:1px solid var(--border-2);border-radius:8px;box-shadow:0 10px 40px #00000080;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-2dfeaea7]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-2dfeaea7]{font-size:16px;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.modal-header h3 i[data-v-2dfeaea7]{color:var(--text-muted)}.modal-close[data-v-2dfeaea7]{width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close[data-v-2dfeaea7]:hover{background:var(--surface-3);color:var(--text)}.modal-body[data-v-2dfeaea7]{flex:1;overflow:hidden;padding:0}.logs-loading[data-v-2dfeaea7],.logs-error[data-v-2dfeaea7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-dim)}.logs-loading i[data-v-2dfeaea7]{font-size:32px;margin-bottom:16px;color:var(--accent)}.logs-error i[data-v-2dfeaea7]{font-size:48px;margin-bottom:16px;color:#f87171}.logs-error p[data-v-2dfeaea7]{font-size:14px;margin:0}.logs-content[data-v-2dfeaea7]{height:100%;min-height:400px;max-height:calc(90vh - 160px);overflow-y:auto;background:#141414;padding:16px}.logs-content pre[data-v-2dfeaea7]{margin:0;font-family:Courier New,Consolas,monospace;font-size:12px;line-height:1.6;color:var(--text-dim);white-space:pre-wrap;word-break:break-word}.modal-footer[data-v-2dfeaea7]{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border)}.btn[data-v-2dfeaea7]{padding:8px 16px;font-size:13px;font-weight:500;border:none;cursor:pointer;border-radius:4px;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.btn[data-v-2dfeaea7]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-2dfeaea7]{background:var(--accent);color:#fff}.btn-primary[data-v-2dfeaea7]:hover:not(:disabled){background:#c9663f}.btn-secondary[data-v-2dfeaea7]{background:var(--surface-3);color:var(--text-dim);border:1px solid var(--border-2)}.btn-secondary[data-v-2dfeaea7]:hover:not(:disabled){color:var(--text)}.modal-fade-enter-active[data-v-2dfeaea7],.modal-fade-leave-active[data-v-2dfeaea7]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-2dfeaea7],.modal-fade-leave-to[data-v-2dfeaea7]{opacity:0}.modal-fade-enter-active .modal-container[data-v-2dfeaea7],.modal-fade-leave-active .modal-container[data-v-2dfeaea7]{transition:transform .3s ease}.modal-fade-enter-from .modal-container[data-v-2dfeaea7],.modal-fade-leave-to .modal-container[data-v-2dfeaea7]{transform:scale(.9)}.logs-content[data-v-2dfeaea7]::-webkit-scrollbar{width:10px}.logs-content[data-v-2dfeaea7]::-webkit-scrollbar-track{background:#1c1c1c}.logs-content[data-v-2dfeaea7]::-webkit-scrollbar-thumb{background:#3d3d3d;border-radius:5px}.logs-content[data-v-2dfeaea7]::-webkit-scrollbar-thumb:hover{background:#4d4d4d}.modal-overlay[data-v-ed15880b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-ed15880b]{background:var(--surface);border:1px solid var(--border-2);width:90%;max-width:500px;border-radius:4px;box-shadow:0 10px 40px #00000080}.modal-header[data-v-ed15880b]{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h3[data-v-ed15880b]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.modal-close[data-v-ed15880b]{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:4px;line-height:1}.modal-close[data-v-ed15880b]:hover{color:var(--text)}.modal-body[data-v-ed15880b]{padding:20px}.info-box[data-v-ed15880b]{background:#2b1a12;border:1px solid #fc6d26;border-radius:4px;padding:12px;margin-bottom:16px;display:flex;align-items:center;gap:12px}.info-box i[data-v-ed15880b]{font-size:24px;color:#fc6d26}.info-box strong[data-v-ed15880b]{color:var(--text)}.form-group[data-v-ed15880b]{margin-bottom:16px}.form-label[data-v-ed15880b]{display:block;margin-bottom:6px;font-weight:500;color:var(--text);font-size:13px}.form-textarea[data-v-ed15880b]{width:100%;padding:8px 12px;border:1px solid var(--border-2);background:var(--surface-3);color:var(--text);border-radius:4px;font-size:13px;font-family:inherit;resize:vertical}.form-textarea[data-v-ed15880b]:focus{outline:none;border-color:var(--accent)}.checkbox-label[data-v-ed15880b]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text)}.checkbox-label input[type=checkbox][data-v-ed15880b]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.info-text[data-v-ed15880b]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);padding:8px 12px;background:var(--surface-2);border-radius:4px;margin-bottom:8px}.info-text i[data-v-ed15880b]{color:var(--accent)}.info-text strong[data-v-ed15880b]{color:var(--text-dim)}.modal-footer[data-v-ed15880b]{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}.btn[data-v-ed15880b]{padding:8px 16px;font-size:13px;font-weight:500;border:1px solid transparent;border-radius:4px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.btn i[data-v-ed15880b]{font-size:12px}.btn[data-v-ed15880b]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-ed15880b]{background:var(--surface-3);color:var(--text-dim);border-color:var(--border-2)}.btn-secondary[data-v-ed15880b]:hover:not(:disabled){color:var(--text)}.btn-primary[data-v-ed15880b]{background:var(--accent);color:#fff}.btn-primary[data-v-ed15880b]:hover:not(:disabled){background:#c9663f}.modal-overlay[data-v-4cb968d4]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-4cb968d4]{background:var(--surface);border:1px solid var(--border-2);width:90%;max-width:550px;border-radius:4px;box-shadow:0 10px 40px #00000080}.modal-danger[data-v-4cb968d4]{border-top:3px solid #dc2626}.modal-header[data-v-4cb968d4]{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h3[data-v-4cb968d4]{margin:0;font-size:16px;font-weight:600;color:#f87171}.modal-close[data-v-4cb968d4]{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:4px;line-height:1}.modal-close[data-v-4cb968d4]:hover{color:var(--text)}.modal-body[data-v-4cb968d4]{padding:20px}.warning-box[data-v-4cb968d4]{background:var(--err-bg);border:1px solid #7f1d1d;border-radius:4px;padding:12px;margin-bottom:16px;display:flex;align-items:center;gap:12px}.warning-box i[data-v-4cb968d4]{font-size:24px;color:#f87171}.warning-box strong[data-v-4cb968d4]{color:#fca5a5}.project-info[data-v-4cb968d4]{padding:12px;background:var(--surface-2);border-radius:4px;margin-bottom:16px;font-size:13px;color:var(--text-dim)}.project-info strong[data-v-4cb968d4]{color:var(--text)}.steps-list[data-v-4cb968d4]{border:1px solid var(--border);border-radius:4px;padding:12px;margin-bottom:16px}.step-title[data-v-4cb968d4]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:10px}.step-item[data-v-4cb968d4]{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;color:var(--text-dim)}.step-item i[data-v-4cb968d4]{width:20px;color:#f87171}.step-item.step-optional i[data-v-4cb968d4]{color:var(--text-muted)}.form-group[data-v-4cb968d4]{margin-bottom:16px}.checkbox-label[data-v-4cb968d4]{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:13px;color:var(--text)}.checkbox-label input[type=checkbox][data-v-4cb968d4]{width:16px;height:16px;cursor:pointer;margin-top:2px;accent-color:#dc2626}.checkbox-danger[data-v-4cb968d4]{padding:10px;background:var(--err-bg);border:1px solid #7f1d1d;border-radius:4px}.repo-info[data-v-4cb968d4]{display:flex;align-items:center;gap:8px;margin-top:8px;margin-left:24px;font-size:12px}.repo-info i[data-v-4cb968d4]{color:#fc6d26}.repo-info a[data-v-4cb968d4]{color:var(--info);text-decoration:none}.repo-info a[data-v-4cb968d4]:hover{text-decoration:underline}.confirmation-box[data-v-4cb968d4]{border:1px solid #7f1d1d;border-radius:4px;padding:12px;background:var(--surface-2)}.checkbox-confirm[data-v-4cb968d4]{font-weight:600}.modal-footer[data-v-4cb968d4]{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}.btn[data-v-4cb968d4]{padding:8px 16px;font-size:13px;font-weight:500;border:1px solid transparent;border-radius:4px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.btn i[data-v-4cb968d4]{font-size:12px}.btn[data-v-4cb968d4]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-4cb968d4]{background:var(--surface-3);color:var(--text-dim);border-color:var(--border-2)}.btn-secondary[data-v-4cb968d4]:hover:not(:disabled){color:var(--text)}.btn-danger[data-v-4cb968d4]{background:#dc2626;color:#fff}.btn-danger[data-v-4cb968d4]:hover:not(:disabled){background:#b91c1c}.card[data-v-75b93425]{background:var(--surface);border:1px solid var(--border);margin-bottom:20px}.card-header[data-v-75b93425]{background:var(--surface-2);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;justify-content:space-between;align-items:center}.card-header h2[data-v-75b93425]{font-size:14px;font-weight:600;color:var(--text);margin:0}.projects-controls[data-v-75b93425]{display:flex;gap:10px;align-items:center}.search-box[data-v-75b93425]{position:relative;width:250px}.search-box i[data-v-75b93425]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:12px}.search-box input[data-v-75b93425]{width:100%;padding:6px 12px 6px 32px;border:1px solid var(--border-2);background:var(--surface-3);color:var(--text);font-size:13px}.search-box input[data-v-75b93425]:focus{outline:none;border-color:var(--accent)}.btn[data-v-75b93425]{padding:6px 12px;font-size:12px;font-weight:500;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-primary[data-v-75b93425]{background:var(--accent);color:#fff}.btn-primary[data-v-75b93425]:hover{background:#c9663f}.btn-small[data-v-75b93425]{padding:6px 12px;font-size:12px}.card-body[data-v-75b93425]{padding:20px;position:relative}.alert[data-v-75b93425]{display:flex;gap:10px;padding:10px 12px;font-size:13px;margin-bottom:16px;align-items:flex-start}.alert-error[data-v-75b93425]{background:var(--err-bg);border:1px solid #7f1d1d;color:#fca5a5}.alert-warning[data-v-75b93425]{background:var(--warn-bg);border:1px solid #78350f;color:#fbbf24;align-items:center}.alert-text[data-v-75b93425]{flex:1}.alert code[data-v-75b93425]{font-family:Courier New,monospace}.btn-secondary[data-v-75b93425]{background:var(--surface-3);color:var(--text-dim);border:1px solid var(--border-2)}.btn-secondary[data-v-75b93425]:hover{color:var(--text)}.btn-ghost[data-v-75b93425]{background:transparent;color:var(--text-muted)}.btn-ghost[data-v-75b93425]:hover{color:var(--text)}.alert a[data-v-75b93425]{color:var(--accent)}.background-loading[data-v-75b93425]{position:absolute;top:0;left:0;right:0;height:3px;background:transparent;z-index:10;overflow:hidden}.loading-bar[data-v-75b93425]{height:100%;background:linear-gradient(90deg,var(--accent),#f0a184,var(--accent));background-size:200% 100%;animation:loading-slide-75b93425 1.5s infinite}@keyframes loading-slide-75b93425{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-state[data-v-75b93425]{text-align:center;padding:60px 20px;color:var(--text-dim)}.loading-state i[data-v-75b93425]{font-size:24px;margin-bottom:10px}.empty-state[data-v-75b93425]{text-align:center;padding:60px 20px;color:var(--text-dim)}.empty-state i[data-v-75b93425]{font-size:48px;color:var(--border-2);margin-bottom:16px}.empty-state h3[data-v-75b93425]{font-size:16px;margin-bottom:8px}.empty-state p[data-v-75b93425]{font-size:13px;color:var(--text-muted);margin-bottom:20px}.projects-table[data-v-75b93425]{width:100%;border-collapse:collapse}.projects-table th[data-v-75b93425]{padding:8px 12px;text-align:left;background:var(--surface-2);font-weight:600;color:var(--text-muted);border-bottom:2px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.projects-table[data-v-75b93425] td{padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}.projects-table[data-v-75b93425] tbody tr:hover{background:var(--surface-2)}.projects-table.updating[data-v-75b93425]{opacity:.6;pointer-events:none;transition:opacity .3s ease}.orphaned-section[data-v-75b93425]{margin-top:32px;padding-top:24px;border-top:2px solid var(--border)}.orphaned-title[data-v-75b93425]{font-size:14px;font-weight:600;margin:0 0 8px;color:var(--text-dim)}.orphaned-title i[data-v-75b93425]{font-size:12px;color:var(--warn);margin-right:6px}.orphaned-description[data-v-75b93425]{font-size:12px;color:var(--text-muted);margin:0 0 16px}.orphaned-table[data-v-75b93425]{width:100%;border-collapse:collapse}.orphaned-table th[data-v-75b93425]{padding:8px 12px;text-align:left;background:var(--warn-bg);font-weight:600;color:#fbbf24;border-bottom:2px solid #78350f;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.orphaned-table[data-v-75b93425] td{padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}.orphaned-table[data-v-75b93425] tbody tr:hover{background:var(--warn-bg)}.progress-container[data-v-b0c7afe9]{display:flex;align-items:center;gap:10px;margin-bottom:20px}.progress-bar[data-v-b0c7afe9]{flex:1;height:4px;background:var(--surface-3)}.progress-fill[data-v-b0c7afe9]{height:100%;background:var(--accent);transition:width .3s}.progress-text[data-v-b0c7afe9]{font-size:12px;color:var(--text-muted);min-width:40px}.step[data-v-6ac8a61f]{padding:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;transition:background .2s}.step[data-v-6ac8a61f]:last-child{border-bottom:none}.step.running[data-v-6ac8a61f]{background:#d9775714}.step.success[data-v-6ac8a61f]{background:var(--ok-bg)}.step.error[data-v-6ac8a61f]{background:var(--err-bg)}.step-icon[data-v-6ac8a61f]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border-radius:50%;color:var(--text-dim)}.step.running .step-icon[data-v-6ac8a61f]{background:var(--accent-dim);color:var(--accent)}.step.success .step-icon[data-v-6ac8a61f]{background:#14331f;color:#4ade80}.step.error .step-icon[data-v-6ac8a61f]{background:#3b1d1d;color:#f87171}.step-content[data-v-6ac8a61f]{flex:1;min-width:0}.step-title[data-v-6ac8a61f]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.step-status[data-v-6ac8a61f]{font-size:12px;color:var(--text-muted);word-break:break-word}.step-indicator[data-v-6ac8a61f]{flex-shrink:0;color:var(--text-muted)}.step.running .step-indicator[data-v-6ac8a61f]{color:var(--accent)}.step.success .step-indicator[data-v-6ac8a61f]{color:#4ade80}.step.error .step-indicator[data-v-6ac8a61f]{color:#f87171}.log-entry[data-v-8108d232]{padding:2px 0;white-space:pre-wrap;word-break:break-word;font-family:Courier New,monospace;font-size:12px;color:var(--text-dim)}.log-entry.running[data-v-8108d232]{color:var(--accent)}.log-entry.success[data-v-8108d232]{color:#4ade80}.log-entry.error[data-v-8108d232]{color:#f87171}.log-entry.warning[data-v-8108d232]{color:#fbbf24}.card[data-v-c49069d4]{background:var(--surface);border:1px solid var(--border);margin-bottom:20px}.card-header[data-v-c49069d4]{background:var(--surface-2);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-header h2[data-v-c49069d4]{font-size:14px;font-weight:600;color:var(--text);margin:0}.deployment-info[data-v-c49069d4]{display:flex;gap:16px;font-size:12px;color:var(--text-muted);margin-top:5px;flex-wrap:wrap;align-items:center}.deployment-state[data-v-c49069d4]{padding:1px 8px;border:1px solid var(--border-2);font-size:11px}.deployment-state.state-running[data-v-c49069d4]{color:var(--accent);border-color:var(--accent)}.deployment-state.state-success[data-v-c49069d4]{color:#4ade80;border-color:#166534}.deployment-state.state-warning[data-v-c49069d4]{color:#fbbf24;border-color:#78350f}.deployment-state.state-error[data-v-c49069d4],.deployment-state.state-interrupted[data-v-c49069d4]{color:#fca5a5;border-color:#7f1d1d}.card-body[data-v-c49069d4]{padding:20px}.alert[data-v-c49069d4]{display:flex;gap:10px;align-items:center;padding:10px 12px;font-size:13px;margin-bottom:16px}.alert-error[data-v-c49069d4]{background:var(--err-bg);border:1px solid #7f1d1d;color:#fca5a5}.alert-success[data-v-c49069d4]{background:var(--ok-bg);border:1px solid #166534;color:#86efac}.alert-warning[data-v-c49069d4]{background:var(--warn-bg);border:1px solid #78350f;color:#fbbf24}.alert a[data-v-c49069d4]{color:var(--info);font-family:Courier New,monospace}.link-btn[data-v-c49069d4]{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0 0 0 12px;font-family:inherit}.link-btn[data-v-c49069d4]:hover{text-decoration:underline}.btn[data-v-c49069d4]{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid var(--border-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn-secondary[data-v-c49069d4]{background:var(--surface-3);color:var(--text-dim)}.btn-secondary[data-v-c49069d4]:hover{color:var(--text);border-color:var(--text-muted)}.steps-container[data-v-c49069d4]{border:1px solid var(--border);background:var(--surface-2);margin-bottom:20px}.logs-container[data-v-c49069d4]{background:#141414;color:var(--text-dim);padding:16px;font-family:Courier New,monospace;font-size:12px;border:1px solid var(--border)}.logs-header[data-v-c49069d4]{margin-bottom:10px}.logs-header h3[data-v-c49069d4]{font-size:13px;color:var(--text-dim);margin:0}.logs-content[data-v-c49069d4]{max-height:400px;overflow-y:auto}.logs-empty[data-v-c49069d4]{color:var(--text-muted)}.logs-content[data-v-c49069d4]::-webkit-scrollbar{width:8px}.logs-content[data-v-c49069d4]::-webkit-scrollbar-track{background:#1c1c1c}.logs-content[data-v-c49069d4]::-webkit-scrollbar-thumb{background:#3d3d3d}.logs-content[data-v-c49069d4]::-webkit-scrollbar-thumb:hover{background:#4d4d4d}.card[data-v-264c4401]{background:var(--surface);border:1px solid var(--border);margin-bottom:20px}.success-card[data-v-264c4401]{border-color:#166534}.card-header[data-v-264c4401]{background:var(--ok-bg);border-bottom:1px solid #166534;padding:12px 20px}.card-header h2[data-v-264c4401]{font-size:14px;font-weight:600;color:#86efac;margin:0}.card-body[data-v-264c4401]{padding:20px}.result-info[data-v-264c4401]{background:var(--surface-2);border:1px solid var(--border);padding:16px;margin-bottom:20px}.result-item[data-v-264c4401]{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-dim)}.result-item[data-v-264c4401]:last-child{border-bottom:none}.result-item strong[data-v-264c4401]{min-width:120px;color:var(--text-muted);font-weight:500}.result-link[data-v-264c4401]{color:var(--info);text-decoration:none;font-family:Courier New,monospace;font-size:12px}.result-link[data-v-264c4401]:hover{text-decoration:underline}.password-field[data-v-264c4401]{font-family:Courier New,monospace;font-size:12px;color:var(--text)}.ssl-status[data-v-264c4401]{display:inline-block;padding:2px 8px;font-size:11px;border:1px solid;margin-left:8px}.ssl-status.ssl-success[data-v-264c4401]{color:#4ade80;border-color:#166534;background:var(--ok-bg)}.ssl-status.ssl-warning[data-v-264c4401]{color:#fbbf24;border-color:#78350f;background:var(--warn-bg)}.ssl-status.ssl-error[data-v-264c4401]{color:#fca5a5;border-color:#7f1d1d;background:var(--err-bg)}.result-actions[data-v-264c4401]{display:flex;gap:10px;flex-wrap:wrap}.btn[data-v-264c4401]{padding:8px 16px;font-size:13px;font-weight:500;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn i[data-v-264c4401]{font-size:12px}.btn-primary[data-v-264c4401]{background:var(--accent);color:#fff}.btn-primary[data-v-264c4401]:hover{background:#c9663f}.btn-secondary[data-v-264c4401]{background:var(--surface-3);color:var(--text-dim);border:1px solid var(--border-2)}.btn-secondary[data-v-264c4401]:hover{color:var(--text)}.btn-success[data-v-264c4401]{background:#16a34a;color:#fff}.btn-success[data-v-264c4401]:hover{background:#15803d}.btn-warning[data-v-264c4401]{background:#b45309;color:#fff}.btn-warning[data-v-264c4401]:hover{background:#92400e}.btn-small[data-v-264c4401]{padding:4px 8px;font-size:12px;background:var(--surface-3);color:var(--text-dim);border:1px solid var(--border-2);cursor:pointer}.btn-small[data-v-264c4401]:hover{color:var(--text)}.git-instructions[data-v-264c4401]{background:var(--surface-2);border:1px solid var(--border-2);border-radius:6px;padding:20px;margin-bottom:20px}.git-header[data-v-264c4401]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.git-header i[data-v-264c4401]{font-size:20px;color:#fc6d26}.git-header h3[data-v-264c4401]{font-size:14px;font-weight:600;color:var(--text);margin:0}.git-description[data-v-264c4401]{font-size:13px;color:var(--text-muted);margin-bottom:16px;line-height:1.5}.git-commands[data-v-264c4401]{position:relative;background:#141414;border:1px solid var(--border);border-radius:6px;padding:16px;margin-bottom:16px}.git-commands pre[data-v-264c4401]{margin:0;font-family:Courier New,Monaco,monospace;font-size:12px;line-height:1.6;color:var(--text-dim);overflow-x:auto}.git-commands code[data-v-264c4401]{font-family:inherit}.btn-copy[data-v-264c4401]{position:absolute;top:10px;right:10px;padding:6px 10px;background:var(--surface-3);color:var(--text-dim);border:1px solid var(--border-2);border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.btn-copy[data-v-264c4401]:hover{color:var(--accent);border-color:var(--accent)}.btn-copy i.fa-check[data-v-264c4401]{color:#4ade80}.repo-link[data-v-264c4401]{display:flex;align-items:center;gap:8px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:12px}.repo-link i[data-v-264c4401]{color:#fc6d26;font-size:16px}.repo-link span[data-v-264c4401]{color:var(--text-muted);font-weight:500}.repo-link a[data-v-264c4401]{color:var(--info);text-decoration:none;font-family:Courier New,monospace}.repo-link a[data-v-264c4401]:hover{text-decoration:underline}.settings-view[data-v-3fb41582]{max-width:720px}.card[data-v-3fb41582]{background:var(--surface);border:1px solid var(--border);margin-bottom:20px}.card-header[data-v-3fb41582]{background:var(--surface-2);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-header h2[data-v-3fb41582]{font-size:14px;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.card-header h2 i[data-v-3fb41582]{color:var(--accent)}.card-body[data-v-3fb41582]{padding:20px}.badge[data-v-3fb41582]{font-size:11px;padding:2px 8px;border:1px solid;white-space:nowrap}.badge-ok[data-v-3fb41582]{color:#4ade80;border-color:#166534;background:var(--ok-bg)}.badge-warn[data-v-3fb41582]{color:#fbbf24;border-color:#78350f;background:var(--warn-bg)}.badge-off[data-v-3fb41582]{color:var(--text-muted);border-color:var(--border-2);background:var(--surface-2)}.section-hint[data-v-3fb41582]{font-size:12px;color:var(--text-muted);margin:0 0 16px}.section-hint.warn[data-v-3fb41582]{color:#fbbf24;background:var(--warn-bg);border:1px solid #78350f;padding:8px 10px}.field[data-v-3fb41582]{margin-bottom:14px}.field.disabled[data-v-3fb41582]{opacity:.5}.field label[data-v-3fb41582]{display:block;font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:5px}.field .req[data-v-3fb41582]{color:#f87171}.field input[type=text][data-v-3fb41582],.field input[type=password][data-v-3fb41582],.field input[type=number][data-v-3fb41582],.field select[data-v-3fb41582]{width:100%;padding:8px 12px;border:1px solid var(--border-2);background:var(--surface-3);color:var(--text);font-size:13px;font-family:inherit}.field input[data-v-3fb41582]:focus,.field select[data-v-3fb41582]:focus{outline:none;border-color:var(--accent)}.field small[data-v-3fb41582]{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.field code[data-v-3fb41582]{background:var(--surface-2);padding:1px 4px;font-family:Courier New,monospace;color:var(--text-dim)}.input-row[data-v-3fb41582]{display:flex;gap:8px;align-items:center}.input-suffix[data-v-3fb41582]{font-size:13px;color:var(--text-muted);white-space:nowrap;font-family:Courier New,monospace}.button-row[data-v-3fb41582]{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.editor-current[data-v-3fb41582]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:16px;font-size:13px}.editor-current i[data-v-3fb41582]{color:var(--accent)}.editor-current a[data-v-3fb41582]{color:var(--info);font-family:Courier New,monospace}.manual-url[data-v-3fb41582]{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.install-log[data-v-3fb41582]{margin-top:16px;border:1px solid var(--border);background:#141414}.install-log-header[data-v-3fb41582]{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-dim)}.install-log-state.state-running[data-v-3fb41582]{color:var(--accent)}.install-log-state.state-success[data-v-3fb41582]{color:#4ade80}.install-log-state.state-error[data-v-3fb41582]{color:#f87171}.install-log-body[data-v-3fb41582]{padding:10px 12px;max-height:260px;overflow-y:auto;font-family:Courier New,monospace;font-size:12px}.log-line[data-v-3fb41582]{color:var(--text-dim);white-space:pre-wrap;word-break:break-word;padding:1px 0}.log-line.success[data-v-3fb41582]{color:#4ade80}.log-line.warning[data-v-3fb41582]{color:#fbbf24}.log-line.error[data-v-3fb41582]{color:#f87171}.toggle[data-v-3fb41582]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-bottom:14px;cursor:pointer}.users-list[data-v-3fb41582]{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.user-row[data-v-3fb41582]{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border)}.user-row>i[data-v-3fb41582]{color:var(--accent)}.user-info[data-v-3fb41582]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-role[data-v-3fb41582]{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-warn[data-v-3fb41582]{font-size:11px;color:#fbbf24}.btn-danger[data-v-3fb41582]:hover:not(:disabled){color:#f87171;border-color:#7f1d1d}.user-form[data-v-3fb41582]{padding-top:16px;border-top:1px solid var(--border)}.user-form h3[data-v-3fb41582]{margin:0 0 12px;font-size:13px;color:var(--text-dim)}.project-picker[data-v-3fb41582]{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 12px;margin-bottom:8px;background:var(--surface-2);border:1px solid var(--border);max-height:180px;overflow-y:auto}.project-pick[data-v-3fb41582]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);cursor:pointer}.project-pick input[data-v-3fb41582]{accent-color:var(--accent)}.toggle input[data-v-3fb41582]{width:16px;height:16px;accent-color:var(--accent)}.btn[data-v-3fb41582]{padding:8px 16px;font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:inherit}.btn[data-v-3fb41582]:disabled{opacity:.6;cursor:default}.btn-primary[data-v-3fb41582]{background:var(--accent);color:#fff}.btn-primary[data-v-3fb41582]:hover:not(:disabled){background:#c9663f}.btn-secondary[data-v-3fb41582]{background:var(--surface-3);color:var(--text-dim);border-color:var(--border-2)}.btn-secondary[data-v-3fb41582]:hover:not(:disabled){color:var(--text)}.btn-small[data-v-3fb41582]{padding:6px 12px;font-size:12px;white-space:nowrap}.status-line[data-v-3fb41582]{margin-top:12px;padding:8px 12px;font-size:12px;display:flex;align-items:center;gap:8px}.status-line.ok[data-v-3fb41582]{background:var(--ok-bg);color:#86efac;border:1px solid #166534}.status-line.err[data-v-3fb41582]{background:var(--err-bg);color:#fca5a5;border:1px solid #7f1d1d}.save-bar[data-v-3fb41582]{position:sticky;bottom:0;background:var(--surface-2);border:1px solid var(--border);padding:14px 20px;display:flex;gap:10px;margin-bottom:20px}.loading-state[data-v-3fb41582]{text-align:center;padding:60px 20px;color:var(--text-dim)}.loading-state i[data-v-3fb41582]{font-size:24px;margin-bottom:10px}.setup-page[data-v-e2c54a30]{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px}.setup-box[data-v-e2c54a30]{width:100%;max-width:620px;background:var(--surface);border:1px solid var(--border)}.setup-header[data-v-e2c54a30]{padding:20px;border-bottom:1px solid var(--border);background:var(--surface-2)}.setup-header h1[data-v-e2c54a30]{font-size:17px;font-weight:600;color:var(--text)}.setup-header p[data-v-e2c54a30]{font-size:13px;color:var(--text-muted);margin-top:4px}.steps[data-v-e2c54a30]{display:flex;list-style:none;gap:4px;padding:12px 20px;border-bottom:1px solid var(--border);overflow-x:auto}.steps li[data-v-e2c54a30]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);padding:4px 10px;border:1px solid transparent;white-space:nowrap}.steps li.active[data-v-e2c54a30]{color:var(--text);border-color:var(--accent);background:var(--accent-dim)}.steps li.done[data-v-e2c54a30]{color:#4ade80}.step-num[data-v-e2c54a30]{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-3);font-size:11px}.steps li.active .step-num[data-v-e2c54a30]{background:var(--accent);color:#fff}.setup-body[data-v-e2c54a30]{padding:20px;min-height:260px}.hint[data-v-e2c54a30]{font-size:12px;color:var(--text-muted);margin-bottom:16px}.loading[data-v-e2c54a30]{color:var(--text-dim);font-size:13px}.env-list[data-v-e2c54a30]{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:13px}.env-list li[data-v-e2c54a30]{display:flex;align-items:center;gap:8px;color:var(--text-dim)}.env-list li.ok i[data-v-e2c54a30]{color:#4ade80}.env-list li.warn i[data-v-e2c54a30]{color:#fbbf24}.env-list li.off i[data-v-e2c54a30]{color:var(--text-muted)}.field[data-v-e2c54a30]{margin-bottom:14px}.field.disabled[data-v-e2c54a30]{opacity:.5}.field label[data-v-e2c54a30]{display:block;font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:5px}.field .req[data-v-e2c54a30]{color:#f87171}.field input[type=text][data-v-e2c54a30],.field input[type=password][data-v-e2c54a30]{width:100%;padding:8px 12px;border:1px solid var(--border-2);background:var(--surface-3);color:var(--text);font-size:13px;font-family:inherit}.field input[data-v-e2c54a30]:focus{outline:none;border-color:var(--accent)}.field small[data-v-e2c54a30]{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.field code[data-v-e2c54a30]{background:var(--surface-2);padding:1px 4px;font-family:Courier New,monospace}.inline-input[data-v-e2c54a30]{width:140px!important;padding:2px 6px!important;font-size:11px!important}.input-row[data-v-e2c54a30]{display:flex;gap:8px;align-items:center}.suffix[data-v-e2c54a30]{font-size:13px;color:var(--text-muted);font-family:Courier New,monospace;white-space:nowrap}.template-field[data-v-e2c54a30]{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.toggle[data-v-e2c54a30]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-bottom:12px;cursor:pointer}.toggle input[data-v-e2c54a30]{width:16px;height:16px;accent-color:var(--accent)}.status-line[data-v-e2c54a30]{margin-top:12px;padding:8px 12px;font-size:12px}.status-line.ok[data-v-e2c54a30]{background:var(--ok-bg);color:#86efac;border:1px solid #166534}.status-line.err[data-v-e2c54a30]{background:var(--err-bg);color:#fca5a5;border:1px solid #7f1d1d}.done-box[data-v-e2c54a30]{display:flex;gap:12px;align-items:center;padding:12px;background:var(--ok-bg);border:1px solid #166534;color:#86efac;font-size:13px}.done-box i[data-v-e2c54a30]{font-size:20px}.done-box code[data-v-e2c54a30]{font-family:Courier New,monospace}.install-log[data-v-e2c54a30]{margin-top:16px;border:1px solid var(--border);background:#141414}.install-log-header[data-v-e2c54a30]{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-dim)}.install-log-header .state-running[data-v-e2c54a30]{color:var(--accent)}.install-log-header .state-success[data-v-e2c54a30]{color:#4ade80}.install-log-header .state-error[data-v-e2c54a30]{color:#f87171}.install-log-body[data-v-e2c54a30]{padding:10px 12px;max-height:220px;overflow-y:auto;font-family:Courier New,monospace;font-size:12px}.log-line[data-v-e2c54a30]{color:var(--text-dim);white-space:pre-wrap;word-break:break-word;padding:1px 0}.log-line.success[data-v-e2c54a30]{color:#4ade80}.log-line.warning[data-v-e2c54a30]{color:#fbbf24}.log-line.error[data-v-e2c54a30]{color:#f87171}.setup-footer[data-v-e2c54a30]{display:flex;align-items:center;gap:10px;padding:16px 20px;border-top:1px solid var(--border);background:var(--surface-2)}.spacer[data-v-e2c54a30]{flex:1}.btn[data-v-e2c54a30]{padding:8px 16px;font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:inherit}.btn[data-v-e2c54a30]:disabled{opacity:.6;cursor:default}.btn-primary[data-v-e2c54a30]{background:var(--accent);color:#fff}.btn-primary[data-v-e2c54a30]:hover:not(:disabled){background:#c9663f}.btn-secondary[data-v-e2c54a30]{background:var(--surface-3);color:var(--text-dim);border-color:var(--border-2)}.btn-secondary[data-v-e2c54a30]:hover:not(:disabled){color:var(--text)}.btn-ghost[data-v-e2c54a30]{background:transparent;color:var(--text-muted)}.btn-ghost[data-v-e2c54a30]:hover{color:var(--text-dim)}.btn-small[data-v-e2c54a30]{padding:6px 10px}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.terminal-page[data-v-a399270a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;background:#1a1a1a;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.terminal-header[data-v-a399270a]{flex-shrink:0;background:#242424;border-bottom:1px solid #333;padding-top:env(safe-area-inset-top)}.bar[data-v-a399270a]{display:flex;align-items:center;gap:8px;padding:0 10px;height:40px}.bar-projects[data-v-a399270a]{border-bottom:1px solid #303030}.bar-sessions[data-v-a399270a]{height:36px;background:#1f1f1f}.back-link[data-v-a399270a]{flex-shrink:0;color:#888;font-size:13px;padding:4px 6px;text-decoration:none}.back-link[data-v-a399270a]:hover{color:#ddd}.tabs[data-v-a399270a]{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs[data-v-a399270a]::-webkit-scrollbar{display:none}.tab[data-v-a399270a]{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;color:#999;background:#2c2c2c;border:1px solid #3a3a3a;border-radius:4px;cursor:pointer;white-space:nowrap;user-select:none;-webkit-user-select:none}.tab[data-v-a399270a]:hover{background:#333;color:#ccc}.tab.active[data-v-a399270a]{background:#3a2c26;border-color:#d97757;color:#eee}.tab-project .tab-title[data-v-a399270a]{max-width:160px;overflow:hidden;text-overflow:ellipsis}.tab-count[data-v-a399270a]{min-width:16px;padding:0 4px;font-size:10px;line-height:15px;text-align:center;color:#bbb;background:#3a3a3a;border-radius:8px}.tab.active .tab-count[data-v-a399270a]{color:#fff;background:#d97757}.dot-busy[data-v-a399270a],.dot-done[data-v-a399270a]{flex-shrink:0;width:7px;height:7px;border-radius:50%}.dot-busy[data-v-a399270a]{background:#d97757;animation:pulse-a399270a 1.4s ease-in-out infinite}.dot-done[data-v-a399270a]{background:#16a34a}@keyframes pulse-a399270a{0%,to{opacity:1}50%{opacity:.25}}.tab-rename[data-v-a399270a]{width:120px;padding:1px 6px;font-size:12px;font-family:inherit;color:#eee;background:#1a1a1a;border:1px solid #D97757;border-radius:3px;outline:none}.tab-rename-btn[data-v-a399270a]{color:#666;font-size:10px;padding:2px;line-height:1}.tab-rename-btn[data-v-a399270a]:hover{color:#d97757}.tab-close[data-v-a399270a]{color:#666;font-size:10px;padding:2px;line-height:1}.tab-close[data-v-a399270a]:hover{color:#e66}.tab-add[data-v-a399270a]{flex-shrink:0;padding:5px 9px;font-size:12px;color:#999;background:transparent;border:1px dashed #444;border-radius:4px;cursor:pointer}.tab-add[data-v-a399270a]:hover:not(:disabled){color:#d97757;border-color:#d97757}.tab-add[data-v-a399270a]:disabled{opacity:.5;cursor:wait}.icon-btn[data-v-a399270a]{flex-shrink:0;padding:5px 9px;font-size:12px;color:#999;background:transparent;border:1px solid #3a3a3a;border-radius:4px;cursor:pointer}.icon-btn[data-v-a399270a]:hover{color:#d97757;border-color:#d97757}.icon-btn.on[data-v-a399270a]{color:#16a34a;border-color:#16a34a}.conn-dot[data-v-a399270a]{flex-shrink:0;width:8px;height:8px;border-radius:50%}.conn-dot.ok[data-v-a399270a]{background:#16a34a}.conn-dot.bad[data-v-a399270a]{background:#dc2626}.menu-btn[data-v-a399270a]{display:none;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:30px;padding:0;font-size:14px;color:#ccc;background:transparent;border:none;cursor:pointer}.mobile-title[data-v-a399270a]{display:none;flex:1;min-width:0;text-align:center;font-size:13px;font-weight:600;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn.mobile-only[data-v-a399270a]{display:none}.drawer-overlay[data-v-a399270a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s}.drawer-overlay.open[data-v-a399270a]{opacity:1;visibility:visible}.drawer[data-v-a399270a]{position:absolute;top:0;left:0;bottom:0;width:min(300px,85vw);display:flex;flex-direction:column;overflow-y:auto;background:#242424;border-right:1px solid #333;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);transform:translate(-100%);transition:transform .2s ease}.drawer-overlay.open .drawer[data-v-a399270a]{transform:translate(0)}.drawer-section[data-v-a399270a]{padding:14px 14px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888}.drawer-item[data-v-a399270a]{display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:13px;color:#ccc;cursor:pointer;border-bottom:1px solid #2e2e2e}.drawer-item.active[data-v-a399270a]{background:#3a2c26;color:#eee}.drawer-item-title[data-v-a399270a]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-item-btn[data-v-a399270a]{flex-shrink:0;padding:4px 7px;font-size:11px;color:#777;background:transparent;border:none;cursor:pointer}.drawer-add[data-v-a399270a]{display:flex;align-items:center;gap:8px;margin:8px 14px;padding:8px 10px;font-size:12px;color:#999;background:transparent;border:1px dashed #444;border-radius:4px;cursor:pointer}.drawer-add[data-v-a399270a]:hover:not(:disabled){color:#d97757;border-color:#d97757}.drawer-add[data-v-a399270a]:disabled{opacity:.5;cursor:wait}@media (max-width: 640px){.menu-btn[data-v-a399270a]{display:inline-flex}.mobile-title[data-v-a399270a]{display:block}.icon-btn.mobile-only[data-v-a399270a]{display:inline-flex}.bar-projects .tabs[data-v-a399270a],.bar-projects .remotes-btn[data-v-a399270a],.bar-sessions[data-v-a399270a]{display:none}}.terminal-error-banner[data-v-a399270a]{display:flex;align-items:center;gap:10px;padding:8px 12px;flex-shrink:0;background:#3b1d1d;border-bottom:1px solid #7f1d1d;color:#fca5a5;font-size:13px}.terminal-error-banner span[data-v-a399270a]{flex:1;word-break:break-word}.error-close[data-v-a399270a]{background:transparent;border:none;color:#fca5a5;cursor:pointer;padding:2px 6px;font-size:12px}.error-close[data-v-a399270a]:hover{color:#fff}.terminal-container[data-v-a399270a]{flex:1;min-height:0;padding:6px 0 calc(6px + env(safe-area-inset-bottom)) 8px;touch-action:pinch-zoom}.terminal-container[data-v-a399270a] .xterm,.terminal-container[data-v-a399270a] .xterm-viewport,.terminal-container[data-v-a399270a] .xterm-screen{height:100%}.keys-panel[data-v-a399270a]{flex-shrink:0;display:flex;gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#242424;border-top:1px solid #333;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.keys-panel[data-v-a399270a]::-webkit-scrollbar{display:none}.key-btn[data-v-a399270a]{flex-shrink:0;min-width:44px;padding:8px 12px;font-size:13px;color:#ccc;background:#2c2c2c;border:1px solid #3a3a3a;border-radius:4px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:pan-x;white-space:nowrap}.key-btn[data-v-a399270a]:active{background:#3a2c26;border-color:#d97757;color:#eee}.keys-fab[data-v-a399270a]{position:absolute;right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#999;background:#2c2c2ce6;border:1px solid #3a3a3a;border-radius:50%;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}.keys-fab.open[data-v-a399270a]{bottom:calc(64px + env(safe-area-inset-bottom));color:#d97757;border-color:#d97757}.terminal-page.kb-open .terminal-container[data-v-a399270a]{padding-bottom:6px}.terminal-page.kb-open .keys-panel[data-v-a399270a]{padding-bottom:8px}.terminal-page.kb-open .keys-fab[data-v-a399270a]{bottom:12px}.terminal-page.kb-open .keys-fab.open[data-v-a399270a]{bottom:64px}.copied-toast[data-v-a399270a]{position:absolute;right:calc(64px + env(safe-area-inset-right));left:calc(12px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 14px;background:#2c2c2c;border:1px solid #D97757;border-radius:4px;color:#eee;font-size:13px;pointer-events:none}.copied-toast i[data-v-a399270a]{color:#16a34a;font-size:12px;flex-shrink:0}.copied-toast.fail[data-v-a399270a]{border-color:#dc2626}.copied-toast.fail i[data-v-a399270a]{color:#f87171}.toast-enter-active[data-v-a399270a],.toast-leave-active[data-v-a399270a]{transition:opacity .2s ease}.toast-enter-from[data-v-a399270a],.toast-leave-to[data-v-a399270a]{opacity:0}.terminal-empty[data-v-a399270a]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#888;font-size:14px;text-align:center;padding:20px}.terminal-empty strong[data-v-a399270a]{color:#ccc}.btn-create[data-v-a399270a]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;color:#fff;background:#d97757;border:none;border-radius:4px;cursor:pointer}.btn-create[data-v-a399270a]:hover:not(:disabled){background:#c46647}.btn-create[data-v-a399270a]:disabled{opacity:.6;cursor:wait}.remote-mark[data-v-a399270a]{font-size:10px;color:#7aa2f7}.remotes-overlay[data-v-a399270a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009}.remotes-modal[data-v-a399270a]{width:100%;max-width:460px;max-height:85vh;overflow-y:auto;padding:16px;background:#242424;border:1px solid #3a3a3a;border-radius:8px;color:#e4e4e4}.remotes-head[data-v-a399270a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.remotes-head h3[data-v-a399270a]{display:flex;align-items:center;gap:8px;margin:0;font-size:15px}.remotes-hint[data-v-a399270a]{margin:0 0 12px;font-size:12px;color:#999}.remotes-list[data-v-a399270a]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.remotes-row[data-v-a399270a]{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#1d1d1d;border:1px solid #333;border-radius:6px}.remotes-row>i[data-v-a399270a]{color:#7aa2f7}.remotes-row-text[data-v-a399270a]{flex:1;display:flex;flex-direction:column;min-width:0}.remotes-row-text span[data-v-a399270a]{font-size:11px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remotes-form[data-v-a399270a]{display:flex;flex-direction:column;gap:8px}.remotes-form input[data-v-a399270a]{padding:8px 10px;font-size:13px;color:#e4e4e4;background:#1d1d1d;border:1px solid #3a3a3a;border-radius:4px;outline:none}.remotes-form input[data-v-a399270a]:focus{border-color:#d97757}.remotes-test[data-v-a399270a]{padding:8px 10px;font-size:12px;background:#2a1d1d;border:1px solid #6b3535;border-radius:4px}.remotes-test.ok[data-v-a399270a]{background:#1d2a1f;border-color:#3a6b42}.remotes-test pre[data-v-a399270a]{margin:0;font-family:inherit;white-space:pre-wrap;word-break:break-word}.remotes-actions[data-v-a399270a]{display:flex;gap:8px;justify-content:flex-end}.btn-mini[data-v-a399270a]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;color:#ccc;background:#2e2e2e;border:1px solid #444;border-radius:4px;cursor:pointer}.btn-mini[data-v-a399270a]:hover:not(:disabled){background:#3a3a3a}.btn-mini.danger[data-v-a399270a]:hover{color:#ff6b6b;border-color:#6b3535}body.terminal-open{background:#1a1a1a;overscroll-behavior:none}.xterm-helper-textarea{color-scheme:dark}.login-page[data-v-6f2becad]{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card[data-v-6f2becad]{width:100%;max-width:360px;padding:28px;background:var(--surface);border:1px solid var(--border)}.login-card h1[data-v-6f2becad]{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:18px;color:var(--text)}.login-card h1 i[data-v-6f2becad]{color:var(--accent)}.login-hint[data-v-6f2becad]{margin:0 0 18px;font-size:12px;color:var(--text-muted)}.code-sent[data-v-6f2becad]{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:12px;color:#4ade80}.field[data-v-6f2becad]{margin-bottom:14px}.field label[data-v-6f2becad]{display:block;font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:5px}.field input[data-v-6f2becad]{width:100%;padding:10px 12px;border:1px solid var(--border-2);background:var(--surface-3);color:var(--text);font-size:15px;font-family:inherit}.field input[data-v-6f2becad]:focus{outline:none;border-color:var(--accent)}.btn-login[data-v-6f2becad]{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;color:#fff;background:var(--accent);border:none;cursor:pointer;font-family:inherit}.btn-login[data-v-6f2becad]:hover:not(:disabled){background:#c9663f}.btn-login[data-v-6f2becad]:disabled{opacity:.6;cursor:default}.btn-back[data-v-6f2becad]{width:100%;margin-top:10px;padding:8px;font-size:12px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;font-family:inherit}.btn-back[data-v-6f2becad]:hover{color:var(--text)}.login-error[data-v-6f2becad]{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:8px 10px;font-size:12px;color:#fca5a5;background:var(--err-bg);border:1px solid #7f1d1d}
