.cf-log-dialog[data-v-43a54cc1]{background:var(--cf-bg-card);border:1px solid var(--cf-border);border-radius:12px;flex-direction:column;width:90vw;max-width:1000px;max-height:85vh;padding:16px;display:flex;box-shadow:0 8px 32px #00000080}.cf-log-header[data-v-43a54cc1]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cf-log-title[data-v-43a54cc1]{color:var(--cf-text-primary);font-size:16px;font-weight:600}.cf-log-count[data-v-43a54cc1]{color:var(--cf-text-muted);font-size:13px;font-weight:400}.cf-log-close[data-v-43a54cc1]{border:1px solid var(--cf-border);color:var(--cf-text-primary);cursor:pointer;background:0 0;border-radius:6px;width:28px;height:28px}.cf-log-close[data-v-43a54cc1]:hover{background:#ffffff14}.cf-log-toolbar[data-v-43a54cc1]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cf-log-search[data-v-43a54cc1]{flex:1;min-width:200px}.cf-log-path[data-v-43a54cc1]{color:var(--cf-text-muted);margin-bottom:8px;font-size:11px}.cf-log-list[data-v-43a54cc1]{border:1px solid var(--cf-border);background:#0003;border-radius:8px;flex:1;padding:8px;overflow-y:auto}.cf-log-empty[data-v-43a54cc1]{text-align:center;color:var(--cf-text-muted);padding:40px 20px;font-size:13px}.cf-log-item[data-v-43a54cc1]{background:#ffffff05;border:1px solid #ffffff0f;border-left:3px solid #f87171;border-radius:6px;margin-bottom:8px;padding:8px 10px}.cf-log-item-head[data-v-43a54cc1]{color:var(--cf-text-muted);gap:10px;margin-bottom:4px;font-size:12px;display:flex}.cf-log-source[data-v-43a54cc1]{background:#ffffff14;border-radius:4px;padding:1px 6px;font-family:monospace}.cf-log-type[data-v-43a54cc1]{color:#fca5a5;background:#f8717126;border-radius:4px;padding:1px 6px;font-family:monospace}.cf-log-msg[data-v-43a54cc1]{color:var(--cf-text-primary);word-break:break-word;white-space:pre-wrap;font-size:13px}.cf-log-stack[data-v-43a54cc1]{color:var(--cf-text-muted);white-space:pre-wrap;word-break:break-all;background:#0006;border-radius:4px;max-height:200px;margin-top:6px;padding:6px 8px;font-family:monospace;font-size:11px;overflow-y:auto}.cf-log-extra[data-v-43a54cc1]{color:var(--cf-text-muted);word-break:break-all;margin-top:4px;font-family:monospace;font-size:11px}.ft-root[data-v-02833fe2]{z-index:8500;-webkit-user-select:none;user-select:none;position:fixed}.ft-ball[data-v-02833fe2]{color:#fff;cursor:grab;background:linear-gradient(135deg,#f7b267,#d97706);border:2px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 16px #00000073,0 0 0 1px #0003}.ft-ball[data-v-02833fe2]:hover{transform:scale(1.06);box-shadow:0 6px 24px #00000080}.ft-ball--dragging[data-v-02833fe2]{cursor:grabbing;transform:scale(1.1)}.ft-ball__icon[data-v-02833fe2]{line-height:1}.ft-panel[data-v-02833fe2]{-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--cf-border-light);border-radius:var(--cf-radius-lg);background:#141623eb;flex-direction:column;width:360px;height:500px;display:flex;position:absolute;overflow:hidden;box-shadow:0 16px 48px #0000008c}.ft-panel__header[data-v-02833fe2]{background:var(--cf-bg-tertiary);border-bottom:1px solid var(--cf-border);cursor:grab;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.ft-panel__header[data-v-02833fe2]:active{cursor:grabbing}.ft-panel__title[data-v-02833fe2]{font-size:13px;font-weight:600}.ft-panel__close[data-v-02833fe2]{color:var(--cf-text-muted);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:18px;line-height:1}.ft-panel__close[data-v-02833fe2]:hover{color:var(--cf-text-primary)}.ft-panel__tabs[data-v-02833fe2]{background:var(--cf-bg-tertiary);border-bottom:1px solid var(--cf-border);flex-wrap:nowrap;gap:2px;padding:6px 8px;display:flex;overflow-x:auto}.ft-tab[data-v-02833fe2]{color:var(--cf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 8px;font-size:11px}.ft-tab[data-v-02833fe2]:hover{background:var(--cf-bg-hover);color:var(--cf-text-primary)}.ft-tab--active[data-v-02833fe2]{background:var(--cf-accent);color:#fff;border-color:var(--cf-accent)}.ft-panel__body[data-v-02833fe2]{flex:1;padding:12px;overflow-y:auto}.ft-panel__body .form-group[data-v-02833fe2]{margin-bottom:8px}.ft-panel__body label[data-v-02833fe2]{color:var(--cf-text-muted);margin-bottom:3px;font-size:11px;display:block}.ft-panel__body .input[data-v-02833fe2],.ft-panel__body .select[data-v-02833fe2],.ft-panel__body .textarea[data-v-02833fe2]{width:100%;padding:4px 8px;font-size:12px}.ft-result[data-v-02833fe2]{border-top:1px dashed var(--cf-border);margin-top:10px;padding-top:8px}.ft-result__head[data-v-02833fe2]{color:var(--cf-text-muted);justify-content:space-between;align-items:center;margin-bottom:4px;font-size:11px;display:flex}.ft-result__text[data-v-02833fe2]{background:var(--cf-bg-tertiary);border:1px solid var(--cf-border);border-radius:var(--cf-radius-sm);width:100%;color:var(--cf-text-primary);font-family:var(--cf-font-mono);resize:vertical;padding:6px 8px;font-size:11px;line-height:1.6}.hint[data-v-02833fe2]{color:var(--cf-text-muted);font-size:11px;line-height:1.5}.mb-sm[data-v-02833fe2]{margin-bottom:8px}.flex-row[data-v-02833fe2]{align-items:center;gap:6px;display:flex}:root{--cf-bg:#0d1117;--cf-bg-card:#161b22e6;--cf-bg-input:#0000004d;--cf-text:#e6edf3;--cf-text-muted:#8b949e;--cf-accent:gold;--cf-accent-dim:#ffd70026;--cf-primary:#58a6ff;--cf-border:#ffffff1a;--cf-danger:#f85149;--cf-success:#3fb950;--cf-warning:#d29922;--cf-radius:8px;--cf-font:"Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--cf-font-mono:"Cascadia Code", "Fira Code", "Consolas", monospace;--sidebar-width:220px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--cf-font);background:var(--cf-bg);color:var(--cf-text);-webkit-tap-highlight-color:transparent;min-height:100vh;line-height:1.6}.app{min-height:100vh;display:flex}.topbar{background:var(--cf-bg-card);border-bottom:1px solid var(--cf-border);z-index:100;align-items:center;gap:8px;height:48px;padding:0 12px;display:none;position:fixed;top:0;left:0;right:0}.topbar__menu{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:4px;padding:6px;display:flex}.topbar__menu span{background:var(--cf-text);border-radius:1px;width:20px;height:2px;display:block}.topbar__title{color:var(--cf-accent);flex:1;font-size:16px;font-weight:700}.topbar__actions{gap:6px;display:flex}.sidebar{width:var(--sidebar-width);background:var(--cf-bg-card);border-right:1px solid var(--cf-border);z-index:200;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar__nav{flex:1;padding:12px 0}.sidebar__section{color:var(--cf-text-muted);text-transform:uppercase;letter-spacing:1px;padding:12px 16px 4px;font-size:11px;font-weight:600}.sidebar__link{color:var(--cf-text-muted);border-left:3px solid #0000;padding:8px 16px;font-size:14px;text-decoration:none;transition:all .15s;display:block}.sidebar__link:hover{color:var(--cf-text);background:#ffffff08}.sidebar__link.active{color:var(--cf-accent);border-left-color:var(--cf-accent);background:var(--cf-accent-dim)}.sidebar__btn{width:100%;color:var(--cf-text-muted);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:13px;transition:all .15s;display:block}.sidebar__btn:hover{color:var(--cf-text);background:#ffffff08}.sidebar__btn--danger:hover{color:var(--cf-danger)}.sidebar__footer{border-top:1px solid var(--cf-border);padding:12px 16px}.sidebar__card-name{color:var(--cf-text-muted);word-break:break-all;font-size:12px}.overlay{display:none}.main{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:24px}.page__header{margin-bottom:20px}.page__header h1{color:var(--cf-text);font-size:22px;font-weight:700}.page__header p{color:var(--cf-text-muted);margin-top:4px;font-size:13px}.card{background:var(--cf-bg-card);border:1px solid var(--cf-border);border-radius:var(--cf-radius);margin-bottom:16px}.card__header{border-bottom:1px solid var(--cf-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.card__header h3{font-size:14px;font-weight:600}.card__body{padding:16px}.form-group{margin-bottom:12px}.form-group label{color:var(--cf-text-muted);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.input,.select,.textarea{background:var(--cf-bg-input);border:1px solid var(--cf-border);width:100%;color:var(--cf-text);font-size:14px;font-family:var(--cf-font);border-radius:4px;padding:8px 12px;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--cf-accent);outline:none}.textarea{resize:vertical;min-height:100px;font-family:var(--cf-font-mono);font-size:13px;line-height:1.5}.btn{border:1px solid var(--cf-border);cursor:pointer;color:var(--cf-text);white-space:nowrap;background:#ffffff0d;border-radius:4px;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{background:#ffffff1a}.btn--primary{color:var(--cf-primary);background:#58a6ff26;border-color:#58a6ff4d}.btn--primary:hover{background:#58a6ff40}.btn--accent{background:var(--cf-accent-dim);color:var(--cf-accent);border-color:#ffd7004d}.btn--accent:hover{background:#ffd70040}.btn--danger{color:var(--cf-danger);background:#f851491a;border-color:#f851494d}.btn--danger:hover{background:#f8514933}.btn--sm{padding:4px 10px;font-size:12px}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:#ffffff0d}.cf-confirm-overlay{z-index:10000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cf-confirm-dialog{background:var(--cf-bg-card);border:1px solid var(--cf-border);border-radius:12px;min-width:300px;max-width:90vw;padding:24px;box-shadow:0 8px 32px #00000080}.cf-confirm-msg{margin-bottom:20px;font-size:15px;line-height:1.6}.cf-confirm-btns{justify-content:flex-end;gap:10px;display:flex}.flex-row{align-items:center;gap:8px;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.mb-md{margin-bottom:16px}.mt-md{margin-top:16px}.hint{color:var(--cf-text-muted);font-size:12px;line-height:1.6}.badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge--accent{background:var(--cf-accent-dim);color:var(--cf-accent)}.badge--warning{color:var(--cf-warning);background:#d2992226}.badge--danger{color:var(--cf-danger);background:#f8514926}.badge--info{color:var(--cf-primary);background:#58a6ff26}.divider{background:var(--cf-border);height:1px;margin:12px 0}.toggle-label{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.history-item{border:1px solid var(--cf-border);cursor:pointer;border-radius:6px;margin-bottom:8px;padding:10px 12px;transition:all .15s}.history-item:hover{background:#ffffff08}.history-item__title{font-size:13px;font-weight:600}.history-item__time{color:var(--cf-text-muted);font-size:11px}.history-item__preview{color:var(--cf-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}@media (width<=768px){.ai-drawer{width:85%}.ai-drawer-toggle.open{right:85%}.ai-drawer__header{flex-direction:column;align-items:flex-start}}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{border-radius:6px;max-width:360px;padding:10px 18px;font-size:13px;font-weight:500;animation:.2s ease-out toastIn}.toast--success{color:#fff;background:#3fb950e6}.toast--error{color:#fff;background:#f85149e6}.toast--warning{color:#fff;background:#d29922e6}.toast--info{color:#fff;background:#58a6ffe6}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media (width<=768px){.topbar{display:flex}.sidebar{transition:transform .25s;transform:translate(-100%)}.app.sidebar-open .sidebar{transform:translate(0)}.overlay{z-index:150;background:#00000080;display:block;position:fixed;inset:0}.main{margin-left:0;padding:60px 12px 24px}.page__header h1{font-size:18px}.flex-row{flex-wrap:wrap}}
