.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.kc-feature-page{isolation:isolate;position:relative}.kc-feature-page:before{z-index:-1;content:"";pointer-events:none;background:repeating-radial-gradient(circle at 33% 30%,#0000 0 18px,#7da0830a 19px 20px);border:1px solid #7da0831f;border-radius:42% 58% 66% 34%/45% 40% 60% 55%;width:250px;height:250px;position:fixed;top:96px;right:-84px;transform:rotate(12deg)}.kc-feature-page a:focus-visible,.kc-feature-page button:focus-visible,.kc-feature-page input:focus-visible,.kc-feature-page select:focus-visible,.kc-feature-page textarea:focus-visible,.kc-feature-page summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--white)}.back-link{min-height:44px;color:var(--sage-700);align-items:center;gap:5px;margin:-10px 0 10px;font-size:13px;font-weight:780;text-decoration:none;display:inline-flex}.search-control{min-width:0;min-height:48px;color:var(--ink-500);background:#fff;border:1px solid #cacabb;border-radius:13px;align-items:center;gap:9px;padding:0 13px;display:flex}.search-control:focus-within{border-color:var(--sage-500);box-shadow:0 0 0 3px #7da08324}.search-control input{width:100%;min-width:0;min-height:44px;color:var(--ink-900);background:0 0;border:0;outline:0;padding:0;font-size:16px}.filter-surface,.pantry-toolbar,.history-filters{border-radius:var(--radius-md);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1px solid #4352461a;gap:12px;margin-bottom:20px;padding:14px;display:grid}.filter-grid,.editor-grid,.inline-create__fields,.ingredient-row-grid{gap:12px;display:grid}.filter-grid>label{color:var(--ink-700);gap:6px;font-size:11px;font-weight:750;display:grid}.filter-grid select,.segmented-control+select{min-height:44px;color:var(--ink-900);background:#fff;border:1px solid #cfcec2;border-radius:11px;padding:8px 10px;font-size:16px}.filter-toggles{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-toggles label,.inline-toggle{min-height:42px;color:var(--ink-700);background:var(--cream-100);border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:700;display:inline-flex}.filter-toggles input,.inline-toggle input,.choice-chip-grid input,.favorite-toggle input{width:18px;height:18px;accent-color:var(--sage-700)}.text-action{min-height:42px;color:var(--sage-700);background:0 0;border:0;margin-left:auto;padding:7px 9px;font-weight:780}.recipe-card-grid,.pantry-ingredient-grid,.batch-card-list{gap:12px;display:grid}.recipe-card{min-height:210px;color:var(--ink-900);box-shadow:var(--shadow-card);background:linear-gradient(145deg,#fffffffa,#faf7eee6);border:1px solid #4352461a;border-radius:19px;align-content:space-between;gap:22px;padding:17px;text-decoration:none;transition:transform .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.recipe-card:after{content:"";border:1px solid #7da08321;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-57px;right:-44px;box-shadow:inset 0 0 0 17px #d9e8d824,inset 0 0 0 34px #d9e8d81a}.recipe-card__top,.section-title-row,.ingredient-editor-row__toolbar,.pantry-toolbar__second-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-card__mark{--mark-hue:calc(var(--recipe-seed,4) * 7deg);background:hsl(var(--mark-hue) 32% 91%);width:48px;height:48px;transform:rotate(calc((var(--recipe-seed,4) - 7) * 1deg));border-radius:46% 54% 61% 39%;display:block;position:relative}.recipe-card__mark i{background:var(--sage-700);opacity:.58;border-radius:99px;width:24px;height:3px;position:absolute;top:14px;left:12px}.recipe-card__mark i:nth-child(2){width:17px;top:22px}.recipe-card__mark i:nth-child(3){width:21px;top:30px}.recipe-card h2{letter-spacing:-.025em;margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500;line-height:1.08}.recipe-card>div>p{color:var(--ink-500);margin:0;font-size:12px;line-height:1.5}.recipe-card footer{z-index:1;color:var(--ink-700);flex-wrap:wrap;gap:8px 13px;font-size:11px;font-weight:650;display:flex;position:relative}.recipe-card footer span{align-items:center;gap:5px;display:inline-flex}.recipe-card .favorite-label{color:var(--brick-700)}.loading-state{min-height:260px;color:var(--ink-500);justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.loading-state__orb{border:3px solid var(--sage-200);border-top-color:var(--sage-700);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite kc-spin}@keyframes kc-spin{to{transform:rotate(360deg)}}.detail-hero{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 91% 5%,#d9e8d8cc,#0000 34%),linear-gradient(145deg,#fff,#faf6ec);border:1px solid #39524217;gap:22px;margin-bottom:14px;padding:24px 19px;display:grid;overflow:hidden}.detail-hero h1{letter-spacing:-.05em;max-width:18ch;margin:15px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,11vw,64px);font-weight:500;line-height:.96}.detail-hero p{color:var(--ink-500);margin:0;font-size:13px;line-height:1.5}.detail-hero__status,.detail-hero__status>span:not(.status-badge){flex-wrap:wrap;align-items:center;gap:7px;display:flex}.detail-hero__status>span:not(.status-badge){color:var(--brick-700);font-size:11px;font-weight:750}.detail-hero__actions{flex-wrap:wrap;gap:8px;display:flex}.recipe-facts{border:1px solid var(--cream-200);border-radius:var(--radius-md);background:var(--cream-200);grid-template-columns:repeat(2,1fr);gap:1px;margin:0 0 14px;display:grid;overflow:hidden}.recipe-facts>div{background:#ffffffe0;padding:13px}.recipe-facts dt{color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.recipe-facts dd{color:var(--ink-900);margin:4px 0 0;font-size:14px;font-weight:760}.detail-layout,.batch-detail-grid{gap:14px;display:grid}.content-card,.recipe-action-card{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;border:1px solid #43524617;padding:19px}.content-card h2,.recipe-action-card h2{letter-spacing:-.03em;margin:2px 0 13px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500}.section-title-row{align-items:start}.section-title-row>svg{color:var(--sage-500)}.servings-control{color:var(--ink-500);letter-spacing:.05em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:800;display:grid}.servings-control input{border:1px solid #c9cabb;border-radius:10px;width:76px;min-height:44px;padding:7px;font-size:16px}.ingredient-checklist{margin:0;padding:0;list-style:none}.ingredient-checklist li{border-top:1px solid var(--cream-200);grid-template-columns:auto minmax(0,1fr);gap:9px;padding:13px 0;display:grid}.ingredient-checklist li>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.ingredient-checklist li>span:last-child{flex-wrap:wrap;grid-column:2;align-items:center;gap:7px;display:flex}.ingredient-checklist strong{font-size:13px;line-height:1.45}.ingredient-checklist small{color:var(--ink-500);margin-top:3px;font-size:11px}.ingredient-checklist em{color:var(--ink-500);text-transform:uppercase;font-size:10px;font-style:normal;font-weight:750}.availability-dot{border-radius:50%;width:9px;height:9px;margin-top:5px}.availability-dot--positive{background:var(--sage-500);box-shadow:0 0 0 4px var(--sage-100)}.availability-dot--attention{background:var(--amber-700);box-shadow:0 0 0 4px var(--amber-100)}.availability-dot--negative{background:var(--brick-700);box-shadow:0 0 0 4px var(--brick-100)}.availability-dot--neutral{background:var(--ink-500);box-shadow:0 0 0 4px var(--cream-200)}.recipe-action-card{background:linear-gradient(145deg, var(--sage-900), #1f3b2d);color:#fff;align-self:start}.recipe-action-card h2{color:#fff}.recipe-action-card p{color:#ffffffb8;font-size:12px;line-height:1.6}.recipe-action-card .ui-button{margin-top:8px}.recipe-action-card .ui-button--primary{color:var(--sage-900);background:#fff}.recipe-action-card .ui-button--secondary{color:#fff;background:#ffffff14;border-color:#ffffff47}.source-link{color:#fff;align-items:center;gap:6px;min-height:44px;margin-top:8px;font-size:12px;font-weight:750;display:inline-flex}.prose-card p:not(.eyebrow){color:var(--ink-700);white-space:pre-wrap;font-size:14px;line-height:1.75}.muted-copy{color:var(--ink-500)!important;font-size:12px!important;line-height:1.55!important}.editor-form{gap:14px;display:grid}.editor-section{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#ffffffeb;border:1px solid #4352461a;gap:16px;padding:18px;display:grid}.editor-section__heading{border-bottom:1px solid var(--cream-200);grid-template-columns:auto 1fr;gap:11px;padding-bottom:14px;display:grid}.editor-section__heading>span{width:31px;height:31px;color:var(--sage-700);background:var(--sage-100);border-radius:10px;place-items:center;font-size:12px;font-weight:850;display:grid}.editor-section__heading h2{margin:1px 0 3px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.editor-section__heading p{color:var(--ink-500);margin:0;font-size:11px;line-height:1.45}.choice-chip-grid{flex-wrap:wrap;gap:7px;display:flex}.choice-group{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.choice-group legend{color:var(--ink-700);margin-bottom:8px;font-size:13px;font-weight:750}.choice-group legend span{color:var(--ink-500);text-transform:uppercase;margin-left:6px;font-size:9px;font-weight:650}.choice-chip-grid label{display:inline-flex;position:relative}.choice-chip-grid input{opacity:0;position:absolute}.choice-chip-grid span{min-height:44px;color:var(--ink-700);background:#fff;border:1px solid #d7d6ca;border-radius:999px;align-items:center;padding:8px 11px;font-size:11px;font-weight:700;display:inline-flex}.choice-chip-grid input:checked+span{color:var(--sage-900);border-color:var(--sage-500);background:var(--sage-100);box-shadow:inset 0 0 0 1px var(--sage-500)}.choice-chip-grid input:focus-visible+span{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--white)}.favorite-toggle{border:1px solid var(--cream-200);min-height:66px;color:var(--ink-700);background:var(--cream-50);border-radius:13px;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:11px;display:grid}.favorite-toggle>svg{color:var(--brick-700)}.favorite-toggle>span{flex-direction:column;display:flex}.favorite-toggle strong{color:var(--ink-900);font-size:12px}.favorite-toggle small{color:var(--ink-500);margin-top:2px;font-size:10px;line-height:1.4}.ingredient-editor-list{gap:11px;display:grid}.ingredient-editor-row{background:var(--cream-50);border:1px solid #d8d7cb;border-radius:14px;min-width:0;margin:0;padding:12px}.ingredient-editor-row>legend{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.ingredient-editor-row__toolbar{margin-bottom:12px}.ingredient-editor-row__toolbar>span{color:var(--ink-500);letter-spacing:.05em;text-transform:uppercase;margin-right:auto;font-size:10px;font-weight:850}.ingredient-editor-row__toolbar button{width:44px;height:44px;color:var(--ink-700);background:#fff;border:1px solid #d6d5ca;border-radius:10px;place-items:center;padding:0;display:grid}.ingredient-editor-row__toolbar button:disabled{opacity:.35}.ingredient-editor-row__toolbar .danger-icon{color:var(--brick-700)}.inline-toggle{border-radius:11px;justify-content:center;align-self:end;min-height:46px}.inline-create{background:var(--sage-100);border:1px solid #cbd9cb;border-radius:13px}.inline-create summary{min-height:48px;color:var(--sage-700);cursor:pointer;align-items:center;gap:7px;padding:10px 13px;font-size:12px;font-weight:800;display:flex}.inline-create>div{gap:12px;padding:0 13px 13px;display:grid}.inline-create p{color:var(--ink-500);margin:0;font-size:11px;line-height:1.45}.form-alert,.success-banner,.conflict-banner{border-radius:13px;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:13px;font-size:12px;line-height:1.45;display:grid}.form-alert{color:var(--brick-700);background:var(--brick-100);border:1px solid #e4b7b0}.form-alert>span,.success-banner>span{grid-column:2}.form-alert strong{grid-row:1}.success-banner{color:var(--sage-700);background:var(--sage-100);border:1px solid #bfd2c0}.conflict-banner{color:var(--brick-700);background:var(--brick-100);border:1px solid #e2b8b1;margin:14px 0}.conflict-banner span{flex-direction:column;display:flex}.conflict-banner small{color:var(--ink-700);margin-top:2px}.sticky-form-actions{z-index:20;bottom:calc(66px + var(--safe-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fdfaf4eb;border:1px solid #4352461a;border-radius:15px;justify-content:flex-end;gap:8px;margin:4px -5px -5px;padding:10px;display:flex;position:sticky;box-shadow:0 10px 35px #1f2b2324}.segmented-control{background:var(--cream-200);border-radius:13px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.segmented-control button{min-height:44px;color:var(--ink-500);background:0 0;border:0;border-radius:10px;padding:7px 8px;font-size:10px;font-weight:800}.segmented-control button[aria-pressed=true]{color:var(--sage-900);background:#fff;box-shadow:0 3px 12px #32393017}.pantry-toolbar__second-row{align-items:stretch}.pantry-toolbar__second-row .search-control{flex:1}.pantry-toolbar__second-row .ui-button{padding-inline:12px}.pantry-summary-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #4352461a;border-radius:18px;overflow:hidden}.pantry-summary-card>header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:15px;display:grid}.pantry-summary-card>header .status-badge{grid-column:1/-1;justify-self:start}.pantry-summary-card h2{margin:0 0 3px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.pantry-summary-card header p{color:var(--ink-500);margin:0;font-size:10px}.pantry-symbol{background:var(--sage-100);border-radius:13px;width:44px;height:44px;display:block;position:relative}.pantry-symbol i{border:2px solid var(--sage-700);border-radius:4px 4px 8px 8px;width:16px;height:20px;position:absolute;top:12px;left:14px}.pantry-symbol i:nth-child(2){border-radius:3px 3px 0 0;width:8px;height:5px;top:8px;left:18px}.pantry-summary-card>dl{background:var(--cream-200);grid-template-columns:1fr 1fr;gap:1px;margin:0;display:grid}.pantry-summary-card>dl div{background:var(--cream-50);padding:11px 14px}.pantry-summary-card dt{color:var(--ink-500);text-transform:uppercase;font-size:9px;font-weight:750}.pantry-summary-card dd{margin:4px 0 0;font-size:11px;font-weight:760;line-height:1.4}.batch-link-list{display:grid}.batch-link-list a{min-height:57px;color:var(--ink-900);flex-direction:column;justify-content:center;padding:9px 14px;text-decoration:none;display:flex}.batch-link-list a+a{border-top:1px solid var(--cream-200)}.batch-link-list span{font-size:12px;font-weight:750}.batch-link-list small{color:var(--ink-500);margin-top:3px;font-size:10px}.batch-card{min-height:78px;color:var(--ink-900);box-shadow:var(--shadow-card);background:#fff;border:1px solid #4352461a;border-radius:15px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:12px;text-decoration:none;display:grid}.batch-card__icon{width:44px;height:44px;color:var(--sage-700);background:var(--sage-100);border-radius:13px;place-items:center;display:grid}.batch-card__icon.is-expired{color:var(--brick-700);background:var(--brick-100)}.batch-card>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.batch-card>span:nth-child(2) strong{font-size:13px}.batch-card>span:nth-child(2) small{color:var(--ink-500);margin-top:3px;font-size:10px}.batch-card__date{flex-direction:column;grid-column:2;display:flex}.batch-card__date small{color:var(--ink-500);text-transform:uppercase;font-size:8px;font-weight:800}.batch-card__date strong{margin-top:2px;font-size:11px}.batch-hero{align-items:end}.batch-balance{background:#ffffffc7;border-radius:15px;flex-direction:column;padding:14px;display:flex}.batch-balance>span{color:var(--ink-500);text-transform:uppercase;font-size:9px;font-weight:800}.batch-balance strong{color:var(--sage-900);margin:4px 0 1px;font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:500}.batch-balance small{color:var(--ink-500);font-size:9px}.metadata-card dl{gap:0;margin:0;display:grid}.metadata-card dl>div{border-top:1px solid var(--cream-200);grid-template-columns:minmax(100px,.8fr) 1.2fr;gap:12px;padding:11px 0;display:grid}.metadata-card dt{color:var(--ink-500);font-size:10px;font-weight:750}.metadata-card dd{margin:0;font-size:12px;font-weight:700}.metadata-card dd small{color:var(--ink-500);text-transform:uppercase;margin-top:2px;font-size:8px;font-weight:650;display:block}.metadata-card .section-title-row{gap:12px;margin-bottom:4px}.metadata-card .section-title-row .ui-button{flex:none}.batch-record-actions{border-top:1px solid var(--cream-200);flex-wrap:wrap;align-items:center;gap:9px;margin-top:5px;padding-top:13px;display:flex}.batch-record-actions>small{color:var(--ink-500);flex:190px;font-size:9px;line-height:1.45}.archived-positive-banner{grid-template-columns:auto minmax(0,1fr)}.archived-positive-banner .ui-button{grid-column:2;justify-self:start;margin-top:4px}.batch-metadata-form{gap:14px;display:grid}.batch-metadata-form .editor-grid{gap:12px}.metadata-date-warning{color:var(--amber-700);background:var(--amber-100);border-radius:11px;align-items:flex-start;gap:8px;margin:0;padding:10px 11px;font-size:11px;line-height:1.45;display:flex}.metadata-date-warning svg{flex:none}.pantry-opened-toggle,.pantry-sync-acknowledgement{background:var(--cream-50);cursor:pointer;border:1px solid #43524624;border-radius:12px;align-items:flex-start;gap:10px;min-height:52px;padding:11px 12px;display:flex}.pantry-opened-toggle>input,.pantry-sync-acknowledgement>input{width:20px;height:20px;accent-color:var(--sage-700);flex:none;margin:2px 0 0}.pantry-opened-toggle>span{gap:9px;min-width:0;display:flex}.pantry-opened-toggle>span>svg{color:var(--sage-700);flex:none}.pantry-opened-toggle strong,.pantry-sync-acknowledgement strong{color:var(--ink-900);font-size:11px;display:block}.pantry-opened-toggle small,.pantry-sync-acknowledgement small{color:var(--ink-500);margin-top:2px;font-size:9px;line-height:1.45;display:block}.pantry-sync-risk{gap:13px;display:grid}.pantry-sync-risk>p{color:var(--ink-700);align-items:flex-start;gap:9px;margin:0;font-size:11px;line-height:1.5;display:flex}.pantry-sync-risk>p svg{color:var(--amber-700);flex:none}.pantry-sync-risk>p strong{color:var(--ink-900);display:block}.reconcile-card>p:not(.eyebrow){color:var(--ink-500);font-size:11px;line-height:1.5}.reconcile-card form{gap:11px;margin:14px 0 10px;display:grid}.current-readout{color:var(--ink-700);background:var(--cream-100);border-radius:10px;padding:10px;font-size:11px}.transaction-card{grid-column:1/-1}.transaction-list{margin:0;padding:0;list-style:none}.transaction-list li{border-top:1px solid var(--cream-200);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.transaction-icon{width:32px;height:32px;color:var(--sage-700);background:var(--sage-100);border-radius:10px;place-items:center;font-weight:850;display:grid}.transaction-icon--out{color:var(--brick-700);background:var(--brick-100)}.transaction-list li>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.transaction-list strong{font-size:11px}.transaction-list small{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.transaction-list b{font-size:11px}.history-filters{grid-template-columns:1fr}.history-table-wrap{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;border:1px solid #4352461a;overflow:auto}.history-table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px}.history-table th{color:var(--ink-500);text-align:left;background:var(--cream-100);letter-spacing:.05em;text-transform:uppercase;padding:11px 14px;font-size:9px}.history-table td{border-top:1px solid var(--cream-200);vertical-align:top;padding:13px 14px}.history-table td:first-child,.history-table td:last-child{display:table-cell}.history-table td a{color:var(--sage-700);font-weight:780}.history-table td small{max-width:240px;color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;display:block;overflow:hidden}.quantity-in{color:var(--sage-700);font-weight:800}.quantity-out{color:var(--brick-700);font-weight:800}@media (min-width:620px){.filter-grid{grid-template-columns:repeat(3,1fr)}.recipe-card-grid,.pantry-ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-facts{grid-template-columns:repeat(4,1fr)}.editor-grid,.inline-create__fields,.history-filters,.ingredient-row-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control{grid-template-columns:repeat(4,1fr)}.segmented-control button{font-size:11px}.batch-card{grid-template-columns:auto minmax(0,1fr) auto}.batch-card__date{text-align:right;grid-column:auto}}@media (min-width:860px){.filter-surface{grid-template-columns:minmax(260px,1.2fr) 2fr;align-items:end}.filter-toggles{grid-column:1/-1}.recipe-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:34px}.detail-hero__actions{justify-content:flex-end}.detail-layout{grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr);align-items:start}.ingredients-card{grid-row:span 1}.prose-card{grid-column:1}.recipe-action-card{grid-area:1/2/span 2;position:sticky;top:28px}.ingredient-checklist li{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.ingredient-checklist li>span:last-child{grid-column:auto;justify-content:flex-end}.editor-section{padding:24px}.ingredient-row-grid{grid-template-columns:1.4fr .55fr .75fr 1fr 1fr;align-items:end}.inline-toggle{grid-column:auto}.pantry-ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.batch-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-detail-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start}.batch-hero{grid-template-columns:minmax(0,1fr) minmax(270px,auto)}.sticky-form-actions{bottom:18px}}@media (min-width:1180px){.recipe-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.recipe-card{transition:none}.loading-state__orb{animation-duration:1.5s}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--cream-50:#fdfaf4;--cream-100:#f7f1e7;--cream-200:#ede4d5;--ink-900:#1d2821;--ink-700:#415047;--ink-500:#5f6a61;--sage-900:#294738;--sage-700:#3f684f;--sage-500:#7da083;--sage-200:#d9e8d8;--sage-100:#edf4eb;--amber-700:#8d4b0c;--amber-200:#f1d8a9;--amber-100:#f9edd7;--brick-700:#a04338;--brick-100:#f8e1dc;--white:#fff;--focus-ring:#61401f;--shadow-soft:0 16px 48px #3c342714;--shadow-card:0 6px 22px #36312712;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--cream-100);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--ink-900);background:var(--cream-100);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;box-shadow:0 0 0 2px var(--white)}.skip-link{z-index:100;background:var(--ink-900);color:#fff;border:0;border-radius:8px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.app-shell,.app-frame{min-height:100vh}.mobile-header{height:calc(66px + var(--safe-top));padding:var(--safe-top) 18px 0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#f7f1e7f0;border-bottom:1px solid #4a544c14;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-header__actions{align-items:center;gap:4px;min-width:0;display:flex}.mobile-sync-status{max-width:126px;color:var(--sage-900);background:var(--sage-100);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:800;text-decoration:none;overflow:hidden}.brand-lockup{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-lockup>span:last-child{flex-direction:column;line-height:1;display:flex}.brand-lockup strong{letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-size:20px}.brand-lockup small{color:var(--ink-500);letter-spacing:.16em;text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:700}.brand-mark{background:var(--sage-900);border-radius:11px;place-items:end center;width:34px;height:34px;display:grid;position:relative;overflow:hidden}.brand-mark:after{content:"";background:var(--cream-100);border-radius:4px 4px 8px 8px;width:21px;height:13px;margin-bottom:6px}.brand-mark i{background:var(--cream-100);opacity:.84;border-radius:99px;width:2px;height:9px;position:absolute;top:5px}.brand-mark i:first-child{left:10px;transform:rotate(-10deg)}.brand-mark i:nth-child(2){top:3px;left:16px}.brand-mark i:nth-child(3){right:9px;transform:rotate(10deg)}.icon-button{width:44px;height:44px;color:var(--ink-700);background:0 0;border:0;border-radius:14px;place-items:center;display:grid}.desktop-rail{display:none}main{outline:0;min-height:calc(100vh - 66px)}.home-screen{--pattern-gap:30px;--availability-hue:138;padding:18px 16px calc(104px + var(--safe-bottom));position:relative;overflow:hidden}.home-screen:before{content:"";pointer-events:none;opacity:.25;background-image:radial-gradient(circle at 1px 1px,#364d3c21 1px,#0000 0);background-size:var(--pattern-gap) var(--pattern-gap);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.home-screen>*{position:relative}.hero-card{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(145deg, hsl(var(--availability-hue) 27% 27%), #21372d 72%);min-height:302px;box-shadow:var(--shadow-soft);padding:28px 24px;display:grid;position:relative;overflow:hidden}.hero-card:before{content:"";opacity:.18;background:repeating-linear-gradient(112deg,#0000 0 18px,#ffffff1f 19px,#0000 20px 38px);position:absolute;inset:0}.hero-card>div:first-child{z-index:2;max-width:430px;position:relative}.eyebrow{color:var(--ink-500);letter-spacing:.15em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.hero-card .eyebrow{color:#c9dacb}h1,h2,h3,p{margin-top:0}.hero-card h1{letter-spacing:-.045em;max-width:14ch;margin-bottom:13px;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,10.5vw,48px);font-weight:500;line-height:.98}.hero-card__copy{color:#dfe9df;max-width:36ch;margin:0;font-size:15px;line-height:1.55}.hero-card__actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.button--light{color:var(--sage-900);background:var(--cream-100)}.button--outline-light{color:#fff;background:#ffffff14;border:1px solid #ffffff59}.hero-orbit{opacity:.98;width:170px;height:170px;position:absolute;bottom:-22px;right:-14px}.hero-orbit__ring{border:1px solid #fff3;border-radius:50%;position:absolute;inset:10px;box-shadow:0 0 0 26px #ffffff0a,0 0 0 52px #ffffff08}.hero-orbit__dot{background:var(--amber-200);border-radius:50%;width:8px;height:8px;position:absolute}.hero-orbit__dot--one{top:25px;right:40px}.hero-orbit__dot--two{opacity:.7;width:5px;height:5px;bottom:48px;left:16px}.cooking-glyph{width:80px;height:72px;position:absolute;bottom:34px;right:35px}.cooking-glyph__pot{border:5px solid var(--cream-100);border-top-width:4px;border-radius:5px 5px 20px 20px;width:64px;height:40px;position:absolute;bottom:3px;left:7px}.cooking-glyph__pot:before,.cooking-glyph__pot:after{content:"";background:var(--cream-100);width:14px;height:5px;position:absolute;top:3px}.cooking-glyph__pot:before{border-radius:4px 0 0 4px;left:-16px}.cooking-glyph__pot:after{border-radius:0 4px 4px 0;right:-16px}.cooking-glyph__lid{border:4px solid var(--cream-100);border-radius:50% 50% 4px 4px;width:50px;height:9px;position:absolute;bottom:47px;left:14px}.cooking-glyph__lid:before{content:"";border:4px solid var(--cream-100);border-bottom:0;border-radius:6px 6px 0 0;width:11px;height:7px;position:absolute;top:-12px;left:16px}.cooking-glyph__steam{border-left:3px solid var(--amber-200);border-radius:50%;width:3px;height:21px;position:absolute;top:-12px;transform:rotate(12deg)}.cooking-glyph__steam--one{left:27px}.cooking-glyph__steam--two{top:-5px;left:49px;transform:rotate(-10deg)}.status-strip{box-shadow:var(--shadow-card);background:#fffffff5;border:1px solid #465c4a1a;border-radius:15px;align-items:center;gap:10px;margin:-18px 13px 24px;padding:12px 14px;display:flex}.status-strip__icon{color:#fff;background:var(--sage-700);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.status-strip>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.status-strip strong{font-size:13px}.status-strip small{color:var(--ink-500);font-size:11px}.status-strip__mode{color:var(--sage-700);text-transform:uppercase;font-size:11px;font-weight:800}.section-block{margin:28px 0}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:13px;display:flex}.section-heading h2{letter-spacing:-.03em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:500}.section-heading a{min-height:44px;color:var(--sage-700);align-items:center;gap:4px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.meal-card{border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-card);border:1px solid #43524617;grid-template-columns:auto 1fr;gap:13px;padding:16px;display:grid}.meal-card__date{width:62px;color:var(--sage-900);background:var(--sage-100);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.meal-card__date>span{font-size:14px;font-weight:800}.meal-card__date small{margin-left:2px;font-size:9px}.meal-card__body h3{margin:7px 0 3px;font-size:16px}.meal-card__body p{color:var(--ink-500);margin:0;font-size:12px}.meal-card .button{grid-column:1/-1;width:100%}.pill{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:10px;font-weight:850;display:inline-flex}.pill--sage{color:var(--sage-700);background:var(--sage-100)}.pill--amber{color:var(--amber-700);background:var(--amber-100)}.button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 15px;font-weight:750;text-decoration:none;display:inline-flex}.button--primary{color:#fff;background:var(--sage-900)}.button--soft{color:var(--sage-900);background:var(--sage-100)}.dashboard-grid{gap:14px;display:grid}.section-card{border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-card);border:1px solid #43524617;padding:18px}.section-card--shopping{background:linear-gradient(145deg, var(--amber-100), #fffaf0)}.section-heading--compact{align-items:center;margin-bottom:14px}.section-heading--compact h2{font-size:23px}.expiry-list{gap:4px;display:grid}.expiry-list>div{grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px 8px;display:grid;position:relative;overflow:hidden}.expiry-list>div+div{border-top:1px solid var(--cream-200)}.expiry-list span:not(.expiry-meter){flex-direction:column;min-width:0;display:flex}.expiry-list strong{font-size:14px}.expiry-list small{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.expiry-list b{color:var(--amber-700);font-size:12px}.expiry-meter{width:var(--remaining);background:var(--amber-700);opacity:.5;border-radius:99px;height:2px;position:absolute;bottom:3px;left:8px}.expiry-list a{border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.section-card--shopping>p{color:var(--ink-700);font-size:14px;line-height:1.55}.section-card--shopping .button{background:#ffffffb8;width:100%;margin-top:5px}.recipe-row{gap:10px;display:grid}.recipe-row article,.recipe-row .home-recipe-link{background:var(--white);box-shadow:var(--shadow-card);border:1px solid #43524617;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.home-recipe-link{text-decoration:none}.recipe-row h3{margin:0 0 3px;font-size:14px}.recipe-row p{color:var(--ink-500);margin:0;font-size:11px}.recipe-symbol{border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.recipe-symbol--sun{color:var(--amber-700);background:var(--amber-100)}.recipe-symbol--tomato{color:var(--brick-700);background:var(--brick-100)}.section-card__empty{color:var(--ink-500);margin:8px 0 2px;font-size:12px;line-height:1.55}.home-empty-row{border-radius:var(--radius-md);color:var(--sage-700);background:#ffffff8c;border:1px dashed #b8b6a9;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:17px;display:grid}.home-empty-row>span{flex-direction:column;min-width:0;display:flex}.home-empty-row strong{color:var(--ink-900);font-size:14px}.home-empty-row small{color:var(--ink-500);margin-top:3px;font-size:11px;line-height:1.45}.home-empty-row>a{color:#fff;background:var(--sage-900);border-radius:11px;grid-column:1/-1;justify-content:center;align-items:center;min-height:44px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.placeholder-screen{max-width:680px;padding:32px 18px calc(110px + var(--safe-bottom));margin:0 auto}.placeholder-screen h1{letter-spacing:-.04em;margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:42px;font-weight:500}.placeholder-screen>p:not(.eyebrow){color:var(--ink-700);line-height:1.6}.empty-card{border-radius:var(--radius-lg);text-align:center;background:#ffffff85;border:1px dashed #b8b6a9;flex-direction:column;align-items:center;gap:8px;margin-top:28px;padding:38px 24px;display:flex}.empty-card span:last-child{max-width:36ch;color:var(--ink-500);font-size:13px;line-height:1.5}.empty-card__mark{border:5px solid var(--sage-500);opacity:.7;border-radius:50% 50% 45% 55%;width:42px;height:42px;display:block;transform:rotate(-12deg)}.bottom-nav{z-index:40;padding:7px 5px calc(7px + var(--safe-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fdfaf4f5;border-top:1px solid #4a544c1a;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #242e270f}.bottom-nav__item{min-width:0;min-height:48px;color:var(--ink-500);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;font-weight:700;text-decoration:none;display:flex}.bottom-nav__item.is-active{color:var(--sage-900);background:var(--sage-100)}.feature-page{width:min(100%,1120px);padding:28px 16px calc(106px + var(--safe-bottom));margin:0 auto}.ui-button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:750;line-height:1.2;display:inline-flex}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button--primary{color:#fff;background:var(--sage-900)}.ui-button--secondary{color:var(--sage-900);background:var(--sage-100);border-color:#cbd8cc}.ui-button--danger{color:#fff;background:var(--brick-700)}.ui-button--ghost{color:var(--ink-700);background:0 0}.ui-button--full{width:100%}.ui-empty-state{border-radius:var(--radius-lg);text-align:center;background:#ffffff8c;border:1px dashed #b8b6a9;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:34px 22px;display:flex}.ui-empty-state__symbol{width:52px;height:52px;color:var(--sage-700);background:var(--sage-100);border-radius:16px;place-items:center;margin-bottom:14px;display:grid}.ui-empty-state h2{margin-bottom:7px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500}.ui-empty-state__copy{max-width:42ch;color:var(--ink-500);font-size:14px;line-height:1.55}.ui-empty-state__copy p{margin-bottom:0}.ui-empty-state__action{margin-top:18px}.form-field{gap:7px;display:grid}.form-field label{color:var(--ink-700);justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;font-weight:750;display:flex}.form-field label span{color:var(--ink-500);text-transform:uppercase;font-size:10px;font-weight:650}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:46px;color:var(--ink-900);background:#fff;border:1px solid #c8c8bb;border-radius:11px;padding:10px 12px;font-size:16px}.form-field textarea{resize:vertical;min-height:112px}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:var(--brick-700)}.form-field__hint,.form-field__error{margin:0;font-size:11px;line-height:1.4}.form-field__hint{color:var(--ink-500)}.form-field__error{color:var(--brick-700)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.045em;margin-bottom:7px;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,9vw,48px);font-weight:500;line-height:1}.page-header>div:first-child>p:not(.eyebrow){max-width:58ch;color:var(--ink-500);margin:0;font-size:14px;line-height:1.55}.page-header__actions{flex-wrap:wrap;gap:8px;display:flex}.status-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:25px;padding:4px 9px;font-size:10px;font-weight:850;display:inline-flex}.status-badge--positive{color:var(--sage-700);background:var(--sage-100)}.status-badge--attention{color:var(--amber-700);background:var(--amber-100)}.status-badge--negative{color:var(--brick-700);background:var(--brick-100)}.status-badge--neutral{color:var(--ink-700);background:var(--cream-200)}.onboarding-shell{min-height:100vh;padding:calc(22px + var(--safe-top)) 16px calc(22px + var(--safe-bottom));background:radial-gradient(circle at 18% 12%, #fff8e9, transparent 31%), radial-gradient(circle at 88% 86%, #dfeadf, transparent 30%), var(--cream-100);place-items:center;display:grid}.onboarding-card{background:#fffffff0;border:1px solid #41504517;border-radius:28px;width:min(100%,960px);display:grid;overflow:hidden;box-shadow:0 28px 90px #31352b21}.onboarding-card__art{background:linear-gradient(150deg,#294738,#1e342a);min-height:680px;display:none;position:relative;overflow:hidden}.onboarding-card__art:before{content:"";background-image:radial-gradient(circle at 1px 1px,#ffffff26 1px,#0000 0);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 75%);mask-image:linear-gradient(135deg,#000,#0000 75%)}.onboarding-bowl{border:8px solid var(--cream-100);border-top-width:5px;border-radius:8px 8px 90px 90px;width:210px;height:138px;position:absolute;top:50%;left:50%;transform:translate(-50%,-42%)}.onboarding-bowl:before{content:"";border:8px solid var(--cream-100);border-radius:50% 50% 8px 8px;width:140px;height:32px;position:absolute;top:-31px;left:26px}.onboarding-bowl:after{content:"";border:8px solid var(--cream-100);border-bottom:0;border-radius:12px 12px 0 0;width:35px;height:22px;position:absolute;top:-49px;left:82px}.onboarding-bowl i{border-left:6px solid var(--amber-200);border-radius:50%;width:6px;height:55px;position:absolute;top:-110px}.onboarding-bowl i:first-child{left:52px;transform:rotate(12deg)}.onboarding-bowl i:nth-child(2){top:-132px;left:99px}.onboarding-bowl i:nth-child(3){right:48px;transform:rotate(-12deg)}.onboarding-orbit{border:1px solid #ffffff2b;border-radius:50%;position:absolute}.onboarding-orbit--one{width:360px;height:360px;top:50%;left:50%;transform:translate(-50%,-50%)}.onboarding-orbit--two{width:520px;height:520px;top:50%;left:50%;transform:translate(-50%,-50%)}.onboarding-card__body{padding:28px 22px}.onboarding-brand{margin-bottom:42px}.onboarding-card h1{letter-spacing:-.05em;margin-bottom:14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(39px,12vw,58px);font-weight:500;line-height:.97}.onboarding-lede{max-width:52ch;color:var(--ink-700);font-size:15px;line-height:1.65}.onboarding-install-note{border:1px solid var(--amber-200);color:var(--ink-700);background:var(--amber-100);border-radius:13px;gap:5px;margin:-6px 0 22px;padding:13px 14px;font-size:12px;line-height:1.5;display:grid}.onboarding-install-note strong{color:var(--ink-900)}.onboarding-promises{gap:10px;margin:24px 0 30px;display:grid}.onboarding-promises>span{border-bottom:1px solid var(--cream-200);color:var(--sage-700);grid-template-columns:auto 1fr;column-gap:10px;padding:11px 0;display:grid}.onboarding-promises b{color:var(--ink-900);font-size:13px}.onboarding-promises small{color:var(--ink-500);grid-column:2;font-size:11px;line-height:1.4}.mode-choice{border:0;gap:10px;margin:0 0 10px;padding:0;display:grid}.mode-choice legend{margin-bottom:10px;font-size:13px;font-weight:800}.mode-option{width:100%;min-height:82px;color:var(--ink-900);text-align:left;background:#fff;border:1px solid #d8d6ca;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.mode-option--recommended{background:var(--sage-100);border-color:#afc5b2}.mode-option__icon{width:44px;height:44px;color:var(--sage-700);background:#fff;border-radius:13px;place-items:center;display:grid}.mode-option>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.mode-option b{font-size:14px}.mode-option small{color:var(--ink-500);margin-top:3px;font-size:11px;line-height:1.4}.mode-choice__note{color:var(--ink-500);margin:0;font-size:11px;line-height:1.45}.onboarding-error{color:var(--brick-700);background:var(--brick-100);border:1px solid #e3b8ac;border-radius:11px;margin:10px 0 14px;padding:11px 12px;font-size:12px;line-height:1.45}.startup-state{text-align:center;background:radial-gradient(circle at 50% 42%, var(--sage-100), transparent 38%), var(--cream-100);place-content:center;justify-items:center;min-height:100vh;padding:28px;display:grid}.startup-state__mark{background:var(--sage-900);border-radius:20px;place-items:end center;width:62px;height:62px;margin-bottom:18px;display:grid;position:relative;overflow:hidden}.startup-state__mark:after{content:"";background:var(--cream-100);border-radius:6px 6px 14px 14px;width:38px;height:23px;margin-bottom:11px}.startup-state__mark i{background:var(--amber-200);border-radius:99px;width:3px;height:17px;position:absolute;top:8px}.startup-state__mark i:first-child{left:19px;transform:rotate(-9deg)}.startup-state__mark i:nth-child(2){top:5px;left:30px}.startup-state__mark i:nth-child(3){right:18px;transform:rotate(9deg)}.startup-state h1{letter-spacing:-.04em;max-width:17ch;margin-bottom:9px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,8vw,44px);font-weight:500;line-height:1.04}.startup-state>p:last-child{max-width:48ch;color:var(--ink-500);line-height:1.55}.ui-dialog{background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0}.ui-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#161f1a8a}.ui-dialog__panel{max-height:min(92vh,760px);padding:20px 18px calc(18px + var(--safe-bottom));background:var(--cream-50);border-radius:22px 22px 0 0;position:absolute;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -24px 80px #18221c38}.ui-dialog__panel>header{justify-content:space-between;align-items:start;gap:14px;margin-bottom:20px;display:flex}.ui-dialog__panel>header h2{letter-spacing:-.03em;margin:0 0 5px;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:500}.ui-dialog__panel>header p{max-width:52ch;color:var(--ink-500);margin:0;font-size:13px;line-height:1.5}.ui-dialog__content{gap:16px;display:grid}.ui-dialog__panel>footer{border-top:1px solid var(--cream-200);flex-wrap:wrap;justify-content:end;gap:8px;margin-top:24px;padding-top:16px;display:flex}.update-toast{z-index:70;right:12px;bottom:calc(78px + var(--safe-bottom));background:#fffffffa;border:1px solid #3f554521;border-radius:16px;grid-template-columns:auto 1fr;gap:10px;padding:14px;display:grid;position:fixed;left:12px;box-shadow:0 18px 60px #1e2a2233}.update-toast__icon{width:36px;height:36px;color:var(--sage-700);background:var(--sage-100);border-radius:11px;place-items:center;display:grid}.update-toast strong{font-size:13px}.update-toast p{color:var(--ink-500);margin:3px 0 0;font-size:11px;line-height:1.4}.update-toast__actions{grid-column:1/-1;justify-content:end;gap:6px;display:flex}.settings-state-card{border-radius:var(--radius-md);background:linear-gradient(145deg, var(--sage-100), #f9fbf6);border:1px solid #cfe0d0;grid-template-columns:auto 1fr;gap:14px;margin-bottom:22px;padding:18px;display:grid}.settings-state-card__icon{width:48px;height:48px;color:var(--sage-700);background:#fff;border-radius:14px;place-items:center;display:grid}.settings-state-card h2{margin:8px 0 4px;font-size:17px}.settings-state-card p{color:var(--ink-500);margin:0;font-size:12px;line-height:1.5}.settings-list{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;border:1px solid #43524617;display:grid;overflow:hidden}.settings-list>a{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:76px;padding:12px 14px;text-decoration:none;display:grid}.settings-list>a+a{border-top:1px solid var(--cream-200)}.settings-list__icon{width:42px;height:42px;color:var(--sage-700);background:var(--sage-100);border-radius:13px;place-items:center;display:grid}.settings-list>a>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.settings-list strong{font-size:14px}.settings-list small{color:var(--ink-500);margin-top:3px;font-size:11px;line-height:1.4}.information-grid{gap:14px;display:grid}.information-card,.install-card,.plain-section{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;border:1px solid #43524617;padding:20px}.information-card>svg{color:var(--sage-700)}.information-card h2,.install-card h2,.plain-section h2{margin:12px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.information-card p,.plain-section p{color:var(--ink-500);margin:0;font-size:13px;line-height:1.6}.install-card{background:linear-gradient(145deg, var(--amber-100), #fffaf1);margin-top:14px}.install-card ol{color:var(--ink-700);margin:16px 0 0;padding-left:22px;font-size:13px;line-height:1.8}.plain-section{margin-top:14px}.plain-section a{min-height:44px;color:var(--sage-700);align-items:center;gap:5px;margin-top:12px;font-size:13px;font-weight:750;display:inline-flex}@media (min-width:820px){.onboarding-card{grid-template-columns:minmax(300px,.82fr) minmax(430px,1.18fr)}.onboarding-card__art{display:block}.onboarding-card__body{padding:42px 46px}.ui-dialog__panel{border-radius:22px;width:min(92vw,620px);max-height:86vh;padding:24px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.update-toast{width:min(430px,100vw - 48px);bottom:24px;left:auto;right:24px}}@media (min-width:720px){.feature-page,.home-screen{padding-left:28px;padding-right:28px}.hero-card{min-height:280px;padding:38px}.hero-card h1{font-size:50px}.hero-orbit{bottom:28px;right:38px;transform:scale(1.25)}.meal-card{grid-template-columns:auto 1fr auto;align-items:center}.meal-card .button{grid-column:auto;width:auto}.dashboard-grid{grid-template-columns:1.3fr .9fr}.recipe-row,.information-grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.app-shell{grid-template-columns:246px minmax(0,1fr);display:grid}.desktop-rail{background:#f4eddf;border-right:1px solid #3e4c4117;flex-direction:column;height:100vh;padding:28px 18px 22px;display:flex;position:sticky;top:0}.desktop-rail .brand-lockup{margin:0 10px 40px}.desktop-rail nav{gap:5px;display:grid}.nav-item,.rail-settings{min-height:46px;color:var(--ink-700);border-radius:12px;align-items:center;gap:12px;padding:0 13px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.nav-item.is-active{color:#fff;background:var(--sage-900);box-shadow:0 8px 18px #29473829}.rail-settings{margin-top:auto}.mode-chip{color:var(--ink-500);text-transform:uppercase;border-top:1px solid #4352461a;align-items:center;gap:7px;margin:16px 11px 0;padding-top:16px;font-size:11px;font-weight:700;display:inline-flex}.mode-chip span{background:var(--sage-500);width:8px;height:8px;box-shadow:0 0 0 4px var(--sage-200);border-radius:50%}.mobile-header,.bottom-nav{display:none}.app-frame{min-width:0}main{min-height:100vh}.home-screen{max-width:1180px;margin:0 auto;padding:42px 44px 60px}.feature-page{padding:54px 44px 60px}.hero-card{min-height:300px}.status-strip{max-width:470px;margin-left:28px}.placeholder-screen{padding-top:64px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.ui-button.is-disabled{cursor:not-allowed;opacity:.5}.notice-banner{color:var(--ink-700);background:#ffffffb8;border:1px solid #d9d5c8;border-radius:13px;align-items:flex-start;gap:9px;margin:0 0 18px;padding:12px 14px;font-size:12px;line-height:1.5;display:flex}.notice-banner svg{flex:none;margin-top:1px}.notice-banner--success{color:var(--sage-700);background:var(--sage-100);border-color:#bfd3c1}.notice-banner--error{color:var(--brick-700);background:var(--brick-100);border-color:#e2b8ac}.notice-banner--warning{color:#76521c;background:var(--amber-100);border-color:#e6cf9d}.backup-reminder strong{font-weight:800}.data-hero{border-radius:var(--radius-lg);background:radial-gradient(circle at 92% 8%, #ffffffb8 0 4px, transparent 5px), radial-gradient(circle at 86% 23%, #ffffff7a 0 3px, transparent 4px), linear-gradient(145deg, var(--sage-100), #f9fbf6);box-shadow:var(--shadow-card);background-size:auto,auto,auto;border:1px solid #4054451f;grid-template-columns:auto 1fr;gap:15px;margin-bottom:16px;padding:20px;display:grid;overflow:hidden}.data-hero__icon,.preference-card__icon,.sync-state-card__icon{width:52px;height:52px;color:var(--sage-700);background:#fff;border-radius:16px;place-items:center;display:grid;box-shadow:0 8px 22px #2d433314}.data-hero h2,.data-card h2,.diagnostics-card h2,.preference-card h2,.sync-state-card h2,.sync-card h2{letter-spacing:-.025em;margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.data-hero p:not(.eyebrow),.data-card p,.diagnostics-card p,.preference-card p,.sync-state-card p,.sync-card p{color:var(--ink-500);margin:0;font-size:13px;line-height:1.6}.data-hero .backup-recency{color:var(--ink-700);margin-top:9px;font-size:11px}.backup-recency strong{font-weight:800}.data-hero>.ui-button{grid-column:1/-1}.data-grid,.sync-grid{gap:14px;display:grid}.data-card,.diagnostics-card,.preference-card,.sync-state-card,.sync-card{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;border:1px solid #43524617;padding:20px}.data-card>svg,.sync-card>svg{color:var(--sage-700);margin-bottom:12px}.data-card>.ui-button,.data-card>label.ui-button,.sync-card>.ui-button{width:100%;margin-top:17px}.data-card>label.ui-button{display:inline-flex}.backup-file-input:focus-visible+.backup-file-label{outline:3px solid var(--sage-500);outline-offset:3px}.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.compact-metrics>div{background:var(--cream-100);border-radius:11px;min-width:0;padding:10px}.compact-metrics dt{color:var(--ink-500);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.compact-metrics dd{color:var(--ink-900);text-overflow:ellipsis;margin:4px 0 0;font-size:14px;font-weight:800;overflow:hidden}.diagnostics-card{gap:17px;margin-top:14px;display:grid}.diagnostics-card>.ui-button{justify-self:start}.diagnostics-result{border-top:1px solid var(--cream-200);flex-wrap:wrap;align-items:center;gap:9px;padding-top:16px;display:flex}.diagnostics-result>span:not(.status-badge){color:var(--ink-500);font-size:11px}.diagnostics-result>ul{gap:8px;width:100%;margin:4px 0 0;padding:0;list-style:none;display:grid}.diagnostics-result li{background:var(--cream-100);border-radius:11px;gap:3px;padding:11px;display:grid}.diagnostics-result li strong{text-transform:capitalize;font-size:11px}.diagnostics-result li span{color:var(--ink-500);font-size:11px;line-height:1.45}.diagnostics-result .diagnostics-identifiers{overflow-wrap:anywhere;gap:4px;display:grid}.diagnostics-identifiers b{color:var(--ink-700);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.diagnostics-identifiers code{color:var(--ink-700);font-size:10px}.diagnostics-result .diagnostics-repair-actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:5px;display:flex}.diagnostics-repair-actions .ui-button{min-height:44px}.diagnostics-result .diagnostics-kept-operation{border:1px solid color-mix(in srgb, var(--sage-500) 35%, transparent);min-height:44px;color:var(--sage-700);background:color-mix(in srgb, var(--sage-100) 80%, white);border-radius:10px;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.duplicate-repair-preview{gap:14px;display:grid}.duplicate-repair-preview>p{gap:5px;margin:0;display:grid}.duplicate-repair-preview code{overflow-wrap:anywhere;color:var(--ink-700)}.duplicate-repair-effects{gap:8px;margin:0;padding:0;list-style:none;display:grid}.duplicate-repair-effects li{border:1px solid var(--cream-200);background:var(--cream-100);border-radius:10px;gap:3px;padding:10px;display:grid}.duplicate-repair-effects li>span{color:var(--ink-500);overflow-wrap:anywhere;font-size:11px}.diagnostics-result>p{width:100%}.data-footnote{color:var(--ink-500);align-items:flex-start;gap:8px;margin:17px 4px 0;font-size:11px;line-height:1.5;display:flex}.data-footnote svg{flex:none}.restore-preview>p{background:var(--cream-100);border-radius:11px;flex-direction:column;gap:4px;padding:12px;display:flex}.restore-preview>p span{color:var(--ink-500);font-size:11px;line-height:1.4}.ui-dialog__panel>footer .restore-export-first{margin-right:auto}.preference-card{grid-template-columns:auto 1fr;gap:15px;display:grid}.preference-form{grid-column:1/-1;gap:15px;margin-top:4px;display:grid}.preference-card>.ui-button{grid-column:1/-1;justify-self:start}.sync-state-card{background:linear-gradient(145deg, var(--sage-100), #fbfcf8);grid-template-columns:auto 1fr;gap:15px;margin-bottom:14px;display:grid}.sync-state-card h2{margin-top:8px}.sync-state-card>.ui-button{grid-column:1/-1}.sync-card--caution{background:linear-gradient(145deg, var(--amber-100), #fffaf1)}.sync-card small{color:var(--ink-500);margin-top:10px;font-size:10px;line-height:1.45;display:block}.sync-details{margin:14px 0 0}.sync-details>div{border-top:1px solid var(--cream-200);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;padding:10px 0;display:grid}.sync-details dt{color:var(--ink-500);font-size:11px}.sync-details dd{text-align:right;overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:750}.sync-page>.notice-banner{margin-top:14px}@media (min-width:720px){.data-hero{grid-template-columns:auto 1fr auto;align-items:center;padding:26px}.data-hero>.ui-button{grid-column:auto}.data-grid,.sync-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostics-card{grid-template-columns:1fr auto;align-items:start}.diagnostics-result{grid-column:1/-1}.preference-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-state-card{grid-template-columns:auto 1fr auto;align-items:center;padding:25px}.sync-state-card>.ui-button{grid-column:auto}}.ingredient-toolbar{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;border:1px solid #43524617;gap:10px;margin-bottom:18px;padding:13px;display:grid}.ingredient-toolbar__toggle{min-height:44px;color:var(--ink-700);align-items:center;gap:8px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.ingredient-toolbar__toggle input{width:18px;height:18px;accent-color:var(--sage-700)}.ingredient-grid{gap:11px;display:grid}.ingredient-card{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;border:1px solid #43524617;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:16px;display:grid}.ingredient-card__mark{background:var(--sage-100);border-radius:14px 14px 18px 18px;place-items:center;width:46px;height:46px;display:grid;position:relative;overflow:hidden}.ingredient-card__mark:after{content:"";border:3px solid var(--sage-700);border-radius:50% 50% 45% 55%;width:23px;height:25px;transform:rotate(-12deg)}.ingredient-card__mark i{background:var(--amber-700);border-radius:2px;width:2px;height:9px;position:absolute;top:7px}.ingredient-card__mark i:first-child{left:18px;transform:rotate(-18deg)}.ingredient-card__mark i:last-child{right:17px;transform:rotate(14deg)}.ingredient-card__heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ingredient-card h2{margin:0;font-size:16px}.ingredient-card p{color:var(--ink-500);margin:4px 0 0;font-size:11px;line-height:1.45}.ingredient-card small{color:var(--ink-700);margin-top:8px;font-size:11px;line-height:1.45;display:block}.ingredient-card__actions{border-top:1px solid var(--cream-200);flex-wrap:wrap;grid-column:1/-1;gap:4px;padding-top:10px;display:flex}.ingredient-card__actions .ui-button{min-height:44px;padding:8px 10px;font-size:11px}.ingredient-form{gap:15px;display:grid}@media (min-width:720px){.ingredient-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}.ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.shopping-page{--shopping-dot:calc(28px + var(--shopping-density,0) * 1px);position:relative}.shopping-page:after{z-index:-2;opacity:calc(.16 + var(--shopping-density,0) * .012);background-image:radial-gradient(circle at 1px 1px,#3f684f2e 1px,#0000 1.5px),linear-gradient(118deg,#0000 0 66%,#f1d8a929 66% 67%,#0000 67%);background-size:var(--shopping-dot) var(--shopping-dot), 100% 100%;content:"";pointer-events:none;position:fixed;inset:72px 0 0 246px}.shopping-page button:focus-visible,.shopping-page input:focus-visible,.shopping-page select:focus-visible,.shopping-page textarea:focus-visible,.shopping-page summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--white)}.shopping-notice{border:1px solid;border-radius:13px;align-items:flex-start;gap:9px;margin:-7px 0 18px;padding:12px 14px;font-size:13px;font-weight:680;line-height:1.45;display:flex}.shopping-notice svg{flex:none;margin-top:1px}.shopping-notice--success{color:var(--sage-700);background:var(--sage-100);border-color:#bcd3be}.shopping-notice--error{color:var(--brick-700);background:var(--brick-100);border-color:#e3b8ac}.shopping-overview{box-shadow:var(--shadow-card);background:#dfe3da;border:1px solid #30493917;border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:22px;padding:1px;display:grid;position:relative;overflow:hidden}.shopping-overview>div:not(.shopping-overview__art){z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe8;flex-direction:column;justify-content:center;min-width:0;min-height:118px;padding:18px;display:flex;position:relative}.shopping-overview span{color:var(--ink-500);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:850}.shopping-overview strong{margin:4px 0 1px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,7vw,40px);font-weight:500;line-height:1}.shopping-overview small{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.4;overflow:hidden}.shopping-overview__art{z-index:0;top:-54px;right:calc(-44px + var(--shopping-generated,0) * 1px);width:190px;height:190px;transform:rotate(calc(var(--shopping-manual,0) * 3deg));background:repeating-radial-gradient(circle,#f1d8a933 0 2px,#0000 3px 17px);border:1px solid #a45e1924;border-radius:50%;position:absolute}.shopping-overview__art span{border:5px solid #a45e193d;border-top-width:2px;border-radius:5px 5px 42px 42px;width:70px;height:42px;position:absolute;bottom:28px;right:45px}.shopping-overview__art i{border-left:4px solid #a45e192e;border-radius:50%;width:4px;height:22px;position:absolute;bottom:80px;right:68px}.shopping-overview__art i:nth-of-type(2){bottom:85px;right:82px}.shopping-overview__art i:nth-of-type(3){right:96px}.shopping-columns{gap:16px;display:grid}.shopping-group{box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #394c3f1a;border-radius:18px;overflow:hidden}.shopping-group>header{border-bottom:1px solid var(--cream-200);background:linear-gradient(120deg,#edf4ebc7,#ffffffa6);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px;display:grid}.shopping-group>header h2{letter-spacing:-.025em;margin:0 0 5px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.shopping-group>header p{max-width:62ch;color:var(--ink-500);margin:0;font-size:11px;line-height:1.5}.shopping-group>header>span{min-width:34px;height:34px;color:var(--sage-700);background:#fff;border-radius:11px;place-items:center;font-size:12px;font-weight:850;display:grid;box-shadow:0 3px 12px #253c2e14}.shopping-group__empty{color:var(--ink-500);margin:0;padding:24px 18px;font-size:13px}.shopping-list{margin:0;padding:0;list-style:none}.shopping-list>li{border-left:3px solid #0000;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:15px 16px;display:grid}.shopping-list>li+li{border-top:1px solid var(--cream-200)}.shopping-list>li.is-high-priority{border-left-color:var(--brick-700);background:linear-gradient(90deg,#f8e1dc80,#0000 34%)}.shopping-check{color:#0000;background:var(--sage-100);border:1.5px solid #aebcae;border-radius:14px;place-items:center;width:44px;height:44px;transition:color .14s,border-color .14s,background .14s,transform .14s;display:grid}.shopping-check:hover{border-color:var(--sage-700);color:var(--sage-700);background:#fff;transform:translateY(-1px)}.shopping-item__body{min-width:0;padding-top:1px}.shopping-item__title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.shopping-item__title>strong{margin-right:auto;font-size:15px}.shopping-item__body>p:not(.shopping-item__note){color:var(--ink-700);margin:4px 0 0;font-size:13px}.shopping-item__meta{color:var(--ink-500);flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:10px;display:flex}.shopping-item__meta span{align-items:center;gap:5px;display:inline-flex}.shopping-item__note{color:var(--amber-700);background:var(--amber-100);border-radius:9px;margin:9px 0 0;padding:9px 10px;font-size:11px;line-height:1.45}.shopping-loading{min-height:230px;color:var(--ink-500);justify-content:center;align-items:center;gap:11px;font-size:13px;display:flex}.shopping-loading>span{border:2px solid var(--sage-200);border-top-color:var(--sage-700);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite shopping-spin}@keyframes shopping-spin{to{transform:rotate(360deg)}}.shopping-history{background:#ffffffab;border:1px solid #394c3f1a;border-radius:16px;margin-top:18px;overflow:hidden}.shopping-history>summary{min-height:54px;color:var(--ink-700);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px 14px;font-size:13px;font-weight:780;list-style:none;display:grid}.shopping-history>summary::-webkit-details-marker{display:none}.shopping-history>summary small{background:var(--cream-200);border-radius:9px;place-items:center;width:28px;height:28px;display:grid}.shopping-history ul{border-top:1px solid var(--cream-200);margin:0;padding:0;list-style:none}.shopping-history li{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 14px;display:grid}.shopping-history li+li{border-top:1px solid var(--cream-200)}.shopping-history li>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.shopping-history strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.shopping-history li small{color:var(--ink-500);font-size:10px}.shopping-history__check{width:30px;height:30px;color:var(--sage-700);background:var(--sage-100);border-radius:10px;place-items:center;display:grid}.shopping-form{gap:15px;display:grid}.shopping-form__pair{gap:13px;display:grid}.shopping-form__error,.shopping-quantity-warning,.shopping-replace-warning{border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:10px 11px;font-size:11px;line-height:1.45;display:flex}.shopping-form__error{color:var(--brick-700);background:var(--brick-100);border:1px solid #e6bdb4}.shopping-quantity-warning{color:var(--amber-700);background:var(--amber-100);border:1px solid #ecd09a}.shopping-replace-warning{color:var(--ink-700);background:var(--cream-200)}.shopping-form__error svg,.shopping-quantity-warning svg,.shopping-replace-warning svg{flex:none;margin-top:1px}.shopping-projection-note,.shopping-atomic-note{color:var(--sage-700);background:var(--sage-100);border-radius:13px;grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:13px;display:grid}.shopping-projection-note strong,.shopping-atomic-note strong{color:var(--ink-900);font-size:12px}.shopping-projection-note p,.shopping-atomic-note p{color:var(--ink-500);margin:3px 0 0;font-size:11px;line-height:1.5}.shopping-toggle{background:#fff;border:1px solid #d4d4c6;border-radius:11px;grid-template-columns:auto 1fr;align-items:start;gap:10px;min-height:52px;padding:11px;display:grid}.shopping-toggle input{width:20px;height:20px;accent-color:var(--sage-700);margin:1px 0 0}.shopping-toggle span{flex-direction:column;display:flex}.shopping-toggle strong{font-size:12px}.shopping-toggle small{color:var(--ink-500);margin-top:2px;font-size:10px;line-height:1.4}@media (min-width:560px){.shopping-form__pair{grid-template-columns:1fr 1fr}}@media (min-width:900px){.shopping-columns{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}}@media (max-width:700px){.shopping-page:after{left:0}.shopping-overview{grid-template-columns:1fr 1fr}.shopping-overview>div:not(.shopping-overview__art){min-height:96px;padding:14px}.shopping-overview>div:nth-child(2){grid-column:1/-1;min-height:90px}.shopping-overview strong{font-size:30px}}@media (max-width:380px){.shopping-group>header{padding:15px}.shopping-list>li{gap:10px;padding:13px 11px}.shopping-item__title{align-items:flex-start}.shopping-item__title>strong{flex-basis:100%}.shopping-history .status-badge{display:none}}@media (prefers-reduced-motion:reduce){.shopping-loading>span{animation:none}}.meal-plan-page{position:relative}.meal-plan-page:before{z-index:-1;content:"";pointer-events:none;opacity:.34;background:radial-gradient(circle at 1px 1px, #3f684f2e 1px, transparent 1.5px) 0 0 / 28px 28px, linear-gradient(135deg, transparent, var(--sage-100));width:min(52vw,620px);height:360px;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(135deg,#0000 6%,#000,#0000 82%);mask-image:linear-gradient(135deg,#0000 6%,#000,#0000 82%)}.meal-plan-back-link{min-height:44px;color:var(--sage-700);align-items:center;gap:6px;margin:-8px 0 12px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.meal-plan-loading{min-height:320px;color:var(--ink-500);align-content:center;place-items:center;gap:12px;display:grid}.meal-plan-loading>span{border:4px solid var(--sage-200);border-top-color:var(--sage-700);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite meal-plan-spin}.meal-plan-loading p{margin:0;font-size:13px;font-weight:700}@keyframes meal-plan-spin{to{transform:rotate(360deg)}}.meal-plan-view-switch{width:min(100%,430px);box-shadow:var(--shadow-card);background:#ffffffb8;border:1px solid #43524617;border-radius:14px;grid-template-columns:repeat(3,1fr);margin-bottom:30px;padding:4px;display:inline-grid}.meal-plan-view-switch button{min-height:44px;color:var(--ink-500);background:0 0;border:0;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:750}.meal-plan-view-switch button.is-active{color:#fff;background:var(--sage-900);box-shadow:0 7px 16px #2947382e}.meal-plan-date-groups{gap:36px;display:grid}.meal-plan-date-group>header{align-items:center;gap:14px;margin-bottom:13px;display:flex}.meal-plan-date-group>header .eyebrow{margin-bottom:3px}.meal-plan-date-group>header h2{letter-spacing:-.03em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(21px,6vw,29px);font-weight:500}.meal-plan-date-tile{width:58px;height:62px;color:var(--sage-900);background:linear-gradient(145deg, white, var(--sage-100));box-shadow:var(--shadow-card);border:1px solid #d5e3d5;border-radius:16px;flex:none;align-content:center;place-items:center;display:grid}.meal-plan-date-tile strong{font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500;line-height:1}.meal-plan-date-tile span{letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:850}.meal-plan-card-stack{gap:10px;display:grid}.meal-plan-card{min-height:106px;color:var(--ink-900);box-shadow:var(--shadow-card);background:#fffffff0;border:1px solid #4352461a;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;padding:14px;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.meal-plan-card:hover{border-color:#adc7b0;transform:translateY(-1px);box-shadow:0 12px 30px #3143361f}.meal-plan-card__icon{width:49px;height:49px;color:var(--sage-700);background:var(--sage-100);border-radius:15px;place-items:center;display:grid}.meal-plan-card__icon svg{width:23px}.meal-plan-card__body{flex-direction:column;min-width:0;display:flex}.meal-plan-card__body>span{margin-bottom:6px}.meal-plan-card__body>strong{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:500;overflow:hidden}.meal-plan-card__body>small{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;line-height:1.4;overflow:hidden}.meal-plan-card__action{color:var(--sage-700);font-size:12px;font-weight:750;display:none}.meal-plan-editor-card{max-width:780px;box-shadow:var(--shadow-soft);background:#fffffff2;border:1px solid #4352461a;border-radius:22px;gap:24px;padding:20px;display:grid}.meal-plan-editor-grid{gap:18px;display:grid}.meal-plan-alert{color:var(--brick-700);background:var(--brick-100);border:1px solid #ecc4bd;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;margin-bottom:18px;padding:14px;display:grid}.meal-plan-alert>svg{margin-top:2px}.meal-plan-alert>span{color:var(--ink-700);flex-direction:column;gap:3px;font-size:12px;line-height:1.5;display:flex}.meal-plan-alert strong{color:var(--brick-700);font-size:13px}.meal-plan-editor-note{color:var(--sage-700);background:var(--sage-100);border-radius:15px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:14px;display:grid}.meal-plan-editor-note>span{flex-direction:column;gap:3px;display:flex}.meal-plan-editor-note strong{color:var(--sage-900);font-size:13px}.meal-plan-editor-note small{color:var(--ink-500);font-size:11px;line-height:1.45}.meal-plan-form-actions{border-top:1px solid var(--cream-200);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:18px;display:flex}.meal-plan-detail-hero{color:#fff;background:repeating-linear-gradient(115deg, transparent 0 24px, #ffffff08 25px, transparent 26px 50px), linear-gradient(145deg, var(--sage-900), #1d3328);min-height:240px;box-shadow:var(--shadow-soft);border-radius:24px;padding:26px 22px;display:grid;position:relative;overflow:hidden}.meal-plan-detail-hero:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-110px;right:-82px;box-shadow:0 0 0 32px #ffffff0a,0 0 0 66px #ffffff08}.meal-plan-detail-hero.is-completed{background:linear-gradient(145deg,#355e46,#203a2d)}.meal-plan-detail-hero>div{z-index:1;align-self:end;position:relative}.meal-plan-detail-hero h1{letter-spacing:-.045em;max-width:18ch;margin:13px 0 11px;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,11vw,55px);font-weight:500;line-height:.98}.meal-plan-detail-hero p{color:#dce8dc;flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:13px;display:flex}.meal-plan-detail-hero p svg{width:16px}.meal-plan-detail-hero__mark{z-index:1;background:#ffffff1a;border:1px solid #fff3;border-radius:17px;place-items:center;width:54px;height:54px;display:grid;position:absolute;top:22px;right:22px}.meal-plan-detail-hero__mark svg{width:28px;height:28px}.meal-plan-detail-actions{flex-wrap:wrap;gap:8px;margin:16px 0 24px;display:flex}.meal-plan-detail-grid{gap:14px;display:grid}.meal-plan-content-card{box-shadow:var(--shadow-card);background:#fffffff5;border:1px solid #4352461a;border-radius:18px;padding:20px}.meal-plan-content-card h2{letter-spacing:-.03em;margin-bottom:16px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:500}.meal-plan-ingredient-list,.meal-plan-ledger-list,.meal-completion-list,.meal-completion-review-list{margin:0;padding:0;list-style:none}.meal-plan-ingredient-list{display:grid}.meal-plan-ingredient-list li{gap:3px;padding:13px 0;display:grid}.meal-plan-ingredient-list li+li{border-top:1px solid var(--cream-200)}.meal-plan-ingredient-list li>span{color:var(--sage-700);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850}.meal-plan-ingredient-list li>strong{font-size:14px}.meal-plan-ingredient-list li>small{color:var(--ink-500);font-size:11px}.meal-plan-summary-card dl,.meal-completion-confirm-card dl{margin:0;display:grid}.meal-plan-summary-card dl>div,.meal-completion-confirm-card dl>div{border-bottom:1px solid var(--cream-200);grid-template-columns:1fr auto;gap:12px;padding:11px 0;display:grid}.meal-plan-summary-card dt,.meal-completion-confirm-card dt{color:var(--ink-500);font-size:12px}.meal-plan-summary-card dd,.meal-completion-confirm-card dd{text-align:right;margin:0;font-size:12px;font-weight:750}.meal-plan-note{background:var(--amber-100);border-radius:13px;margin-top:18px;padding:13px}.meal-plan-note strong{color:var(--amber-700);text-transform:uppercase;font-size:11px}.meal-plan-note p{color:var(--ink-700);margin:5px 0 0;font-size:12px;line-height:1.5}.meal-plan-ledger-card{grid-column:1/-1}.meal-plan-muted{color:var(--ink-500);font-size:13px;line-height:1.55}.meal-plan-ledger-list{gap:8px;display:grid}.meal-plan-ledger-list li{background:var(--sage-100);border-radius:13px;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:12px;display:grid}.meal-plan-ledger-list__check{color:#fff;background:var(--sage-700);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.meal-plan-ledger-list__check svg{width:16px}.meal-plan-ledger-list li>span:last-child{flex-direction:column;gap:3px;display:flex}.meal-plan-ledger-list strong{font-size:13px}.meal-plan-ledger-list small{color:var(--ink-500);font-size:11px}.meal-plan-ledger-list .meal-plan-ledger-list__empty{color:var(--ink-500);font-size:12px;display:block}.meal-plan-dialog-copy{color:var(--ink-700);margin:0;font-size:13px;line-height:1.55}.meal-plan-undo-explainer{color:var(--sage-700);background:var(--sage-100);border-radius:14px;grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:14px;display:grid}.meal-plan-undo-explainer p{color:var(--ink-700);margin:0;font-size:12px;line-height:1.55}.meal-completion-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;margin-bottom:22px;display:grid}.meal-completion-header h1{letter-spacing:-.045em;margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,9vw,50px);font-weight:500;line-height:1}.meal-completion-header>div>p:last-child{color:var(--ink-500);margin:0;font-size:13px;line-height:1.55}.meal-completion-header>span{width:50px;height:50px;color:var(--sage-700);background:var(--sage-100);border-radius:16px;place-items:center;display:grid}.meal-completion-sync-note{border:1px solid var(--amber-200);color:var(--amber-700);background:var(--amber-100);border-radius:15px;grid-template-columns:auto 1fr;gap:11px;margin-bottom:18px;padding:14px;display:grid}.meal-completion-sync-note p{color:var(--ink-700);margin:0;font-size:12px;line-height:1.55}.meal-completion-layout{gap:16px;display:grid}.meal-completion-sections{gap:13px;display:grid}.meal-completion-section{box-shadow:var(--shadow-card);background:#fffffff5;border:1px solid #4352461a;border-radius:18px;padding:18px}.meal-completion-section>header{grid-template-columns:auto 1fr;align-items:center;gap:11px;margin-bottom:15px;display:grid}.meal-completion-section>header>span{width:40px;height:40px;color:var(--sage-700);background:var(--sage-100);border-radius:13px;place-items:center;display:grid}.meal-completion-section>header svg{width:20px}.meal-completion-section>header .eyebrow{margin-bottom:2px}.meal-completion-section h2{letter-spacing:-.03em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.meal-completion-section.is-review>header>span{color:var(--amber-700);background:var(--amber-100)}.meal-completion-section.is-shortage{border-color:#ecc4bd}.meal-completion-section.is-shortage>header>span{color:var(--brick-700);background:var(--brick-100)}.meal-completion-section.is-ignored{background:#fdfaf4d1}.meal-completion-list{gap:10px;display:grid}.meal-completion-list>li{background:var(--sage-100);border-radius:14px;padding:13px}.meal-completion-list>li>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.meal-completion-list>li>div strong{font-size:14px}.meal-completion-list>li>div span{color:var(--sage-700);font-size:12px;font-weight:750}.meal-completion-list ul{color:var(--ink-500);margin:8px 0 0;padding-left:18px;font-size:10px;line-height:1.6}.meal-completion-review-list{gap:8px;display:grid}.meal-completion-review-list li{flex-direction:column;gap:3px;padding:11px 0;display:flex}.meal-completion-review-list li+li{border-top:1px solid var(--cream-200)}.meal-completion-review-list strong{font-size:13px}.meal-completion-review-list span{color:var(--ink-500);font-size:11px;line-height:1.5}.meal-completion-acknowledgement,.meal-completion-optional-toggle{background:var(--amber-100);cursor:pointer;border:1px solid #e4c98f;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;margin-top:14px;padding:13px;display:grid}.meal-completion-optional-toggle{background:var(--sage-100);border-color:#cfddcf;margin:0}.meal-completion-acknowledgement input,.meal-completion-optional-toggle input{width:19px;height:19px;accent-color:var(--sage-700);margin:1px 0 0}.meal-completion-acknowledgement>span,.meal-completion-optional-toggle>span{flex-direction:column;gap:3px;display:flex}.meal-completion-acknowledgement strong,.meal-completion-optional-toggle strong{font-size:13px}.meal-completion-acknowledgement small,.meal-completion-optional-toggle small{color:var(--ink-500);font-size:11px;line-height:1.45}.meal-completion-confirm-card{box-shadow:var(--shadow-soft);background:linear-gradient(150deg,#fff,#f8fbf6);border:1px solid #4352461a;border-radius:20px;align-self:start;padding:22px}.meal-completion-confirm-card>span{border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:15px;display:grid}.meal-completion-confirm-card>span.is-ready{color:var(--sage-700);background:var(--sage-100)}.meal-completion-confirm-card>span.is-blocked{color:var(--brick-700);background:var(--brick-100)}.meal-completion-confirm-card h2{letter-spacing:-.03em;margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:500}.meal-completion-confirm-card>p{color:var(--ink-500);font-size:12px;line-height:1.55}.meal-completion-confirm-card dl{margin:18px 0}.meal-completion-confirm-card>.ui-button+.ui-button{margin-top:6px}.meal-completion-confirm-card .meal-completion-confirm-card__footnote{border-top:1px solid var(--cream-200);color:var(--ink-500);align-items:start;gap:7px;margin:15px 0 0;padding-top:14px;font-size:10px;display:flex}.meal-completion-confirm-card__footnote svg{width:15px;height:15px;color:var(--sage-700);flex:none}@media (min-width:620px){.meal-plan-card{grid-template-columns:auto minmax(0,1fr) auto;padding:16px 18px}.meal-plan-card__action{display:block}.meal-plan-editor-card{padding:28px}.meal-plan-editor-grid{grid-template-columns:1fr 1fr}.meal-plan-detail-hero{min-height:270px;padding:34px}.meal-plan-detail-hero__mark{top:30px;right:30px}.meal-plan-ledger-list{grid-template-columns:1fr 1fr}}@media (min-width:900px){.meal-plan-date-group{grid-template-columns:240px minmax(0,1fr);gap:24px;display:grid}.meal-plan-date-group>header{align-self:start}.meal-plan-detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.meal-completion-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:20px}.meal-completion-confirm-card{position:sticky;top:24px}}@media (prefers-reduced-motion:reduce){.meal-plan-loading>span{animation:none}}
