.connection-status-dot[data-v-a0784105]{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.connection-status-dot--disconnected[data-v-a0784105]{background:var(--c-text-muted)}.connection-status-dot--connecting[data-v-a0784105]{background:var(--c-primary);animation:pulse-a0784105 1.2s var(--ease-out) infinite}.connection-status-dot--connected[data-v-a0784105]{background:var(--c-success)}.connection-status-dot--error[data-v-a0784105]{background:var(--c-error)}@keyframes pulse-a0784105{0%,to{opacity:1}50%{opacity:.5}}.app-bar[data-v-3d00895a]{min-height:52px;height:calc(52px + env(safe-area-inset-top,0px));display:flex;align-items:center;background:var(--c-bg-base);padding:0 var(--space-4);padding-top:env(safe-area-inset-top,0);box-sizing:border-box}@media(max-width:1023px){.app-bar[data-v-3d00895a]{position:fixed;top:0;left:0;right:0;z-index:101;transform:translateY(0);visibility:visible;transition:transform .26s cubic-bezier(.32,.72,0,1),background var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.app-bar--hidden[data-v-3d00895a]{transform:translateY(-100%);visibility:hidden;transition:transform .26s cubic-bezier(.32,.72,0,1),visibility 0s linear .26s,background var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.app-bar--immersive[data-v-3d00895a]{background:transparent;box-shadow:none}.app-bar--scrolled[data-v-3d00895a]{background:var(--c-bg-base);box-shadow:0 1px 3px #00000014}}.app-bar--bordered[data-v-3d00895a]{border-bottom:1px solid var(--c-border)}.app-bar__inner[data-v-3d00895a]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.app-bar__menu-btn[data-v-3d00895a]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 calc(var(--space-2) * -1) 0 0;border:none;background:transparent;color:var(--c-text-primary);cursor:pointer;border-radius:var(--radius-sm)}.app-bar__menu-btn[data-v-3d00895a]:hover{background:var(--c-bg-muted)}.app-bar__menu-btn[data-v-3d00895a]:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.app-bar__menu-icon[data-v-3d00895a]{display:block;width:20px;height:14px;position:relative}.app-bar__menu-icon[data-v-3d00895a]:before,.app-bar__menu-icon[data-v-3d00895a]:after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:1px}.app-bar__menu-icon[data-v-3d00895a]:before{top:0}.app-bar__menu-icon[data-v-3d00895a]:after{bottom:0}.app-bar__menu-icon[data-v-3d00895a]{background:linear-gradient(to bottom,transparent 5px,currentColor 5px,currentColor 7px,transparent 7px)}@media(min-width:1024px){.app-bar__menu-btn[data-v-3d00895a]{display:none}}.app-bar__back-btn[data-v-3d00895a]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 calc(var(--space-2) * -1) 0 0;border:none;background:transparent;color:var(--c-text-primary);cursor:pointer;border-radius:var(--radius-sm);font-size:20px;line-height:1}.app-bar__back-btn[data-v-3d00895a]:hover{background:var(--c-bg-muted)}.app-bar__back-btn[data-v-3d00895a]:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.app-bar__back-icon[data-v-3d00895a]{display:block}.app-bar__title[data-v-3d00895a]{font-size:var(--text-heading);font-weight:600;color:var(--c-text-primary);margin-left:var(--space-1)}.app-bar__brand[data-v-3d00895a]{font-size:var(--text-heading);font-weight:600;color:var(--c-text-primary)}.app-bar__trailing[data-v-3d00895a]{display:flex;align-items:center;gap:var(--space-2);min-height:44px;min-width:44px;justify-content:flex-end}.app-bar__status-text[data-v-3d00895a]{font-size:var(--text-caption);color:var(--c-text-muted)}@media(max-width:380px){.app-bar__status-text[data-v-3d00895a]{display:none}}.api-config-banner[data-v-7a967889]{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--c-warning, #b45309);color:#fff;font-size:var(--text-body-sm)}.api-config-banner__link[data-v-7a967889]{font-weight:500;color:#fff;text-decoration:underline}.api-config-banner__link[data-v-7a967889]:hover{opacity:.9}.connection-banner[data-v-6991c57f]{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--c-error);color:#fff;font-size:var(--text-body-sm)}.connection-banner__retry[data-v-6991c57f]{padding:var(--space-1) var(--space-3);font-size:var(--text-caption);font-weight:500;background:#ffffff40;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer}.connection-banner__retry[data-v-6991c57f]:hover{background:#ffffff59}.bottom-tab[data-v-7e520a97]{height:56px;min-height:56px;padding-bottom:env(safe-area-inset-bottom,0);background:var(--c-bg-base);border-top:1px solid var(--c-border);display:flex;align-items:stretch;justify-content:space-around}@media(max-width:1023px){.bottom-tab[data-v-7e520a97]{position:fixed;bottom:0;left:0;right:0;z-index:100;height:calc(56px + env(safe-area-inset-bottom,0px));min-height:calc(56px + env(safe-area-inset-bottom,0px))}}.bottom-tab__item[data-v-7e520a97]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--c-text-muted);font-size:var(--text-label);min-height:44px;transition:color var(--duration-fast) var(--ease-out)}.bottom-tab__item[data-v-7e520a97]:hover{color:var(--c-text-secondary)}.bottom-tab__item--active[data-v-7e520a97]{color:var(--c-primary);font-weight:500}.bottom-tab__icon[data-v-7e520a97]{font-size:20px;line-height:1}@media(min-width:1024px){.bottom-tab[data-v-7e520a97]{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding-top:var(--space-4)}.bottom-tab__item[data-v-7e520a97]{flex:none;flex-direction:row;justify-content:flex-start;gap:var(--space-3);min-height:48px;padding-left:var(--space-4);padding-right:var(--space-4);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-right:var(--space-2)}.bottom-tab__item--active[data-v-7e520a97]{background:var(--c-primary-muted)}.bottom-tab__icon[data-v-7e520a97]{font-size:20px}}.drawer[data-v-4ea02921]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;flex-direction:row;pointer-events:auto}.drawer__backdrop[data-v-4ea02921]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;transition:opacity var(--duration-normal) var(--ease-out)}.drawer__panel[data-v-4ea02921]{position:relative;width:min(280px,85vw);max-width:280px;height:100%;background:var(--c-bg-base);box-shadow:4px 0 24px #0000001f;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0);overflow:auto}.drawer__header[data-v-4ea02921]{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 var(--space-4);border-bottom:1px solid var(--c-border);flex-shrink:0}.drawer__brand[data-v-4ea02921]{font-size:var(--text-heading);font-weight:600;color:var(--c-text-primary)}.drawer__close[data-v-4ea02921]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;font-size:24px;line-height:1;color:var(--c-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.drawer__close[data-v-4ea02921]:hover{background:var(--c-bg-muted);color:var(--c-text-primary)}.drawer__nav[data-v-4ea02921]{display:flex;flex-direction:column;padding:var(--space-2) 0}.drawer__item[data-v-4ea02921]{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-4);font-size:var(--text-heading);color:var(--c-text-primary);text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}.drawer__item[data-v-4ea02921]:hover{background:var(--c-bg-subtle)}.drawer__item--button[data-v-4ea02921]{border:none;background:transparent;width:100%;text-align:left;cursor:pointer;font:inherit;color:var(--c-danger, #b91c1c)}.drawer__item--button[data-v-4ea02921]:hover{background:var(--c-bg-subtle)}.drawer__item--active[data-v-4ea02921]{font-weight:600;color:var(--c-primary);background:var(--c-primary-muted)}.drawer__icon[data-v-4ea02921]{font-size:20px;width:28px;text-align:center;color:inherit;flex-shrink:0}.drawer__label-wrap[data-v-4ea02921]{display:flex;flex-direction:column;gap:2px;min-width:0}.drawer__item--unavailable[data-v-4ea02921]{opacity:.8}.drawer__item-hint[data-v-4ea02921]{font-size:var(--text-caption);color:var(--c-text-muted);font-weight:400}.drawer__divider[data-v-4ea02921]{height:1px;background:var(--c-border);margin:var(--space-2) var(--space-4)}.drawer-enter-active .drawer__backdrop[data-v-4ea02921],.drawer-leave-active .drawer__backdrop[data-v-4ea02921]{transition:opacity var(--duration-normal) var(--ease-out)}.drawer-enter-active .drawer__panel[data-v-4ea02921],.drawer-leave-active .drawer__panel[data-v-4ea02921]{transition:transform var(--duration-normal) var(--ease-out)}.drawer-enter-from .drawer__backdrop[data-v-4ea02921],.drawer-leave-to .drawer__backdrop[data-v-4ea02921]{opacity:0}.drawer-enter-from .drawer__panel[data-v-4ea02921],.drawer-leave-to .drawer__panel[data-v-4ea02921]{transform:translate(-100%)}.toaster-container[data-v-8ec97ef1]{position:fixed;top:0;left:0;right:0;z-index:9999;padding:var(--space-4);padding-top:calc(env(safe-area-inset-top,0) + var(--space-2));pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.toast[data-v-8ec97ef1]{pointer-events:auto;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--c-bg-base);border-radius:var(--radius-md);box-shadow:var(--c-shadow-md);border:1px solid var(--c-border);max-width:min(400px,calc(100vw - var(--space-8)));min-height:44px}.toast__bar[data-v-8ec97ef1]{width:4px;height:24px;border-radius:2px;flex-shrink:0}.toast--success .toast__bar[data-v-8ec97ef1]{background:var(--c-success)}.toast--error .toast__bar[data-v-8ec97ef1]{background:var(--c-error)}.toast--info .toast__bar[data-v-8ec97ef1]{background:var(--c-info)}.toast__message[data-v-8ec97ef1]{flex:1;font-size:var(--text-body-sm);color:var(--c-text-primary)}.toast__dismiss[data-v-8ec97ef1]{flex-shrink:0;width:28px;height:28px;border:none;background:transparent;color:var(--c-text-muted);font-size:18px;line-height:1;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.toast__dismiss[data-v-8ec97ef1]:hover{background:var(--c-bg-muted);color:var(--c-text-primary)}.toast-enter-active[data-v-8ec97ef1],.toast-leave-active[data-v-8ec97ef1]{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.toast-enter-from[data-v-8ec97ef1],.toast-leave-to[data-v-8ec97ef1]{opacity:0;transform:translateY(-8px)}.cmd-palette-backdrop[data-v-5f4a44f4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.cmd-palette[data-v-5f4a44f4]{width:min(420px,92vw);background:var(--color-surface, #fff);border-radius:12px;box-shadow:0 12px 40px #0003;overflow:hidden}.cmd-palette__input[data-v-5f4a44f4]{width:100%;border:none;border-bottom:1px solid var(--color-border, #e5e5e5);padding:14px 16px;font-size:1rem;outline:none}.cmd-palette__list[data-v-5f4a44f4]{list-style:none;margin:0;padding:8px 0;max-height:50vh;overflow-y:auto}.cmd-palette__item[data-v-5f4a44f4]{width:100%;text-align:left;border:none;background:transparent;padding:10px 16px;cursor:pointer;font-size:.95rem}.cmd-palette__item[data-v-5f4a44f4]:hover{background:var(--color-surface-muted, #f3f4f6)}.cmd-palette__empty[data-v-5f4a44f4]{padding:12px 16px;color:var(--color-text-muted, #6b7280);font-size:.9rem}.app-bar[data-v-33c5ddf3]{flex-shrink:0}@media(max-width:1023px){.app-shell--header-hidden[data-v-33c5ddf3] .app-main{padding-top:var(--space-4)!important}}@media(min-width:1024px){.app-bar[data-v-33c5ddf3]{padding-left:var(--space-6);padding-right:var(--space-6)}}.app-main[data-v-33c5ddf3]{flex:1;min-height:0}.app-tab[data-v-33c5ddf3]{flex-shrink:0}.page-enter-active[data-v-33c5ddf3],.page-leave-active[data-v-33c5ddf3]{transition:opacity var(--duration-normal) var(--ease-out)}.page-enter-from[data-v-33c5ddf3],.page-leave-to[data-v-33c5ddf3]{opacity:0}:root,[data-theme=light]{--c-primary: #1e5631;--c-primary-hover: #164d28;--c-primary-muted: #e2f0e3;--c-bg-base: #ffffff;--c-bg-subtle: #f8fafc;--c-bg-muted: #f1f5f9;--c-border: #e2e8f0;--c-text-primary: #0f172a;--c-text-secondary: #64748b;--c-text-muted: #94a3b8;--c-success: #059669;--c-warning: #d97706;--c-error: #dc2626;--c-info: #64748b;--c-shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--c-shadow-md: 0 4px 12px rgba(0, 0, 0, .08)}[data-theme=dark]{--c-primary: #4ade80;--c-primary-hover: #6ee7b7;--c-primary-muted: #1e3a2f;--c-bg-base: #0f172a;--c-bg-subtle: #1e293b;--c-bg-muted: #334155;--c-border: #475569;--c-text-primary: #f8fafc;--c-text-secondary: #94a3b8;--c-text-muted: #64748b;--c-success: #10b981;--c-warning: #f59e0b;--c-error: #f87171;--c-info: #94a3b8;--c-shadow-sm: 0 1px 0 rgba(255, 255, 255, .05);--c-shadow-md: 0 4px 12px rgba(0, 0, 0, .35)}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;--text-display: 24px;--text-display-lh: 32px;--text-title: 18px;--text-title-lh: 24px;--text-heading: 16px;--text-heading-lh: 22px;--text-body: 15px;--text-body-lh: 22px;--text-body-sm: 14px;--text-body-sm-lh: 20px;--text-caption: 13px;--text-caption-lh: 18px;--text-label: 12px;--text-label-lh: 16px;--ease-out: cubic-bezier(.33, 1, .68, 1);--duration-fast: .15s;--duration-normal: .25s;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}html{box-sizing:border-box;scroll-behavior:smooth}*,*:before,*:after{box-sizing:inherit}html,body,#app{height:100%;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body-lh);background:var(--c-bg-base);color:var(--c-text-primary)}:root{--bottom-tab-height: 56px;--bottom-tab-total: calc(var(--bottom-tab-height) + env(safe-area-inset-bottom, 0px));--app-bar-height: 52px;--app-bar-total: calc(var(--app-bar-height) + env(safe-area-inset-top, 0px))}.app-shell{min-height:100%;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0)}.app-main{flex:1;overflow:auto;padding:var(--space-4) var(--space-4) var(--space-6);min-width:0}@media(max-width:1023px){.app-main{padding-top:calc(var(--app-bar-total) + var(--space-4));padding-bottom:calc(var(--bottom-tab-total) + var(--space-6))}}@media(min-width:640px){.app-main{padding:var(--space-5) var(--space-6) var(--space-8)}}@media(min-width:768px){.app-main{padding:var(--space-6) var(--space-8) var(--space-10)}}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-template-areas:"sidebar header" "sidebar main"}.app-shell .app-bar{grid-area:header;border-bottom:1px solid var(--c-border)}.app-shell .app-main{grid-area:main;padding:var(--space-8) var(--space-10) var(--space-12);max-width:var(--bp-xl);margin:0 auto;width:100%}.app-shell .app-tab{grid-area:sidebar;width:220px;min-width:220px;height:auto;min-height:100vh;border-top:none;border-right:1px solid var(--c-border);flex-direction:column;justify-content:flex-start;padding-top:env(safe-area-inset-top,0);padding-bottom:var(--space-6)}}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
