: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}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}img,video,canvas,audio,iframe,embed,object{max-width:100%;height:auto}pre,code{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}#root{margin:0;padding:0;text-align:center;min-height:100vh;display:flex;flex-direction:column;background-image:url("data:image/svg+xml,%3csvg%20width='132'%20height='263'%20viewBox='0%200%20132%20263'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_0_7)'%3e%3cpath%20d='M131.503%20154.767C144.474%20154.767%20154.988%20144.253%20154.988%20131.282C154.988%20118.312%20144.474%20107.797%20131.503%20107.797C118.533%20107.797%20108.018%20118.312%20108.018%20131.282C108.018%20144.253%20118.533%20154.767%20131.503%20154.767Z'%20fill='%2333373E'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M131.508%2083.5326C163.04%2083.5326%20192.332%2088.0571%20214.419%2095.6607C241.03%20104.822%20257.391%20118.709%20257.391%20131.283C257.391%20144.386%20240.051%20159.139%20211.475%20168.607C189.87%20175.765%20161.44%20179.501%20131.508%20179.501C100.819%20179.501%2071.7592%20175.994%2049.9111%20168.528C22.2693%20159.08%205.62038%20144.137%205.62038%20131.283C5.62038%20118.811%2021.2422%20105.031%2047.4791%2095.884C69.6479%2088.155%2099.6636%2083.5326%20131.504%2083.5326H131.508Z'%20stroke='%2333373E'%20stroke-width='11.2354'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M89.9433%20107.545C105.696%2080.2295%20124.249%2057.1146%20141.869%2041.7803C163.1%2023.3046%20183.303%2016.0691%20194.195%2022.3501C205.547%2028.8961%20209.664%2051.2877%20203.589%2080.7721C199.002%20103.064%20188.031%20129.558%20173.078%20155.487C157.746%20182.072%20140.191%20205.494%20122.81%20220.686C100.817%20239.912%2079.5543%20246.869%2068.4196%20240.448C57.615%20234.221%2053.4832%20213.801%2058.6664%20186.502C63.0459%20163.437%2074.0364%20135.126%2089.9382%20107.544L89.9433%20107.545Z'%20stroke='%2333373E'%20stroke-width='11.2354'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M89.9729%20155.557C74.1755%20128.272%2063.42%20100.65%2058.9305%2077.7259C53.5263%2050.1057%2057.3472%2028.9879%2068.2296%2022.6886C79.5698%2016.1234%20101.025%2023.7391%20123.536%2043.7268C140.555%2058.8383%20158.032%2081.5698%20173.029%20107.475C188.404%20134.034%20199.928%20160.941%20204.411%20183.586C210.084%20212.242%20205.492%20234.138%20194.368%20240.577C183.574%20246.826%20163.822%20240.21%20142.76%20222.086C124.965%20206.773%20105.926%20183.112%2089.9729%20155.556V155.557Z'%20stroke='%2333373E'%20stroke-width='11.2354'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_0_7'%3e%3crect%20width='263'%20height='263'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right center;background-size:auto 60vh;background-attachment:fixed;width:100%}h1{font-size:3.2em;line-height:1.1}@media (max-width: 768px){h1{font-size:2.5em}}@media (max-width: 480px){h1{font-size:2em}}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}}.navbar{position:sticky;top:0;z-index:1000;background-color:#1a1a1af2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #333;padding:0;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.navbar-container{display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:1rem;position:relative}.navbar-brand{font-size:1.5rem;font-weight:700;color:#ffffffde!important;text-decoration:none;z-index:1001}.navbar-brand:hover{color:#646cff!important}.navbar-actions{display:flex;align-items:center;gap:1rem;z-index:1001}.clear-storage-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffde;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease;white-space:nowrap}.clear-storage-btn:hover{background:#ffffff26;border-color:#ffffff4d;color:#ff6b6b}.clear-storage-btn:active{transform:scale(.95)}.hamburger{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger span{width:25px;height:3px;background-color:#ffffffde;margin:3px 0;transition:.3s ease;transform-origin:center}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.navbar-menu{display:flex;align-items:center}.navbar-nav{display:flex;list-style:none;margin:0;padding:0;gap:1.5rem}.nav-link{color:#ffffffbf;text-decoration:none;padding:.5rem 0;transition:color .25s;white-space:nowrap}.nav-link:hover{color:#646cff}.nav-link.active{color:#646cff;font-weight:600}@media (max-width: 768px){.navbar-container{padding:1rem}.hamburger{display:flex}.clear-storage-btn{font-size:.75rem;padding:.4rem .8rem}.navbar-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#1a1a1a;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:5rem;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.navbar-menu.active{transform:translate(0)}.navbar-nav{flex-direction:column;gap:2rem}.nav-link{font-size:1.2rem;padding:1rem;text-align:center}}@media (max-width: 1024px) and (min-width: 769px){.navbar-container{padding:1rem 1.5rem}.navbar-nav{gap:1rem}}@media (max-width: 480px){.navbar-brand{font-size:1.3rem}.navbar-container{padding:.75rem 1rem}.clear-storage-btn{font-size:.7rem;padding:.3rem .6rem}.navbar-menu{padding-top:4rem}.nav-link{font-size:1.1rem}}@media (prefers-color-scheme: light){.navbar{background-color:#f8f9faf2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:#dee2e6;box-shadow:0 2px 10px #00000014}.navbar-brand{color:#213547!important}.hamburger span{background-color:#213547}.clear-storage-btn{background:#0d6efd1a;border-color:#0d6efd33;color:#213547}.clear-storage-btn:hover{background:#0d6efd26;border-color:#0d6efd4d;color:#dc3545}.nav-link{color:#6c757d}.nav-link.active,.nav-link:hover{color:#0d6efd}@media (max-width: 768px){.navbar-menu{background-color:#f8f9fafa;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}}}.app-footer{margin-top:4rem;border-top:1px solid rgba(255,255,255,.1);background:#ffffff05;width:100%;box-sizing:border-box}.footer-content{max-width:1280px;margin:0 auto;padding:1.5rem 1rem;text-align:center;box-sizing:border-box;width:100%}@media (min-width: 768px){.footer-content{padding:2rem}}.footer-content small{color:#888;font-size:.8rem;font-weight:400;letter-spacing:.5px;word-wrap:break-word}@media (min-width: 768px){.footer-content small{font-size:.9rem}}.btn{padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box;min-height:44px}.btn:focus{outline:2px solid rgba(66,153,225,.5);outline-offset:2px}.btn:active{transform:translateY(0)}.btn--compact{padding:.375rem .75rem;font-size:.8rem;font-weight:500;border-radius:6px;width:100px!important;min-width:100px!important;min-height:36px}.btn--primary{background-color:#007bff;color:#fff;min-width:120px}.btn--primary:hover:not(.btn--disabled){background-color:#0056b3;transform:translateY(-1px)}.btn--primary:active:not(.btn--disabled){background-color:#004085}.btn--success{background-color:#28a745;color:#fff}.btn--success:hover:not(.btn--disabled){background-color:#218838;transform:translateY(-1px)}.btn--success:active:not(.btn--disabled){background-color:#1e7e34}.btn--secondary{background-color:#6c757d;color:#fff}.btn--secondary:hover:not(.btn--disabled){background-color:#5a6268;transform:translateY(-1px)}.btn--secondary:active:not(.btn--disabled){background-color:#4e555b}.btn--danger{background-color:#dc3545;color:#fff}.btn--danger:hover:not(.btn--disabled){background-color:#c82333;transform:translateY(-1px)}.btn--danger:active:not(.btn--disabled){background-color:#bd2130}.btn--transparent{background:#ffffff1a;color:#f8f9fa;border:1px solid rgba(255,255,255,.2)}.btn--transparent:hover:not(.btn--disabled){background:#fff3;transform:translateY(-1px)}.btn--transparent:active:not(.btn--disabled){background:#ffffff26}.btn--disabled{opacity:.6;cursor:not-allowed;transform:none!important}@media (max-width: 768px){.btn{padding:.75rem 1rem;font-size:.95rem;font-weight:600;border-radius:8px;min-height:44px;width:100%;min-width:auto}.btn--compact{padding:.375rem .75rem;font-size:.8rem;width:100px!important;min-width:100px!important}}.app-content-wrapper{text-align:center;display:flex;flex-direction:column;align-items:center;width:100%;gap:1.5rem;box-sizing:border-box;padding:0 1rem}@media (min-width: 768px){.app-content-wrapper{gap:2rem;padding:0}}.react-vite{margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%}@media (min-width: 768px){.react-vite{margin-bottom:2rem}}.react-vite h1{margin-top:1rem;font-size:2rem;line-height:1.2;word-wrap:break-word}@media (min-width: 768px){.react-vite h1{font-size:3rem}}.logo-links{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;width:100%;max-width:100%}@media (min-width: 768px){.logo-links{gap:2rem;flex-wrap:nowrap}}.counter{margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%}@media (min-width: 768px){.counter{margin-bottom:2rem}}.counter .card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;max-width:400px;box-sizing:border-box}.counter p{margin:1rem 0 .5rem;text-align:center;word-wrap:break-word;max-width:100%}.counter code{background-color:#8e8e8e1a;padding:.2rem .4rem;border-radius:3px;word-wrap:break-word;overflow-wrap:break-word}.content-sections{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:2rem;width:100%;max-width:100%}@media (min-width: 768px){.content-sections{gap:2rem;margin-top:3rem}}.offer-card{display:flex;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;margin-bottom:.5rem;color:#f8f9fa;transition:all .3s ease;height:200px;width:100%;box-sizing:border-box}.offer-card:hover{background:#ffffff1f;border-color:#fff3}.offer-image-container{width:30%;position:relative;flex-shrink:0}.offer-image{width:100%;height:100%;object-fit:cover;border-radius:12px 0 0 12px}.offer-content{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.5rem;position:relative;min-width:0;overflow:hidden}.offer-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.offer-tags{display:flex;flex-wrap:wrap;gap:.375rem}.tag{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;color:#333;opacity:.9;flex-shrink:0}.user-info{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{font-weight:600;color:#f8f9fa;font-size:.875rem;white-space:nowrap}.offer-main-content{flex:1;display:flex;gap:1rem;min-height:0;overflow:hidden}.offer-text-content{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0;overflow:hidden}.offer-title{margin:0;color:#f8f9fa;font-size:1.125rem;font-weight:600;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;text-align:left}.offer-description{color:#adb5bd;line-height:1.4;margin:0;font-size:.875rem;flex:1;text-align:left;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-clamp:4;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;max-height:5.6em}.offer-footer{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;flex-shrink:0;width:120px;height:100%;position:relative}.offer-price-section{display:flex;flex-direction:row;align-items:baseline;gap:.5rem;position:absolute;top:0;right:0}.offer-price{display:flex;align-items:baseline;text-align:right}.price{font-size:1.25rem;font-weight:700;color:#3b82f6}.offer-unit{color:#adb5bd;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50px}.offer-buttons{display:flex;flex-direction:column;gap:.5rem;position:absolute;bottom:0;right:.5rem}@media (max-width: 768px){.offer-card{flex-direction:column;height:auto;min-height:200px}.offer-image-container{width:100%;height:120px;position:relative}.offer-image{border-radius:12px 12px 0 0}.offer-content{padding:1rem;gap:.75rem}.offer-header{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:.5rem}.offer-tags{flex:1;margin-right:.5rem}.user-info{flex-shrink:0;order:2}.user-avatar{width:28px;height:28px}.user-name{font-size:.8rem}.offer-main-content{flex-direction:column;gap:.75rem}.offer-title{font-size:1.1rem;line-height:1.25;margin-bottom:.25rem}.offer-description{font-size:.85rem;line-height:1.3;-webkit-line-clamp:2;line-clamp:2;max-height:2.6em;margin-bottom:.5rem}.offer-footer{flex-direction:row;align-items:center;justify-content:space-between;width:100%;height:auto;position:static;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.offer-price-section{flex-direction:column;align-items:flex-start;gap:.25rem;position:static;order:1}.offer-price{display:flex;align-items:baseline;gap:.25rem}.price{font-size:1.3rem;font-weight:700}.offer-unit{font-size:.75rem;color:#9ca3af;text-align:left;max-width:none;white-space:nowrap}.offer-buttons{flex-direction:row;gap:.5rem;position:static;order:2}.offer-buttons button{min-width:60px;height:36px;font-size:.85rem;padding:.5rem .75rem}}.offers-page .list-container ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.offers-page .list-container li{display:block}.offers-page .empty-state{text-align:center;color:#fff9;font-size:1.1rem;padding:2rem 1rem;font-style:italic}@media (max-width: 768px){.offers-page .list-container ul{gap:.75rem;display:flex;flex-direction:column}}.recipe-progress{margin-top:1.5rem;padding:1.25rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progress-info{display:flex;flex-direction:column;gap:.75rem;align-items:center}.progress-text{color:#adb5bd;font-size:.9rem;text-align:center;font-weight:500}.progress-bar{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);border-radius:3px;transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 768px){.recipe-progress{margin-top:1.25rem;padding:1rem}.progress-text{font-size:.85rem}}.suggested-recipe-container{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:left}.suggested-recipe-container p{color:#f8f9fa;font-size:1rem;line-height:1.6;margin-bottom:1.5rem;text-align:left}.suggested-recipe-container h1,.suggested-recipe-container h2,.suggested-recipe-container h3,.suggested-recipe-container h4,.suggested-recipe-container h5,.suggested-recipe-container h6{color:#f8f9fa;margin-bottom:1rem;margin-top:1.5rem;text-align:left}.suggested-recipe-container h1{font-size:1.8rem;text-align:left;border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:.75rem}.suggested-recipe-container h2{font-size:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.suggested-recipe-container h3{font-size:1.3rem}.suggested-recipe-container ul,.suggested-recipe-container ol{margin:1rem 0;padding-left:1.5rem}.suggested-recipe-container ul li,.suggested-recipe-container ol li{color:#f8f9fa;margin-bottom:.5rem;line-height:1.5}.suggested-recipe-container strong{color:#f8f9fa;font-weight:600}.suggested-recipe-container em{color:#adb5bd;font-style:italic}@media (max-width: 768px){.suggested-recipe-container{padding:1.5rem;margin:0 1rem}.suggested-recipe-container h1{font-size:1.5rem}.suggested-recipe-container h2{font-size:1.25rem}.suggested-recipe-container h3{font-size:1.1rem}}.styled-list:empty:after{content:"No ingredients added yet. Start by adding your first ingredient above!";display:block;text-align:center;color:#ffffff80;font-style:italic;padding:2rem;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:8px}.category-selector-wrapper{position:relative;display:inline-block;min-width:140px}.category-selector{border:1px solid rgba(255,255,255,.3);padding:.25rem 2rem .25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:none;flex-shrink:0;transition:all .2s ease;width:100%;display:flex;align-items:center;justify-content:space-between;position:relative;font-family:inherit;min-width:140px}.category-selector-arrow{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid white;pointer-events:none;transition:transform .2s ease}.category-selector-arrow--open{transform:translateY(-50%) rotate(180deg)}.category-selector:hover:not(:disabled){transform:translateY(-1px)}.category-selector:focus{outline:none;box-shadow:0 0 0 2px #ffffff1a}.category-selector:disabled{opacity:.5;cursor:not-allowed}.category-selector-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#2d3748;border:1px solid rgba(255,255,255,.2);border-radius:12px;box-shadow:0 8px 25px #0000004d;margin-top:.25rem;overflow:hidden;animation:dropdownSlideIn .2s ease;min-width:140px}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.category-selector-option{padding:.25rem .5rem;cursor:pointer;transition:all .2s ease;border-radius:8px;margin:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;color:#f8f9fa;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);min-height:28px}.category-selector-option:hover{background:#ffffff1a;transform:translate(2px)}.category-selector-option:focus{outline:none;box-shadow:0 0 0 2px #fff3}.category-selector-option--selected{background:#ffffff26;border-color:#ffffff4d}.category-selector-option--focused{background:#fff3;border-color:#fff6;transform:translate(2px);box-shadow:0 0 0 2px #ffffff1a}.category-selector--fruits{background:#ff638433;color:#ff6384;border-color:#ff63844d}.category-selector--fruits:hover:not(:disabled){background:#ff63844d;border-color:#ff638466}.category-selector--vegetables{background:#4bc0c033;color:#4bc0c0;border-color:#4bc0c04d}.category-selector--vegetables:hover:not(:disabled){background:#4bc0c04d;border-color:#4bc0c066}.category-selector--dairy{background:#ffce5633;color:#ffce56;border-color:#ffce564d}.category-selector--dairy:hover:not(:disabled){background:#ffce564d;border-color:#ffce5666}.category-selector--meat{background:#ff636333;color:#ff6363;border-color:#ff63634d}.category-selector--meat:hover:not(:disabled){background:#ff63634d;border-color:#ff636366}.category-selector--bakery{background:#96f3;color:#96f;border-color:#9966ff4d}.category-selector--bakery:hover:not(:disabled){background:#9966ff4d;border-color:#96f6}.category-selector--pantry{background:#28a74533;color:#28a745;border-color:#28a7454d}.category-selector--pantry:hover:not(:disabled){background:#28a7454d;border-color:#28a74566}.category-selector--beverages{background:#36a2eb33;color:#36a2eb;border-color:#36a2eb4d}.category-selector--beverages:hover:not(:disabled){background:#36a2eb4d;border-color:#36a2eb66}.category-selector--snacks{background:#ff9f4033;color:#ff9f40;border-color:#ff9f404d}.category-selector--snacks:hover:not(:disabled){background:#ff9f404d;border-color:#ff9f4066}.category-selector-option.category-selector--fruits{background:#ff638426;color:#ff6384;border-color:#ff638433}.category-selector-option.category-selector--fruits:hover,.category-selector-option.category-selector--fruits.category-selector-option--focused{background:#ff638440;border-color:#ff63844d}.category-selector-option.category-selector--vegetables{background:#4bc0c026;color:#4bc0c0;border-color:#4bc0c033}.category-selector-option.category-selector--vegetables:hover,.category-selector-option.category-selector--vegetables.category-selector-option--focused{background:#4bc0c040;border-color:#4bc0c04d}.category-selector-option.category-selector--dairy{background:#ffce5626;color:#ffce56;border-color:#ffce5633}.category-selector-option.category-selector--dairy:hover,.category-selector-option.category-selector--dairy.category-selector-option--focused{background:#ffce5640;border-color:#ffce564d}.category-selector-option.category-selector--meat{background:#ff636326;color:#ff6363;border-color:#ff636333}.category-selector-option.category-selector--meat:hover,.category-selector-option.category-selector--meat.category-selector-option--focused{background:#ff636340;border-color:#ff63634d}.category-selector-option.category-selector--bakery{background:#9966ff26;color:#96f;border-color:#96f3}.category-selector-option.category-selector--bakery:hover,.category-selector-option.category-selector--bakery.category-selector-option--focused{background:#9966ff40;border-color:#9966ff4d}.category-selector-option.category-selector--pantry{background:#28a74526;color:#28a745;border-color:#28a74533}.category-selector-option.category-selector--pantry:hover,.category-selector-option.category-selector--pantry.category-selector-option--focused{background:#28a74540;border-color:#28a7454d}.category-selector-option.category-selector--beverages{background:#36a2eb26;color:#36a2eb;border-color:#36a2eb33}.category-selector-option.category-selector--beverages:hover,.category-selector-option.category-selector--beverages.category-selector-option--focused{background:#36a2eb40;border-color:#36a2eb4d}.category-selector-option.category-selector--snacks{background:#ff9f4026;color:#ff9f40;border-color:#ff9f4033}.category-selector-option.category-selector--snacks:hover,.category-selector-option.category-selector--snacks.category-selector-option--focused{background:#ff9f4040;border-color:#ff9f404d}@media (max-width: 768px){.category-selector-wrapper{min-width:160px}.category-selector{font-size:.75rem;padding:.375rem 2rem .375rem .75rem;font-weight:600;border-radius:8px;min-height:32px;min-width:160px}.category-selector-arrow{right:.75rem;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid white}.category-selector-dropdown{border-radius:8px;box-shadow:0 6px 20px #00000040;min-width:160px}.category-selector-option{padding:.375rem .75rem;font-size:.75rem;font-weight:600;border-radius:6px;margin:.375rem;min-height:32px}}.item-quantity-counter{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.25rem}.item-quantity-counter-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#f8f9fa;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;line-height:1}.item-quantity-counter-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff4d}.item-quantity-counter-btn:active:not(:disabled){background:#ffffff26;transform:scale(.95)}.item-quantity-counter-btn:disabled{opacity:.5;cursor:not-allowed}.item-quantity-counter-display{font-weight:500;color:#f8f9fa;min-width:20px;text-align:center}@media (max-width: 768px){.item-quantity-counter{padding:.375rem .5rem;gap:.5rem;border-radius:8px}.item-quantity-counter-btn{width:32px;height:32px;font-size:1rem;font-weight:700}.item-quantity-counter-display{font-size:1rem;font-weight:600;min-width:24px}}.shopping-item{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem;color:#f8f9fa;display:flex;align-items:center;gap:.75rem;transition:all .3s ease;position:relative;text-align:left;min-height:60px}.shopping-item:hover{background:#ffffff1f;border-color:#fff3}.shopping-item--completed{opacity:.6}.shopping-item--completed .shopping-item__name{text-decoration:line-through;color:#adb5bd}.shopping-item__checkbox-container{position:relative;display:inline-block;width:20px;height:20px;flex-shrink:0}.shopping-item__checkbox{opacity:0;width:100%;height:100%;position:absolute;cursor:pointer;z-index:1}.shopping-item__checkmark{position:absolute;top:0;left:0;width:20px;height:20px;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:4px;transition:all .2s ease}.shopping-item__checkbox:checked+.shopping-item__checkmark{background:#28a745;border-color:#28a745}.shopping-item__checkbox:checked+.shopping-item__checkmark:after{content:"";position:absolute;display:block;left:5px;top:2px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.shopping-item__checkbox:focus+.shopping-item__checkmark{box-shadow:0 0 0 2px #28a74533}.shopping-item label{display:flex;align-items:center;gap:.75rem;cursor:pointer;flex:1;min-width:0}.shopping-item__content{flex:1;min-width:0;display:flex;align-items:center;gap:.75rem}.shopping-item__name{font-weight:500;color:#f8f9fa;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.shopping-item__details{display:flex;align-items:center;gap:.75rem;flex-shrink:0;font-size:.875rem;color:#adb5bd}.shopping-item__category-chip{background:#28a74533;color:#28a745;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(40,167,69,.3)}.shopping-item__edit-input{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.5rem;font-size:1rem;color:#f8f9fa;font-family:inherit;width:100%;transition:all .2s ease;flex:1;min-width:0}.shopping-item__edit-input:focus{outline:none;background:#ffffff26;border-color:#28a745}.shopping-item__edit-input::placeholder{color:#adb5bd}.shopping-item__actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.shopping-item__actions .btn{padding:.5rem .75rem;font-size:.875rem;min-height:36px;min-width:auto}@media (max-width: 768px){.shopping-item{padding:1rem;gap:1rem;flex-direction:column;align-items:stretch;min-height:auto;border-radius:12px}.shopping-item label{width:100%;gap:.75rem;margin-bottom:.75rem;align-items:flex-start}.shopping-item__checkbox-container{width:24px;height:24px;margin-top:.1rem}.shopping-item__checkmark{width:24px;height:24px}.shopping-item__checkbox:checked+.shopping-item__checkmark:after{left:7px;top:3px;width:7px;height:12px}.shopping-item__content{gap:.75rem;flex-direction:column;align-items:stretch}.shopping-item__name{font-size:1.1rem;font-weight:600;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.3;margin-bottom:.5rem;margin-top:0}.shopping-item__details{width:100%;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-shrink:0}.shopping-item__category-chip{font-size:.75rem;padding:.375rem .75rem;font-weight:600}.shopping-item__actions{justify-content:center;width:100%;gap:.75rem}.shopping-item__actions .btn{flex:1;min-width:0;padding:.75rem 1rem;font-size:.95rem;font-weight:600;border-radius:8px;min-height:44px}.shopping-item__edit-input{font-size:1.1rem;padding:.75rem;border-radius:8px}}.shopping-item-composer{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem;color:#f8f9fa;transition:all .3s ease;position:relative;text-align:left}.shopping-item-composer:hover{background:#ffffff1f;border-color:#fff3}.composer-form{display:flex;align-items:center;gap:.75rem;width:100%}.composer-content{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.composer-input{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.5rem;font-size:1rem;color:#f8f9fa;font-family:inherit;transition:all .2s ease;flex:1;min-width:200px;max-width:300px;font-weight:500;line-height:1.4}.composer-input:focus{outline:none;background:#ffffff26;border-color:#28a745}.composer-input::placeholder{color:#adb5bd}.composer-details{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#adb5bd;flex-shrink:0;min-width:200px}.composer-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0;min-width:120px}.composer-actions .btn{padding:.5rem 1.5rem;font-size:.875rem;min-height:36px;min-width:auto;flex:1}@media (max-width: 768px){.shopping-item-composer{padding:1rem;border-radius:12px}.composer-form{flex-direction:column;align-items:stretch;gap:1rem}.composer-content{width:100%;flex-direction:column;align-items:stretch;gap:1rem}.composer-input{width:100%;font-size:1.1rem;padding:.75rem;border-radius:8px;font-weight:500;min-width:unset;max-width:unset}.composer-details{width:100%;justify-content:space-between;gap:1rem;min-width:unset}.composer-actions{justify-content:center;width:100%;gap:.75rem;min-width:unset}.composer-actions .btn{flex:1;min-width:0;padding:.75rem 1rem;font-size:.95rem;font-weight:600;border-radius:8px;min-height:44px}}@media (min-width: 769px){.composer-form{flex-direction:row;align-items:center}.composer-actions{flex-shrink:0}}.list-container ul{list-style:none;padding:0;margin:0}@media (max-width: 768px){.list-container ul{gap:.75rem;display:flex;flex-direction:column}.empty-state{text-align:center;color:#fff9;font-size:1.1rem;padding:2rem 1rem;font-style:italic}}.app-content{padding:2rem 1rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:1;max-width:1280px;margin:0 auto;width:100%;box-sizing:border-box}.page-container{max-width:800px;width:100%;margin:0 auto;padding:1rem;box-sizing:border-box}.page-container--wide{max-width:1280px}.page-container--narrow{max-width:600px}.page-header{text-align:center;margin-bottom:2rem;width:100%;box-sizing:border-box}.page-header h1{font-size:2.5rem;margin:0 0 .5rem;color:#f8f9fa;line-height:1.2;word-wrap:break-word}.page-header p{font-size:1.1rem;margin:0;color:#adb5bd;line-height:1.3}.form-container{display:flex;gap:1rem;max-width:600px;margin:0 auto 2rem;padding:1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-input{flex:1;padding:.875rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:1rem;background:#ffffff1a;color:#f8f9fa;transition:all .3s ease}.form-input:focus{outline:none;border-color:#fff6;background:#ffffff26}.form-input::placeholder{color:#fff9}.grid-container{display:grid;grid-template-columns:1fr;gap:1.5rem;width:100%}.grid-container--2-col{grid-template-columns:repeat(2,1fr)}.grid-container--auto-fit{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.list-container{display:flex;flex-direction:column;gap:1rem;width:100%}.content-container{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.content-container:hover{background:#ffffff14;border-color:#fff3}.content-container--large{padding:2rem}.content-container--small{padding:1rem}.styled-list{max-width:600px;margin:0 auto;padding:0;list-style:none}.styled-list li{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem .75rem 2.5rem;margin-bottom:.5rem;color:#f8f9fa;font-size:1rem;transition:all .3s ease;position:relative;text-align:left}.styled-list li:hover{background:#ffffff1f;border-color:#fff3;transform:translate(4px)}.styled-list li:before{content:"•";color:#28a745;font-weight:700;position:absolute;left:1rem;top:.75rem}.content-section{max-width:600px;margin:0 auto 2rem;width:100%}.content-section h2{text-align:left;font-size:1.5rem;margin-bottom:1rem;color:#f8f9fa}.content-section h3{margin:0 0 .5rem;color:#f8f9fa;font-size:1.25rem}.content-section p{margin:0;color:#adb5bd;font-size:.95rem}.error-message{margin-top:1rem;padding:1rem;background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:8px;text-align:center}.error-message p{color:#f8d7da;margin:0;font-size:.95rem}.loading-message{text-align:center;color:#adb5bd;font-style:italic;margin-top:2rem}.empty-state{text-align:center;color:#ffffff80;font-style:italic;padding:2rem;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:8px}.text-center{text-align:center}.text-left{text-align:left}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;align-items:center;justify-content:center}.flex-column{display:flex;flex-direction:column}.w-full{width:100%}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s;max-width:100%}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em;max-width:100%;box-sizing:border-box}.read-the-docs{color:#888}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-in-out}@media (max-width: 480px){.logo{height:4em;padding:1em}.card{padding:1em}}@media (min-width: 640px){.page-container{padding:1.5rem}}@media (min-width: 768px){.app-content,.page-container{padding:2rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:3rem}.page-header p{font-size:1.2rem}.form-container{padding:1.5rem}.grid-container{grid-template-columns:repeat(2,1fr);gap:2rem}.styled-list li:hover{transform:translate(4px)}}@media (max-width: 768px){.page-container{padding:1rem .75rem}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:2rem}.form-container{flex-direction:column;padding:1.25rem}.styled-list li:hover{transform:none}.flex-between{flex-direction:column;gap:1rem}}@media (min-width: 1024px){.grid-container--auto-fit{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}}@media (min-width: 1280px){.grid-container--auto-fit{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2.5rem}}
