*,body{margin:0}*{box-sizing:border-box;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app-container{background:linear-gradient(135deg,#fff5e6,#fff);display:flex;flex-direction:column;height:100vh}.app-header{background:linear-gradient(135deg,#4a5568,#2d3748);border-bottom:3px solid #ff9d5c;box-shadow:0 2px 8px #2e5ff326;padding:24px}.header-content{margin:0 auto;max-width:1200px}.header-title{align-items:center;display:flex;gap:16px}.header-icon{font-size:32px;line-height:1}.header-title h1{color:#fff;font-size:32px;font-weight:700;margin:0}.header-title p{color:#e8f0ff;font-size:14px;font-weight:500;margin:4px 0 0}.messages-container{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:24px}.messages-wrapper{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:1000px;width:100%}.message{animation:fadeIn .3s ease-in;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{justify-content:flex-end}.message-assistant{justify-content:flex-start}.message-bubble{word-wrap:break-word;border-radius:16px;font-size:15px;line-height:1.6;max-width:70%;padding:14px 18px;white-space:pre-wrap}.message-user .message-bubble{background:linear-gradient(135deg,#d97534,#e8915a);border-radius:18px 4px 18px 18px;box-shadow:0 2px 6px #ff9d5c33;color:#fff}.message-assistant .message-bubble{background-color:#fff;border:2px solid #e8f0ff;border-radius:4px 18px 18px 18px;box-shadow:0 2px 6px #2e5ff31a;color:#000}.message-assistant .message-bubble a{color:#2e5ff3;text-decoration:underline}.loading-dots{align-items:center;display:flex;gap:6px;height:20px}.loading-dots span{animation:bounce 1.4s infinite;background:linear-gradient(135deg,#ff9d5c,#ffb380);border-radius:50%;height:8px;width:8px}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.5}40%{opacity:1}}.input-container{background:linear-gradient(135deg,#4a5568,#2d3748);border-top:3px solid #ff9d5c;box-shadow:0 -2px 8px #2e5ff326;padding:24px}.input-wrapper{margin:0 auto;max-width:1000px;width:100%}.input-form{display:flex;gap:12px;margin-bottom:16px}.message-input{background-color:#fff;border:2px solid #d97534;border-radius:12px;color:#d97534;flex:1 1;font-family:inherit;font-size:15px;padding:14px 16px;transition:all .3s}.message-input::placeholder{color:#d97534}.message-input:focus{border-color:#c85e28;box-shadow:0 0 0 3px #d9753426;outline:none}.message-input:disabled{background-color:#f0f0f0;color:#ccc;cursor:not-allowed}.send-button{background:#e2e8f0;border:1px solid #cbd5e0;border-radius:12px;box-shadow:0 2px 6px #001a664d;color:#2d3748;cursor:pointer;font-size:15px;font-weight:700;padding:14px 24px;transition:all .3s}.send-button.hover{background:#cbd5e0;color:#1a202c}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{background:#f7fafc;color:#a0aec0}.download-button{background:linear-gradient(135deg,#ffd580,#ffb380);border:2px solid #2e5ff3;border-radius:12px;box-shadow:0 2px 6px #2e5ff326;color:#2e5ff3;cursor:pointer;font-size:16px;font-weight:700;padding:16px 20px;transition:all .3s;width:100%}.download-button:hover{box-shadow:0 3px 8px #2e5ff333;transform:translateY(-1px)}.download-button:active{transform:translateY(0)}@media (max-width:640px){.app-header{padding:16px}.header-title{gap:12px}.header-title h1{font-size:24px}.messages-container{padding:16px}.message-bubble{font-size:14px;max-width:85%}.input-container{padding:16px}.input-form{flex-direction:column;gap:8px}.send-button{width:100%}}.loading-container{align-items:center;display:flex;flex-direction:column;gap:12px}.loading-status{animation:pulse 2s infinite;color:#666;font-size:14px;font-style:italic;text-align:center}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.loading-animation-video{border-radius:12px;height:200px;object-fit:contain;width:200px}.plan-panel{align-self:stretch;background:#fff;border:2px solid #e8f0ff;border-radius:16px;box-shadow:0 2px 6px #2e5ff31a;margin:8px 0 4px;overflow:hidden}.plan-panel-section{padding:14px 18px}.plan-panel-section+.plan-panel-section{border-top:2px solid #e8f0ff}.plan-panel-heading{align-items:baseline;color:#2e5ff3;display:flex;font-size:14px;font-weight:700;gap:8px;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.plan-panel-hint{color:#718096;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.plan-meal-row{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:flex;font-size:15px;gap:12px;line-height:1.3;padding:8px 10px}.plan-meal-photo{background:#f5f8ff;border-radius:8px;flex-shrink:0;height:56px;object-fit:cover;width:56px}.plan-meal-photo-empty{align-items:center;display:flex;font-size:22px;justify-content:center}.plan-meal-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.plan-meal-notes{color:#4a5568;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-meal-meta{color:#718096;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.plan-meal-new{color:#2e5ff3;font-weight:700}.plan-meal-seen{color:#a0848c}.plan-meal-row:hover{background:#f5f8ff}.plan-meal-row.is-locked{background:#fff7e8;border-color:#ffd580}.plan-meal-row input[type=checkbox]{accent-color:#2e5ff3;cursor:pointer;flex-shrink:0;height:18px;width:18px}.plan-meal-lock{flex-shrink:0}.plan-meal-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.plan-button{background:#e2e8f0;border:1px solid #cbd5e0;border-radius:10px;color:#2d3748;cursor:pointer;font-size:14px;font-weight:700;padding:10px 16px;transition:all .2s}.plan-button:hover:not(:disabled){background:#cbd5e0;color:#1a202c}.plan-button-primary:not(:disabled){background:linear-gradient(135deg,#ffd580,#ffb380);border:2px solid #2e5ff3;color:#2e5ff3}.plan-button-primary:hover:not(:disabled){background:linear-gradient(135deg,#ffd580,#ffb380);box-shadow:0 3px 8px #2e5ff333;transform:translateY(-1px)}.plan-button:disabled{background:#f7fafc;border-color:#edf2f7;color:#a0aec0;cursor:default}.checklist-group+.checklist-group{margin-top:12px}.checklist-group-name{color:#4a5568;font-size:13px;font-weight:700;margin-bottom:4px}.checklist-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:15px;gap:10px;line-height:1.3;padding:5px 10px}.checklist-item:hover{background:#f5f8ff}.checklist-item input[type=checkbox]{accent-color:#2e5ff3;cursor:pointer;flex-shrink:0;height:17px;width:17px}.checklist-item input[type=checkbox]:checked+span{color:#2e5ff3;font-weight:700}.checklist-shared{color:#718096;font-size:12px}@media (max-width:600px){.plan-panel{margin:8px 0}.plan-panel-section{padding:12px 14px}.plan-panel-actions .plan-button{flex:1 1 100%}}.checklist-details>summary{cursor:pointer;list-style:none;margin:0;-webkit-user-select:none;user-select:none}.checklist-details>summary::-webkit-details-marker{display:none}.checklist-details>summary:before{color:#2e5ff3;content:"▸";display:inline-block;margin-right:6px;transition:transform .15s}.checklist-details[open]>summary:before{transform:rotate(90deg)}.checklist-details[open]>summary{margin-bottom:10px}.checklist-output{background:#f5f8ff;border:1px solid #e8f0ff;border-radius:10px;margin-top:14px;padding:12px 14px}.checklist-output-heading{align-items:center;color:#2e5ff3;display:flex;font-size:13px;font-weight:700;gap:8px;justify-content:space-between;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.checklist-clear{background:none;border:1px solid #cbd5e0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:0;padding:2px 8px;text-transform:none}.checklist-clear:hover{background:#e2e8f0}.checklist-output-list{color:#2d3748;font-family:inherit;font-size:15px;line-height:1.6;margin:0;-webkit-user-select:all;user-select:all;white-space:pre-wrap;word-break:break-word}@media (max-width:600px){.plan-meal-photo{height:44px;width:44px}.plan-meal-notes{white-space:normal}}
/*# sourceMappingURL=main.cb430fbe.css.map*/