: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}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.dialog-box{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:400px;width:100%;overflow:hidden;animation:dialogSlideIn .2s ease-out}@keyframes dialogSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-content{padding:24px;text-align:center}.dialog-icon{font-size:48px;margin-bottom:16px}.dialog-message{font-size:16px;line-height:1.5;color:#333;word-wrap:break-word;white-space:pre-wrap}.dialog-success .dialog-message{color:#2d5016}.dialog-error .dialog-message{color:#c41e3a}.dialog-buttons{display:flex;gap:12px;padding:0 24px 24px;justify-content:center}.dialog-btn{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.dialog-btn-ok{background:#4a90e2;color:#fff}.dialog-btn-ok:hover{background:#357abd}.dialog-btn-confirm{background:#4a90e2;color:#fff}.dialog-btn-confirm:hover{background:#357abd}.dialog-btn-cancel{background:#e0e0e0;color:#333}.dialog-btn-cancel:hover{background:#d0d0d0}.dialog-btn:active{transform:scale(.98)}@media (max-width: 768px){.dialog-box{max-width:90%}.dialog-content{padding:20px}.dialog-icon{font-size:40px;margin-bottom:12px}.dialog-message{font-size:15px}.dialog-buttons{padding:0 20px 20px}.dialog-btn{padding:10px 20px;font-size:15px}}.feed{--feed-bg: #0c0b0f;--feed-surface: rgba(255, 255, 255, .1);--feed-surface-strong: rgba(20, 18, 24, .62);--feed-border: rgba(255, 255, 255, .16);--feed-text: #ffffff;--feed-muted: rgba(255, 255, 255, .72);--feed-accent: #ff5a3c;--feed-accent-2: #ffb02e;--feed-accent-grad: linear-gradient(135deg, #ff5a3c 0%, #ffb02e 100%);--feed-fav: #ff3b6b;position:relative;height:100dvh;height:100vh;width:100%;background:var(--feed-bg);color:var(--feed-text);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.feed-topbar{position:absolute;top:0;left:0;right:0;z-index:30;padding:calc(env(safe-area-inset-top,0px) + 12px) 12px 10px;background:linear-gradient(180deg,#0000008c,#0000);pointer-events:none}.feed-topbar>*{pointer-events:auto}.feed-topbar__row{display:flex;align-items:center;gap:10px}.feed-streak{display:flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;background:var(--feed-surface-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--feed-border);font-weight:800;font-size:15px;line-height:1}.feed-streak__flame{filter:drop-shadow(0 0 6px rgba(255,145,0,.7))}.feed-streak__count{font-variant-numeric:tabular-nums}.feed-lenses{display:flex;gap:4px;margin:0 auto;padding:4px;border-radius:999px;background:var(--feed-surface-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--feed-border)}.feed-lens{border:none;background:transparent;color:var(--feed-muted);font-size:14px;font-weight:700;padding:7px 16px;border-radius:999px;cursor:pointer;transition:color .2s ease,background .2s ease}.feed-lens--active{color:#1a1014;background:var(--feed-accent-grad);box-shadow:0 4px 14px #ff5a3c73}.feed-grid-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--feed-border);background:var(--feed-surface-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--feed-text);cursor:pointer;flex-shrink:0;transition:transform .15s ease}.feed-grid-toggle:active{transform:scale(.92)}.feed-categories{display:flex;gap:8px;margin-top:12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.feed-categories::-webkit-scrollbar{display:none}.feed-cat{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0;padding:7px 13px;border-radius:999px;border:1px solid var(--feed-border);background:#00000052;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--feed-text);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.feed-cat:active{transform:scale(.95)}.feed-cat--active{background:#ffffffeb;color:#18141a;border-color:transparent}.feed-scroller{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.feed-scroller::-webkit-scrollbar{display:none}.feed-slot{height:100dvh;height:100vh;scroll-snap-align:start;scroll-snap-stop:always}.feed-slide{position:relative;height:100%;width:100%;overflow:hidden}.feed-slide__media{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;cursor:pointer}.feed-slide__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000059,#0000 22%),linear-gradient(0deg,#000000db,#00000080 28%,#0000 58%)}.feed-slide__chip{position:absolute;top:calc(env(safe-area-inset-top,0px) + 104px);left:16px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--feed-border);font-size:12px;font-weight:700;letter-spacing:.2px}.feed-slide__burst{position:absolute;top:50%;left:50%;font-size:120px;transform:translate(-50%,-50%) scale(0);filter:drop-shadow(0 8px 24px rgba(255,59,107,.6));animation:feed-burst .7s cubic-bezier(.2,.9,.3,1.2) forwards;pointer-events:none}@keyframes feed-burst{0%{transform:translate(-50%,-50%) scale(0);opacity:0}25%{transform:translate(-50%,-50%) scale(1.15);opacity:1}55%{transform:translate(-50%,-50%) scale(.95);opacity:1}to{transform:translate(-50%,-54%) scale(1.1);opacity:0}}.feed-slide__info{position:absolute;left:16px;right:84px;bottom:calc(env(safe-area-inset-bottom,0px) + 28px);z-index:5;cursor:pointer}.feed-slide__title{font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.4px;margin:0 0 6px;text-shadow:0 2px 14px rgba(0,0,0,.55);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feed-slide__author{font-size:14px;font-weight:600;color:var(--feed-accent-2);margin:0 0 8px}.feed-slide__desc{font-size:14px;line-height:1.45;color:var(--feed-muted);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feed-slide__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.feed-slide__meta span{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:999px;background:#ffffff24;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:12.5px;font-weight:600}.feed-slide__cta{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:999px;background:var(--feed-accent-grad);color:#1a1014;font-weight:800;font-size:14.5px;box-shadow:0 8px 22px #ff5a3c66}.feed-slot--active .feed-slide__title,.feed-slot--active .feed-slide__author,.feed-slot--active .feed-slide__desc,.feed-slot--active .feed-slide__meta,.feed-slot--active .feed-slide__cta{animation:feed-rise .5s cubic-bezier(.2,.7,.2,1) both}.feed-slot--active .feed-slide__author{animation-delay:.04s}.feed-slot--active .feed-slide__desc{animation-delay:.08s}.feed-slot--active .feed-slide__meta{animation-delay:.12s}.feed-slot--active .feed-slide__cta{animation-delay:.16s}@keyframes feed-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.action-rail{position:absolute;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 28px);z-index:10;display:flex;flex-direction:column;gap:16px;align-items:center}.rail-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;color:var(--feed-text)}.rail-btn__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;font-size:24px;border-radius:50%;background:var(--feed-surface-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--feed-border);transition:transform .18s cubic-bezier(.2,.9,.3,1.4),background .2s ease}.rail-btn:active .rail-btn__icon{transform:scale(.85)}.rail-btn__count{font-size:12px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.6);font-variant-numeric:tabular-nums}.rail-btn--active.rail-btn--fav .rail-btn__icon{background:#ff3b6b38;border-color:#ff3b6b99;animation:rail-pop .4s cubic-bezier(.2,.9,.3,1.5)}.rail-btn--active.rail-btn--useful .rail-btn__icon{background:#ffb02e38;border-color:#ffb02e99}@keyframes rail-pop{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}.feed-state{height:100dvh;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;scroll-snap-align:start;color:var(--feed-muted);text-align:center;padding:0 32px}.feed-state__icon{font-size:46px}.feed-state p{font-size:15px;font-weight:600}.feed-state--end .feed-state__icon{filter:drop-shadow(0 0 12px rgba(255,176,46,.5))}.feed-state__spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:var(--feed-accent);animation:feed-spin .8s linear infinite}@keyframes feed-spin{to{transform:rotate(360deg)}}.feed-discovered{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);transform:translate(-50%);z-index:20;padding:6px 14px;border-radius:999px;background:var(--feed-surface-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--feed-border);font-size:12px;font-weight:600;color:var(--feed-muted);white-space:nowrap;pointer-events:none}.feed-discovered strong{color:var(--feed-text)}@media (min-width: 1024px){.feed{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,rgba(255,90,60,.18),transparent 40%),radial-gradient(circle at 70% 80%,rgba(255,176,46,.16),transparent 42%),#0c0b0f}.feed-topbar{width:440px;left:50%;transform:translate(-50%);border-radius:28px 28px 0 0;overflow:hidden}.feed-scroller{width:440px;height:min(92vh,880px);border-radius:28px;box-shadow:0 30px 80px #0009}.feed-slot,.feed-state{height:min(92vh,880px)}.feed-discovered{bottom:calc((100vh - min(92vh,880px))/2 + 14px)}}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;min-height:100vh;color:#333;overflow-x:hidden;width:100%;max-width:100vw}.onboarding-banner-mobile,.onboarding-banner-desktop{display:flex;align-items:center;justify-content:space-between;background:#fff8e1;border:1px solid #ffe082;border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:14px;gap:8px}.onboarding-link{background:none;border:none;color:#e67e22;font-weight:600;cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.onboarding-close{background:none;border:none;font-size:20px;cursor:pointer;color:#aaa;line-height:1;flex-shrink:0;padding:0 2px}body.no-scroll{position:fixed;left:0;right:0;overflow:hidden;touch-action:none}.close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:50%;cursor:pointer;transition:all .3s ease;flex-shrink:0;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014}.close-btn:before{content:"×";font-size:24px;line-height:1;color:#333;font-weight:400;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#fff;box-shadow:0 4px 16px #0000002e,0 2px 6px #0000001f;transform:scale(1.1)}.close-btn:hover:before{color:#e74c3c;font-weight:500}.close-btn:active{transform:scale(.95)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;flex-shrink:0;background:#fff;position:sticky;top:0;z-index:10;transition:transform .3s ease-in-out,opacity .3s ease-in-out,height .3s ease-in-out,padding .3s ease-in-out}.modal-header-actions{display:flex;align-items:center;gap:8px;position:relative}.modal-header.header-hidden{transform:translateY(-100%);opacity:0;height:0;padding:0;border:none;overflow:hidden;pointer-events:none}.modal-header-content{display:flex;flex-direction:row;align-items:center;gap:12px;flex:1;min-width:0}.modal-header-content .modal-type-badge{flex-shrink:0}.modal-header-content h2{margin:0;font-size:18px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-header h2,.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333;line-height:32px}#root{width:100%;max-width:100vw;margin:0;padding:0}.app{width:100%;min-height:100vh}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#666}.loading-icon{font-size:3rem;margin-bottom:1rem}.header{background:#fff;border-bottom:1px solid #e0e0e0;padding:12px 20px;display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:100;width:100%;max-width:100vw}.logo{font-size:1.5rem;font-weight:700;color:#ff6b35;display:flex;align-items:center;gap:8px}.search-box{flex:1;max-width:400px;position:relative}.search-box input{width:100%;padding:10px 40px 10px 16px;border:2px solid #e0e0e0;border-radius:25px;font-size:.95rem;outline:none;transition:border-color .2s;background:#fff;color:#333}.search-box input:focus{border-color:#ff6b35}.search-box:after{content:"🔍";position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:1rem}.recipe-counter{background:#ff6b35;color:#fff;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem}.add-recipe-btn{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:20px;cursor:pointer;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:6px;transition:background .2s}.add-recipe-btn:hover{background:#43a047}.menu-btn{display:none;width:40px;height:40px;background:#f5f5f5;border:none;border-radius:8px;font-size:1.3rem;cursor:pointer;flex-shrink:0}.menu-btn:hover{background:#e8e8e8}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:140;touch-action:none;overscroll-behavior:contain}.sidebar-overlay.show{display:block}.main-container{display:flex;min-height:calc(100vh - 60px);width:100%;max-width:100vw;overflow-x:hidden}.content-wrapper{flex:1;min-width:0;max-width:100%;overflow-x:hidden}.sidebar{display:none}.sidebar.open{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:150;width:90%;max-width:450px;max-height:85vh;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:20px}.sidebar-header{position:relative;padding:12px 56px 12px 16px;border-bottom:1px solid #e8e8e8;background:#fff;flex-shrink:0}.sidebar-title{font-size:18px;font-weight:600;color:#333;line-height:1.3}.sidebar-subtitle{font-size:13px;font-weight:400;color:#888;line-height:1.4}.sidebar-close{position:sticky;top:10px;right:8px;float:right;z-index:10}.category-section{border-bottom:1px solid #e8e8e8}.category-header{display:flex;align-items:center;padding:14px 16px;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.category-header:hover{background:#f8f8f8}.category-icon{font-size:1.3rem;margin-right:12px;width:30px;text-align:center}.category-info{flex:1}.category-name{font-weight:600;color:#333;font-size:.95rem}.category-count{font-size:.8rem;color:#888;margin-top:2px}.category-count .selected{color:#ff6b35;font-weight:600}.category-chevron{font-size:1rem;color:#999;transition:transform .2s}.category-section.open .category-chevron{transform:rotate(180deg)}.category-items{display:none;padding:8px 16px 16px;background:#fafafa}.category-section.open .category-items{display:block}.ingredient-grid{display:flex;flex-wrap:wrap;gap:8px}.ingredient-chip{padding:6px 14px;background:#fff;border:1px solid #ddd;border-radius:20px;cursor:pointer;font-size:.85rem;color:#555;transition:all .2s}.ingredient-chip:hover{border-color:#ff6b35;color:#ff6b35}.ingredient-chip.selected{background:#ff6b35;border-color:#ff6b35;color:#fff}.custom-ingredient-box{padding:16px;border-bottom:1px solid #e8e8e8}.custom-input-row{display:flex;gap:8px}.custom-input{flex:1;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;outline:none;background:#fff;color:#333}.custom-input:focus{border-color:#ff6b35}.add-btn{padding:10px 16px;background:#ff6b35;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background .2s}.add-btn:hover{background:#e55a2b}.ai-suggest-btn{display:none}.clear-filters-btn{width:100%;margin-top:8px;padding:10px;background:#fff;color:#e74c3c;border:2px solid #e74c3c;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}.clear-filters-btn:hover{background:#e74c3c;color:#fff;transform:translateY(-1px)}.clear-filters-btn:active{transform:translateY(0)}.sidebar-search-sticky{position:sticky;top:0;z-index:11;background:#fff;border-bottom:1px solid #e8e8e8;padding:12px 16px;flex-shrink:0}.sidebar-selected-sticky{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e8e8e8;padding:12px 16px;flex-shrink:0}.sidebar-selected-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.sidebar-clear-all-btn{background:transparent;border:none;color:#ff6b35;font-size:.75rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;text-transform:none;letter-spacing:normal}.sidebar-clear-all-btn:hover{background:#fff0eb}.sidebar-selected-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:80px;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar-selected-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#fff0eb;color:#ff6b35;border:1px solid #ff6b35;border-radius:16px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.sidebar-selected-chip:hover{background:#ffe5db;transform:translateY(-1px)}.sidebar-selected-chip .chip-remove{font-size:16px;font-weight:700;line-height:1;color:#ff6b35}.sidebar-scrollable-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;padding-bottom:16px}.custom-input-full{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;outline:none;background:#fff;color:#333}.custom-input-full:focus{border-color:#ff6b35}.sidebar-bottom-cta{position:sticky;bottom:0;z-index:10;background:#fff;border-top:1px solid #e8e8e8;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));flex-shrink:0}.sidebar-apply-btn{width:100%;padding:14px 20px;background:#ff6b35;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #ff6b354d}.sidebar-apply-btn:hover{background:#e55a2b;transform:translateY(-1px);box-shadow:0 4px 12px #ff6b3566}.sidebar-apply-btn:active{transform:translateY(0);box-shadow:0 2px 8px #ff6b354d}.category-header.has-selected{background:#fff8f5;border-left:3px solid #ff6b35}.category-header.has-selected .category-name{font-weight:600;color:#333}.category-header.has-selected .category-count .selected{color:#ff6b35;font-weight:700}.ingredient-chip.selected{background:#fff0eb;border-color:#ff6b35;color:#ff6b35;font-weight:500;box-shadow:0 1px 3px #ff6b3533}.ingredient-chip .chip-check{font-size:12px;font-weight:700;margin-right:2px}.content-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:20px;cursor:pointer;font-size:.85rem;color:#666;transition:all .2s;display:flex;align-items:center;gap:6px}.tab:hover{border-color:#ff6b35;color:#ff6b35}.tab.active{background:#ff6b35;border-color:#ff6b35;color:#fff}.tab-icon{font-size:1rem}.match-filter{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#f5f5f5;border-radius:20px;font-size:.85rem}.match-slider-container{display:flex;align-items:center;gap:8px;margin-left:8px}.match-slider{width:100px;height:4px;-webkit-appearance:none;background:#ddd;border-radius:2px;outline:none}.match-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#ff6b35;border-radius:50%;cursor:pointer}.match-slider::-moz-range-thumb{width:16px;height:16px;background:#ff6b35;border-radius:50%;cursor:pointer;border:none}.match-value{font-weight:600;color:#ff6b35;min-width:40px}.content{padding:20px;overflow-y:auto;overflow-x:hidden;width:100%;max-width:100%}.content-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.content-title h2{font-size:1.2rem;font-weight:600;color:#333}.result-count{color:#666;font-size:.9rem;font-weight:600;margin-right:8px}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.recipe-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s;cursor:pointer;display:flex;flex-direction:column;height:100%}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.recipe-image{width:100%;height:160px;background:linear-gradient(135deg,#ff9a56,#ff6b6b);display:flex;align-items:center;justify-content:center;font-size:3.5rem;position:relative}.recipe-icon{font-size:4rem}.recipe-type-badge{position:absolute;top:10px;left:10px;background:#fff;color:#333;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.recipe-type-badge[data-type=main]{color:#2563eb}.recipe-type-badge[data-type=soup]{color:#b91c1c}.recipe-type-badge[data-type=starter]{color:#0e7490}.recipe-type-badge[data-type=snack]{color:#a16207}.recipe-type-badge[data-type=dessert]{color:#5b21b6}.recipe-type-badge[data-type=breakfast]{color:#db2777}.recipe-type-badge[data-type=salad]{color:#4d7c0f}.recipe-match{position:absolute;bottom:10px;right:10px;background:#0009;color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.recipe-info{padding:16px;display:flex;flex-direction:column;flex:1}.recipe-title{font-size:1.1rem;font-weight:600;color:#222;margin-bottom:6px;line-height:1.3}.recipe-author{font-size:.8rem;color:#ff6b35;margin-bottom:8px;font-weight:500;font-style:italic;opacity:.9}.recipe-source{font-size:.8rem;color:#888;margin-bottom:10px}.recipe-description{font-size:.9rem;color:#666;margin-bottom:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.recipe-meta{display:flex;gap:12px;margin-top:auto;padding-top:10px;border-top:1px solid #eee;font-size:.8rem;color:#888}.recipe-meta span{display:flex;align-items:center;gap:4px}.no-recipes{text-align:center;padding:60px 20px;color:#666}.no-recipes-icon{font-size:4rem;margin-bottom:1rem}.modal-overlay{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;align-items:center;justify-content:center;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:700px;width:100%;max-height:85vh;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch;touch-action:pan-y;display:flex;flex-direction:column}.modal-close{position:sticky;top:16px;right:16px;z-index:10;float:right;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.modal-close:before{color:#fff}.modal-edit-btn{position:absolute;top:260px;right:16px;padding:8px;width:36px;height:36px;background:transparent;color:#4caf50;border:none;border-radius:50%;cursor:pointer;font-size:1.3rem;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s}.modal-edit-btn:hover{background:#4caf5026;color:#2e7d32;transform:scale(1.15)}.modal-ai-enhance-btn{position:absolute;top:260px;right:60px;padding:8px;width:36px;height:36px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1.1rem;display:none;align-items:center;justify-content:center;z-index:10;transition:all .2s;box-shadow:0 2px 8px #00000026}.modal-ai-enhance-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px #667eea66}.modal-ai-enhance-btn:disabled{opacity:.6;cursor:not-allowed}.modal-delete-btn{position:absolute;top:260px;right:60px;padding:8px;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:#f44336;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s}.modal-delete-btn:hover:not(:disabled){background:#f4433626;color:#c62828;transform:scale(1.15)}.modal-delete-btn:disabled{opacity:.6;cursor:not-allowed}.modal-actions-menu{position:relative;z-index:20}.modal-share-btn{width:32px;height:32px;padding:0;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:50%;cursor:pointer;color:#333;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014;flex-shrink:0}.modal-share-btn:hover{background:#fff;box-shadow:0 4px 16px #0000002e,0 2px 6px #0000001f;transform:scale(1.1)}.modal-overflow-btn{width:32px;height:32px;padding:0;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:50%;cursor:pointer;font-size:1.5rem;font-weight:400;color:#333;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014;flex-shrink:0}.modal-overflow-btn:hover{background:#fff;box-shadow:0 4px 16px #0000002e,0 2px 6px #0000001f;transform:scale(1.1);color:#111;font-weight:500}.modal-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.modal-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:180px;overflow:hidden;z-index:100;animation:menuFadeIn .2s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-menu-item{width:100%;padding:12px 16px;background:#fff;border:none;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:.95rem;color:#333;transition:all .2s;text-align:left}.modal-menu-item:hover:not(:disabled){background:#f5f5f5}.modal-menu-item:disabled{opacity:.5;cursor:not-allowed}.modal-menu-item-danger{color:#f44336}.modal-menu-item-danger:hover:not(:disabled){background:#ffebee}.modal-menu-icon{font-size:1.2rem;width:24px;display:flex;align-items:center;justify-content:center}.recipe-details-header{position:relative}.modal-image{width:100%;height:250px;background:linear-gradient(135deg,#ff9a56,#ff6b6b);display:flex;align-items:center;justify-content:center;font-size:5rem;border-radius:0;position:relative}.modal-image .modal-type-badge{position:absolute;top:10px;left:10px;background:#fff;color:#333;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.modal-image .modal-type-badge[data-type=main]{color:#2563eb}.modal-image .modal-type-badge[data-type=soup]{color:#b91c1c}.modal-image .modal-type-badge[data-type=starter]{color:#0e7490}.modal-image .modal-type-badge[data-type=snack]{color:#a16207}.modal-image .modal-type-badge[data-type=dessert]{color:#5b21b6}.modal-image .modal-type-badge[data-type=breakfast]{color:#db2777}.modal-image .modal-type-badge[data-type=salad]{color:#4d7c0f}.modal-icon{font-size:5rem}.contribute-image-btn{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#0000008c;color:#fff;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s}.contribute-image-btn:hover{background:#000000bf}.crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.crop-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;overflow:hidden}.crop-modal-title{margin:0;padding:14px 16px;font-size:1rem;font-weight:600;border-bottom:1px solid #eee}.crop-modal-body{padding:12px;display:flex;justify-content:center;background:#f8f8f8}.crop-modal-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #eee;justify-content:flex-end}.btn-crop-cancel{padding:8px 20px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem}.btn-crop-confirm{padding:8px 20px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600}.btn-crop-confirm:disabled,.btn-crop-cancel:disabled{opacity:.6;cursor:not-allowed}.modal-title-section{padding:24px;border-bottom:1px solid #eee}@media (max-width: 1023px){.recipe-details-header{position:relative}.modal-title-section .modal-edit-btn,.modal-title-section .modal-delete-btn,.modal-title-section .modal-ai-enhance-btn{position:absolute;top:200px;width:32px;height:32px;font-size:1.1rem}.modal-title-section .modal-edit-btn{right:10px}.modal-title-section .modal-delete-btn,.modal-title-section .modal-ai-enhance-btn{right:46px}.close-btn,.modal-share-btn,.modal-overflow-btn{width:40px;height:40px;min-width:40px;min-height:40px}.close-btn:before{font-size:28px}.modal-overflow-btn{font-size:1.5rem}.modal-title-section .modal-author,.modal-title-section .modal-source,.modal-title-section .modal-description{padding-right:50px}}@media (min-width: 1024px){.modal-content .modal-title-section{position:relative}.modal-content .recipe-details-header{position:static}.modal-content .modal-edit-btn{position:absolute!important;top:20px!important;right:24px!important}.modal-content .modal-delete-btn,.modal-content .modal-ai-enhance-btn{position:absolute!important;top:20px!important;right:68px!important}}.modal-type-badge{display:inline-block;background:#fff;color:#333;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;margin-bottom:8px}.modal-title{font-size:1.5rem;font-weight:700;color:#333;margin-bottom:12px}.modal-author{font-size:1rem;color:#ff6b35;font-style:italic;margin-bottom:10px;opacity:.9}.modal-provenance{font-size:.8rem;color:#8a7f76;margin:0 0 8px}.modal-source{font-size:.9rem;margin-bottom:12px}.modal-source-link{background:none;border:none;padding:0;cursor:pointer;color:#4a90e2;font-size:inherit;font-family:inherit;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.modal-source-link:hover{color:#2c5aa0;text-decoration:underline}.modal-source a{color:#4a90e2;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.modal-creator{margin-bottom:12px}.modal-creator-link{background:none;border:none;padding:0;cursor:pointer;color:#ff6b35;font-size:.9rem;font-family:inherit;font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.modal-creator-link:hover:not(:disabled){text-decoration:underline}.modal-creator-link:disabled{opacity:.6;cursor:default}.modal-creator-list{display:flex;gap:10px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:thin}.modal-creator-card{flex:0 0 110px;width:110px;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:inherit}.modal-creator-thumb{display:block;width:110px;height:72px;border-radius:8px;background-size:cover;background-position:center;background-color:#f0ece6}.modal-creator-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.78rem;line-height:1.25;color:#2b2622;margin-top:5px}.modal-creator-empty{font-size:.85rem;color:#8a7f76;margin:8px 0 0}.modal-engagement{margin:12px 0 4px}.modal-useful-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1.5px solid #ff6b35;border-radius:999px;background:#fff;color:#ff6b35;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease}.modal-useful-btn:hover:not(:disabled){background:#fff3ee}.modal-useful-btn.voted{background:#ff6b35;color:#fff}.modal-useful-btn:active:not(:disabled){transform:scale(.97)}.modal-useful-btn:disabled{opacity:.7;cursor:default}.modal-creator-stats{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding:8px 12px;background:#fbf7f2;border:1px solid #ece5dd;border-radius:10px;font-size:.82rem;color:#5d544c}.modal-creator-stats-title{font-weight:600;color:#2b2622}.modal-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.shopping-list-btn{border:1.5px solid #ff6b35;background:#fff;color:#ff6b35;font-weight:600;font-size:.82rem;font-family:inherit;padding:6px 12px;border-radius:999px;cursor:pointer;transition:background .15s ease}.shopping-list-btn:hover{background:#fff3ee}.sl-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:3000}.sl-modal{background:#fff;width:100%;max-width:480px;max-height:85vh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;position:relative}@media (min-width: 600px){.sl-overlay{align-items:center}.sl-modal{border-radius:16px}}.sl-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #ece5dd}.sl-header h3{margin:0;font-size:1.1rem}.sl-sub{font-size:.8rem;color:#8a7f76}.sl-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#8a7f76;padding:2px 6px}.sl-items{overflow-y:auto;padding:10px 18px;flex:1}.sl-item{display:flex;align-items:center;gap:10px;padding:4px 0}.sl-item input[type=checkbox]{width:18px;height:18px;accent-color:#ff6b35;flex-shrink:0}.sl-item-text{flex:1;border:none;border-bottom:1px solid transparent;font-size:.92rem;font-family:inherit;padding:4px 2px;background:transparent;color:#2b2622}.sl-item-text:focus{outline:none;border-bottom-color:#ff6b35}.sl-item.checked .sl-item-text{text-decoration:line-through;color:#b3aaa1}.sl-remove{background:none;border:none;color:#c9bfb5;cursor:pointer;font-size:.85rem;padding:2px 6px}.sl-remove:hover{color:#c0392b}.sl-add{background:none;border:none;color:#ff6b35;font-weight:600;font-size:.85rem;font-family:inherit;cursor:pointer;padding:8px 2px}.sl-actions{display:flex;gap:10px;padding:14px 18px;border-top:1px solid #ece5dd}.sl-btn{flex:1;padding:11px;border-radius:10px;font-size:.92rem;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid #ff6b35}.sl-btn-secondary{background:#fff;color:#ff6b35}.sl-btn-primary{background:#ff6b35;color:#fff}.sl-toast{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:#2b2622;color:#fff;padding:8px 16px;border-radius:999px;font-size:.85rem}.modal-source a:hover{color:#2c5aa0;text-decoration:underline}.modal-description{font-size:1rem;color:#666;margin-bottom:16px;line-height:1.5}.modal-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.9rem;color:#666}.modal-meta span{display:flex;align-items:center;gap:6px}.modal-body{padding:24px;flex:1}.modal-section{margin-bottom:24px}.modal-section h3{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:8px}.ingredients-list{list-style:none;display:flex;flex-direction:column;gap:8px}.ingredients-list li{padding:10px 14px;background:#f8f8f8;border-radius:8px;font-size:.9rem;line-height:1.5}.steps-list{list-style:none;counter-reset:step-counter}.steps-list li{padding:12px 0 12px 40px;position:relative;border-bottom:1px solid #eee;font-size:.95rem;color:#444;line-height:1.5;counter-increment:step-counter}.steps-list li:last-child{border-bottom:none}.steps-list li:before{content:counter(step-counter);position:absolute;left:0;top:12px;width:28px;height:28px;background:#ff6b35;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600}.source-link{color:#ff6b35;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:6px}.source-link:hover{text-decoration:underline}.edit-modal{max-width:800px;display:flex;flex-direction:column;max-height:90vh}.edit-modal .modal-body{flex:1;overflow-y:auto;padding-bottom:80px}.recipe-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-weight:600;color:#333;font-size:.9rem}.form-input{padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;outline:none;font-family:inherit;background:#fff;color:#333}.form-input:focus{border-color:#ff6b35}.form-textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:12px}.edit-modal-actions{padding:10px 14px;gap:8px}}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #eee}.edit-modal-actions{position:sticky;bottom:0;background:#fff;padding:10px 14px;border-top:1px solid #eee;flex-shrink:0;margin-top:0;z-index:10;display:flex;gap:8px}.edit-modal-actions .btn-secondary{background:transparent;border:none;padding:8px 12px;font-size:13px;font-weight:600;color:#999;white-space:nowrap}.edit-modal-actions .btn-secondary:hover{color:#666}.edit-modal-actions .btn-secondary:active{opacity:.7}.edit-modal-actions .btn-primary{padding:10px 16px;background:#22c55e;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#fff;box-shadow:0 1px 3px #22c55e4d}.edit-modal-actions .btn-primary:hover{background:#16a34a}.edit-modal-actions .btn-primary:active{background:#16a34a;transform:scale(.98)}.btn{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s}.btn-primary{background:#ff6b35;color:#fff}.btn-primary:hover{background:#e55a2b}.btn-secondary{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-secondary:hover{background:#e8e8e8}.image-upload-section{display:flex;flex-direction:column;gap:12px}.current-image-preview{position:relative;max-width:400px}.current-image-preview img{width:100%;border-radius:12px;box-shadow:0 2px 8px #0000001a}.btn-remove-image{position:absolute;top:8px;right:8px;padding:6px 12px;background:#ff3b30e6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:background .2s}.btn-remove-image:hover{background:#ff3b30}.image-upload-input{display:flex;flex-direction:column;gap:8px}.file-input{display:none}.file-input-label{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:#f5f5f5;border:2px dashed #ddd;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;color:#666;transition:all .2s}.file-input-label:hover{background:#eee;border-color:#ff6b35;color:#ff6b35}.crop-container{display:flex;flex-direction:column;gap:16px;padding:16px;background:#f9f9f9;border-radius:12px}.crop-actions{display:flex;gap:12px;justify-content:flex-end}@media (max-width: 900px){.menu-btn{display:flex;align-items:center;justify-content:center}.sidebar{display:none}.sidebar.open{display:flex;flex-direction:column;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:150;width:90%;max-width:400px;max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;overflow:hidden}.sidebar-close{display:flex;align-items:center;justify-content:center}.match-filter{display:none}.content{padding:12px}}.ai-modal{max-width:1200px;max-height:90vh;overflow-y:auto}.modal-header-ai{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0;margin:-24px -24px 0;border-bottom:none;align-items:flex-start}.modal-header-ai>div{text-align:center;flex:1}.modal-header-ai .modal-title{margin:0 0 8px;font-size:1.8rem}.modal-header-ai .modal-subtitle{margin:0;opacity:.9;font-size:.95rem}.modal-header-ai .close-btn:before{color:#fff}.ai-loading{text-align:center;padding:60px 20px}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-recipes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.ai-recipe-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s}.ai-recipe-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.ai-recipe-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.ai-recipe-header h3{margin:0;font-size:1.2rem;color:#333;flex:1}.recipe-type-badge-sm{background:#f5f5f5;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#666;white-space:nowrap}.ai-recipe-description{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:16px}.ai-recipe-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px;font-size:.85rem;color:#888}.ai-recipe-ingredients{background:#f9f9f9;padding:12px;border-radius:8px;margin-bottom:16px}.ai-recipe-ingredients strong{display:block;margin-bottom:8px;color:#333}.ai-recipe-ingredients ul{margin:0;padding-left:20px;font-size:.9rem;color:#666}.ai-recipe-ingredients li{margin-bottom:4px}.btn-add-recipe{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s}.btn-add-recipe:hover{background:#5568d3;transform:translateY(-1px)}.btn-add-recipe:active{transform:translateY(0)}.equipment-icons{display:flex;flex-wrap:wrap;gap:12px;padding:16px 0}.equipment-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;padding:12px;min-width:60px;transition:all .2s;cursor:default}.equipment-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.equipment-icon{font-size:2rem;margin-bottom:4px;color:#ff6b35}.equipment-icon-svg{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.equipment-icon-svg svg{width:100%;height:100%}.equipment-icon-svg img{width:100%;height:100%;object-fit:contain}.form-help{display:block;margin-top:4px;font-size:.75rem;color:#666;font-style:italic}@media (max-width: 600px){.header{padding:8px 12px;gap:8px;flex-wrap:nowrap}.menu-btn{width:36px;height:36px;font-size:1.2rem}.logo{font-size:1rem;flex:1;min-width:0}.search-box,.add-recipe-btn{display:none}.recipe-counter{padding:6px 10px;font-size:.8rem}.tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:6px 12px;font-size:.8rem;white-space:nowrap;flex-shrink:0}.content{padding:12px}.recipes-grid{grid-template-columns:1fr;gap:12px}.recipe-card{border-radius:12px}.recipe-image{height:160px}.recipe-info{padding:12px}.recipe-title{font-size:.95rem}.content-title{margin-bottom:12px}.content-title h2{font-size:1rem}.modal-overlay{padding:12px;align-items:center;overflow-x:hidden}.modal-content{max-width:100%;max-height:85vh;border-radius:16px;margin:0}.modal-image{height:180px}.modal-body{padding:16px}.modal-title{font-size:1.2rem}.modal-section h3{font-size:1rem}}@media (max-width: 380px){.header{padding:6px 8px;gap:6px}.menu-btn{width:32px;height:32px;font-size:1rem}.logo{font-size:.9rem}.recipe-counter{padding:4px 8px;font-size:.75rem}}.equipment-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;padding:12px;background-color:#f8f9fa;border-radius:8px;border:1px solid #dee2e6;max-height:250px;overflow-y:auto}.equipment-checkbox-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;position:relative}.equipment-checkbox-item:hover{background-color:#fff8f5;border-color:#ff6b35;box-shadow:0 2px 6px #ff6b3526}.equipment-checkbox-item input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.equipment-checkbox-item:before{content:"";width:10px;height:10px;border:1.5px solid #e0e0e0;border-radius:50%;background:#fff;flex-shrink:0;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000f;display:flex;align-items:center;justify-content:center}.equipment-checkbox-item:hover:before{border-color:#ff6b35;box-shadow:0 1px 4px #ff6b3533}.equipment-checkbox-item input[type=checkbox]:checked~:before,.equipment-checkbox-item:has(input[type=checkbox]:checked):before{background:linear-gradient(135deg,#ff6b35,#ff8c61);border-color:#ff6b35;box-shadow:0 2px 6px #ff6b354d}.equipment-checkbox-item input[type=checkbox]:checked~:before:after,.equipment-checkbox-item:has(input[type=checkbox]:checked):before:after{content:"✓";color:#fff;font-size:7px;font-weight:700}.equipment-checkbox-item span{font-size:.9rem;color:#495057;flex:1;transition:all .2s}.equipment-checkbox-item input[type=checkbox]:checked+span{color:#ff6b35;font-weight:600}@media (max-width: 768px){.equipment-checklist{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.equipment-dropdown-toggle{width:100%;padding:10px 14px;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;color:#495057;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;margin-bottom:8px}.equipment-dropdown-toggle:hover{background-color:#f8f9fa;border-color:#ff6b35}.equipment-dropdown-toggle:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}.survey-box{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;bottom:auto!important;max-height:80vh!important;overflow-y:auto!important;z-index:999999!important;margin:0!important;box-sizing:border-box!important;width:90vw!important;max-width:500px!important}.PostHogSurvey__shadow{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#00000080!important;z-index:999998!important}.survey-question{max-height:calc(80vh - 120px)!important;overflow-y:auto!important}@media (max-width: 600px){.survey-box{width:95vw!important;max-width:95vw!important;max-height:85vh!important;padding:16px!important}.survey-question{max-height:calc(85vh - 100px)!important}}.sidebar-collapse-btn{position:absolute;top:16px;right:-12px;width:24px;height:48px;background:#ff6b35;color:#fff;border:none;border-radius:0 8px 8px 0;cursor:pointer;font-size:12px;display:none;align-items:center;justify-content:center;z-index:10;transition:all .3s;box-shadow:2px 0 8px #0000001a}.sidebar-collapse-btn:hover{background:#e55a2b;transform:translate(2px)}.sidebar.collapsed{width:60px;overflow:hidden}.sidebar.collapsed .sidebar-header,.sidebar.collapsed .custom-ingredient-box,.sidebar.collapsed #categoriesContainer{display:none}@media (min-width: 901px){.sidebar-collapse-btn{display:flex}}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:32px;padding:20px 20px 100px}.pagination-mobile{display:flex;align-items:center;gap:10px;width:100%;justify-content:center}.pagination-dropdown{padding:10px 8px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;font-weight:600;color:#334155;background:#fff;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;text-align:center;width:auto}.pagination-btn{padding:10px 20px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;color:#666;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:#ff6b35;color:#ff6b35;transform:translateY(-2px)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.pagination-pages{display:flex;align-items:center;gap:6px}.pagination-page{width:40px;height:40px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;color:#666;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-page:hover{border-color:#ff6b35;color:#ff6b35;transform:translateY(-2px)}.pagination-page.active{background:#ff6b35;border-color:#ff6b35;color:#fff}.pagination-ellipsis{color:#999;font-weight:600;padding:0 4px}@media (max-width: 600px){.pagination{gap:8px;padding:16px 12px;margin-top:20px}.pagination-btn{padding:8px 12px;font-size:.85rem}.pagination-page{width:36px;height:36px;font-size:.85rem}.pagination-pages{gap:4px}}.content-title{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px;background:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e0e0e0}.content-title-left{flex:1;display:flex;align-items:center}.recipes-per-page-selector{display:flex;align-items:center;gap:12px;background:transparent;padding:0;border-radius:0;border:none}.recipes-per-page-selector label{font-size:.9rem;font-weight:600;color:#666;white-space:nowrap}.recipes-per-page-dropdown{padding:6px 10px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:.85rem;font-weight:500;color:#333;cursor:pointer;outline:none;transition:all .2s}.recipes-per-page-dropdown:hover{border-color:#ff6b35}.recipes-per-page-dropdown:focus{border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}@media (max-width: 600px){.content-title{flex-direction:column;align-items:flex-start;gap:12px}.recipes-per-page-selector{width:100%;justify-content:space-between}}.sidebar{display:flex;flex-direction:column;overflow:hidden}.sidebar-sticky-header{padding:16px;background:#fff;border-bottom:2px solid #e0e0e0;flex-shrink:0}.sidebar-title-section{margin-bottom:16px}.sidebar-title-section .sidebar-title{font-size:1.2rem;font-weight:700;color:#333;margin-bottom:4px}.sidebar-title-section .sidebar-subtitle{font-size:.85rem;color:#ff6b35;font-weight:600}.sidebar-search{position:relative;margin-bottom:16px}.sidebar-search-input{width:100%;padding:10px 36px 10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;color:#333;outline:none;transition:all .2s;background:#f8f8f8}.sidebar-search-input:focus{border-color:#ff6b35;background:#fff;box-shadow:0 0 0 3px #ff6b351a}.sidebar-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:#ddd;color:#666;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.sidebar-search-clear:hover{background:#ff6b35;color:#fff}.selected-ingredients-section{margin-top:12px}.selected-ingredients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.selected-ingredients-label{font-size:.8rem;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.5px}.clear-all-btn-small{background:none;border:none;color:#ff6b35;font-size:.8rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.clear-all-btn-small:hover{background:#fff0eb}.selected-ingredients-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow-y:auto;padding:2px}.selected-ingredient-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#ff6b35;color:#fff;border-radius:16px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.selected-ingredient-chip:hover{background:#e55a2b;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.chip-remove{font-size:16px;font-weight:700;line-height:1}.sidebar-scrollable-content{flex:1;overflow-y:auto;padding:16px}.custom-ingredient-section{margin-bottom:16px}.custom-ingredient-section .custom-input-row{display:flex;gap:8px}.custom-ingredient-section .custom-input{flex:1;padding:10px 12px;border:2px dashed #ddd;border-radius:8px;font-size:.9rem;outline:none;background:#fff;transition:all .2s}.custom-ingredient-section .custom-input:focus{border-color:#ff6b35;border-style:solid;box-shadow:0 0 0 3px #ff6b351a}.custom-ingredient-section .add-btn{width:40px;height:40px;background:#ff6b35;color:#fff;border:none;border-radius:8px;font-size:20px;font-weight:700;cursor:pointer;transition:all .2s}.custom-ingredient-section .add-btn:hover{background:#e55a2b;transform:scale(1.05)}.category-section-v2{margin-bottom:8px;border-radius:8px;overflow:hidden;border:1px solid #e8e8e8;transition:all .2s}.category-section-v2:hover{border-color:#ddd;box-shadow:0 2px 4px #0000000d}.category-header-v2{display:flex;align-items:center;justify-content:space-between;padding:12px;cursor:pointer;background:#fafafa;transition:all .2s;-webkit-user-select:none;user-select:none}.category-header-v2:hover{background:#f5f5f5}.category-left{display:flex;align-items:center;gap:10px;flex:1}.category-icon-v2{font-size:1.3rem;width:30px;text-align:center}.category-name-v2{font-weight:600;color:#333;font-size:.95rem}.category-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:#ff6b35;color:#fff;border-radius:11px;font-size:.75rem;font-weight:700}.category-chevron-v2{font-size:.8rem;color:#999;transition:transform .2s}.category-section-v2.open .category-chevron-v2{transform:rotate(90deg)}.category-items-v2{padding:8px;background:#fff}.ingredient-list{display:flex;flex-direction:column;gap:4px}.ingredient-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff;border:1px solid transparent}.ingredient-item:hover{background:#f8f8f8;border-color:#ff6b35}.ingredient-item.selected{background:#fff0eb;border-color:#ff6b35}.ingredient-checkbox{width:22px;height:22px;border:2px solid #e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;background:#fff;box-shadow:0 1px 3px #00000014}.ingredient-item:hover .ingredient-checkbox{border-color:#ff6b35;box-shadow:0 2px 6px #ff6b3533}.ingredient-item.selected .ingredient-checkbox{background:linear-gradient(135deg,#ff6b35,#ff8c61);border-color:#ff6b35;box-shadow:0 3px 8px #ff6b3559;transform:scale(1.05)}.ingredient-name{font-size:.9rem;color:#333;flex:1}.show-more-btn{width:100%;margin-top:8px;padding:8px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#666;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.show-more-btn:hover{background:#fff0eb;border-color:#ff6b35;color:#ff6b35}.no-results{text-align:center;padding:40px 20px;color:#999}.no-results-icon{font-size:3rem;margin-bottom:12px}.no-results p{font-size:.9rem;margin:0}.sidebar-sticky-footer{padding:16px;background:#fff;border-top:2px solid #e0e0e0;flex-shrink:0}.ai-suggest-btn-v2{display:none}@media (max-width: 900px){.sidebar.open{width:85%;max-width:350px}.selected-ingredients-chips{max-height:80px}}.app-v2{min-height:100vh;background:#f5f5f5}.main-container-v2{max-width:1400px;margin:0 auto;padding:0;min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fff;padding:12px 24px 0;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.main-navigation{display:flex;gap:8px;align-items:center}.nav-link{padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;color:#666;text-decoration:none;transition:all .2s;background:transparent;border-bottom:3px solid transparent}.nav-link:hover{color:#ff6b35;background:#ff6b350d}.nav-link.active{color:#ff6b35;background:#ff6b3514;border-bottom-color:#ff6b35;font-weight:700}.add-recipe-btn-header{padding:10px 24px;background:linear-gradient(135deg,#ff6b35,#ff8c61);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px #ff6b354d}.add-recipe-btn-header:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}.add-recipe-btn-header:active{transform:translateY(0)}.tab-bar-v2{background:transparent;flex:1}.tab-bar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px 12px}.app-title{font-size:1.8rem;font-weight:800;color:#333;margin:0}.recipe-counter-pill{background:linear-gradient(135deg,#ff6b35,#ff8c61);color:#fff;padding:8px 20px;border-radius:20px;font-size:.9rem;font-weight:700;box-shadow:0 2px 8px #ff6b354d}.tabs-v2{display:flex;gap:4px;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center}.tabs-v2::-webkit-scrollbar{display:none}.tab-v2{display:flex;align-items:center;gap:6px;padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:600;color:#666;transition:all .2s;white-space:nowrap;flex-shrink:0;outline:none;border-radius:8px 8px 0 0}.tab-v2:hover{color:#ff6b35;background:#ff6b350d}.tab-v2:focus{outline:none}.tab-v2.active{color:#ff6b35;background:#ff6b3514;border-bottom-color:#ff6b35;font-weight:700}.tab-icon-v2{font-size:1.1rem}.add-recipe-btn-tab{margin-left:auto;padding:10px 20px;background:linear-gradient(135deg,#ff6b35,#ff8c61);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;box-shadow:0 2px 8px #ff6b354d}.add-recipe-btn-tab:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}.add-recipe-btn-tab:active{transform:translateY(0)}.search-filters-bar{background:#fff;border-bottom:2px solid #e0e0e0;padding:12px 24px 16px;display:flex;gap:12px;align-items:center;position:sticky;top:0;z-index:90;box-shadow:0 2px 8px #0000000d}.recipe-search-container{flex:1;position:relative;display:flex;align-items:center;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:12px;padding:0 16px;transition:all .2s}.recipe-search-container:focus-within{background:#fff;border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}.search-icon{font-size:1.2rem;color:#999;margin-right:10px}.recipe-search-input{flex:1;border:none;background:transparent;padding:14px 0;font-size:1rem;color:#333;outline:none}.recipe-search-input::placeholder{color:#999}.search-clear-btn{width:24px;height:24px;border:none;background:#ddd;color:#666;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:8px}.search-clear-btn:hover{background:#ff6b35;color:#fff}.ingredients-filter-btn{display:flex;align-items:center;gap:10px;padding:14px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d;white-space:nowrap}.ingredients-filter-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.ingredients-filter-btn:active{transform:translateY(0)}.ingredients-filter-btn .filter-icon{font-size:1.1rem}.ingredients-filter-btn .filter-text{display:inline}.ingredients-filter-btn .filters-badge{background:#ffffff4d;color:#fff;padding:4px 10px;border-radius:12px;font-size:.85rem;font-weight:700;min-width:24px;text-align:center}@media (max-width: 768px){.search-filters-bar{padding:12px 16px;flex-direction:column;gap:10px}.recipe-search-container{width:100%}.ingredients-filter-btn{width:100%;justify-content:center;padding:12px 16px}.ingredients-filter-btn .filter-text{display:inline}}.content-v2{padding:24px;max-width:1400px;margin:0 auto}@media (max-width: 768px){.tab-bar-header{padding:12px 16px 8px}.app-title{font-size:1.4rem}.recipe-counter-pill{font-size:.8rem;padding:6px 14px}.tabs-v2{padding:0 12px}.tab-v2{padding:10px 16px;font-size:.85rem}.content-v2{padding:120px 12px 16px}}.filters-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:150;animation:fadeIn .2s ease-in-out}.filters-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;z-index:151;width:90vw;max-width:600px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.filters-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.filters-modal-header h2{margin:0;font-size:1.4rem;font-weight:600;color:#333}.filters-modal-close{background:transparent;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;line-height:1}.filters-modal-close:hover{background-color:#f0f0f0;color:#333}.filters-modal-content{overflow-y:auto;flex:1;padding:0}.filters-modal-content .sidebar{position:static;width:100%;height:100%;border:none;box-shadow:none}.filters-modal-content .sidebar-collapse-btn,.filters-modal-content .sidebar-close,.filters-modal-content .sidebar-overlay{display:none}@media (max-width: 768px){.filters-modal{width:95vw;max-height:90vh;border-radius:12px}.filters-modal-header{padding:16px 20px}.filters-modal-header h2{font-size:1.2rem}}.recipe-favorite-btn{position:absolute;top:10px;right:10px;background:transparent;border:none;padding:0;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;z-index:10;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.recipe-favorite-btn:hover{transform:scale(1.15)}.favorites-count{font-size:.7rem;font-weight:700;color:#fff;margin-left:2px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.modal-favorite-btn{position:absolute;top:20px;right:70px;background:transparent;border:none;padding:4px;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;z-index:1001;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.modal-favorite-btn:hover{transform:scale(1.15)}.mobile-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;padding:12px 16px 0;display:flex;flex-direction:column;gap:0;box-shadow:0 2px 4px #00000014;transition:transform .3s ease-in-out}.mobile-header-row{display:flex;gap:6px;align-items:center;padding-bottom:8px}.mobile-nav-tab{flex:1;padding:8px 4px;border:none;background:transparent;color:#888;font-size:.8rem;font-weight:500;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-align:center}.mobile-nav-tab.active{color:#ff6b35;border-bottom-color:#ff6b35;font-weight:600}.mobile-header.header-hidden{transform:translateY(-100%)}.mobile-category-slider{display:flex;gap:8px;margin:0 -16px;padding:0 0 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-category-slider::-webkit-scrollbar{display:none}.category-chip{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:20px;border:1.5px solid #e0e0e0;background:#fff;color:#555;font-size:.85rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .15s ease;flex-shrink:0}.category-chip.active{background:#ff6b35;border-color:#ff6b35;color:#fff}.category-chip:active{transform:scale(.96)}.mobile-sort-bar{display:flex;justify-content:space-between;padding:0 0 8px;gap:8px}.sort-chip{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;font-size:.78rem;font-weight:500;cursor:pointer;flex-shrink:0;white-space:nowrap}.sort-chip:active{transform:scale(.96)}.sort-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1100}.sort-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;z-index:1101;padding-bottom:env(safe-area-inset-bottom,16px)}.sort-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #f1f5f9}.sort-sheet-header h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.sort-sheet-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#94a3b8}.sort-sheet-options{padding:8px 0 16px}.sort-sheet-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;background:none;border:none;font-size:.95rem;color:#334155;cursor:pointer;text-align:left}.sort-sheet-option.active{color:#ff6b35;font-weight:600}.sort-sheet-option:active{background:#f8fafc}.sort-check{color:#ff6b35;font-weight:700}.fab-add-recipe{position:fixed;bottom:20px;right:16px;z-index:200;display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ff6b35;color:#fff;border:none;border-radius:24px;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #ff6b3573;transition:all .2s ease}.fab-add-recipe span:first-child{font-size:1.1rem;line-height:1}.fab-add-recipe:active{transform:scale(.96);box-shadow:0 2px 8px #ff6b3566}.search-bar-container{flex:1;position:relative;display:flex;align-items:center;background:#f5f5f5;border-radius:24px;padding:0 12px;height:44px;min-width:0}.search-icon{font-size:16px;margin-right:8px;color:#666}.search-input{flex:1;border:none;background:transparent;font-size:15px;outline:none;color:#333}.search-input::placeholder{color:#999}.search-clear{background:transparent;border:none;font-size:20px;color:#999;cursor:pointer;padding:0 4px;display:flex;align-items:center;justify-content:center}.filter-btn,.add-btn{width:44px;height:44px;border-radius:22px;border:none;background:#f5f5f5;font-size:20px;color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.add-btn{background:#f5f5f5;color:#333}.add-btn:active{background:#e5e5e5}.add-btn-icon{font-size:24px}.add-btn-badge{position:absolute;bottom:2px;right:2px;width:20px;height:20px;background:#28a745;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;line-height:0;border:2px solid white;padding:0}.filter-btn:active{background:#e5e5e5}.filter-icon{display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:20px;height:17px;gap:4px}.filter-line{height:3px;background:#333;border-radius:1.5px;box-shadow:0 1px #ffffff4d inset,0 1px 2px #00000040}.filter-line-1{width:20px}.filter-line-2{width:16px}.filter-line-3{width:10px}.filter-badge{position:absolute;top:4px;right:4px;width:12px;height:12px;background:#e74c3c;border-radius:50%;border:2px solid white;box-shadow:0 0 0 2px #e74c3c33;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}@media (max-width: 390px){.mobile-header{gap:6px;padding:10px 12px}.search-bar-container{padding:0 8px}.search-icon{display:none}.search-input{font-size:14px;min-width:60px}.search-input::placeholder{font-size:13px}.puzzle-btn,.add-btn,.filter-btn{width:40px;height:40px}.add-btn-icon{font-size:20px}}.results-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #eee}.result-count{font-size:14px;color:#666;font-weight:500}.per-page-select,.sort-select{border:none;border-radius:8px;padding:6px 28px 6px 10px;font-size:13px;font-weight:600;background:#f5f5f5;color:#333;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23333' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.per-page-select{width:85px}.sort-select{width:auto}.filter-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;animation:fadeIn .2s ease}.filter-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;max-height:85vh;z-index:201;animation:slideUp .3s ease;display:flex;flex-direction:column;overscroll-behavior:contain}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.filter-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;flex-shrink:0;position:sticky;top:0;background:#fff;z-index:10;border-radius:20px 20px 0 0;transition:transform .3s ease-in-out,opacity .3s ease-in-out,height .3s ease-in-out,padding .3s ease-in-out}.filter-sheet-header.header-hidden{transform:translateY(calc(-100% - 1px));opacity:0;height:0;padding:0;border:none;overflow:hidden;pointer-events:none}.filter-sheet-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.filter-sheet-close{background:transparent;border:none;font-size:28px;color:#999;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.filter-sheet-close:active{background:#f5f5f5}.filter-sheet-body{overflow-y:auto;overflow-x:hidden;padding:20px;flex:1;-webkit-overflow-scrolling:touch}.filter-section{margin-bottom:28px}.filter-section:last-child{margin-bottom:0}.filter-section-title{font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1.5px solid #ddd;background:#fff;border-radius:18px;padding:8px 16px;font-size:14px;color:#333;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;font-weight:500}.filter-chip:active{transform:scale(.97)}.filter-chip.active{background:#666;border-color:#666;color:#fff}.chip-icon{font-size:16px}.filter-action-btn{width:100%;background:#f5f5f5;border:1.5px solid #ddd;border-radius:12px;padding:14px;font-size:15px;font-weight:500;color:#333;cursor:pointer;transition:background .2s}.filter-action-btn:active{background:#e5e5e5}.filter-search-bar{display:flex;align-items:center;background:#f5f5f5;border-radius:24px;padding:0 14px;height:44px;margin-bottom:20px;gap:8px}.filter-search-icon{font-size:16px;flex-shrink:0}.filter-search-input{flex:1;border:none;background:transparent;font-size:.95rem;outline:none;color:#333}.filter-search-clear{background:none;border:none;font-size:1.2rem;color:#999;cursor:pointer;padding:0;line-height:1}.filter-search{margin-bottom:16px}.filter-search .custom-input-full{width:100%;padding:12px 16px;border:1.5px solid #ddd;border-radius:12px;font-size:15px;outline:none;transition:border-color .2s}.filter-search .custom-input-full:focus{border-color:#ff6b35}.filter-selected-section{background:#f8f8f8;border-radius:12px;padding:12px;margin-bottom:16px}.filter-selected-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:600;color:#666}.filter-clear-btn{background:transparent;border:none;color:#ff6b35;font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px}.filter-clear-btn:active{opacity:.7}.filter-selected-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-selected-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#fff;border:1px solid #ff6b35;border-radius:16px;font-size:13px;color:#ff6b35;cursor:pointer;transition:all .2s}.filter-selected-chip:active{transform:scale(.95)}.filter-selected-chip .chip-remove{font-size:16px;font-weight:700;line-height:1}.filter-ingredient-categories{margin-top:16px}.filter-category{border:1px solid #e5e5e5;border-radius:12px;margin-bottom:12px;overflow:hidden;transition:all .2s}.filter-category-header{display:flex;align-items:center;padding:14px;cursor:pointer;background:#fff;transition:background .2s}.filter-category-header:active{background:#f8f8f8}.filter-category-header.has-selected{background:#fff5f2}.filter-category-header .category-icon{font-size:24px;margin-right:12px}.filter-category-header .category-info{flex:1}.filter-category-header .category-name{font-size:15px;font-weight:600;color:#333;margin-bottom:2px}.filter-category-header .category-count{font-size:13px;color:#999}.filter-category-header .category-count .selected{color:#ff6b35;font-weight:600}.filter-category-header .category-chevron{font-size:12px;color:#999;transition:transform .2s}.filter-category.open .category-chevron{transform:rotate(0)}.filter-category-items{max-height:0;overflow:hidden;transition:max-height .3s ease}.filter-category.open .filter-category-items{max-height:500px}.filter-ingredient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;padding:12px;background:#fafafa}.filter-ingredient-chip{padding:10px 12px;background:#fff;border:1.5px solid #ddd;border-radius:10px;font-size:13px;color:#333;cursor:pointer;transition:all .2s;text-align:center;position:relative;font-weight:500}.filter-ingredient-chip:active{transform:scale(.95)}.filter-ingredient-chip.selected{background:#fff0eb;border-color:#ff6b35;color:#ff6b35;font-weight:600}.filter-ingredient-chip .chip-check{position:absolute;top:2px;right:4px;font-size:14px;color:#ff6b35}.filter-sheet-footer{display:flex;gap:8px;padding:10px 14px;border-top:1px solid #eee;flex-shrink:0;background:#fff}.filter-clear-all-btn{background:transparent;border:none;padding:8px 12px;font-size:13px;font-weight:600;color:#999;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-clear-all-btn:active{color:#666;opacity:.7}.filter-apply-btn{flex:1;padding:10px 16px;background:#22c55e;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #22c55e4d}.filter-apply-btn:active{background:#16a34a;transform:scale(.98)}.desktop-layout{display:grid;grid-template-columns:270px 1fr;min-height:100vh;background:#fff}.desktop-header{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:100}.desktop-search-container{flex:1;max-width:600px;position:relative;display:flex;align-items:center}.desktop-search-input{width:100%;padding:10px 40px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;outline:none;transition:border-color .2s}.desktop-search-input:focus{border-color:#ff6b35}.desktop-search-container .search-icon{position:absolute;left:14px;font-size:18px;pointer-events:none}.desktop-search-container .search-clear{position:absolute;right:10px;background:transparent;border:none;font-size:24px;color:#999;cursor:pointer;padding:4px 8px;line-height:1}.desktop-search-container .search-clear:hover{color:#666}.desktop-add-btn{padding:10px 20px;background:#22c55e;border:none;border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 4px #22c55e33}.desktop-add-btn:hover{background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 8px #22c55e4d}.desktop-add-btn:active{transform:translateY(0)}.desktop-filter-sidebar{position:sticky;top:0;height:200vh;overflow-y:auto;overflow-x:hidden;background:#fff;border-right:1px solid #e0e0e0;padding:14px 12px;scroll-behavior:smooth;display:flex;flex-direction:column;gap:12px}.desktop-filter-sidebar::-webkit-scrollbar{width:6px}.desktop-filter-sidebar::-webkit-scrollbar-track{background:transparent}.desktop-filter-sidebar::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.desktop-filter-sidebar::-webkit-scrollbar-thumb:hover{background:#bbb}.sidebar-search-container{position:relative}.sidebar-search-input{width:100%;padding:9px 32px 9px 12px;border:1px solid #e0e0e0;border-radius:10px;font-size:13px;color:#333;background:#fff;transition:all .2s}.sidebar-search-input:focus{outline:none;border-color:#ccc;box-shadow:0 0 0 2px #0000000a}.sidebar-search-input::placeholder{color:#999}.sidebar-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:4px;line-height:1;transition:color .2s}.sidebar-search-clear:hover{color:#333}.sidebar-search-container.ingredient-search{margin-top:12px;margin-bottom:16px}.sidebar-header{display:flex;justify-content:space-between;align-items:center}.sidebar-header-actions{display:flex;gap:8px;align-items:center}.add-recipe-btn-sidebar{background:#333;color:#fff;border:none;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;cursor:pointer;transition:background .2s;line-height:1;padding:0}.add-recipe-btn-sidebar:hover{background:#555}.sidebar-header h3{font-size:15px;font-weight:600;color:#666;margin:0;text-transform:uppercase;letter-spacing:.3px}.clear-filters-btn{background:transparent;border:none;padding:0;font-size:12px;font-weight:600;color:#666;cursor:pointer;transition:color .2s;text-decoration:underline}.clear-filters-btn:hover{color:#333}.active-filters-summary{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:10px 12px}.active-filters-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.active-filters-summary h4{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;margin:0}.clear-filters-btn{background:transparent;border:none;color:#999;font-size:11px;font-weight:600;cursor:pointer;padding:0}.clear-filters-btn:hover,.clear-filters-btn:active,.clear-filters-btn:focus{color:#999;background:transparent;outline:none}.active-filter-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:12px;color:#333}.active-filter-item button{background:none;border:none;color:#999;font-size:16px;cursor:pointer;padding:0 4px;line-height:1}.active-filter-item button:hover{color:#333}.filter-section{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:12px;margin-bottom:12px}.desktop-filter-sidebar .filter-section{margin-bottom:0}.filter-section-title{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.filter-segmented-control{display:flex;gap:4px;background:#f0f0f0;border-radius:10px;padding:3px}.segmented-control-btn{flex:1;min-width:0;padding:7px 8px;border:none;background:transparent;border-radius:7px;font-size:12px;font-weight:500;color:#666;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.segmented-control-btn:hover{color:#333}.segmented-control-btn.active{background:#fff;color:#222;font-weight:600;box-shadow:0 1px 2px #00000014,0 0 0 .5px #0000000a}.filter-chips-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.filter-chip-small{display:flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 10px;border:1px solid #e5e5e5;border-radius:999px;background:#fff;font-size:12px;font-weight:500;color:#666;cursor:pointer;transition:all .15s;position:relative}.filter-chip-small:hover{border-color:#d0d0d0;background:#fafafa;color:#333}.filter-chip-small.active{background:#f5f5f5;border-color:#d0d0d0;color:#222;font-weight:600}.filter-chip-small.active:before{content:"✓";position:absolute;left:7px;font-size:11px;font-weight:700;color:#4caf50}.filter-chip-small .chip-icon{font-size:14px;line-height:1}.ingredients-section{max-height:calc(100vh - 450px);overflow-y:auto;padding-bottom:8px}.ingredients-section::-webkit-scrollbar{width:4px}.ingredients-section::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}.ingredient-categories{margin-top:8px}.ingredient-category{margin-bottom:8px}.ingredient-category-header{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .15s;font-size:12px;font-weight:500}.ingredient-category-header:hover{background:#f5f5f5;border-color:#d0d0d0}.category-icon-small{font-size:14px;line-height:1}.category-name-small{flex:1;color:#333;font-weight:500}.category-selected-count{background:#4caf50;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.category-chevron-small{font-size:10px;color:#999;transition:transform .2s}.ingredient-category.open .category-chevron-small{transform:rotate(0)}.ingredient-category-items{display:flex;flex-direction:column;gap:4px;padding:6px 0 0;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ingredient-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#fff;border:1px solid #e5e5e5;border-radius:6px;font-size:12px;color:#666;cursor:pointer;transition:all .15s;text-align:left}.ingredient-item:hover{background:#fafafa;border-color:#d0d0d0;color:#333}.ingredient-item.selected{background:#f5f5f5;border-color:#4caf50;color:#222;font-weight:500}.ingredient-item .check-mark{color:#4caf50;font-size:11px;font-weight:700}.ingredient-search-container{position:relative;margin-bottom:12px}.ingredient-search-input{width:100%;padding:10px 12px 10px 36px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fafafa;transition:all .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.35-4.35'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:16px 16px}.ingredient-search-input:focus{outline:none;border-color:#ccc;background-color:#fff}.ingredient-search-input::placeholder{color:#999}.ingredient-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;margin-top:4px;max-height:240px;overflow-y:auto;box-shadow:0 4px 12px #0000001a;z-index:10}.ingredient-suggestion-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;border:none;background:#fff;text-align:left;font-size:14px;color:#333;cursor:pointer;transition:background .15s}.ingredient-suggestion-item:hover{background:#f5f5f5}.ingredient-suggestion-item:disabled{color:#999;cursor:not-allowed;background:#fafafa}.ingredient-suggestion-item .selected-mark{color:#4caf50;font-weight:600}.no-suggestions{padding:12px;text-align:center;color:#999;font-size:14px}.selected-ingredients-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e5e5e5}.ingredient-tag{display:flex;align-items:center;gap:6px;padding:5px 10px;background:#333;color:#fff;border:none;border-radius:999px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.ingredient-tag:hover{background:#555;transform:scale(1.02)}.ingredient-tag .tag-remove{font-size:14px;font-weight:600;line-height:1;margin-left:2px}.desktop-content{padding:0;background:#fafafa;overflow-y:auto}.desktop-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e0e0e0;padding:14px 32px;display:flex;align-items:center;gap:12px}.search-bar-container-desktop{position:relative;display:flex;align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:22px;padding:0 16px;height:42px;max-width:600px;flex:1;transition:border-color .2s,background .2s}.search-bar-container-desktop:focus-within{border-color:#ccc;background:#fff}.search-input-desktop{flex:1;border:none;background:transparent;outline:none;font-size:15px;color:#333;padding:0 8px}.search-input-desktop::placeholder{color:#999}.add-btn-desktop{background:#333;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.add-btn-desktop:hover{background:#555}.desktop-header .per-page-select{height:36px;padding:0 32px 0 12px;font-size:13px;border-radius:8px;background-color:#fff;margin-left:auto}.desktop-content .results-bar{padding:16px 32px 12px;background:transparent;border-bottom:none;display:flex;justify-content:space-between;align-items:center}.desktop-add-recipe-btn{padding:10px 20px;background:#22c55e;border:none;border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 4px #22c55e33}.desktop-add-recipe-btn:hover{background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 8px #22c55e4d}.desktop-add-recipe-btn:active{transform:translateY(0)}.desktop-feed-btn{padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:700;color:#1a1014;cursor:pointer;transition:all .2s;white-space:nowrap;background:linear-gradient(135deg,#ff5a3c,#ffb02e);box-shadow:0 4px 12px #ff5a3c52;margin-right:10px}.desktop-feed-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ff5a3c6b}.desktop-feed-btn:active{transform:translateY(0)}.mobile-nav-tab--feed{flex:0 0 auto;padding:8px 12px;margin-right:2px;color:#1a1014;font-weight:700;border-radius:999px;background:linear-gradient(135deg,#ff5a3c,#ffb02e);box-shadow:0 2px 8px #ff5a3c4d}.desktop-content .result-count{font-size:12px;color:#999;font-weight:500}.desktop-content .pagination-controls{display:flex;align-items:center;gap:12px}.desktop-content .recipes-grid{padding:20px 32px 32px;gap:18px}.desktop-content .pagination{padding:20px 32px 32px}.puzzle-btn{width:40px;height:40px;border-radius:20px;border:none;background:linear-gradient(135deg,#ff6b35,#f5576c);font-size:20px;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s;flex-shrink:0;box-shadow:0 2px 6px #ff6b3540}.puzzle-btn:active{transform:scale(.95)}.desktop-action-buttons{display:flex;gap:12px;align-items:center}.desktop-puzzle-btn{padding:10px 20px;background:linear-gradient(135deg,#ff6b35,#f5576c);border:none;border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 4px #ff6b3540}.desktop-puzzle-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 8px #ff6b3559}.desktop-puzzle-btn:active{transform:translateY(0)}.share-url-dialog{background:#fff;border-radius:16px;padding:24px;max-width:500px;width:90%;box-shadow:0 8px 32px #0003}.share-url-dialog h3{margin:0 0 12px;font-size:1.3rem;color:#333;text-align:center}.share-url-hint{margin:0 0 16px;color:#666;font-size:.9rem;text-align:center}.share-url-box{margin-bottom:20px}.share-url-input{width:100%;padding:12px;border:2px solid #E88D67;border-radius:8px;font-size:.9rem;font-family:monospace;background:#f9f9f9;color:#333;text-align:center}.share-url-input:focus{outline:none;border-color:#d67555;background:#fff}.share-url-actions{display:flex;justify-content:center;gap:12px}.share-url-actions .btn{min-width:120px}.share-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10001}.share-panel{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;padding:20px 24px calc(32px + env(safe-area-inset-bottom,0px));z-index:10002;animation:slideUpPanel .25s ease-out}@media (min-width: 600px){.share-panel{bottom:auto;left:50%;right:auto;top:50%;transform:translate(-50%,-50%);border-radius:16px;width:320px;padding:20px 24px 24px;box-shadow:0 8px 32px #0003;animation:none}}@keyframes slideUpPanel{0%{transform:translateY(100%)}to{transform:translateY(0)}}.share-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:16px;font-weight:600;color:#111}.share-panel-close{background:none;border:none;font-size:18px;cursor:pointer;color:#666;padding:4px 8px}.share-panel-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.share-btn{display:flex;flex-direction:column;align-items:center;gap:8px;border:none;background:none;cursor:pointer;padding:8px 4px;border-radius:12px;font-size:12px;font-weight:500;color:#333}.share-btn svg{width:48px;height:48px;padding:12px;border-radius:14px}.share-btn-facebook svg{background:#1877f2}.share-btn-whatsapp svg{background:#25d366}.share-btn-telegram svg{background:#2aabee}.share-btn-copy svg{background:#555}.share-btn-native svg{background:#888}.share-btn:active svg{opacity:.8}.share-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;background:#fff;padding:20px 32px;border-radius:12px;box-shadow:0 8px 32px #0003;animation:shareToastFadeIn .2s ease-out}.share-toast.success{border-left:4px solid #4CAF50}.share-toast.error{border-left:4px solid #f44336}.share-toast-content{display:flex;align-items:center;gap:12px}.share-toast-icon{font-size:24px;font-weight:700}.share-toast.success .share-toast-icon{color:#4caf50}.share-toast.error .share-toast-icon{color:#f44336}.share-toast-text{font-size:16px;font-weight:500;color:#333}@keyframes shareToastFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.puzzle-modal{max-width:600px}.puzzle-modal .modal-header{align-items:flex-start;background:#fff}.puzzle-header-content{flex:1}.puzzle-title{font-size:1.2rem;margin:0 0 8px;font-weight:600}.puzzle-title-accent{color:#333}.puzzle-date{font-size:.85rem;color:#666;margin:0 0 12px}.puzzle-progress{display:flex;flex-direction:column;gap:8px}.puzzle-progress-row{display:flex;align-items:center;gap:12px;position:relative}.puzzle-hint-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#fbbf241f;border:none;border-radius:999px;cursor:pointer;transition:all .2s ease;flex-shrink:0;min-height:44px;animation:hint-pulse 2s ease-in-out infinite}@keyframes hint-pulse{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 4px #fbbf241a}}.puzzle-hint-btn:hover{background:#fbbf2433;transform:scale(1.05)}.puzzle-hint-btn:active{background:#fbbf244d;transform:scale(.98)}.puzzle-hint-icon{font-size:22px;line-height:1;filter:drop-shadow(0 0 8px rgba(251,191,36,.8)) drop-shadow(0 0 4px rgba(251,191,36,1))}.puzzle-hint-count{font-size:.9rem;font-weight:600;color:#92400e;white-space:nowrap}.puzzle-hint-btn-bottom{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:600;color:#92400e;min-height:52px}.puzzle-hint-btn-bottom:hover{background:#fbbf2440;border-color:#fbbf2480;transform:translateY(-1px);box-shadow:0 4px 12px #fbbf2433}.puzzle-hint-btn-bottom:active{background:#fbbf244d;transform:translateY(0)}.puzzle-hint-btn-bottom .puzzle-hint-icon{font-size:24px}.puzzle-action-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.puzzle-guess-btn-primary{flex:0 0 auto;padding:14px 32px!important;background:linear-gradient(135deg,#22c55e,#16a34a)!important;font-size:1.1rem!important;font-weight:700!important;box-shadow:0 3px 10px #22c55e66;min-height:48px}.puzzle-hint-text{display:flex;align-items:center;gap:6px;color:#92400e;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.puzzle-hint-text:hover{color:#78350f;transform:translate(-2px)}.puzzle-hint-text .puzzle-hint-icon{font-size:20px}.puzzle-guess-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#22c55e,#16a34a)!important;box-shadow:0 6px 20px #4ade8080!important;transform:translateY(-2px)!important}.puzzle-guess-btn-primary:active:not(:disabled){transform:translateY(0)!important}.puzzle-guess-icon{font-size:24px}.puzzle-ingredients-section{margin-top:20px;width:100%}.puzzle-ingredients-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;font-weight:600;color:#334155;font-size:.95rem}.puzzle-ingredients-toggle:hover{background:#f1f5f9;border-color:#cbd5e1}.toggle-arrow{font-size:12px;transition:transform .3s ease;color:#64748b}.toggle-arrow-open{transform:rotate(180deg)}.puzzle-ingredients-list{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.puzzle-ingredient-item{padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#475569;display:flex;align-items:center;gap:8px}.puzzle-ingredient-revealed{background:#f0fdf4;border-color:#86efac;color:#166534;font-weight:500}.ingredient-check{color:#22c55e;font-weight:700;font-size:16px}.puzzle-progress-bar{flex:1;height:8px;background:#f1f5f9;border-radius:8px;overflow:visible;position:relative}.puzzle-progress-fill{height:100%;background:linear-gradient(90deg,#86efac,#4ade80);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:8px;position:relative}.puzzle-progress-fill:after{content:"⭐";position:absolute;right:-8px;top:50%;transform:translateY(-50%);font-size:16px;filter:drop-shadow(0 0 4px rgba(74,222,128,.6));animation:pulse-star 2s ease-in-out infinite}@keyframes pulse-star{0%,to{transform:translateY(-50%) scale(1);filter:drop-shadow(0 0 4px rgba(74,222,128,.6))}50%{transform:translateY(-50%) scale(1.1);filter:drop-shadow(0 0 8px rgba(74,222,128,.8))}}.puzzle-progress-label{font-size:.85rem;color:#94a3b8;white-space:nowrap}.puzzle-progress-numbers{color:#1e293b;font-weight:600}.puzzle-streak{display:flex;gap:12px}.puzzle-streak-badge{font-size:.8rem;color:#666}.puzzle-streak-badge strong{color:#ff6b35;font-weight:600}.puzzle-clues{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.puzzle-clue-card{background:#f0fdf4;padding:16px;border-radius:12px;border:none;transition:all .3s ease}.puzzle-clue-card.puzzle-clue-new{background:#fef3c7;border-left:4px solid #f59e0b}.puzzle-clue-card.puzzle-clue-new .puzzle-clue-label{color:#92400e}.puzzle-clue-reveal{animation:revealClue .5s cubic-bezier(.34,1.56,.64,1)}@keyframes revealClue{0%{opacity:0;transform:scale(.95) translateY(-10px)}60%{transform:scale(1.02) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.puzzle-clue-label{font-weight:500;color:#94a3b8;margin-bottom:8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.puzzle-clue-text,.puzzle-clue-value{font-size:1rem;color:#1e293b}.puzzle-ingredient-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.puzzle-ingredient-chip{background:#f1f5f9;border:1px solid #e2e8f0;padding:3px 8px;border-radius:12px;font-size:.8rem;color:#475569}.puzzle-footer{position:sticky;bottom:0;background:#fff;z-index:10;padding:16px;border-top:1px solid #f1f5f9;box-shadow:0 -1px 3px #00000005;display:flex;flex-direction:column;gap:12px}.puzzle-wrong-guesses{display:flex;flex-wrap:wrap;gap:6px}.puzzle-wrong-chip{background:#fff5f5;border:1px solid #feb2b2;color:#c53030;padding:4px 10px;border-radius:16px;font-size:.85rem;text-decoration:line-through}.puzzle-guess-row{display:flex;gap:8px}.puzzle-guess-input{width:100%;padding:10px 16px;border:1.5px solid #cbd5e1;border-radius:999px;font-size:.95rem;height:44px;background:#fff;color:#1e293b;transition:border-color .2s ease}.puzzle-guess-input::placeholder{color:#94a3b8}.puzzle-guess-input:focus{outline:none;border-color:#4ade80}.puzzle-shake{animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.puzzle-action-row{display:flex;gap:16px;justify-content:center;align-items:center}.puzzle-guess-btn{padding:10px 24px;background:#4ade80;color:#fff;border:none;border-radius:999px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem;white-space:nowrap;box-shadow:0 1px 3px #4ade804d;height:40px}.puzzle-guess-btn:hover:not(:disabled){background:#22c55e;box-shadow:0 2px 6px #4ade8066;transform:translateY(-1px)}.puzzle-guess-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.puzzle-giveup-btn{padding:10px 20px;background:transparent;color:#94a3b8;border:1.5px solid #e2e8f0;border-radius:999px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.9rem;white-space:nowrap;height:40px}.puzzle-giveup-btn:hover{border-color:#cbd5e1;color:#64748b;background:#f8fafc}.puzzle-result{background:#f8f9fa;padding:24px;border-radius:12px;text-align:center;margin-top:20px}.puzzle-result-won{background:linear-gradient(135deg,#d4f4dd,#f0f9ff);border:1.5px solid #4ade80}.puzzle-result-lost{background:linear-gradient(135deg,#fff5f5,#fffbf0);border:1.5px solid #feb2b2}.puzzle-result-icon{font-size:3rem;margin-bottom:12px}.puzzle-result-text{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:12px}.puzzle-result-answer{font-size:1.5rem;color:#ff6b35;margin-bottom:12px}.puzzle-result-desc{color:#666;margin:12px 0;line-height:1.5}.puzzle-result-image{width:100%;max-width:400px;height:auto;border-radius:12px;margin:16px auto;display:block}.puzzle-result-stats{color:#666;font-size:.9rem;margin-top:16px}.puzzle-loading{text-align:center;padding:40px 20px}.puzzle-loading-icon{font-size:3rem;margin-bottom:16px;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 600px){.puzzle-title{font-size:1rem}}
