/* 暖色主题及手机对话面板；浅底红色文字加深，主按钮保持指定番茄红。 */
body{background:#FFF6EA;color:#3B2218;font-family:"Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif}
h1,h2,h3,h4,.hero h2,.page-intro h1,.little-note p,.brand{font-family:"Noto Serif SC","Songti SC","SimSun",serif!important;font-weight:700!important}
.sidebar,.topbar,.login-art{background:#FFF6EA}
.card,.community-post,.login-form-panel{background:#FFFFFF;border-color:#F3DCC4}
.hero,.community-banner,.little-note,.share-privacy-note,.share-preview,.backend-setup-note{background:#FFE9D2;border-color:#F3DCC4}
.hero:after,.little-note:after{background:#FFF6EA}
.home-query-grid{grid-template-columns:minmax(0,1fr)}
.hero h2 em,.greeting-word,.eyebrow,.tiny-label,a:hover,.text-button,.brand{color:#B52D17}
.hero h2 em:after{background:#F6C445}
.button,.auth-tabs button,.community-filter button{border-radius:999px}
.button.primary,.primary{background:#D9381E;color:#FFFFFF;border:1px solid #D9381E}
.button.primary:hover,.primary:hover{background:#B52D17;border-color:#B52D17;color:#FFFFFF}
.button.secondary,.secondary{background:#FFFFFF;color:#D9381E;border:1px solid #D9381E}
.button.secondary:hover,.secondary:hover{background:#FFFFFF;color:#A52B17;border-color:#A52B17}
.button.ghost,.ghost,.text-button{color:#B52D17}
.ghost:hover{background:#FFE9D2}
.button.orange,.orange{background:#F28C28;color:#3B2218}
.toast{background:#3B2218;color:#FFFFFF;box-shadow:0 6px 30px rgba(122,40,20,.18)}
.mobile-add{background:#D9381E;color:#FFFFFF;box-shadow:0 5px 20px rgba(122,40,20,.18)}
.button:disabled,button:disabled{opacity:1;background:#FFE9D2!important;color:#7A5A48!important;border-color:#F3DCC4!important;cursor:not-allowed}
.icon-button{color:#7A5A48}
.icon-button:hover{color:#B52D17;background:#FFE9D2}
.main-nav a.active,.auth-tabs button[aria-selected=true],.community-filter button[aria-selected=true],.chip-choice:has(input:checked),.mood-choice:has(input:checked){background:#FFE9D2;color:#3B2218;border-color:#F3DCC4}
.main-nav a,.main-nav a:hover{color:#7A5A48}
.main-nav a:hover{background:#FFE9D2}
.main-nav a.active{color:#3B2218}
.main-nav a.active .icon,.nav-dot{color:#B52D17}
.input,input:not([type=checkbox]):not([type=radio]),select,textarea{background:#FFFFFF;color:#3B2218;border-color:#F3DCC4;min-width:0;max-width:100%}
input::placeholder,textarea::placeholder{color:#7A5A48;opacity:1}
input:focus,textarea:focus,select:focus{outline:2px solid #B52D17;outline-offset:2px}
button:focus-visible,a:focus-visible{outline-color:#B52D17}
input[type=checkbox],input[type=radio]{accent-color:#D9381E}
.tag,.code-label,.count-badge,.memory-share-button,.api-status,.post-avatar,.avatar{background:#FFE9D2;color:#3B2218;border-color:#F3DCC4}
.memory-share-button:hover{background:#FFF6EA;color:#B52D17}
.community-stars,.rating-choices{color:#B52D17}
.community-stars>span{color:#7A5A48}
.rating-choices input:checked+span{color:#B52D17}
.community-empty,.share-readonly{background:#FFFFFF;border-color:#F3DCC4}
.meal-card-art,.meal-tile:nth-child(3n+2) .meal-card-art,.meal-tile:nth-child(3n) .meal-card-art{background:#FFE9D2}
.status-dot{background:#B52D17}
.auth-service-note{background:#FFE9D2;color:#7A5A48}
.auth-links{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;column-gap:24px;row-gap:8px;margin-top:12px}
.auth-links>.text-button{min-width:44px;min-height:44px;padding:6px 4px}
.form-error,.sync-error,.error-message{color:#B52D17}
.muted,.field-note,.dialog-description,.private-note,.settings-card p,.community-address,.community-comment,.community-comment.muted,.community-post-foot>span,.community-post-top>div>span,.community-dish p,.post-kicker,.community-end,.community-filter>span,.device-status,.date-label,.sync-button,.page-footer,.hero p,.community-banner p,.little-note span{color:#7A5A48}
dialog{background:#FFFFFF;color:#3B2218;border-color:#F3DCC4;box-shadow:0 16px 60px rgba(122,40,20,.18)}
dialog::backdrop{background:rgba(59,34,24,.35)}
.dialog-inner,.journal-inner{padding:28px}
.dialog-heading{gap:12px}
.dialog-heading h2{min-width:0;overflow-wrap:anywhere}
.dialog-heading .icon-button{min-width:44px;min-height:44px}
.entry-dialog{width:min(500px,calc(100% - 28px))}
.entry-choice{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #F3DCC4;border-radius:18px;background:#FFF6EA;color:#3B2218;text-align:left;width:100%;margin-top:14px;min-height:92px}
.entry-choice:hover{background:#FFE9D2;border-color:#D9381E}
.entry-choice strong{display:block;font-size:17px;margin-bottom:5px}
.entry-choice small,.entry-choice p{display:block;color:#7A5A48;line-height:1.8}
.entry-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:#FFE9D2;color:#B52D17}
.journal-dialog{width:min(700px,calc(100% - 28px));max-height:92dvh;padding:0}
.journal-inner{display:flex;flex-direction:column;gap:14px;max-height:90dvh}
.journal-inner .dialog-heading{flex:none}
.journal-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:180px;max-height:44dvh;padding:5px 3px;display:flex;flex-direction:column;gap:14px}
.chat-bubble{max-width:90%;padding:14px 17px;border-radius:19px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px}
.chat-bubble.assistant{background:#FFF6EA;color:#3B2218;align-self:flex-start;border-bottom-left-radius:5px}
.chat-bubble.user{background:#FFE9D2;color:#3B2218;align-self:flex-end;border-bottom-right-radius:5px}
.chat-thinking,.voice-status{font-size:12px;color:#7A5A48;line-height:1.9}
.journal-confirm-card{background:#FFF6EA;border:1px solid #F3DCC4;border-radius:16px;padding:17px;flex:none;overflow-wrap:anywhere}
.journal-confirm-card h3{font-size:21px;margin-bottom:8px}
.journal-confirm-card p,.journal-confirm-card small{color:#7A5A48;line-height:1.9}
.journal-confirm-card .button{margin-top:12px}
#journal-form{flex:none;margin:0}
#journal-input{width:100%;min-height:88px;max-height:180px;resize:vertical;border:1px solid #F3DCC4;border-radius:15px;padding:13px}
.journal-input-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.journal-input-actions .button{min-height:44px}
.journal-input-actions .recording{background:#FFE9D2;color:#B52D17;border-color:#B52D17}
.journal-inner .field-note{font-size:11px}
.comments-dialog{width:min(640px,calc(100% - 28px));max-height:90dvh;padding:0;overflow-y:auto}
.comment-list{display:flex;flex-direction:column;gap:14px;max-height:44dvh;overflow-y:auto;overscroll-behavior:contain;padding:3px 0}
.comment-item{padding:15px;background:#FFF6EA;border:1px solid #F3DCC4;border-radius:14px;overflow-wrap:anywhere}
.comment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7A5A48;font-size:11px;margin-bottom:8px}
.comment-head strong{color:#3B2218;font-size:13px}
.comment-item p{white-space:pre-wrap;line-height:1.9;color:#3B2218}
.comment-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}
.comment-actions button{min-height:40px}
.comment-composer{margin-top:19px}
.comment-composer textarea{display:block;width:100%;min-height:88px;resize:vertical;border:1px solid #F3DCC4;border-radius:14px;padding:13px}
.comment-composer .dialog-actions{margin-top:12px}
.post-interactions,.community-interactions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}
.post-interactions button,.community-interactions button{min-height:44px;padding:8px 15px;border-radius:999px;border:1px solid #D9381E;color:#B52D17;background:#FFFFFF}
.post-interactions button[aria-pressed=true],.community-interactions button[aria-pressed=true]{background:#FFE9D2;color:#3B2218}
.history-filter-actions{display:flex;align-items:center;gap:12px}
#custom-ai-fields{border:1px solid #F3DCC4;background:#FFF6EA;border-radius:14px;padding:16px;margin:14px 0}
#custom-ai-fields .form-field:last-child{margin-bottom:0}
.key-privacy,.key-data-note{font-size:12px;line-height:1.9;color:#7A5A48}
.key-test-row{flex-wrap:wrap}
#api-key-dialog .dialog-inner{max-width:100%}
@media(max-width:700px){
 body{font-size:15px}
 .main-nav{background:#FFF6EA}
 .button{min-height:46px}
 .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .form-field{min-width:0}
 select{width:100%;min-height:46px;appearance:auto}
 .dialog-inner,.journal-inner{padding:23px 19px}
 dialog.entry-dialog,dialog.journal-dialog,dialog.comments-dialog,dialog.recommend-dialog,dialog.share-info-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:93dvh;margin:0;border-radius:23px 23px 0 0;padding-bottom:env(safe-area-inset-bottom);overflow-y:auto}
 .journal-inner{max-height:89dvh;gap:12px}
 .journal-messages{min-height:135px;max-height:36dvh}
 .chat-bubble{max-width:94%;font-size:14px;padding:13px 15px}
 .journal-input-actions{gap:8px}
 .journal-input-actions .button{padding:10px 15px;font-size:12px}
 .journal-confirm-card{padding:14px}
 .comment-list{max-height:37dvh}
 .comment-head{align-items:flex-start;flex-wrap:wrap}
 .comment-item p{font-size:14px}
 .entry-choice{padding:17px;gap:12px}
 .entry-choice strong{font-size:17px}
 .entry-choice small{font-size:12px}
 .dialog-heading h2{font-size:22px}
 .hero-copy{max-width:82%}
 .key-test-row .button{flex:1}
 .recommend-dialog .result-columns{grid-template-columns:1fr}
}
.result-status,.result-card{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
