:root{--chat-container-inline-padding:clamp(16px,6vw,60px);--chat-max-width:clamp(320px,92vw,860px)}*{box-sizing:border-box}html,body{background-color:var(--background,#f0f2f5);color:var(--text,#333);width:100%;height:100%;margin:0;padding:0;font-family:Arial,sans-serif}.chat-container{background-color:var(--background,#fff);color:var(--text,#333);padding:calc(16px + env(safe-area-inset-top))var(--chat-container-inline-padding)calc(120px + env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;align-items:stretch;gap:clamp(16px,5vh,32px);width:100%;min-height:100vh;display:flex;position:relative}@supports not (padding:env(safe-area-inset-top)){.chat-container{padding-top:clamp(16px,6vw,48px);padding-bottom:clamp(96px,14vh,150px)}}.dark-mode-toggle{z-index:10;position:absolute;top:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px)}.empty-chat{width:min(100%,var(--chat-max-width));text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;margin:0 auto;padding:clamp(24px,8vh,56px) clamp(16px,6vw,32px);display:flex}.version-info{color:var(--textSecondary,#666);font-size:clamp(16px,2.6vw,20px)}.chat-body{width:min(100%,var(--chat-max-width));scroll-behavior:smooth;border:1px solid var(--border,#00000014);background-color:var(--cardBackground,#ffffffeb);backdrop-filter:blur(10px);border-radius:24px;flex-direction:column;flex:1;gap:14px;margin:0 auto;padding:clamp(12px,3vw,24px) clamp(12px,3vw,24px) clamp(72px,12vh,120px);display:flex;overflow:hidden auto;box-shadow:0 18px 40px #0f172a1a}.chat-body::-webkit-scrollbar{width:6px}.chat-body::-webkit-scrollbar-thumb{background-color:#94a3b859;border-radius:999px}.chat-body::-webkit-scrollbar-track{background:0 0}.message{align-items:flex-start;gap:12px;width:100%;max-width:min(100%,720px);display:flex}.message-avatar{color:var(--primary,#5369ea);background:#5369ea1a;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 10px 20px #0f172a26}.message-bubble{background-color:var(--cardBackground,#e4e6eb);color:var(--text,#000);word-wrap:break-word;word-break:break-word;border-radius:18px;flex:1;padding:clamp(12px,2.8vw,18px);line-height:1.55;position:relative;box-shadow:0 8px 18px #0f172a14}.message-content{width:100%}.message.sent{text-align:left;flex-direction:row-reverse;align-self:flex-end}.message.sent .message-avatar{background:var(--primary,#5369ea);color:var(--buttonText,#fff)}.message.sent .message-bubble{background-color:var(--primary,#5369ea);color:var(--buttonText,#fff);border-bottom-right-radius:6px;border-bottom-left-radius:18px}.message.received{align-self:flex-start}.message.received .message-bubble{border-bottom-left-radius:6px}.message.received.loading .message-bubble{align-items:center;gap:12px;display:flex}.copy-icon{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .2s,transform .2s;display:flex;position:absolute;top:8px;right:8px}.copy-icon:hover,.copy-icon:focus-visible{background-color:#94a3b82e;outline:none;transform:translateY(-1px)}.loading-dots{letter-spacing:2px;font-size:clamp(20px,4vw,26px);font-weight:600;animation:1.4s infinite both blink}@keyframes blink{0%,to{color:#0000}50%{color:var(--text,black)}}.chat-footer{bottom:calc(16px + env(safe-area-inset-bottom));width:min(100%,var(--chat-max-width));border:1px solid var(--border,#00000014);background-color:var(--cardBackground,#fff);backdrop-filter:blur(12px);z-index:20;border-radius:28px;align-items:center;gap:12px;margin:0 auto;padding:clamp(12px,2.5vw,18px) clamp(16px,3vw,24px);display:flex;position:sticky;left:0;right:0;box-shadow:0 20px 40px #0f172a1f}@supports not (bottom:calc(16px + env(safe-area-inset-bottom))){.chat-footer{bottom:16px}}.chat-input{border:1px solid var(--border,#ddd);resize:none;background-color:var(--inputBackground,#fff);color:var(--text,#333);border-radius:18px;flex:1;min-height:48px;max-height:220px;padding:12px 16px;font-size:16px;line-height:1.45;transition:border-color .2s,box-shadow .2s;overflow-y:auto}.chat-input:focus{border-color:var(--primary,#5369ea);outline:none;box-shadow:0 0 0 3px #5369ea2e}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-input::placeholder{color:var(--textSecondary,#6b7280)}.chat-input::-webkit-scrollbar{width:4px}.chat-input::-webkit-scrollbar-thumb{background-color:#94a3b859;border-radius:999px}.action-button{background-color:var(--button,#5369ea);color:var(--buttonText,#fff);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:background-color .2s,transform .2s;display:flex}.action-button:hover:not(:disabled){background-color:var(--accent,#012e77);transform:translateY(-1px)}.action-button:disabled{opacity:.7;cursor:progress}pre{background-color:var(--cardBackground,#f6f8fa);white-space:pre-wrap;color:var(--text,#000);border-radius:8px;margin:8px 0;padding:12px;overflow-x:auto}code{background-color:var(--cardBackground,#f6f8fa);color:var(--text,#000);border-radius:4px;padding:2px 4px}ul,ol{margin:12px 0;padding-left:24px}li{margin-bottom:6px}@media (width<=1024px){.chat-container{--chat-max-width:clamp(320px,94vw,760px)}.chat-footer{border-radius:24px}}@media (width<=768px){.chat-container{--chat-container-inline-padding:clamp(12px,6vw,32px);gap:clamp(12px,4vh,24px)}.chat-body{border-radius:20px;gap:12px;padding:clamp(10px,4vw,18px)}.message{gap:10px;max-width:92%}.message-avatar{border-radius:12px;width:36px;height:36px}.message-bubble{border-radius:16px}.chat-footer{flex-wrap:wrap;gap:10px;padding:clamp(12px,3vw,18px) clamp(12px,5vw,18px)}}@media (width<=600px){.dark-mode-toggle{align-self:flex-end;position:static}}@media (width<=480px){.chat-container{--chat-container-inline-padding:clamp(10px,6vw,18px);padding-bottom:calc(150px + env(safe-area-inset-bottom))}@supports not (padding:env(safe-area-inset-bottom)){.chat-container{padding-bottom:clamp(140px,20vh,180px)}}.chat-body{border-radius:16px;gap:10px;padding:clamp(8px,6vw,16px)}.message{max-width:100%}.message-bubble{border-radius:16px;padding:clamp(10px,5vw,16px)}.copy-icon{width:28px;height:28px;top:6px;right:6px}.chat-footer{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));width:calc(100% + -1*clamp(20px,10vw,36px));position:fixed;transform:translate(-50%)}@supports not (bottom:calc(14px + env(safe-area-inset-bottom))){.chat-footer{bottom:14px}}.action-button{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.chat-body{scroll-behavior:auto}.loading-dots{animation:none}}