.shell.shell--composer-v2{overflow-x:hidden;overscroll-behavior-x:none;max-width:var(--app-max-width,520px);margin-left:auto;margin-right:auto;.cmp-hdr{gap:10px;padding:10px 0 6px}.cmp-hdr,.cmp-hdr__back{display:flex;align-items:center}.cmp-hdr__back{width:36px;height:36px;border-radius:12px;flex-shrink:0;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);justify-content:center;cursor:pointer;transition:all .18s var(--ease-spring);box-shadow:0 1px 5px rgba(0,0,0,.32),inset 0 .5px 0 hsla(0,0%,100%,.12);-webkit-tap-highlight-color:transparent}.cmp-hdr__back:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.14);transform:scale(1.05)}.cmp-hdr__back:active{transform:scale(.88)}.cmp-hdr__back svg{width:18px;height:18px;stroke:var(--text-secondary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cmp-hdr__title{flex:1;min-width:0;font-size:20px;font-weight:var(--fw-bold);letter-spacing:-.03em;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-hdr__time{display:flex;align-items:center;gap:5px;padding:5px 11px 5px 8px;border-radius:var(--radius-sm);background:rgba(249,168,88,.09);border:1px solid rgba(249,168,88,.16);font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--rhythm);cursor:pointer;transition:all .16s;-webkit-tap-highlight-color:transparent;box-shadow:0 0 10px rgba(249,168,88,.07)}.cmp-hdr__time:hover{background:rgba(249,168,88,.14);border-color:rgba(249,168,88,.24)}.cmp-hdr__time:disabled{opacity:1;cursor:default;pointer-events:none}.cmp-hdr__time svg{width:14px;height:14px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.cmp-hdr__time-dot{width:5px;height:5px;border-radius:var(--radius-full);flex-shrink:0;background:var(--rhythm);box-shadow:0 0 6px rgba(249,168,88,.8);animation:cmpPulseDot 2s ease-in-out infinite}@keyframes cmpPulseDot{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-in{opacity:0;animation:fadeUp var(--dur-slow) var(--ease-out) forwards}.delay-0{animation-delay:0s}.delay-1{animation-delay:60ms}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.18s}.delay-4{animation-delay:.24s}.delay-5{animation-delay:.3s}.delay-6{animation-delay:.36s}.delay-7{animation-delay:.42s}.delay-8{animation-delay:.48s}.cmp-hdr__datetime-local{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cmp-time-sheet{display:flex;flex-direction:column;gap:14px;padding-bottom:6px}.cmp-time-sheet__reset{align-self:stretch;padding:12px 14px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);color:var(--text-secondary);font-size:var(--fs-small);font-weight:var(--fw-medium);cursor:pointer;transition:all .16s;-webkit-tap-highlight-color:transparent}.cmp-time-sheet__reset:hover{background:hsla(0,0%,100%,.08);color:var(--text-primary)}.cmp-file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cmp-tabs{display:flex;gap:3px;padding:4px;background:hsla(0,0%,100%,.035);border-radius:16px;border:1px solid var(--border-glass);box-shadow:inset 0 1px 2px rgba(0,0,0,.22),inset 0 .5px 0 hsla(0,0%,100%,.06),0 2px 8px rgba(0,0,0,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.cmp-tab{flex:1;padding:10px 0 9px;border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--fs-small);font-weight:var(--fw-semibold);cursor:pointer;transition:all .22s var(--ease-out);-webkit-tap-highlight-color:transparent;background:transparent;color:var(--text-tertiary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;letter-spacing:.01em}.cmp-tab svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;flex-shrink:0;transition:stroke .22s,transform .22s var(--ease-spring)}.cmp-tab--active{background:rgba(232,168,73,.1);color:var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 18px rgba(232,168,73,.1),inset 0 0 0 1px rgba(232,168,73,.2),inset 0 1px 0 rgba(232,168,73,.1)}.cmp-tab--active svg{transform:scale(1.12)}.cmp-tab--active:before{content:"";position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,168,73,.5) 40%,hsla(0,0%,100%,.3) 50%,rgba(232,168,73,.5) 60%,transparent)}.cmp-tab--active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:18px;height:2px;border-radius:1px;background:var(--accent);box-shadow:0 0 8px rgba(232,168,73,.6)}.cmp-tab:hover:not(.cmp-tab--active){color:var(--text-secondary);background:hsla(0,0%,100%,.03)}.cmp-tab:active{transform:scale(.94)}.cmp-subtabs{display:flex;gap:4px;padding:4px;background:hsla(0,0%,100%,.03);border-radius:var(--radius-md);border:1px solid hsla(0,0%,100%,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.2),inset 0 .5px 0 hsla(0,0%,100%,.04)}.cmp-subtab{flex:1;padding:8px 0;border-radius:var(--radius-sm);border:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-tertiary);background:transparent;transition:all .2s var(--ease-spring);-webkit-tap-highlight-color:transparent;position:relative}.cmp-subtab--active{background:rgba(232,168,73,.11);border:1px solid rgba(232,168,73,.2);color:var(--accent);box-shadow:0 1px 6px rgba(232,168,73,.14),0 0 18px rgba(232,168,73,.06),inset 0 .5px 0 rgba(232,168,73,.14)}.cmp-subtab--active:before{content:"";position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,168,73,.45),transparent)}.cmp-subtab:hover:not(.cmp-subtab--active){color:var(--text-secondary);background:hsla(0,0%,100%,.04)}.cmp-subtab:active{transform:scale(.95)}.cmp-subtab-content{display:none;flex-direction:column;gap:var(--card-gap)}.cmp-subtab-content--active{display:flex}.cmp-photo-card{position:relative;overflow:hidden;background:rgba(10,10,18,.22);backdrop-filter:blur(52px) saturate(2) brightness(1.12);-webkit-backdrop-filter:blur(52px) saturate(2) brightness(1.12);border-radius:var(--radius-lg);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07),0 1px 2px rgba(0,0,0,.55),0 4px 16px rgba(0,0,0,.35),0 16px 52px rgba(0,0,0,.22),0 36px 88px rgba(0,0,0,.14),inset 0 0 80px rgba(232,168,73,.05)}.cmp-photo-card:before{inset:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(145deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.07) 25%,hsla(0,0%,100%,.02) 55%,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cmp-photo-card:after,.cmp-photo-card:before{content:"";position:absolute;pointer-events:none}.cmp-photo-card:after{top:0;left:4%;right:4%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1) 10%,hsla(0,0%,100%,.35) 40%,hsla(0,0%,100%,.35) 60%,hsla(0,0%,100%,.1) 90%,transparent)}.cmp-cam-row{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-3)}.cmp-cam-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px var(--space-2);border-radius:var(--radius-md);border:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--text-secondary);transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.cmp-cam-btn--camera{background:rgba(232,168,73,.09);border:1px solid rgba(232,168,73,.18);box-shadow:0 1px 6px rgba(232,168,73,.1),inset 0 .5px 0 rgba(232,168,73,.2);color:var(--accent)}.cmp-cam-btn--camera:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(232,168,73,.08),transparent);border-radius:var(--radius-md) var(--radius-md) 0 0;pointer-events:none}.cmp-cam-btn--camera:hover{background:rgba(232,168,73,.14);box-shadow:0 3px 12px rgba(232,168,73,.18);transform:scale(1.02)}.cmp-cam-btn--gallery{background:hsla(0,0%,100%,.04);border:1px solid var(--border-glass);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.08)}.cmp-cam-btn--gallery:hover{background:hsla(0,0%,100%,.08);border-color:var(--border-hover);color:var(--text-primary)}.cmp-cam-btn:active{transform:scale(.94)}.cmp-cam-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;flex-shrink:0}.cmp-photo-zone{min-height:148px;border-radius:16px;background:rgba(232,168,73,.018);border:1.5px dashed rgba(232,168,73,.16);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:border-color .22s,background .22s,box-shadow .22s;margin:0 var(--space-4) var(--space-3);cursor:pointer;box-shadow:inset 0 0 40px rgba(232,168,73,.025)}.cmp-photo-zone:hover{border-color:rgba(232,168,73,.3);background:rgba(232,168,73,.032);box-shadow:inset 0 0 50px rgba(232,168,73,.04),0 0 20px rgba(232,168,73,.06)}.cmp-photo-zone--filled{border-style:solid;border-color:var(--border-glass);margin-bottom:0;background:transparent;box-shadow:none}.cmp-photo-zone__ph{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px var(--space-5) 24px}.cmp-photo-zone__ph-ico{width:56px;height:56px;border-radius:18px;background:rgba(232,168,73,.06);border:1px solid rgba(232,168,73,.14);display:flex;align-items:center;justify-content:center;box-shadow:0 0 24px rgba(232,168,73,.08),inset 0 .5px 0 rgba(232,168,73,.18),inset 0 0 20px rgba(232,168,73,.04);position:relative}.cmp-photo-zone__ph-ico:before{content:"";position:absolute;inset:-5px;border-radius:22px;border:1px solid rgba(232,168,73,.1);animation:cmpPhotoZonePulse 2.8s ease-in-out infinite}@keyframes cmpPhotoZonePulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:0;transform:scale(1.12)}}.cmp-photo-zone__ph-ico svg{width:26px;height:26px;stroke:rgba(232,168,73,.65);fill:none;stroke-width:1.6;stroke-linecap:round}.cmp-photo-zone__ph-text{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:hsla(0,0%,100%,.45);text-align:center;line-height:var(--lh-relaxed);max-width:180px;letter-spacing:var(--ls-body)}.cmp-photo-zone__ph-sub{font-size:var(--fs-nano);font-weight:var(--fw-semibold);letter-spacing:.04em;color:hsla(0,0%,100%,.2);margin-top:-2px}.cmp-photo-zone__img{width:100%;max-height:190px;-o-object-fit:cover;object-fit:cover;display:block}.cmp-photo-zone__rm{position:absolute;top:var(--space-2);right:var(--space-2);width:28px;height:28px;border-radius:var(--radius-full);background:rgba(0,0,0,.65);border:1px solid var(--border-glass);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:background var(--dur-fast);-webkit-tap-highlight-color:transparent;backdrop-filter:blur(12px)}.cmp-photo-zone__rm:hover{background:rgba(240,96,96,.55);color:#fff}.cmp-photo-zone__rm svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round}.cmp-photo-status{display:flex;align-items:center;gap:6px;position:absolute;bottom:var(--space-2);left:var(--space-2);padding:4px 10px;border-radius:var(--radius-full);background:rgba(5,5,9,.72);backdrop-filter:blur(16px);border:1px solid rgba(52,211,153,.2);font-size:var(--fs-micro);font-weight:var(--fw-bold);color:var(--signal-good)}.cmp-photo-status__dot{width:5px;height:5px;border-radius:var(--radius-full);background:var(--signal-good);box-shadow:0 0 6px rgba(52,211,153,.7)}.cmp-hint-section{padding:0 var(--space-4) var(--space-4)}.cmp-hint-label{display:flex;align-items:center;gap:7px;font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.3);margin-bottom:var(--space-2)}.cmp-hint-label-ico{width:18px;height:18px;border-radius:var(--radius-xs);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(232,168,73,.09);border:1px solid rgba(232,168,73,.16)}.cmp-hint-label-ico svg{width:11px;height:11px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;opacity:.85}.cmp-textarea{width:100%;padding:10px var(--space-3);border-radius:var(--radius-md);background:hsla(0,0%,100%,.04);border:1px solid var(--border-glass);font-family:var(--font-sans);font-size:var(--fs-caption);color:var(--text-primary);resize:none;outline:none;min-height:52px;line-height:var(--lh-normal);transition:border-color var(--dur-fast),background var(--dur-fast);box-shadow:inset 0 1px 2px rgba(0,0,0,.18)}.cmp-textarea::-moz-placeholder{color:var(--text-dim)}.cmp-textarea::placeholder{color:var(--text-dim)}.cmp-textarea:focus{border-color:rgba(232,168,73,.28);background:hsla(0,0%,100%,.05)}.cmp-meal-chips{display:flex;gap:6px;margin-top:var(--space-3);flex-wrap:wrap}.cmp-meal-chip{display:flex;align-items:center;gap:6px;padding:6px 13px 6px 9px;border-radius:var(--radius-full);background:hsla(0,0%,100%,.04);border:1px solid var(--border-glass);font-family:var(--font-sans);font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-tertiary);cursor:pointer;transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07);position:relative;overflow:hidden}.cmp-meal-chip:hover{background:hsla(0,0%,100%,.07);color:var(--text-secondary);border-color:var(--border-hover)}.cmp-meal-chip:active{transform:scale(.92)}.cmp-meal-chip--active{background:rgba(232,168,73,.1);border-color:rgba(232,168,73,.22);color:var(--accent);box-shadow:0 0 14px rgba(232,168,73,.1),inset 0 .5px 0 rgba(232,168,73,.15)}.cmp-meal-chip--active:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,168,73,.4) 40%,rgba(232,168,73,.4) 60%,transparent)}.cmp-meal-chip-ico{width:18px;height:18px;border-radius:var(--radius-xs);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.05);border:1px solid var(--border-glass);transition:all var(--dur-fast)}.cmp-meal-chip--active .cmp-meal-chip-ico{background:rgba(232,168,73,.14);border-color:rgba(232,168,73,.24)}.cmp-meal-chip-ico svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;flex-shrink:0}.cmp-divider{height:1px;margin:0 var(--space-4);background:linear-gradient(90deg,transparent,var(--border-default) 30%,var(--border-default) 70%,transparent)}.cmp-recognize-wrap{padding:var(--space-3) var(--space-4) var(--space-4)}.cmp-recognize-btn{width:100%;padding:14px;border-radius:var(--radius-md);background:var(--accent-gradient);color:#0a0a0c;border:none;font-family:var(--font-sans);font-size:var(--fs-body-lg);font-weight:var(--fw-bold);cursor:pointer;box-shadow:var(--shadow-btn-primary);transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}.cmp-recognize-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,hsla(0,0%,100%,.18),transparent);border-radius:var(--radius-md) var(--radius-md) 0 0;pointer-events:none}.cmp-recognize-btn:hover:not(:disabled){transform:scale(1.02);box-shadow:var(--shadow-btn-primary-hover)}.cmp-recognize-btn:active:not(:disabled){transform:scale(.97)}.cmp-recognize-btn:disabled{opacity:.36;cursor:not-allowed;transform:none}.cmp-recognize-btn svg{width:18px;height:18px;flex-shrink:0}.cmp-photo-card .cmp-recognize-btn>svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.cmp-recognize-btn--compact{font-size:var(--fs-caption);padding:var(--space-3)}.cmp-recognize-btn--compact svg{width:15px;height:15px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.cmp-recognize-btn--cook:not(:disabled){background:linear-gradient(135deg,rgba(103,213,232,.8),rgba(52,211,153,.7));box-shadow:0 4px 16px rgba(103,213,232,.18)}.cmp-recognize-btn--cook:not(:disabled):hover{box-shadow:0 4px 20px rgba(103,213,232,.22)}.cmp-recognize-btn--cook svg:not(.cmp-cta__spinner){width:16px;height:16px;flex-shrink:0;stroke:#0a0a0c;fill:none;stroke-width:2;stroke-linecap:round}.cmp-ai-badge{display:flex;align-items:center;gap:6px;margin-top:var(--space-2);padding:4px 12px;border-radius:var(--radius-full);background:rgba(52,211,153,.06);border:1px solid rgba(52,211,153,.12);font-size:var(--fs-micro);color:var(--text-tertiary);justify-content:center}.cmp-ai-badge svg{width:10px;height:10px;stroke:var(--signal-good);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}.cmp-ai-badge strong{color:var(--signal-good);font-weight:var(--fw-bold)}.cmp-tab-content{display:flex;flex-direction:column;gap:var(--card-gap)}.cmp-hist-empty{padding:var(--space-4) var(--space-3);text-align:center;font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-normal)}.cmp-hist-empty p{margin:0 0 var(--space-3);color:var(--text-secondary)}.cmp-hist-empty-cta{display:inline-flex;align-items:center;justify-content:center;margin:0 auto;padding:8px var(--space-3);border-radius:var(--radius-md);background:hsla(0,0%,100%,.06);border:1px solid var(--border-glass);font-family:var(--font-sans);font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--accent);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-hist-empty-cta:hover{background:hsla(0,0%,100%,.09);border-color:rgba(232,168,73,.22)}.cmp-hist-empty-cta:active{transform:scale(.98)}.cmp-hist-show-more{display:block;width:100%;margin:var(--space-2) 0 var(--space-1);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;font-family:var(--font-sans);font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-hist-show-more:hover{color:var(--text-secondary);background:hsla(0,0%,100%,.04)}.cmp-search-draft-btn{transition:opacity .25s}.cmp-search-card{position:relative;overflow:hidden;background:rgba(10,10,18,.22);backdrop-filter:blur(52px) saturate(2) brightness(1.12);-webkit-backdrop-filter:blur(52px) saturate(2) brightness(1.12);border-radius:var(--radius-lg);padding:0;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07),0 1px 2px rgba(0,0,0,.55),0 4px 16px rgba(0,0,0,.35),0 16px 52px rgba(0,0,0,.22)}.cmp-search-card:before{inset:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(145deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.07) 25%,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cmp-search-card:after,.cmp-search-card:before{content:"";position:absolute;pointer-events:none}.cmp-search-card:after{top:0;left:4%;right:4%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1) 10%,hsla(0,0%,100%,.35) 40%,hsla(0,0%,100%,.35) 60%,hsla(0,0%,100%,.1) 90%,transparent)}.cmp-search-inner{padding:var(--space-4)}.cmp-search-wrap{position:relative;display:flex;align-items:center;border-radius:var(--radius-md);transition:box-shadow .22s}.cmp-search-wrap.focused{box-shadow:0 0 0 2.5px rgba(232,168,73,.18),0 0 20px rgba(232,168,73,.08)}.cmp-search-wrap-ico{position:absolute;left:14px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:all .22s}.cmp-search-wrap-ico svg{width:16px;height:16px;stroke:hsla(0,0%,100%,.3);fill:none;stroke-width:1.8;stroke-linecap:round;transition:stroke .22s}.cmp-search-wrap.focused .cmp-search-wrap-ico svg{stroke:var(--accent);opacity:.9}.cmp-search-input{flex:1 1 0;min-width:0;width:100%;box-sizing:border-box;padding:12px 44px 12px 42px;border-radius:var(--radius-md);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.09);font-family:var(--font-sans);font-size:var(--fs-caption);color:var(--text-primary);outline:none;transition:border-color .22s,background .22s;box-shadow:inset 0 1px 3px rgba(0,0,0,.2),inset 0 .5px 0 hsla(0,0%,100%,.04)}.cmp-search-input::-moz-placeholder{color:hsla(0,0%,100%,.22)}.cmp-search-input::placeholder{color:hsla(0,0%,100%,.22)}.cmp-search-input:focus{border-color:rgba(232,168,73,.24);background:hsla(0,0%,100%,.07)}.cmp-search-recognize{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(232,168,73,.22),rgba(232,168,73,.14));border:1px solid rgba(232,168,73,.32);color:var(--accent);cursor:pointer;transition:all var(--dur-fast) var(--ease-spring);box-shadow:0 0 12px rgba(232,168,73,.12);-webkit-tap-highlight-color:transparent}.cmp-search-recognize:hover{background:linear-gradient(135deg,rgba(232,168,73,.32),rgba(232,168,73,.22));transform:translateY(-50%) scale(1.05)}.cmp-search-recognize:active{transform:translateY(-50%) scale(.92)}.cmp-search-recognize:disabled{opacity:.45;pointer-events:none}.cmp-search-recognize svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.cmp-hist-label{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4) var(--space-2)}.cmp-hist-label-text{font-size:var(--fs-label);font-weight:var(--fw-bold);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-label)}.cmp-hist-label-count{font-size:var(--fs-micro);color:var(--text-dim);font-weight:var(--fw-medium)}.cmp-hist-list{display:flex;flex-direction:column;padding:0 var(--space-2) var(--space-2)}.cmp-hist-item{display:flex;align-items:center;gap:11px;padding:10px var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur-fast);-webkit-tap-highlight-color:transparent;border-bottom:1px solid var(--border-subtle)}.cmp-hist-item:last-child{border-bottom:none}.cmp-hist-item:hover{background:hsla(0,0%,100%,.04)}.cmp-hist-item--sel{background:rgba(232,168,73,.06)}.cmp-hist-item--sel:hover{background:rgba(232,168,73,.08)}.cmp-hist-check{width:20px;height:20px;border-radius:var(--radius-xs);flex-shrink:0;border:1.5px solid hsla(0,0%,100%,.14);background:transparent;display:flex;align-items:center;justify-content:center;transition:all var(--dur-fast) var(--ease-spring);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.cmp-hist-item--sel .cmp-hist-check{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(232,168,73,.3)}.cmp-hist-check svg{width:10px;height:10px;stroke:#0a0a0c;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.7);transition:all var(--dur-fast) var(--ease-spring)}.cmp-hist-item--sel .cmp-hist-check svg{opacity:1;transform:scale(1)}.cmp-hist-ico{width:38px;height:38px;border-radius:var(--radius-md);flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-glass);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.1),0 1px 4px rgba(0,0,0,.2);position:relative;overflow:hidden;transition:all var(--dur-fast)}.cmp-hist-ico:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.08),transparent 60%);border-radius:inherit;pointer-events:none}.cmp-hist-ico svg{width:18px;height:18px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;position:relative;z-index:1}.cmp-hist-item--sel .cmp-hist-ico{border-color:rgba(232,168,73,.2);box-shadow:inset 0 .5px 0 rgba(232,168,73,.15),0 0 10px rgba(232,168,73,.1)}.cmp-hist-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cmp-hist-name{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-hist-meta{font-size:var(--fs-micro);color:var(--text-tertiary);display:flex;align-items:center;gap:5px}.cmp-hist-meta-sep{color:hsla(0,0%,100%,.12)}.cmp-hist-ings{font-size:var(--fs-micro);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-hist-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.cmp-hist-kcal{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:var(--ls-body)}.cmp-hist-unit{font-size:var(--fs-nano);color:var(--text-dim)}.cmp-advice-card{position:relative;overflow:hidden;background:rgba(10,10,18,.22);backdrop-filter:blur(52px) saturate(2) brightness(1.12);-webkit-backdrop-filter:blur(52px) saturate(2) brightness(1.12);border-radius:var(--radius-lg);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07),0 1px 2px rgba(0,0,0,.55),0 4px 16px rgba(0,0,0,.35),0 16px 52px rgba(0,0,0,.22)}.cmp-advice-card:before{inset:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(145deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.07) 25%,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cmp-advice-card:after,.cmp-advice-card:before{content:"";position:absolute;pointer-events:none}.cmp-advice-card:after{top:0;left:4%;right:4%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1) 10%,hsla(0,0%,100%,.35) 40%,hsla(0,0%,100%,.35) 60%,hsla(0,0%,100%,.1) 90%,transparent)}.cmp-advice-inner{padding:var(--space-4)}.cmp-advice-insight{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:linear-gradient(135deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02));border:1px solid var(--border-glass);margin-bottom:var(--space-3);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07),0 2px 8px rgba(0,0,0,.14)}.cmp-advice-insight-ico{width:34px;height:34px;min-width:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid transparent;transition:all var(--dur-fast)}.cmp-advice-insight-ico:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,hsla(0,0%,100%,.12),transparent);border-radius:11px 11px 0 0;pointer-events:none}.cmp-advice-insight-ico svg{width:16px;height:16px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}.cmp-advice-insight-ico--accent{background:rgba(232,168,73,.11);border-color:rgba(232,168,73,.22);box-shadow:0 0 14px rgba(232,168,73,.1),inset 0 -1px 0 rgba(232,168,73,.08)}.cmp-advice-insight-ico--accent svg{stroke:var(--accent)}.cmp-advice-insight-ico--accent svg circle:last-of-type{fill:currentColor;stroke:none}.cmp-advice-insight-ico--food{background:rgba(103,213,232,.1);border-color:rgba(103,213,232,.2);box-shadow:0 0 12px rgba(103,213,232,.08)}.cmp-advice-insight-ico--food svg{stroke:var(--food)}.cmp-advice-insight-body{flex:1;min-width:0}.cmp-advice-insight-tag{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.07em;text-transform:uppercase;color:hsla(0,0%,100%,.28);margin-bottom:2px}.cmp-advice-insight-text{font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-relaxed)}.cmp-advice-insight-text strong{color:var(--text-primary);font-weight:var(--fw-bold)}.cmp-photo-strip{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.cmp-photo-strip::-webkit-scrollbar{display:none}.cmp-photo-slot{width:76px;height:76px;flex-shrink:0;border-radius:16px;background:hsla(0,0%,100%,.03);border:1.5px dashed hsla(0,0%,100%,.11);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .22s var(--ease-spring);color:hsla(0,0%,100%,.28);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07),inset 0 0 20px hsla(0,0%,100%,.01)}.cmp-photo-slot:before{content:"";position:absolute;inset:0;border-radius:15px;background:radial-gradient(circle at 50% 0,hsla(0,0%,100%,.04) 0,transparent 70%);pointer-events:none}.cmp-photo-slot:hover{border-color:rgba(232,168,73,.32);background:rgba(232,168,73,.05);color:rgba(232,168,73,.7);box-shadow:0 0 18px rgba(232,168,73,.08),inset 0 .5px 0 rgba(232,168,73,.12);transform:scale(1.03)}.cmp-photo-slot:active{transform:scale(.92)}.cmp-photo-slot svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}.cmp-photo-slot-label{font-size:var(--fs-nano);font-weight:var(--fw-bold);letter-spacing:.03em;color:hsla(0,0%,100%,.2)}button.cmp-photo-slot{margin:0;font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cmp-photo-strip__item{position:relative;width:76px;height:76px;flex-shrink:0;border-radius:16px;overflow:hidden;border:1px solid hsla(0,0%,100%,.1);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.06),0 2px 8px rgba(0,0,0,.22)}.cmp-photo-strip__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.cmp-photo-strip__rm{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:var(--radius-xs);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:rgba(5,5,9,.55);color:var(--text-primary);transition:background var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-photo-strip__rm:hover{background:rgba(5,5,9,.72)}.cmp-photo-strip__rm svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.cmp-advice-stack-gap{height:var(--space-3);flex-shrink:0}.cmp-advice-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cmp-goal-badge{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-md);position:relative;overflow:hidden;margin-bottom:var(--space-3)}.cmp-goal-badge:before{content:"";position:absolute;inset:0;border-radius:var(--radius-md);padding:1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.cmp-goal-badge--green{background:rgba(52,211,153,.07);box-shadow:0 2px 10px rgba(52,211,153,.06),inset 0 .5px 0 rgba(52,211,153,.12)}.cmp-goal-badge--green:before{background:linear-gradient(135deg,rgba(52,211,153,.22),rgba(52,211,153,.06) 50%,transparent)}.cmp-goal-badge--blue{background:rgba(103,213,232,.07);box-shadow:0 2px 10px rgba(103,213,232,.06),inset 0 .5px 0 rgba(103,213,232,.12)}.cmp-goal-badge--blue:before{background:linear-gradient(135deg,rgba(103,213,232,.22),rgba(103,213,232,.06) 50%,transparent)}.cmp-goal-badge-icon{width:28px;height:28px;min-width:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cmp-goal-badge--green .cmp-goal-badge-icon{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.18)}.cmp-goal-badge--blue .cmp-goal-badge-icon{background:rgba(103,213,232,.1);border:1px solid rgba(103,213,232,.18)}.cmp-goal-badge-icon svg{width:14px;height:14px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cmp-goal-badge--green .cmp-goal-badge-icon svg{stroke:var(--signal-good)}.cmp-goal-badge--blue .cmp-goal-badge-icon svg{stroke:var(--food)}.cmp-goal-badge-body{flex:1;min-width:0}.cmp-goal-badge-label{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.07em;text-transform:uppercase;color:hsla(0,0%,100%,.28);margin-bottom:1px}.cmp-goal-badge-text{font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-normal)}.cmp-goal-badge-text strong{color:var(--text-primary);font-weight:var(--fw-bold)}.cmp-sum-bar{display:block;margin-bottom:4px;border-radius:16px;background:rgba(10,10,20,.4);backdrop-filter:blur(40px) saturate(1.8) brightness(1.08);-webkit-backdrop-filter:blur(40px) saturate(1.8) brightness(1.08);border:1px solid hsla(0,0%,100%,.07);padding:10px 14px 8px;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 2px 12px rgba(0,0,0,.3),inset 0 0 60px rgba(232,168,73,.04)}.cmp-sum-bar:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.22) 30%,hsla(0,0%,100%,.34) 50%,hsla(0,0%,100%,.22) 70%,transparent);pointer-events:none}.cmp-sum-bar__row{display:flex;align-items:center;gap:0;min-height:36px}.cmp-sum-bar__kcal{font-size:28px;font-weight:900;letter-spacing:-.055em;line-height:1;display:inline-block;flex-shrink:0;background:linear-gradient(168deg,#fff,hsla(0,0%,100%,.96) 35%,rgba(232,168,73,.92));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 10px rgba(232,168,73,.3)) drop-shadow(0 0 32px rgba(232,168,73,.12))}.cmp-sum-bar__unit{font-size:var(--fs-label);font-weight:var(--fw-semibold);color:hsla(0,0%,100%,.3);letter-spacing:.01em;margin:0 10px 0 4px;padding-bottom:3px;align-self:flex-end;flex-shrink:0}.cmp-sum-bar__bars{flex:1;display:flex;gap:2px;height:4px;background:hsla(0,0%,100%,.05);box-shadow:inset 0 1px 3px rgba(0,0,0,.5);margin:0;min-width:40px}.cmp-sum-bar__bar,.cmp-sum-bar__bars{border-radius:var(--radius-full);overflow:hidden}.cmp-sum-bar__bar{height:100%;transition:width var(--dur-slow) var(--ease-out);position:relative}.cmp-sum-bar__bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 15%,hsla(0,0%,100%,.38) 50%,transparent 82%);background-size:200% 100%;animation:shimmer 3.6s linear infinite}.cmp-sum-bar__bar--p{background:linear-gradient(90deg,rgba(50,200,220,.8),var(--food));box-shadow:0 0 6px rgba(103,213,232,.4)}.cmp-sum-bar__bar--f{background:linear-gradient(90deg,rgba(215,148,28,.8),var(--rhythm));box-shadow:0 0 6px rgba(249,168,88,.35)}.cmp-sum-bar__bar--c{background:linear-gradient(90deg,rgba(130,92,235,.8),var(--energy));box-shadow:0 0 6px rgba(167,139,250,.3)}.cmp-sum-bar__macros{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:10px}.cmp-sum-bar__macro{display:flex;align-items:baseline;gap:1.5px}.cmp-sum-bar__macro-k{font-size:8.5px;font-weight:var(--fw-black);letter-spacing:.04em;text-transform:uppercase}.cmp-sum-bar__macro-k--p{color:rgba(103,213,232,.65)}.cmp-sum-bar__macro-k--f{color:rgba(249,168,88,.65)}.cmp-sum-bar__macro-k--c{color:rgba(167,139,250,.65)}.cmp-sum-bar__macro-v{font-size:var(--fs-small);font-weight:var(--fw-bold);color:hsla(0,0%,100%,.72);letter-spacing:-.02em}.cmp-sum-bar__macro-u{font-size:8.5px;color:hsla(0,0%,100%,.22);font-weight:var(--fw-medium)}.cmp-sum-bar__macro-sep{width:1px;height:9px;background:hsla(0,0%,100%,.1);flex-shrink:0;margin:0 1px}.cmp-sum-bar__time{display:flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--radius-xs);background:rgba(249,168,88,.08);border:1px solid rgba(249,168,88,.16);font-size:10.5px;font-weight:var(--fw-bold);color:rgba(249,168,88,.9);flex-shrink:0;cursor:pointer;margin-left:10px;transition:background var(--dur-fast),border-color var(--dur-fast);-webkit-tap-highlight-color:transparent;letter-spacing:var(--ls-body)}.cmp-sum-bar__time:hover{background:rgba(249,168,88,.14);border-color:rgba(249,168,88,.26)}.cmp-sum-bar__time:active{transform:scale(.94)}.cmp-sum-bar__time-dot{width:5px;height:5px;border-radius:var(--radius-full);background:var(--rhythm);box-shadow:0 0 6px rgba(249,168,88,.8);animation:cmpPulseDot 2.2s ease-in-out infinite;flex-shrink:0}.cmp-sum-bar__meta{display:flex;align-items:center;gap:4px;padding-top:6px;margin-top:6px;border-top:1px solid hsla(0,0%,100%,.05)}.cmp-sum-bar__meal-type{display:flex;align-items:center;gap:4px;font-size:var(--fs-micro);font-weight:var(--fw-bold);color:hsla(0,0%,100%,.32);letter-spacing:.04em;text-transform:uppercase}.cmp-sum-bar__meal-type svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0;opacity:.55}.cmp-sum-bar__grams{font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:hsla(0,0%,100%,.28);letter-spacing:var(--ls-body)}.cmp-sum-bar__sep{color:hsla(0,0%,100%,.12);font-size:var(--fs-micro)}.cmp-ctx{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.03);border:1px solid var(--border-default);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-ctx:hover{background:hsla(0,0%,100%,.05);border-color:rgba(232,168,73,.14)}.cmp-ctx:active{opacity:.75}.cmp-ctx__thumb{width:38px;height:38px;border-radius:var(--radius-sm);flex-shrink:0;background:rgba(232,168,73,.09);border:1px solid rgba(232,168,73,.15);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .2s}.cmp-ctx__thumb--photo{border-color:rgba(232,168,73,.35);box-shadow:0 0 10px rgba(232,168,73,.2),inset 0 0 0 1px hsla(0,0%,100%,.06)}.cmp-ctx__thumb svg{width:16px;height:16px;stroke:rgba(232,168,73,.7);fill:none;stroke-width:1.8;stroke-linecap:round}.cmp-ctx__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.cmp-ctx__info{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden}.cmp-ctx__method{display:flex;align-items:center;gap:5px;font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.cmp-ctx__method-dot{width:4px;height:4px;border-radius:var(--radius-full);flex-shrink:0;background:var(--accent);opacity:.7;animation:cmpPulseDot 2.5s ease-in-out infinite}.cmp-ctx__method-model{font-size:var(--fs-nano);color:var(--text-dim);padding:1px 5px;border-radius:4px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);font-weight:var(--fw-semibold)}.cmp-ctx__sep{color:hsla(0,0%,100%,.1);font-size:var(--fs-micro);flex-shrink:0}.cmp-ctx__hint{font-size:var(--fs-micro);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.cmp-ctx__ai-badge{display:flex;align-items:center;gap:3px;padding:2px 6px;border-radius:5px;background:rgba(52,211,153,.07);border:1px solid rgba(52,211,153,.12);font-size:var(--fs-nano);font-weight:var(--fw-bold);color:var(--signal-good);flex-shrink:0;white-space:nowrap;letter-spacing:.02em}.cmp-ctx__ai-badge svg{width:7px;height:7px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.cmp-ctx__chev{flex-shrink:0;color:var(--text-dim);transition:color var(--dur-fast),transform var(--dur-fast)}.cmp-ctx:hover .cmp-ctx__chev{color:var(--text-tertiary);transform:translateX(1px)}.cmp-ctx__chev svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cmp-add-dish-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px var(--space-4);border-radius:16px;cursor:pointer;background:hsla(0,0%,100%,.02);border:1.5px dashed hsla(0,0%,100%,.09);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-tertiary);font-family:var(--font-sans);transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.cmp-add-dish-btn:hover{background:rgba(232,168,73,.04);border-color:rgba(232,168,73,.22);color:var(--accent);box-shadow:0 0 20px rgba(232,168,73,.06)}.cmp-add-dish-btn:active{transform:scale(.97)}.cmp-add-dish-btn__ico{width:26px;height:26px;border-radius:var(--radius-xs);flex-shrink:0;background:hsla(0,0%,100%,.04);border:1px solid var(--border-glass);display:flex;align-items:center;justify-content:center;transition:all var(--dur-fast)}.cmp-add-dish-btn:hover .cmp-add-dish-btn__ico{background:rgba(232,168,73,.1);border-color:rgba(232,168,73,.2)}.cmp-add-dish-btn__ico svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}.cmp-add-dish-inline{display:flex;align-items:center;padding:4px;border-radius:16px;background:rgba(232,168,73,.06);border:1.5px solid rgba(232,168,73,.28);box-shadow:0 0 0 4px rgba(232,168,73,.04),inset 0 .5px 0 hsla(0,0%,100%,.06);transition:all var(--dur-fast) var(--ease-out)}.cmp-add-dish-input{flex:1;min-width:0;padding:12px var(--space-4);border:0;outline:none;background:transparent;color:var(--text-primary);caret-color:var(--accent);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-semibold);letter-spacing:-.01em;-webkit-tap-highlight-color:transparent}.cmp-add-dish-input::-moz-placeholder{color:var(--text-dim);font-weight:var(--fw-medium)}.cmp-add-dish-input::placeholder{color:var(--text-dim);font-weight:var(--fw-medium)}.cmp-forecast-card{position:relative;overflow:hidden;background:rgba(10,10,18,.22);backdrop-filter:blur(52px) saturate(2) brightness(1.12);-webkit-backdrop-filter:blur(52px) saturate(2) brightness(1.12);border-radius:var(--radius-lg);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.08),0 1px 2px rgba(0,0,0,.55),0 4px 16px rgba(0,0,0,.32),0 16px 52px rgba(0,0,0,.2),inset 0 0 80px rgba(167,139,250,.07),inset 0 -24px 60px rgba(167,139,250,.04)}.cmp-forecast-card:before{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(148deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.08) 22%,hsla(0,0%,100%,.02) 50%,transparent 80%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.cmp-forecast-card:after{content:"";position:absolute;top:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1) 10%,hsla(0,0%,100%,.34) 40%,hsla(0,0%,100%,.34) 60%,hsla(0,0%,100%,.1) 90%,transparent);pointer-events:none}.cmp-forecast{padding:16px 18px 18px}.cmp-forecast__section{display:flex;align-items:flex-start;gap:13px;padding:13px 14px;border-radius:var(--radius-md);transition:background var(--dur-fast)}.cmp-forecast__section--energy{background:var(--energy-bg);border:1px solid var(--energy-border)}.cmp-forecast__section--goal{background:var(--accent-bg);border:1px solid var(--accent-border)}.cmp-forecast__section--tip{background:rgba(52,211,153,.03);border:1px solid rgba(52,211,153,.07)}.cmp-forecast__ico{width:34px;height:34px;border-radius:11px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.12),0 3px 10px rgba(0,0,0,.25)}.cmp-forecast__ico--energy{background:linear-gradient(145deg,rgba(167,139,250,.18),rgba(167,139,250,.08));border:1px solid rgba(167,139,250,.24);box-shadow:0 0 14px rgba(167,139,250,.14),inset 0 .5px 0 hsla(0,0%,100%,.12)}.cmp-forecast__ico--energy svg{stroke:var(--energy);filter:drop-shadow(0 0 5px rgba(167,139,250,.5))}.cmp-forecast__ico--goal{background:linear-gradient(145deg,rgba(232,168,73,.16),rgba(232,168,73,.07));border:1px solid rgba(232,168,73,.22);box-shadow:0 0 14px rgba(232,168,73,.12),inset 0 .5px 0 hsla(0,0%,100%,.12)}.cmp-forecast__ico--goal svg{stroke:var(--accent);filter:drop-shadow(0 0 5px rgba(232,168,73,.45))}.cmp-forecast__ico--tip{background:linear-gradient(145deg,rgba(52,211,153,.14),rgba(52,211,153,.06));border:1px solid rgba(52,211,153,.2);box-shadow:0 0 12px rgba(52,211,153,.1),inset 0 .5px 0 hsla(0,0%,100%,.1)}.cmp-forecast__ico--tip svg{stroke:var(--signal-good);filter:drop-shadow(0 0 5px rgba(52,211,153,.4))}.cmp-forecast__ico svg{width:16px;height:16px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}.cmp-forecast__body{flex:1;min-width:0}.cmp-forecast__title{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:4px;letter-spacing:-.015em}.cmp-forecast__text{font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-relaxed)}.cmp-forecast__text strong{color:var(--text-primary);font-weight:var(--fw-bold)}.cmp-forecast__duration{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:4px 10px;border-radius:var(--radius-full);background:rgba(167,139,250,.09);border:1px solid rgba(167,139,250,.18);font-size:var(--fs-micro);font-weight:var(--fw-bold);color:var(--energy);box-shadow:0 0 10px rgba(167,139,250,.08)}.cmp-forecast__duration svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}.cmp-forecast__goal-bars{display:flex;flex-direction:column;gap:6px;margin-top:9px}.cmp-forecast__goal-row{display:flex;align-items:center;gap:8px}.cmp-forecast__goal-lbl{font-size:var(--fs-micro);font-weight:var(--fw-black);letter-spacing:.05em;text-transform:uppercase;width:12px;flex-shrink:0;text-align:center}.cmp-forecast__goal-lbl--p{color:var(--food)}.cmp-forecast__goal-lbl--f{color:var(--rhythm)}.cmp-forecast__goal-lbl--c{color:var(--energy)}.cmp-forecast__goal-track{flex:1;height:5px;border-radius:var(--radius-full);background:hsla(0,0%,100%,.05);overflow:hidden;position:relative;box-shadow:inset 0 1px 3px rgba(0,0,0,.35)}.cmp-forecast__goal-fill{height:100%;border-radius:var(--radius-full);position:relative;animation:cmpBarFill .9s var(--ease-out) both}@keyframes cmpBarFill{0%{width:0;opacity:.5}to{opacity:1}}.cmp-forecast__goal-fill:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 25%,hsla(0,0%,100%,.34) 55%,transparent 78%);background-size:200% 100%;animation:shimmer 3.2s linear infinite}.cmp-forecast__goal-fill--p{background:linear-gradient(90deg,rgba(50,200,220,.85),var(--food));box-shadow:0 0 10px rgba(103,213,232,.4);animation-delay:.1s}.cmp-forecast__goal-fill--f{background:linear-gradient(90deg,rgba(215,148,28,.85),var(--rhythm));box-shadow:0 0 10px rgba(249,168,88,.35);animation-delay:.2s}.cmp-forecast__goal-fill--c{background:linear-gradient(90deg,rgba(130,92,235,.85),var(--energy));box-shadow:0 0 10px rgba(167,139,250,.3);animation-delay:.3s}.cmp-forecast__goal-val{font-size:var(--fs-micro);font-weight:var(--fw-bold);color:var(--text-secondary);white-space:nowrap;min-width:40px;text-align:right;letter-spacing:var(--ls-body)}.cmp-forecast__day-line{display:flex;align-items:center;gap:6px;font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:9px}.cmp-forecast__day-line strong{color:var(--text-primary);font-weight:var(--fw-bold)}.cmp-forecast__day-arrow{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-micro);color:var(--accent);font-weight:var(--fw-bold);padding:2px 7px;border-radius:var(--radius-xs);background:var(--accent-bg);border:1px solid var(--accent-border);flex-shrink:0}.cmp-forecast__divider{height:1px;margin:10px 0;background:linear-gradient(90deg,transparent,var(--border-default) 25%,hsla(0,0%,100%,.1) 50%,var(--border-default) 75%,transparent)}.cmp-forecast__goal-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:0;padding:0 0 2px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.cmp-forecast__goal-chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:transform var(--dur-normal) var(--ease-standard)}.cmp-forecast__goal-chevron--open{transform:rotate(180deg)}.cmp-forecast__goal-details{max-height:0;overflow:hidden;opacity:0;transition:max-height var(--dur-normal) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}.cmp-forecast__goal-details--open{max-height:720px;opacity:1}.cmp-forecast-wrap{display:block}.nutri-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:var(--fs-nano);color:var(--text-dim);font-weight:var(--fw-semibold);letter-spacing:.02em}.nutri-legend--spaced{margin-top:8px}.nutri-legend__item{display:inline-flex;align-items:center;gap:4px}.nutri-legend__line{display:inline-block;width:10px;height:2px;border-radius:2px;opacity:.85}.nutri-legend__line--main{height:2.5px;box-shadow:0 0 6px rgba(54,201,122,.35)}.nutri-legend__line--energy{background:rgba(54,201,122,.75)}.nutri-legend__line--carb{background:rgba(232,168,73,.65)}.nutri-legend__line--protein{background:rgba(124,140,244,.55)}.nutri-legend__line--fat{background:hsla(0,52%,65%,.5)}.compound-curve{margin-top:6px}.compound-curve,.compound-curve svg{width:100%;height:auto;display:block}@keyframes cmpDishFadeIn{0%{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.cmp-dish--fadein{animation:cmpDishFadeIn .38s var(--ease-out) both}.cmp-dishes-wrap{display:flex;flex-direction:column;gap:var(--card-gap)}.cmp-dish{position:relative;overflow:hidden;background:rgba(10,10,18,.22);backdrop-filter:blur(52px) saturate(2) brightness(1.12);-webkit-backdrop-filter:blur(52px) saturate(2) brightness(1.12);border-radius:18px;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.08),0 1px 4px rgba(0,0,0,.45),0 6px 20px rgba(0,0,0,.25),inset 0 0 60px rgba(232,168,73,.04),inset 0 -16px 40px rgba(232,168,73,.025);transition:box-shadow .25s,border-radius .3s var(--ease-out)}.cmp-dish--open{box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.1),0 2px 8px rgba(0,0,0,.4),0 10px 32px rgba(0,0,0,.28),inset 0 0 100px rgba(232,168,73,.06),inset 0 -20px 60px rgba(232,168,73,.04)}.cmp-dish:before{inset:0;border-radius:18px;padding:1px;background:linear-gradient(148deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.08) 22%,hsla(0,0%,100%,.02) 50%,transparent 80%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cmp-dish:after,.cmp-dish:before{content:"";position:absolute;pointer-events:none}.cmp-dish:after{top:0;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.22) 35%,hsla(0,0%,100%,.32) 50%,hsla(0,0%,100%,.22) 65%,transparent)}.cmp-dish__hdr{display:flex;align-items:center;gap:9px;padding:13px 14px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.cmp-dish__hdr:hover{background:hsla(0,0%,100%,.02)}.cmp-dish__hdr:active{background:hsla(0,0%,100%,.04)}.cmp-dish__hdr:after{content:"";position:absolute;bottom:0;left:14px;right:14px;height:1px;background:linear-gradient(90deg,transparent,var(--border-default) 30%,var(--border-glass) 50%,var(--border-default) 70%,transparent)}.cmp-dish__bar{width:3px;min-height:36px;border-radius:2px;flex-shrink:0;align-self:stretch;background:linear-gradient(to bottom,var(--accent) 0,rgba(232,168,73,.15) 100%);box-shadow:0 0 10px rgba(232,168,73,.5),0 0 4px rgba(232,168,73,.25)}.cmp-dish__icon{width:38px;height:38px;border-radius:var(--radius-md);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(145deg,rgba(232,168,73,.16),rgba(232,168,73,.07));border:1px solid rgba(232,168,73,.2);box-shadow:0 2px 8px rgba(0,0,0,.28),inset 0 1px 0 rgba(232,168,73,.24),inset 0 0 18px rgba(232,168,73,.07);transition:all .22s var(--ease-spring)}.cmp-dish--open .cmp-dish__icon{background:linear-gradient(145deg,rgba(232,168,73,.24),rgba(232,168,73,.12));border-color:rgba(232,168,73,.36);box-shadow:0 2px 14px rgba(232,168,73,.22),inset 0 1px 0 rgba(232,168,73,.32),inset 0 0 22px rgba(232,168,73,.12);animation:cmpIconPop .38s var(--ease-spring)}@keyframes cmpIconPop{0%{transform:scale(1)}40%{transform:scale(1.13)}to{transform:scale(1)}}.cmp-dish__icon svg{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(232,168,73,.4))}.cmp-dish__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cmp-dish__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.016em;cursor:default;line-height:1.25}.cmp-dish__name,.cmp-dish__name-input{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--text-primary)}.cmp-dish__name-input{font-family:var(--font-sans);letter-spacing:-.012em;background:hsla(0,0%,100%,.07);border:1px solid rgba(232,168,73,.3);border-radius:var(--radius-xs);padding:2px var(--space-2);outline:none;width:100%;box-shadow:0 0 0 3px rgba(232,168,73,.06)}.cmp-dish__sub{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow:hidden}.cmp-dish__sub-g{font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--text-secondary);letter-spacing:var(--ls-body);flex-shrink:0}.cmp-dish__sub-sep{font-size:var(--fs-micro);color:var(--text-dim);flex-shrink:0}.cmp-dish__ing-count{font-size:var(--fs-micro);color:var(--text-label);font-weight:var(--fw-semibold);padding:1px 5px;border-radius:5px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);white-space:nowrap;flex-shrink:0;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.05)}.cmp-dish__macro-strip{display:none}.cmp-dish__kcal-btn{display:flex;align-items:center;gap:2px;font-family:var(--font-sans);background:rgba(232,168,73,.08);border:1px solid rgba(232,168,73,.16);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;flex-shrink:0;transition:all .18s var(--ease-spring);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 6px rgba(232,168,73,.1),inset 0 1px 0 rgba(232,168,73,.18),inset 0 0 14px rgba(232,168,73,.04);position:relative}.cmp-dish__kcal-btn:hover{background:rgba(232,168,73,.15);border-color:rgba(232,168,73,.28);box-shadow:0 0 16px rgba(232,168,73,.22),inset 0 1px 0 rgba(232,168,73,.24);transform:scale(1.04)}.cmp-dish__kcal-btn:active{transform:scale(.92)}.cmp-dish__kcal-btn--open{background:rgba(232,168,73,.16);border-color:rgba(232,168,73,.4);box-shadow:0 0 0 2px rgba(232,168,73,.12),0 0 16px rgba(232,168,73,.22),inset 0 1px 0 rgba(232,168,73,.26)}.kcal-btn-val{font-size:var(--fs-body-lg);font-weight:900;letter-spacing:-.03em;line-height:1;color:#fff;text-shadow:0 0 12px rgba(232,168,73,.65)}.kcal-btn-unit{font-size:var(--fs-nano);font-weight:var(--fw-bold);color:rgba(232,168,73,.6);letter-spacing:.01em;line-height:1;margin-top:1px}.cmp-dish__menu-btn{width:28px;height:28px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);color:var(--text-tertiary);cursor:pointer;transition:all .15s var(--ease-spring);flex-shrink:0;-webkit-tap-highlight-color:transparent}.cmp-dish__menu-btn:hover{background:hsla(0,0%,100%,.09);color:var(--text-primary);border-color:var(--border-hover)}.cmp-dish__menu-btn:active{transform:scale(.86)}.cmp-dish__menu-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.cmp-dish__chev{width:22px;height:22px;flex-shrink:0;border-radius:7px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);color:var(--text-tertiary);transition:transform .32s var(--ease-out),color .2s,background .2s,border-color .2s}.cmp-dish__chev svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.cmp-dish--open .cmp-dish__chev{transform:rotate(180deg);color:var(--accent);background:rgba(232,168,73,.08);border-color:rgba(232,168,73,.16)}.cmp-dish__basis{display:grid;grid-template-rows:1fr;overflow:hidden;padding:0 var(--space-4) 10px;transition:grid-template-rows .3s var(--ease-out),opacity .22s var(--ease-out),padding .25s}.cmp-dish__basis-inner{display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 0 0;overflow:hidden;min-height:0}.cmp-dish--open .cmp-dish__basis{grid-template-rows:0fr;opacity:0;padding-bottom:0;pointer-events:none}.cmp-dish--open .cmp-dish__basis-inner{padding-top:0}.cmp-dish__basis-chip{display:flex;align-items:baseline;gap:2px;padding:2px 7px;border-radius:var(--radius-xs);font-size:var(--fs-micro);font-weight:var(--fw-bold)}.cmp-dish__basis-chip--p{background:rgba(103,213,232,.06);border:1px solid rgba(103,213,232,.12)}.cmp-dish__basis-chip--f{background:rgba(249,168,88,.06);border:1px solid rgba(249,168,88,.12)}.cmp-dish__basis-chip--c{background:rgba(167,139,250,.06);border:1px solid rgba(167,139,250,.12)}.cmp-dish__basis-chip--kcal{background:rgba(255,209,102,.06);border:1px solid rgba(255,209,102,.14)}.cmp-dish__basis-chip--kcal .cmp-dish__basis-chip-v{color:rgba(255,209,102,.82)}.cmp-dish__basis-chip--kcal .cmp-dish__basis-chip-u{color:rgba(255,209,102,.4);font-size:8.5px}.cmp-dish__basis-label{font-size:var(--fs-micro);color:var(--text-dim);font-weight:var(--fw-semibold);letter-spacing:var(--ls-body);white-space:nowrap}.cmp-dish__basis-chip-k{font-size:8.5px;font-weight:var(--fw-black);letter-spacing:.04em;text-transform:uppercase}.cmp-dish__basis-chip--p .cmp-dish__basis-chip-k{color:rgba(103,213,232,.65)}.cmp-dish__basis-chip--f .cmp-dish__basis-chip-k{color:rgba(249,168,88,.65)}.cmp-dish__basis-chip--c .cmp-dish__basis-chip-k{color:rgba(167,139,250,.65)}.cmp-dish__basis-chip-v{color:hsla(0,0%,100%,.68);letter-spacing:var(--ls-body)}.cmp-dish__basis-chip-u{font-size:8.5px;color:hsla(0,0%,100%,.22)}.cmp-dish__basis-sep{font-size:var(--fs-micro);color:var(--text-dim);flex-shrink:0}.cmp-dish__basis-kcal100{font-size:var(--fs-micro);color:hsla(0,0%,100%,.2);font-weight:var(--fw-semibold);letter-spacing:var(--ls-body);white-space:nowrap}.cmp-dish__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s var(--ease-out)}.cmp-dish__body-inner{overflow:hidden;min-height:0}.cmp-dish--open .cmp-dish__body{grid-template-rows:1fr}.cmp-dish-kcal-step{display:grid;grid-template-rows:0fr;opacity:0;padding:0 10px;transition:grid-template-rows .26s var(--ease-out),opacity .18s var(--ease-out),padding-bottom .26s var(--ease-out)}.cmp-dish-kcal-step>.cmp-de{overflow:hidden;min-height:0}.cmp-dish-kcal-step--open{grid-template-rows:1fr;opacity:1;padding-bottom:8px}.cmp-de{margin:0;background:linear-gradient(135deg,rgba(232,168,73,.06),rgba(232,168,73,.02));border:1px solid rgba(232,168,73,.16);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 0 14px rgba(232,168,73,.06),inset 0 1px 0 hsla(0,0%,100%,.05);box-sizing:border-box}.cmp-de-l1{padding:6px 10px;gap:0;width:100%;box-sizing:border-box}.cmp-de-l1,.cmp-de-seg{display:flex;align-items:center}.cmp-de-seg{gap:4px;flex:1;min-width:0}.cmp-de-divider{width:1px;height:24px;flex-shrink:0;background:hsla(0,0%,100%,.08);margin:0 6px}.cmp-de-label{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:rgba(232,168,73,.5);white-space:nowrap;flex-shrink:0}.cmp-de-btn{width:28px;height:28px;min-width:28px;border-radius:var(--radius-xs);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:var(--fw-semibold);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .13s var(--ease-spring);font-family:var(--font-sans);border:1px solid transparent}.cmp-de-btn--minus{background:hsla(0,0%,100%,.05);border-color:var(--border-glass);color:var(--text-tertiary)}.cmp-de-btn--minus:hover{background:hsla(0,0%,100%,.1);color:var(--text-primary)}.cmp-de-btn--minus:active{transform:scale(.86)}.cmp-de-btn--plus{background:rgba(232,168,73,.12);border-color:rgba(232,168,73,.22);color:var(--accent)}.cmp-de-btn--plus:hover{background:rgba(232,168,73,.2);box-shadow:0 0 8px rgba(232,168,73,.18)}.cmp-de-btn--plus:active{transform:scale(.86)}.cmp-de-input{flex:1;min-width:36px;padding:3px 0;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:17px;font-weight:900;font-family:var(--font-sans);text-align:center;letter-spacing:-.02em;-moz-appearance:textfield;caret-color:var(--accent)}.cmp-de-input::-webkit-inner-spin-button,.cmp-de-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cmp-de-input:focus{color:#fff}.cmp-de-unit{font-weight:var(--fw-semibold)}.cmp-de-macro-toggle,.cmp-de-unit{font-size:var(--fs-micro);color:var(--text-dim);white-space:nowrap;flex-shrink:0}.cmp-de-macro-toggle{display:flex;align-items:center;gap:3px;padding:5px 7px;border-radius:var(--radius-xs);cursor:pointer;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);font-weight:var(--fw-bold);letter-spacing:.03em;transition:all var(--dur-fast);-webkit-tap-highlight-color:transparent;margin-left:4px}.cmp-de-macro-toggle svg{width:9px;height:9px;stroke:currentColor;fill:none;stroke-width:2.5;flex-shrink:0;transition:transform .2s}.cmp-de-macro-toggle:hover{background:hsla(0,0%,100%,.08);color:var(--text-tertiary)}.cmp-de-macro-toggle--open{background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.2);color:rgba(167,139,250,.85)}.cmp-de-macro-toggle--open svg{transform:rotate(180deg)}.cmp-de-l2{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s var(--ease-out),opacity .16s var(--ease-out)}.cmp-de-l2>*{overflow:hidden;min-height:0}.cmp-de-l2--open{grid-template-rows:1fr;opacity:1}.cmp-de-l2-inner{display:flex;align-items:center;gap:0;padding:5px 10px 7px;border-top:1px solid hsla(0,0%,100%,.06)}.cmp-de-macro-seg{display:flex;align-items:center;gap:4px;flex:1}.cmp-de-macro-label{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.06em;width:16px;flex-shrink:0}.cmp-de-macro-label--p{color:rgba(103,213,232,.7)}.cmp-de-macro-label--f{color:rgba(249,168,88,.7)}.cmp-de-macro-label--c{color:rgba(167,139,250,.7)}.cmp-de-macro-btn{width:24px;height:24px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:var(--fw-bold);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .12s;font-family:var(--font-sans);border:1px solid transparent}.cmp-de-macro-btn--minus{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,100%,.07);color:var(--text-dim)}.cmp-de-macro-btn--minus:active{transform:scale(.85)}.cmp-de-macro-btn--plus{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.09);color:var(--text-tertiary)}.cmp-de-macro-btn--plus:active{transform:scale(.85)}.cmp-de-macro-val{flex:1;min-width:0;text-align:center;font-size:var(--fs-caption);font-weight:var(--fw-black);color:var(--text-primary);letter-spacing:var(--ls-body);transition:transform .13s}.cmp-de-macro-unit{font-size:var(--fs-nano);color:var(--text-dim);flex-shrink:0}.cmp-de-macro-divider{width:1px;height:20px;background:hsla(0,0%,100%,.06);margin:0 6px;flex-shrink:0}.cmp-ings{padding:0 8px 8px;display:flex;flex-direction:column;gap:0;margin:0 2px}.cmp-ings__hdr{display:flex;align-items:center;justify-content:space-between;padding:9px 4px 5px;border-top:1px solid hsla(0,0%,100%,.05)}.cmp-ings__label{font-size:var(--fs-micro);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.28)}.cmp-ings__total{font-size:var(--fs-micro);font-weight:var(--fw-bold);color:rgba(232,168,73,.55);letter-spacing:var(--ls-body)}.cmp-ing{border-radius:var(--radius-sm);position:relative}.cmp-ing+.cmp-ing{margin-top:1px}.cmp-ing__row{display:flex;align-items:center;gap:8px;padding:8px 6px;cursor:pointer;transition:background var(--dur-fast);-webkit-tap-highlight-color:transparent;border-radius:var(--radius-sm);position:relative}.cmp-ing__row:hover{background:hsla(0,0%,100%,.04)}.cmp-ing__row:active{background:hsla(0,0%,100%,.06)}.cmp-ing--open>.cmp-ing__row{background:rgba(103,213,232,.05);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.cmp-ing--low-confidence>.cmp-ing__row{background:rgba(240,180,66,.04)}.cmp-ing__bar{width:3px;align-self:stretch;min-height:22px;border-radius:2px;flex-shrink:0;opacity:.75;transition:opacity var(--dur-fast)}.cmp-ing__row:hover .cmp-ing__bar{opacity:1}.cmp-ing__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cmp-ing__name{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.012em}.cmp-ing--override .cmp-ing__name:after{content:" ★";color:var(--accent);font-size:var(--fs-nano)}.cmp-ing__meta{display:flex;align-items:center;gap:5px}.cmp-ing__wlbl{font-size:var(--fs-label);color:hsla(0,0%,100%,.45);font-weight:var(--fw-semibold);letter-spacing:var(--ls-body)}.cmp-ing__kcal100lbl{font-size:var(--fs-nano);color:hsla(0,0%,100%,.22);font-weight:var(--fw-semibold);padding:1px 5px;border-radius:4px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.06)}.cmp-ing__right{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.cmp-ing__kcal{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:hsla(0,0%,100%,.82);letter-spacing:-.02em}.cmp-ing__kcal-u{font-size:var(--fs-nano);color:hsla(0,0%,100%,.22);font-weight:var(--fw-medium)}.cmp-ing__chevron{width:13px;height:13px;flex-shrink:0;stroke:hsla(0,0%,100%,.22);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .26s var(--ease-out),stroke var(--dur-fast);margin-left:1px}.cmp-ing--open .cmp-ing__chevron{transform:rotate(180deg);stroke:rgba(103,213,232,.6)}.cmp-ing-detail{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s var(--ease-out),opacity .2s var(--ease-out)}.cmp-ing-detail>.cmp-ing-detail__inner{overflow:hidden;min-height:0}.cmp-ing-detail--open{grid-template-rows:1fr;opacity:1}.cmp-ing-detail__inner{margin:0;padding:12px 12px 10px;background:rgba(8,10,20,.55);border:1px solid hsla(0,0%,100%,.07);border-top-color:rgba(232,168,73,.12);border-radius:0 0 var(--radius-sm) var(--radius-sm);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.cmp-ing-editor{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s var(--ease-out),opacity .16s var(--ease-out)}.cmp-ing-editor>.cmp-ing-ed{overflow:hidden;min-height:0}.cmp-ing-editor--open{grid-template-rows:1fr;opacity:1}.cmp-ing-ed{margin:0;background:rgba(8,10,22,.6);border:1px solid hsla(0,0%,100%,.07);border-top:1.5px solid rgba(103,213,232,.2);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-sizing:border-box;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:0}.cmp-ing-ed-l1{gap:0;padding:5px 8px;width:100%;box-sizing:border-box}.cmp-ing-ed-l1,.cmp-ing-ed-seg{display:flex;align-items:center}.cmp-ing-ed-seg{gap:4px;flex:1;min-width:0}.cmp-ing-ed-label{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:rgba(103,213,232,.5);flex-shrink:0}.cmp-ing-ed-btn{width:26px;height:26px;min-width:26px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:var(--fw-semibold);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .12s var(--ease-spring);font-family:var(--font-sans);border:1px solid transparent}.cmp-ing-ed-btn--minus{background:hsla(0,0%,100%,.05);border-color:var(--border-glass);color:var(--text-dim)}.cmp-ing-ed-btn--minus:hover{background:hsla(0,0%,100%,.1);color:var(--text-primary)}.cmp-ing-ed-btn--minus:active{transform:scale(.86)}.cmp-ing-ed-btn--plus{background:rgba(103,213,232,.1);border-color:rgba(103,213,232,.2);color:rgba(103,213,232,.9)}.cmp-ing-ed-btn--plus:hover{background:rgba(103,213,232,.18)}.cmp-ing-ed-btn--plus:active{transform:scale(.86)}.cmp-ing-ed-input{flex:1;min-width:32px;padding:2px 0;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--fs-body-lg);font-weight:900;font-family:var(--font-sans);text-align:center;letter-spacing:-.02em;-moz-appearance:textfield;caret-color:rgba(103,213,232,.8)}.cmp-ing-ed-input::-webkit-inner-spin-button,.cmp-ing-ed-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cmp-ing-ed-input:focus{color:#fff}.cmp-ing-ed-unit{font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text-dim);flex-shrink:0}.cmp-ing-ed-kbzhu-toggle{display:flex;align-items:center;gap:3px;padding:4px 7px;border-radius:7px;cursor:pointer;flex-shrink:0;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);color:var(--text-dim);font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.04em;transition:all var(--dur-fast);-webkit-tap-highlight-color:transparent;margin-left:4px;white-space:nowrap}.cmp-ing-ed-kbzhu-toggle svg{width:8px;height:8px;stroke:currentColor;fill:none;stroke-width:2.5;flex-shrink:0;transition:transform var(--dur-fast)}.cmp-ing-ed-kbzhu-toggle--open{background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.2);color:rgba(167,139,250,.85)}.cmp-ing-ed-kbzhu-toggle--open svg{transform:rotate(180deg)}.cmp-ing-ed-l2{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .2s var(--ease-out),opacity .14s var(--ease-out)}.cmp-ing-ed-l2>*{overflow:hidden;min-height:0}.cmp-ing-ed-l2--open{grid-template-rows:1fr;opacity:1}.cmp-ing-ed-l2-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px 8px 7px;border-top:1px solid hsla(0,0%,100%,.06)}.cmp-ing-ed-kseg{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.cmp-ing-ed-kseg-row{display:flex;align-items:center;gap:2px;width:100%;justify-content:center}.cmp-ing-ed-klabel{font-size:8px;font-weight:var(--fw-black);letter-spacing:.06em;flex-shrink:0;text-align:center}.cmp-ing-ed-klabel--k{color:rgba(232,168,73,.6)}.cmp-ing-ed-klabel--p{color:rgba(103,213,232,.6)}.cmp-ing-ed-klabel--f{color:rgba(249,168,88,.6)}.cmp-ing-ed-klabel--c{color:rgba(167,139,250,.6)}.cmp-ing-ed-kbtn{width:20px;height:20px;border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:var(--fw-bold);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .11s;font-family:var(--font-sans);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.07);color:var(--text-dim)}.cmp-ing-ed-kbtn:active{transform:scale(.84)}.cmp-ing-ed-kval{flex:1;min-width:0;text-align:center;white-space:nowrap;font-size:var(--fs-small);font-weight:var(--fw-black);color:var(--text-primary);transition:transform .12s;overflow:hidden;text-overflow:ellipsis}.cmp-ing-section{margin-bottom:var(--space-3)}.cmp-ing-section__lbl{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.65;margin-bottom:var(--space-2);display:flex;align-items:center;gap:6px}.cmp-ing-section__lbl:before{content:"";width:12px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}.stp{padding:7px 10px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.09);color:var(--text-secondary);font-size:var(--fs-small);font-weight:var(--fw-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 .5px 0 hsla(0,0%,100%,.08)}.stp:hover{background:hsla(0,0%,100%,.11);border-color:hsla(0,0%,100%,.16);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.25)}.stp:active{transform:scale(.88) translateY(0);box-shadow:none}.stp--acc{background:rgba(232,168,73,.08);border-color:rgba(232,168,73,.15);color:var(--accent);box-shadow:0 1px 3px rgba(232,168,73,.08),inset 0 .5px 0 rgba(232,168,73,.15)}.stp--acc:hover{background:rgba(232,168,73,.16);border-color:rgba(232,168,73,.28);box-shadow:0 2px 8px rgba(232,168,73,.15)}.stp--del{background:var(--signal-alert-bg);border-color:var(--signal-alert-border);color:var(--signal-alert)}.stp--del:hover{background:rgba(240,96,96,.14)}.cmp-stp-row{align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:5px}.cmp-stp-row,.cmp-val-wrap{display:flex;justify-content:center}.cmp-val-wrap{align-items:baseline;gap:3px;min-width:52px}.cmp-val{font-size:var(--fs-title);font-weight:var(--fw-black);color:var(--text-primary)}.cmp-val-u{font-size:var(--fs-small);color:var(--text-tertiary)}.cmp-kbzhu{display:flex;flex-direction:column;gap:6px}.cmp-kbzhu__row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-sm);transition:background var(--dur-fast)}.cmp-kbzhu__row:hover{background:hsla(0,0%,100%,.03)}.cmp-kbzhu__name{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-label);width:30px;flex-shrink:0}.cmp-kbzhu__stp-row{display:flex;align-items:center;gap:4px;flex:1}.cmp-kbzhu__val{font-size:var(--fs-body-lg);font-weight:var(--fw-black);color:var(--text-primary);min-width:42px;text-align:center;font-variant-numeric:tabular-nums}.cmp-kbzhu__unit{font-size:var(--fs-micro);color:var(--text-dim)}.cmp-ing-actions{display:flex;flex-direction:column;gap:4px;margin-top:10px}.cmp-ing-action{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);font-size:var(--fs-caption);color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.06)}.cmp-ing-action:hover{background:hsla(0,0%,100%,.08);color:var(--text-primary);transform:translateX(2px)}.cmp-ing-action:active{transform:scale(.98)}.cmp-ing-action--del{color:rgba(240,96,96,.75)}.cmp-ing-action--del:hover{background:rgba(240,96,96,.08);border-color:rgba(240,96,96,.14);color:var(--signal-alert);transform:translateX(0)}.cmp-ing-action__ico{width:30px;height:30px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.09);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.1)}.cmp-ing-action--del .cmp-ing-action__ico{background:rgba(240,96,96,.08);border-color:rgba(240,96,96,.12)}.cmp-ing-action__ico svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cmp-add-ing-btn{display:flex;align-items:center;gap:8px;padding:11px 15px;border:1px dashed rgba(232,168,73,.22);border-radius:var(--radius-md);background:rgba(232,168,73,.04);color:var(--accent);font-size:var(--fs-caption);font-weight:var(--fw-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;width:100%;box-shadow:inset 0 .5px 0 rgba(232,168,73,.06)}.cmp-add-ing-btn:hover{background:rgba(232,168,73,.09);border-color:rgba(232,168,73,.4);box-shadow:0 2px 12px rgba(232,168,73,.1),inset 0 .5px 0 rgba(232,168,73,.1)}.cmp-add-ing-btn:active{transform:scale(.97)}.cmp-add-ing-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}.cmp-add-ing{display:flex;align-items:center;gap:5px;padding:var(--space-2) 3px;margin-top:1px;font-family:var(--font-sans);font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--accent);background:none;border:none;cursor:pointer;transition:opacity var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-add-ing:hover{opacity:.7}.cmp-add-ing svg{width:14px;height:14px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round}.cmp-add-dish{display:flex;align-items:center;justify-content:center;gap:7px;padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;background:hsla(0,0%,100%,.02);border:1.5px dashed var(--border-default);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-tertiary);transition:all var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-add-dish:hover{background:hsla(0,0%,100%,.05);border-color:var(--accent-border);color:var(--accent)}.cmp-cta{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--app-max-width);z-index:12;padding:10px var(--app-padding-x) calc(var(--nav-height) + 10px + env(safe-area-inset-bottom, 0px));background:rgba(5,5,9,.9);backdrop-filter:blur(52px) saturate(2.2) brightness(1.08);-webkit-backdrop-filter:blur(52px) saturate(2.2) brightness(1.08);border-top:1px solid hsla(0,0%,100%,.06);display:none;gap:var(--space-2);box-shadow:0 -1px 0 hsla(0,0%,100%,.06),0 -4px 32px rgba(0,0,0,.4),0 -16px 64px rgba(0,0,0,.25),inset 0 0 60px rgba(232,168,73,.04)}.cmp-cta:before{content:"";position:absolute;top:0;left:3%;right:3%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1) 15%,hsla(0,0%,100%,.26) 40%,hsla(0,0%,100%,.26) 60%,hsla(0,0%,100%,.1) 85%,transparent);pointer-events:none}.cmp-cta--on{display:flex}.cmp-cta__back{font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-semibold);padding:13px var(--space-4);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.09);color:var(--text-secondary);transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 .5px 0 hsla(0,0%,100%,.09);display:flex;align-items:center;gap:6px}.cmp-cta__back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cmp-cta__back:hover{background:hsla(0,0%,100%,.1);color:var(--text-primary);transform:scale(1.02)}.cmp-cta__back:active{transform:scale(.96)}.cmp-cta__save{flex:1;padding:13px;border-radius:var(--radius-md);background:var(--accent-gradient);color:#0a0a0c;border:none;font-family:var(--font-sans);font-size:var(--fs-body-lg);font-weight:var(--fw-bold);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(232,168,73,.28),0 12px 40px rgba(232,168,73,.15),inset 0 1px 0 hsla(0,0%,100%,.32);transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;gap:7px}.cmp-cta__save:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,hsla(0,0%,100%,.2),transparent);border-radius:var(--radius-md) var(--radius-md) 0 0;pointer-events:none}.cmp-cta__save svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;flex-shrink:0}.cmp-cta__save:hover{transform:scale(1.02);box-shadow:0 6px 28px rgba(232,168,73,.36),0 16px 50px rgba(232,168,73,.18),inset 0 1px 0 hsla(0,0%,100%,.36)}.cmp-cta__save:active{transform:scale(.97)}.cmp-cta__save:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}.cmp-cta__save-wrap{flex:1;display:flex;flex-direction:column;min-width:0;gap:4px}.cmp-cta__save-wrap .cmp-cta__save{width:100%}.cmp-cta__blocked-reason{margin:0;font-size:var(--fs-nano);font-weight:var(--fw-semibold);color:rgba(240,180,66,.85);text-align:center;letter-spacing:.01em;line-height:1.25;opacity:.95}.cmp-budget-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(18,14,30,.8),rgba(10,10,20,.65));backdrop-filter:blur(56px) saturate(2.2) brightness(1.1);-webkit-backdrop-filter:blur(56px) saturate(2.2) brightness(1.1);border-radius:var(--radius-lg);padding:18px 20px 16px;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.1),0 1px 2px rgba(0,0,0,.6),0 6px 20px rgba(0,0,0,.36),0 20px 60px rgba(0,0,0,.24),inset 0 0 100px rgba(232,168,73,.04),inset 0 -1px 0 rgba(232,168,73,.06)}.cmp-budget-card:before{inset:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(148deg,hsla(0,0%,100%,.28),hsla(0,0%,100%,.1) 18%,rgba(232,168,73,.08) 42%,transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cmp-budget-card:after,.cmp-budget-card:before{content:"";position:absolute;pointer-events:none}.cmp-budget-card:after{top:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.08) 8%,hsla(0,0%,100%,.42) 38%,hsla(0,0%,100%,.42) 62%,hsla(0,0%,100%,.08) 92%,transparent)}.cmp-budget-hero{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.cmp-budget-hero__kcal{font-size:44px;font-weight:900;letter-spacing:-.06em;line-height:1;background:linear-gradient(168deg,#fff,hsla(0,0%,100%,.95) 35%,rgba(232,168,73,.9));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 12px rgba(232,168,73,.28)) drop-shadow(0 0 40px rgba(232,168,73,.12))}.cmp-budget-hero__unit{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:hsla(0,0%,100%,.35);padding-bottom:5px}.cmp-budget-hero__sep{color:hsla(0,0%,100%,.1);padding-bottom:5px;font-size:var(--fs-caption)}.cmp-budget-hero__macros{font-size:var(--fs-small);color:hsla(0,0%,100%,.45);padding-bottom:5px;letter-spacing:var(--ls-body)}.cmp-budget-bars{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.cmp-budget-bar-row{display:flex;align-items:center;gap:7px}.cmp-budget-bar-label{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.06em;text-transform:uppercase;width:10px;flex-shrink:0}.cmp-budget-bar-label--p{color:rgba(103,213,232,.7)}.cmp-budget-bar-label--f{color:rgba(249,168,88,.7)}.cmp-budget-bar-label--c{color:rgba(167,139,250,.7)}.cmp-budget-bar-track{flex:1;height:4px;border-radius:3px;background:hsla(0,0%,100%,.06);overflow:hidden}.cmp-budget-bar-fill{height:100%;border-radius:3px;transition:width .6s var(--ease-out)}.cmp-budget-bar-fill--p{background:linear-gradient(90deg,rgba(103,213,232,.7),var(--food))}.cmp-budget-bar-fill--f{background:linear-gradient(90deg,rgba(249,168,88,.7),var(--rhythm))}.cmp-budget-bar-fill--c{background:linear-gradient(90deg,rgba(167,139,250,.7),var(--energy))}.cmp-budget-bar-val{font-size:var(--fs-micro);font-weight:var(--fw-bold);color:hsla(0,0%,100%,.5);white-space:nowrap;flex-shrink:0;min-width:44px;text-align:right}.cmp-budget-chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.cmp-budget-chip{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-xs);font-size:var(--fs-micro);font-weight:var(--fw-bold);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.08)}.cmp-budget-chip--p{background:rgba(103,213,232,.09);border:1px solid rgba(103,213,232,.18);color:var(--food)}.cmp-budget-chip--f{background:rgba(249,168,88,.08);border:1px solid rgba(249,168,88,.16);color:var(--rhythm)}.cmp-budget-chip--c{background:rgba(129,140,248,.09);border:1px solid rgba(129,140,248,.18);color:var(--energy)}.cmp-budget-chip--fiber,.cmp-budget-chip--omega{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.16);color:var(--signal-good)}.cmp-budget-insight{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:13px;background:linear-gradient(135deg,rgba(232,168,73,.07),rgba(232,168,73,.03));border:1px solid rgba(232,168,73,.14);box-shadow:inset 0 .5px 0 rgba(232,168,73,.12),0 2px 8px rgba(232,168,73,.06)}.cmp-budget-insight__ico{width:26px;height:26px;min-width:26px;border-radius:var(--radius-xs);background:rgba(232,168,73,.14);border:1px solid rgba(232,168,73,.24);display:flex;align-items:center;justify-content:center;margin-top:1px;box-shadow:0 0 12px rgba(232,168,73,.14),inset 0 1px 0 hsla(0,0%,100%,.12)}.cmp-budget-insight__ico svg{width:13px;height:13px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round}.cmp-budget-insight__body{flex:1;min-width:0}.cmp-budget-insight__tag{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.07em;text-transform:uppercase;color:rgba(232,168,73,.55);margin-bottom:2px}.cmp-budget-insight__text{font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-relaxed)}.cmp-budget-insight__text strong{color:var(--text-primary);font-weight:var(--fw-bold)}.cmp-choices-hdr{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 6px}.cmp-choices-hdr__title{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--ls-label);text-transform:uppercase;color:hsla(0,0%,100%,.55)}.cmp-choices-hdr__sub{font-size:var(--fs-micro);color:var(--text-dim);font-weight:var(--fw-medium)}.cmp-choice-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(16,13,26,.82),rgba(10,10,18,.66));backdrop-filter:blur(52px) saturate(2.1) brightness(1.1);-webkit-backdrop-filter:blur(52px) saturate(2.1) brightness(1.1);border-radius:20px;transition:transform .18s var(--ease-spring),box-shadow .22s;-webkit-tap-highlight-color:transparent}.cmp-choice-card:active{transform:scale(.988)}.cmp-choice-card--best{box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.09),0 1px 3px rgba(0,0,0,.5),0 6px 24px rgba(0,0,0,.28),0 20px 56px rgba(0,0,0,.18),inset 0 0 80px rgba(52,211,153,.05),inset 0 -24px 48px rgba(52,211,153,.03)}.cmp-choice-card--ok{box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07),0 1px 3px rgba(0,0,0,.45),0 5px 20px rgba(0,0,0,.24),inset 0 0 60px rgba(103,213,232,.04)}.cmp-choice-card--skip{box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.04),0 1px 2px rgba(0,0,0,.35),0 4px 14px rgba(0,0,0,.18);opacity:.65}.cmp-choice-card:before{inset:0;border-radius:20px;padding:1px;background:linear-gradient(148deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.07) 28%,transparent 65%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cmp-choice-card:after,.cmp-choice-card:before{content:"";position:absolute;pointer-events:none}.cmp-choice-card:after{top:0;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2) 30%,hsla(0,0%,100%,.28) 50%,hsla(0,0%,100%,.2) 70%,transparent)}.cmp-choice-card__accent{position:absolute;top:14px;left:0;bottom:14px;width:3.5px;border-radius:0 3px 3px 0}.cmp-choice-card--best .cmp-choice-card__accent{background:linear-gradient(to bottom,var(--signal-good) 0,rgba(52,211,153,.2));box-shadow:0 0 12px rgba(52,211,153,.4),0 0 32px rgba(52,211,153,.14)}.cmp-choice-card--ok .cmp-choice-card__accent{background:linear-gradient(180deg,rgba(103,213,232,.9),rgba(103,213,232,.15));box-shadow:0 0 12px rgba(103,213,232,.3),0 0 28px rgba(103,213,232,.1)}.cmp-choice-card--skip .cmp-choice-card__accent{background:linear-gradient(180deg,hsla(0,0%,100%,.22),transparent)}.cmp-choice-body{padding:15px 18px 15px 20px}.cmp-tier{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-micro);font-weight:var(--fw-black);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px 4px 8px;border-radius:var(--radius-full);margin-bottom:10px}.cmp-tier svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.cmp-tier--best{background:rgba(52,211,153,.11);color:var(--signal-good);border:1px solid rgba(52,211,153,.22);box-shadow:0 0 14px rgba(52,211,153,.1),inset 0 .5px 0 rgba(52,211,153,.18)}.cmp-tier--ok{background:rgba(103,213,232,.09);color:var(--food);border:1px solid rgba(103,213,232,.18);box-shadow:inset 0 .5px 0 rgba(103,213,232,.12)}.cmp-tier--skip{background:hsla(0,0%,100%,.05);color:var(--text-tertiary);border:1px solid hsla(0,0%,100%,.09)}.cmp-choice-name{font-size:var(--fs-body-lg);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:8px;letter-spacing:-.02em;line-height:1.28}.cmp-choice-macros{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:11px}.cmp-choice-macro{padding:3px 9px;border-radius:var(--radius-xs);font-size:var(--fs-micro);font-weight:var(--fw-semibold);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07)}.cmp-choice-macro--kcal{background:rgba(232,168,73,.1);border:1px solid rgba(232,168,73,.2);color:var(--accent);box-shadow:0 0 8px rgba(232,168,73,.08),inset 0 .5px 0 hsla(0,0%,100%,.08)}.cmp-choice-macro--p{background:rgba(103,213,232,.08);border:1px solid rgba(103,213,232,.16);color:var(--food)}.cmp-choice-macro--f{background:rgba(249,168,88,.07);border:1px solid rgba(249,168,88,.14);color:var(--rhythm)}.cmp-choice-macro--c{background:rgba(129,140,248,.08);border:1px solid rgba(129,140,248,.16);color:var(--energy)}.cmp-choice-bullets{padding:0;list-style:none;margin-bottom:13px;display:flex;flex-direction:column;gap:5px}.cmp-choice-bullet{display:flex;align-items:flex-start;gap:9px;font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-normal)}.cmp-choice-bullet__ico{width:17px;height:17px;border-radius:var(--radius-xs);flex-shrink:0;margin-top:.5px;display:flex;align-items:center;justify-content:center}.cmp-choice-bullet--ok .cmp-choice-bullet__ico{background:rgba(52,211,153,.11);border:1px solid rgba(52,211,153,.22);box-shadow:0 0 8px rgba(52,211,153,.08)}.cmp-choice-bullet--ok .cmp-choice-bullet__ico svg{stroke:var(--signal-good)}.cmp-choice-bullet--ok{color:hsla(0,0%,100%,.68)}.cmp-choice-bullet--no .cmp-choice-bullet__ico{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.09)}.cmp-choice-bullet--no .cmp-choice-bullet__ico svg{stroke:hsla(0,0%,100%,.3)}.cmp-choice-bullet__ico svg{width:9px;height:9px;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.cmp-choice-divider{height:1px;margin:0 -18px 12px -20px;background:linear-gradient(90deg,transparent,var(--border-default) 18%,var(--border-default) 82%,transparent)}.cmp-choice-actions{display:flex;gap:7px;flex-wrap:wrap}.cmp-record-btn{font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-bold);padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;border:none;background:var(--accent-gradient);color:#0c0a06;position:relative;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(232,168,73,.24),0 10px 32px rgba(232,168,73,.1),inset 0 1px 0 hsla(0,0%,100%,.3);transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:5px}.cmp-record-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,hsla(0,0%,100%,.2),transparent);border-radius:var(--radius-md) var(--radius-md) 0 0;pointer-events:none}.cmp-record-btn:hover{transform:scale(1.04);box-shadow:0 6px 22px rgba(232,168,73,.34)}.cmp-record-btn:active{transform:scale(.96)}.cmp-record-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.3;stroke-linecap:round;flex-shrink:0}.cmp-detail-btn{font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-semibold);padding:10px 14px;border-radius:var(--radius-md);cursor:pointer;background:hsla(0,0%,100%,.05);border:1px solid var(--border-input);color:var(--text-secondary);transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:5px;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.09)}.cmp-detail-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}.cmp-detail-btn:hover{background:hsla(0,0%,100%,.1);color:var(--text-primary);border-color:var(--border-focus)}.cmp-detail-btn:active{transform:scale(.96)}.cmp-detail-btn--secondary{background:transparent;border-style:dashed;opacity:.92}.cmp-all-dishes-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(16,13,26,.78),rgba(10,10,18,.62));backdrop-filter:blur(52px) saturate(2) brightness(1.1);-webkit-backdrop-filter:blur(52px) saturate(2) brightness(1.1);border-radius:var(--radius-lg);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.08),0 1px 3px rgba(0,0,0,.5),0 6px 22px rgba(0,0,0,.28),0 18px 50px rgba(0,0,0,.18)}.cmp-all-dishes-card:before{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(148deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,.06) 28%,transparent 68%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.cmp-all-dishes-card:after{content:"";position:absolute;top:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 40%,hsla(0,0%,100%,.3) 60%,transparent);pointer-events:none}.cmp-all-dishes-hdr{display:flex;align-items:center;justify-content:space-between;padding:13px 18px 10px;border-bottom:1px solid hsla(0,0%,100%,.05)}.cmp-all-dishes-hdr-lbl{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--ls-label);text-transform:uppercase;color:hsla(0,0%,100%,.52)}.cmp-all-dishes-count{font-size:var(--fs-micro);color:var(--text-dim);font-weight:var(--fw-semibold);background:hsla(0,0%,100%,.05);border:1px solid var(--border-glass);border-radius:var(--radius-xs);padding:2px 8px}.cmp-dish-row{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 18px;border-top:1px solid hsla(0,0%,100%,.04);transition:background var(--dur-fast);cursor:pointer;-webkit-tap-highlight-color:transparent}.cmp-dish-row:first-child{border-top:none}.cmp-dish-row:hover{background:hsla(0,0%,100%,.03)}.cmp-dish-row:active{background:hsla(0,0%,100%,.05)}.cmp-dish-row__dot{width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0;background:hsla(0,0%,100%,.15)}.cmp-dish-row__name{flex:1;min-width:0;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-dish-row__kbju{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.cmp-dish-row__range{font-size:var(--fs-micro);font-weight:var(--fw-bold);color:rgba(232,168,73,.65);white-space:nowrap}.cmp-dish-row__macros{font-size:var(--fs-nano);color:var(--text-dim);white-space:nowrap;letter-spacing:.01em}.cmp-add-btn{width:30px;height:30px;border-radius:var(--radius-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:hsla(0,0%,100%,.05);border:1px solid var(--border-input);color:hsla(0,0%,100%,.4);transition:all var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.08)}.cmp-add-btn:hover{background:rgba(232,168,73,.12);border-color:rgba(232,168,73,.24);color:var(--accent);box-shadow:0 0 12px rgba(232,168,73,.12),inset 0 .5px 0 hsla(0,0%,100%,.1)}.cmp-add-btn:active{transform:scale(.86)}.cmp-add-btn--active{background:rgba(52,211,153,.13);border-color:rgba(52,211,153,.26);color:var(--signal-good);box-shadow:0 0 14px rgba(52,211,153,.14),inset 0 .5px 0 rgba(52,211,153,.2)}.cmp-add-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.cmp-chosen{position:relative;overflow:hidden;padding:13px 16px;border-radius:18px;background:linear-gradient(135deg,rgba(232,168,73,.09),rgba(232,168,73,.04));border:1px solid rgba(232,168,73,.2);box-shadow:0 2px 14px rgba(232,168,73,.1),inset 0 0 50px rgba(232,168,73,.04),inset 0 .5px 0 rgba(232,168,73,.22)}.cmp-chosen:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,168,73,.35) 28%,hsla(0,0%,100%,.3) 50%,rgba(232,168,73,.35) 72%,transparent);pointer-events:none}.cmp-chosen__label{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:rgba(232,168,73,.55);margin-bottom:3px}.cmp-chosen__names{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:10px;line-height:var(--lh-normal)}.cmp-chosen__actions{display:flex;gap:7px;flex-wrap:wrap}.cmp-cook-budget{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:18px;background:linear-gradient(145deg,rgba(16,13,26,.78),rgba(10,10,18,.62));backdrop-filter:blur(48px) saturate(2) brightness(1.08);-webkit-backdrop-filter:blur(48px) saturate(2) brightness(1.08);box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.09),0 1px 2px rgba(0,0,0,.55),0 5px 18px rgba(0,0,0,.28)}.cmp-cook-budget:before{inset:0;border-radius:18px;padding:1px;background:linear-gradient(148deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.06) 28%,transparent 65%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cmp-cook-budget:after,.cmp-cook-budget:before{content:"";position:absolute;pointer-events:none}.cmp-cook-budget:after{top:0;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 40%,hsla(0,0%,100%,.3) 60%,transparent)}.cmp-cook-budget__left{display:flex;flex-direction:column;gap:2px}.cmp-cook-budget__label{font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.3)}.cmp-cook-budget__row{display:flex;align-items:baseline;gap:5px}.cmp-cook-budget__kcal{font-size:28px;font-weight:900;letter-spacing:-.05em;line-height:1;background:linear-gradient(168deg,#fff,rgba(232,168,73,.9));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cmp-cook-budget__unit{font-size:var(--fs-small);color:hsla(0,0%,100%,.35);padding-bottom:2px}.cmp-cook-budget__chips{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.cmp-cook-nav{justify-content:center;gap:10px;padding:2px 0 6px}.cmp-cook-nav,.cmp-dots{display:flex;align-items:center}.cmp-dots{gap:5px}.cmp-dot{width:6px;height:6px;border-radius:var(--radius-full);background:hsla(0,0%,100%,.18);transition:all .22s var(--ease-out);cursor:pointer}.cmp-dot--active{width:20px;border-radius:3px;background:var(--accent);box-shadow:0 0 8px rgba(232,168,73,.3)}.cmp-cook-nav__hint{font-size:var(--fs-nano);font-weight:var(--fw-semibold);letter-spacing:.04em;color:hsla(0,0%,100%,.22)}.cmp-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--bento-gap);padding-bottom:2px}.cmp-carousel::-webkit-scrollbar{display:none}.cmp-carousel__card{flex:0 0 100%;scroll-snap-align:start}.cmp-recipe-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(16,13,26,.84),rgba(10,10,18,.68));backdrop-filter:blur(56px) saturate(2.2) brightness(1.1);-webkit-backdrop-filter:blur(56px) saturate(2.2) brightness(1.1);border-radius:var(--radius-lg)}.cmp-recipe-card--best{box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.1),0 1px 3px rgba(0,0,0,.55),0 8px 28px rgba(0,0,0,.3),0 20px 60px rgba(0,0,0,.2),inset 0 0 100px rgba(52,211,153,.04),inset 0 -30px 60px rgba(52,211,153,.02)}.cmp-recipe-card--ok{box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.08),0 1px 3px rgba(0,0,0,.5),0 6px 22px rgba(0,0,0,.26),inset 0 0 80px rgba(103,213,232,.03)}.cmp-recipe-card:before{inset:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(148deg,hsla(0,0%,100%,.24),hsla(0,0%,100%,.08) 22%,transparent 65%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cmp-recipe-card:after,.cmp-recipe-card:before{content:"";position:absolute;pointer-events:none}.cmp-recipe-card:after{top:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.22) 32%,hsla(0,0%,100%,.32) 50%,hsla(0,0%,100%,.22) 68%,transparent)}.cmp-recipe-card__accent{position:absolute;top:16px;left:0;bottom:16px;width:3.5px;border-radius:0 3px 3px 0}.cmp-recipe-card--best .cmp-recipe-card__accent{background:linear-gradient(to bottom,var(--signal-good) 0,rgba(52,211,153,.15));box-shadow:0 0 14px rgba(52,211,153,.4),0 0 36px rgba(52,211,153,.12)}.cmp-recipe-card--ok .cmp-recipe-card__accent{background:linear-gradient(180deg,rgba(103,213,232,.9),rgba(103,213,232,.12));box-shadow:0 0 12px rgba(103,213,232,.3)}.cmp-recipe-card__body{padding:16px 18px 18px 22px}.cmp-recipe-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cmp-recipe-card__time{display:flex;align-items:center;gap:4px;font-size:var(--fs-micro);font-weight:var(--fw-bold);color:hsla(0,0%,100%,.4);background:hsla(0,0%,100%,.05);border:1px solid var(--border-glass);border-radius:var(--radius-xs);padding:3px 9px;box-shadow:inset 0 .5px 0 hsla(0,0%,100%,.07)}.cmp-recipe-card__time svg{width:11px;height:11px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}.cmp-recipe-card__name{font-size:20px;font-weight:var(--fw-black);letter-spacing:-.03em;line-height:1.22;color:var(--text-primary);margin-bottom:10px}.cmp-recipe-divider{height:1px;margin:13px -18px 13px -22px;background:linear-gradient(90deg,transparent,var(--border-default) 18%,var(--border-default) 82%,transparent)}.cmp-recipe-section{margin-bottom:14px}.cmp-recipe-section:last-of-type{margin-bottom:0}.cmp-recipe-section__hdr{display:flex;align-items:center;gap:6px;font-size:var(--fs-nano);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.35);margin-bottom:8px}.cmp-recipe-section__hdr svg{width:12px;height:12px;stroke:hsla(0,0%,100%,.3);fill:none;stroke-width:1.5;stroke-linecap:round;flex-shrink:0}.cmp-recipe-ings{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.cmp-recipe-ings li{display:flex;align-items:baseline;gap:8px;font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-normal)}.cmp-recipe-ings li:before{content:"";display:block;flex-shrink:0;width:4px;height:4px;border-radius:var(--radius-full);margin-top:5px;background:hsla(0,0%,100%,.22)}.cmp-recipe-ing-name{flex:1;min-width:0;color:var(--text-primary);font-weight:var(--fw-semibold)}.cmp-recipe-ing-amount{font-size:var(--fs-micro);font-weight:var(--fw-bold);color:hsla(0,0%,100%,.38);white-space:nowrap;flex-shrink:0}.cmp-recipe-steps{list-style:none;padding:0;margin:0;counter-reset:steps;display:flex;flex-direction:column;gap:8px}.cmp-recipe-steps li{counter-increment:steps;display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-relaxed)}.cmp-recipe-steps li:before{content:counter(steps);display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border-radius:7px;margin-top:1px;background:hsla(0,0%,100%,.06);border:1px solid var(--border-input);font-size:var(--fs-nano);font-weight:var(--fw-black);color:hsla(0,0%,100%,.4);line-height:1}.cmp-recipe-card--best .cmp-recipe-steps li:before{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.16);color:rgba(52,211,153,.7)}.cmp-recipe-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.cmp-skel{border-radius:var(--radius-xs);background:linear-gradient(90deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.1) 40%,hsla(0,0%,100%,.04) 80%);background-size:200% 100%;animation:shimmer 2.5s linear infinite}.cmp-skel-progress{height:3px;border-radius:var(--radius-full);overflow:hidden;background:hsla(0,0%,100%,.04);margin-top:var(--space-4)}.cmp-skel-progress__fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--accent),rgba(232,168,73,.4),var(--accent));background-size:200% 100%;animation:shimmer 1.8s linear infinite}.composer-summary{position:sticky;top:0;z-index:11;transform:translateZ(0)}.composer-disclosure{max-height:0;overflow:hidden;opacity:0;transition:max-height var(--dur-normal) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.composer-disclosure--open{max-height:300px;opacity:1}@keyframes composerFadeUp{to{opacity:1;transform:translateY(0)}}.composer-dish{opacity:0;transform:translateY(10px);animation:composerFadeUp .28s var(--ease-out) forwards}.composer-dish:first-child{animation-delay:0s}.composer-dish:nth-child(2){animation-delay:var(--stagger-step)}.composer-dish:nth-child(3){animation-delay:calc(var(--stagger-step) * 2)}.composer-stepper__btn:active{transform:scale(.92);transition:transform .12s var(--ease-out)}.cmp-error-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-glass);background:var(--glass-bg);color:var(--text-secondary);font-size:var(--fs-small);line-height:var(--lh-normal)}.shell.shell--composer-v2.cmp-portal-shell-bridge{min-height:0;width:100%;max-width:none;margin:0;padding:0;background:transparent;display:block;flex:none;position:relative}.cmp-hist-label--single{justify-content:flex-start}.cmp-hist-label--single .cmp-hist-label-count:empty{display:none}button.cmp-hist-item.cmp-hist-item--btn{width:100%;margin:0;font:inherit;color:inherit;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;box-shadow:none}.cmp-hist-item--simple{gap:0;justify-content:flex-start}.cmp-search-empty,.cmp-search-hint{padding:var(--space-3) var(--space-4);font-size:var(--fs-small);line-height:var(--lh-relaxed)}.cmp-search-empty{color:var(--text-secondary)}.cmp-search-empty--center{text-align:center}.cmp-search-hint{color:var(--text-dim)}.cmp-advice-offline-hint,.cmp-cook-offline-banner,.cmp-search-draft-offline{margin:0 var(--space-4) var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--fs-small);line-height:var(--lh-normal);color:var(--text-secondary);border-radius:var(--radius-md);border:1px solid var(--border-glass);background:hsla(0,0%,100%,.04)}.cmp-cook-offline-banner{margin:0 16px 10px}.cmp-cta__spinner{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;animation:spin .75s linear infinite}.cmp-chat{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.cmp-chat__messages{flex:1;min-height:120px;max-height:min(52vh,420px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1) 0;scrollbar-width:none}.cmp-chat__messages::-webkit-scrollbar{width:0;height:0}.cmp-chat__empty{padding:var(--space-4);border-radius:var(--radius-md);background:hsla(0,0%,100%,.03);border:1px solid var(--border-subtle);font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-relaxed)}.cmp-chat__empty p{margin:0}.cmp-chat__msg{max-width:92%;padding:10px 12px;border-radius:var(--radius-md);font-size:var(--fs-small);line-height:var(--lh-relaxed);word-break:break-word}.cmp-chat__msg--user{align-self:flex-end;margin-left:auto;background:rgba(232,168,73,.12);border:1px solid rgba(232,168,73,.22);color:var(--text-primary)}.cmp-chat__msg--ai{align-self:flex-start;background:hsla(0,0%,100%,.04);border:1px solid var(--border-glass);color:var(--text-secondary)}.cmp-chat__msg--loading{display:flex;align-items:center;gap:5px;min-height:36px}@keyframes cmp-chat-typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.cmp-chat__typing-dot{width:6px;height:6px;border-radius:var(--radius-full);background:hsla(0,0%,100%,.45);animation:cmp-chat-typing 1s ease-in-out infinite}.cmp-chat__typing-dot:nth-child(2){animation-delay:.15s}.cmp-chat__typing-dot:nth-child(3){animation-delay:.3s}.cmp-chat__apply-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 14px;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-bold);color:#0a0a0c;background:var(--accent-gradient);box-shadow:var(--shadow-btn-primary);transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-chat__apply-btn:hover{transform:scale(1.02);box-shadow:var(--shadow-btn-primary-hover)}.cmp-chat__apply-btn:active{transform:scale(.97)}.cmp-chat__apply-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}.cmp-chat__input-row{display:flex;align-items:flex-end;gap:var(--space-2);padding-top:var(--space-1)}.cmp-chat__input{flex:1;min-width:0;min-height:44px;max-height:120px;resize:none;padding:11px 12px;border-radius:var(--radius-md);border:1px solid var(--border-glass);background:hsla(0,0%,100%,.05);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-small);line-height:var(--lh-normal);outline:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.2);transition:border-color var(--dur-fast),background var(--dur-fast)}.cmp-chat__input::-moz-placeholder{color:hsla(0,0%,100%,.28)}.cmp-chat__input::placeholder{color:hsla(0,0%,100%,.28)}.cmp-chat__input:focus{border-color:rgba(232,168,73,.28);background:hsla(0,0%,100%,.07)}.cmp-chat__send-btn{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--border-glass);background:hsla(0,0%,100%,.06);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast),transform var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-chat__send-btn:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:var(--border-focus)}.cmp-chat__send-btn:active:not(:disabled){transform:scale(.94)}.cmp-chat__send-btn:disabled{opacity:.38;cursor:not-allowed}.cmp-chat__send-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cmp-context-menu{display:flex;flex-direction:column;gap:2px;padding:var(--space-1) 0 var(--space-2)}.cmp-context-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid transparent;background:hsla(0,0%,100%,.03);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-align:left;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);-webkit-tap-highlight-color:transparent}.cmp-context-menu__item:hover{background:hsla(0,0%,100%,.07);border-color:var(--border-glass)}.cmp-context-menu__item:active{transform:scale(.98)}.cmp-context-menu__item svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cmp-context-menu__item--danger{color:var(--zone-critical);background:rgba(212,82,79,.06);border-color:rgba(212,82,79,.12)}.cmp-context-menu__item--danger:hover{background:rgba(212,82,79,.1);border-color:rgba(212,82,79,.22)}.cmp-screen{gap:var(--card-gap)}.cmp-s2-load-skel-col,.cmp-screen{display:flex;flex-direction:column}.cmp-s2-load-skel-col{gap:var(--space-2)}.cmp-s2-load-skel-title--55{height:16px;width:55%;margin-bottom:var(--space-3)}.cmp-s2-load-skel-title--40{height:16px;width:40%;margin-bottom:var(--space-3)}.cmp-s2-load-skel-line--100{height:12px;width:100%}.cmp-s2-load-skel-line--85{height:12px;width:85%}.cmp-s2-load-skel-line--70{height:12px;width:70%}.cmp-s2-load-skel-line--90{height:12px;width:90%}.cmp-s2-load-skel-line--60{height:12px;width:60%}.cmp-s2-load-skel-line--75{height:12px;width:75%}.glass.cmp-s2-load-footer{display:flex;align-items:center;justify-content:center;padding:var(--space-5);gap:var(--space-3)}.cmp-s2-load-spinner{display:inline-block;flex-shrink:0;width:20px;height:20px;border:2px solid var(--accent-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.cmp-s2-load-spinner--btn{width:18px;height:18px;border-width:2px}.cmp-s2-load-caption{font-size:var(--fs-caption);color:var(--text-secondary)}.shell.shell--composer-v2 :where(button,a,input:not([type=hidden]),textarea,select,[role=button],[role=menuitem]):focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}}.bs-overlay.bs-overlay--composer{z-index:var(--z-modal);background:rgba(5,5,9,.62);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}.bs.bs--composer{z-index:calc(var(--z-modal) + 1);max-width:var(--app-max-width,var(--max-w,520px));padding:var(--space-4) var(--space-5) var(--space-6);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom, 0px));background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-glass),0 -8px 40px rgba(0,0,0,.45)}.bs.bs--composer .bs__handle{width:36px;height:4px;border-radius:2px;background:hsla(0,0%,100%,.14);margin:0 auto var(--space-3)}.bs.bs--composer .bs__title{font-family:var(--font-sans);font-size:var(--fs-body-lg);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-3);letter-spacing:var(--ls-normal)}.bs.bs--composer .bs__content.bs__content--composer{max-height:min(72vh,560px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;min-height:0;scrollbar-width:none}.bs.bs--composer .bs__content.bs__content--composer::-webkit-scrollbar{width:0;height:0}.bs.bs--composer .cmp-context-menu,.cmp-portal-shell-bridge .cmp-context-menu{display:flex;flex-direction:column;gap:2px;padding:var(--space-1) 0 var(--space-2)}.bs.bs--composer .cmp-context-menu__item,.cmp-portal-shell-bridge .cmp-context-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid transparent;background:hsla(0,0%,100%,.03);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-align:left;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);-webkit-tap-highlight-color:transparent}.bs.bs--composer .cmp-context-menu__item:hover,.cmp-portal-shell-bridge .cmp-context-menu__item:hover{background:hsla(0,0%,100%,.07);border-color:var(--border-glass)}.bs.bs--composer .cmp-context-menu__item:active,.cmp-portal-shell-bridge .cmp-context-menu__item:active{transform:scale(.98)}.bs.bs--composer .cmp-context-menu__item svg,.cmp-portal-shell-bridge .cmp-context-menu__item svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bs.bs--composer .cmp-context-menu__item--danger,.cmp-portal-shell-bridge .cmp-context-menu__item--danger{color:var(--zone-critical);background:rgba(212,82,79,.06);border-color:rgba(212,82,79,.12)}.bs.bs--composer .cmp-context-menu__item--danger:hover,.cmp-portal-shell-bridge .cmp-context-menu__item--danger:hover{background:rgba(212,82,79,.1);border-color:rgba(212,82,79,.22)}.bs.bs--composer .cmp-context-menu__meal-types,.cmp-portal-shell-bridge .cmp-context-menu__meal-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 2px 8px}.bs.bs--composer .cmp-context-menu__meal-type-chip,.cmp-portal-shell-bridge .cmp-context-menu__meal-type-chip{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-glass);background:hsla(0,0%,100%,.03);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast);-webkit-tap-highlight-color:transparent}.bs.bs--composer .cmp-context-menu__meal-type-chip--active,.cmp-portal-shell-bridge .cmp-context-menu__meal-type-chip--active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.bs.bs--composer .cmp-context-menu__section-label,.cmp-portal-shell-bridge .cmp-context-menu__section-label{font-size:var(--fs-nano);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding:8px 2px 4px}.bs.bs--composer .cmp-rename-sheet,.cmp-portal-shell-bridge .cmp-rename-sheet{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0 var(--space-3)}.bs.bs--composer .cmp-rename-sheet__input,.cmp-portal-shell-bridge .cmp-rename-sheet__input{width:100%;padding:14px 16px;background:hsla(0,0%,100%,.04);border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-semibold);outline:none;transition:border-color var(--dur-fast),background var(--dur-fast)}.bs.bs--composer .cmp-rename-sheet__input:focus,.cmp-portal-shell-bridge .cmp-rename-sheet__input:focus{border-color:var(--accent-border);background:hsla(0,0%,100%,.06)}.bs.bs--composer .cmp-rename-sheet__actions,.cmp-portal-shell-bridge .cmp-rename-sheet__actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.bs.bs--composer .cmp-rename-sheet__btn,.cmp-portal-shell-bridge .cmp-rename-sheet__btn{padding:13px 16px;border-radius:var(--radius-md);border:1px solid transparent;background:hsla(0,0%,100%,.04);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-bold);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),opacity var(--dur-fast)}.bs.bs--composer .cmp-rename-sheet__btn--ghost,.cmp-portal-shell-bridge .cmp-rename-sheet__btn--ghost{border-color:var(--border-glass)}.bs.bs--composer .cmp-rename-sheet__btn--primary,.cmp-portal-shell-bridge .cmp-rename-sheet__btn--primary{background:var(--accent);color:var(--bg)}.bs.bs--composer .cmp-rename-sheet__btn--primary:disabled,.cmp-portal-shell-bridge .cmp-rename-sheet__btn--primary:disabled{opacity:.45;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.shell.shell--composer-v2 .animate-in,.shell.shell--composer-v2 .cmp-carousel,.shell.shell--composer-v2 .cmp-chat__typing-dot,.shell.shell--composer-v2 .cmp-cta__spinner,.shell.shell--composer-v2 .cmp-dish--fadein,.shell.shell--composer-v2 .cmp-dot,.shell.shell--composer-v2 .cmp-forecast__goal-fill:after,.shell.shell--composer-v2 .cmp-photo-zone__ph-ico:before,.shell.shell--composer-v2 .cmp-s2-load-spinner,.shell.shell--composer-v2 .cmp-s2-load-spinner--btn,.shell.shell--composer-v2 .cmp-skel,.shell.shell--composer-v2 .cmp-skel-progress__fill,.shell.shell--composer-v2 .cmp-sum-bar__bar:after,.shell.shell--composer-v2 .composer-disclosure,.shell.shell--composer-v2 .composer-dish,.shell.shell--composer-v2 .composer-stepper__btn{animation-duration:0s!important;transition-duration:0s!important}.shell.shell--composer-v2 .animate-in{opacity:1!important;transform:none!important}.shell.shell--composer-v2 .cmp-carousel{scroll-behavior:auto}}