@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";:root{--color-bg:#eee7dd;--color-bg-soft:#f4eadc;--color-panel:#fffaf3;--color-panel-soft:#fbf6ee;--color-elevated:#fffaf3;--color-border:rgba(55,35,23,.1);--color-border-strong:rgba(55,35,23,.16);--color-text:#241713;--color-muted:#796b5f;--color-soft:#241713;--color-accent:#bd2017;--color-accent-strong:#ff7448;--color-accent-deep:#8e1116;--color-accent-2:#e64629;--color-dark:#211713;--color-lilac:#d88cee;--color-green:#188754;--color-green-soft:#e9f5ee;--shadow-panel:0 22px 60px rgba(66,43,26,.13);--shadow-card:0 12px 28px rgba(66,43,26,.07);--radius-sm:9px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--nav-h:76px;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:Inter,ui-sans-serif,system-ui,sans-serif}.theme-dark{--color-bg:#111417;--color-bg-soft:#181c20;--color-panel:#20252a;--color-panel-soft:#171b1f;--color-elevated:#262c31;--color-border:rgba(238,242,246,.1);--color-border-strong:rgba(238,242,246,.17);--color-text:#f4f0ea;--color-muted:rgba(244,240,234,.64);--color-soft:rgba(244,240,234,.84);--color-accent:#e15b49;--color-accent-strong:#f08a6a;--color-accent-deep:#b64639;--color-accent-2:#d96a4e;--color-dark:#0b0d0f;--color-lilac:#b79ad8;--color-green-soft:rgba(77,172,124,.14);--shadow-panel:0 24px 70px rgba(0,0,0,.34);--shadow-card:0 18px 42px rgba(0,0,0,.24)}*{box-sizing:border-box}html{background:var(--color-bg);font-family:var(--font-sans);min-height:100%}body,html{color:var(--color-text)}body{background:radial-gradient(circle at 50% -10%,rgba(255,116,72,.14),transparent 36%),radial-gradient(circle at 20% 18%,rgba(216,140,238,.09),transparent 28%),linear-gradient(90deg,#e9e1d6,#f8f0e5 48%,#e7ddcf);margin:0;min-height:100vh}.theme-dark,.theme-dark body{background:linear-gradient(160deg,#0f1215,#171b1f 52%,#111417)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}button:disabled{cursor:not-allowed;opacity:.55}.app-frame{background:linear-gradient(180deg,#fffaf3f5,#fbf6eef5),var(--color-panel-soft);box-shadow:0 0 0 1px #37231714,var(--shadow-panel);margin:0 auto;max-width:430px;min-height:100vh;position:relative;width:100%}.theme-dark .app-frame{background:linear-gradient(180deg,#181c20fa,#111417fc)}.student-shell{display:flex;flex-direction:column;min-height:100vh}.student-shell__topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf6eee0;border-bottom:1px solid var(--color-border);height:58px;position:sticky;top:0;z-index:20}.theme-dark .student-shell__topbar{background:#121518eb}.student-shell__topbar-inner{align-items:center;display:flex;gap:.55rem;height:100%;justify-content:space-between;padding:10px 14px}.brand-mark{align-items:center;display:flex;flex:1 1 auto;gap:var(--space-3);min-width:0}.brand-mark__symbol{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));border-radius:9px;box-shadow:0 12px 24px #bd20173b;color:#fff;display:grid;flex:0 0 auto;font-weight:900;height:31px;line-height:1;place-items:center;width:31px}.brand-mark__text{min-width:0}.brand-mark__eyebrow{color:var(--color-muted);display:block;font-size:9px;font-weight:950;letter-spacing:.08em;line-height:1;margin:0;text-transform:uppercase}.brand-mark__title{color:var(--color-text);display:block;font-size:12px;font-weight:1000;letter-spacing:-.02em;line-height:1.08;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{align-items:center;background:#f3eadf;border:1px solid var(--color-border-strong);border-radius:9px;color:var(--color-text);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.theme-dark .icon-button{background:#eef2f612}.student-shell__actions{flex:0 0 auto;gap:.38rem}.student-shell-action{align-items:center;background:#f3eadf;border:1px solid var(--color-border-strong);border-radius:9px;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.68rem;font-weight:920;gap:.28rem;justify-content:center;line-height:1;min-height:34px;min-width:0;padding:.38rem .5rem;touch-action:manipulation}.student-shell-action .svg-icon{flex:0 0 auto;height:14px;width:14px}.student-shell-action span{white-space:nowrap}.student-shell-action--danger{color:color-mix(in srgb,var(--color-accent-strong) 88%,var(--color-text))}.theme-dark .student-shell-action{background:#eef2f612}.student-shell__main{flex:1;padding:18px 14px calc(var(--nav-h) + 42px)}.bottom-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffaf3e0;border-top:1px solid var(--color-border);display:grid;gap:6px;grid-template-columns:repeat(4,1fr);height:var(--nav-h);left:50%;max-width:430px;padding:8px 12px 10px;position:fixed;transform:translate(-50%);width:100%;z-index:30}.theme-dark .bottom-nav{background:#121518eb}.bottom-nav__inner{display:contents}.bottom-nav__link{align-items:center;background:transparent;border-radius:12px;color:var(--color-muted);display:flex;font-size:10px;font-weight:950;gap:2px;justify-content:center}.bottom-nav__link.router-link-active{background:#fff0ea;box-shadow:inset 0 0 0 1px #bd201726;color:var(--color-accent)}.theme-dark .bottom-nav__link.router-link-active{background:#e15b4924;box-shadow:inset 0 0 0 1px #e15b4938}.page-stack{display:grid;gap:var(--space-5)}.content-panel,.hero-panel{background:#fffaf3c7;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.theme-dark .content-panel,.theme-dark .hero-panel{background:#20252adb}.hero-panel{display:grid;gap:var(--space-5);padding:22px 18px 18px}.content-panel{padding:17px}.hero-panel__kicker,.section-kicker{color:var(--color-accent);font-size:10px;font-weight:1000;letter-spacing:.1em;margin:0 0 var(--space-2);text-transform:uppercase}.hero-panel__title,.page-title{color:var(--color-text);font-size:clamp(32px,11vw,48px);font-weight:1000;letter-spacing:-.06em;line-height:.88;margin:0}.page-title--compact{font-size:28px;line-height:.92}.hero-panel__text,.page-text{color:var(--color-muted);font-size:13.5px;line-height:1.48;margin:0}.notice{background:#fff0ea;border-left:3px solid var(--color-accent-strong);border-radius:var(--radius-sm);color:var(--color-text);font-size:12px;line-height:1.42;padding:var(--space-4)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.danger-button,.primary-button,.secondary-button{border:0;border-radius:var(--radius-md);font-size:12px;font-weight:1000;gap:7px;min-height:45px;padding:0 var(--space-5)}.primary-button{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2),var(--color-accent-strong));box-shadow:0 14px 26px #bd201730}.primary-button--ready{box-shadow:0 14px 32px #bd201742}.secondary-button{background:#fffaf3cc;border:1px solid var(--color-border-strong);color:var(--color-text)}.danger-button{border:1px solid rgba(189,32,23,.3);color:var(--color-accent)}.access-form{display:grid;gap:var(--space-4)}.field{display:grid;gap:var(--space-2)}.field label{color:var(--color-soft);font-size:.9rem;font-weight:850}.field input{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);min-height:52px;outline:none;padding:0 var(--space-4);width:100%}.theme-dark .field input{background:#262c31d1}.field select,.field textarea{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);outline:none;padding:var(--space-3) var(--space-4);width:100%}.theme-dark .field select,.theme-dark .field textarea{background:#262c31d1}.field select{min-height:52px}.field textarea{resize:vertical}.field input::-moz-placeholder{color:var(--color-muted)}.field input::placeholder{color:var(--color-muted)}.field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #bd20171f}.form-error{color:var(--color-accent);font-size:.9rem;line-height:1.4;margin:0}.step-list{display:grid;gap:var(--space-3);list-style:none;margin:0;padding:0}.step-list__item{align-items:flex-start;color:var(--color-soft);display:flex;gap:var(--space-3);line-height:1.45}.step-list__number{border:1px solid rgba(216,140,238,.45);border-radius:var(--radius-sm);color:var(--color-lilac);display:grid;flex:0 0 auto;font-size:.82rem;font-weight:900;height:28px;place-items:center;width:28px}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-soft);display:grid;gap:var(--space-3);padding:var(--space-5)}.empty-state p{line-height:1.5;margin:0}.planner-selection{display:grid;gap:var(--space-5)}.planner-controls{display:grid;gap:var(--space-4)}.filter-row{display:flex;gap:var(--space-2);margin-inline:calc(var(--space-5)*-1);overflow-x:auto;padding:0 var(--space-5) var(--space-2);scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.pill,.pill-button{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:850;justify-content:center;min-height:32px;white-space:nowrap}.pill{color:var(--color-muted);padding:0 var(--space-3)}.pill,.pill-button{background:#fffaf3b8;border:1px solid var(--color-border)}.pill-button{color:var(--color-text);padding:0 var(--space-4)}.pill-button--active{background:#fff0ea;border-color:#bd201747;color:var(--color-accent)}.pill--quiet{min-height:28px}.variety-message{background:#fffaf3c7;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:12px;line-height:1.45;margin:0;padding:var(--space-4)}.variety-message--good{background:#d88cee14;border-color:#d88cee59}.recipe-grid{display:grid;gap:var(--space-4)}.recipe-card{background:#fffaf3c7;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.recipe-card--selected{border-color:#bd201747;box-shadow:0 0 0 3px #bd20171a}.recipe-card__button{background:transparent;border:0;color:inherit;display:grid;gap:var(--space-4);grid-template-columns:108px 1fr;padding:var(--space-3);text-align:left;width:100%}.recipe-card__image-wrap{background:linear-gradient(135deg,#e8442a33,#d88cee1f),var(--color-bg-soft);border-radius:var(--radius-sm);display:block;min-height:132px;overflow:hidden;position:relative}.recipe-card__image,.recipe-card__image-placeholder{height:100%;min-height:132px;-o-object-fit:contain;object-fit:contain;width:100%}.recipe-card__image-placeholder{color:var(--color-muted);display:grid;font-size:2.5rem;font-weight:950;place-items:center}.recipe-card__selected-mark{background:#fffaf3b8;border:1px solid rgba(55,35,23,.18);border-radius:999px;bottom:var(--space-2);color:var(--color-text);display:grid;font-size:14px;font-weight:1000;height:28px;place-items:center;position:absolute;right:var(--space-2);width:28px}.recipe-card--selected .recipe-card__selected-mark{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));border-color:transparent;color:#fff}.recipe-card__content{display:grid;gap:var(--space-3);min-width:0}.recipe-card__meta{color:var(--color-accent-strong);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.recipe-card__title{color:var(--color-text);font-size:1.08rem;font-weight:950;line-height:1.08}.recipe-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-card__attributes{display:grid;gap:var(--space-2)}.attribute-bars{gap:var(--space-2);grid-template-columns:116px minmax(44px,1fr)}.attribute-bars__label{color:var(--color-muted);font-size:.66rem;font-weight:800;line-height:1.12}.attribute-bars__track{gap:3px;grid-template-columns:repeat(4,1fr)}.attribute-bars__bar{background:var(--color-border);border-radius:999px;height:5px}.attribute-bars__bar.attribute-bars__bar--active,.attribute-bars__bar.attribute-bars__bar--lower{background:linear-gradient(90deg,var(--color-accent-deep) 0,var(--color-accent) 52%,var(--color-accent-strong) 100%)}.sticky-action{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf3e6;border-top:1px solid var(--color-border);bottom:var(--nav-h);left:50%;max-width:430px;position:fixed;transform:translate(-50%);width:100%;z-index:28}.theme-dark .sticky-action{background:#121518eb}.sticky-action__inner{align-items:center;display:grid;gap:var(--space-3);grid-template-columns:1fr auto;padding:var(--space-3) var(--space-5)}.sticky-action__buttons{align-items:center;display:flex;gap:var(--space-2)}.sticky-action__count{color:var(--color-text);font-size:.95rem;font-weight:900;margin:0}.sticky-action__hint{color:var(--color-muted);font-size:.76rem;line-height:1.3;margin:var(--space-1,.25rem) 0 0}.sticky-action__hint--error{color:var(--color-accent)}.portion-step{display:grid;gap:var(--space-5)}.portion-card,.portion-recipe-list{display:grid;gap:var(--space-4)}.portion-card{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:17px}.portion-card__header{display:grid;gap:var(--space-1,.25rem)}.portion-card__header h2{color:var(--color-text);font-size:1.25rem;font-weight:950;line-height:1.08;margin:0}.portion-lines{display:grid;gap:var(--space-4)}.portion-line{background:#fffaf399;border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-3);padding:var(--space-4)}.portion-line__preview{background:#d88cee14;border-left:3px solid var(--color-lilac);border-radius:var(--radius-sm);color:var(--color-soft);font-size:.9rem;line-height:1.4;margin:0;padding:var(--space-3)}.portion-card__add{width:100%}.review-step{display:grid;gap:var(--space-5)}.review-card{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:17px}.review-summary{color:var(--color-soft);font-family:var(--font-sans);font-size:.98rem;line-height:1.55;margin:0;overflow-x:auto;white-space:pre-wrap}.result-tabs{display:flex;gap:var(--space-2);margin-inline:calc(var(--space-5)*-1);overflow-x:auto;padding:0 var(--space-5) var(--space-2);scrollbar-width:none}.result-tabs::-webkit-scrollbar{display:none}.result-page{gap:var(--space-5)}.result-section{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:17px}.result-section,.result-section__header{gap:var(--space-4)}.result-section__header h2{font-size:1.35rem}.result-section__intro{color:var(--color-muted);font-size:.92rem;line-height:1.45;margin:0}.result-total{background:#d88cee14;border-left:3px solid var(--color-lilac);border-radius:var(--radius-sm);color:var(--color-text);font-size:.95rem;font-weight:900;padding:var(--space-3)}.result-text{color:var(--color-soft);font-family:var(--font-sans);font-size:.95rem;line-height:1.58;margin:0;overflow-x:auto;white-space:pre-wrap}.preparation-list{display:grid;gap:var(--space-4)}.preparation-card{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:var(--space-3);padding:17px}.preparation-card h3{color:var(--color-text);font-size:1.08rem;font-weight:950;line-height:1.1;margin:0}.preparation-card__header{display:grid;gap:var(--space-3)}.copy-feedback{background:var(--color-dark);border-radius:999px;bottom:calc(var(--nav-h) + 12px);box-shadow:0 14px 30px #140a0638;color:#fffaf3;font-size:12px;font-weight:950;left:50%;max-width:340px;min-width:190px;padding:11px 14px;position:fixed;text-align:center;transform:translate(-50%);z-index:40}.recipes-page{display:grid;gap:var(--space-5)}.recipes-page .filter-row{gap:.35rem}.recipes-page .pill-button{font-size:.75rem;min-height:30px;padding-inline:.75rem}.library-list{display:grid;gap:var(--space-3)}.library-card{background:#fffaf3c7;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.library-card--active{border-color:#bd201747;box-shadow:0 0 0 3px #bd20171a}.library-card__button{background:transparent;border:0;color:inherit;display:grid;gap:var(--space-3);grid-template-columns:78px 1fr;padding:var(--space-3);width:100%}.library-card__image-wrap{background:linear-gradient(135deg,#e8442a33,#d88cee1f),var(--color-bg-soft);border-radius:var(--radius-sm);display:block;min-height:86px;overflow:hidden}.library-card__image,.library-card__image-placeholder{height:100%;min-height:86px;-o-object-fit:contain;object-fit:contain;width:100%}.library-card__image-placeholder{color:var(--color-muted);display:grid;font-size:2rem;font-weight:950;place-items:center}.library-card__content{align-content:start;display:grid;gap:var(--space-2);min-width:0}.library-card__title{color:var(--color-text);font-size:1rem;font-weight:950;line-height:1.1}.recipe-detail{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:var(--space-4);padding:17px}.recipe-modal{align-items:end;background:#1a120d6b;padding:var(--space-4);z-index:80}.recipe-detail--modal{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:22px 22px 0 0;box-shadow:0 -28px 80px #22150d47;margin:0 auto;max-height:min(92vh,820px);overflow-y:auto;position:relative;width:min(100%,430px)}.recipe-modal__close{background:color-mix(in srgb,var(--color-panel) 88%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);display:inline-grid;height:38px;place-items:center;position:absolute;right:var(--space-3);top:var(--space-3);width:38px;z-index:2}.recipe-detail__hero{display:grid;gap:var(--space-4)}.recipe-detail__media{background:linear-gradient(135deg,#e8442a38,#d88cee1f),var(--color-bg-soft);border-radius:var(--radius-md);min-height:220px;overflow:hidden}.recipe-detail__image,.recipe-detail__image-placeholder{height:100%;min-height:220px;-o-object-fit:contain;object-fit:contain;width:100%}.recipe-detail__image-placeholder{color:var(--color-muted);display:grid;font-size:4rem;font-weight:950;place-items:center}.recipe-detail__intro{display:grid;gap:var(--space-3)}.recipe-detail__intro h2{color:var(--color-text);font-size:1.65rem;font-weight:950;margin:0}.recipe-detail__intro p{color:var(--color-soft);line-height:1.5;margin:0}.recipe-detail__attributes{display:grid;gap:var(--space-2)}.detail-section{border-top:1px solid var(--color-border);display:grid;gap:var(--space-3);padding-top:var(--space-4)}.detail-section p{color:var(--color-soft);line-height:1.5;margin:0}.detail-note{color:var(--color-muted);font-size:.9rem}.detail-list{color:var(--color-soft);display:grid;gap:var(--space-2);line-height:1.5;margin:0;padding-left:var(--space-5)}.detail-list--ordered{gap:var(--space-3)}.detail-list--compact{gap:.35rem}.flow-screen{align-content:start;display:grid;gap:var(--space-6);min-height:calc(100vh - 11rem)}.flow-step-header{display:grid;gap:var(--space-3);padding-top:var(--space-2)}.flow-step-header__kicker{color:var(--color-accent);font-size:10px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}.flow-step-header h1{color:var(--color-text);font-size:clamp(32px,12vw,48px);font-weight:1000;letter-spacing:-.06em;line-height:.88;margin:0}.flow-step-header p{color:var(--color-muted);font-size:13.5px;line-height:1.48;margin:0}.flow-progress{display:grid;gap:var(--space-2)}.flow-progress__label{color:var(--color-muted);font-size:.78rem;font-weight:850}.flow-progress__track{background:var(--color-border);border-radius:999px;height:5px;overflow:hidden}.flow-progress__bar{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-strong));border-radius:inherit;display:block;height:100%}.intro-actions{margin-top:var(--space-2)}.intro-actions,.planning-type-grid{display:grid;gap:var(--space-3)}.planning-type-card{align-items:center;background:#fffaf3c7;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:inherit;display:grid;gap:var(--space-4);grid-template-columns:54px 1fr auto;padding:13px;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease;width:100%}.planning-type-card:focus-visible,.planning-type-card:hover{background:#fff0ea;border-color:#bd201747}.planning-type-card__symbol{background:linear-gradient(145deg,color-mix(in srgb,var(--color-accent) 12%,var(--color-panel)),var(--color-panel-soft));border:1px solid color-mix(in srgb,var(--color-accent) 22%,var(--color-border));border-radius:var(--radius-md);color:var(--color-accent-deep);display:grid;font-size:1.25rem;font-weight:950;height:54px;place-items:center;width:54px}.planning-type-card__body{display:grid;gap:.3rem;min-width:0}.planning-type-card__title{color:var(--color-text);font-size:1.06rem;font-weight:950;line-height:1.1}.planning-type-card__description{color:var(--color-muted);font-size:.9rem;line-height:1.35}.planning-type-card__status{color:var(--color-accent-strong);font-size:.72rem;font-weight:900;justify-self:end;text-transform:uppercase;white-space:nowrap}.planning-type-card--soon{opacity:.72}.planning-type-card--soon .planning-type-card__status{color:var(--color-muted)}.theme-dark .planning-type-card{background:#20252ae6;border-color:#eef2f61f;box-shadow:none}.theme-dark .planning-type-card:focus-visible,.theme-dark .planning-type-card:hover{background:#e15b491a;border-color:#e15b4947}.theme-dark .planning-type-card__symbol{background:#e15b491a;border-color:#e15b493d;color:var(--color-accent)}.theme-dark .planning-type-card--soon{opacity:1}.theme-dark .planning-type-card--soon .planning-type-card__symbol{background:#eef2f60f;border-color:#eef2f61f;color:var(--color-accent)}.theme-dark .planning-type-card--soon .planning-type-card__description,.theme-dark .planning-type-card--soon .planning-type-card__status{color:#f4f0eabd}.flow-inline-message{background:#fff0ea;border-left:3px solid var(--color-accent-strong);border-radius:var(--radius-sm);color:var(--color-text);font-size:12px;font-weight:760;line-height:1.45;margin:0;padding:var(--space-3)}.flow-inline-message--good{background:#d88cee12;border-left-color:#d88ceea6}.guided-controls{display:grid;gap:var(--space-3)}.field--quiet label{color:var(--color-muted);font-size:.82rem}.field--quiet input{background:#fffaf399;border-color:var(--color-border);min-height:50px}.filter-row--quiet{margin-inline:calc(var(--space-5)*-1);padding-bottom:0}.guided-recipe-grid{display:grid;gap:var(--space-4)}.protein-recipe-card{background:#fffaf3c7;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.protein-recipe-card:focus-within{border-color:#bd201747;box-shadow:0 0 0 3px #bd20171a}.protein-recipe-card:hover{transform:translateY(-1px)}.protein-recipe-card--selected{background:#fff0ea;border-color:#bd201747;box-shadow:0 0 0 3px #bd20171a}.protein-recipe-card__button{background:transparent;border:0;color:inherit;cursor:pointer;display:grid;gap:var(--space-4);padding:var(--space-3);text-align:left;width:100%}.protein-recipe-card__image-wrap{background:linear-gradient(135deg,#e8442a33,#d88cee1f),var(--color-bg-soft);border-radius:var(--radius-md);display:block;min-height:190px;overflow:hidden;position:relative}.protein-recipe-card__image,.protein-recipe-card__image-placeholder{min-height:190px;-o-object-fit:contain;object-fit:contain;width:100%}.protein-recipe-card__image-placeholder{display:grid;font-size:4rem;font-weight:950;place-items:center}.protein-recipe-card__check{background:#fffaf3b8;border:1px solid rgba(55,35,23,.18);border-radius:999px;bottom:var(--space-3);display:grid;font-size:1.1rem;font-weight:1000;height:38px;place-items:center;position:absolute;right:var(--space-3);width:38px}.protein-recipe-card--selected .protein-recipe-card__check{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));border-color:transparent;color:#fff}.protein-recipe-card__content{display:grid;gap:var(--space-2)}.protein-recipe-card__meta{color:var(--color-accent-strong);font-size:.74rem;font-weight:900;text-transform:uppercase}.protein-recipe-card__title{color:var(--color-text);font-size:1.42rem;font-weight:950;line-height:1.02}.protein-recipe-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.protein-recipe-card__status{display:grid;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));padding-top:var(--space-1,.25rem)}.protein-recipe-card__status .attribute-bars{min-width:0}.protein-recipe-card__status .attribute-bars__label{color:var(--color-muted)}.protein-recipe-card__details{padding:var(--space-3)}.protein-recipe-card__details summary{cursor:pointer;font-size:.86rem;font-weight:850}.protein-recipe-card__extra{display:grid;gap:var(--space-2);padding-top:var(--space-3)}.protein-recipe-card__extra p{font-size:.84rem;line-height:1.42;margin:0}.single-portion-step{display:grid;gap:var(--space-3)}.single-portion-step__eyebrow{color:var(--color-accent-strong);font-size:.8rem;font-weight:900;text-transform:uppercase}.single-portion-card{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:var(--space-5);padding:17px}.single-portion-card__header{display:grid;gap:.2rem}.single-portion-card__header h2{color:var(--color-text);font-size:1.7rem;font-weight:950;line-height:1;margin:0}.portion-line--quiet{background:transparent;border:0;padding:var(--space-4) 0 0}.guided-review{display:grid;gap:var(--space-4)}.guided-review__body{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:17px}.guided-review__body pre,.guided-review__notice{color:var(--color-soft);font-family:var(--font-sans);line-height:1.58;margin:0;white-space:pre-wrap}.guided-review__total{color:var(--color-text);font-size:1.05rem;font-weight:950;margin:0}.guided-review__notice{background:#fff0ea;border-left:3px solid var(--color-accent-strong);border-radius:var(--radius-sm);font-size:12px;padding:var(--space-3)}.flow-action-bar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf3e6;border-top:1px solid var(--color-border);bottom:var(--nav-h);left:50%;max-width:430px;position:fixed;transform:translate(-50%);width:100%;z-index:28}.theme-dark .flow-action-bar{background:#121518eb}.flow-action-bar__inner{align-items:center;display:grid;gap:var(--space-3);grid-template-columns:1fr auto;padding:var(--space-3) var(--space-5)}.flow-action-bar__copy{min-width:0}.flow-action-bar__copy p{color:var(--color-text);font-size:.92rem;font-weight:900;margin:0}.flow-action-bar__copy span{color:var(--color-muted);display:block;font-size:.76rem;line-height:1.25;margin-top:.2rem}.flow-action-bar__hint--error{color:var(--color-accent)!important}.flow-action-bar__buttons{display:flex;gap:var(--space-2)}.guided-result-panel{background:#fffaf3cc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:var(--space-4);padding:17px}.guided-result-panel--important{background:#fff0ea;border-color:#bd201726}.guided-result-panel__header{display:grid;gap:var(--space-3)}.guided-result-panel__header h2{font-size:1.5rem;line-height:1.05}.guided-result-panel__header h2,.guided-result-total{color:var(--color-text);font-weight:950;margin:0}.result-text--clean{overflow-x:hidden;white-space:pre-wrap}.result-tabs--guided{margin-top:calc(var(--space-2)*-1)}.guided-accordion-list{display:grid;gap:var(--space-3)}.guided-accordion{background:#fffaf399;border:1px solid var(--color-border);border-radius:var(--radius-md)}.guided-accordion summary{cursor:pointer;display:grid;gap:.25rem;padding:var(--space-4)}.guided-accordion summary span{color:var(--color-text);font-weight:950}.guided-accordion summary small{color:var(--color-muted);font-size:.82rem}.guided-accordion .result-text{padding:0 var(--space-4) var(--space-4)}.flow-step-header--hero{background:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(232,68,42,.22) 0,transparent 70%),radial-gradient(ellipse 60% 80% at 80% 70%,rgba(120,40,20,.18) 0,transparent 65%),linear-gradient(145deg,#1a120e,#2a1810 60%,#1e1410);border-radius:18px;gap:.72rem;overflow:hidden;padding:16px 18px;position:relative}.flow-step-header--hero .flow-step-header__kicker{color:#fffaf399}.flow-step-header--hero h1{color:#fffaf3;font-size:clamp(1.48rem,4.4vw,1.85rem);line-height:1.02}.flow-step-header--hero p{color:#fffaf3b8;font-size:.82rem;max-width:34rem}.review-hero-pills{display:grid;gap:.42rem;grid-template-columns:repeat(3,minmax(0,1fr))}.review-hero-pill{background:#fffaf314;border:1px solid rgba(255,250,243,.14);border-radius:10px;display:grid;gap:.08rem;min-width:0;padding:.52rem .4rem .46rem;text-align:center}.review-hero-pill strong{color:#fffaf3;display:block;font-size:1.16rem;font-weight:1000;letter-spacing:-.03em;line-height:1}.review-hero-pill span{color:#fffaf38f;font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.review-add-btn{align-items:center;background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;font-size:.92rem;font-weight:950;gap:.5rem;justify-content:center;min-height:48px;padding:0 1.25rem;transition:background .15s,border-color .15s;width:100%}.review-add-btn .svg-icon{color:var(--color-accent-strong);height:18px;width:18px}.review-add-btn:hover{background:#fff0ea;border-color:#bd201747}.admin-login{background:radial-gradient(circle at 50% 0,rgba(255,115,74,.12),transparent 36%),var(--color-bg);display:grid;min-height:100vh;padding:var(--space-5);place-items:center}.admin-login__panel{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);display:grid;gap:var(--space-5);padding:var(--space-6);width:min(100%,420px)}.admin-login__panel h1,.admin-page-header h1{color:var(--color-text);font-size:clamp(2rem,8vw,3rem);font-weight:950;line-height:.98;margin:0}.admin-card p,.admin-login__panel p,.admin-page-header p{color:var(--color-soft);line-height:1.5;margin:0}.admin-shell{background:var(--color-bg)}.admin-sidebar{align-content:start;background:var(--color-panel);border-bottom:1px solid var(--color-border);display:grid;gap:var(--space-5);padding:var(--space-5)}.admin-brand{gap:var(--space-3)}.admin-nav{flex-wrap:wrap;gap:var(--space-2)}.admin-nav a{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-soft);font-weight:850;padding:var(--space-3) var(--space-4)}.admin-nav a.router-link-active{background:#e8442a1a;border-color:#ff734ab3;color:var(--color-text)}.admin-main{gap:var(--space-5);padding:var(--space-5)}.admin-card,.admin-page-header,.admin-table-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-4);padding:var(--space-5)}.admin-card h2,.admin-home-link h2{color:var(--color-text);font-size:1.3rem;font-weight:950;margin:0}.admin-filters,.admin-home-grid{display:grid;gap:var(--space-4)}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-alert-grid,.admin-stat-grid{gap:var(--space-3)}.admin-alert-card,.admin-stat-card{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:.28rem;padding:var(--space-4)}.admin-alert-card{color:inherit}.admin-alert-card:hover{border-color:#ff734a7a}.admin-alert-card strong,.admin-stat-card strong{color:var(--color-text);font-size:1.55rem;font-weight:950;line-height:1}.admin-alert-card span,.admin-stat-card span{color:var(--color-muted);font-size:.78rem;font-weight:850}.admin-home-link:hover{border-color:#ff734a7a}.admin-ingredient-row,.admin-recipe-row{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-3);padding:var(--space-4)}.admin-ingredient-row h2,.admin-recipe-row h2{color:var(--color-text);font-size:1.1rem;font-weight:950;margin:0}.admin-ingredient-row p,.admin-recipe-row p{color:var(--color-muted);font-size:.9rem;margin:var(--space-1,.25rem) 0 0}.admin-row-media{background:linear-gradient(135deg,#e8442a1a,#d88cee14),var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-muted);font-weight:950;height:72px;width:72px}.admin-row-media img{-o-object-fit:contain;object-fit:contain}.admin-row-flags{gap:var(--space-2)}.admin-row-flags span{background:var(--color-panel-soft);border:1px solid var(--color-border);color:var(--color-soft);font-size:.76rem;font-weight:850;padding:.32rem .55rem}.admin-row-actions{flex-wrap:wrap;gap:var(--space-2)}.admin-row-actions--top{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4)}.admin-status{border:1px solid var(--color-border);color:var(--color-soft);font-size:.78rem;font-weight:900;padding:0 var(--space-3);width:-moz-fit-content;width:fit-content}.admin-status--draft{background:#b7aea414;border-color:#b7aea459}.admin-status--published{background:#d88cee1a;border-color:#d88cee80;color:var(--color-text)}.admin-status--archived{background:#c01a1a1f;border-color:#e8442a73}.admin-form,.admin-form-section{display:grid;gap:var(--space-4)}.admin-form-section{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.admin-login .field input,.admin-shell .field input,.admin-shell .field select,.admin-shell .field textarea{background:var(--color-elevated);border-color:var(--color-border);color:var(--color-text)}.admin-login .field input::-moz-placeholder,.admin-shell .field input::-moz-placeholder{color:var(--color-muted)}.admin-login .field input::placeholder,.admin-shell .field input::placeholder{color:var(--color-muted)}.admin-login .field input:focus,.admin-shell .field input:focus,.admin-shell .field select:focus,.admin-shell .field textarea:focus{border-color:var(--color-border-strong);box-shadow:0 0 0 3px #ff734a24}.admin-login .form-error,.admin-shell .form-error{color:var(--color-accent-deep)}.admin-form-grid{display:grid;gap:var(--space-4)}.checkbox-field{color:var(--color-soft);display:flex;font-weight:850;gap:var(--space-3)}.admin-tag-grid,.tag-checkbox{gap:var(--space-2)}.tag-checkbox{background:var(--color-panel-soft);border:1px solid var(--color-border);color:var(--color-soft);font-size:.85rem;font-weight:850;min-height:36px;padding:0 var(--space-3)}.admin-editor-header{display:grid;gap:var(--space-3)}.admin-helper-text,.admin-success-message,.admin-warning-message{color:var(--color-soft);font-size:.9rem;line-height:1.45;margin:0}.admin-success-message{background:#d88cee14;border-left:3px solid var(--color-lilac);color:var(--color-text)}.admin-success-message,.admin-warning-message{border-radius:var(--radius-sm);padding:var(--space-3)}.admin-warning-message{background:#ff734a17;border-left:3px solid var(--color-accent-strong);gap:var(--space-2)}.admin-warning-message strong{color:var(--color-text)}.admin-warning-message p{margin:0}.admin-inline-link{color:var(--color-accent-strong);font-weight:900;text-decoration:underline;text-underline-offset:3px}.admin-nested-card{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-4);padding:var(--space-4)}.admin-nested-card__top{display:grid;gap:var(--space-3)}.admin-nested-card__top strong{color:var(--color-text);font-size:.95rem;font-weight:950}.admin-boolean-grid{display:grid;gap:var(--space-3)}.admin-image-uploader{gap:var(--space-4)}.admin-image-preview{background:linear-gradient(135deg,#e8442a1a,#d88cee14),var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:220px}.admin-image-preview img{min-height:220px;-o-object-fit:contain;object-fit:contain}.admin-image-placeholder{color:var(--color-muted);font-size:4rem;font-weight:950}.admin-image-controls{gap:var(--space-3)}.checkbox-field--aligned{align-self:end;min-height:52px}@media(min-width:700px){.recipe-modal{align-items:center}.app-frame{border-radius:18px;margin-block:16px;min-height:calc(100vh - 32px);overflow:hidden}.bottom-nav{border-radius:0 0 18px 18px;bottom:16px}.sticky-action{bottom:89px}.flow-action-bar{border-radius:0 0 18px 18px;bottom:89px}.result-section__header{align-items:start;grid-template-columns:1fr auto}.recipe-detail__hero{align-items:start;grid-template-columns:180px 1fr}.recipe-detail__image,.recipe-detail__image-placeholder,.recipe-detail__media{min-height:180px}.admin-shell{grid-template-columns:260px 1fr}.admin-sidebar{border-bottom:0;border-right:1px solid var(--color-border);min-height:100vh}.admin-main{padding:var(--space-6)}.admin-page-header{align-items:start;grid-template-columns:1fr auto}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-alert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-recipe-row{align-items:center;grid-template-columns:72px minmax(180px,1fr) auto minmax(180px,auto) auto}.admin-ingredient-row{align-items:center;grid-template-columns:minmax(220px,1fr) minmax(260px,auto) auto}.admin-filters,.admin-form-grid,.admin-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-editor-header,.admin-nested-card__top,.preparation-card__header{align-items:start;grid-template-columns:1fr auto}.admin-boolean-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-image-uploader{align-items:start;grid-template-columns:240px 1fr}.admin-image-preview,.admin-image-preview img{min-height:180px}}@media(max-width:390px){.recipe-card__button{grid-template-columns:96px 1fr}.attribute-bars{grid-template-columns:104px minmax(36px,1fr)}.sticky-action__buttons,.sticky-action__inner{grid-template-columns:1fr}.sticky-action__buttons{display:grid}.planning-type-card{grid-template-columns:48px 1fr}.planning-type-card__status{grid-column:2;justify-self:start}.flow-action-bar__buttons,.flow-action-bar__inner{display:grid;grid-template-columns:1fr}}.student-shell__actions{align-items:center;display:flex;gap:.5rem;margin-left:auto}.theme-toggle{background:#f3eadf;border:1px solid var(--color-border-strong);border-radius:9px;color:var(--color-text);font-size:12px;font-weight:950;height:34px;padding:0 12px}.theme-dark .theme-toggle{background:#eef2f612}.flow-screen{gap:1rem;min-height:calc(100vh - 8.6rem)}.flow-step-header{gap:.5rem}.flow-step-header h1,.hero-panel__title,.page-title{font-size:clamp(1.8rem,7vw,2.35rem);line-height:1.05}.page-title--compact{font-size:1.65rem}.flow-step-header p,.hero-panel__text,.page-text{font-size:.92rem;line-height:1.45}.flow-step-header__kicker,.hero-panel__kicker,.section-kicker{font-size:.68rem;margin-bottom:.35rem}.flow-progress{gap:.4rem}.flow-progress__label{font-size:.72rem}.flow-progress__track{background:var(--color-bg-soft);height:4px}.content-panel,.hero-panel,.recipe-detail,.result-section,.review-card{background:var(--color-panel);border-color:var(--color-border);box-shadow:var(--shadow-card)}.content-panel,.hero-panel,.recipe-detail{gap:1rem;padding:1rem}.flow-inline-message,.guided-review__notice,.notice,.portion-line__preview,.variety-message{font-size:.84rem;line-height:1.4;padding:.72rem}.field{gap:.4rem}.field label,.field--quiet label{color:var(--color-muted);font-size:.78rem}.field input,.field select,.field textarea,.field--quiet input{background:var(--color-elevated);border-color:var(--color-border);color:var(--color-text);min-height:42px}.field input::-moz-placeholder{color:color-mix(in srgb,var(--color-muted) 72%,transparent)}.field input::placeholder{color:color-mix(in srgb,var(--color-muted) 72%,transparent)}.guided-controls,.planner-controls{gap:.75rem}.filter-row,.filter-row--quiet,.result-tabs{gap:.45rem;margin-inline:-1rem;padding-inline:1rem}.pill,.pill-button{font-size:.72rem;min-height:28px}.pill{background:var(--color-panel-soft)}.pill,.pill-button{border-color:var(--color-border)}.pill-button{background:var(--color-panel);padding-inline:.8rem}.bottom-nav__link.router-link-active,.pill-button--active{background:linear-gradient(135deg,color-mix(in srgb,var(--color-lilac) 14%,var(--color-panel)),color-mix(in srgb,var(--color-accent) 10%,var(--color-panel)));border-color:color-mix(in srgb,var(--color-lilac) 34%,var(--color-border-strong));color:var(--color-text)}.guided-accordion-list,.guided-recipe-grid,.library-list,.portion-recipe-list,.preparation-list,.recipe-grid{gap:.75rem}.guided-accordion,.guided-result-panel,.guided-review__body,.library-card,.portion-card,.preparation-card,.protein-recipe-card,.recipe-card,.single-portion-card{background:var(--color-panel);border-color:var(--color-border);box-shadow:var(--shadow-card)}.library-card--active,.protein-recipe-card--selected,.recipe-card--selected{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 16%,transparent)}.protein-recipe-card__button{align-items:center;gap:.85rem;grid-template-columns:104px minmax(0,1fr);padding:.72rem}.protein-recipe-card__image-wrap{background:var(--color-bg-soft);border-radius:var(--radius-sm);height:96px;min-height:0}.protein-recipe-card__image,.protein-recipe-card__image-placeholder{height:100%;min-height:0}.protein-recipe-card__image-placeholder{color:var(--color-muted);font-size:1.8rem}.protein-recipe-card__check{background:color-mix(in srgb,var(--color-panel) 88%,transparent);bottom:.45rem;color:var(--color-text);font-size:1rem;height:30px;right:.45rem;width:30px}.protein-recipe-card__content{align-content:start;gap:.4rem;min-width:0}.protein-recipe-card__status{gap:.38rem;grid-template-columns:1fr;padding-top:.18rem}.protein-recipe-card__status .attribute-bars{align-items:center;gap:.38rem;grid-template-columns:104px minmax(34px,1fr)}.protein-recipe-card__status .attribute-bars__label{font-size:.58rem;line-height:1.08;white-space:normal}.protein-recipe-card__status .attribute-bars__track{gap:2px}.protein-recipe-card__status .attribute-bars__bar{height:4px}.protein-recipe-card__meta,.recipe-card__meta{font-size:.66rem}.library-card__title,.protein-recipe-card__title,.recipe-card__title{font-size:1rem;line-height:1.12}.protein-recipe-card__details{padding:0 .65rem .65rem}.protein-recipe-card__details summary{font-size:.78rem}.protein-recipe-card__extra,.recipe-detail__attributes{gap:.4rem}.protein-recipe-card__extra p{font-size:.78rem}.attribute-bars{gap:.45rem;grid-template-columns:116px minmax(42px,1fr)}.attribute-bars__label{font-size:.62rem}.attribute-bars__bar{background:var(--color-bg-soft)}.recipes-page,.result-page,.review-step,.single-portion-step{gap:1rem}.guided-result-panel,.guided-review__body,.result-section,.review-card,.single-portion-card{gap:.9rem;padding:1rem}.guided-result-panel__header h2,.portion-card__header h2,.result-section__header h2,.single-portion-card__header h2{font-size:1.2rem;line-height:1.12}.portion-lines{gap:.75rem}.portion-line,.portion-line--quiet{background:var(--color-panel-soft);border-color:var(--color-border);padding:.75rem}.primary-button,.secondary-button{border-radius:var(--radius-sm);font-size:.86rem;min-height:40px;padding:0 .95rem}.secondary-button{background:var(--color-panel-soft)}.flow-action-bar,.sticky-action{background:var(--color-panel);border-top-color:var(--color-border);max-width:430px}.flow-action-bar__inner,.sticky-action__inner{gap:.65rem;grid-template-columns:minmax(0,1fr) auto;padding:.6rem 1rem}.flow-action-bar__copy p,.sticky-action__count{font-size:.84rem}.flow-action-bar__copy span,.sticky-action__hint{font-size:.72rem}.flow-action-bar__buttons,.sticky-action__buttons{gap:.45rem}.library-card__button{gap:.7rem;grid-template-columns:70px 1fr;padding:.6rem}.library-card__image,.library-card__image-placeholder,.library-card__image-wrap{min-height:70px}.recipe-detail__image,.recipe-detail__image-placeholder,.recipe-detail__media{min-height:150px}.recipe-detail__intro h2{font-size:1.35rem}.detail-section{gap:.65rem;padding-top:.85rem}.detail-list,.result-text,.review-summary{font-size:.9rem}.copy-feedback{background:var(--color-elevated);border-color:var(--color-border-strong);color:var(--color-text)}@media(min-width:560px){.guided-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-recipe-grid .protein-recipe-card__button{align-items:stretch;gap:.65rem;grid-template-columns:1fr;min-height:100%}.guided-recipe-grid .protein-recipe-card__image-wrap{height:118px}.guided-recipe-grid .protein-recipe-card__content{align-content:start;min-width:0}.guided-recipe-grid .protein-recipe-card__title{min-height:2.25em}.guided-recipe-grid .protein-recipe-card__tags .pill:nth-child(n+2){display:none}}@media(min-width:700px){.app-frame{border-radius:12px;margin-block:12px;min-height:calc(100vh - 24px)}.bottom-nav{border-radius:0 0 12px 12px;bottom:12px}.flow-action-bar,.sticky-action{border-radius:0 0 12px 12px;bottom:69px}}@media(max-width:390px){.student-shell__topbar-inner{gap:.38rem;padding-inline:.6rem}.brand-mark__title{max-width:5.4rem}.student-shell__actions{gap:.28rem}.student-shell-action{font-size:.61rem;gap:.2rem;padding-inline:.34rem}.student-shell-action .svg-icon{height:13px;width:13px}.theme-toggle{padding-inline:.55rem}.flow-action-bar__buttons,.flow-action-bar__inner{display:flex}.flow-action-bar__inner{align-items:center}.flow-action-bar__copy{flex:1 1 auto}}.bottom-nav__inner{grid-template-columns:repeat(4,minmax(0,1fr))}.distribution-step,.shopping-add-card,.shopping-checklist,.total-portions-card{display:grid;gap:var(--space-4)}.shopping-summary{display:grid;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.shopping-summary__item{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:.2rem;padding:var(--space-3)}.shopping-summary__item span{color:var(--color-muted);font-size:.68rem;font-weight:850}.shopping-summary__item strong{color:var(--color-text);font-size:1.2rem;font-weight:950;line-height:1}.market-modal__panel,.shopping-add-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-5)}.shopping-add-card{align-items:center;grid-template-columns:minmax(0,1fr) auto}.market-modal__header h2,.shopping-add-card h2{color:var(--color-text);font-size:1.12rem;font-weight:950;margin:0}.shopping-add-card p:not(.section-kicker){color:var(--color-muted);font-size:.82rem;line-height:1.38;margin:.35rem 0 0}.market-modal{align-items:end;background:#1a120d6b;display:grid;inset:0;padding:var(--space-4);position:fixed;z-index:90}.market-modal__panel{display:grid;gap:var(--space-4);margin:0 auto;max-height:min(88vh,760px);overflow-y:auto;width:min(100%,430px)}.market-modal__header{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.market-modal__close{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);display:inline-grid;flex:0 0 auto;height:38px;place-items:center;width:38px}.market-category-tabs{display:flex;gap:var(--space-2);margin-inline:calc(var(--space-5)*-1);overflow-x:auto;padding:0 var(--space-5) var(--space-2);scrollbar-width:none}.market-category-tabs::-webkit-scrollbar{display:none}.market-modal__items{display:grid;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));max-height:282px;overflow-y:auto;padding-right:.1rem}.market-option{align-content:center;background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);display:grid;gap:.24rem;min-height:58px;min-width:0;padding:.55rem .65rem;text-align:left;transition:border-color .18s ease,background .18s ease,color .18s ease}.market-option--active{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-panel));border-color:var(--color-border-strong)}.market-option__name{font-size:.78rem;font-weight:900;line-height:1.16;overflow:hidden;text-overflow:ellipsis}.market-modal__empty,.market-modal__selected span,.market-option__meta{color:var(--color-muted);font-size:.68rem;font-weight:800;line-height:1.25}.market-modal__empty{margin:0}.market-modal__selected{background:color-mix(in srgb,var(--color-accent) 7%,var(--color-panel));border-left:2px solid var(--color-accent-strong);border-radius:var(--radius-sm);display:grid;gap:.2rem;grid-column:1/-1;padding:var(--space-3)}.market-modal__selected strong{color:var(--color-text);font-size:.94rem;font-weight:950;line-height:1.1}.market-modal__form{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr) 104px}.market-modal__form .primary-button{grid-column:1/-1}@media(min-width:700px){.market-modal{align-items:center}}.total-portions-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-5)}.distribution-metrics{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.distribution-metric{align-content:center;background:#fffaf3a8;border:1px solid rgba(55,35,23,.08);border-radius:var(--radius-md);display:grid;min-height:48px;padding:9px 8px;text-align:center}.distribution-metric strong{color:var(--color-text);display:block;font-size:15px;font-weight:1000;line-height:1}.distribution-metric span{color:var(--color-muted);display:block;font-size:9px;font-weight:900;letter-spacing:.04em;margin-top:5px;text-transform:uppercase}.distribution-counter{align-items:center;background:#fffaf3c2;border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:10px;grid-template-columns:38px 1fr;padding:12px}.distribution-counter__icon{background:#ff74481f;border-radius:13px;color:var(--color-accent);display:grid;flex-shrink:0;height:38px;place-items:center;width:38px}.distribution-counter--done .distribution-counter__icon{background:#1887541a;color:var(--color-green)}.distribution-counter--over .distribution-counter__icon{background:#bd20171f;color:var(--color-accent)}.distribution-counter strong{color:var(--color-text);display:block;font-size:.88rem;font-weight:1000;margin-bottom:3px}.distribution-counter small{color:var(--color-muted);display:block;font-size:.76rem;font-weight:760;line-height:1.35}.distribution-section-head{align-items:flex-end;display:flex;gap:12px;justify-content:space-between}.distribution-section-title{font-size:18px;font-weight:1000;letter-spacing:-.04em;line-height:1.1;margin:4px 0 0}.distribution-section-hint{color:var(--color-muted);font-size:12px;font-weight:800;margin:0;white-space:nowrap}.distribution-list{display:grid;gap:12px}.distribution-card{background:#fffaf3d6;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.distribution-card__top{align-items:center;display:grid;gap:12px;grid-template-columns:76px 1fr auto;padding:12px}.distribution-card__media{background:var(--color-bg-soft);border-radius:var(--radius-md);color:var(--color-muted);display:grid;font-weight:950;height:64px;overflow:hidden;place-items:center;width:76px}.distribution-card__media img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.distribution-card__body{display:grid;gap:5px;min-width:0}.distribution-card__body strong{color:var(--color-text);font-size:.94rem;font-weight:1000;letter-spacing:-.025em;line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.distribution-card__body label{color:var(--color-muted);font-size:.68rem;font-weight:800}.distribution-card__badge{background:var(--color-bg-soft);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-border);color:var(--color-muted);display:grid;font-size:20px;font-weight:1000;height:48px;letter-spacing:-.04em;min-width:48px;place-items:center}.distribution-card__badge--active{background:#fff0ea;box-shadow:inset 0 0 0 1px #bd20171f;color:var(--color-accent)}.distribution-card__control{align-items:center;display:grid;gap:8px;grid-template-columns:48px 1fr 48px;padding:0 12px 12px}.distribution-card__step-btn{background:var(--color-bg-soft);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:grid;height:47px;place-items:center;transition:opacity .12s}.distribution-card__step-btn:disabled{cursor:not-allowed;opacity:.35}.distribution-card__range{margin:0 12px 10px;width:calc(100% - 24px)}.distribution-card__amount{align-items:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:8px;grid-template-columns:1fr auto;height:47px;padding:0 14px}.distribution-card__amount input{background:transparent;border:0;color:var(--color-text);font-family:inherit;font-size:16px;font-weight:1000;min-width:0;outline:0;text-align:center;width:100%}.distribution-card__amount span{color:var(--color-muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.distribution-card__actions{display:grid;gap:7px;grid-template-columns:repeat(4,1fr);padding:0 12px 12px}.distribution-card__action-btn{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:11px;color:var(--color-muted);cursor:pointer;font-size:10px;font-weight:950;height:34px;transition:background .12s}.distribution-card__action-btn:hover{background:#fff0ea;border-color:#bd201726;color:var(--color-accent)}.portion-line__remove{justify-self:start;width:-moz-fit-content;width:fit-content}.shopping-checklist__category{display:grid;gap:var(--space-2)}.shopping-checklist__category-header,.shopping-checklist__toolbar{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.shopping-checklist__toolbar{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4)}.shopping-checklist__category h2,.shopping-checklist__toolbar h2{color:var(--color-text);font-size:1.08rem;font-weight:950;margin:0}.shopping-checklist__category-header>span,.shopping-checklist__toolbar>span{color:var(--color-muted);flex:0 0 auto;font-size:.72rem;font-weight:850}.shopping-checklist__groups{display:grid;gap:var(--space-4)}.shopping-checklist__category--manual{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.shopping-checklist__item{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--color-soft);display:grid;font-size:.9rem;gap:var(--space-3);line-height:1.35;padding:var(--space-3)}.shopping-checklist__check{align-items:center;cursor:pointer;display:grid;gap:var(--space-3);grid-template-columns:24px minmax(0,1fr);min-height:28px}.shopping-checklist__item input{accent-color:var(--color-accent);height:20px;margin:0;width:20px}.shopping-checklist__item--checked .shopping-checklist__check span{color:var(--color-muted);text-decoration:line-through}.shopping-checklist__remove{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-muted);display:inline-grid;height:36px;place-items:center;width:36px}.planning-type-card{min-height:86px}.protein-recipe-card__meta{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);font-size:.62rem;line-height:1;padding:.28rem .48rem;text-transform:none;width:-moz-fit-content;width:fit-content}.svg-icon{flex:0 0 auto;height:1.05em;width:1.05em}.brand-mark__symbol .svg-icon{height:18px;width:18px}.bottom-nav__link{flex-direction:column;gap:.18rem}.bottom-nav__link .svg-icon{height:17px;width:17px}.primary-button,.secondary-button{gap:.45rem}.planning-type-card--selected{background:color-mix(in srgb,var(--color-accent) 11%,var(--color-panel));border-color:var(--color-border-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 14%,transparent)}.planning-type-card--selected .planning-type-card__symbol{background:linear-gradient(135deg,var(--color-accent-deep),var(--color-accent-strong));border-color:transparent;color:#fffaf3}.planning-type-card__symbol .svg-icon{height:28px;stroke-width:1.9;width:28px}.total-portions-card--interactive{gap:1rem;justify-items:center}.total-portions-list{display:grid;gap:.9rem}.total-portions-card--group{align-items:stretch}.total-portions-card__header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;width:100%}.total-portions-card__header .section-kicker{margin:0}.total-portions-card__header span{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);flex:0 0 auto;font-size:.72rem;font-weight:900;padding:.32rem .58rem}.total-portions-card__value{color:var(--color-text);font-size:3.4rem;font-weight:950;line-height:1;margin:0}.portion-slider{accent-color:var(--color-accent);width:100%}.stepper-control{align-items:center;display:grid;gap:.5rem;grid-template-columns:42px minmax(0,1fr) 42px;width:100%}.stepper-control__button{background:var(--color-panel-soft);display:inline-grid;place-items:center}.stepper-control__button,.stepper-control__value{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);min-height:42px}.stepper-control__value{align-items:center;background:var(--color-elevated);display:flex;font-weight:950;gap:.25rem;justify-content:center}.stepper-control__value input{background:transparent;border:0;color:inherit;font:inherit;outline:none;text-align:center;width:4.2rem}.stepper-control__value span:not(.sr-only){color:var(--color-muted);font-size:.78rem;font-weight:850}.sr-only{height:1px;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}.single-portion-card--visual,.sr-only{overflow:hidden}.single-portion-card__media{background:var(--color-bg-soft);border-radius:var(--radius-sm);color:var(--color-muted);display:grid;font-size:3rem;font-weight:950;min-height:180px;overflow:hidden;place-items:center}.single-portion-card__media img{height:100%;min-height:180px;-o-object-fit:contain;object-fit:contain;width:100%}.single-portion-card__header p:not(.section-kicker){color:var(--color-muted);font-size:.9rem;margin:0}.portion-weight-control{display:grid;gap:.55rem}.portion-weight-control>span{color:var(--color-muted);font-size:.82rem;font-weight:850}.guided-review--visual,.result-group-list{display:grid;gap:.9rem}.result-group,.review-group{display:grid;gap:.7rem}.result-group__header,.review-group__header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.result-group__header h3,.review-group__header h2{color:var(--color-text);font-size:1.06rem;font-weight:950;margin:0}.result-group__header span,.review-group__header span{color:var(--color-muted);font-size:.78rem;font-weight:850}.review-item{align-items:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:.75rem;grid-template-columns:62px minmax(0,1fr);padding:.55rem}.review-item__media{background:var(--color-bg-soft);border-radius:var(--radius-sm);color:var(--color-muted);display:grid;font-weight:950;height:62px;overflow:hidden;place-items:center;width:62px}.review-item__media img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.review-item__body{display:grid;gap:.18rem;min-width:0}.review-item__body strong{color:var(--color-text);font-size:.94rem;font-weight:950;line-height:1.12}.review-item__body small,.review-item__body span{color:var(--color-muted);font-size:.8rem;line-height:1.3}.guided-review__notice{align-items:flex-start;display:flex;gap:.55rem}.guided-review__notice .svg-icon{color:var(--color-accent-strong);margin-top:.1rem}.shopping-checklist__actions{display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr) auto}.shopping-checklist__category h2{align-items:center;display:flex;gap:.45rem}.empty-state--icon>.svg-icon{color:var(--color-accent-strong);height:30px;width:30px}.bottom-nav{background:var(--color-panel);border-radius:0;bottom:0;box-shadow:0 -14px 34px #422b1a1a}.student-shell__main{padding-bottom:7.75rem}.flow-action-bar,.sticky-action{bottom:57px}@media(max-width:390px){.market-modal__form,.shopping-add-card,.shopping-checklist__actions{grid-template-columns:1fr}.bottom-nav__link{font-size:.76rem}.distribution-card{grid-template-columns:56px minmax(0,1fr) 62px}.distribution-card__media{height:56px;width:56px}}.app-frame{background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent-strong) 12%,transparent),transparent 34rem),linear-gradient(180deg,var(--color-panel) 0,var(--color-bg) 48%,var(--color-bg-soft) 100%)}.app-frame,.bottom-nav,.flow-action-bar,.sticky-action{max-width:760px}.student-shell__main{padding-inline:clamp(1rem,3vw,1.35rem)}.flow-screen{gap:1.15rem}.flow-step-header h1{max-width:12ch}.flow-step-header p{max-width:58ch}.guided-controls,.planner-controls{background:color-mix(in srgb,var(--color-panel) 82%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:.85rem}.guided-recipe-grid,.library-list{gap:1rem}.library-card,.protein-recipe-card,.recipe-card{background:var(--color-panel);border-color:color-mix(in srgb,var(--color-border) 82%,transparent);box-shadow:0 16px 42px #422b1a12;overflow:hidden}.library-card:hover,.protein-recipe-card:hover{transform:translateY(-1px)}.library-card--active,.protein-recipe-card--selected,.recipe-card--selected{background:color-mix(in srgb,var(--color-accent) 8%,var(--color-panel));border-color:var(--color-border-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 16%,transparent),0 18px 46px #422b1a1a}.library-card__button,.protein-recipe-card__button,.recipe-card__button{align-items:stretch;gap:.8rem;grid-template-columns:1fr;padding:.75rem}.library-card__image-wrap,.protein-recipe-card__image-wrap,.recipe-card__image-wrap{background:var(--color-bg-soft);border-radius:var(--radius-md);height:clamp(154px,38vw,214px);min-height:154px;position:relative}.library-card__image,.library-card__image-placeholder,.protein-recipe-card__image,.protein-recipe-card__image-placeholder,.recipe-card__image,.recipe-card__image-placeholder{height:100%;min-height:154px}.library-card__image,.protein-recipe-card__image,.recipe-card__image{filter:saturate(1.04) contrast(1.02)}.protein-recipe-card__meta,.recipe-card__meta{background:color-mix(in srgb,var(--color-panel) 88%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);border-radius:999px;color:var(--color-muted);font-size:.62rem;font-weight:900;line-height:1;padding:.28rem .5rem;text-transform:none;width:-moz-fit-content;width:fit-content}.protein-recipe-card__image-wrap .protein-recipe-card__meta{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--color-text);left:.62rem;position:absolute;top:.62rem}.protein-recipe-card__check,.recipe-card__selected-mark{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--color-panel) 88%,transparent);bottom:.65rem;box-shadow:0 10px 24px #422b1a26;color:var(--color-text);height:40px;right:.65rem;width:40px}.protein-recipe-card--selected .protein-recipe-card__check,.recipe-card--selected .recipe-card__selected-mark{background:linear-gradient(135deg,var(--color-accent-deep),var(--color-accent-strong));color:#fffaf3}.library-card__content,.protein-recipe-card__content,.recipe-card__content{gap:.5rem;padding-inline:.12rem}.protein-recipe-card__selected-copy{color:var(--color-accent);font-size:.7rem;font-weight:950;width:-moz-fit-content;width:fit-content}.library-card__title,.protein-recipe-card__title,.recipe-card__title{font-size:clamp(1.08rem,3.5vw,1.42rem);line-height:1.04}.library-card__description,.protein-recipe-card__teaser{color:var(--color-muted);display:-webkit-box;font-size:.82rem;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.library-card__attributes,.protein-recipe-card__status,.recipe-card__attributes,.recipe-detail__attributes{display:grid;gap:.48rem;grid-template-columns:repeat(2,minmax(0,1fr))}.attribute-bars{align-items:center;background:var(--color-panel-soft);border:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);border-radius:var(--radius-sm);display:grid;gap:.16rem .42rem;grid-template-columns:22px minmax(0,1fr);min-width:0;padding:.45rem}.attribute-bars__icon{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-panel));border-radius:999px;color:var(--color-accent);display:inline-grid;grid-row:1/3;height:22px;place-items:center;width:22px}.attribute-bars__icon .svg-icon{height:14px;stroke-width:2;width:14px}.attribute-bars__label{color:var(--color-soft);font-size:.67rem;font-weight:900;line-height:1.1}.attribute-bars__track{display:grid;gap:2px;grid-template-columns:repeat(4,minmax(7px,1fr))}.attribute-bars__bar{background:color-mix(in srgb,var(--color-muted) 18%,transparent);height:4px}.attribute-bars__bar.attribute-bars__bar--active,.attribute-bars__bar.attribute-bars__bar--lower{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-strong))}.protein-recipe-card__details{border:0;border-top:1px solid var(--color-border);margin:0 .75rem .75rem;padding:.65rem 0 0}.protein-recipe-card__details summary{color:var(--color-muted);font-size:.8rem}.protein-recipe-card__extra p{color:var(--color-soft)}.library-card__button{min-height:100%;text-align:left}.library-card__image,.library-card__image-placeholder,.library-card__image-wrap{min-height:150px}.recipe-modal{align-items:center;padding:.8rem}.recipe-detail--modal{background:var(--color-panel);border-color:var(--color-border);border-radius:14px;width:min(100%,720px)}.recipe-detail{gap:1.05rem}.recipe-detail__hero{gap:.9rem}.recipe-detail__image,.recipe-detail__image-placeholder,.recipe-detail__media{min-height:260px}.recipe-detail__intro h2{font-size:clamp(1.7rem,5vw,2.3rem);line-height:1}.recipe-detail__quick-grid{display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-detail__quick-item{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:.25rem;min-width:0;padding:.72rem}.recipe-detail__quick-item .svg-icon{color:var(--color-accent)}.recipe-detail__quick-item span{color:var(--color-muted);font-size:.68rem;font-weight:850}.recipe-detail__quick-item strong{color:var(--color-text);font-size:.9rem;line-height:1.15}.detail-section{border-top:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.detail-section--secondary{opacity:.88}.detail-list{line-height:1.55}.review-item{box-shadow:none}.review-item__media{height:74px;width:74px}.single-portion-card__media,.single-portion-card__media img{min-height:220px}.stepper-control{grid-template-columns:48px minmax(0,1fr) 48px}.stepper-control__button,.stepper-control__value{min-height:48px}.distribution-card,.review-item,.shopping-add-card,.shopping-checklist__item,.shopping-checklist__toolbar,.shopping-summary__item,.total-portions-card{border-color:color-mix(in srgb,var(--color-border) 78%,transparent)}.shopping-checklist__toolbar{align-items:center;box-shadow:none}.shopping-checklist__actions{align-items:stretch}.shopping-checklist__category{background:color-mix(in srgb,var(--color-panel) 76%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:.65rem;padding:.8rem}.shopping-checklist__category-header{align-items:center}.result-shopping-preview__group h3 .svg-icon,.shopping-checklist__category h2 .svg-icon{color:var(--color-accent);height:18px;width:18px}.shopping-checklist__item{background:var(--color-panel);border-radius:var(--radius-sm);box-shadow:none;grid-template-columns:minmax(0,1fr) auto;padding:.72rem}.shopping-checklist__check{grid-template-columns:28px minmax(0,1fr);min-height:44px}.shopping-checklist__item input{height:24px;width:24px}.shopping-checklist__item--checked{background:color-mix(in srgb,var(--color-lilac) 9%,var(--color-panel))}.result-shopping-preview{display:grid;gap:.85rem}.result-shopping-preview__group{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:.5rem;padding:.85rem}.result-shopping-preview__group h3{align-items:center;color:var(--color-text);display:flex;font-size:.98rem;font-weight:950;gap:.45rem;margin:0}.result-shopping-preview__group ul{color:var(--color-soft);display:grid;font-size:.9rem;gap:.35rem;line-height:1.38;margin:0;padding-left:1.1rem}.planning-type-card__status{align-self:start;background:var(--color-panel-soft);border-radius:999px;font-size:.62rem;padding:.2rem .45rem}@media(min-width:620px){.guided-recipe-grid,.library-list{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-recipe-grid .protein-recipe-card__button,.library-card__button{grid-template-columns:1fr}.guided-recipe-grid .protein-recipe-card__image-wrap{height:168px}.guided-recipe-grid .protein-recipe-card__title{min-height:auto}.shopping-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:760px){.recipe-detail__hero{grid-template-columns:1fr}.result-shopping-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.library-card__attributes,.protein-recipe-card__status,.recipe-card__attributes,.recipe-detail__attributes,.recipe-detail__quick-grid{grid-template-columns:1fr}.recipe-detail__image,.recipe-detail__image-placeholder,.recipe-detail__media{min-height:210px}}.planning-group-status{background:color-mix(in srgb,var(--color-panel) 84%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:.85rem;padding:.9rem}.planning-group-status__chips{display:flex;flex-wrap:wrap;gap:.45rem}.planning-group-chip{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:999px;color:var(--color-soft);font-size:.78rem;font-weight:850;line-height:1.2;padding:.38rem .58rem}.planning-group-chip--done{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-panel));border-color:color-mix(in srgb,var(--color-accent) 36%,var(--color-border));color:var(--color-text)}.planning-group-status__text{color:var(--color-muted);font-size:.9rem;line-height:1.45;margin:0}.total-portions-card__value{display:grid;gap:.15rem;text-align:center}.total-portions-card__value span{color:var(--color-muted);font-size:.88rem;font-weight:850;line-height:1}.secondary-button--wide{justify-content:center;width:100%}.secondary-button--compact{min-height:36px;padding:.45rem .7rem;width:-moz-fit-content;width:fit-content}.result-summary-items{display:flex;flex-wrap:wrap;gap:.4rem}.result-summary-items span{background:color-mix(in srgb,var(--color-panel-soft) 88%,transparent);border:1px solid var(--color-border);border-radius:999px;color:var(--color-soft);font-size:.78rem;font-weight:850;padding:.35rem .52rem}.planning-operation-list{display:grid;gap:.9rem}.planning-operation-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:.85rem;padding:.9rem}.planning-operation-card__header{align-items:center;display:grid;gap:.85rem;grid-template-columns:78px minmax(0,1fr)}.planning-operation-card__header>span:last-child{display:grid;gap:.18rem;min-width:0}.planning-operation-card__header em,.planning-operation-card__header small,.planning-operation-card__metrics small,.planning-operation-card__note,.yield-flow small{color:var(--color-muted);font-size:.78rem;line-height:1.35}.planning-operation-card__header strong{color:var(--color-text);font-size:1.02rem;font-weight:950;line-height:1.12}.planning-operation-card__header em{font-style:normal;font-weight:800}.planning-operation-card__metrics{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.planning-operation-card__metrics span{background:color-mix(in srgb,var(--color-bg-soft) 74%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:grid;gap:.16rem;padding:.65rem}.planning-operation-card__metrics strong{color:var(--color-text);font-size:1.1rem;font-weight:950}.yield-flow{align-items:center;background:color-mix(in srgb,var(--color-accent) 8%,var(--color-panel));border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:.45rem;padding:.7rem}.yield-flow span{align-items:center;display:inline-flex;gap:.35rem}.yield-flow strong{color:var(--color-text);font-size:.95rem;font-weight:950}.yield-flow i{color:var(--color-accent-strong);font-style:normal;font-weight:950}.planning-operation-card__note{margin:0}.single-portion-card__media{aspect-ratio:16/9;max-height:190px;min-height:0}.single-portion-card__media img{min-height:0}.weight-help-note{align-items:flex-start;background:color-mix(in srgb,var(--color-panel-soft) 78%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);border-radius:var(--radius-sm);color:var(--color-soft);display:flex;font-size:.86rem;font-weight:750;gap:.5rem;line-height:1.42;margin:0;padding:.7rem}.weight-help-note .svg-icon{color:var(--color-accent-strong);flex:0 0 auto;margin-top:.1rem}.single-portion-card .portion-line__preview{background:color-mix(in srgb,var(--color-panel-soft) 82%,transparent);border-left-color:color-mix(in srgb,var(--color-accent-strong) 42%,var(--color-border));color:var(--color-soft)}.library-card__attributes .attribute-bars,.protein-recipe-card__status .attribute-bars,.recipe-card__attributes .attribute-bars,.recipe-detail__attributes .attribute-bars{grid-template-columns:minmax(112px,.88fr) minmax(44px,1fr)}.attribute-bars__label{white-space:normal}@media(max-width:520px){.planning-operation-card__metrics{grid-template-columns:1fr}.button-row{align-items:stretch}.button-row>*{justify-content:center}}.result-page{display:grid;gap:1rem}.result-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 12%,var(--color-panel)),var(--color-panel));border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow-card);gap:1rem;padding:clamp(1rem,3vw,1.35rem)}.result-hero__content{gap:.28rem}.result-empty h1,.result-hero h1{font-size:clamp(1.75rem,7vw,2.5rem);font-weight:950;letter-spacing:0;line-height:1}.result-empty p,.result-hero p{color:var(--color-muted);font-size:.98rem;line-height:1.45}.result-hero__stats{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.result-hero__stats span{background:color-mix(in srgb,var(--color-panel-soft) 78%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 76%,transparent);border-radius:var(--radius-sm);display:grid;gap:.1rem;padding:.7rem}.result-hero__stats strong{color:var(--color-text);font-size:1.35rem;font-weight:950;line-height:1}.result-hero__stats small,.result-muted-line,.result-section__header p{color:var(--color-muted);font-size:.8rem;line-height:1.35}.result-hero__actions{display:grid;gap:.55rem;grid-template-columns:1fr}.result-hero__actions .primary-button,.result-hero__actions .secondary-button,.result-section__header .secondary-button{justify-content:center;width:100%}.result-section{background:transparent;border:0;box-shadow:none;display:grid;gap:.75rem;padding:.25rem 0}.result-section__header{display:grid;gap:.18rem}.result-section__header--inline{gap:.7rem;grid-template-columns:minmax(0,1fr)}.result-section__header h2{color:var(--color-text);font-size:1.22rem;font-weight:950;letter-spacing:0;line-height:1.08;margin:0}.result-section__header>strong{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-panel));border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border));border-radius:999px;color:var(--color-text);font-size:.84rem;font-weight:950;padding:.38rem .58rem;width:-moz-fit-content;width:fit-content}.result-route{display:grid;gap:.65rem}.result-route-card{align-items:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 10px 30px #422b1a0d;display:grid;gap:.7rem;grid-template-columns:auto 42px minmax(0,1fr);padding:.82rem}.result-route-card__number{background:var(--color-accent);border-radius:999px;color:#fffaf3;display:grid;font-size:.84rem;font-weight:950;height:28px;place-items:center;width:28px}.result-route-card__icon{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-panel-soft));border-radius:var(--radius-sm);color:var(--color-accent-deep);display:grid;height:42px;place-items:center;width:42px}.result-route-card strong,.result-summary-card h3,.result-yield-card h3{color:var(--color-text);font-weight:950;line-height:1.12}.result-route-card span:last-child{display:grid;gap:.16rem;min-width:0}.result-route-card small{color:var(--color-muted);font-size:.82rem;line-height:1.35}.result-summary-grid,.result-yield-list{display:grid;gap:.75rem}.result-summary-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:.45rem;padding:.85rem}.result-summary-card header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between}.result-summary-card h3,.result-yield-card h3{font-size:1rem;margin:0}.result-summary-card span,.result-yield-card p,.result-yield-card small,.result-yield-card__note{color:var(--color-muted);font-size:.82rem;line-height:1.38}.result-summary-card span{flex:0 0 auto;font-weight:850}.result-muted-line,.result-summary-card p,.result-yield-card p{margin:0}.result-shopping-list{display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.result-shopping-list li{background:color-mix(in srgb,var(--color-panel) 82%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-soft);font-size:.88rem;font-weight:800;line-height:1.35;padding:.65rem .75rem}.result-yield-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:.82rem;grid-template-columns:74px minmax(0,1fr);padding:.78rem}.result-yield-card__media{background:var(--color-bg-soft);border-radius:var(--radius-sm);color:var(--color-muted);display:grid;font-weight:950;height:74px;overflow:hidden;place-items:center;width:74px}.result-yield-card__media img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.result-yield-card__body{display:grid;gap:.35rem;min-width:0}.result-yield-card__flow{align-items:center;background:color-mix(in srgb,var(--color-accent) 8%,var(--color-panel-soft));border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:.35rem;padding:.55rem}.result-yield-card__flow span{align-items:center;display:inline-flex;gap:.28rem}.result-yield-card__flow strong{color:var(--color-text);font-size:.92rem;font-weight:950}.result-yield-card__flow i{color:var(--color-accent-strong);font-style:normal;font-weight:950}.result-yield-card__sentence{color:var(--color-text)!important;font-weight:900}.result-section--portioning{background:color-mix(in srgb,var(--color-panel) 86%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 86%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:.9rem}.result-portioning-text{background:var(--color-bg-soft);border-radius:var(--radius-sm);color:var(--color-soft);font-family:var(--font-sans);font-size:.88rem;line-height:1.55;margin:0;max-height:420px;overflow:auto;padding:.75rem;white-space:pre-wrap}.result-empty{border-radius:var(--radius-md)}.result-empty>.svg-icon{color:var(--color-accent-strong);height:36px;width:36px}@media(min-width:640px){.result-hero{align-items:start;grid-template-columns:minmax(0,1.25fr) minmax(210px,.75fr)}.result-hero__content,.result-hero__stats{grid-column:1}.result-hero__actions{grid-column:2;grid-row:1/span 2}.result-section__header--inline{align-items:center;grid-template-columns:minmax(0,1fr) auto}.result-section__header .secondary-button{width:auto}.result-route{grid-template-columns:repeat(3,minmax(0,1fr))}.result-route-card{align-items:start;grid-template-columns:auto minmax(0,1fr)}.result-route-card__icon{grid-column:1}.result-route-card__number{grid-column:1;grid-row:1;transform:translate(30px,-4px)}.result-route-card span:last-child{grid-column:2;grid-row:1/span 2}.result-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-hero__actions .secondary-button{width:100%}}@media(max-width:430px){.result-hero__stats,.result-yield-card{grid-template-columns:1fr}.result-yield-card__media{aspect-ratio:16/9;height:auto;width:100%}}.flow-screen{gap:.85rem}.flow-progress{gap:.28rem}.flow-step-header{gap:.38rem;padding-top:0}.flow-step-header__kicker{font-size:.64rem;margin:0}.flow-step-header h1{font-size:clamp(1.55rem,5.2vw,2.08rem);line-height:1.08;max-width:none}.flow-step-header p{font-size:.86rem;line-height:1.35;max-width:46ch}.guided-controls{gap:.55rem;padding:.6rem .7rem}.field--search{gap:0}.field--search input{min-height:44px;padding-inline:.82rem}.filter-row--quiet{margin-inline:-.55rem;padding-inline:.55rem;padding-bottom:.05rem}.library-card__button,.protein-recipe-card__button,.recipe-card__button{gap:.68rem;padding:.7rem}.library-card__content,.protein-recipe-card__content,.recipe-card__content{gap:.4rem}.library-card__description,.protein-recipe-card__teaser{font-size:.78rem;-webkit-line-clamp:1;line-height:1.32}.library-card__attributes,.protein-recipe-card__status,.recipe-card__attributes,.recipe-detail__attributes{gap:.42rem}.library-card__attributes .attribute-bars,.protein-recipe-card__status .attribute-bars,.recipe-card__attributes .attribute-bars,.recipe-detail__attributes .attribute-bars{align-items:center;gap:.14rem .4rem;grid-template-columns:22px minmax(0,1fr);min-width:0;padding:.42rem}.library-card__attributes .attribute-bars__icon,.protein-recipe-card__status .attribute-bars__icon,.recipe-card__attributes .attribute-bars__icon,.recipe-detail__attributes .attribute-bars__icon{align-self:center;grid-row:1/3}.library-card__attributes .attribute-bars__label,.protein-recipe-card__status .attribute-bars__label,.recipe-card__attributes .attribute-bars__label,.recipe-detail__attributes .attribute-bars__label{color:var(--color-soft);font-size:.66rem;line-height:1.08;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-card__attributes .attribute-bars__track,.protein-recipe-card__status .attribute-bars__track,.recipe-card__attributes .attribute-bars__track,.recipe-detail__attributes .attribute-bars__track{gap:2px;min-width:0}.library-card__attributes .attribute-bars__bar,.protein-recipe-card__status .attribute-bars__bar,.recipe-card__attributes .attribute-bars__bar,.recipe-detail__attributes .attribute-bars__bar{height:4px;min-width:0}.review-item{gap:.95rem;grid-template-columns:78px minmax(0,1fr);padding:.78rem}.review-item__media{height:78px;width:78px}.review-item__body{gap:.28rem;padding-right:.12rem}.single-portion-card{gap:1.05rem;padding:1rem}.portion-weight-control,.single-portion-card .flow-inline-message,.single-portion-card .portion-line__preview,.single-portion-card__header{padding-inline:.12rem}@media(max-width:520px){.flow-step-header h1{font-size:1.5rem}.guided-controls{padding:.55rem}.library-card__attributes,.protein-recipe-card__status,.recipe-card__attributes,.recipe-detail__attributes{grid-template-columns:1fr}.review-item{gap:.8rem;grid-template-columns:72px minmax(0,1fr);padding:.68rem}.review-item__media{height:72px;width:72px}}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.result-execution-center{--result-ink:#24211d;--result-mint:#dfe9d8;--result-sage:#789069;--result-honey:#f4d28a;--result-clay:#d56a44;--result-lilac:var(--color-lilac);--result-lilac-soft:color-mix(in srgb,var(--color-lilac) 14%,var(--color-panel));--result-line:color-mix(in srgb,var(--color-border) 68%,transparent);gap:.9rem}.theme-dark .result-execution-center{--result-ink:#f5f0e8;--result-mint:#25312a;--result-sage:#a8c59a;--result-honey:#d7aa58;--result-clay:#ff8a62}.result-execution-center .result-section{scroll-margin-top:6rem}.result-hero{align-items:center;background:linear-gradient(135deg,var(--result-lilac-soft) 0,color-mix(in srgb,var(--result-mint) 32%,var(--color-panel)) 45%,var(--color-panel) 100%),var(--color-panel);border:1px solid color-mix(in srgb,var(--result-lilac) 30%,var(--color-border));border-radius:12px;box-shadow:0 12px 30px #422b1a12;display:grid;gap:.7rem .82rem;grid-template-columns:36px minmax(0,1fr);overflow:hidden;padding:.85rem;position:relative}.result-hero:after{background:linear-gradient(180deg,var(--result-lilac),var(--color-accent-strong));content:"";inset:0 auto 0 0;position:absolute;width:4px}.result-hero__mark{background:color-mix(in srgb,var(--result-lilac) 18%,var(--color-panel));border:1px solid color-mix(in srgb,var(--result-lilac) 34%,transparent);border-radius:10px;color:color-mix(in srgb,var(--result-lilac) 84%,var(--color-accent-deep));display:grid;height:36px;place-items:center;position:relative;width:36px;z-index:1}.result-hero__mark .svg-icon{height:19px;width:19px}.result-hero__content{display:grid;gap:.16rem;min-width:0;position:relative;z-index:1}.result-empty h1,.result-hero h1{color:var(--color-text);font-size:clamp(28px,9vw,42px);font-weight:1000;letter-spacing:-.055em;line-height:.88;margin:0}.result-empty p,.result-hero p{color:var(--color-soft);font-size:.84rem;line-height:1.32;margin:0;max-width:30rem}.result-metric-chips{display:grid;gap:.38rem;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:.1rem;position:relative;z-index:1}.result-metric-chips span{align-items:center;background:color-mix(in srgb,var(--color-elevated) 76%,transparent);border:1px solid color-mix(in srgb,var(--result-lilac) 22%,var(--result-line));border-radius:9px;color:var(--color-soft);display:inline-flex;font-size:.7rem;font-weight:850;gap:.28rem;justify-content:center;min-height:34px;padding:.32rem .46rem;text-align:center}.result-metric-chips strong{color:var(--color-text);font-weight:950}.result-action-panel{background:color-mix(in srgb,var(--color-panel) 88%,transparent);border:1px solid color-mix(in srgb,var(--result-line) 78%,transparent);border-radius:10px;box-shadow:0 8px 24px #422b1a0d;display:grid;gap:.54rem;padding:.64rem}.result-action-panel .primary-button{background:linear-gradient(135deg,color-mix(in srgb,var(--result-lilac) 26%,var(--color-accent-deep)),var(--color-accent-strong));border-color:color-mix(in srgb,var(--result-lilac) 34%,var(--color-accent-strong))}.result-action-panel__primary,.result-action-panel__secondary .secondary-button{width:100%}.result-action-panel__secondary{display:grid;gap:.52rem;grid-template-columns:repeat(2,minmax(0,1fr))}.result-action-panel__tertiary{display:flex;flex-wrap:wrap;gap:.3rem .9rem;justify-content:center;padding-top:.1rem}.result-action-panel__tertiary a{color:var(--color-muted);font-size:.78rem;font-weight:850;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2rem;transition:color .18s ease,text-decoration-color .18s ease}.result-action-panel__tertiary a:hover{color:var(--color-text);text-decoration-color:currentColor}.result-section-heading{display:grid;gap:.16rem}.result-preview-panel__header h2,.result-section-heading h2{color:var(--color-text);font-size:1.24rem;font-weight:950;letter-spacing:0;line-height:1.08;margin:0}.result-preview-panel__header p,.result-section-heading p:not(.section-kicker){color:var(--color-muted);font-size:.86rem;line-height:1.4;margin:0}.result-section--tight{gap:.65rem}.next-steps-compact{background:var(--color-panel);border:1px solid color-mix(in srgb,var(--result-lilac) 20%,var(--result-line));border-radius:12px;box-shadow:0 8px 24px #422b1a0a;display:grid;gap:0;list-style:none;margin:0;padding:0}.next-steps-compact li{align-items:center;display:grid;gap:.52rem;grid-template-columns:24px 32px minmax(0,1fr);min-height:58px;padding:.64rem;position:relative}.next-steps-compact li+li{border-top:1px solid color-mix(in srgb,var(--result-line) 70%,transparent)}.next-steps-compact__number{background:color-mix(in srgb,var(--result-lilac) 18%,var(--color-panel));border-radius:999px;color:color-mix(in srgb,var(--result-lilac) 86%,var(--color-accent-deep));display:grid;font-size:.75rem;font-weight:950;height:22px;place-items:center;width:22px}.next-steps-compact__icon{background:color-mix(in srgb,var(--result-mint) 62%,var(--color-panel));border-radius:var(--radius-sm);color:color-mix(in srgb,var(--result-sage) 74%,var(--result-lilac));display:grid;height:32px;place-items:center;width:32px}.next-steps-compact__icon .svg-icon{height:18px;width:18px}.next-steps-compact strong,.planned-group-card h3,.portioning-group-card h3,.preparation-preview-card h3,.result-shortcut-card strong,.shopping-preview-row strong{color:var(--color-text);font-weight:950;line-height:1.12}.next-steps-compact li>span:last-child{display:grid;gap:.12rem;min-width:0}.next-steps-compact small,.planned-group-card p,.portioning-group-card span,.preparation-mini-list small,.preparation-mini-list span,.preparation-preview-card p,.preparation-preview-card small,.result-shortcut-card small,.shopping-preview-row small{color:var(--color-muted);font-size:.8rem;line-height:1.34}.result-shortcut-grid{display:grid;gap:.58rem}.result-shortcut-card{align-items:center;background:color-mix(in srgb,var(--color-panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--result-line) 78%,transparent);border-radius:10px;box-shadow:0 7px 20px #422b1a0a;display:grid;gap:.62rem;grid-template-columns:34px minmax(0,1fr) auto;min-height:62px;padding:.66rem;transition:border-color .18s ease,transform .18s ease,background .18s ease}.result-shortcut-card:hover{background:var(--color-panel);border-color:color-mix(in srgb,var(--color-accent) 36%,var(--result-line));transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.result-shortcut-card:hover{transform:none}}.result-shortcut-card__icon{background:color-mix(in srgb,var(--result-lilac) 16%,var(--color-panel-soft));border-radius:var(--radius-sm);color:color-mix(in srgb,var(--result-lilac) 84%,var(--color-accent-deep));display:grid;height:34px;place-items:center;width:34px}.result-shortcut-card__content{display:grid;gap:.12rem;min-width:0}.result-shortcut-card>.svg-icon:last-child{color:var(--color-muted);height:18px;width:18px}.planned-groups-summary,.portioning-group-list,.preparation-preview-list{display:grid;gap:.72rem}.planned-group-card{align-items:start;background:var(--color-panel);border:1px solid color-mix(in srgb,var(--result-line) 78%,transparent);border-radius:10px;box-shadow:0 8px 22px #422b1a0a;display:grid;gap:.68rem;grid-template-columns:36px minmax(0,1fr);padding:.72rem}.planned-group-card__icon{background:color-mix(in srgb,var(--result-lilac) 12%,var(--result-mint));border-radius:var(--radius-sm);color:color-mix(in srgb,var(--result-sage) 62%,var(--result-lilac));display:grid;height:36px;place-items:center;width:36px}.planned-group-card header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.28rem}.planned-group-card h3,.portioning-group-card h3,.preparation-preview-card h3{font-size:1rem;margin:0}.planned-group-card strong,.portioning-group-card header span{color:var(--color-soft);flex:0 0 auto;font-size:.8rem;font-weight:900}.planned-group-card p{margin:0}.portioning-preview,.result-preview-panel{background:color-mix(in srgb,var(--color-panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--result-line) 80%,transparent);border-radius:14px;box-shadow:0 12px 34px #422b1a0f;padding:.95rem}.result-preview-panel__header{display:grid;gap:.75rem}.result-preview-panel__header>div{display:grid;gap:.16rem}.portioning-preview .secondary-button,.result-preview-panel__header .secondary-button{width:100%}.shopping-preview-list{display:grid;gap:.5rem}.shopping-preview-row{align-items:center;background:color-mix(in srgb,var(--color-bg-soft) 72%,transparent);border-radius:10px;display:grid;gap:.58rem;grid-template-columns:34px minmax(0,1fr) auto;min-height:48px;padding:.54rem .62rem}.shopping-preview-row>span:first-child{background:color-mix(in srgb,var(--result-lilac) 12%,var(--color-panel));border-radius:var(--radius-sm);color:color-mix(in srgb,var(--result-sage) 62%,var(--result-lilac));display:grid;height:34px;place-items:center;width:34px}.shopping-preview-row .svg-icon{height:18px;width:18px}.preparation-preview-card{background:var(--color-panel);border:1px solid color-mix(in srgb,var(--result-line) 80%,transparent);border-radius:14px;box-shadow:0 10px 28px #422b1a0d;overflow:hidden}.preparation-preview-card__media{aspect-ratio:16/9;background:linear-gradient(135deg,color-mix(in srgb,var(--result-mint) 55%,transparent),color-mix(in srgb,var(--result-honey) 20%,transparent)),var(--color-bg-soft);color:var(--color-muted);display:grid;font-size:2rem;font-weight:950;overflow:hidden;place-items:center}.preparation-preview-card__media img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.preparation-preview-card__body{display:grid;gap:.5rem;padding:.82rem}.preparation-preview-card__body>small{color:var(--result-sage);font-size:.72rem;font-weight:900;text-transform:uppercase}.preparation-preview-card p{margin:0}.yield-transform{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--result-honey) 28%,var(--color-panel-soft)),color-mix(in srgb,var(--result-mint) 48%,var(--color-panel-soft)));border-radius:10px;display:flex;flex-wrap:wrap;gap:.4rem;padding:.62rem}.yield-transform__stage{display:grid;gap:.04rem}.yield-transform strong{color:var(--color-text);font-size:.98rem;font-weight:950;line-height:1}.yield-transform small{color:var(--color-muted);font-size:.68rem;font-weight:850;text-transform:lowercase}.yield-transform i{color:var(--color-accent-deep);font-style:normal;font-weight:950}.preparation-preview-card__actions{display:grid;gap:.48rem}.result-disclosure{display:grid;gap:.55rem}.result-disclosure summary{align-items:center;background:color-mix(in srgb,var(--color-bg-soft) 62%,transparent);border:1px solid color-mix(in srgb,var(--result-line) 80%,transparent);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-size:.82rem;font-weight:900;gap:.6rem;justify-content:space-between;list-style:none;min-height:38px;padding:.55rem .68rem}.result-disclosure summary::-webkit-details-marker{display:none}.result-disclosure summary .svg-icon{height:16px;transition:transform .18s ease;width:16px}.result-disclosure[open] summary .svg-icon{transform:rotate(90deg)}.result-disclosure p,.result-disclosure pre,.result-support-note{color:var(--color-muted);font-size:.82rem;line-height:1.45;margin:.55rem 0 0}.result-disclosure pre{background:color-mix(in srgb,var(--color-bg-soft) 70%,transparent);border-radius:var(--radius-sm);font-family:var(--font-sans);max-height:280px;overflow:auto;padding:.7rem;white-space:pre-wrap}.result-disclosure--full{border-top:1px solid color-mix(in srgb,var(--result-line) 76%,transparent);padding-top:.72rem}.result-disclosure--full summary span{color:var(--color-muted);font-size:.76rem}.preparation-mini-list{display:grid;gap:.55rem;margin-top:.6rem}.preparation-mini-list article{background:var(--color-panel);border:1px solid color-mix(in srgb,var(--result-line) 72%,transparent);border-radius:10px;display:grid;gap:.52rem;padding:.7rem}.preparation-mini-list article>div{display:grid;gap:.14rem}.preparation-mini-list strong{color:var(--color-text);font-size:.95rem}.result-support-note{color:var(--color-muted)}.portioning-preview{gap:.86rem}.portioning-group-card{background:var(--color-panel);border:1px solid color-mix(in srgb,var(--result-line) 78%,transparent);border-radius:12px;display:grid;gap:.6rem;padding:.82rem}.portioning-group-card header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between}.portioning-group-card ul{display:grid;gap:.48rem;list-style:none;margin:0;padding:0}.portioning-group-card li{background:color-mix(in srgb,var(--color-bg-soft) 64%,transparent);border-radius:var(--radius-sm);display:grid;gap:.12rem;padding:.62rem}.portioning-group-card li strong{color:var(--color-text);font-size:.9rem}.portioning-total{align-items:center;background:var(--result-ink);border-radius:12px;color:var(--color-panel);display:flex;justify-content:space-between;padding:.78rem .85rem}.theme-dark .portioning-total{background:color-mix(in srgb,var(--color-elevated) 72%,#000);color:var(--color-text)}.portioning-total span{color:color-mix(in srgb,currentColor 70%,transparent);font-size:.8rem;font-weight:850}.portioning-total strong{font-size:1rem;font-weight:950}.result-disclosure--quiet summary{background:transparent;border:0;color:var(--color-muted);min-height:34px;padding-inline:0}.result-empty{align-content:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-card);display:grid;gap:.65rem;justify-items:start;min-height:52vh;padding:clamp(1.1rem,5vw,1.6rem)}.copy-feedback{bottom:5.8rem}.bottom-nav{box-shadow:0 -12px 34px #422b1a14}.student-shell__main{padding-bottom:8.25rem}@media(min-width:640px){.result-execution-center{gap:.95rem}.result-hero{grid-template-columns:36px minmax(0,1fr)}.result-metric-chips{grid-column:1/-1}.planned-groups-summary,.preparation-preview-list,.result-action-panel__secondary,.result-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-preview-panel__header{align-items:center;grid-template-columns:minmax(0,1fr) auto}.portioning-preview .secondary-button,.result-preview-panel__header .secondary-button{width:auto}.shopping-preview-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:760px){.next-steps-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.next-steps-compact li+li{border-left:1px solid color-mix(in srgb,var(--result-line) 70%,transparent);border-top:0}.portioning-group-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.result-action-panel__secondary{grid-template-columns:1fr}.result-empty h1,.result-hero h1{font-size:2.2rem}.shopping-preview-row{grid-template-columns:34px minmax(0,1fr)}.shopping-preview-row small{grid-column:2}}body:has(.shopping-page){background:radial-gradient(circle at 50% 0,rgba(255,116,72,.13),transparent 35%),linear-gradient(90deg,#e9e1d6,#f7f0e7 45%,#e8ded1)}body:has(.shopping-page) .app-frame{background:#fbf6ee}body:has(.shopping-page) .student-shell__topbar{background:#fbf6eee6}body:has(.shopping-page) .bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf3e6}body:has(.shopping-page) .bottom-nav__link.router-link-active{background:#fff0ea;border-color:#c01a1a24;color:var(--color-accent)}.shopping-page{--shopping-ink:#211713;--shopping-muted:#75695f;--shopping-line-strong:rgba(54,36,25,.16);--shopping-paper:#fffaf3;--shopping-shell:#fbf6ee;--shopping-rose:#fff0ea;--shopping-green:#1d8d55;background:radial-gradient(circle at 108% -8%,rgba(255,116,72,.18),transparent 34%),linear-gradient(180deg,#fbf6ee,#f5ecdf);color:var(--shopping-ink);display:grid;gap:.86rem;margin-block:calc(var(--space-5)*-1);margin-inline:calc(clamp(1rem,3vw,1.35rem)*-1);min-height:calc(100vh - 86px);padding:1.1rem .88rem 8.4rem}.shopping-kicker{color:var(--color-accent);font-size:.72rem;font-weight:950;letter-spacing:.08em;margin:0 0 .25rem;text-transform:uppercase}.shopping-hero{background:radial-gradient(circle at 110% -10%,rgba(255,116,72,.3),transparent 45%),linear-gradient(135deg,#fffaf3,#fff3ea 54%,#f5e6d5);border:1px solid rgba(54,36,25,.08);border-radius:24px;box-shadow:0 18px 45px #492b1a1a;display:grid;gap:.82rem;overflow:hidden;padding:1rem}.shopping-hero__top{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.shopping-hero h1{color:var(--shopping-ink);font-size:clamp(28px,9vw,42px);font-weight:1000;letter-spacing:-.055em;line-height:.88;margin:0}.shopping-hero p:not(.shopping-kicker){color:var(--shopping-muted);font-size:.83rem;line-height:1.36;margin:.48rem 0 0;max-width:15rem}.shopping-done-state>span,.shopping-empty-state__icon,.shopping-hero__icon{background:#fff;box-shadow:0 12px 24px #452d1b1a;color:var(--color-accent);display:grid;flex:0 0 auto;place-items:center}.shopping-hero__icon{border-radius:16px;height:46px;width:46px}.shopping-category-tabs,.shopping-filters,.shopping-meta-row,.shopping-subcategory-tabs{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none}.shopping-category-tabs::-webkit-scrollbar,.shopping-filters::-webkit-scrollbar,.shopping-meta-row::-webkit-scrollbar,.shopping-subcategory-tabs::-webkit-scrollbar{display:none}.shopping-meta-row{flex-wrap:wrap}.shopping-filter-chip,.shopping-meta-row span{align-items:center;background:#ffffffb8;border:1px solid rgba(54,36,25,.09);border-radius:999px;color:var(--shopping-ink);display:inline-flex;font-size:.74rem;font-weight:900;gap:.34rem;min-height:30px;padding:.42rem .64rem}.shopping-filter-chip--subtle{background:#fffaf385;color:var(--shopping-muted,#75695f)}.shopping-progress{background:#ffffff94;border:1px solid rgba(54,36,25,.08);border-radius:18px;display:grid;gap:.56rem;padding:.78rem}.shopping-progress__label{align-items:center;color:var(--shopping-ink);display:flex;font-size:.76rem;font-weight:900;gap:.75rem;justify-content:space-between}.shopping-progress__label span{color:var(--shopping-muted)}.shopping-progress__track{background:#3624191a;border-radius:999px;height:9px;overflow:hidden}.shopping-progress__track span{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-strong));border-radius:inherit;display:block;height:100%;transition:width .22s ease}.shopping-actions{align-items:center;display:grid;gap:.56rem;grid-template-columns:minmax(0,1fr) auto}.shopping-button,.shopping-clear-button,.shopping-icon-button{border:0;color:inherit}.shopping-button{align-items:center;border-radius:16px;display:inline-flex;font-size:.82rem;font-weight:950;gap:.46rem;justify-content:center;min-height:46px;padding:0 .86rem}.shopping-button--primary{background:linear-gradient(135deg,var(--color-accent),#e94b2a,var(--color-accent-strong));box-shadow:0 14px 24px #bd201733;color:#fff}.shopping-button--secondary{background:var(--shopping-paper);border:1px solid var(--shopping-line-strong);color:var(--shopping-ink)}.shopping-clear-button{background:transparent;color:var(--shopping-muted);font-size:.76rem;font-weight:900;grid-column:1/-1;justify-self:center;padding:.3rem .5rem}.shopping-filter-chip{background:var(--shopping-paper);color:var(--shopping-muted);flex:0 0 auto}.shopping-filter-chip--active{background:var(--shopping-ink);border-color:var(--shopping-ink);color:var(--shopping-paper)}.shopping-groups{display:grid;gap:.62rem}.shopping-group{background:#fffaf3cc;border:1px solid rgba(54,36,25,.09);border-radius:22px;box-shadow:0 10px 22px #442d1c0d;overflow:hidden}.shopping-group__header{align-items:center;border-bottom:1px solid rgba(54,36,25,.07);display:flex;gap:.75rem;justify-content:space-between;min-height:50px;padding:0 .82rem}.shopping-group__header h2{align-items:center;color:var(--shopping-ink);display:inline-flex;font-size:.88rem;font-weight:950;gap:.48rem;margin:0}.shopping-group__header h2 span{color:var(--color-accent);display:grid}.shopping-group__header strong{color:var(--shopping-muted);font-size:.72rem;font-weight:900}.shopping-group__items{padding:.25rem .5rem .5rem}.shopping-item{align-items:center;border-radius:16px;display:grid;gap:.36rem;grid-template-columns:minmax(0,1fr) auto;min-height:58px;transition:background .15s ease,opacity .15s ease}.shopping-item+.shopping-item{border-top:1px solid rgba(54,36,25,.06)}.shopping-item:hover{background:#bd201709}.shopping-item__main{align-items:center;background:transparent;border:0;color:inherit;display:grid;gap:.48rem;grid-template-columns:34px minmax(0,1fr);min-height:58px;padding:.5rem;text-align:left}.shopping-item__checkbox{background:var(--shopping-paper);border:1.5px solid rgba(54,36,25,.22);border-radius:9px;color:transparent;display:grid;height:25px;place-items:center;width:25px}.shopping-item--checked .shopping-item__checkbox{background:var(--shopping-green);border-color:var(--shopping-green);color:#fff}.shopping-item__content{display:grid;gap:.18rem;min-width:0}.shopping-item__content strong{color:var(--shopping-ink);font-size:.82rem;font-weight:900;line-height:1.18}.shopping-item__content small{color:var(--shopping-muted);font-size:.7rem;font-weight:760;line-height:1.2}.shopping-item--checked .shopping-item__content small,.shopping-item--checked .shopping-item__content strong{opacity:.55;text-decoration:line-through}.shopping-item__remove{background:transparent;border:0;border-radius:10px;color:var(--shopping-muted);display:grid;height:34px;place-items:center;width:34px}.shopping-done-state{align-items:flex-start;background:#e8f5ed;border:1px solid rgba(29,141,85,.15);border-radius:18px;color:#155d38;display:flex;gap:.62rem;padding:.86rem}.shopping-done-state>span{border-radius:12px;color:var(--shopping-green);height:34px;width:34px}.shopping-done-state h2,.shopping-empty-state h2,.shopping-filter-empty h2{color:currentColor;font-size:1.18rem;font-weight:950;line-height:1.05;margin:0}.shopping-done-state p,.shopping-empty-state p,.shopping-filter-empty p{color:var(--shopping-muted);font-size:.82rem;line-height:1.38;margin:.22rem 0 0}.shopping-empty-state,.shopping-filter-empty{background:var(--shopping-paper);border:1px dashed var(--shopping-line-strong);border-radius:28px;box-shadow:0 14px 30px #442d1c0f;display:grid;justify-items:center;padding:1.7rem 1rem;text-align:center}.shopping-empty-state__icon{background:var(--shopping-rose);border-radius:20px;height:58px;margin-bottom:.72rem;width:58px}.shopping-empty-state__actions{display:grid;gap:.55rem;margin-top:1rem;width:100%}.shopping-toast{background:#211713f0;border:1px solid rgba(54,36,25,.1);border-radius:999px;bottom:5.45rem;box-shadow:0 16px 32px #21171338;color:#fffaf3;font-size:.78rem;font-weight:900;margin:0;max-width:min(320px,calc(100vw - 2rem));padding:.7rem .9rem;position:fixed;right:max(1rem,calc(50vw - 215px + 1rem));z-index:110}.shopping-toast-enter-active,.shopping-toast-leave-active{transition:opacity .18s ease,transform .18s ease}.shopping-toast-enter-from,.shopping-toast-leave-to{opacity:0;transform:translateY(8px)}.shopping-sheet-backdrop{background:#140e0a6b;display:grid;inset:0;place-items:center;position:fixed;z-index:80}.shopping-sheet{background:#fbf6ee;border:1px solid rgba(54,36,25,.1);border-radius:24px;box-shadow:0 24px 90px #140e0a47;display:flex;flex-direction:column;gap:.86rem;height:95dvh;left:50%;max-height:95dvh;overflow:hidden;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));position:fixed;top:2.5dvh;transform:translate(-50%);width:min(95vw,920px);z-index:90}.shopping-sheet .shopping-category-tabs,.shopping-sheet .shopping-subcategory-tabs{align-items:center;max-height:42px;min-height:36px;overflow-x:auto;overflow-y:hidden;padding-bottom:.08rem}.shopping-sheet .shopping-filter-chip{flex:0 0 auto;max-width:min(13rem,72vw);min-height:32px;white-space:nowrap;width:auto}.shopping-sheet .shopping-filter-chip--subtle{max-width:min(15rem,76vw)}.shopping-sheet-backdrop-enter-active,.shopping-sheet-backdrop-leave-active,.shopping-sheet-enter-active,.shopping-sheet-leave-active{transition:opacity .18s ease,transform .22s ease}.shopping-sheet-enter-from,.shopping-sheet-leave-to{opacity:0;transform:translate(-50%) scale(.96)}.shopping-sheet-backdrop-enter-from,.shopping-sheet-backdrop-leave-to{opacity:0}.shopping-sheet__header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.shopping-sheet__header h2{color:var(--shopping-ink,#211713);font-size:1.26rem;font-weight:950;margin:0}.shopping-sheet__empty,.shopping-sheet__header p{color:var(--shopping-muted,#75695f);font-size:.82rem;line-height:1.35;margin:.25rem 0 0}.shopping-icon-button{background:#fffaf3;border:1px solid rgba(54,36,25,.12);border-radius:12px;color:var(--shopping-ink,#211713);display:grid;flex:0 0 auto;height:38px;place-items:center;width:38px}.shopping-search{align-items:center;background:#fffaf3;border:1px solid rgba(54,36,25,.12);border-radius:16px;color:var(--shopping-muted,#75695f);display:grid;gap:.55rem;grid-template-columns:20px minmax(0,1fr);min-height:46px;padding:0 .76rem}.shopping-search input{background:transparent;border:0;color:var(--shopping-ink,#211713);font-weight:850;min-width:0;outline:none}.shopping-catalog-group,.shopping-catalog-list,.shopping-custom-form{display:grid}.shopping-catalog-list{flex:1 1 auto;gap:.72rem;min-height:0;overflow-y:auto;padding-right:.18rem;scrollbar-gutter:stable}.shopping-catalog-group{gap:.34rem}.shopping-catalog-group+.shopping-catalog-group{margin-top:.5rem}.shopping-catalog-group h3{color:var(--shopping-muted,#75695f);font-size:.72rem;font-weight:950;margin:.2rem 0;text-transform:uppercase}.shopping-catalog-item{background:#fffaf3c7;border:1px solid rgba(54,36,25,.09);border-radius:16px;color:var(--shopping-ink,#211713);display:grid;gap:.52rem;overflow:hidden;padding:0;text-align:left}.shopping-catalog-item__select{align-items:center;background:transparent;border:0;color:inherit;display:grid;gap:.58rem;grid-template-columns:34px minmax(0,1fr) auto;min-height:58px;padding:.56rem;text-align:left;width:100%}.shopping-catalog-item--added{background:#e8f5ed;color:#155d38}.shopping-catalog-item--selected{background:#fff0ea;border-color:#c4422361;box-shadow:inset 0 0 0 1px #c4422324}.shopping-catalog-item__add{background:var(--shopping-rose,#fff0ea);border-radius:10px;color:var(--color-accent);display:grid;height:30px;place-items:center;width:30px}.shopping-catalog-item--added .shopping-catalog-item__add{background:#fff;color:var(--shopping-green,#1d8d55)}.shopping-catalog-item--selected .shopping-catalog-item__add{background:var(--color-accent);color:#fffaf3}.shopping-catalog-item__body{display:grid;gap:.16rem;min-width:0}.shopping-catalog-item__body strong{font-size:.84rem;font-weight:950;line-height:1.12;overflow:hidden;text-overflow:ellipsis}.shopping-catalog-item__badge,.shopping-catalog-item__body small{color:var(--shopping-muted,#75695f);font-size:.68rem;font-weight:850}.shopping-catalog-item__badge{background:#3624190f;border-radius:999px;max-width:5.8rem;overflow:hidden;padding:.22rem .42rem;text-overflow:ellipsis;white-space:nowrap}.shopping-catalog-item__quantity{background:#ffffff73;border-top:1px solid rgba(196,66,35,.12);display:grid;gap:.52rem;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);padding:0 .56rem .56rem}.shopping-catalog-item__quantity label{display:grid;gap:.26rem;min-width:0}.shopping-catalog-item__quantity span{color:var(--shopping-muted,#75695f);font-size:.64rem;font-weight:900}.shopping-catalog-item__quantity input,.shopping-catalog-item__quantity select{background:#fffaf3;border:1px solid rgba(54,36,25,.12);border-radius:12px;color:var(--shopping-ink,#211713);font-size:.78rem;font-weight:900;min-height:38px;min-width:0;outline:none;padding:0 .62rem}.shopping-catalog-item__quantity input:focus,.shopping-catalog-item__quantity select:focus{border-color:#c442236b;box-shadow:0 0 0 3px #c442231a}.shopping-sheet__custom-link{background:transparent;border:0;color:var(--color-accent);font-size:.78rem;font-weight:950;justify-self:center;padding:.48rem}.shopping-sheet__footer{align-items:center;background:#fbf6eef5;border-top:1px solid rgba(54,36,25,.1);display:flex;gap:.8rem;justify-content:space-between;margin:0 -1rem calc(-1rem - env(safe-area-inset-bottom));padding:.78rem 1rem calc(.78rem + env(safe-area-inset-bottom))}.shopping-sheet__footer span{color:var(--shopping-muted,#75695f);font-size:.8rem;font-weight:900}.shopping-sheet__footer .shopping-button{min-width:10rem;width:auto}.shopping-custom-form{background:#fffaf3;border:1px solid rgba(54,36,25,.09);border-radius:20px;flex:1 1 auto;gap:.72rem;min-height:0;overflow-y:auto;padding:.86rem}.shopping-custom-form__actions,.shopping-custom-form__grid{display:grid;gap:.62rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.theme-dark body:has(.shopping-page){background:linear-gradient(160deg,#0f1215,#171b1f 52%,#111417)}.theme-dark body:has(.shopping-page) .app-frame{background:linear-gradient(180deg,#181c20fa,#111417fc)}.theme-dark body:has(.shopping-page) .bottom-nav,.theme-dark body:has(.shopping-page) .student-shell__topbar{background:#121518eb}.theme-dark body:has(.shopping-page) .bottom-nav__link.router-link-active{background:#e15b4924;border-color:#e15b493d;color:var(--color-accent)}.theme-dark .shopping-page{--shopping-ink:#f4f0ea;--shopping-muted:rgba(244,240,234,.66);--shopping-line-strong:rgba(238,242,246,.16);--shopping-paper:#20252a;--shopping-shell:#171b1f;--shopping-rose:rgba(225,91,73,.13);--shopping-green:#4dac7c;background:linear-gradient(180deg,#171b1f,#111417)}.theme-dark .shopping-hero{background:radial-gradient(circle at 112% -8%,rgba(225,91,73,.18),transparent 38%),linear-gradient(135deg,#20252a,#181c20 58%,#15191d);border-color:#eef2f61f;box-shadow:0 18px 44px #00000038}.theme-dark .shopping-done-state>span,.theme-dark .shopping-empty-state__icon,.theme-dark .shopping-hero__icon{background:#eef2f614;box-shadow:none;color:var(--color-accent)}.theme-dark .shopping-catalog-item,.theme-dark .shopping-custom-form,.theme-dark .shopping-empty-state,.theme-dark .shopping-filter-chip,.theme-dark .shopping-filter-empty,.theme-dark .shopping-group,.theme-dark .shopping-meta-row span,.theme-dark .shopping-progress,.theme-dark .shopping-sheet{background:#20252ae0;border-color:#eef2f61f;box-shadow:none;color:var(--shopping-ink)}.theme-dark .shopping-filter-chip--subtle{background:#eef2f60d;color:var(--shopping-muted)}.theme-dark .shopping-progress__track{background:#eef2f61c}.theme-dark .shopping-filter-chip--active{background:#e15b492e;border-color:#e15b4957;color:var(--shopping-ink)}.theme-dark .shopping-group__header,.theme-dark .shopping-item+.shopping-item{border-color:#eef2f617}.theme-dark .shopping-item:hover{background:#e15b4914}.theme-dark .shopping-catalog-item__quantity input,.theme-dark .shopping-catalog-item__quantity select,.theme-dark .shopping-icon-button,.theme-dark .shopping-item__checkbox,.theme-dark .shopping-search{background:#111417b8;border-color:#eef2f624;color:var(--shopping-ink)}.theme-dark .shopping-done-state{background:#4dac7c1f;border-color:#4dac7c3d;color:#b8f2d2}.theme-dark .shopping-sheet-backdrop{background:#050709a8}.theme-dark .shopping-catalog-item--added{background:#4dac7c1f;border-color:#4dac7c3d;color:#b8f2d2}.theme-dark .shopping-catalog-item--selected{background:#e15b4924;border-color:#e15b495c;box-shadow:inset 0 0 0 1px #e15b4924}.theme-dark .shopping-catalog-item__add,.theme-dark .shopping-catalog-item__badge{background:#eef2f614}.theme-dark .shopping-catalog-item--added .shopping-catalog-item__add{background:#4dac7c2e}.theme-dark .shopping-catalog-item__quantity{background:#1114175c;border-color:#eef2f61a}.theme-dark .shopping-sheet__footer{background:#121518f5;border-color:#eef2f61a}@media(max-width:390px){.shopping-actions,.shopping-custom-form__actions,.shopping-custom-form__grid{grid-template-columns:1fr}.shopping-catalog-item__select{grid-template-columns:34px minmax(0,1fr)}.shopping-catalog-item__badge{grid-column:2;width:-moz-fit-content;width:fit-content}.shopping-catalog-item__quantity{grid-template-columns:1fr}}.library-card__image,.preparation-preview-card__media img,.preparation-preview-card__media>img,.protein-recipe-card__image,.recipe-card__image,.recipe-detail__image,.result-yield-card__media img,.review-item__media img,.single-portion-card__media img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}:root{--admin-bg:#f8f9fa;--admin-panel:#fff;--admin-sidebar-bg:linear-gradient(180deg,#1c1c1c,#0a0a0a);--admin-sidebar-text:#a1a1aa;--admin-sidebar-text-hover:#fff;--admin-sidebar-active:hsla(0,0%,100%,.1);--admin-sidebar-border:hsla(0,0%,100%,.08);--admin-border:#e4e4e7;--admin-text-main:#18181b;--admin-text-muted:#71717a;--admin-accent:#c01a1a;--admin-color-accent-start:#ff734a;--admin-color-accent-end:#c01a1a;--admin-color-green-start:#34d399;--admin-color-green-end:#059669;--admin-color-blue-start:#60a5fa;--admin-color-blue-end:#2563eb;--admin-color-neutral-start:#a1a1aa;--admin-color-neutral-end:#52525b;--admin-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--admin-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--admin-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.theme-dark{--admin-bg:#09090b;--admin-panel:#18181b;--admin-border:#27272a;--admin-text-main:#f4f4f5;--admin-text-muted:#a1a1aa}.admin-shell{background:var(--admin-bg);color:var(--admin-text-main);display:flex;flex-direction:column}@media(min-width:768px){.admin-shell{flex-direction:row}}.admin-sidebar{background:var(--admin-sidebar-bg);border-right:1px solid var(--admin-sidebar-border);display:flex;flex-direction:column;padding:1.5rem 1rem;width:100%;z-index:10}@media(min-width:768px){.admin-sidebar{height:100vh;position:sticky;top:0;width:280px}}.admin-brand{border-bottom:1px solid var(--admin-sidebar-border);color:#fff;gap:1rem;margin-bottom:1.5rem;padding:0 .5rem 2rem;text-decoration:none}.admin-brand__mark{align-items:center;background:linear-gradient(135deg,var(--admin-color-accent-start),var(--admin-color-accent-end));border-radius:10px;box-shadow:0 4px 12px #c01a1a66;display:flex;font-size:1.2rem;font-weight:900;height:40px;justify-content:center;width:40px}.admin-brand__text{display:flex;flex-direction:column}.admin-brand__eyebrow{color:var(--admin-color-accent-start);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.admin-brand__title{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.admin-nav{display:flex;flex-direction:column;flex-grow:1;gap:.5rem}.admin-nav__link{border:none;color:var(--admin-sidebar-text);font-weight:600;gap:.75rem;padding:.75rem 1rem;transition:all .2s ease}.admin-nav__link:hover{background:var(--admin-sidebar-active);color:var(--admin-sidebar-text-hover)}.admin-nav__link--active{background:var(--admin-sidebar-active);border-left:3px solid var(--admin-color-accent-start);color:#fff}.admin-nav__icon{align-items:center;display:flex;justify-content:center;opacity:.8}.admin-nav__link--active .admin-nav__icon{color:var(--admin-color-accent-start);opacity:1}.admin-sidebar__footer{border-top:1px solid var(--admin-sidebar-border);display:flex;flex-direction:column;gap:.5rem;padding-top:1.5rem}.admin-sidebar__signout,.admin-sidebar__site-link{background:transparent;border:none;color:var(--admin-sidebar-text);cursor:pointer;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s}.admin-sidebar__signout:hover,.admin-sidebar__site-link:hover{background:var(--admin-sidebar-active)}.admin-sidebar__signout:hover{color:#ef4444}.admin-main{display:flex;flex-direction:column;flex-grow:1;gap:1.5rem;max-width:1200px;padding:1.5rem;width:100%}@media(min-width:768px){.admin-main{gap:2.5rem;padding:2.5rem 3rem}}.admin-page-header{border:none;flex-direction:column;gap:1rem}@media(min-width:768px){.admin-page-header{align-items:flex-start;flex-direction:row;justify-content:space-between}}.admin-page-header__kicker{color:var(--admin-accent);font-size:.8rem;font-weight:800;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.admin-page-header__title{color:var(--admin-text-main);font-size:2.25rem;font-weight:900;letter-spacing:-.02em;margin:0 0 .5rem}.admin-page-header__sub{color:var(--admin-text-muted);font-size:1rem;margin:0;max-width:600px}.admin-mock-badge{align-items:center;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:999px;color:#d97706;display:inline-flex;font-size:.85rem;font-weight:700;gap:.5rem;padding:.5rem 1rem}.theme-dark .admin-mock-badge{color:#fbbf24}.admin-mock-banner{align-items:center;background:#f59e0b1a;border-left:4px solid #f59e0b;border-radius:8px;color:#b45309;display:flex;font-size:.95rem;font-weight:600;gap:.75rem;padding:1rem}.theme-dark .admin-mock-banner{color:#fbbf24}.admin-stat-grid{display:grid;gap:1rem;grid-template-columns:repeat(1,1fr)}@media(min-width:640px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.admin-stat-grid{grid-template-columns:repeat(4,1fr)}}.admin-stat-card{background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:16px;box-shadow:var(--admin-shadow-sm);display:flex;flex-direction:column;overflow:hidden;padding:1.5rem;position:relative;transition:transform .2s,box-shadow .2s}.admin-stat-card:hover{box-shadow:var(--admin-shadow-md);transform:translateY(-2px)}.admin-stat-card:before{content:"";height:4px;left:0;position:absolute;right:0;top:0}.admin-stat-card--accent:before{background:linear-gradient(90deg,var(--admin-color-accent-start),var(--admin-color-accent-end))}.admin-stat-card--neutral:before{background:linear-gradient(90deg,var(--admin-color-neutral-start),var(--admin-color-neutral-end))}.admin-stat-card--green:before{background:linear-gradient(90deg,var(--admin-color-green-start),var(--admin-color-green-end))}.admin-stat-card--blue:before{background:linear-gradient(90deg,var(--admin-color-blue-start),var(--admin-color-blue-end))}.admin-stat-card__icon{align-items:center;background:var(--admin-bg);border-radius:10px;display:flex;font-size:1.5rem;height:40px;justify-content:center;margin-bottom:1rem;width:40px}.admin-stat-card__value{color:var(--admin-text-main);font-size:2.5rem;font-weight:900;line-height:1;margin-bottom:.5rem}.admin-stat-card__label{color:var(--admin-text-muted);font-size:.9rem;font-weight:600}.admin-card{background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:16px;box-shadow:var(--admin-shadow-sm);display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}@media(min-width:768px){.admin-card{padding:2rem}}.admin-card__header{display:flex;flex-direction:column;gap:.25rem}.admin-section-kicker{color:var(--admin-text-muted);font-size:.75rem;font-weight:800;letter-spacing:.05em;margin:0;text-transform:uppercase}.admin-card__title{color:var(--admin-text-main);font-size:1.25rem;font-weight:800;margin:0}.admin-alert-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.admin-alert-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.admin-alert-grid{grid-template-columns:repeat(3,1fr)}}.admin-alert-card{align-items:center;background:var(--admin-bg);border:1px solid var(--admin-border);border-radius:12px;display:flex;gap:1rem;padding:1.25rem;text-decoration:none;transition:all .2s}.admin-alert-card:hover{box-shadow:var(--admin-shadow-md)}.admin-alert-card strong{font-size:1.5rem;font-weight:800;line-height:1}.admin-alert-card span{font-size:.9rem;font-weight:600}.admin-alert-card--ok{border-left:4px solid var(--admin-color-green-start)}.admin-alert-card--ok strong{color:var(--admin-color-green-start)}.admin-alert-card--warn{background:#f59e0b0d;border-left:4px solid #f59e0b}.admin-alert-card--warn strong{color:#d97706}.theme-dark .admin-alert-card--warn strong{color:#fbbf24}.admin-alert-card--error{background:#c01a1a0d;border-left:4px solid var(--admin-accent)}.admin-alert-card--error strong{color:var(--admin-accent)}.admin-alert-card--neutral{border-left:4px solid var(--admin-text-muted)}.admin-alert-card--neutral strong{color:var(--admin-text-muted)}.admin-home-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:768px){.admin-home-grid{grid-template-columns:repeat(2,1fr)}}.admin-home-link{align-items:flex-start;background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:16px;box-shadow:var(--admin-shadow-sm);color:inherit;display:flex;gap:1.25rem;overflow:hidden;padding:1.5rem;position:relative;text-decoration:none;transition:all .2s}.admin-home-link:hover{border-color:var(--admin-color-accent-start);box-shadow:var(--admin-shadow-md);transform:translateY(-2px)}.admin-home-link__icon{align-items:center;background:#c01a1a14;border-radius:12px;color:var(--admin-accent);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.admin-home-link__body{display:flex;flex-direction:column;flex-grow:1;gap:.5rem}.admin-home-link__body h2{color:var(--admin-text-main);font-size:1.15rem;font-weight:800;margin:0}.admin-home-link__body p{color:var(--admin-text-muted);font-size:.9rem;line-height:1.5;margin:0}.admin-home-link__arrow{color:var(--admin-text-muted);margin-top:.25rem;opacity:.5;transition:all .2s}.admin-home-link:hover .admin-home-link__arrow{color:var(--admin-accent);opacity:1;transform:translate(4px)}.admin-filters{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.admin-filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.admin-table-card{border:none;display:flex;flex-direction:column;gap:.5rem}.admin-ingredient-row,.admin-recipe-row{background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:12px;display:flex;flex-direction:column;gap:1rem;padding:1.25rem;transition:all .2s}@media(min-width:768px){.admin-ingredient-row,.admin-recipe-row{align-items:center;flex-direction:row}}.admin-ingredient-row:hover,.admin-recipe-row:hover{border-color:#c01a1a4d;box-shadow:var(--admin-shadow-sm)}.admin-row-media{align-items:center;background:var(--admin-bg);border:1px solid var(--admin-border);border-radius:10px;color:var(--admin-text-muted);display:flex;flex-shrink:0;font-size:1.5rem;font-weight:800;height:80px;justify-content:center;width:80px}.admin-ingredient-row__info,.admin-recipe-row__info{display:flex;flex-direction:column;flex-grow:1;gap:.25rem}.admin-ingredient-row__info h2,.admin-recipe-row__info h2{color:var(--admin-text-main);font-size:1.1rem;font-weight:800}.admin-ingredient-row__info p,.admin-recipe-row__info p{color:var(--admin-text-muted);font-size:.85rem;margin:0}.admin-row-flags{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.admin-row-flags span{background:var(--admin-bg);border:1px solid var(--admin-border);color:var(--admin-text-muted);font-size:.75rem;font-weight:700;padding:.25rem .6rem}.admin-row-flags span.admin-flag--ok{background:#10b9811a;border-color:#10b98133;color:#059669}.theme-dark .admin-row-flags span.admin-flag--ok{color:#34d399}.admin-row-flags span.admin-flag--warn{background:#f59e0b1a;border-color:#f59e0b33;color:#d97706}.theme-dark .admin-row-flags span.admin-flag--warn{color:#fbbf24}.admin-row-flags span.admin-flag--inactive{background:#ef44441a;border-color:#ef444433;color:#dc2626}.theme-dark .admin-row-flags span.admin-flag--inactive{color:#f87171}.admin-row-actions{display:flex;gap:.5rem;margin-left:auto}.admin-empty-state,.admin-loading-state{align-items:center;color:var(--admin-text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 1rem}.admin-empty-state__icon{font-size:3rem;opacity:.5}.admin-spinner{border:3px solid var(--admin-border);border-radius:50%;border-top-color:var(--admin-accent)}.danger-button,.primary-button,.secondary-button{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.primary-button{background:var(--admin-accent);border:1px solid var(--admin-accent);box-shadow:0 2px 4px #c01a1a33}.primary-button:hover{background:#a01515}.secondary-button{background:var(--admin-panel);border:1px solid var(--admin-border);color:var(--admin-text-main)}.secondary-button:hover{background:var(--admin-bg);border-color:#d4d4d8}.danger-button{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444}.danger-button:hover{background:#ef444433}.admin-status{align-items:center;display:inline-flex;font-size:.8rem;font-weight:800;letter-spacing:.05em;padding:.35rem .75rem;text-transform:uppercase}.admin-status--published{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#059669}.theme-dark .admin-status--published{color:#34d399}.admin-status--draft{background:#a1a1aa26;border:1px solid hsla(240,5%,65%,.3);color:#52525b}.theme-dark .admin-status--draft{color:#a1a1aa}.admin-status--archived{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#dc2626}.theme-dark .admin-status--archived{color:#f87171}:root{--admin-bg-premium:#f6f7f4;--admin-bg-soft-premium:#ecefea;--admin-paper-premium:#fff;--admin-paper-2-premium:#f1f5ef;--admin-ink-premium:#18211b;--admin-muted-premium:#5f6b62;--admin-line-premium:rgba(24,33,27,.13);--admin-line-strong-premium:rgba(24,33,27,.22);--admin-red-premium:#b02a1d;--admin-orange-premium:#d65f32;--admin-green-premium:#19724a;--admin-yellow-premium:#9d6a12;--admin-dark-premium:#101712;--admin-shadow-premium:0 18px 48px rgba(20,31,24,.11);--admin-shadow-soft-premium:0 10px 24px rgba(20,31,24,.07)}.admin-shell{background:linear-gradient(135deg,#edf1ec,#f8faf7 48%,#e6ece4);color:var(--admin-ink-premium);display:grid;grid-template-columns:278px minmax(0,1fr);min-height:100vh}.admin-shell .svg-icon{flex:0 0 auto;height:1.05em;width:1.05em}.admin-sidebar{background:linear-gradient(180deg,#102118,#0c1711 58%,#070d0a);border-right:1px solid rgba(235,246,238,.14);height:100vh;min-height:100vh;overflow:hidden;padding:20px 16px;position:sticky;top:0;width:auto}.admin-sidebar:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 220'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.82' numOctaves='3' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.8'/%3E%3C/svg%3E");content:"";inset:0;opacity:.05;pointer-events:none;position:absolute}.admin-sidebar__content{display:flex;flex-direction:column;min-height:100%;position:relative;z-index:1}.admin-brand{align-items:center;border-bottom:1px solid rgba(235,246,238,.14);color:#f7fff8;display:flex;gap:12px;margin:0 0 22px;padding:0 2px 18px}.admin-brand__mark{background:linear-gradient(135deg,#d65f32,#19724a);border-radius:8px;box-shadow:0 16px 30px #bd201759;color:#fff;display:grid;font-weight:1000;height:42px;place-items:center;width:42px}.admin-brand__text{display:grid;gap:4px}.admin-brand__eyebrow,.admin-nav__label{color:#ffb088;font-size:.63rem;font-weight:1000;letter-spacing:0;line-height:1;text-transform:uppercase}.admin-brand__title{color:#f7fff8;font-size:1.1rem;font-weight:1000;letter-spacing:0;line-height:1}.admin-nav{align-content:start;display:grid;flex:0 0 auto;gap:5px}.admin-nav__label{color:#ebf6eead;padding:0 10px 8px}.admin-nav__link{align-items:center;border-radius:8px;color:#ebf6eed1;display:flex;font-size:.82rem;font-weight:900;gap:10px;letter-spacing:0;min-height:43px;padding:0 12px;text-decoration:none;transition:background .16s ease,color .16s ease}.admin-nav__link--active,.admin-nav__link:hover{background:#ebf6ee1f;box-shadow:inset 0 0 0 1px #ffb08852;color:#fff}.admin-nav__icon{color:inherit;display:inline-grid;place-items:center}.admin-sidebar__footer{border-top:1px solid rgba(235,246,238,.14);display:grid;gap:8px;margin-top:auto;padding-top:18px}.admin-sidebar__signout,.admin-sidebar__site-link{align-items:center;background:#ebf6ee14;border:0;border-radius:8px;color:#ebf6eedb;display:flex;font-size:.78rem;font-weight:900;gap:10px;min-height:44px;padding:0 12px;text-align:left}.admin-sidebar__signout:hover,.admin-sidebar__site-link:hover{background:#ebf6ee24;color:#fff}.admin-main{align-content:start;display:grid;gap:22px;margin:0 auto;max-width:none;padding:28px min(4vw,58px) 60px;width:min(100%,1280px)}.admin-page-header{align-items:flex-start;background:transparent;border:0;display:flex;gap:18px;justify-content:space-between;padding:0}.admin-page-header__kicker,.admin-section-kicker,.section-kicker{color:var(--admin-red-premium);font-size:.63rem;font-weight:1000;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}.admin-page-header h1,.admin-page-header__title{color:var(--admin-ink-premium);font-size:3rem;font-weight:1000;letter-spacing:0;line-height:.95;margin:0}.admin-card p,.admin-page-header p,.admin-page-header__sub{color:var(--admin-muted-premium);font-size:.84rem;line-height:1.48;margin:0}.admin-hero-panel{align-items:center;background:linear-gradient(135deg,#102118f5,#1c4a31e0),var(--admin-dark-premium);border:1px solid hsla(0,0%,100%,.58);border-radius:8px;box-shadow:var(--admin-shadow-premium);color:#fff;display:flex;gap:18px;justify-content:space-between;min-height:136px;padding:22px}.admin-hero-panel strong{color:#fff;display:block;font-size:1.6rem;font-weight:1000;line-height:1}.admin-hero-panel p{color:#ffffffbd;margin-top:8px;max-width:660px}.admin-card,.admin-home-link,.admin-ingredient-row,.admin-recipe-row,.admin-summary-card{background:#ffffffeb;border:1px solid var(--admin-line-premium);border-radius:8px;box-shadow:var(--admin-shadow-soft-premium)}.admin-card{display:grid;gap:18px;padding:20px}.admin-card__header{display:grid;gap:4px}.admin-card h2,.admin-card__title{color:var(--admin-ink-premium);font-size:1.5rem;font-weight:1000;letter-spacing:0;line-height:1;margin:0}.admin-stat-grid,.admin-summary-row{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stat-card,.admin-summary-card{display:grid;gap:8px;min-height:104px;overflow:hidden;padding:16px;position:relative}.admin-stat-card{flex-direction:row}.admin-stat-card:before,.admin-summary-card:before{background:linear-gradient(90deg,var(--admin-red-premium),var(--admin-orange-premium));content:"";height:4px;inset:0 0 auto;position:absolute}.admin-stat-card--green:before{background:linear-gradient(90deg,#188754,#62c287)}.admin-stat-card--blue:before{background:linear-gradient(90deg,#4f80c4,#8aaee6)}.admin-stat-card--neutral:before{background:linear-gradient(90deg,#7b6d62,#a99b8f)}.admin-stat-card__value,.admin-summary-card strong{color:var(--admin-ink-premium);font-size:2rem;font-weight:1000;line-height:1;margin:0}.admin-stat-card__label,.admin-summary-card span{color:var(--admin-muted-premium);font-size:.76rem;font-weight:900;line-height:1.2;text-transform:lowercase}.admin-stat-card__icon{background:#bd201714;border-radius:8px;color:var(--admin-red-premium);display:grid;height:36px;place-items:center;width:36px}.admin-dashboard-layout{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 360px}.admin-activity-list,.admin-health-grid,.admin-home-grid{display:grid;gap:10px}.admin-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-activity,.admin-health-item,.admin-home-link{align-items:center;color:inherit;display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr) auto;min-height:72px;padding:12px;text-decoration:none}.admin-health-item{background:#f6faf6db;border:1px solid var(--admin-line-premium);border-radius:8px}.admin-activity>span:first-child,.admin-health-item__icon,.admin-home-link__icon{background:#bd201714;border-radius:8px;color:var(--admin-red-premium);display:grid;height:42px;place-items:center;width:42px}.admin-activity strong,.admin-health-item strong,.admin-home-link h2{color:var(--admin-ink-premium);display:block;font-size:.92rem;font-weight:1000;line-height:1.1;margin:0}.admin-activity small,.admin-health-item small,.admin-home-link p{color:var(--admin-muted-premium);display:block;font-size:.76rem;font-weight:700;line-height:1.3;margin-top:4px}.admin-health-item b{color:var(--admin-ink-premium);font-size:1.2rem;font-weight:1000}.admin-health-item--danger{background:#bd20170f;border-color:#bd201742}.admin-health-item--warn{background:#c78a1614;border-color:#c78a164d}.admin-health-item--ok .admin-health-item__icon{background:#1887541a;color:var(--admin-green-premium)}.admin-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-home-link{transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.admin-home-link:hover{border-color:#bd201757;box-shadow:var(--admin-shadow-premium);transform:translateY(-1px)}.admin-home-link__body{min-width:0}.admin-home-link__arrow{color:var(--admin-muted-premium)}.admin-notice,.admin-success-message,.admin-warning-message,.form-error{align-items:flex-start;border-radius:8px;display:flex;font-size:.84rem;font-weight:800;gap:10px;line-height:1.4;padding:12px 14px}.admin-notice{background:#bd20170f;border:1px solid rgba(189,32,23,.16);color:var(--admin-ink-premium)}.admin-success-message{background:#18875414;border:1px solid rgba(24,135,84,.22);color:var(--admin-green-premium)}.admin-warning-message{background:#c78a1614;border:1px solid rgba(199,138,22,.26);color:#8a5b0d;display:grid}.form-error{background:#bd201714;border:1px solid rgba(189,32,23,.24);color:var(--admin-red-premium)}.admin-filters,.admin-form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.admin-form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-shell .field{display:grid;gap:7px}.admin-shell .checkbox-field,.admin-shell .field label{color:var(--admin-ink-premium);font-size:.72rem;font-weight:1000;line-height:1.2}.admin-input-shell,.admin-shell .field input,.admin-shell .field select,.admin-shell .field textarea{background:#fffffff0;border:1px solid var(--admin-line-premium);border-radius:8px;color:var(--admin-ink-premium);font-size:.86rem;font-weight:750;min-height:42px;width:100%}.admin-shell .field input,.admin-shell .field select,.admin-shell .field textarea{padding:10px 12px}.admin-shell .field textarea{min-height:90px;resize:vertical}.admin-input-shell{align-items:center;display:flex;gap:8px;padding:0 10px}.admin-input-shell input{background:transparent!important;border:0!important;box-shadow:none!important;min-height:40px!important;padding:0!important}.admin-input-shell .svg-icon{color:var(--admin-muted-premium)}.admin-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;overflow:hidden}.admin-tabs{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{align-items:center;background:#f6faf6db;border:1px solid var(--admin-line-premium);border-radius:8px;color:var(--admin-muted-premium);display:inline-flex;font-size:.76rem;font-weight:1000;gap:7px;min-height:34px;padding:0 12px;white-space:nowrap}.admin-tab--active{background:linear-gradient(135deg,#19724a29,#d65f321f);border-color:#ff74486b;color:var(--admin-ink-premium)}.admin-table-card{background:transparent;border:0;box-shadow:none;display:grid;gap:8px;padding:0}.admin-ingredient-row,.admin-recipe-row,.admin-table-head{align-items:center;display:grid;gap:12px}.admin-table-head{color:var(--admin-muted-premium);font-size:.7rem;font-weight:1000;min-height:42px;padding:0 14px;text-transform:uppercase}.admin-table-head--recipes{grid-template-columns:minmax(240px,1.4fr) 120px 150px minmax(280px,1fr) 170px}.admin-table-head--catalog,.admin-table-head--ingredients{grid-template-columns:minmax(240px,1.2fr) 110px minmax(280px,1fr) minmax(180px,.8fr) 128px}.admin-recipe-row{grid-template-columns:minmax(240px,1.4fr) 120px 150px minmax(280px,1fr) 170px;min-height:96px;padding:12px 14px}.admin-ingredient-row{grid-template-columns:minmax(240px,1.2fr) 110px minmax(280px,1fr) minmax(180px,.8fr) 128px;min-height:82px;padding:12px 14px}.admin-meta-row{grid-template-columns:minmax(220px,1fr) auto auto}.admin-recipe-row__main{align-items:center;display:grid;gap:12px;grid-template-columns:70px minmax(0,1fr);min-width:0}.admin-row-media{background:linear-gradient(135deg,#bd20171f,#d88cee14);border:1px solid var(--admin-line-premium);border-radius:8px;color:var(--admin-red-premium);display:grid;font-size:1.4rem;font-weight:1000;height:70px;overflow:hidden;place-items:center;width:70px}.admin-row-media img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.admin-ingredient-row__info,.admin-recipe-row__info{min-width:0}.admin-ingredient-row__info h2,.admin-recipe-row__info h2{color:var(--admin-ink-premium);font-size:.98rem;font-weight:1000;line-height:1.15;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-ingredient-row__info p,.admin-recipe-row__info p{color:var(--admin-muted-premium);font-size:.76rem;font-weight:800;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-actions,.admin-row-flags{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.admin-row-actions{justify-content:flex-end}.admin-row-actions--inline,.admin-row-actions--top{justify-content:flex-start}.admin-row-flags span{align-items:center;background:#f6faf6db;border:1px solid var(--admin-line-premium);border-radius:999px;color:var(--admin-muted-premium);display:inline-flex;font-size:.68rem;font-weight:1000;min-height:25px;padding:0 8px;white-space:nowrap}.admin-row-flags span.admin-flag--ok{background:#18875417;border-color:#18875438;color:var(--admin-green-premium)}.admin-row-flags span.admin-flag--warn{background:#c78a161a;border-color:#c78a1642;color:#8a5b0d}.admin-row-flags span.admin-flag--inactive{background:#bd201714;border-color:#bd201738;color:var(--admin-red-premium)}.danger-button,.icon-button,.primary-button,.secondary-button{align-items:center;border-radius:8px;display:inline-flex;font-size:.76rem;font-weight:1000;gap:8px;justify-content:center;min-height:42px;padding:0 14px;text-decoration:none;white-space:nowrap}.primary-button{background:linear-gradient(135deg,var(--admin-red-premium),#e64629,var(--admin-orange-premium));border:1px solid transparent;box-shadow:0 12px 22px #bd20172e;color:#fff}.secondary-button{background:#ffffffe0;border:1px solid var(--admin-line-premium);color:var(--admin-ink-premium)}.danger-button{background:#bd201714;border:1px solid rgba(189,32,23,.24);color:var(--admin-red-premium)}.icon-button{background:#ffffffe6;border:1px solid var(--admin-line-premium);color:var(--admin-ink-premium);height:38px;min-height:38px;padding:0;width:38px}.icon-button--danger{background:#b02a1d14;border-color:#b02a1d3d;color:var(--admin-red-premium)}.danger-button:hover,.icon-button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.admin-status{border-radius:999px;font-size:.68rem;font-weight:1000;letter-spacing:0;min-height:28px;padding:0 10px}.admin-editor-card,.admin-form,.admin-form-section{display:grid;gap:18px}.admin-form-section{background:#f6faf6b8;border:1px solid var(--admin-line-premium);border-radius:8px;padding:16px}.admin-editor-header,.admin-nested-card__top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.admin-transfer-panel{background:linear-gradient(135deg,#19724a14,#d65f320d),#fffffff0;border-color:#19724a38}.admin-transfer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.admin-file-input{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.admin-helper-text{color:var(--admin-muted-premium);font-size:.78rem}.admin-nested-card,.empty-state{background:#fffaf3bd;border:1px solid var(--admin-line-premium);border-radius:8px;padding:14px}.admin-boolean-grid{display:flex;flex-wrap:wrap;gap:10px}.checkbox-field{align-items:center;background:#fffaf39e;border:1px solid var(--admin-line-premium);border-radius:8px;display:inline-flex;gap:8px;min-height:38px;padding:0 10px}.admin-tag-grid{display:flex;flex-wrap:wrap;gap:8px}.tag-checkbox{align-items:center;background:#fffaf3bd;border:1px solid var(--admin-line-premium);border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:900;gap:8px;min-height:34px;padding:0 10px}.admin-image-uploader{align-items:start;display:grid;gap:16px;grid-template-columns:220px minmax(0,1fr)}.admin-image-preview{aspect-ratio:4/3;background:linear-gradient(135deg,#bd20171f,#d88cee14);border:1px solid var(--admin-line-premium);border-radius:8px;display:grid;overflow:hidden;place-items:center;width:100%}.admin-image-preview img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.admin-image-placeholder{color:var(--admin-red-premium);font-size:3rem;font-weight:1000}.admin-image-controls{display:grid;gap:12px}.admin-empty-state,.admin-loading-state{display:grid;gap:12px;justify-items:center;padding:36px 14px;text-align:center}.admin-empty-state--compact{padding:18px 10px}.admin-spinner{animation:admin-spin 1s linear infinite;border:3px solid var(--admin-line-premium);border-radius:999px;border-top-color:var(--admin-red-premium);height:32px;width:32px}@keyframes admin-spin{to{transform:rotate(1turn)}}@media(max-width:1120px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;min-height:0;position:relative}.admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-nav__label{grid-column:1/-1}.admin-sidebar__footer{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-layout,.admin-health-grid,.admin-home-grid,.admin-image-uploader{grid-template-columns:1fr}.admin-table-head{display:none}.admin-ingredient-row,.admin-recipe-row{align-items:start;grid-template-columns:1fr}.admin-row-actions{justify-content:flex-start}}@media(max-width:720px){.admin-main{padding:20px 14px 44px}.admin-editor-header,.admin-hero-panel,.admin-nested-card__top,.admin-page-header{display:grid}.admin-page-header h1,.admin-page-header__title{font-size:2.2rem}.admin-form-grid--four,.admin-stat-grid,.admin-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-nav{grid-template-columns:1fr}}.weight-step{display:grid;gap:1.1rem}.weight-step-head{display:grid;gap:.3rem}.weight-step-head__index{color:var(--color-muted);font-size:.75rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.weight-step-head__row{align-items:baseline;display:flex;gap:.4rem}.weight-step-head__label{color:var(--color-text);font-size:1.06rem;font-weight:950}.weight-step-head__sub{color:var(--color-muted);font-size:.88rem;font-weight:700}.weight-recipe-card{align-items:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:.75rem;grid-template-columns:72px minmax(0,1fr);padding:.75rem}.weight-recipe-card__media{background:var(--color-bg-soft);border-radius:var(--radius-sm);color:var(--color-muted);display:grid;font-size:1.5rem;font-weight:950;height:72px;overflow:hidden;place-items:center;width:72px}.weight-recipe-card__media img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.weight-recipe-card__info{display:grid;gap:.2rem}.weight-recipe-card__badge{color:var(--color-accent-strong);display:inline-block;font-size:.72rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.weight-recipe-card__info h2{color:var(--color-text);font-size:.98rem;font-weight:950;line-height:1.15;margin:0}.weight-recipe-card__info p{color:var(--color-muted);font-size:.82rem;margin:0}.weight-control{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:.65rem;padding:.9rem}.weight-control__head{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.weight-control__label{color:var(--color-text);font-size:.95rem;font-weight:950}.weight-control__unit{color:var(--color-muted);font-size:.8rem;font-weight:850}.weight-control__help{color:var(--color-muted);font-size:.82rem;margin:0}.distribution-card__range,.weight-control__range{accent-color:var(--color-accent);touch-action:pan-x;width:100%}.weight-control__range{margin:.1rem 0 .15rem}.weight-presets{display:flex;flex-wrap:wrap;gap:.5rem}.weight-preset-btn{background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);cursor:pointer;font-size:.86rem;font-weight:850;padding:.35rem .9rem;transition:background .12s,color .12s,border-color .12s}.weight-preset-btn:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.weight-preset-btn--active{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:#fff}.weight-warning{align-items:flex-start;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;font-size:.84rem;gap:.7rem;line-height:1.45;padding:.8rem}.weight-warning .svg-icon{color:var(--color-accent-strong);flex-shrink:0;margin-top:.05rem}.weight-warning strong{color:var(--color-text);display:block;font-weight:950}.weight-warning span{color:var(--color-muted)}.all-weights-step{display:grid;gap:.9rem}.all-weights-summary{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.all-weights-summary__item{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:.12rem;min-width:0;padding:.76rem}.all-weights-summary__item strong{color:var(--color-text);font-size:1.08rem;font-weight:1000;line-height:1}.all-weights-summary__item span{color:var(--color-muted);font-size:.72rem;font-weight:850;line-height:1.2}.weight-warning--compact{align-items:center;padding:.72rem}.all-weights-group,.all-weights-groups,.all-weights-list{display:grid;min-width:0}.all-weights-groups{gap:.84rem}.all-weights-group{gap:.58rem}.all-weights-group__header{align-items:flex-end;display:flex;gap:.75rem;justify-content:space-between;min-width:0}.all-weights-group__header .section-kicker{margin:0 0 .18rem}.all-weights-group__header h2{color:var(--color-text);font-size:1rem;font-weight:1000;line-height:1.08;margin:0}.all-weights-group__header>span{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);flex:0 0 auto;font-size:.7rem;font-weight:900;padding:.3rem .52rem;white-space:nowrap}.all-weights-list{gap:.72rem}.all-weight-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:.7rem;min-width:0;padding:.76rem}.all-weight-card--done{border-color:color-mix(in srgb,var(--color-green) 32%,var(--color-border))}.all-weight-card__top{align-items:center;display:grid;gap:.62rem;grid-template-columns:52px minmax(0,1fr) auto;min-width:0}.all-weight-card__media{background:var(--color-bg-soft);border-radius:var(--radius-sm);color:var(--color-muted);display:grid;font-size:1.1rem;font-weight:1000;height:52px;overflow:hidden;place-items:center;width:52px}.all-weight-card__media img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.all-weight-card__body{display:grid;gap:.16rem;min-width:0}.all-weight-card__body strong{color:var(--color-text);font-size:.9rem;font-weight:1000;line-height:1.12;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.all-weight-card__body small{color:var(--color-muted);font-size:.72rem;font-weight:850}.all-weight-card__badge{background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);font-size:.68rem;font-weight:950;justify-self:end;line-height:1;padding:.3rem .46rem;white-space:nowrap}.all-weight-card--done .all-weight-card__badge{background:color-mix(in srgb,var(--color-green) 12%,var(--color-panel-soft));border-color:color-mix(in srgb,var(--color-green) 34%,var(--color-border));color:var(--color-green)}.all-weight-card__control{display:grid;gap:.58rem;min-width:0}.all-weight-card__quick{display:grid;gap:.28rem;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.all-weight-card__quick-button{align-items:center;background:var(--color-panel-soft);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);cursor:pointer;display:inline-flex;font-size:.68rem;font-weight:950;justify-content:center;line-height:1;min-height:32px;min-width:0;padding:0 .18rem;touch-action:manipulation}.all-weight-card__quick-button--active{background:color-mix(in srgb,var(--color-accent) 14%,var(--color-panel));border-color:var(--color-accent-strong);color:var(--color-accent-deep)}.all-weight-card__message,.all-weight-card__total{border-radius:var(--radius-sm);font-size:.76rem;font-weight:850;line-height:1.35;margin:0;padding:.56rem .62rem}.all-weight-card__message{background:color-mix(in srgb,var(--color-accent) 9%,var(--color-panel-soft));color:var(--color-muted)}.all-weight-card__total{background:color-mix(in srgb,var(--color-green) 10%,var(--color-panel-soft));color:var(--color-muted)}.all-weight-card__total strong{color:var(--color-green);font-weight:1000}@media(max-width:360px){.all-weight-card{padding:.66rem}.all-weight-card__top{grid-template-columns:46px minmax(0,1fr)}.all-weight-card__media{height:46px;width:46px}.all-weight-card__badge{grid-column:2;justify-self:start}.all-weight-card__quick{gap:.2rem}.all-weight-card__quick-button{font-size:.62rem;min-height:30px}}.weight-preview{display:grid;gap:.6rem;grid-template-columns:1fr 1fr}.weight-preview__item{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:.18rem;padding:.8rem;text-align:center}.weight-preview__item strong{color:var(--color-text);font-size:1.35rem;font-weight:950}.weight-preview__item span{color:var(--color-muted);font-size:.74rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.weight-preview__item--highlight{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.weight-preview__item--highlight span,.weight-preview__item--highlight strong{color:#fff}.weight-info{align-items:flex-start;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;font-size:.84rem;gap:.7rem;line-height:1.45;padding:.8rem}.weight-info .svg-icon{color:var(--color-accent-strong);flex-shrink:0;margin-top:.05rem}.weight-info strong{color:var(--color-text);display:block;font-size:.9rem;font-weight:950;margin-bottom:.2rem}.weight-info p{color:var(--color-muted);margin:0}.review-v2{display:grid;gap:1.25rem}.review-v2__section-kicker{color:var(--color-muted);font-size:.74rem;font-weight:950;letter-spacing:.08em;margin:0 0 .5rem;text-transform:uppercase}.review-v2-groups{display:grid;gap:.75rem}.review-v2-group{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.review-v2-group__head{align-items:center;display:flex;gap:.65rem;padding:.8rem}.review-v2-group__icon{background:var(--color-bg-soft);border-radius:var(--radius-sm);display:grid;flex-shrink:0;height:36px;place-items:center;width:36px}.review-v2-group__icon .svg-icon{color:var(--color-accent-strong);height:18px;width:18px}.review-v2-group__info{flex:1;min-width:0}.review-v2-group__name{color:var(--color-text);display:block;font-size:.94rem;font-weight:950}.review-v2-group__portions{color:var(--color-muted);display:block;font-size:.78rem;font-weight:700}.review-v2-group__edit{align-items:center;background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:.76rem;font-weight:850;gap:.3rem;padding:.3rem .7rem}.review-v2-group__edit:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.review-v2-group__edit .svg-icon{height:13px;width:13px}.review-v2-recipe{align-items:center;background:#fffaf366;border-top:1px solid var(--color-border);display:grid;gap:.6rem;grid-template-columns:46px minmax(0,1fr) 32px;padding:.6rem .8rem}.review-v2-recipe__media{background:var(--color-bg-soft);border-radius:var(--radius-sm);color:var(--color-muted);display:grid;font-size:1rem;font-weight:950;height:46px;overflow:hidden;place-items:center;width:46px}.review-v2-recipe__media img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.review-v2-recipe__body{min-width:0}.review-v2-recipe__name{color:var(--color-text);display:block;font-size:.86rem;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-v2-recipe__detail{color:var(--color-muted);display:block;font-size:.74rem;font-weight:700;line-height:1.4}.review-v2-recipe__edit{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;display:grid;flex-shrink:0;height:32px;place-items:center;width:32px}.review-v2-recipe__edit:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.review-v2-recipe__edit .svg-icon{height:14px;width:14px}.review-v2-total{align-items:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:.5rem;justify-content:space-between;padding:.85rem 1rem}.review-v2-total__badge{background:var(--color-accent-strong);border-radius:var(--radius-pill);color:#fff;font-size:.86rem;font-weight:950;padding:.3rem .9rem}.review-v2-checklist{display:grid;gap:.6rem}.review-v2-check{align-items:flex-start;display:flex;gap:.65rem}.review-v2-check__icon{color:var(--color-muted);flex-shrink:0;height:17px;margin-top:.1rem;width:17px}.review-v2-check__icon--ok{color:#34a853}.review-v2-check__icon--warn{color:var(--color-accent-strong)}.review-v2-check__text{color:var(--color-text);font-size:.88rem;font-weight:850;line-height:1.4}.review-v2-check__sub{color:var(--color-muted);display:block;font-size:.76rem;font-weight:700}.review-v2-ready{align-items:flex-start;background:#18875412;border:1px solid rgba(24,135,84,.22);border-radius:var(--radius-md);display:flex;gap:.72rem;padding:.75rem}.review-v2-ready__icon{background:#18875424;border-radius:999px;color:#188754;display:grid;flex:0 0 auto;height:28px;place-items:center;width:28px}.review-v2-ready__icon .svg-icon{height:16px;width:16px}.review-v2-ready__body{display:grid;gap:.12rem}.review-v2-ready__title{color:var(--color-text);font-size:.88rem;font-weight:950;line-height:1.25}.review-v2-ready__sub{color:var(--color-muted);font-size:.78rem;line-height:1.35}.review-v2-section-header{align-items:flex-end;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.65rem}.review-v2-section-header__title{color:var(--color-text);display:block;font-size:1rem;font-weight:950;line-height:1.1}.review-v2-group__subtitle{color:var(--color-muted);display:block;font-size:.74rem;font-weight:700}.review-v2-recipe__weight{color:var(--color-accent);display:block;font-size:.74rem;font-weight:900;line-height:1.3}.review-v2-total__label{color:var(--color-text);font-size:.96rem;font-weight:950}.review-v2-total__badge{background:var(--color-dark);border-radius:var(--radius-sm);color:#fffaf3;display:grid;flex:0 0 auto;font-size:1rem;font-weight:1000;height:36px;min-width:36px;padding:0 .5rem;place-items:center}.review-v2-checklist-subtitle{color:var(--color-muted);font-size:.78rem;font-weight:850;margin:0 0 .55rem}.rv-screen{display:grid;gap:.82rem;padding-bottom:var(--space-4)}.rv-section{display:grid;gap:.68rem}.rv-section-head{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.rv-eyebrow{color:var(--color-accent-strong);font-size:.64rem;font-weight:1000;letter-spacing:.1em;margin:0 0 .2rem;text-transform:uppercase}.rv-section-title{color:var(--color-text);font-size:1.04rem;font-weight:1000;letter-spacing:-.02em;line-height:1.1;margin:0}.rv-group-stack{display:grid;gap:.62rem}.rv-group-block{background:var(--color-panel);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}.rv-group-head{gap:.54rem;justify-content:space-between;padding:.68rem .72rem}.rv-group-head,.rv-group-title{align-items:center;display:flex}.rv-group-title{flex:1;gap:.65rem;min-width:0}.rv-group-icon{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:10px;display:grid;flex-shrink:0;height:34px;place-items:center;width:34px}.rv-group-icon .svg-icon{color:var(--color-accent-strong);height:18px;width:18px}.rv-group-name{display:grid;gap:.1rem;min-width:0}.rv-group-name strong{color:var(--color-text);display:block;font-size:.9rem;font-weight:950;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-group-name span{color:var(--color-muted);display:block;font-size:.72rem;font-weight:700}.rv-group-total{align-items:center;background:transparent;border:1.5px solid var(--color-border);border-radius:999px;color:var(--color-text);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.72rem;font-weight:950;gap:.28rem;padding:.28rem .56rem;transition:background .14s,border-color .14s,color .14s}.rv-group-total .svg-icon{height:12px;width:12px}.rv-group-total:hover{background:#fff0ea;border-color:#bd201747;color:var(--color-accent-strong)}.rv-recipe-list{display:grid}.rv-recipe-row{align-items:center;border-top:1px solid var(--color-border);display:grid;gap:.56rem;grid-template-columns:54px minmax(0,1fr) 32px;padding:.56rem .72rem}.rv-recipe-img{background:var(--color-bg-soft);border-radius:10px;color:var(--color-muted);display:grid;height:46px;overflow:hidden;place-items:center;width:54px}.rv-recipe-img img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.rv-recipe-img-placeholder{color:var(--color-muted);font-size:1.25rem;font-weight:950}.rv-recipe-info{display:grid;gap:.12rem;min-width:0}.rv-recipe-info strong{color:var(--color-text);display:block;font-size:.82rem;font-weight:950;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-recipe-info span{color:var(--color-muted);display:block;font-size:.72rem;font-weight:700}.rv-recipe-info em{color:var(--color-accent);display:block;font-size:.7rem;font-style:normal;font-weight:900}.rv-recipe-edit{background:transparent;border:1px solid var(--color-border);border-radius:8px;color:var(--color-muted);cursor:pointer;display:grid;flex-shrink:0;height:32px;place-items:center;transition:border-color .14s,color .14s;width:32px}.rv-recipe-edit:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.rv-recipe-edit .svg-icon{height:15px;width:15px}.rv-warning{align-items:flex-start;background:#f0a01e1a;border:1px solid rgba(240,160,30,.28);border-radius:12px;display:flex;gap:.62rem;padding:.72rem .78rem}.rv-warning-icon{background:#f0a01e33;border-radius:999px;color:#c07808;display:grid;flex-shrink:0;height:26px;place-items:center;width:26px}.rv-warning-icon .svg-icon{height:14px;width:14px}.rv-warning>div:last-child{display:grid;gap:.2rem;min-width:0}.rv-warning strong{color:var(--color-text);display:block;font-size:.82rem;font-weight:950;line-height:1.2}.rv-warning span{color:var(--color-muted);display:block;font-size:.72rem;line-height:1.38}@media(max-width:380px){.rv-group-head{align-items:flex-start}.rv-group-title{gap:.5rem}.rv-group-total{justify-content:center;max-width:7.2rem;white-space:nowrap}.rv-recipe-row{gap:.48rem;grid-template-columns:46px minmax(0,1fr) 30px}.rv-recipe-img{height:42px;width:46px}}.result-metric-chips{grid-template-columns:repeat(4,minmax(0,1fr))}.result-next-action{background:color-mix(in srgb,var(--color-panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--result-line) 78%,transparent);border-radius:14px;box-shadow:0 12px 34px #422b1a0f;display:grid;gap:.62rem;padding:.95rem}.result-next-action__head{display:grid;gap:.16rem}.result-next-action__title{color:var(--color-text);font-size:1.2rem;font-weight:950;letter-spacing:-.02em;line-height:1.1;margin:0}.result-next-action__desc{color:var(--color-muted);font-size:.84rem;line-height:1.35;margin:0}.result-next-action__items{background:var(--color-panel);border:1px solid color-mix(in srgb,var(--result-line) 72%,transparent);border-radius:var(--radius-md);display:grid;gap:0;list-style:none;margin:0;overflow:hidden;padding:0}.result-next-action__item{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-height:40px;padding:.42rem .72rem}.result-next-action__item+.result-next-action__item{border-top:1px solid color-mix(in srgb,var(--result-line) 60%,transparent)}.result-next-action__item-name{color:var(--color-text);font-size:.82rem;font-weight:850;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-next-action__item-qty{color:var(--color-muted);flex:0 0 auto;font-size:.78rem;font-weight:900}.result-next-action__cta{width:100%}.result-next-action__secondary{display:grid;gap:.52rem;grid-template-columns:repeat(2,minmax(0,1fr))}.result-next-action__secondary .secondary-button{justify-content:center;width:100%}.result-section-heading--flex{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.result-summary-badge{background:color-mix(in srgb,var(--color-bg-soft) 72%,transparent);border:1px solid color-mix(in srgb,var(--result-line) 78%,transparent);border-radius:999px;color:var(--color-soft);flex:0 0 auto;font-size:.74rem;font-weight:950;padding:.3rem .65rem;white-space:nowrap}.planned-summary-actions{display:grid;gap:.52rem;grid-template-columns:repeat(2,minmax(0,1fr))}.planned-summary-actions .secondary-button{justify-content:center;width:100%}.preparation-preview-scroll{margin-inline:-.95rem;overflow-x:auto;padding-inline:.95rem;scrollbar-width:none}.preparation-preview-scroll::-webkit-scrollbar{display:none}.preparation-preview-scroll .preparation-preview-list{display:flex;flex-wrap:nowrap;gap:.72rem;width:-moz-max-content;width:max-content}.preparation-preview-scroll .preparation-preview-card{flex:0 0 auto;width:min(72vw,280px)}.result-preview-panel__header--inline{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.result-preview-panel__header--inline .secondary-button{flex:0 0 auto;width:auto}.catalog-stats{display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-top:.25rem}.catalog-stat{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:.1rem;padding:.65rem .5rem;text-align:center}.catalog-stat strong{color:var(--color-text);font-size:1.25rem;font-weight:950}.catalog-stat span{color:var(--color-muted);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.catalog-stat--accent{background:var(--color-accent);border-color:var(--color-accent)}.catalog-stat--accent span,.catalog-stat--accent strong{color:#fff}.recipe-search{align-items:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:.6rem;min-height:46px;padding:0 .85rem}.recipe-search .svg-icon{color:var(--color-muted);flex-shrink:0;height:16px;width:16px}.recipe-search input{background:transparent;border:0;color:var(--color-text);flex:1;font-size:.88rem;min-width:0;outline:none;padding:0}.recipe-search input::-moz-placeholder{color:var(--color-muted)}.recipe-search input::placeholder{color:var(--color-muted)}.recipe-search input::-webkit-search-cancel-button{opacity:.5}.catalog-section-head{align-items:flex-end;display:flex;gap:.6rem}.catalog-section-head>div{flex:1;min-width:0}.catalog-section-kicker{color:var(--color-accent);font-size:10px;font-weight:1000;letter-spacing:.1em;margin:0 0 .2rem;text-transform:uppercase}.catalog-section-title{color:var(--color-text);font-size:1.3rem;font-weight:1000;letter-spacing:-.03em;line-height:1;margin:0}.catalog-count-badge{background:var(--color-bg-soft);border-radius:var(--radius-pill);color:var(--color-muted);flex-shrink:0;font-size:.76rem;font-weight:950;padding:.25rem .7rem;white-space:nowrap}.catalog-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);cursor:pointer;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;text-align:left;transition:box-shadow .12s,transform .12s;width:100%}.catalog-card:hover{box-shadow:0 6px 20px #422b1a29;transform:translateY(-1px)}.catalog-card:active{transform:translateY(0)}.catalog-card__media{aspect-ratio:4/3;overflow:hidden;position:relative}.catalog-card__media img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.catalog-card__blobs{display:block;height:100%;inset:0;position:absolute;width:100%}.catalog-card__type-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000007a;border-radius:var(--radius-pill);color:#fff;font-size:.65rem;font-weight:950;left:.5rem;letter-spacing:.06em;padding:.2rem .6rem;position:absolute;text-transform:uppercase;top:.5rem}.catalog-card__body{display:grid;gap:.5rem;padding:.7rem .75rem .8rem}.catalog-card__name{color:var(--color-text);display:-webkit-box;font-size:.86rem;font-weight:950;-webkit-line-clamp:2;line-height:1.2;overflow:hidden;-webkit-box-orient:vertical}.catalog-card__attrs{display:grid;gap:.18rem}.load-more-button{align-items:center;background:var(--color-dark);border:0;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:.88rem;font-weight:1000;justify-content:center;letter-spacing:-.01em;min-height:52px;transition:opacity .12s;width:100%}.load-more-button:hover{opacity:.88}.theme-dark .load-more-button{background:var(--color-elevated);color:var(--color-text)}.app-frame--result{background:radial-gradient(circle at 78% 42%,rgba(255,116,72,.16),transparent 16rem),linear-gradient(180deg,#fffaf3,#f8f1e8 58%,#fffaf3);max-width:430px}.app-frame--result .student-shell__topbar{background:#fffaf3d1;height:58px}.app-frame--result .student-shell__main{padding:18px 14px 8.75rem}.app-frame--result .bottom-nav{background:#fffaf3e0;max-width:430px}.app-frame--result .bottom-nav__link.router-link-active{background:#fff0ea;border:1px solid rgba(255,116,72,.22);border-radius:14px;color:var(--color-accent)}.result-execution-center{--result-redesign-ink:#241713;--result-redesign-muted:#7b6e64;--result-redesign-card:rgba(255,250,243,.88);--result-redesign-card-solid:#fffaf3;--result-redesign-line:rgba(55,35,23,.1);--result-redesign-soft-line:rgba(55,35,23,.07);--result-redesign-warm:#fff0ea;--result-redesign-accent:#d92b20;--result-redesign-accent-strong:#ff6244;--result-redesign-shadow:0 18px 42px rgba(66,43,26,.08);gap:1.4rem}.theme-dark .app-frame--result{background:linear-gradient(180deg,#20252a,#171b1f 64%,#111417)}.theme-dark .app-frame--result .bottom-nav,.theme-dark .app-frame--result .student-shell__topbar{background:#121518eb}.theme-dark .result-execution-center{--result-redesign-ink:#f4f0ea;--result-redesign-muted:rgba(244,240,234,.68);--result-redesign-card:rgba(32,37,42,.88);--result-redesign-card-solid:#20252a;--result-redesign-line:rgba(238,242,246,.12);--result-redesign-soft-line:rgba(238,242,246,.08);--result-redesign-warm:hsla(14,82%,68%,.12);--result-redesign-shadow:0 18px 42px rgba(0,0,0,.24)}.result-execution-center .section-kicker{color:var(--result-redesign-accent);font-size:.62rem;font-weight:1000;letter-spacing:.12em;line-height:1;margin:0;text-transform:uppercase}.result-execution-center .portioning-preview,.result-execution-center .result-section,.result-ready-panel{background:var(--result-redesign-card);border:1px solid var(--result-redesign-line);border-radius:18px;box-shadow:var(--result-redesign-shadow)}.result-ready-panel{background:radial-gradient(circle at 86% 78%,rgba(255,98,68,.25),transparent 7.4rem),linear-gradient(145deg,#fff3f5,#ffe8df 42%,#fff7ee);display:grid;gap:0;overflow:hidden;padding:18px 18px 16px;position:relative}.theme-dark .result-ready-panel{background:radial-gradient(circle at 86% 78%,rgba(255,98,68,.22),transparent 7.4rem),linear-gradient(145deg,#3b2522,#33231d 48%,#2b1e1a)}.result-ready-panel .result-hero{background:transparent;border:0;border-radius:0;box-shadow:none;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 42px;overflow:visible;padding:0 0 1rem;position:relative}.result-ready-panel .result-hero:after{content:none}.result-ready-panel .result-hero__content{display:grid;gap:.72rem;grid-column:1;min-width:0}.result-ready-panel .result-hero__mark{background:#fffaf3e6;border:0;border-radius:13px;box-shadow:0 12px 28px #bd20171a;color:var(--result-redesign-accent);grid-column:2;grid-row:1;height:42px;width:42px;z-index:1}.theme-dark .result-ready-panel .result-hero__mark{background:#eef2f612}.result-ready-panel .result-hero__mark .svg-icon{height:21px;stroke-width:2.4;width:21px}.result-ready-panel .result-hero h1{color:var(--result-redesign-ink);font-size:clamp(2.26rem,11vw,3rem);font-weight:1000;letter-spacing:0;line-height:.86;margin:0;max-width:9ch}.result-ready-panel .result-hero p:not(.section-kicker){color:var(--result-redesign-muted);font-size:.86rem;font-weight:650;line-height:1.48;margin:0;max-width:29rem}.result-ready-panel .result-metric-chips{background:#fffaf3c2;border:1px solid var(--result-redesign-line);border-radius:14px;display:grid;gap:0;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;padding:0}.theme-dark .result-ready-panel .result-metric-chips{background:#eef2f60d}.result-ready-panel .result-metric-chips span{align-content:center;background:transparent;border:0;border-radius:0;color:var(--result-redesign-muted);display:grid;font-size:.58rem;font-weight:950;gap:.18rem;line-height:1;min-height:58px;padding:.54rem .28rem;place-items:center;text-align:center}.result-ready-panel .result-metric-chips span+span{border-left:1px solid var(--result-redesign-soft-line)}.result-ready-panel .result-metric-chips strong{color:var(--result-redesign-ink);display:block;font-size:1rem;font-weight:1000;line-height:1}.result-ready-panel .result-next-action{background:transparent;border:0;border-radius:0;border-top:1px solid var(--result-redesign-line);box-shadow:none;display:grid;gap:.78rem;padding:1.1rem 0 0;position:relative}.result-ready-panel .result-next-action__head{display:grid;gap:.4rem;padding-left:42px;position:relative}.result-ready-panel .result-next-action__head:before{background:#d92b201a;border-radius:9px;color:var(--result-redesign-accent);content:"✓";display:grid;font-size:.86rem;font-weight:1000;height:28px;left:0;place-items:center;position:absolute;top:.1rem;width:28px}.result-ready-panel .result-next-action__title{color:var(--result-redesign-ink);font-size:1.32rem;font-weight:1000;letter-spacing:0;line-height:1.02;margin:0}.result-ready-panel .result-next-action__desc{color:var(--result-redesign-muted);font-size:.82rem;font-weight:650;line-height:1.38;margin:0}.result-ready-panel .result-next-action__extra,.result-ready-panel .result-next-action__items{background:#fffaf3a3;border:1px solid var(--result-redesign-line);overflow:hidden}.result-ready-panel .result-next-action__extra--solo{border-radius:13px;border-top:1px solid var(--result-redesign-line);margin-top:0}.theme-dark .result-ready-panel .result-next-action__extra,.theme-dark .result-ready-panel .result-next-action__items{background:#eef2f60a}.result-ready-panel .result-next-action__items{border-radius:13px 13px 0 0;display:grid;gap:0;list-style:none;margin:0;padding:0}.result-ready-panel .result-next-action__item{align-items:center;display:grid;gap:.65rem;grid-template-columns:24px minmax(0,1fr) auto;min-height:43px;padding:.58rem .7rem}.result-ready-panel .result-next-action__item:before{background:#fffaf38c;border:1px solid var(--result-redesign-line);border-radius:6px;content:"";height:20px;width:20px}.result-ready-panel .result-next-action__item+.result-next-action__item{border-top:1px solid var(--result-redesign-soft-line)}.result-ready-panel .result-next-action__item-name{color:var(--result-redesign-ink);font-size:.82rem;font-weight:1000;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-ready-panel .result-next-action__item-qty{color:var(--result-redesign-accent);font-size:.74rem;font-weight:1000;white-space:nowrap}.result-ready-panel .result-next-action__extra{align-items:center;border-radius:0 0 13px 13px;border-top:0;color:var(--result-redesign-ink);display:flex;font-size:.82rem;font-weight:1000;gap:.75rem;justify-content:space-between;margin-top:-.78rem;min-height:43px;padding:.58rem .7rem .58rem 2.98rem}.result-ready-panel .result-next-action__extra strong{color:var(--result-redesign-accent);font-size:1rem;line-height:1}.result-ready-panel .result-next-action__cta{background:linear-gradient(135deg,var(--result-redesign-accent),var(--result-redesign-accent-strong));border-radius:12px;box-shadow:0 14px 26px #bd201733;min-height:48px;width:100%}.result-ready-panel .result-next-action__secondary{display:grid;gap:.6rem;grid-template-columns:1fr}.result-ready-panel .result-next-action__secondary .secondary-button{background:#fffaf3b8;border-radius:11px;min-height:42px;width:100%}.result-execution-center .result-section{display:grid;gap:.88rem;padding:1rem;scroll-margin-top:5rem}.result-execution-center .result-section[aria-labelledby=planned-summary-title]{background:transparent;border:0;box-shadow:none;padding:0}.result-execution-center .result-preview-panel__header,.result-execution-center .result-section-heading{display:grid;gap:.42rem}.result-execution-center .result-preview-panel__header h2,.result-execution-center .result-section-heading h2{color:var(--result-redesign-ink);font-size:1.38rem;font-weight:1000;letter-spacing:0;line-height:1.02;margin:0}.result-execution-center .result-preview-panel__header p,.result-execution-center .result-section-heading p:not(.section-kicker){color:var(--result-redesign-muted);font-size:.82rem;font-weight:650;line-height:1.38;margin:0}.result-execution-center .result-section-heading--flex{align-items:flex-end;display:flex;gap:.75rem;justify-content:space-between}.result-execution-center .result-summary-badge{background:transparent;border:0;border-radius:999px;color:var(--result-redesign-muted);flex:0 0 auto;font-size:.74rem;font-weight:1000;padding:0}.result-execution-center .planned-groups-summary{display:grid;gap:.62rem}.result-execution-center .planned-group-card{align-items:start;background:#fffaf3c2;border:1px solid var(--result-redesign-line);border-radius:14px;box-shadow:none;display:grid;gap:.62rem;grid-template-columns:38px minmax(0,1fr);padding:.66rem}.theme-dark .result-execution-center .planned-group-card{background:#eef2f60a}.result-execution-center .planned-group-card__icon{background:var(--result-redesign-warm);border-radius:11px;color:var(--result-redesign-accent);height:38px;width:38px}.result-execution-center .planned-group-card header{align-items:start;display:grid;gap:.28rem;margin:0 0 .24rem}.result-execution-center .planned-group-card h3,.result-execution-center .portioning-group-card h3,.result-execution-center .preparation-preview-card h3{color:var(--result-redesign-ink);font-size:.94rem;font-weight:1000;letter-spacing:0;line-height:1.12;margin:0}.result-execution-center .planned-group-card strong{background:#efe2d3e0;border-radius:999px;color:var(--result-redesign-ink);font-size:.62rem;font-weight:1000;justify-self:start;line-height:1;padding:.28rem .46rem;white-space:nowrap}.theme-dark .result-execution-center .planned-group-card strong{background:#eef2f617}.result-execution-center .planned-group-card p{color:var(--result-redesign-muted);font-size:.73rem;font-weight:650;line-height:1.35;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-execution-center .planned-summary-actions{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.result-execution-center .planned-summary-actions .secondary-button,.result-execution-center .result-disclosure summary{border-radius:11px}.result-execution-center .preparation-preview-scroll{margin-inline:-1rem;overflow-x:auto;padding-inline:1rem;scrollbar-width:none}.result-execution-center .preparation-preview-scroll::-webkit-scrollbar{display:none}.result-execution-center .preparation-preview-scroll .preparation-preview-list{display:flex;flex-wrap:nowrap;gap:.72rem;width:-moz-max-content;width:max-content}.result-execution-center .preparation-preview-scroll .preparation-preview-card{flex:0 0 auto;width:min(70vw,280px)}.result-execution-center .preparation-preview-card{background:var(--result-redesign-card-solid);border:1px solid var(--result-redesign-line);border-radius:14px;box-shadow:none;overflow:hidden}.result-execution-center .preparation-preview-card__media{aspect-ratio:16/9;background:radial-gradient(circle at 26% 42%,#df8f50 0 2.6rem,transparent 2.65rem),radial-gradient(circle at 56% 58%,#efb165 0 3.1rem,transparent 3.15rem),radial-gradient(circle at 78% 28%,#9f4a2a 0 1.5rem,transparent 1.55rem),linear-gradient(145deg,#7a3b28,#281610 68%);min-height:118px;position:relative}.result-execution-center .preparation-preview-card__media img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.result-execution-center .preparation-preview-card__body{display:grid;gap:.5rem;padding:.72rem}.result-execution-center .preparation-preview-card__body>small{color:var(--result-redesign-muted);font-size:.65rem;font-weight:950;text-transform:none}.result-execution-center .preparation-mini-list small,.result-execution-center .preparation-mini-list span,.result-execution-center .preparation-preview-card p,.result-execution-center .preparation-preview-card small{color:var(--result-redesign-muted);font-size:.72rem;font-weight:700;line-height:1.32;margin:0}.result-execution-center .yield-transform{align-items:stretch;background:#d92b2014;border-radius:11px;display:grid;gap:.44rem;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);padding:.62rem}.result-execution-center .yield-transform__stage{align-content:center;background:#fffaf37a;border:1px solid var(--result-redesign-line);border-radius:9px;display:grid;gap:.12rem;min-height:44px;min-width:0;padding:.42rem .28rem;text-align:center}.theme-dark .result-execution-center .yield-transform__stage{background:#eef2f60d}.result-execution-center .yield-transform strong{color:var(--result-redesign-accent);font-size:.86rem;font-weight:1000;line-height:1}.result-execution-center .yield-transform small{color:var(--result-redesign-accent);font-size:.64rem;font-weight:950;line-height:1;text-transform:lowercase}.result-execution-center .yield-transform i{align-self:center;background:#fffaf39e;border-radius:999px;color:var(--result-redesign-ink);display:grid;font-style:normal;font-weight:1000;height:26px;place-items:center;width:26px}.theme-dark .result-execution-center .yield-transform i{background:#eef2f614}.result-execution-center .preparation-preview-card__note{color:var(--result-redesign-muted);font-size:.7rem;font-weight:700;line-height:1.34;margin:0}.result-execution-center .result-disclosure summary{background:#fffaf3b8;border:1px solid var(--result-redesign-line);color:var(--result-redesign-ink);font-size:.78rem;font-weight:1000;min-height:38px}.theme-dark .result-execution-center .result-disclosure summary{background:#eef2f60d}.result-execution-center .result-disclosure--full{border-top:0;padding-top:0}.result-execution-center .result-disclosure--full summary{justify-content:center}.result-execution-center .result-support-note{color:var(--result-redesign-muted);font-size:.72rem;font-weight:650;line-height:1.45;margin:0}.result-execution-center .portioning-preview{gap:.9rem}.result-execution-center .result-preview-panel__header--inline{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.result-execution-center .result-preview-panel__header--inline .secondary-button{flex:0 0 auto;min-height:38px;width:auto}.result-execution-center .portioning-group-list{align-items:stretch;display:grid;gap:.62rem;grid-template-columns:repeat(2,minmax(0,1fr))}.result-execution-center .portioning-group-card{align-content:start;background:#efe3d5;border:0;border-radius:13px;display:grid;gap:.52rem;min-width:0;padding:.72rem}.theme-dark .result-execution-center .portioning-group-card{background:#eef2f612}.result-execution-center .portioning-group-card header{display:block;min-width:0}.result-execution-center .portioning-group-card header span{display:none}.result-execution-center .portioning-group-card ul{display:grid;gap:.4rem;list-style:none;margin:0;padding:0}.result-execution-center .portioning-group-card li{align-content:center;background:#fffaf3b8;border-radius:10px;display:grid;gap:.12rem;min-height:52px;padding:.56rem .6rem}.theme-dark .result-execution-center .portioning-group-card li{background:#eef2f60d}.result-execution-center .portioning-group-card li strong{color:var(--result-redesign-ink);font-size:.7rem;font-weight:1000;line-height:1.15;overflow-wrap:anywhere}.result-execution-center .portioning-group-card li span{color:var(--result-redesign-muted);font-size:.68rem;font-weight:800;line-height:1.2}.result-execution-center .portioning-total{align-items:center;background:#241713;border-radius:12px;color:#fffaf3;display:flex;gap:.75rem;justify-content:space-between;padding:.82rem .9rem}.theme-dark .result-execution-center .portioning-total{background:#0e0a08}.result-execution-center .portioning-total span,.result-execution-center .portioning-total strong{color:inherit;font-size:.84rem;font-weight:1000}.result-execution-center .result-disclosure--quiet summary{background:#efe3d5;border:1px solid var(--result-redesign-line);border-radius:12px;color:var(--result-redesign-ink);justify-content:flex-start;min-height:40px;padding-inline:.75rem}.theme-dark .result-execution-center .result-disclosure--quiet summary{background:#eef2f612}.result-execution-center .copy-feedback{background:var(--result-redesign-card-solid);border:1px solid var(--result-redesign-line);border-radius:12px;bottom:5.8rem;box-shadow:var(--result-redesign-shadow);color:var(--result-redesign-ink);font-size:.82rem;font-weight:900;left:50%;padding:.72rem .85rem;position:fixed;text-align:center;transform:translate(-50%);width:min(calc(100% - 2rem),390px);z-index:80}@media(min-width:700px){.app-frame--result{border-radius:24px;margin-block:24px;min-height:calc(100vh - 48px);overflow:hidden}.app-frame--result .bottom-nav{border-radius:0 0 24px 24px;bottom:24px}}@media(max-width:390px){.result-ready-panel{padding:16px 16px 14px}.result-ready-panel .result-hero h1{font-size:2.1rem}.result-ready-panel .result-metric-chips strong{font-size:.94rem}.result-ready-panel .result-metric-chips span{font-size:.54rem;padding-inline:.18rem}.result-execution-center .planned-summary-actions,.result-ready-panel .result-next-action__secondary{grid-template-columns:1fr}}.recipe-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#21171375;display:grid;inset:0;padding:max(.65rem,env(safe-area-inset-top)) .65rem max(.65rem,env(safe-area-inset-bottom));place-items:center;position:fixed;z-index:100}.recipe-premium-dialog{background:linear-gradient(180deg,#fffaf3f5,#fbf6eef5),var(--color-panel-soft);border:1px solid rgba(55,35,23,.11);border-radius:24px;box-shadow:0 22px 60px #422b1a2e;display:grid;grid-template-rows:58px minmax(0,1fr) auto;height:min(95dvh,820px);overflow:hidden;position:relative;width:min(95vw,430px)}.recipe-premium-dialog:before{background-image:radial-gradient(circle at 20% 10%,rgba(55,35,23,.35),transparent 1px);background-size:6px 6px;content:"";inset:0;opacity:.035;pointer-events:none;position:absolute;z-index:0}.theme-dark .recipe-premium-dialog{background:linear-gradient(180deg,#20252af5,#121518fa),var(--color-panel-soft);border-color:#eef2f61f}.recipe-premium-actions,.recipe-premium-scroll,.recipe-premium-topbar{position:relative;z-index:1}.recipe-premium-topbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf6eee0;border-bottom:1px solid var(--color-border);display:flex;gap:.75rem;justify-content:space-between;padding:10px 14px}.theme-dark .recipe-premium-topbar{background:#121518eb}.recipe-premium-brand,.recipe-premium-topbar__actions{align-items:center;display:flex}.recipe-premium-brand{gap:.58rem;min-width:0}.recipe-premium-brand__symbol{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));border-radius:9px;box-shadow:0 12px 24px #bd20173b;color:#fffaf3;display:grid;flex:0 0 auto;height:31px;place-items:center;width:31px}.recipe-premium-brand__symbol .svg-icon{height:16px;width:16px}.recipe-premium-brand span:last-child{display:grid;gap:.1rem;min-width:0}.recipe-premium-brand small{color:#a29384;font-size:9px;font-weight:950;letter-spacing:.08em;line-height:1;text-transform:uppercase}.recipe-premium-brand strong{color:var(--color-text);font-size:12px;font-weight:1000;letter-spacing:-.02em;line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-premium-topbar__actions{gap:.5rem}.recipe-premium-scroll{overflow-y:auto;padding:14px 14px calc(84px + 1rem + env(safe-area-inset-bottom))}.recipe-premium-hero{align-items:flex-end;background:#221611;border-radius:22px;box-shadow:0 22px 52px #482d1a2e;color:#fffaf3;display:flex;min-height:276px;overflow:hidden;padding:18px;position:relative}.recipe-premium-hero:after{background:linear-gradient(0deg,#140c08eb,#140c087a 54%,#140c0814);content:"";inset:0;position:absolute;z-index:1}.recipe-premium-hero__art,.recipe-premium-hero__image{height:100%;inset:0;position:absolute;width:100%}.recipe-premium-hero__image{-o-object-fit:cover;object-fit:cover;opacity:.94}.recipe-premium-hero__art{opacity:.96}.recipe-premium-hero__back,.recipe-premium-hero__video{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:11px;color:#fffaf3;display:inline-flex;font-size:12px;font-weight:950;gap:.44rem;min-height:36px;padding:0 12px;position:absolute;top:13px;z-index:3}.recipe-premium-hero__back{background:#140c086b;left:13px}.recipe-premium-hero__video{background:#fffaf326;border:1px solid rgba(255,250,243,.18);right:13px}.recipe-premium-hero__back .svg-icon,.recipe-premium-hero__video .svg-icon{height:15px;width:15px}.recipe-premium-hero__content{position:relative;width:100%;z-index:2}.recipe-premium-kicker{align-items:center;background:#fffaf321;border:1px solid rgba(255,250,243,.18);border-radius:999px;color:#fffaf3db;display:inline-flex;font-size:10px;font-weight:1000;letter-spacing:.08em;margin-bottom:9px;min-height:24px;padding:0 9px;text-transform:uppercase}.recipe-premium-hero h2{color:#fffaf3;font-size:clamp(2.35rem,11vw,2.65rem);font-weight:1000;letter-spacing:0;line-height:.88;margin:0;max-width:330px}.recipe-premium-hero p{color:#fffaf3c2;font-size:13px;line-height:1.42;margin:10px 0 0;max-width:330px}.recipe-premium-meta-strip{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.recipe-premium-meta-strip span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf31f;border:1px solid rgba(255,250,243,.16);border-radius:13px;min-width:0;padding:10px 8px;text-align:center}.recipe-premium-meta-strip small,.recipe-premium-meta-strip strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-premium-meta-strip strong{color:#fffaf3;font-size:14px;font-weight:1000;line-height:1}.recipe-premium-meta-strip small{color:#fffaf3a8;font-size:9px;font-weight:900;letter-spacing:.05em;line-height:1;margin-top:5px;text-transform:uppercase}.recipe-premium-section{border-top:1px solid var(--color-border);padding:20px 0}.recipe-premium-section:first-of-type{border-top:0}.recipe-premium-section__head{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.recipe-premium-eyebrow{color:var(--color-accent);font-size:10px;font-weight:1000;letter-spacing:.1em;line-height:1;margin:0 0 6px;text-transform:uppercase}.recipe-premium-section h3{color:var(--color-text);font-size:23px;font-weight:1000;letter-spacing:0;line-height:1;margin:0}.recipe-premium-section__head small{color:var(--color-muted);flex:0 0 auto;font-size:11px;font-weight:900}.recipe-premium-yield-panel{align-items:center;background:#f3e2d8;border:1px solid rgba(189,32,23,.1);border-radius:16px;color:var(--color-accent);display:grid;font-size:14px;font-weight:1000;gap:8px;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);padding:12px;text-align:center}.theme-dark .recipe-premium-yield-panel{background:#ff744824}.recipe-premium-yield-panel small,.recipe-premium-yield-panel strong{display:block}.recipe-premium-yield-panel strong{overflow-wrap:anywhere}.recipe-premium-yield-panel small{color:var(--color-muted);font-size:10px;font-weight:900;letter-spacing:.05em;margin-top:4px;text-transform:uppercase}.recipe-premium-note{color:var(--color-muted);font-size:13px;line-height:1.48;margin:10px 0 0}.recipe-premium-warning{align-items:start;background:linear-gradient(135deg,#fff0ea,#fff6ef);border:1px solid rgba(255,116,72,.18);border-radius:14px;color:var(--color-text);display:grid;font-size:12px;font-weight:760;gap:9px;grid-template-columns:26px minmax(0,1fr);line-height:1.42;margin-top:14px;padding:12px}.theme-dark .recipe-premium-warning{background:#ff74481a}.recipe-premium-warning:before{background:#ff744824;border-radius:8px;color:var(--color-accent);content:"!";display:grid;font-size:12px;font-weight:1000;height:24px;line-height:1;place-items:center;width:24px}.recipe-premium-ingredient-list{background:#fffaf38a;border:1px solid var(--color-border);border-radius:15px;display:grid;overflow:hidden}.theme-dark .recipe-premium-ingredient-list{background:#eef2f60a}.recipe-premium-ingredient-row{align-items:center;border-bottom:1px solid rgba(55,35,23,.075);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:47px;padding:11px 12px}.recipe-premium-ingredient-row:last-child{border-bottom:0}.recipe-premium-ingredient-row--critical{background:#ff744813}.recipe-premium-ingredient-row b,.recipe-premium-ingredient-row em,.recipe-premium-ingredient-row strong{display:block}.recipe-premium-ingredient-row strong{color:var(--color-text);font-size:13px;font-weight:1000;line-height:1.18}.recipe-premium-ingredient-row em{color:var(--color-muted);font-size:10px;font-style:normal;font-weight:780;line-height:1.25;margin-top:2px}.recipe-premium-ingredient-row b{color:var(--color-accent);font-size:13px;font-weight:1000;white-space:nowrap}.recipe-premium-timeline{counter-reset:step;display:grid;gap:14px;list-style:none;margin:0;padding:0}.recipe-premium-timeline li{align-items:start;color:var(--color-text);display:grid;font-size:14px;gap:11px;grid-template-columns:32px minmax(0,1fr);line-height:1.45}.recipe-premium-timeline li:before{background:#fff0ea;border-radius:9px;color:var(--color-accent);content:counter(step);counter-increment:step;display:grid;font-size:12px;font-weight:1000;height:30px;line-height:1;place-items:center;width:30px}.theme-dark .recipe-premium-timeline li:before{background:#ff744821}.recipe-premium-info-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-premium-info-block{background:var(--color-panel);border:1px solid var(--color-border);border-radius:15px;min-height:112px;padding:12px}.recipe-premium-info-block>span{background:#fff0ea;border-radius:10px;color:var(--color-accent);display:grid;height:32px;margin-bottom:10px;place-items:center;width:32px}.theme-dark .recipe-premium-info-block>span{background:#ff744821}.recipe-premium-info-block strong{color:var(--color-text);display:block;font-size:13px;font-weight:1000;margin-bottom:6px}.recipe-premium-info-block p{color:var(--color-muted);font-size:11.5px;line-height:1.45;margin:0}.recipe-premium-nutrition-strip{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-premium-nutrition-strip span{background:#f2e8dc;border-radius:13px;min-width:0;padding:10px 6px;text-align:center}.theme-dark .recipe-premium-nutrition-strip span{background:#eef2f612}.recipe-premium-nutrition-strip small,.recipe-premium-nutrition-strip strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-premium-nutrition-strip strong{color:var(--color-text);font-size:13px;font-weight:1000;line-height:1}.recipe-premium-nutrition-strip small{color:var(--color-muted);font-size:9px;font-weight:900;letter-spacing:.04em;margin-top:5px;text-transform:uppercase}.recipe-premium-actions{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf6eeeb;border-top:1px solid var(--color-border);display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));min-height:84px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.theme-dark .recipe-premium-actions{background:#121518eb}.recipe-premium-actions .primary-button,.recipe-premium-actions .secondary-button{border-radius:12px;min-height:46px;width:100%}@media(max-width:390px){.recipe-premium-dialog{border-radius:20px;height:96dvh;width:96vw}.recipe-premium-scroll{padding-inline:12px}.recipe-premium-hero{min-height:250px;padding-inline:14px}.recipe-premium-hero h2{font-size:2.12rem}.recipe-premium-info-grid{grid-template-columns:1fr}}
