.sheet-mask[data-v-348f1ab3]{position:fixed;inset:0;z-index:var(--z-dropdown);display:flex;align-items:flex-end;justify-content:center;background:#1c2b2a66}.sheet[data-v-348f1ab3]{width:100%;max-width:var(--container-max);padding:var(--space-5) var(--space-4) calc(var(--space-4) + var(--safe-area-bottom));background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.sheet-title[data-v-348f1ab3]{margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg);text-align:center}.sheet-desc[data-v-348f1ab3]{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--muted);text-align:center}.sheet-btn[data-v-348f1ab3]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:48px;border:none;border-radius:var(--radius-sm);font-size:var(--text-md);cursor:pointer}.sheet-btn.danger[data-v-348f1ab3]{background:var(--btn-danger-bg);color:var(--btn-danger-text)}.sheet-btn.danger[data-v-348f1ab3]:disabled{opacity:.7}.sheet-btn.cancel[data-v-348f1ab3]{margin-top:var(--space-2);background:var(--surface-warm);color:var(--fg-2)}.sheet-enter-active[data-v-348f1ab3],.sheet-leave-active[data-v-348f1ab3]{transition:opacity var(--motion-base) var(--ease-out)}.sheet-enter-active .sheet[data-v-348f1ab3],.sheet-leave-active .sheet[data-v-348f1ab3]{transition:transform var(--motion-base) var(--ease-out)}.sheet-enter-from[data-v-348f1ab3],.sheet-leave-to[data-v-348f1ab3]{opacity:0}.sheet-enter-from .sheet[data-v-348f1ab3],.sheet-leave-to .sheet[data-v-348f1ab3]{transform:translateY(100%)}.session-swipe[data-v-1295a757]{position:relative;overflow:hidden;border-radius:var(--radius-md);margin-bottom:var(--space-3)}.swipe-delete[data-v-1295a757]{position:absolute;top:0;right:0;bottom:0;width:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--danger);color:var(--btn-danger-text);font-size:var(--text-xs);cursor:pointer}.session-card[data-v-1295a757]{position:relative;z-index:1;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--motion-base) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.session-card[data-v-1295a757]:active{background:var(--surface-warm)}.card-title[data-v-1295a757]{margin:0;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-time[data-v-1295a757]{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--muted)}.session-view[data-v-1d732dc1]{min-height:100dvh;padding-bottom:calc(96px + var(--safe-area-bottom))}.topbar[data-v-1d732dc1]{position:sticky;top:0;z-index:var(--z-topbar);display:flex;align-items:center;height:52px;padding:0 var(--space-4);padding-top:var(--safe-area-top);background:var(--topbar-bg);backdrop-filter:blur(var(--topbar-blur));-webkit-backdrop-filter:blur(var(--topbar-blur))}.topbar-title[data-v-1d732dc1]{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg)}.list[data-v-1d732dc1]{padding:var(--space-3) var(--space-4) 0}.skeleton-card[data-v-1d732dc1]{height:76px;margin-bottom:var(--space-3);border-radius:var(--radius-md);background:var(--surface-warm);animation:skeleton-pulse-1d732dc1 1.2s var(--ease-in-out) infinite}@keyframes skeleton-pulse-1d732dc1{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.skeleton-card[data-v-1d732dc1]{animation:none}}.state-block[data-v-1d732dc1]{display:flex;flex-direction:column;align-items:center;padding:var(--space-12) var(--space-6);text-align:center}.state-icon[data-v-1d732dc1]{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--surface-warm);color:var(--muted);margin-bottom:var(--space-4)}.state-title[data-v-1d732dc1]{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--fg)}.state-desc[data-v-1d732dc1]{margin:0;max-width:30em;font-size:var(--text-sm);line-height:var(--leading-body);color:var(--muted)}.retry-btn[data-v-1d732dc1]{margin-top:var(--space-4);min-height:44px;padding:0 var(--space-6);border:none;border-radius:var(--radius-sm);background:var(--btn-secondary-bg);color:var(--btn-secondary-text);font-size:var(--text-md);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out)}.retry-btn[data-v-1d732dc1]:active{background:var(--btn-secondary-bg-hover)}.fab[data-v-1d732dc1]{position:fixed;right:20px;bottom:calc(24px + var(--safe-area-bottom));z-index:var(--z-dock);width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.fab[data-v-1d732dc1]:active{background:var(--btn-primary-bg-active);transform:scale(.96)}.fab[data-v-1d732dc1]:disabled{cursor:default}.delete-toast[data-v-1d732dc1]{position:fixed;left:50%;transform:translate(-50%);bottom:calc(96px + var(--safe-area-bottom));z-index:var(--z-toast);max-width:86%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--danger);color:var(--btn-danger-text);font-size:var(--text-sm);text-align:center}.toast-enter-active[data-v-1d732dc1],.toast-leave-active[data-v-1d732dc1]{transition:opacity var(--motion-base) var(--ease-out)}.toast-enter-from[data-v-1d732dc1],.toast-leave-to[data-v-1d732dc1]{opacity:0}:root{--color-primary-50: #f0fdfa;--color-primary-100: #ccfbf1;--color-primary-200: #99f6e4;--color-primary-300: #5eead4;--color-primary-400: #2dd4bf;--color-primary-500: #14b8a6;--color-primary-600: #0d9488;--color-primary-700: #0f766e;--color-primary-800: #115e59;--color-primary-900: #134e4a;--bg: #f4f6f5;--surface: #ffffff;--surface-warm: #eceeeb;--fg: #1c2b2a;--fg-2: #465957;--muted: #758785;--meta: #9aa8a6;--border: #dfe5e2;--border-soft: #edf0ee;--font-display: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", "Segoe UI", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, "Courier New", monospace;--success: #16a34a;--warn: #d97706;--danger: #dc2626;--danger-soft: #fef2f2;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--leading-none: 1;--leading-tight: 1.3;--leading-body: 1.6;--leading-relaxed: 1.75;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--tracking-normal: 0;--tracking-tight: -.01em;--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;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(28, 43, 42, .05);--shadow-sm: 0 1px 3px rgba(28, 43, 42, .08), 0 1px 2px rgba(28, 43, 42, .04);--shadow-dock: 0 -4px 16px rgba(28, 43, 42, .06);--motion-fast: .12s;--motion-base: .15s;--motion-slow: .24s;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.45, 0, .25, 1);--btn-primary-bg: var(--color-primary-600);--btn-primary-bg-hover: var(--color-primary-700);--btn-primary-bg-active: var(--color-primary-800);--btn-primary-text: #ffffff;--btn-secondary-bg: var(--color-primary-50);--btn-secondary-bg-hover: var(--color-primary-100);--btn-secondary-text: var(--color-primary-700);--btn-ghost-bg: transparent;--btn-ghost-bg-hover: rgba(13, 148, 136, .08);--btn-ghost-text: var(--color-primary-600);--btn-danger-bg: var(--danger);--btn-danger-text: #ffffff;--input-bg: var(--surface);--input-border: var(--border);--input-focus-border: var(--color-primary-500);--input-focus-ring: 0 0 0 3px rgba(20, 184, 166, .18);--input-placeholder: var(--muted);--bubble-user-bg: var(--color-primary-600);--bubble-user-text: #ffffff;--bubble-user-radius: var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg);--bubble-assistant-bg: var(--surface);--bubble-assistant-text: var(--fg);--bubble-assistant-radius: var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-xs);--avatar-assistant-bg: var(--color-primary-50);--avatar-assistant-text: var(--color-primary-600);--refcard-bg: var(--surface-warm);--refcard-bg-open: var(--surface);--refcard-border: var(--border);--refcard-quote-bg: #f8faf9;--refcard-quote-text: var(--fg-2);--refbadge-bg: var(--color-primary-50);--refbadge-text: var(--color-primary-700);--dock-bg: var(--surface);--dock-border: var(--border);--topbar-bg: rgba(244, 246, 245, .92);--topbar-blur: 12px;--focus-ring: 0 0 0 3px rgba(13, 148, 136, .35);--container-max: 640px;--chat-bubble-max: 86%;--input-min-height: 44px;--tap-target: 44px;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-top: env(safe-area-inset-top, 0px);--z-base: 0;--z-dock: 100;--z-topbar: 110;--z-dropdown: 200;--z-toast: 300}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-base: 0ms;--motion-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;padding:0;min-height:100%;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}#app{min-height:100dvh}.app-shell{position:relative;margin:0 auto;max-width:var(--container-max);min-height:100dvh;background:var(--bg)}button{font-family:inherit}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.spinner-rotate{animation:spinner-rotate .9s var(--ease-in-out) infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner-rotate{animation-duration:1.6s}}.typing-dot{animation:typing-dot-bounce 1s var(--ease-in-out) infinite}@keyframes typing-dot-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}@media(prefers-reduced-motion:reduce){.typing-dot{animation:none}}.stream-cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--color-primary-500);animation:stream-cursor-blink .6s steps(1) infinite}@keyframes stream-cursor-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.stream-cursor{animation:none}}
