.chat-thread{align-content:start}
.chat-shell .chat-thread{max-height:50dvh;overflow-y:auto;overscroll-behavior:contain}
.chat-input .error:empty{display:none}
.food-chat{position:fixed;z-index:40;right:22px;bottom:calc(22px + var(--chat-keyboard-offset,0px));width:min(410px,calc(100% - 44px));height:600px;max-height:calc(var(--chat-view-height,100dvh) - 44px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 18px 65px #30271f33;overflow:hidden}
.food-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--line);flex-shrink:0}
.food-chat-head h2{font-family:var(--sans);font-size:20px;font-weight:700;letter-spacing:-.4px;margin:0;line-height:1.2}
.food-chat-head p{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.4}
.food-chat-head .icon-btn{flex-shrink:0;font-size:24px}
.food-chat .chat-thread{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0;padding:18px}
.food-chat .chat-message{flex-shrink:0;font-size:14px;line-height:1.55;padding:12px 14px;max-width:94%;border-radius:14px}
.food-chat .chat-message.user{align-self:flex-end}
.food-chat .chat-message.assistant{align-self:flex-start}
.food-chat .chat-message strong{font-size:11px}
.food-chat .chat-suggestions{flex-shrink:0;gap:6px;margin:0;padding:8px 18px}
.food-chat .chat-suggestions button{font-size:11px;padding:7px 9px;min-height:34px}
.food-chat .chat-input{flex-shrink:0;padding:6px 18px 10px;gap:7px}
.food-chat .chat-input label{font-size:12px;font-weight:600}
.food-chat .chat-input textarea{min-height:62px;max-height:110px;resize:none;padding:10px 12px;font-size:16px;background:white;line-height:1.4}
.food-chat .chat-input .btn{min-height:44px;font-size:14px;padding:10px;border-radius:8px}
.food-chat .chat-input .btn:hover{transform:none}
.food-chat .chat-input .error{font-size:12px;line-height:1.4;margin:0;max-height:78px;overflow:auto}
.food-chat .chat-input .error a{text-decoration:underline}
.food-chat-footer{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-shrink:0;border-top:1px solid var(--line);padding:10px 18px;font-size:11px;color:var(--muted)}
.food-chat-footer details{min-width:0;flex:1}
.food-chat-footer summary{cursor:pointer;min-height:24px;padding-top:3px}
.food-chat-footer details p{margin:8px 0 2px;max-height:84px;overflow-y:auto;line-height:1.5}
.food-chat-footer a{text-decoration:underline}
.food-chat-footer button{background:none;border:0;padding:3px 0;font-size:11px;white-space:nowrap;min-height:24px}
@media(max-width:600px){
 .food-chat{right:12px;bottom:calc(12px + var(--chat-keyboard-offset,0px));width:calc(100% - 24px);height:82dvh;max-height:calc(var(--chat-view-height,100dvh) - 24px);border-radius:16px}
 .food-chat-head{padding:12px 14px}.food-chat-head h2{font-size:18px}
 .food-chat .chat-thread{padding:14px}.food-chat .chat-suggestions{padding:6px 14px}
 .food-chat .chat-input{padding:4px 14px 10px}.food-chat-footer{padding:8px 14px}
}
.food-chat-compact .chat-suggestions,.food-chat-compact .food-chat-footer{display:none}
.food-chat-compact .food-chat-head{padding-top:8px;padding-bottom:8px}
.food-chat-compact .chat-input textarea{min-height:44px;height:44px}
.food-chat-compact .chat-input label{display:none}
@media(max-height:520px){
 .food-chat .chat-suggestions,.food-chat-footer{display:none}
 .food-chat-head{padding-top:8px;padding-bottom:8px}
 .food-chat .chat-input textarea{min-height:44px;height:44px}
 .food-chat .chat-input label{display:none}
}
