:root{--bg:#f6f4ff;--bg-accent:#eef0ff;--panel:#fff;--panel-2:#f7f7fb;--primary:#5b4bdf;--secondary:#8a7bff;--text:#1f2433;--muted:#6b7280;--stroke:rgba(31,36,51,.08)}*{box-sizing:border-box}#__nuxt,body,html{height:100%}body{background:transparent;color:var(--text);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;margin:0}button,input,textarea{font-family:inherit}.app-shell{align-items:flex-end;display:flex;justify-content:flex-end;margin:0;min-height:100%}@supports (height:100dvh){.app-shell{min-height:100dvh}}.chat-card{background:transparent;background-color:transparent!important;border:1px solid rgba(31,36,51,.04);border-radius:24px;display:grid;gap:0;grid-template-columns:1fr;max-height:calc(100vh - 48px);overflow:hidden;position:relative;width:min(480px,100%)}@media (max-width:900px){.chat-card{grid-template-columns:1fr}}.chat-main{flex-direction:column;height:min(680px,calc(100vh - 80px));padding:0}.chat-body,.chat-main{display:flex;position:relative}.chat-body{background-color:#fff;flex:1;flex-direction:column;min-height:0}@media (max-width:500px){#__nuxt,body,html{height:calc(var(--app-vh, 1vh)*100);overflow:hidden;width:100%}.app-shell{align-items:stretch;justify-content:stretch;min-height:calc(var(--app-vh, 1vh)*100);padding:0!important}.chat-card{border:none;border-radius:0;box-shadow:none;max-height:none;width:100%}.chat-card,.chat-main{height:calc(var(--app-vh, 1vh)*100)}.chat-main{min-height:calc(var(--app-vh, 1vh)*100)}.chat-header{border-radius:0!important}.chat-input{bottom:0;padding-bottom:max(0px,calc(22px + env(safe-area-inset-bottom) - var(--keyboard-gap, 0px)));position:sticky;z-index:2}.chat-stream{overscroll-behavior:contain;padding-bottom:16px}input,select,textarea{font-size:16px}}@media (max-width:500px) and (height:100dvh){.app-shell{align-items:stretch;justify-content:stretch;min-height:calc(var(--app-vh, 1vh)*100)}.chat-card{max-height:none}.chat-card,.chat-main{height:calc(var(--app-vh, 1vh)*100)}.chat-main{min-height:calc(var(--app-vh, 1vh)*100)}}.chat-header{align-items:center;background:#4f46e5;border-radius:24px 24px 0 0;box-shadow:0 12px 24px #1f24332e;color:#fff;display:flex;gap:16px;justify-content:space-between;margin-bottom:0;padding:16px}.chat-header-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.chat-reconnect-btn{background:#ffffff29;border:1px solid hsla(0,0%,100%,.4);border-radius:999px;color:#fff;cursor:pointer;font-size:11px;font-weight:700;height:32px;letter-spacing:.08em;padding:0 12px;text-transform:uppercase;transition:background .2s ease,transform .2s ease}.connection-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a73;display:grid;top:0;right:0;bottom:0;left:0;padding:24px;place-items:center;position:absolute;z-index:999}.connection-card{background:#fff;border-radius:18px;box-shadow:0 20px 50px #0f172a40;padding:22px;text-align:center;width:min(360px,92vw)}.connection-title{color:#1f2433;font-size:16px;font-weight:700;margin:0 0 6px}.connection-text{color:#1f2433b3;font-size:13px;margin:0 0 16px}.connection-reconnect-btn{background:linear-gradient(135deg,#5b4bdf,#7c69ff);border:none;color:#fff;font-size:12px;font-weight:700;height:40px;letter-spacing:.08em;text-transform:uppercase;width:100%}.chat-reconnect-btn:hover{background:#ffffff42;transform:translateY(-1px)}.connection-reconnect-btn:hover{background:linear-gradient(135deg,#5b4bdf,#7c69ff);transform:translateY(-1px)}.chat-brand{align-items:center;display:flex;gap:12px}.brand-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border-radius:10px;color:#fff;display:grid;font-weight:700;height:32px;place-items:center;width:32px}.brand-badge i{font-size:16px}.text-emerald-300{color:#6ee7b7}.text-xs{font-size:12px}.chat-title{display:flex;flex-direction:column}.chat-title-line{color:#fff!important;font-size:.875rem}.chat-title .status-pill,.chat-title-line{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji!important;font-weight:700}.chat-title .status-pill{align-items:center;border:none;color:#e0e7ffcc;display:inline-flex;font-size:9px;gap:6px;letter-spacing:.14em;padding:0;text-transform:uppercase}.status-dot{animation:pulse-dot 1.6s ease-in-out infinite;background:#34d399;border-radius:999px;box-shadow:0 0 0 2px #34d39940;height:6px;width:6px}.status-offline .status-dot{animation:none;background:#f87171;box-shadow:0 0 0 2px #f8727233}.chat-title span{color:#ffffffbf;font-size:13px}.status-pill{border:1px solid hsla(0,0%,100%,.25);border-radius:999px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 12px;text-transform:uppercase}.status-online{color:#fff}.status-offline{color:#ffe4e6}.chat-stream{display:flex;flex:1;flex-direction:column;gap:18px;min-height:0;overflow-y:auto;padding:18px 22px 0}.chat-stream::-webkit-scrollbar{width:6px}.chat-stream::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:999px}.chat-input{background:var(--panel);border-top:1px solid rgba(31,36,51,.08);display:flex;flex-direction:column;gap:12px;margin-top:0;padding:16px 22px 22px}.new-msg-banner{align-self:flex-start;background:#5b4bdf1f;border:1px solid rgba(91,75,223,.35);border-radius:999px;color:#5b4bdf;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.input-row{align-items:center;display:flex;gap:12px}textarea{background:#f3f4ff;border:1px solid var(--stroke);border-radius:16px;color:var(--text);flex:1;font-size:15px;line-height:1.5;min-height:56px;padding:16px;resize:none}.chat-textarea{font-size:16px}textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e533;outline:none}button.primary{background:linear-gradient(135deg,#5b4bdf,#7c69ff);border:none;border-radius:16px;color:#fff;cursor:pointer;font-weight:700;padding:0 20px;transition:transform .2s ease,box-shadow .2s ease}button.primary.send-icon{align-items:center;border-radius:14px;display:inline-flex;height:46px;justify-content:center;padding:0;width:46px}button.primary.send-icon i{display:block;font-size:16px}.chat-fullscreen-btn{align-items:center;background:#fff3;border:none;border-radius:10px;color:#fff;cursor:pointer;display:none;font-size:12px;height:32px;justify-content:center;padding:0;width:32px}.fullscreen-icon{display:block;height:18px;width:18px}.chat-card-full{border-radius:0;height:100vh;max-height:100vh;width:100%}.chat-card-full .chat-main{height:100vh}@media (max-width:700px){.chat-fullscreen-btn{align-items:center;display:inline-flex;gap:6px}.chat-card-full{border-radius:0}}button.primary:disabled{cursor:not-allowed;opacity:.5}.chat-close-btn{align-items:center;background:transparent;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:18px;font-weight:700;height:32px;justify-content:center;line-height:1;transition:background .2s ease,transform .2s ease;width:32px}.chat-close-btn:hover{background:#ffffff29}@keyframes pulse-dot{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}button.primary:hover:not(:disabled){box-shadow:0 10px 20px #14b8a633;transform:translateY(-1px)}.code-pill{align-items:center;background:#94a3b81f;border:1px solid rgba(148,163,184,.2);border-radius:999px;display:inline-flex;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;gap:6px;padding:4px 8px}.choice-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.choice-button{align-items:center;background:#fff;border:1px solid rgba(129,140,248,.45);border-radius:12px;box-shadow:0 4px 10px #1f243314;color:#4338ca;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;padding:10px 16px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.choice-button.active{background:#4f46e5;border-color:#4f46e5;box-shadow:0 10px 22px #4f46e547;color:#fff;font-weight:700}.choice-button:hover:not(.active){background:#eef2ff;border-color:#6366f199}.choice-button:hover{transform:translateY(-1px)}.choice-button:active{transform:translateY(1px) scale(.98)}.choice-button .choice-icon{font-size:12px;margin-right:8px}button.primary{transition:transform .18s ease,box-shadow .18s ease}button.primary:active{transform:translateY(1px) scale(.98)}.chat-stream>div{animation:stream-in .25s ease-out}@keyframes stream-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bubble,.chat-stream>div,.choice-button,button.primary{animation:none;transition:none}}.download-card{background:#0478571a;border:1px dashed rgba(34,197,94,.4);border-radius:16px;padding:16px}.download-card button{width:100%}.download-inline{display:flex;justify-content:flex-start;margin-top:10px}.download-inline .download-card{max-width:520px;width:100%}.download-inline-in-bubble{margin-top:12px}.download-inline-in-bubble .download-card{max-width:100%}.system-note{color:var(--muted);font-size:13px}.typing-indicator{align-items:center;align-self:flex-start;background:#fff;border:1px solid rgba(91,75,223,.16);border-radius:0 999px 999px;box-shadow:0 6px 14px #1f24330f;display:inline-flex;gap:5px;margin-top:-5px;min-height:20px;padding:5px 4.5px;width:-moz-max-content;width:max-content}.typing-dot{animation:typing-bounce 1s ease-in-out infinite;border-radius:999px;height:5px;width:5px}.typing-dot-1{background:#6366f1}.typing-dot-2{animation-delay:.1s;background:#4f46e5}.typing-dot-3{animation-delay:.2s;background:#4338ca}.bubble{animation:bubble-in .25s ease-out;border:1px solid rgba(91,75,223,.12);border-radius:18px;box-shadow:0 10px 24px #1f243314;max-width:-moz-max-content;max-width:max-content;padding:14px 16px;width:-moz-fit-content;width:fit-content}.bubble-ai{align-self:flex-start;background:#fff;border-color:#f3f4f6;border-top-left-radius:0}.bubble-user{align-self:flex-end;background:#4f46e5;border-color:transparent;border-top-right-radius:6px;box-shadow:0 8px 18px #4f46e547;color:#fff;margin-left:auto;max-width:80%}.bubble-meta{color:#6b7280b3;display:flex;font-size:11px;justify-content:space-between;margin-bottom:6px}.bubble-ai .bubble-meta{color:#3f2fb5d9}.bubble-user .bubble-meta{color:#e0e7ffd9}.bubble-sender{font-size:.85rem;font-weight:600;letter-spacing:.04em;line-height:1rem;text-transform:uppercase}.bubble-text{line-height:1.2;margin:0;white-space:pre-wrap}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-bounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.choice-section{animation:choice-in .3s ease;margin-bottom:12px;margin-top:16px}@keyframes choice-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
