.sidebar[data-v-05f6d2b8]{width:var(--sidebar-width);height:100vh;display:flex;flex-direction:column;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);flex-shrink:0;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1);transform:translateZ(0)}.sidebar.collapsed[data-v-05f6d2b8]{width:0;border-right:none}.sidebar-header[data-v-05f6d2b8]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;flex-shrink:0}.sidebar-brand[data-v-05f6d2b8]{display:flex;align-items:center;gap:8px}.brand-text[data-v-05f6d2b8]{font-size:15px;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.pipeline[data-v-05f6d2b8]{padding:4px 12px 12px;flex-shrink:0}.pipeline-title[data-v-05f6d2b8]{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;padding:0 4px;margin-bottom:6px}.pipeline-list[data-v-05f6d2b8]{display:flex;flex-direction:column;gap:1px}.stage-item[data-v-05f6d2b8]{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;cursor:default;transition:background .15s}.stage-item.active[data-v-05f6d2b8]{background:var(--color-bg-tertiary)}.stage-icon[data-v-05f6d2b8]{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-tertiary);transition:all .15s}.stage-item.active .stage-icon[data-v-05f6d2b8]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.stage-item.completed .stage-icon[data-v-05f6d2b8]{background:var(--color-success);border-color:var(--color-success);color:#fff}.stage-item.locked .stage-icon[data-v-05f6d2b8]{opacity:.35}.stage-item.available .stage-icon[data-v-05f6d2b8]{opacity:.7}.stage-label[data-v-05f6d2b8]{font-size:13px;font-weight:500;color:var(--color-text)}.stage-item.locked .stage-label[data-v-05f6d2b8]{color:var(--color-text-tertiary)}.stage-item.completed .stage-label[data-v-05f6d2b8]{color:var(--color-text-secondary)}.stage-lock-icon[data-v-05f6d2b8]{margin-left:auto;color:var(--color-text-tertiary);opacity:.5}.sidebar-pad[data-v-05f6d2b8]{padding:0 12px 8px;flex-shrink:0}.new-btn[data-v-05f6d2b8]{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.new-btn[data-v-05f6d2b8]:hover{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-bg-hover)}.sessions-area[data-v-05f6d2b8]{flex:1;overflow-y:auto;padding:0 12px;min-height:0}.area-title[data-v-05f6d2b8]{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;padding:8px 4px 4px}.sessions-empty[data-v-05f6d2b8]{padding:16px 4px;font-size:12px;color:var(--color-text-tertiary)}.session-list[data-v-05f6d2b8]{display:flex;flex-direction:column;gap:1px}.session-item[data-v-05f6d2b8]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--color-text-secondary);transition:background .1s}.session-item[data-v-05f6d2b8]:hover{background:var(--color-bg-hover);color:var(--color-text)}.session-item.active[data-v-05f6d2b8]{background:var(--color-primary-bg);color:var(--color-primary)}.session-icon[data-v-05f6d2b8]{flex-shrink:0;opacity:.5}.session-title[data-v-05f6d2b8]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.session-rename-input[data-v-05f6d2b8]{flex:1;min-width:0;border:1px solid var(--color-primary);border-radius:4px;padding:1px 4px;font-size:inherit;background:var(--color-bg);color:var(--color-text);outline:none}.session-del[data-v-05f6d2b8]{opacity:0;color:var(--color-text-tertiary);padding:2px;border-radius:4px;transition:all .1s;flex-shrink:0}.session-item:hover .session-del[data-v-05f6d2b8]{opacity:.6}.session-del[data-v-05f6d2b8]:hover{opacity:1;color:var(--color-error)}.sidebar-footer[data-v-05f6d2b8]{padding:10px 12px;border-top:1px solid var(--color-border);flex-shrink:0}.user-row[data-v-05f6d2b8]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.user-avatar[data-v-05f6d2b8]{width:28px;height:28px;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.user-info[data-v-05f6d2b8]{min-width:0}.user-name[data-v-05f6d2b8]{font-size:13px;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-credits[data-v-05f6d2b8]{font-size:11px;color:var(--color-text-tertiary)}.footer-btns[data-v-05f6d2b8]{display:flex;gap:2px}.icon-btn[data-v-05f6d2b8]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:7px;color:var(--color-text-secondary);cursor:pointer;transition:all .1s}.icon-btn[data-v-05f6d2b8]:hover{background:var(--color-bg-hover);color:var(--color-text)}.mc-icon-btn[data-v-05f6d2b8]{position:relative}.mc-badge[data-v-05f6d2b8]{position:absolute;top:0;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:100px;background:var(--color-error);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;border:1.5px solid var(--color-bg-secondary);animation:mc-badge-pop-05f6d2b8 .3s var(--ease-spring) both}@keyframes mc-badge-pop-05f6d2b8{0%{transform:scale(0)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.mc-badge[data-v-05f6d2b8]{animation:none}}.toast-container[data-v-269a03fd]{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast[data-v-269a03fd]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);min-width:280px;max-width:400px;pointer-events:all}.toast-icon[data-v-269a03fd]{flex-shrink:0}.toast-msg[data-v-269a03fd]{flex:1;color:var(--color-text)}.toast-close[data-v-269a03fd]{flex-shrink:0;color:var(--color-text-tertiary);cursor:pointer;padding:2px;border-radius:var(--radius-sm);transition:color var(--duration-fast)}.toast-close[data-v-269a03fd]:hover{color:var(--color-text)}.toast-success .toast-icon[data-v-269a03fd]{color:var(--color-success)}.toast-error .toast-icon[data-v-269a03fd]{color:var(--color-error)}.toast-warning .toast-icon[data-v-269a03fd]{color:var(--color-warning)}.toast-info .toast-icon[data-v-269a03fd]{color:var(--color-info)}.toast-enter-active[data-v-269a03fd]{transition:all var(--duration-normal) var(--ease-spring)}.toast-leave-active[data-v-269a03fd]{transition:all var(--duration-fast) var(--ease)}.toast-enter-from[data-v-269a03fd],.toast-leave-to[data-v-269a03fd]{transform:translate(100%);opacity:0}.fw-container[data-v-6c3ecbcf]{position:fixed;bottom:20px;right:20px;width:380px;height:520px;max-height:calc(100vh - 40px);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden}.fw-enter-active[data-v-6c3ecbcf]{transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}.fw-leave-active[data-v-6c3ecbcf]{transition:transform .2s var(--ease),opacity .15s ease}.fw-enter-from[data-v-6c3ecbcf]{transform:scale(.4);transform-origin:bottom right;opacity:0}.fw-leave-to[data-v-6c3ecbcf]{transform:scale(.6);transform-origin:bottom right;opacity:0}.fw-header[data-v-6c3ecbcf]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.fw-title[data-v-6c3ecbcf]{font-size:14px;font-weight:600;color:var(--color-text)}.fw-close[data-v-6c3ecbcf]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:18px;cursor:pointer;transition:all .15s}.fw-close[data-v-6c3ecbcf]:hover{background:var(--color-bg-hover);color:var(--color-text)}.fw-body[data-v-6c3ecbcf]{flex:1;overflow-y:auto;padding:12px 14px}.fw-msg[data-v-6c3ecbcf]{margin-bottom:10px;animation:fwIn-6c3ecbcf .2s ease}@keyframes fwIn-6c3ecbcf{0%{opacity:0;transform:translateY(4px)}}.fw-msg-user[data-v-6c3ecbcf]{display:flex;justify-content:flex-end}.fw-user[data-v-6c3ecbcf]{max-width:80%;padding:8px 12px;border-radius:14px 14px 4px;background:var(--color-bg-tertiary);font-size:14px;line-height:1.5;color:var(--color-text);word-break:break-word}.fw-ai[data-v-6c3ecbcf]{font-size:14px;line-height:1.65;color:var(--color-text)}.fw-ai[data-v-6c3ecbcf] strong{font-weight:600}.fw-ai[data-v-6c3ecbcf] code{font-size:12px;padding:1px 5px;background:var(--color-bg-tertiary);border-radius:3px}.fw-greeting p[data-v-6c3ecbcf]{margin:0 0 4px}.fw-ctx-detail[data-v-6c3ecbcf]{font-size:12px;color:var(--color-text-tertiary)}.fw-ask[data-v-6c3ecbcf]{margin-top:8px!important;color:var(--color-text-secondary)}.fw-dots[data-v-6c3ecbcf]{display:flex;gap:3px;padding:6px 0}.fw-dots span[data-v-6c3ecbcf]{width:5px;height:5px;border-radius:50%;background:var(--color-primary);animation:fwBounce-6c3ecbcf 1.4s ease-in-out infinite}.fw-dots span[data-v-6c3ecbcf]:nth-child(2){animation-delay:.16s}.fw-dots span[data-v-6c3ecbcf]:nth-child(3){animation-delay:.32s}@keyframes fwBounce-6c3ecbcf{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.fw-summary[data-v-6c3ecbcf]{margin-top:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.fw-summary-title[data-v-6c3ecbcf]{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:4px}.fw-summary-desc[data-v-6c3ecbcf]{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:8px}.fw-summary-meta[data-v-6c3ecbcf]{display:flex;gap:6px;margin-bottom:8px}.fw-tag[data-v-6c3ecbcf]{font-size:11px;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.fw-summary-hint[data-v-6c3ecbcf]{font-size:11px;color:var(--color-text-tertiary);margin:0 0 8px}.fw-submit[data-v-6c3ecbcf]{width:100%;padding:8px;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform 50ms}.fw-submit[data-v-6c3ecbcf]:hover:not(:disabled){background:var(--color-primary-hover)}.fw-submit[data-v-6c3ecbcf]:active:not(:disabled){transform:scale(.98)}.fw-submit[data-v-6c3ecbcf]:disabled{opacity:.6;cursor:not-allowed}.fw-fade-enter-active[data-v-6c3ecbcf]{transition:opacity .25s,transform .25s}.fw-fade-enter-from[data-v-6c3ecbcf]{opacity:0;transform:translateY(4px)}.fw-success[data-v-6c3ecbcf]{display:flex;flex-direction:column;align-items:center;padding:32px 0;gap:8px;animation:fwIn-6c3ecbcf .3s}.fw-check[data-v-6c3ecbcf]{width:48px;height:48px}@keyframes fwDraw-6c3ecbcf{to{stroke-dashoffset:0}}.fw-success-text[data-v-6c3ecbcf]{font-size:14px;font-weight:500;color:var(--color-text)}.fw-success-actions[data-v-6c3ecbcf]{display:flex;gap:8px;margin-top:4px}.fw-group-link[data-v-6c3ecbcf]{display:flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid var(--color-primary-light);background:var(--color-primary-bg);border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--color-primary);text-decoration:none;transition:all .15s}.fw-group-link[data-v-6c3ecbcf]:hover{background:#2a9d8f1f}.fw-again[data-v-6c3ecbcf]{padding:6px 14px;border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-md);font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.fw-again[data-v-6c3ecbcf]:hover{background:var(--color-bg-hover)}.fw-input[data-v-6c3ecbcf]{display:flex;align-items:flex-end;gap:6px;padding:10px 12px;border-top:1px solid var(--color-border);flex-shrink:0}.fw-input textarea[data-v-6c3ecbcf]{flex:1;border:1px solid var(--color-border);border-radius:12px;padding:8px 10px;resize:none;min-height:20px;max-height:100px;font-size:13px;line-height:1.4;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .15s}.fw-input textarea[data-v-6c3ecbcf]:focus{border-color:var(--color-primary)}.fw-input textarea[data-v-6c3ecbcf]::placeholder{color:var(--color-text-tertiary)}.fw-send[data-v-6c3ecbcf]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--color-primary);color:#fff;cursor:pointer;flex-shrink:0;transition:background .15s,transform 50ms}.fw-send[data-v-6c3ecbcf]:hover:not(:disabled){background:var(--color-primary-hover)}.fw-send[data-v-6c3ecbcf]:active:not(:disabled){transform:scale(.9)}.fw-send[data-v-6c3ecbcf]:disabled{opacity:.3;cursor:not-allowed}@media(max-width:480px){.fw-container[data-v-6c3ecbcf]{width:calc(100vw - 16px);right:8px;bottom:8px;height:calc(100vh - 80px)}}@media(prefers-reduced-motion:reduce){.fw-container[data-v-6c3ecbcf],.fw-msg[data-v-6c3ecbcf]{animation:none}}.app-layout[data-v-3c439b9d]{display:flex;height:100vh;overflow:hidden}.app-main[data-v-3c439b9d]{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-fullscreen[data-v-3c439b9d]{height:100vh;display:flex}.sidebar-expand-btn[data-v-3c439b9d]{position:fixed;top:12px;left:8px;z-index:100;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;box-shadow:0 2px 6px #0000000f;transition:all .15s}.sidebar-expand-btn[data-v-3c439b9d]:hover{background:var(--color-bg-hover);color:var(--color-text)}.mobile-landing[data-v-3c439b9d]{min-height:100vh;background:linear-gradient(180deg,#fafaf9,#f0eeeb);display:flex;align-items:center;justify-content:center;padding:24px 20px}.mobile-content[data-v-3c439b9d]{max-width:380px;width:100%}.mobile-logo[data-v-3c439b9d]{display:flex;align-items:center;gap:14px;margin-bottom:8px}.mobile-logo h1[data-v-3c439b9d]{font-size:24px;font-weight:700;color:#37352f;letter-spacing:-.5px}.mobile-tagline[data-v-3c439b9d]{font-size:15px;color:#787774;margin-bottom:32px;line-height:1.5}.mobile-features[data-v-3c439b9d]{display:flex;flex-direction:column;gap:16px;margin-bottom:36px}.mobile-feat[data-v-3c439b9d]{display:flex;gap:14px;align-items:flex-start}.feat-icon[data-v-3c439b9d]{width:40px;height:40px;border-radius:10px;background:#6c5ce714;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#6c5ce7}.feat-title[data-v-3c439b9d]{font-size:14px;font-weight:600;color:#37352f;margin-bottom:3px}.feat-desc[data-v-3c439b9d]{font-size:13px;color:#787774;line-height:1.5}.mobile-cta[data-v-3c439b9d]{text-align:center}.mobile-hint[data-v-3c439b9d]{font-size:13px;color:#b4b4b0;margin-bottom:16px}.mobile-copy-btn[data-v-3c439b9d]{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:10px;transition:transform .15s,box-shadow .15s}.mobile-copy-btn[data-v-3c439b9d]:active{transform:scale(.98)}.mobile-skip-btn[data-v-3c439b9d]{background:none;border:none;color:#787774;font-size:13px;cursor:pointer;padding:8px}.mobile-skip-btn[data-v-3c439b9d]:hover{color:#37352f}.error-hint[data-v-3c439b9d]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:8px 16px;background:color-mix(in srgb,var(--color-error) 10%,var(--color-bg));border:1px solid color-mix(in srgb,var(--color-error) 25%,transparent);border-radius:var(--radius-full);font-size:13px;color:var(--color-text-secondary);box-shadow:var(--shadow-md);cursor:pointer;z-index:var(--z-toast);transition:all .15s}.error-hint[data-v-3c439b9d]:hover{box-shadow:var(--shadow-lg)}.error-hint-link[data-v-3c439b9d]{color:var(--color-primary);font-weight:500}.error-hint-close[data-v-3c439b9d]{margin-left:8px;border:none;background:transparent;color:var(--color-text-tertiary);font-size:16px;cursor:pointer;line-height:1}.feedback-fab[data-v-3c439b9d]{position:fixed;bottom:24px;right:24px;height:40px;padding:0 16px 0 12px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:var(--shadow-md);z-index:calc(var(--z-modal) - 2);transition:all .2s var(--ease);font-size:13px;font-weight:500}.feedback-fab[data-v-3c439b9d]:hover{color:var(--color-primary);border-color:var(--color-primary-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.feedback-fab[data-v-3c439b9d]:active{transform:translateY(0) scale(.97)}.fab-label[data-v-3c439b9d]{font-family:var(--font-sans)}.fab-enter-active[data-v-3c439b9d]{transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s}.fab-leave-active[data-v-3c439b9d]{transition:transform .15s var(--ease),opacity .1s}.fab-enter-from[data-v-3c439b9d]{transform:scale(.5);opacity:0}.fab-leave-to[data-v-3c439b9d]{transform:scale(.8);opacity:0}:root{--color-bg: #ffffff;--color-bg-secondary: #f8f8f7;--color-bg-tertiary: #f0efed;--color-bg-hover: #ebeae8;--color-bg-active: #e0dfdc;--color-bg-overlay: rgba(0, 0, 0, .4);--color-text: #1a1a1a;--color-text-secondary: #6e6e6e;--color-text-tertiary: #a0a0a0;--color-text-inverse: #ffffff;--color-text-link: #0c7bb3;--color-primary: #2a9d8f;--color-primary-hover: #21867a;--color-primary-light: #76c7bc;--color-primary-bg: rgba(42, 157, 143, .07);--color-primary-bg-hover: rgba(42, 157, 143, .13);--color-success: #27ae60;--color-success-bg: rgba(39, 174, 96, .08);--color-warning: #f39c12;--color-warning-bg: rgba(243, 156, 18, .08);--color-error: #e74c3c;--color-error-bg: rgba(231, 76, 60, .08);--color-info: #3498db;--color-info-bg: rgba(52, 152, 219, .08);--tag-red: #fbe4e4;--tag-red-text: #93342b;--tag-orange: #faebdd;--tag-orange-text: #8c5625;--tag-yellow: #fbf3db;--tag-yellow-text: #8b6914;--tag-green: #ddedea;--tag-green-text: #2b6045;--tag-blue: #ddebf1;--tag-blue-text: #28456c;--tag-purple: #e8deee;--tag-purple-text: #6b3f8c;--tag-pink: #f5e0e9;--tag-pink-text: #7b2d52;--color-border: rgba(55, 53, 47, .09);--color-border-strong: rgba(55, 53, 47, .16);--color-border-focus: var(--color-primary);--shadow-xs: 0 1px 1px rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .06);--shadow-card: 0 2px 8px rgba(0, 0, 0, .06), 0 0 0 1px var(--color-border);--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .12), 0 0 0 1px var(--color-border);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .2);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--font-sans: -apple-system, "Inter", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-serif: "Georgia", "Noto Serif SC", "Source Han Serif SC", serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--leading-tight: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--sidebar-width: 260px;--sidebar-collapsed: 0px;--topbar-height: 52px;--ease: cubic-bezier(.25, .1, .25, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--z-sidebar: 100;--z-topbar: 200;--z-dropdown: 300;--z-modal: 400;--z-toast: 500}[data-theme=dark]{--color-bg: #1a1a18;--color-bg-secondary: #222220;--color-bg-tertiary: #2e2e2b;--color-bg-hover: #353532;--color-bg-active: #3f3f3c;--color-bg-overlay: rgba(0, 0, 0, .6);--color-text: #e8e6e1;--color-text-secondary: #a09d96;--color-text-tertiary: #6b6860;--color-text-link: #5cb8e4;--color-user-bubble: #353530;--color-user-text: #e8e6e1;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .14);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .4);--shadow-card: 0 2px 8px rgba(0, 0, 0, .2), 0 0 0 1px var(--color-border);--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .4), 0 0 0 1px var(--color-border);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .5);--tag-red: #3e2723;--tag-red-text: #ef9a9a;--tag-orange: #3e2723;--tag-orange-text: #ffcc80;--tag-yellow: #3e3116;--tag-yellow-text: #fff176;--tag-green: #1b3a2a;--tag-green-text: #81c784;--tag-blue: #1a2d42;--tag-blue-text: #64b5f6;--tag-purple: #2d1f3d;--tag-purple-text: #ce93d8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}.app-layout,.app-main,.sidebar,[class*=panel],[class*=modal],[class*=card],[class*=btn],[class*=transition],[class*=animate]{will-change:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}*,*:before,*:after{transition-timing-function:cubic-bezier(.4,0,.2,1)}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:var(--leading-relaxed);overflow:hidden;height:100vh}#app{height:100vh}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);outline:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}textarea{resize:vertical;line-height:var(--leading-relaxed)}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}pre{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto;line-height:1.5}pre code{background:none;padding:0;font-size:inherit}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-bg-active);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background:var(--color-primary-bg-hover);color:var(--color-text)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;line-height:1;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease,opacity .15s ease;height:36px;transform:translateZ(0)}.btn:hover:not(:disabled){transform:translateZ(0) translateY(-1px)}.btn:active:not(:disabled){transform:translateZ(0) scale(.98);transition-duration:.05s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.btn-sm{height:28px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn-lg{height:44px;padding:var(--space-3) var(--space-5);font-size:var(--text-md)}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:28px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;line-height:1.4}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow var(--duration-normal) var(--ease),border-color var(--duration-normal) var(--ease)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.fade-enter-active{transition:opacity .2s ease}.fade-leave-active{transition:opacity .12s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:all var(--duration-normal) var(--ease)}.slide-enter-from{transform:translate(12px);opacity:0}.slide-leave-to{transform:translate(-12px);opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--duration-normal) var(--ease)}.slide-up-enter-from{transform:translateY(8px);opacity:0}.slide-up-leave-to{transform:translateY(-8px);opacity:0}.page-enter-active{transition:opacity .2s ease,transform .2s cubic-bezier(.4,0,.2,1)}.page-leave-active{transition:opacity .12s ease}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0}.list-enter-active{transition:all var(--duration-normal) var(--ease)}.list-leave-active{transition:all var(--duration-fast) var(--ease);position:absolute}.list-enter-from{opacity:0;transform:translate(-8px)}.list-leave-to{opacity:0;transform:translate(8px)}.list-move{transition:transform var(--duration-normal) var(--ease)}.scale-enter-active{transition:all var(--duration-fast) var(--ease-spring)}.scale-leave-active{transition:all .1s var(--ease)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text:last-child{width:60%}.skeleton-avatar{width:32px;height:32px;border-radius:var(--radius-full)}.skeleton-card{height:80px}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--color-text-tertiary);animation:dotPulse 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes dotPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@media(max-width:768px){:root{--sidebar-width: 0px;--topbar-height: 48px}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
