:root{--chat-header-h: 64px;--chat-max-w: 860px;--chat-bg: #000;--chat-surface: #0a0a0a;--chat-border: rgba(255, 255, 255, .12);--chat-border-strong: rgba(255, 255, 255, .28);--chat-text: #fff;--chat-text-muted: rgba(255, 255, 255, .6);--chat-text-subtle: rgba(255, 255, 255, .4);--chat-bubble-user: #fff;--chat-bubble-user-text: #000}.assistant{position:fixed;top:var(--chat-header-h);left:0;right:0;bottom:0;height:calc(100dvh - var(--chat-header-h));background:var(--chat-bg);color:var(--chat-text);font-family:Inter,system-ui,sans-serif;display:grid;grid-template-rows:1fr auto;overflow:hidden;overscroll-behavior:contain}.chat-shell{display:grid;grid-template-rows:1fr auto;width:100%;max-width:var(--chat-max-w);margin:0 auto;min-height:0;min-width:0;overflow:hidden;padding:0 16px}.messages{min-height:0;min-width:0;width:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:14px;padding:28px 4px 20px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.assistant,.assistant *,.assistant *:before,.assistant *:after{box-sizing:border-box}.row{display:flex;width:100%;min-width:0}.row.row-user{justify-content:flex-end}.row.row-assistant{justify-content:flex-start}.row.row-center{justify-content:center}.bubble{max-width:min(78%,640px);min-width:0;line-height:1.55;font-size:15.5px;word-wrap:break-word;overflow-wrap:anywhere;white-space:normal;animation:bubble-in .22s ease-out}.bubble p{margin:0 0 10px}.bubble p:last-child{margin-bottom:0}.bubble-user{background:var(--chat-bubble-user);color:var(--chat-bubble-user-text);padding:11px 16px;border-radius:18px 18px 4px}.bubble-assistant{color:#fffffff0;padding:4px 2px}.bubble-assistant a{color:#fff;text-decoration:underline;text-underline-offset:3px;transition:opacity .2s ease}.bubble-assistant a:hover{opacity:.75}.bubble-limit{text-align:center;max-width:460px;background:#ffffff0a;border:1px solid var(--chat-border);border-radius:14px;padding:18px 22px;color:var(--chat-text-muted);font-size:14px;line-height:1.6}.bubble-limit a{color:#fff;text-decoration:underline;text-underline-offset:3px}.typing{display:inline-flex;gap:4px;padding:8px 0}.typing span{width:6px;height:6px;border-radius:50%;background:#ffffffa6;animation:dot 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.composer-area{display:flex;flex-direction:column;gap:10px;padding:10px 4px 18px;background:var(--chat-bg);min-width:0}.suggestions{display:flex;gap:10px;overflow-x:auto;padding:4px 2px;scrollbar-width:none}.suggestions::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;background:transparent;border:1px solid var(--chat-border);color:#ffffffd9;padding:10px 16px;border-radius:10px;font-size:13.5px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color .2s ease,background .2s ease,color .2s ease}.chip:hover{border-color:var(--chat-border-strong);background:#ffffff0a;color:#fff}.chip:disabled{opacity:.35;cursor:not-allowed}.composer{background:var(--chat-surface);border:1px solid var(--chat-border);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease}.composer:focus-within{border-color:var(--chat-border-strong)}.input-wrap{display:flex;padding:4px 6px}.composer input{flex:1;background:transparent;border:0;outline:0;color:#fff;font-size:16px;font-family:inherit;padding:4px 0;min-width:0}.composer input::placeholder{color:var(--chat-text-subtle)}.composer input:disabled{opacity:.4;cursor:not-allowed}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.toolbar-left{display:flex;align-items:center;gap:8px;min-width:0}.counter{font-size:12px;color:var(--chat-text-subtle);font-family:inherit;white-space:nowrap}.counter.warn{color:#ffb464d9}.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--chat-text-muted);border-radius:8px;cursor:pointer;transition:color .2s ease,background .2s ease}.icon-btn:hover{color:#fff;background:#ffffff0f}.send-btn{width:36px;height:36px;border-radius:50%;background:#fff;color:#000;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease}.send-btn:hover:not(:disabled){transform:translateY(-1px);background:#e6e6e6}.send-btn:disabled{opacity:.35;cursor:not-allowed}@media(max-width:768px){.chat-shell{padding:0 10px}.messages{padding:16px 2px 10px;gap:10px;scroll-padding-bottom:16px}.composer-area{padding-left:2px;padding-right:2px}.bubble{max-width:90%;font-size:15px;line-height:1.5}.bubble-user{padding:10px 14px;border-radius:16px 16px 4px}.bubble-limit{padding:16px 18px;font-size:13.5px}.composer-area{gap:8px;padding:6px 0 calc(10px + env(safe-area-inset-bottom,0px))}.suggestions{gap:8px;padding:2px 10px;margin:0 -10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.bubble{max-width:92%}.chip{padding:9px 14px;font-size:13px;border-radius:999px;scroll-snap-align:start}.composer{padding:8px 10px 8px 14px;border-radius:22px;flex-direction:row;align-items:center;gap:8px}.input-wrap{flex:1;padding:0;min-width:0}.composer input{font-size:16px;padding:10px 0}.toolbar{flex:0 0 auto;gap:4px}.toolbar-left{display:none}.send-btn{width:38px;height:38px}.icon-btn{width:36px;height:36px}.mobile-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 4px;min-height:16px}.mobile-meta .icon-btn{width:28px;height:28px}.mobile-meta .counter{font-size:11.5px}}@media(min-width:769px){.mobile-meta{display:none}}@media(max-width:640px)and (max-height:560px){.suggestions{display:none}}
