:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #0b0b0b;--bg-accent: #140000;--surface: #111111;--surface-muted: #1a1a1a;--surface-soft: #1c0f0f;--border: #3a0d0d;--border-strong: #5a1010;--text: #f5f5f5;--text-muted: #d1d1d1;--text-on-dark: #ffffff;--primary: #b91c1c;--primary-hover: #f00c0c;--primary-soft: #2a0b0b;--danger-soft: #3a0d0d;--danger-text: #ff4d4d;--shadow: 0 18px 40px rgba(0, 0, 0, .7)}html{background:radial-gradient(circle at top,#2a0000,#120000,#050000),var(--bg);min-height:100%}body{margin:0;min-height:100vh;color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{max-width:900px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.app{display:flex;flex-direction:column;gap:1.5rem}.app__title{margin:0;font-size:2.75rem;line-height:1.05;color:var(--text-on-dark);letter-spacing:-.03em}.app__subtitle{margin:-.5rem 0 0;color:#f3c5c5;font-size:1.05rem}.app__controls,.results-section,.suggested-meal{background:#111111f5;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app__controls{display:flex;gap:.75rem;justify-content:center;align-items:center;flex-wrap:wrap;padding:1.25rem}.app__label{font-weight:700;color:var(--text)}.app__input{width:140px;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:1rem;box-sizing:border-box;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.app__input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #b91c1c38}.app__button,.suggested-meal__action-button{border:none;border-radius:10px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 10px 22px #7f1d1d66;display:inline-flex;align-items:center;justify-content:center}.app__button{padding:.8rem 1.2rem}.app__button--generate{min-width:12rem}.app__button:hover,.suggested-meal__action-button:hover{transform:translateY(-1px);filter:brightness(1.03)}.results-section{margin-top:.5rem;padding:1.25rem}.results-section__title{margin:0 0 1rem;color:var(--text)}.results-section__list{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.results-section__item{padding:.9rem 1rem;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);line-height:1.45}.results-section__item:last-child{border-bottom:none}.results-section__item-text{display:block}.suggested-meal{margin-top:.5rem;padding:1.25rem}.suggested-meal__title{margin:0;color:var(--text)}.suggested-meal__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.suggested-meal__header-actions{display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap;width:100%}.suggested-meal__action-button--regenerate{padding:.85rem 1rem;min-width:12rem;flex:1;display:flex;align-items:center;justify-content:center}.suggested-meal__action-button--anything{padding:.85rem 1rem;min-width:12rem;flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#facc15,#f59e0b);color:#2a0000;font-weight:800;box-shadow:0 10px 24px #facc1573}.suggested-meal__action-button--anything:hover{filter:brightness(1.08);transform:translateY(-1px)}.suggested-meal__list{list-style:none;padding:0;margin:0 0 1.25rem}.suggested-meal__row{display:flex;justify-content:space-between;align-items:stretch;gap:1rem}.suggested-meal__item,.suggested-meal__add-menu-item{padding:.85rem 0;border-bottom:1px solid var(--border);min-height:4.25rem}.suggested-meal__item:last-child,.suggested-meal__add-menu-item:last-child{border-bottom:none}.suggested-meal__item-text,.suggested-meal__add-menu-text{flex:1;padding-right:1rem;line-height:1.45;color:var(--text);display:flex;flex-direction:column;justify-content:center}.suggested-meal__item-name-and-calories,.suggested-meal__add-menu-name-and-calories{color:var(--text)}.suggested-meal__item-protein,.suggested-meal__add-menu-protein{color:var(--primary-hover);font-weight:700}.suggested-meal__icon-button{width:2.15rem;height:2.15rem;border:none;border-radius:999px;font-size:1.35rem;line-height:1;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease,color .15s ease}.suggested-meal__icon-button:hover{transform:scale(1.04)}.suggested-meal__item-actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.suggested-meal__quantity-controls{display:flex}.suggested-meal__quantity-controls--stacked{flex-direction:column;gap:.35rem}.suggested-meal__quantity-button{background:var(--primary-soft);color:var(--primary-hover)}.suggested-meal__quantity-button:hover{background:#ffc403}.suggested-meal__quantity-button--increase{background:#000;color:#fff;font-weight:700}.suggested-meal__quantity-button--decrease{background:#630000;color:#fff;font-weight:700}.suggested-meal__remove-button{display:inline-flex;align-items:center;justify-content:center;background:var(--danger-soft);background:red;color:#fff}.suggested-meal__remove-button:hover{background:#ffee01;color:#000}.suggested-meal__remove-button--delete{font-weight:700}.suggested-meal__add-button{padding:.8rem 1rem;margin-bottom:1rem;width:fit-content}.suggested-meal__add-button--toggle{min-width:12rem}.suggested-meal__panel{background:var(--surface-soft);border:1px solid var(--border-strong);border-radius:14px;padding:1rem;margin-bottom:1rem;box-shadow:inset 0 1px #ffffff73}.suggested-meal__category-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.suggested-meal__search-input{margin-left:auto;margin-bottom:1rem;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border-strong);background:#0f0f0f;color:var(--text);font-size:1rem;min-width:180px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.suggested-meal__search-input::placeholder{color:var(--text-muted)}.suggested-meal__search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #b91c1c40;background:#140000}.suggested-meal__category-tab{border:1px solid red;background:#000;color:var(--text);padding:.45rem .8rem;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.suggested-meal__category-tab:hover{background:red;border-color:var(--primary);transform:translateY(-1px)}.suggested-meal__category-tab--active{background:red;color:#fff;border-color:red;box-shadow:0 6px 14px #7f1d1d59}.suggested-meal__panel-title{margin:0 0 .85rem;color:var(--text)}.suggested-meal__add-menu-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto;padding-right:.25rem}.suggested-meal__add-menu-list::-webkit-scrollbar{width:10px}.suggested-meal__add-menu-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.suggested-meal__add-menu-button{padding:.55rem .95rem;flex-shrink:0;min-width:2.5rem}.suggested-meal__add-menu-button--add{font-weight:700}.suggested-meal__totals{display:flex;flex-direction:column;gap:.4rem;padding-top:.25rem;border-top:1px solid var(--border);margin-top:.25rem;padding-top:1rem}.suggested-meal__total{margin:0;font-weight:700;color:var(--text)}.suggested-meal__total--calories{justify-content:flex-start}.suggested-meal__total--over{color:red;display:inline-flex;align-items:center;gap:.35rem}.suggested-meal__over-text{font-weight:600;color:inherit}.suggested-meal__over-text--warning{letter-spacing:-.01em}.app__footer{margin-top:.5rem;padding:.5rem 0 0}.app__footer-text{margin:0;color:#f3c5c5;font-size:.9rem;line-height:1.5;text-align:center}@media(max-width:640px){#root{padding:1.5rem 1rem 3rem}.app__title{font-size:2.2rem}.suggested-meal__row{align-items:flex-start}.suggested-meal__item-text,.suggested-meal__add-menu-text{padding-right:0}.suggested-meal__header{align-items:flex-start}.suggested-meal__item-actions{margin-top:.15rem}.app__restaurant-logo{height:clamp(18px,6vw,28px)}.suggested-meal__header-actions,.suggested-meal__action-button--regenerate,.suggested-meal__action-button--anything{width:100%}}.app__controls{display:flex;gap:.75rem;flex-direction:column}.app__restaurant-selector{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;width:100%}.app__restaurant-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:.4rem .6rem;border-radius:999px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.app__restaurant-logo{height:clamp(22px,4vw,36px);width:auto;display:block}.app__restaurant-button:hover{background:var(--primary-soft);border-color:var(--primary);transform:translateY(-1px)}.app__restaurant-button--active:hover{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;border-color:transparent}.app__restaurant-button--active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;border-color:transparent;box-shadow:0 8px 18px #7f1d1d61}
