@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0,0";:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;font-weight:400;color:#f3fff3;--text-primary: #f3fff3;background-color:#020602;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page-background);color:var(--text-primary)}body,html{overscroll-behavior:none}#root{min-height:100vh}a{color:inherit}:root{color-scheme:dark;--bg-primary: #1a0507;--bg-panel: #230608;--bg-bubble: #2f0a0d;--bg-bubble-user: rgba(0, 0, 0, .4);--accent: #ff5b5b;--accent-dark: #821319;--text-primary: #fff5f5;--text-muted: #c8a8a9;--border-soft: rgba(255, 155, 155, .12);--shadow-strong: 0 30px 45px rgba(52, 6, 9, .65);--page-background: radial-gradient(circle at top, rgba(255, 91, 91, .35), transparent 45%), #1a0507;--surface-muted: rgba(41, 8, 11, .9);--surface-muted-border: rgba(255, 155, 155, .18);--composer-bg: rgba(22, 4, 6, .95);--overlay-bg: rgba(7, 2, 3, .72);--archive-bg: rgba(45, 9, 12, .9);--chip-bg: rgba(255, 255, 255, .08);--composer-input-bg: rgba(32, 6, 8, .75);--toggle-bg: rgba(0, 0, 0, .8);--chat-header-bg: linear-gradient(120deg, rgba(255, 94, 104, .1), rgba(167, 2, 15, .5));--chat-header-color: white}:root[data-theme=light]{color-scheme:light;--bg-primary: #fff4f3;--bg-panel: #fffafa;--bg-bubble: #f8dbda;--bg-bubble-user: #e4827d;--accent: #e43c42;--accent-dark: #821319;--text-primary: #321214;--text-muted: #875b5d;--border-soft: rgba(129, 19, 25, .16);--shadow-strong: 0 30px 45px rgba(129, 19, 25, .08);--page-background: radial-gradient(circle at top, rgba(228, 60, 66, .4), transparent 50%), #fff4f3;--surface-muted: rgba(255, 233, 233, .95);--surface-muted-border: rgba(129, 19, 25, .15);--composer-bg: rgba(255, 248, 248, .9);--overlay-bg: rgba(41, 7, 9, .3);--archive-bg: rgba(252, 205, 205, .5);--chip-bg: rgba(129, 19, 25, .08);--composer-input-bg: rgba(129, 19, 25, .05);--toggle-bg: rgba(0, 0, 0, .2);--chat-header-bg: linear-gradient(120deg, rgba(255, 94, 104, .7), rgba(167, 2, 15, .5));--chat-header-color: #130203}.icon-glyph{font-family:Material Symbols Rounded,sans-serif;font-weight:400;font-style:normal;font-size:1.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;letter-spacing:normal}.app-wrapper{min-height:100vh;background:var(--page-background);color:var(--text-primary);font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.chat-shell{width:100%;margin:0;height:100vh;display:flex;flex-direction:column;border-radius:0;box-shadow:none;overflow:hidden}.chat-header{position:sticky;top:0;z-index:5;background:var(--chat-header-bg);padding:.75rem .85rem;color:var(--chat-header-color);display:flex;transition:padding .15s ease,opacity .15s ease}.chat-header.collapsed{padding:.35rem .85rem}.header-bar{display:flex;justify-content:space-between;align-items:center;gap:.65rem;width:100%}.day-button{border:none;background:#ffffff40;color:#330507;font-weight:600;letter-spacing:.02em;padding:.3rem .8rem;border-radius:999px;cursor:pointer}.settings-button{border:none;background:#ffffff2e;color:#330507;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.day-note{margin:0;color:#4d080cb3;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.header-calories{display:flex;align-items:center;gap:.5rem}.header-summary{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.1rem}.header-summary small{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.header-calories strong{display:block;font-size:1.2rem}.header-macros{display:flex;flex-direction:row;gap:1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;overflow:hidden;transition:max-height .15s ease,opacity .15s ease;max-height:60px}.chat-header.collapsed .header-macros{max-height:0;opacity:0}.chat-body{flex:1;display:flex;flex-direction:column;gap:1rem;padding:1rem 1rem 6rem;overflow-y:auto;scrollbar-gutter:stable;scroll-behavior:smooth}.chat-empty{margin-top:1rem;padding:1.25rem;border-radius:18px;background:var(--surface-muted);border:1px dashed var(--surface-muted-border);text-align:center;color:var(--text-muted)}.intro-card{border-radius:18px;padding:1.25rem 1.5rem;background:var(--bg-bubble);color:var(--text-primary);border:1px solid var(--border-soft);box-shadow:var(--shadow-strong)}.intro-card h3{margin:0 0 .4rem;font-size:1.1rem}.intro-card p{margin:0;color:var(--text-muted)}.chat-empty p{margin-bottom:.25rem;color:var(--text-primary)}.message-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.message{display:flex;flex-direction:column;gap:.35rem}.message-user{align-items:flex-end}.message-assistant{align-items:flex-start}.bubble{max-width:85%;background:var(--bg-bubble);padding:.8rem 1rem;border-radius:18px 18px 18px 4px;font-size:.95rem;line-height:1.4;display:flex;flex-direction:column;gap:.4rem;box-shadow:inset 0 1px #ffffff0a}.message-user .bubble{background:var(--bg-bubble-user);color:inherit;border-bottom-right-radius:4px;border-bottom-left-radius:18px;align-items:flex-end}.message-setting .bubble,.message-system .bubble{border:1px dashed rgba(255,255,255,.2);color:var(--text-muted)}.bubble-image{width:100%;border-radius:14px;object-fit:cover}.message time{font-size:.75rem;color:var(--text-muted)}.message-disabled .bubble{opacity:.55}.message-user time{text-align:right}.calorie-pill{align-self:flex-start;background:#ff5b5b1f;color:var(--accent);border:1px solid rgba(255,91,91,.3);padding:.2rem .6rem;border-radius:999px;font-size:.85rem;font-weight:600}.calorie-pill.disabled{background:#8f9aae26;border-color:#8f9aae4d;color:var(--text-muted)}.nutrition-meta{display:flex;flex-direction:column;gap:.35rem}.macro-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.macro-row{display:flex;gap:.35rem;flex-wrap:wrap}.macro-pill{border-radius:999px;border:1px solid rgba(255,255,255,.15);padding:.15rem .65rem;font-size:.78rem;color:var(--text-muted);background:#ffffff0a}.nutrition-toggle{border:none;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;cursor:pointer;color:var(--text-primary);background:none}.nutrition-toggle:hover{background:#ffffff26}.hint-pill{align-self:flex-start;background:#ffffff14;border-radius:999px;padding:.15rem .65rem;font-size:.8rem;color:var(--text-muted)}.setup-hint{margin-top:auto;font-size:.9rem;color:var(--text-muted);padding-top:1rem}.image-preview{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;margin:0 1.5rem;background:var(--chip-bg);border-radius:18px}.image-preview img{width:64px;height:64px;border-radius:16px;object-fit:cover}.image-preview button{border:none;background:none;color:var(--accent);font-weight:600;cursor:pointer}.archive-hint{margin:0 1.5rem .5rem;padding:.75rem 1rem;border-radius:14px;border:1px solid var(--border-soft);background:var(--archive-bg);color:var(--text-muted);font-size:.85rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.archive-hint button{border:none;background:#42f26926;color:var(--accent);padding:.2rem .75rem;border-radius:999px;cursor:pointer;font-weight:600}.composer{position:sticky;bottom:0;z-index:5;background:var(--composer-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-soft);display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem 1rem}.icon-button{width:52px;height:52px;border-radius:50%;border:1px solid var(--border-soft);background:#ffffff0d;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;cursor:pointer;position:relative}.icon-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.icon-button.disabled{opacity:.4;cursor:not-allowed}.composer-input{flex:1;padding:.9rem 1.2rem;height:52px;border-radius:999px;border:1px solid var(--border-soft);background:var(--composer-input-bg);color:var(--text-primary);font-size:1rem;min-width:0}.composer-input:disabled{opacity:.6}.send-button{width:52px;height:52px;border-radius:50%;border:none;background:var(--accent);color:#330507;font-size:1.3rem;font-weight:600;cursor:pointer;transition:transform .15s ease}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-button:not(:disabled):hover{transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:999}.modal-panel{width:min(380px,100%);background:var(--bg-panel);border-radius:24px;padding:1.5rem;box-shadow:0 25px 55px #000000a6;display:flex;flex-direction:column;gap:1rem}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header button{border:none;background:#ffffff14;color:var(--text-primary);width:32px;height:32px;border-radius:999px;cursor:pointer;font-size:1.25rem}.history-panel{width:min(420px,100%)}.history-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.history-item{width:100%;border:1px solid var(--border-soft);border-radius:16px;background:#ffffff05;padding:.9rem 1rem;display:flex;justify-content:space-between;align-items:center;color:inherit;cursor:pointer;text-align:left;gap:.75rem}.history-item.active{border-color:#ff5b5b99;background:#ff5b5b1f}.history-item strong{display:block;font-size:1rem}.history-item span{font-size:.8rem;color:var(--text-muted)}.history-calories{font-weight:600}.settings-panel{width:min(420px,100%)}.settings-section{display:flex;flex-direction:column;gap:.5rem}.settings-section label,.settings-section span{font-size:.9rem;font-weight:600;color:var(--text-muted)}.settings-section input{border-radius:12px;border:1px solid var(--border-soft);padding:.6rem .85rem;background:var(--bg-bubble);color:var(--text-primary)}.settings-section>button{align-self:flex-start;border:none;border-radius:10px;padding:.45rem .85rem;background:#ffffff14;color:var(--text-primary);cursor:pointer}.settings-section small{color:var(--text-muted)}.option-group{display:flex;gap:.5rem;flex-wrap:wrap}.option-button{border:1px solid var(--border-soft);border-radius:999px;padding:.4rem .9rem;background:#ffffff0d;color:var(--text-primary);cursor:pointer;font-weight:600}.option-button.active{background:#ff5b5b26;border-color:#ff5b5b59;color:var(--accent)}.remember-toggle{position:relative;display:inline-flex;align-items:center;width:46px;height:26px;border-radius:999px;background:var(--toggle-bg);cursor:pointer}.remember-toggle input{position:absolute;inset:0;opacity:0;cursor:pointer}.remember-toggle span{width:22px;height:22px;border-radius:50%;background:var(--bg-panel);margin-left:2px;transition:transform .15s ease,background-color .15s ease;box-shadow:0 4px 8px #0003}.remember-toggle input:checked+span{transform:translate(18px);background:var(--accent);box-shadow:0 4px 12px #ff5b5b73}.bubble-loading{align-items:center;gap:.5rem;color:var(--text-muted)}.dot-pulse{width:32px;height:8px;position:relative;display:inline-flex;align-items:center;justify-content:space-between}.dot-pulse:before,.dot-pulse:after,.dot-pulse span{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.4;animation:pulse .9s infinite ease-in-out}.dot-pulse:before{animation-delay:-.3s}.dot-pulse:after{animation-delay:.3s}@keyframes pulse{0%,80%,to{transform:scale(.6);opacity:.3}40%{transform:scale(1);opacity:1}}
