:root{--bg-color: #f0f2f5;--container-bg-color: #ffffff;--text-color: #333;--subtitle-color: #5f6368;--primary-color: #1a73e8;--primary-hover-color: #155ab6;--kids-color: #34a853;--kids-hover-color: #1e8e3e;--seasonal-color: #c58940;--seasonal-hover-color: #ad722c;--dessert-color: #d81b60;--dessert-hover-color: #ad1457;--meal-plan-color: #6f42c1;--meal-plan-hover-color: #5a32a3;--restaurant-color: #ff6f61;--restaurant-hover-color: #e65a50;--lucky-color: #ffc107;--lucky-hover-color: #e0a800;--favorites-color: #ff5277;--favorites-hover-color: #e63961;--input-bg-color: #ffffff;--input-border-color: #ccc;--disabled-bg-color: #9e9e9e;--disabled-text-color: #fff;--divider-color: #eee;--dashed-border-color: #ccc;--error-color: #d93025;--action-button-bg: #e8e8e8;--action-button-hover-bg: #dcdcdc;--action-button-text: #333;--container-shadow: 0 8px 32px rgba(0, 0, 0, .1);--icon-color: #5f6368;--icon-hover-bg: rgba(0, 0, 0, .05);--cocktail-accent-color: #ffa726;--mocktail-accent-color: #26a69a;--chip-bg-color: #f1f3f4;--chip-text-color: #3c4043;--chip-selected-bg: #e8f0fe;--chip-selected-text: #1a73e8;--chip-selected-border: #1a73e8}html[data-theme=dark]{--bg-color: #202124;--container-bg-color: #303134;--text-color: #e8eaed;--subtitle-color: #bdc1c6;--primary-color: #8ab4f8;--primary-hover-color: #a1c2fa;--kids-color: #81c995;--kids-hover-color: #96d1a6;--seasonal-color: #e6a56f;--seasonal-hover-color: #f0b88c;--dessert-color: #f06292;--dessert-hover-color: #f48fb1;--meal-plan-color: #bb86fc;--meal-plan-hover-color: #c69cff;--restaurant-color: #f88379;--restaurant-hover-color: #fa9b93;--lucky-color: #fdd835;--lucky-hover-color: #ffeb3b;--favorites-color: #ff8fab;--favorites-hover-color: #ffab C9;--input-bg-color: #202124;--input-border-color: #5f6368;--disabled-bg-color: #5f6368;--disabled-text-color: #202124;--divider-color: #5f6368;--dashed-border-color: #5f6368;--error-color: #f28b82;--action-button-bg: #5f6368;--action-button-hover-bg: #70757a;--action-button-text: #e8eaed;--container-shadow: 0 8px 32px rgba(0, 0, 0, .3);--icon-color: #bdc1c6;--icon-hover-bg: rgba(255, 255, 255, .1);--cocktail-accent-color: #ffcc80;--mocktail-accent-color: #80cbc4;--chip-bg-color: #3c4043;--chip-text-color: #e8eaed;--chip-selected-bg: #41331c;--chip-selected-text: #8ab4f8;--chip-selected-border: #8ab4f8}html{height:100%;font-family:Montserrat,sans-serif;background-color:var(--bg-color);color:var(--text-color);transition:background-color .5s,color .5s;background-attachment:fixed}body{height:100%;margin:0;display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem;box-sizing:border-box;overflow-y:auto}#app-container{background-color:var(--container-bg-color);padding:2rem 3rem;border-radius:12px;box-shadow:var(--container-shadow);text-align:center;width:100%;max-width:600px;transition:background-color .5s,box-shadow .3s;position:relative;overflow:hidden}.app-header{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;position:relative}h1{font-size:2.5rem;color:var(--primary-color);margin:0;transition:color .5s}#theme-toggle{position:absolute;right:-2rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--icon-color);transition:background-color .3s,color .3s}#theme-toggle:hover{background-color:var(--icon-hover-bg)}#theme-toggle svg{display:none}html[data-theme=light] #theme-toggle .moon,html[data-theme=dark] #theme-toggle .sun{display:block}.input-container{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.main-inputs{display:flex;flex-basis:100%;gap:.75rem}.dietary-filters{display:flex;flex-basis:100%;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:.5rem}.filter-chip{display:inline-flex;align-items:center;padding:.4rem .8rem;background-color:var(--chip-bg-color);color:var(--chip-text-color);border:1px solid transparent;border-radius:16px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.filter-chip input[type=checkbox]{display:none}.filter-chip:hover{filter:brightness(.95)}.filter-chip:has(input:checked){background-color:var(--chip-selected-bg);color:var(--chip-selected-text);border-color:var(--chip-selected-border)}html[data-theme=dark] .filter-chip:hover{filter:brightness(1.2)}#preferences-input{flex-grow:1;width:70%}.serving-controls{flex-grow:1;width:30%;display:flex;gap:.5rem}.serving-item{display:flex;flex-direction:column;justify-content:center;flex:1}.serving-item label{font-size:.7rem;color:var(--subtitle-color);margin-bottom:.2rem;text-transform:uppercase;font-weight:700}.serving-item input[type=number]{width:100%;padding:.5rem;font-size:1rem;font-family:Montserrat,sans-serif;background-color:var(--input-bg-color);color:var(--text-color);border:1px solid var(--input-border-color);border-radius:8px;transition:all .5s;text-align:center;box-sizing:border-box}#preferences-input{padding:.75rem 1rem;font-size:1rem;font-family:Montserrat,sans-serif;background-color:var(--input-bg-color);color:var(--text-color);border:1px solid var(--input-border-color);border-radius:8px;transition:all .5s;-webkit-appearance:none;-moz-appearance:none;appearance:none}#preferences-input:focus,.serving-item input[type=number]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}#suggest-button,#kids-suggest-button,#seasonal-suggest-button,#dessert-suggest-button,#meal-plan-button,#restaurant-button,#lucky-button,#view-favorites-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-grow:1;padding:.75rem 1rem;font-size:1rem;font-weight:700;color:var(--bg-color);border:none;border-radius:8px;cursor:pointer;transition:background-color .3s,transform .2s,color .5s}#suggest-button{background-color:var(--primary-color)}#suggest-button:hover:not(:disabled){background-color:var(--primary-hover-color);transform:translateY(-2px)}#kids-suggest-button{background-color:var(--kids-color)}#kids-suggest-button:hover:not(:disabled){background-color:var(--kids-hover-color);transform:translateY(-2px)}#seasonal-suggest-button{background-color:var(--seasonal-color)}#seasonal-suggest-button:hover:not(:disabled){background-color:var(--seasonal-hover-color);transform:translateY(-2px)}#dessert-suggest-button{background-color:var(--dessert-color)}#dessert-suggest-button:hover:not(:disabled){background-color:var(--dessert-hover-color);transform:translateY(-2px)}#meal-plan-button{background-color:var(--meal-plan-color)}#meal-plan-button:hover:not(:disabled){background-color:var(--meal-plan-hover-color);transform:translateY(-2px)}#restaurant-button{background-color:var(--restaurant-color)}#restaurant-button:hover:not(:disabled){background-color:var(--restaurant-hover-color);transform:translateY(-2px)}#lucky-button{background-color:var(--lucky-color);color:#333}#lucky-button:hover:not(:disabled){background-color:var(--lucky-hover-color);transform:translateY(-2px)}#view-favorites-button{background-color:var(--favorites-color)}#view-favorites-button:hover:not(:disabled){background-color:var(--favorites-hover-color);transform:translateY(-2px)}#restaurant-uses-left{font-size:.8rem;font-weight:400;margin-left:.5rem;opacity:.9}#suggest-button:disabled,#kids-suggest-button:disabled,#seasonal-suggest-button:disabled,#dessert-suggest-button:disabled,#meal-plan-button:disabled,#restaurant-button:disabled,#lucky-button:disabled,#view-favorites-button:disabled{background-color:var(--disabled-bg-color);color:var(--disabled-text-color);cursor:not-allowed;transform:none}html{background-image:none;transition:background-image 1s ease-in-out,background-color .5s}html[data-theme=light].season-winter-1,html[data-theme=light].season-winter-2{background-image:linear-gradient(to bottom,#d4e1f1,#f0f2f5)}html[data-theme=light].season-spring-1,html[data-theme=light].season-spring-2{background-image:linear-gradient(to bottom,#e1f5d8,#c8e6c9)}html[data-theme=light].season-summer-1,html[data-theme=light].season-summer-2{background-image:linear-gradient(to bottom,#fffde7,#fff9c4)}html[data-theme=light].season-fall-1,html[data-theme=light].season-fall-2{background-image:linear-gradient(to bottom,#ffeadb,#ffe0b2)}html[data-theme=dark].season-winter-1,html[data-theme=dark].season-winter-2{background-image:linear-gradient(to bottom,#2c3e50,#202124)}html[data-theme=dark].season-spring-1,html[data-theme=dark].season-spring-2{background-image:linear-gradient(to bottom,#2e7d32,#1a3a1f)}html[data-theme=dark].season-summer-1,html[data-theme=dark].season-summer-2{background-image:linear-gradient(to bottom,#4a4023,#292414)}html[data-theme=dark].season-fall-1,html[data-theme=dark].season-fall-2{background-image:linear-gradient(to bottom,#6a341f,#3e2723)}#result-container{margin-top:2rem;padding:1.5rem;min-height:200px;border:2px dashed var(--dashed-border-color);border-radius:8px;transition:all .5s;display:flex;flex-direction:column;justify-content:center;align-items:center}#result-container.loading:after{content:"";display:block;width:40px;height:40px;border-radius:50%;border:4px solid var(--primary-color);border-top-color:transparent;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#recipe-content,#meal-plan-content,#restaurant-content,#restaurant-list-content,#favorites-list-content{text-align:left;width:100%}.image-container{width:100%;max-width:400px;margin:0 auto 1.5rem;aspect-ratio:1 / 1;background-color:var(--input-bg-color);border-radius:8px;display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;border:1px solid var(--input-border-color);transition:background-color .5s,border-color .5s}#recipe-image{width:100%;height:100%;object-fit:cover;display:none;transition:opacity .5s}.image-container.loading-image:after{content:"";display:block;width:30px;height:30px;border-radius:50%;border:3px solid var(--primary-color);border-top-color:transparent;animation:spin 1s linear infinite;position:absolute}.error-image{color:var(--subtitle-color);font-size:.9rem}#recipe-content h2,#meal-plan-content h2,#favorites-list-content h2{font-size:1.8rem;margin-top:0;margin-bottom:.5rem;color:var(--primary-color);text-align:center}.recipe-title-header{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:.5rem}.favorite-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--subtitle-color);transition:all .3s ease}.favorite-button:hover{background-color:var(--icon-hover-bg);color:var(--favorites-color)}.favorite-button svg{width:28px;height:28px;stroke:currentColor;stroke-width:1.5;fill:none}.favorite-button.favorited{color:var(--favorites-color);transform:scale(1.1)}.favorite-button.favorited svg{fill:currentColor}#meal-plan-content h2{margin-bottom:2rem}#favorites-list-content h2{color:var(--favorites-color)}#recipe-content h3{font-size:1.3rem;color:var(--text-color);border-bottom:2px solid var(--divider-color);padding-bottom:.5rem;margin-top:2rem;margin-bottom:1rem}.meal-plan-day h3{font-size:1.5rem;color:var(--primary-color);margin-top:0;margin-bottom:.5rem}.meal-plan-day h4{font-size:1.2rem;color:var(--text-color);border-bottom:1px solid var(--divider-color);padding-bottom:.5rem;margin-top:1.5rem;margin-bottom:1rem}.meal-plan-divider{border:none;border-top:1px solid var(--divider-color);margin:2rem 0}#recipe-content p,.meal-plan-day p{font-family:Lora,serif;font-style:italic;font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem;text-align:center}#recipe-content p strong{font-family:Montserrat,sans-serif;font-style:normal;text-align:left}.nutrition-container{margin:2rem 0;padding:1rem;background-color:var(--input-bg-color);border:1px solid var(--divider-color);border-radius:8px}.nutrition-container h3{text-align:center;margin-top:0;margin-bottom:1rem;padding-bottom:0;border-bottom:none;font-size:1.2rem}.nutrition-container .per-serving{font-weight:400;font-size:.9rem;color:var(--subtitle-color);margin-left:.5rem}.nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}.nutrition-item{display:flex;flex-direction:column;align-items:center;justify-content:center}.nutrition-item .value{display:block;font-size:1.3rem;font-weight:700;color:var(--primary-color)}.nutrition-item .percentage{display:block;font-size:.8rem;font-weight:600;color:var(--subtitle-color);margin-bottom:.2rem}.nutrition-item .label{display:block;font-size:.7rem;text-transform:uppercase;color:var(--subtitle-color);white-space:nowrap;letter-spacing:.5px}.appliance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem;margin-bottom:2rem}.appliance-card{background-color:var(--input-bg-color);border:1px solid var(--divider-color);border-radius:8px;padding:1rem;text-align:center;transition:all .3s}.appliance-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 15%,transparent)}.appliance-icon{width:40px;height:40px;margin:0 auto .75rem;color:var(--primary-color)}.appliance-card h4{margin:0 0 .5rem;font-size:1.1rem;color:var(--primary-color)}.appliance-card p{font-family:Montserrat,sans-serif;font-style:normal;font-size:.9rem;line-height:1.5;margin:0;text-align:center}.appliance-card .appliance-notes{font-size:.85rem;font-style:italic;color:var(--subtitle-color);margin-top:.75rem;line-height:1.4}.ingredient-list{list-style-type:none;padding-left:0}.ingredient-item{padding:.5rem 0;font-size:1rem;line-height:1.8}.ingredient-item label{display:flex;align-items:center;cursor:pointer;gap:.75rem}.ingredient-item input[type=checkbox]{width:1.2em;height:1.2em;flex-shrink:0}.ingredient-item span{transition:color .3s}.ingredient-item.checked span{text-decoration:line-through;color:var(--subtitle-color)}#recipe-content ol,.meal-plan-day ol,.drink-card ul,.meal-plan-day ul{padding-left:20px;font-size:1rem;line-height:1.8}.drink-pairings{margin-top:2.5rem}.drink-pairings h3{text-align:center}.pairings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.drink-card{background-color:var(--input-bg-color);border:1px solid var(--divider-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column}.drink-card.cocktail{border-left:5px solid var(--cocktail-accent-color)}.drink-card.mocktail{border-left:5px solid var(--mocktail-accent-color)}.drink-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.drink-icon{width:28px;height:28px}.cocktail .drink-icon{color:var(--cocktail-accent-color)}.mocktail .drink-icon{color:var(--mocktail-accent-color)}.drink-card h4{margin:0;font-size:1rem;color:var(--subtitle-color);text-transform:uppercase;letter-spacing:.5px}.drink-card h5{font-size:1.2rem;margin:0 0 1rem;color:var(--text-color)}.drink-card ul{font-size:.9rem;line-height:1.6;padding-left:18px;margin-top:0;margin-bottom:1rem;flex-grow:1}.drink-card .instructions{font-family:Montserrat,sans-serif;font-style:normal;text-align:left;font-size:.9rem;line-height:1.6;margin-bottom:0}#restaurant-list-content h2,#restaurant-content h2{font-size:1.8rem;margin-top:0;margin-bottom:1.5rem;color:var(--restaurant-color);text-align:center}.restaurant-card{border:1px solid var(--divider-color);border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;background-color:var(--input-bg-color);transition:box-shadow .3s,border-color .3s}.restaurant-card:hover{border-color:var(--restaurant-color);box-shadow:0 4px 12px color-mix(in srgb,var(--restaurant-color) 15%,transparent)}.restaurant-card h3{margin-top:0;margin-bottom:.25rem;font-size:1.25rem;color:var(--text-color)}#restaurant-list-content .cuisine-type,#restaurant-content .cuisine-type{font-family:Lora,serif;font-style:italic;font-size:1rem;color:var(--subtitle-color);margin-top:0;margin-bottom:1rem}#restaurant-list-content p,#restaurant-content p{font-size:1rem;line-height:1.6;margin-bottom:.5rem;text-align:left}.restaurant-card .address{font-size:.9rem;font-weight:700;margin-top:1rem;margin-bottom:0}.sources-container{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--divider-color)}.sources-container h4{margin-top:0;margin-bottom:1rem;font-size:1.1rem;text-align:center}.sources-container ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;text-align:center}.sources-container a{color:var(--primary-color);text-decoration:none;font-size:.9rem}.sources-container a:hover{text-decoration:underline}.favorites-list{list-style:none;padding:0;margin:0;width:100%}.favorite-item{padding:1rem 1.5rem;border:1px solid var(--divider-color);background-color:var(--input-bg-color);border-radius:8px;margin-bottom:1rem;cursor:pointer;transition:all .3s;font-weight:700;text-align:left}.favorite-item:hover{border-color:var(--favorites-color);box-shadow:0 4px 12px color-mix(in srgb,var(--favorites-color) 15%,transparent);transform:translate(5px)}.recipe-actions{margin-top:2rem;display:flex;gap:1rem;justify-content:center;width:100%;flex-wrap:wrap}.action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--action-button-bg);color:var(--action-button-text);border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:700;font-size:.9rem;transition:background-color .3s,transform .2s}.action-button:hover{background-color:var(--action-button-hover-bg);transform:translateY(-2px)}#try-another-button,#try-another-plan-button{background-color:var(--meal-plan-color);color:var(--bg-color);font-size:1rem}#try-another-button:hover,#try-another-plan-button:hover{background-color:var(--meal-plan-hover-color)}.error{color:var(--error-color);font-weight:700}@media print{body{padding:0;background-color:#fff}#app-container{box-shadow:none;padding:0;border-radius:0}.input-container,.app-header,.recipe-actions,.image-container,.nutrition-container,.favorite-button{display:none}#result-container{border:none;padding:0;min-height:0}#recipe-content h2,#recipe-content h3,#meal-plan-content h2,.meal-plan-day h3,.meal-plan-day h4{color:#000}.meal-plan-divider{border-top:1px solid #ccc}}@media(max-width:768px){body{padding:1rem .5rem}#app-container{padding:1.5rem;margin:.5rem}h1{font-size:1.8rem}#theme-toggle{right:-1rem}.input-container{flex-direction:row}#preferences-input{flex-basis:100%;width:100%;box-sizing:border-box}.serving-controls{width:100%;flex-basis:100%;margin-top:.5rem}.main-inputs{flex-wrap:wrap}.recipe-actions{flex-direction:column}}@media(max-width:640px){.pairings-grid{grid-template-columns:1fr}}@media(max-width:480px){.nutrition-grid{grid-template-columns:repeat(2,1fr)}}
