:root{--primary-color: #0084ff;--user-bubble-bg: #0084ff;--assistant-bubble-bg: #e4e6eb;--user-text-color: #ffffff;--assistant-text-color: #050505;--bg-color: #f0f2f5;--input-bg: #ffffff;--border-color: #d0d0d0;--header-bg: #ffffff;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{overscroll-behavior:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);position:fixed;width:100%;height:100%;overflow:hidden}.app{width:100%;height:100%;height:100dvh;display:flex;justify-content:center;align-items:center;padding:0;padding-top:var(--safe-area-inset-top);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.chat-container{width:100%;height:100%;max-width:100%;display:flex;flex-direction:column;background-color:var(--bg-color);overflow:hidden}.chat-header{background-color:var(--header-bg);padding:.875rem 1rem;text-align:center;border-bottom:1px solid var(--border-color);box-shadow:var(--shadow);z-index:10;flex-shrink:0;padding-top:calc(.875rem + var(--safe-area-inset-top))}.chat-header h1{font-size:1.25rem;color:#333;margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header .subtitle{font-size:.8rem;color:#666}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth}.empty-state{display:flex;justify-content:center;align-items:center;height:100%;color:#999;font-size:.95rem;text-align:center;padding:1.5rem;line-height:1.5}.message-wrapper{display:flex;width:100%;margin-bottom:.25rem}.message-user{justify-content:flex-end}.message-assistant{justify-content:flex-start}.message-bubble{max-width:85%;padding:.625rem .875rem;border-radius:1.125rem;word-wrap:break-word;word-break:break-word;box-shadow:0 1px 2px #00000014}.user-bubble{background-color:var(--user-bubble-bg);color:var(--user-text-color);border-bottom-right-radius:.25rem}.assistant-bubble{background-color:var(--assistant-bubble-bg);color:var(--assistant-text-color);border-bottom-left-radius:.25rem}.message-text{margin:0;line-height:1.45;font-size:.9375rem}.message-time{display:block;font-size:.65rem;margin-top:.25rem;opacity:.65}.loading-indicator{display:flex;justify-content:flex-start;padding:.25rem .75rem}.typing-dots{display:flex;align-items:center;gap:.25rem;background-color:var(--assistant-bubble-bg);padding:.625rem .875rem;border-radius:1.125rem 1.125rem 1.125rem .25rem}.typing-dots span{width:7px;height:7px;background-color:#666;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.input-wrapper{background-color:var(--input-bg);border-top:1px solid var(--border-color);padding:.75rem;padding-bottom:calc(.75rem + var(--safe-area-inset-bottom));box-shadow:0 -2px 8px #0000000d;flex-shrink:0}.chat-input-form{width:100%}.input-container{display:flex;gap:.5rem;align-items:flex-end}.chat-textarea{flex:1;padding:.625rem .875rem;border:1.5px solid var(--border-color);border-radius:1.25rem;font-size:16px;font-family:inherit;resize:none;outline:none;min-height:44px;max-height:100px;transition:border-color .2s,box-shadow .2s;line-height:1.4;-webkit-text-size-adjust:100%}.chat-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #0084ff26}.chat-textarea:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.chat-textarea::placeholder{color:#999}.send-button{padding:0 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:50%;font-size:0;font-weight:600;cursor:pointer;transition:background-color .15s,transform .1s,opacity .15s;min-width:44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-button:after{content:"";display:block;width:0;height:0;border-left:8px solid white;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}.send-button:hover:not(:disabled){background-color:#0073e6}.send-button:active:not(:disabled){transform:scale(.92);background-color:#06c}.send-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.5}@media (max-width: 359px){.chat-header h1{font-size:1.1rem}.chat-header .subtitle{font-size:.7rem}.message-bubble{max-width:88%;padding:.5rem .75rem}.message-text{font-size:.875rem}.messages-container{padding:.5rem}.input-wrapper{padding:.5rem;padding-bottom:calc(.5rem + var(--safe-area-inset-bottom))}}@media (min-width: 360px) and (max-width: 480px){.message-bubble{max-width:82%}}@media (max-height: 500px) and (orientation: landscape){.chat-header{padding:.5rem 1rem;padding-top:calc(.5rem + var(--safe-area-inset-top))}.chat-header h1{font-size:1rem;margin-bottom:0}.chat-header .subtitle{display:none}.messages-container{padding:.5rem 1rem;gap:.375rem}.message-bubble{padding:.5rem .75rem}.input-wrapper{padding:.5rem 1rem;padding-left:calc(1rem + var(--safe-area-inset-left));padding-right:calc(1rem + var(--safe-area-inset-right));padding-bottom:calc(.5rem + var(--safe-area-inset-bottom))}.chat-textarea{max-height:60px;min-height:36px}.send-button{width:40px;height:40px;min-width:40px}}@media (min-width: 768px){.app{padding:1rem;padding-top:calc(1rem + var(--safe-area-inset-top))}.chat-container{max-width:680px;height:90%;max-height:800px;border-radius:16px;box-shadow:0 4px 24px #0000001f}.chat-header{border-radius:16px 16px 0 0;padding:1rem 1.25rem}.chat-header h1{font-size:1.375rem}.chat-header .subtitle{font-size:.875rem}.messages-container{padding:1rem 1.25rem;gap:.625rem}.message-bubble{max-width:65%;padding:.75rem 1rem}.message-text{font-size:.9375rem}.input-wrapper{padding:1rem 1.25rem;border-radius:0 0 16px 16px}.chat-textarea{max-height:120px}.send-button{width:48px;height:48px;min-width:48px;border-radius:50%}}@media (min-width: 1024px){.chat-container{max-width:760px;max-height:850px}.message-bubble{max-width:55%}.chat-header h1{font-size:1.5rem}.send-button:hover:not(:disabled){transform:scale(1.05)}}@media (min-width: 1440px){.chat-container{max-width:820px}}@media (prefers-reduced-motion: reduce){.messages-container{scroll-behavior:auto}.typing-dots span{animation:none;opacity:.6}.send-button,.chat-textarea{transition:none}}@media (prefers-color-scheme: dark){:root{--bg-color: #1a1a1a;--input-bg: #2d2d2d;--header-bg: #2d2d2d;--border-color: #404040;--assistant-bubble-bg: #3d3d3d;--assistant-text-color: #e8e8e8}.chat-header h1{color:#f0f0f0}.chat-header .subtitle{color:#aaa}.empty-state{color:#888}.chat-textarea{background-color:var(--input-bg);color:#f0f0f0}.chat-textarea:disabled{background-color:#1f1f1f}.chat-textarea::placeholder{color:#777}.typing-dots span{background-color:#999}}
