html,body{background-color:#212121;width:100%;height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;position:fixed;overflow:hidden}.chat-input-container{box-sizing:border-box;background-color:#212121;flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:16px;display:flex}.chat-input-wrapper{box-sizing:border-box;background-color:#2f2f2f;border:1px solid #565656;border-radius:24px;flex:1;align-items:flex-end;gap:12px;max-width:768px;padding:8px 12px 8px 18px;transition:border-color .2s;display:flex}.chat-input-wrapper:focus-within{border-color:#9b9b9b}.chat-input{color:#fff;resize:none;background:0 0;border:none;outline:none;flex:1;height:24px;padding:8px 0;font-family:inherit;font-size:16px;line-height:1.4;overflow-y:auto}.chat-input::placeholder{color:#8e8e8e}.send-btn{color:#212121;cursor:pointer;background-color:#676767;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:2px;font-size:1.1rem;font-weight:700;transition:background-color .2s,color .2s;display:flex}.send-btn:not(:disabled){color:#000;background-color:#fff}.voice-btn{color:#b4b4b4;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:2px;padding:4px;font-size:1.1rem;display:flex}.voice-btn.recording{animation:1.2s ease-in-out infinite voicePulse;transform:scale(1.15)}@keyframes voicePulse{0%,to{opacity:1}50%{opacity:.3}}.user-message,.robot-message{box-sizing:border-box;align-items:flex-start;gap:12px;width:100%;max-width:100%;padding:16px 8px;display:flex}.user-message{flex-direction:row-reverse;justify-content:flex-start}.robot-message{justify-content:flex-start}.message{color:#ececec;word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0;font-size:1rem;line-height:1.6}.user-message .message{text-align:right}.robot-message .message{text-align:left}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.code-block-wrapper{box-sizing:border-box;background-color:#1a1a1a;flex-direction:column;display:flex;width:calc(100% + 52px)!important;margin:16px -8px 16px -44px!important}.user-message .code-block-wrapper{margin-left:-8px!important;margin-right:-44px!important}.code-block-header{color:#b4b4b4;background-color:#2f2f2f;justify-content:space-between;align-items:center;padding:8px 16px;font-family:monospace;font-size:.8rem;display:flex}.expand-toggle-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.8rem}.expand-toggle-btn:hover{background-color:#424242}.code-block-wrapper.collapsed .code-scroll-pane{max-height:300px;position:relative;overflow-y:hidden}.code-block-wrapper.collapsed .code-scroll-pane:after{content:"";pointer-events:none;background:linear-gradient(#0000,#1a1a1a);width:100%;height:60px;position:absolute;bottom:0;left:0}.code-block-wrapper.expanded .code-scroll-pane{max-height:none;overflow-y:visible}.code-scroll-pane>div{box-sizing:border-box;background-color:#0000!important;width:100%!important;max-width:100%!important;margin:0!important;padding:16px!important;display:block!important;overflow-x:auto!important}.code-scroll-pane code{text-align:left!important;white-space:pre-wrap!important;word-break:break-all!important;background:0 0!important;width:100%!important;padding:0!important;display:block!important}.code-scroll-pane>div *,.code-scroll-pane span{background:0 0!important}.messages-container{box-sizing:border-box;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;flex-direction:column;flex:1;gap:20px;width:100%;padding:16px 20px;display:flex;overflow-y:auto}.messages-container::-webkit-scrollbar{display:none}.typing-loader{background-color:#2f2f2f;border-radius:12px;align-items:center;gap:4px;width:fit-content;padding:12px 16px;display:flex}.typing-loader span{background-color:#b4b4b4;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce;display:inline-block}.typing-loader span:first-child{animation-delay:-.32s}.typing-loader span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.app-container{background-color:#212121;flex-direction:column;width:100vw;max-width:768px;height:100svh;margin:0 auto;display:flex;position:relative;overflow:hidden}
