.ai-screen{background:var(--bg);grid-template-columns:260px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.ai-screen--with-context{grid-template-columns:260px minmax(0,1fr) 280px}.ai-conv-panel{border-right:1px solid var(--outline);background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.ai-conv-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 16px 12px;display:flex}.ai-conv-title{color:var(--ink);font-size:14px;font-weight:700}.ai-new-chat-btn{border-radius:999px;gap:5px;padding:6px 10px;font-size:12px;font-weight:700}.ai-new-chat-btn--header{display:none}.ai-conv-loading,.ai-conv-list{flex-direction:column;flex:1;gap:2px;padding:6px 8px;list-style:none;display:flex;overflow-y:auto}.ai-conv-item{width:100%;box-shadow:none;text-align:left;color:var(--ink);background:0 0;border:none;border-radius:10px;align-items:center;gap:9px;padding:0 10px 0 0;font-size:15px;transition:background .15s;display:flex}.ai-conv-item:hover{box-shadow:none;background:0 0;transform:none}.ai-conv-item.active{background:0 0;font-weight:700}.ai-conv-item-select{min-width:0;box-shadow:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-self:stretch;gap:2px;padding:8px 0 8px 10px;transition:none;display:flex}.ai-conv-item-select:hover{box-shadow:none;background:0 0;transform:none}.ai-conv-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.ai-conv-item-recipe{color:var(--muted-weak);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ai-conv-delete-btn{opacity:0;box-shadow:none;color:var(--muted-weak);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px;transition:opacity .15s,color .15s}.ai-conv-delete-btn:hover{color:var(--danger);box-shadow:none;background:0 0;transform:none}.ai-conv-item:hover .ai-conv-delete-btn,.ai-conv-item:focus-within .ai-conv-delete-btn{opacity:1}@media (hover:none){.ai-conv-delete-btn{opacity:1}}.ai-chat-main{background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.ai-chat-header{border-bottom:1px solid var(--subtle-outline);flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex}.ai-chat-header-actions{align-items:center;gap:8px;display:flex}.ai-recipe-header-link{background:var(--bg-strong);border:1px solid var(--outline);color:var(--ink);border-radius:999px;align-items:center;gap:8px;max-width:220px;padding:5px 10px 5px 5px;text-decoration:none;transition:background .15s;display:flex;overflow:hidden}.ai-recipe-header-link:hover{background:var(--surface)}.ai-recipe-header-img{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.ai-recipe-header-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.ai-recipe-header-arrow{color:var(--muted);flex-shrink:0}.ai-recipe-pill{background:var(--surface);border:1px solid var(--outline);color:var(--muted);cursor:pointer;box-shadow:none;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:5px;max-width:180px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex;overflow:hidden}.ai-recipe-pill:hover{background:var(--bg-strong);color:var(--ink);box-shadow:none;transform:none}.ai-chat-header-title{color:var(--ink);align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:700;display:flex}.ai-chat-header-title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ai-trashed-banner{flex-shrink:0;padding:16px 28px 0}.ai-messages{flex-direction:column;flex:1;gap:20px;padding:24px 28px;display:flex;overflow-y:auto}.ai-messages-loading,.ai-message{align-items:flex-end;gap:8px;display:flex}.ai-message--user{flex-direction:row-reverse}.ai-message-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;width:32px;height:32px;margin-top:2px;display:flex}.ai-message-bubble{word-break:break-word;max-width:72%;font-size:15px;line-height:1.5}.ai-message--assistant .ai-message-bubble{background:var(--bg-strong);color:var(--ink);white-space:normal;border-radius:18px 18px 18px 4px;padding:10px 16px}.ai-message--user .ai-message-bubble{background:var(--accent);color:#fff;white-space:pre-wrap;border-radius:18px 18px 4px;padding:10px 16px}.ai-markdown{font-size:15px;line-height:1.5;display:block}.ai-markdown p{margin:0 0 5px}.ai-markdown p:last-child{margin-bottom:0}.ai-markdown strong{font-weight:700}.ai-markdown em{font-style:italic}.ai-markdown ul,.ai-markdown ol{margin:3px 0 5px;padding-left:16px}.ai-markdown li{margin-bottom:2px}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3{margin:8px 0 3px;font-size:15px;font-weight:700;line-height:1.3}.ai-markdown h1:first-child,.ai-markdown h2:first-child,.ai-markdown h3:first-child{margin-top:0}.ai-markdown code{background:#00000012;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:12px}.ai-markdown pre{background:#00000012;border-radius:8px;margin:6px 0;padding:10px;font-size:12px;overflow-x:auto}.ai-markdown pre code{background:0 0;padding:0}.ai-typing{align-items:center;gap:5px;display:inline-flex}.ai-typing span{background:var(--muted-weak);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-dot}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes typing-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.ai-input-row{flex-shrink:0;gap:8px;padding:14px 20px;display:flex}.ai-input{border-radius:22px;flex:1;padding:10px 16px;font-size:14px}.ai-send-btn{background:var(--accent);color:#fff;width:40px;height:40px;box-shadow:none;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex}.ai-send-btn:hover{background:var(--accent);box-shadow:none;opacity:.85;transform:none}.ai-send-btn--empty{cursor:not-allowed}.ai-recipe-panel{border-left:1px solid var(--outline);background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.ai-recipe-panel-header{border-bottom:1px solid var(--subtle-outline);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;font-size:13px;font-weight:700;display:flex}.ai-recipe-panel-close{box-shadow:none;color:var(--muted-weak);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px}.ai-recipe-panel-close:hover{box-shadow:none;color:var(--ink);background:0 0;transform:none}.ai-recipe-image-wrap{padding:12px 16px 0}.ai-recipe-image{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%}.ai-recipe-info{flex-direction:column;gap:6px;padding:12px 16px;display:flex}.ai-recipe-name{color:var(--ink);font-size:15px;font-weight:700}.ai-recipe-meta{flex-wrap:wrap;gap:8px;display:flex}.ai-recipe-meta span{color:var(--muted);background:var(--bg-strong);border:1px solid var(--subtle-outline);border-radius:999px;padding:2px 8px;font-size:12px}.ai-recipe-link{color:var(--accent);align-items:center;gap:4px;margin-top:4px;font-size:13px;font-weight:600;display:inline-flex}.ai-recipe-link:hover{text-decoration:underline}.ai-send-error{color:#c0392b;background:#fff1f0;border-top:1px solid #ffc5c2;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:13px;display:flex}.ai-send-error-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.ai-send-error-retry{color:#fff;box-shadow:none;cursor:pointer;background:#c0392b;border:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.ai-send-error-retry:hover{box-shadow:none;background:#a93226;transform:none}.ai-send-error-close{box-shadow:none;color:#c0392b;cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:2px}.ai-send-error-close:hover{box-shadow:none;opacity:1;background:0 0;transform:none}.ai-message-bubble{position:relative}.ai-copy-btn{opacity:0;background:var(--bg);border:1px solid var(--outline);cursor:pointer;color:var(--muted);box-shadow:none;border-radius:6px;padding:3px 5px;line-height:1;transition:opacity .15s;position:absolute;bottom:6px;right:8px}.ai-message--assistant .ai-message-bubble:hover .ai-copy-btn,.ai-message--assistant .ai-message-bubble:focus-within .ai-copy-btn{opacity:1}@media (hover:none){.ai-copy-btn{opacity:1}.ai-message--assistant .ai-message-bubble{padding-bottom:32px}}.ai-copy-btn:hover{background:var(--bg-strong);box-shadow:none;color:var(--ink);transform:none}.ai-conv-streaming-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.4s ease-in-out infinite streaming-pulse}@keyframes streaming-pulse{0%,to{opacity:.3}50%{opacity:1}}.ai-conv-delete-confirm{flex-shrink:0;align-items:center;gap:4px;display:flex}.ai-conv-delete-confirm-yes{background:var(--danger);color:#fff;box-shadow:none;cursor:pointer;border:none;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.ai-conv-delete-confirm-yes:hover{background:var(--danger);opacity:.85;box-shadow:none;transform:none}.ai-conv-delete-confirm-no{box-shadow:none;cursor:pointer;color:var(--muted-weak);background:0 0;border:none;border-radius:4px;padding:3px}.ai-conv-delete-confirm-no:hover{box-shadow:none;color:var(--ink);background:0 0;transform:none}.ai-input{resize:none;max-height:120px;line-height:1.5;overflow-y:auto}.ai-mobile-history-btn{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;display:none}.ai-mobile-history-btn:hover{background:var(--bg-strong);box-shadow:none;transform:none}.ai-mobile-drawer-overlay{z-index:100;background:#0000004d;display:none;position:fixed;inset:0}.ai-mobile-drawer{background:var(--bg);flex-direction:column;width:280px;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden;box-shadow:4px 0 20px #00000026}@media (max-width:980px){body.page-ai,body.page-ai .app-shell,body.page-ai .app-main{overflow:visible}body.page-ai .app-layout{flex-direction:column;min-height:100dvh;display:flex}.ai-screen{flex:1;grid-template-columns:1fr;height:auto;min-height:0}.ai-conv-panel{display:none}.ai-new-chat-btn--header{justify-content:center;gap:0;width:32px;height:32px;padding:8px;font-size:0;display:flex}.ai-new-chat-btn--header svg{width:16px;height:16px}.ai-mobile-history-btn{justify-content:center;align-items:center;display:flex}.ai-mobile-drawer-overlay{display:block}}
.toast-viewport{z-index:2100;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;border:1px solid var(--outline);background:var(--bg-strong);border-radius:12px;align-items:center;gap:12px;min-width:220px;max-width:min(360px,100vw - 48px);padding:12px 12px 12px 16px;animation:.16s ease-out toast-in;display:flex;box-shadow:0 12px 40px #0000002e}.toast-message{color:var(--ink);flex:1;font-size:14px;font-weight:600}.toast-close{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:4px;display:flex}.toast-close:hover{box-shadow:none;color:var(--ink);background:0 0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@media (max-width:640px){.toast-viewport{bottom:16px;left:16px;right:16px}.toast{max-width:none}}

