:root{--paper:#fff0e2;--white:#fffaf2;--ink:#352d29;--muted:#79675d;--brand:#15678d;--brand-hover:#0d5578;--brand-gradient:radial-gradient(ellipse at 42% 12%, #1e7093 0%, #176a8e 48%, #105f85 100%);--sunset-gradient:linear-gradient(130deg, #15678d 0%, #1e7093 66%, #d4a668 100%);--green:var(--brand);--olive:#e8efe2;--success:#4d7052;--success-soft:#e8efe2;--danger:#a63d42;--danger-soft:#f9e9e7;--line:#e8cbb6;--terra:#994c32;--copper:#b45e42;--butter:#d4a668;--bg:var(--paper);--surface:var(--white);--radius:14px;--font-sans:"Avenir Next", Avenir, var(--font-fallback-sans), Arial, sans-serif;--font-serif:"Iowan Old Style", Baskerville, var(--font-fallback-serif), Georgia, serif;--serif:var(--font-serif), Georgia, serif;--sans:var(--font-sans), Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button{transition:background .18s,transform .18s,box-shadow .18s}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1{letter-spacing:-1.1px;font-size:clamp(35px,3.4vw,52px)}h2{letter-spacing:-.5px;font-size:31px}h3{letter-spacing:-.2px;font-size:24px}p{color:var(--muted)}input,textarea,select{color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);outline:none;max-width:100%}input,select{min-height:43px;padding:9px 12px}textarea{resize:vertical;width:100%;padding:12px;line-height:1.55}input[type=checkbox]{width:17px;height:17px;min-height:16px;accent-color:var(--green)}input[type=file]{max-width:100%;padding:7px;font-size:12px}::placeholder{color:var(--muted)}button{background:0 0;border:0}img{max-width:100%;display:block}summary{cursor:pointer}small{font-size:12px}.btn{border-radius:var(--radius);border:1px solid var(--line);background:var(--white);white-space:nowrap;justify-content:center;align-items:center;gap:9px;min-height:43px;padding:10px 17px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary:hover:not(:disabled){background:var(--ink)}.btn.danger{color:var(--terra);border-color:var(--line)}.btn.compact{min-height:36px;padding:7px 12px;font-size:12px}.btn.full{width:100%}.icon-btn{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;display:inline-flex}.icon-btn:hover{background:var(--paper)}.text-btn{color:var(--green);padding:4px 0;font-size:12px;font-weight:600}.text-btn:hover{text-decoration:underline}.text-link{align-items:center;gap:6px;font-size:13px;display:inline-flex}.eyebrow{letter-spacing:1.7px;color:var(--muted);font-size:10px;font-weight:600;line-height:1.5}.subtle{color:var(--muted);font-size:13px;line-height:1.6}.small-muted{color:var(--muted);font-size:11px;line-height:1.65}.lead{font-size:17px;line-height:1.6}.badge{background:var(--paper);letter-spacing:.15px;color:var(--muted);border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:500;display:inline-flex}.badge.amber{background:var(--paper);color:var(--terra)}.tiny-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.flex-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.spinning{animation:2s linear infinite spin}.error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius);margin-top:15px;padding:10px 13px}.info-note{background:var(--olive);border-radius:var(--radius);align-items:center;gap:10px;margin:20px 0;padding:16px;font-size:13px;display:flex}.app-shell{min-height:100vh}.sidebar{background:var(--paper);border-right:1px solid var(--line);z-index:20;flex-direction:column;width:230px;padding:35px 23px 22px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{text-align:left;align-items:center;gap:10px;padding:0;display:flex}.brand>span{font-family:var(--serif);white-space:nowrap;font-size:25px;line-height:1.2}.brand img{border-radius:var(--radius)}.nav-label{letter-spacing:1.7px;color:var(--muted);margin:52px 11px 16px;font-size:9px}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav button,.sidebar-link{text-align:left;border-radius:var(--radius);width:100%;min-height:45px;color:var(--muted);align-items:center;gap:13px;padding:12px 13px;font-size:13px;display:flex}.sidebar nav button.active{background:var(--line);color:var(--green);font-weight:600}.sidebar nav button:hover,.sidebar-link:hover{background:var(--paper)}.sidebar nav button small,.sidebar-link small{background:var(--paper);color:var(--muted);border-radius:var(--radius);margin-left:auto;padding:1px 6px;font-size:10px}.sidebar-link.active{color:var(--green);font-weight:600}.sidebar-bottom{margin-top:auto}.kitchen-note{color:var(--muted);padding:30px 12px}.kitchen-note p{font-family:var(--serif);color:var(--muted);margin:11px 0 16px;font-size:24px;line-height:1.2}.main-wrap{margin-left:230px}.topbar{background:0 0;justify-content:flex-end;align-items:center;gap:15px;height:68px;padding:18px 42px 0;display:flex}.topbar-actions{align-items:center;gap:14px;display:flex}.content{max-width:1600px;min-height:calc(100vh - 68px);margin:auto;padding:18px 42px 0}.page-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:32px;display:flex}.page-heading .eyebrow{margin-bottom:11px}.page-heading p{margin-top:13px;font-size:13px}.pantry-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);grid-template-columns:1fr 130px 130px 140px;align-items:center;margin:10px 0 32px;display:grid;overflow:hidden}.summary-intro{align-items:center;gap:20px;padding:28px;display:flex}.summary-intro strong{font-family:var(--serif);font-size:25px;font-weight:400}.summary-intro p{color:var(--muted);margin-top:6px;font-size:11px}.brand-sprig{color:var(--muted);font-size:55px;line-height:1}.pantry-summary>button{border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;margin:24px 0;padding:0 23px;display:flex}.pantry-summary>button strong{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.3}.pantry-summary>button>span{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-top:4px;font-size:10px;display:flex}.toolbar{align-items:center;gap:14px;margin:22px 0;display:flex}.search{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-width:0;color:var(--muted);flex:1;align-items:center;gap:12px;padding:0 15px;display:flex}.search input{width:100%;box-shadow:none;background:0 0;border:0;padding:13px 0;font-size:12px}.search button{font-size:22px}.filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius);color:var(--muted);border:1px solid #0000;justify-content:center;align-items:center;gap:4px;min-height:32px;padding:6px 11px;font-size:11px;display:inline-flex}.chip:hover{background:var(--paper)}.chip.active{background:var(--paper);border-color:var(--line);color:var(--brand);font-weight:600}.select-filters{color:var(--muted);align-items:center;gap:7px;display:flex}.select-filters select{max-width:152px;min-height:32px;color:var(--muted);background:0 0;border:0;padding:5px 3px;font-size:10px}.section-label{letter-spacing:1.4px;color:var(--muted);justify-content:space-between;align-items:center;margin:21px 0 12px;font-size:9px;display:flex}.section-label>span+span{text-transform:none;letter-spacing:0;font-size:10px}.inventory-list{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.inventory-head,.inventory-row{grid-template-columns:minmax(230px,1fr) 145px 125px 44px;align-items:center;column-gap:16px;padding:15px 22px;display:grid}.inventory-head{background:var(--paper);letter-spacing:1.5px;color:var(--muted);padding-top:13px;padding-bottom:13px;font-size:9px}.inventory-row{border-top:1px solid var(--paper);min-height:88px}.inventory-row:hover{background:var(--white)}.item-main{text-align:left;align-items:center;gap:15px;min-width:0;padding:0;display:flex}.item-main>div:last-child{min-width:0}.item-main strong{overflow-wrap:anywhere;white-space:normal}.item-thumb{border-radius:var(--radius);background:var(--paper);width:51px;height:51px;color:var(--muted);flex:0 0 51px;justify-content:center;align-items:center;display:flex;overflow:hidden}.item-thumb img{object-fit:cover;width:100%;height:100%}.item-main strong{font-size:12px;font-weight:600;line-height:1.5;display:block}.item-main span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.item-main .review-note{color:var(--terra);margin-top:4px;font-size:9px;display:block}.location-label{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.location-label .tiny-dot{background:var(--muted);width:4px;height:4px}.stock-select{border:1px solid var(--paper);border-radius:var(--radius);background:var(--paper);min-height:29px;color:var(--muted);width:103px;padding:3px 8px;font-size:10px}.stock-full,.stock-medium{color:var(--muted);background:var(--paper)}.stock-low,.stock-out{color:var(--terra);background:var(--paper)}.add-shop{color:var(--muted)}.footnote{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin:18px 0 32px;font-size:10px;line-height:1.7;display:flex}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.inventory-grid .inventory-row{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto;gap:14px;padding:20px;display:grid}.inventory-grid .item-main,.inventory-grid .location-label{grid-column:1/-1}.inventory-grid .add-shop{grid-column:2}.empty{text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius);padding:75px 22px}.empty-icon{background:var(--paper);width:72px;height:72px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 21px;display:flex}.empty h3{font-size:30px}.empty p{max-width:430px;margin:14px auto 22px;font-size:13px}.segmented{background:var(--paper);border-radius:var(--radius);gap:5px;margin:0 0 25px;padding:5px;display:inline-flex}.segmented button{border-radius:var(--radius);color:var(--muted);padding:9px 18px;font-size:12px}.photo-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:22px;display:grid}.photo-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);text-align:left;padding:0;overflow:hidden}.photo-card>img{object-fit:cover;width:100%;height:155px}.photo-card>div{padding:15px}.photo-card h3{margin:7px 0 12px;font-size:20px}.photo-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #29252410}.modal-shade{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;background:#29252472;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--paper);border:1px solid var(--white);border-radius:var(--radius);outline:none;width:600px;max-width:100%;max-height:92dvh;padding:28px;overflow-y:auto;box-shadow:0 30px 100px #29252440}.modal.wide{width:960px}.modal-top{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.modal-top h2{font-size:31px}.modal-top .icon-btn{margin-top:-3px}.field{text-align:left;flex-direction:column;gap:7px;min-width:0;margin:15px 0;display:flex}.field>span{color:var(--muted);font-size:11px;font-weight:600}.field>small{color:var(--muted);font-size:10px;font-weight:400}.field input,.field textarea,.field select{width:100%}.field input[type=checkbox]{width:auto}.form-grid{grid-template-columns:1fr 1fr;gap:0 15px;display:grid}.modal-actions{flex-wrap:wrap;gap:10px;margin:24px 0 4px;display:flex}.check-fields{flex-direction:column;gap:10px;margin:20px 0;display:flex}.check-fields label,.inline-check{color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex}.inline-check{margin:10px 0}.advanced{border-top:1px solid var(--line);margin-top:22px;padding-top:15px}.advanced summary{color:var(--muted);font-size:12px}.advanced .btn{margin:14px 8px 0 0}.detail-image{object-fit:contain;background:var(--paper);border-radius:var(--radius);width:100%;height:220px;margin-bottom:22px}.review-image{object-fit:contain;background:var(--paper);border-radius:var(--radius);width:100%;max-height:430px;margin-bottom:18px}.review-image+p{margin-bottom:12px}.toast{background:var(--brand);color:var(--paper);border-radius:var(--radius);z-index:150;align-items:center;gap:10px;max-width:90vw;padding:13px 20px;font-size:12px;display:flex;position:fixed;bottom:28px;left:calc(50% + 115px);transform:translate(-50%);box-shadow:0 5px 22px #29252440}.error-banner{background:var(--paper);color:var(--terra);justify-content:space-between;align-items:center;padding:10px 42px;font-size:13px;display:flex}.offline-bar{background:var(--line);color:var(--terra);align-items:center;gap:8px;padding:10px 42px;font-size:12px;display:flex}.add-options{flex-direction:column;gap:10px;display:flex}.add-options>button{border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:var(--white);align-items:center;gap:18px;padding:20px;display:flex}.add-options>button:hover{background:var(--olive)}.add-options>button>span{flex:1}.add-options strong{font-size:14px;display:block}.add-options small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.shopping-layout{grid-template-columns:1fr 295px;gap:28px;display:grid}.quick-add{border-radius:var(--radius);border:1px solid var(--line);background:var(--white);flex-wrap:wrap;gap:7px;padding:10px;display:flex}.quick-add>input:first-child{min-width:130px;box-shadow:none;background:0 0;border:0;flex:1}.quick-add .quantity-input{width:90px;font-size:12px}.quick-add select{width:145px;font-size:11px}.quick-add .btn{padding:10px}.shopping-groups{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:0 22px}.shopping-group{padding:24px 0 5px}.shopping-group h3{font:10px var(--sans);letter-spacing:1.6px;color:var(--muted);text-transform:uppercase;margin-bottom:10px}.shopping-row{border-bottom:1px solid var(--paper);align-items:center;gap:13px;padding:17px 0;display:flex}.shopping-row:last-child{border-bottom:0}.check-button{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;padding:0;display:flex}.check-button.checked{background:var(--muted);color:#fff;border-color:var(--muted)}.shopping-text{flex:1;min-width:0}.shopping-text strong{font-size:13px;font-weight:500;display:block}.shopping-text>span{color:var(--muted);font-size:11px;display:block}.shopping-text details{color:var(--muted);margin-top:5px;font-size:10px}.shopping-text details p{white-space:pre-line;margin:6px 0}.shopping-text details summary{max-width:100%}.bought{opacity:.7}.bought .shopping-text strong{text-decoration:line-through}.shop-aside{flex-direction:column;gap:19px;display:flex}.paper-card{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:25px}.paper-card .eyebrow{margin-bottom:12px}.paper-card h2{font-size:28px}.paper-card>p{margin:12px 0 18px;font-size:12px;line-height:1.75}.paper-card .btn{padding:9px 12px;font-size:11px}.suggest-action{border-top:1px solid var(--line);text-align:left;width:100%;color:var(--muted);align-items:center;gap:12px;padding:18px 0;display:flex}.suggest-action>span{flex:1}.suggest-action strong{color:var(--brand);font-size:12px;font-weight:500;display:block}.suggest-action small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.clean-list{margin:20px 0;padding:0;list-style:none}.clean-list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px;font-size:13px;display:flex}.upload-zone{text-align:center;border-radius:var(--radius);border:1px dashed var(--line);background:var(--paper);min-height:190px;color:var(--muted);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:20px 0;padding:30px;display:flex;position:relative;overflow:hidden}.upload-zone strong{font-size:14px;font-weight:500}.upload-zone>span{color:var(--muted);font-size:11px}.upload-zone input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.import-preview{object-fit:contain;width:100%;height:200px;margin:20px 0}.import-preview-list{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;max-height:270px;margin:16px 0;display:grid;overflow-y:auto}.import-preview-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);position:relative;overflow:hidden}.import-preview-card img{object-fit:cover;width:100%;height:90px;display:block}.import-preview-card span{padding:7px 9px;font-size:11px;display:block}.import-preview-card .icon-btn{background:var(--white);position:absolute;top:2px;right:2px}.import-batch-progress{color:var(--brand);margin:0 0 15px;font-size:13px;font-weight:700}.import-source-link{color:var(--brand);margin-bottom:10px;font-size:12px;display:inline-block}.import-layout{grid-template-columns:220px 1fr;gap:25px;display:grid}.import-layout:not(:has(>a)){grid-template-columns:1fr}.receipt-image{object-fit:contain;border-radius:var(--radius);width:220px;max-height:600px;position:sticky;top:0}.import-line{border-top:1px solid var(--line);padding:10px 0 18px}.import-line .field{margin:7px 0}.import-wide-field{grid-column:1/-1;min-width:0}.import-product-name{resize:vertical;overflow-wrap:anywhere;min-height:68px;line-height:1.4}.import-detection-note{overflow-wrap:anywhere;grid-column:1/-1;margin:4px 0 0}.import-photo-target-toggle{color:var(--brand);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:7px 0 4px;padding:5px 0;font-size:13px;font-weight:700;text-decoration:underline;display:inline-flex}.import-photo-target{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);justify-items:center;gap:8px;margin:6px 0 12px;padding:12px;display:grid}.import-photo-target small{color:var(--muted);text-align:center;line-height:1.4}.photo-object-viewer{border:1px solid var(--line);border-radius:var(--radius);-webkit-user-select:none;user-select:none;width:100%;line-height:0;position:relative;overflow:hidden}.photo-object-viewer img{width:100%;max-width:none;height:auto;display:block}.photo-object-viewer.is-drawing{cursor:crosshair;touch-action:none}.photo-object-viewer.is-picking{cursor:crosshair}.photo-object-box{pointer-events:none;border:3px solid var(--brand);background:color-mix(in srgb,var(--brand) 13%,transparent);border-radius:7px;display:block;position:absolute;box-shadow:0 0 0 1px #fff,0 2px 8px #0005}.photo-object-box.other{background:#ffffff15;border:2px solid #fffb;box-shadow:0 0 0 1px #243b2b88}.photo-object-target{cursor:pointer;touch-action:manipulation;background:#fff2;border:2px solid #fff9;border-radius:7px;display:block;position:absolute;box-shadow:0 0 0 1px #243b2b88}.photo-object-target.current{border:3px solid var(--brand);background:color-mix(in srgb,var(--brand) 16%,transparent);box-shadow:0 0 0 2px #fff,0 2px 8px #0005}.photo-object-target.movable{cursor:grab;touch-action:none}.photo-object-target.movable:active{cursor:grabbing}.photo-object-viewer.is-drawing .photo-object-target{pointer-events:none}.photo-object-target:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.pantry-photo-pickers{gap:10px;margin:18px 0;display:flex}.pantry-photo-pickers.compact{margin:0}.pantry-photo-picker{cursor:pointer;justify-content:center;min-height:52px;display:flex;position:relative;overflow:hidden}.pantry-photo-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.pantry-photo-picker:focus-within{outline:2px solid var(--brand);outline-offset:2px}.pantry-photo-picker:has(input:disabled){opacity:.55;cursor:wait}.pantry-scan-heading{gap:8px;display:grid}.pantry-scan-heading .import-batch-progress{margin:0}.pantry-scan-review{gap:14px;display:grid}.pantry-scan-hero{gap:8px;min-width:0;display:grid}.pantry-scan-photo{justify-content:center;min-width:0;display:flex}.pantry-scan-photo .photo-object-viewer{max-width:100%}.pantry-scan-bubble{justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 2px;display:flex}.pantry-scan-bubble>span{flex-wrap:wrap;align-items:baseline;gap:5px 9px;min-width:0;display:flex}.pantry-scan-bubble small{color:var(--muted);font-size:11px}.pantry-scan-bubble strong{overflow-wrap:anywhere;font-size:15px;line-height:1.25}.pantry-scan-bubble em{color:var(--muted);font-size:12px;font-style:normal}.pantry-scan-redraw{color:var(--brand);font:inherit;white-space:nowrap;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-size:12px;text-decoration:underline}.pantry-scan-photo-hint{color:var(--muted);margin:-6px 0 2px;font-size:11px}.pantry-scan-list{border-top:1px solid var(--line)}.pantry-scan-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:2px;display:grid}.pantry-scan-row.active{background:color-mix(in srgb,var(--brand) 5%,transparent)}.pantry-scan-row-main{text-align:left;min-width:0;min-height:56px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:7px 8px;display:flex}.pantry-scan-food-icon{background:var(--paper);border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.pantry-scan-food-icon img{object-fit:contain;width:27px;height:27px}.pantry-scan-food-icon .pantry-ingredient-initial{font-size:17px}.pantry-scan-row-name{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:650}.pantry-scan-row-category,.pantry-scan-row-source{color:var(--muted);white-space:nowrap;font-size:11px}.pantry-scan-row-actions{align-items:center;display:flex}.pantry-scan-edit-toggle,.pantry-scan-delete{width:40px;height:44px;color:var(--brand);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.pantry-scan-delete{color:var(--danger,#a84335)}.pantry-scan-edit-toggle:focus-visible,.pantry-scan-delete:focus-visible{outline:2px solid var(--brand);outline-offset:-3px;border-radius:8px}.pantry-scan-edit{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:1fr;gap:0 12px;padding:8px 14px 14px;display:grid}.pantry-scan-edit .field{margin:6px 0}.pantry-scan-add{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:14px;font-size:13px;display:inline-flex}@media (max-width:600px){.pantry-scan-bubble strong{font-size:13px}.pantry-scan-bubble em{font-size:10px}.pantry-scan-row-main{gap:4px 6px;padding:7px 4px}.pantry-scan-food-icon{flex-basis:28px;width:28px;height:28px}.pantry-scan-food-icon img{width:22px;height:22px}.pantry-scan-row-name{font-size:12px}.pantry-scan-row-category{font-size:10px}.pantry-scan-row-source{display:none}.pantry-scan-edit-toggle,.pantry-scan-delete{width:36px}.pantry-scan-edit{grid-template-columns:1fr}}.photo-object-point{background:var(--brand);width:18px;height:18px;box-shadow:0 0 0 2px var(--brand);pointer-events:none;border:3px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}body:has(.pretty-select-options) .companion-launcher{visibility:hidden}.sticky-actions{background:var(--paper);border-top:1px solid var(--line);margin-bottom:-10px;padding:16px 0;position:sticky;bottom:-28px}.idea-studio{border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);grid-template-columns:1fr 1.12fr;margin-bottom:42px;display:grid;overflow:hidden}.studio-copy{min-height:375px;padding:37px;position:relative;overflow:hidden}.studio-copy .eyebrow{font-size:9px}.studio-copy h2{z-index:1;margin:20px 0 17px;font-size:38px;line-height:1.14;position:relative}.studio-copy p{max-width:280px;color:var(--muted);z-index:1;font-size:12px;position:relative}.studio-decor{border:1px solid var(--line);width:240px;height:240px;color:var(--muted);border-radius:50%;justify-content:center;align-items:flex-start;padding-top:30px;display:flex;position:absolute;bottom:-90px;right:-52px;transform:rotate(-20deg)}.studio-decor:before,.studio-decor:after{content:"";border:1px solid var(--line);border-radius:50%;position:absolute;inset:13px}.studio-decor:after{inset:23px}.studio-decor>span{border:1px solid var(--line);border-radius:100%;width:90px;height:8px;position:absolute;top:34px;left:-65px;transform:rotate(-40deg)}.studio-decor>span:nth-child(2){top:66px;left:-80px;transform:rotate(-20deg)}.studio-decor>span:nth-child(3){top:93px;left:-90px;transform:rotate(0)}.prompt-panel{background:var(--paper);border-left:1px solid var(--line);padding:32px}.prompt-panel>label{font-size:12px;font-weight:500}.prompt-input{margin-top:11px;position:relative}.prompt-input textarea{background:var(--white);border-color:var(--line);min-height:102px;padding-right:40px;font-size:12px}.prompt-input .icon-btn{color:var(--muted);position:absolute;bottom:8px;right:8px}.listening{animation:1s infinite pulse;color:var(--terra)!important}.prompt-panel .field{margin:15px 0}.prompt-panel .field>span{font-size:10px}.prompt-panel select{background:var(--white);font-size:11px}.prompt-panel .small-muted{margin-top:11px}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin:36px 0 22px;display:flex}.section-heading h2{margin-top:9px;font-size:29px}.recipe-filters{margin-bottom:23px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;display:grid}.recipe-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--line);transition:transform .2s,box-shadow .2s;overflow:hidden}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #29252410}.recipe-art{background:var(--line);width:100%;height:208px;color:var(--muted);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tone-sea .recipe-art{background:var(--paper);color:var(--muted)}.tone-garden .recipe-art{background:var(--line);color:var(--muted)}.tone-clay .recipe-art{background:var(--paper);color:var(--terra)}.recipe-type{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:8px;position:absolute;top:16px;left:17px}.plate{background:#fff0e264;border:1px solid #fff0e2ae;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;margin-top:11px;display:flex;position:relative;transform:rotate(-20deg);box-shadow:7px 9px 12px #29252420,inset 0 0 0 10px #fff0e24f}.plate-inner{border:1px solid #fff0e2df;border-radius:50%;justify-content:center;align-items:center;width:108px;height:108px;display:flex}.garnish{background:#fff0e280;border-radius:100%;width:26px;height:9px;position:absolute;bottom:18px;right:28px;transform:rotate(-20deg)}.garnish.two{bottom:25px;right:19px;transform:rotate(-65deg)}.garnish.three{bottom:13px;right:39px;transform:rotate(20deg)}.art-caption{letter-spacing:1.5px;color:#fff0e277;font-size:6px;position:absolute;bottom:13px;left:17px}.art-arrow{opacity:.65;position:absolute;bottom:14px;right:15px}.recipe-body{padding:22px 20px 17px}.recipe-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:13px;font-size:10px;display:flex}.recipe-meta>span{align-items:center;gap:5px;display:flex}.title-button{text-align:left;margin:12px 0 9px;padding:0;display:block}.title-button h3{font-size:24px;line-height:1.2}.recipe-body>p{color:var(--muted);min-height:57px;font-size:11px;line-height:1.7}.recipe-bottom{border-top:1px solid var(--paper);justify-content:space-between;align-items:center;gap:5px;min-height:45px;margin-top:17px;padding-top:12px;display:flex}.availability{color:var(--terra);font-size:9px}.availability small{font-size:9px}.availability.good,.favorite{color:var(--muted)}.favorite.active{color:var(--terra)}.recipe-bottom .btn{min-height:32px;padding:5px 8px;font-size:10px}.recipe-cook{justify-content:center;width:100%;margin-top:10px}.recipe-detail-intro>.lead{margin:15px 0}.recipe-detail-columns{grid-template-columns:1fr 1.3fr;gap:34px;margin:32px 0;display:grid}.ingredients{margin:0 0 20px;padding:0;list-style:none}.ingredients li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:13px 0;display:flex}.ingredients strong{font-size:12px;font-weight:500;display:block}.ingredients small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.ingredient-state{color:var(--muted);white-space:nowrap;align-items:center;gap:3px;font-size:9px;display:flex}.ingredient-state.missing{color:var(--terra)}.recipe-detail-columns .btn{white-space:normal;font-size:11px}.steps{margin:0;padding:0;list-style:none}.steps li{align-items:flex-start;gap:15px;margin:18px 0 25px;display:flex}.steps li .step-number{background:var(--paper);width:29px;height:29px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:10px;display:flex}.steps p{color:var(--muted);font-size:13px;line-height:1.75}.steps li.done{opacity:.5}.steps li.done p{text-decoration:line-through}.steps li.done button{background:var(--muted);color:#fff}.cooking .steps p{font-size:16px}.nutrition-card{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:24px}.nutrition-card h3{font-size:23px}.nutrition-strip{grid-template-columns:repeat(5,1fr);gap:10px;margin:22px 0;display:grid}.nutrition-strip>div{border-right:1px solid var(--line);text-align:center}.nutrition-strip>div:last-child{border:0}.nutrition-strip strong{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1;display:block}.nutrition-strip strong small{font:11px var(--sans);margin-left:2px}.nutrition-strip span{letter-spacing:.6px;color:var(--muted);text-transform:uppercase;margin-top:9px;font-size:9px;display:block}.inline-plan{background:var(--paper);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:20px;padding:10px 15px 15px;display:flex}.inline-plan .field{flex:1;margin:5px 0}.inline-plan .field:nth-child(2){max-width:100px}.week-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:40px 0 23px;display:flex}.week-nav{align-items:center;gap:10px;display:flex}.week-nav h2{font-size:25px}.week-nav .text-btn{margin-left:10px}.plan-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:23px;margin:20px 0 28px;font-size:10px;display:flex}.plan-summary>span strong{color:var(--brand);margin-right:4px;font-size:15px;font-weight:500}.plan-summary p{text-align:right;flex:1;min-width:200px;font-size:10px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:11px;display:grid}.day-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:0;display:flex;overflow:hidden}.day-card.today{border-color:var(--muted);box-shadow:0 0 0 1px #fff0e240}.day-header{border-bottom:1px solid var(--paper);justify-content:space-between;align-items:center;padding:18px 13px;display:flex}.day-header>div{position:relative}.day-header span{letter-spacing:1.5px;color:var(--muted);font-size:8px;display:block}.day-header strong{font:28px var(--serif);margin-top:6px;display:block}.day-header small{color:var(--muted);font-size:8px}.day-header .icon-btn{width:25px;color:var(--muted)}.planned-meal{cursor:grab;flex:1;min-height:310px;padding:16px 12px 12px}.planned-meal:active{cursor:grabbing}.meal-symbol{background:var(--paper);border-radius:var(--radius);color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:17px;padding:15px 8px;display:flex}.meal-symbol>svg+svg{color:var(--muted)}.plan-dish{text-align:left;width:100%;margin:10px 0 15px;padding:0;display:block}.plan-dish>span{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:7px}.plan-dish h3{overflow-wrap:anywhere;margin-top:4px;font-size:19px;line-height:1.2}.plan-dish.component{border-top:1px solid var(--line);padding-top:12px}.plan-dish.component h3{color:var(--muted);font-size:15px}.plan-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;margin:19px 0 10px;font-size:8px;display:flex}.planned-meal .text-btn{text-align:left;font-size:9px}.blank-day{width:100%;min-height:310px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:13px;display:flex}.blank-day span{color:var(--muted);font-size:11px;line-height:1.7}.day-actions{border-top:1px solid var(--paper);justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding:13px 10px;display:flex}.day-actions button{color:var(--muted);align-items:center;gap:3px;padding:3px;font-size:9px;display:flex}.off-day{background:var(--paper)}.night-out{text-align:center;color:var(--muted);flex:1;padding:50px 12px 25px}.night-out h3{color:var(--muted);margin:17px 0 12px;font-size:20px}.night-out p{color:var(--muted);font-size:10px;line-height:1.8}.night-out>svg{margin:auto}.night-out small{margin-top:14px;font-size:9px;display:block}.night-out .btn{white-space:normal;margin-top:20px;padding:6px;font-size:9px}.plan-note{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);align-items:center;gap:18px;margin:25px 0;padding:20px 24px;display:flex}.plan-note>svg{flex-shrink:0}.plan-note strong{color:var(--muted);font-size:12px;font-weight:500}.plan-note p{color:var(--muted);margin-top:3px;font-size:11px}.selected-dishes{margin:15px 0}.selected-dishes>div{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:7px;padding:12px 14px;display:flex}.selected-dishes strong{font-size:12px;font-weight:500;display:block}.selected-dishes small,.dish-picker small{color:var(--muted);font-size:9px;display:block}.dish-picker{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);max-height:220px;margin-bottom:20px;overflow-y:auto}.dish-picker button{text-align:left;border-bottom:1px solid var(--paper);justify-content:space-between;align-items:center;gap:15px;width:100%;padding:12px 15px;font-size:12px;display:flex}.dish-picker button:hover{background:var(--olive)}.day-options{flex-direction:column;gap:10px;margin-top:25px;display:flex}.journal-search{flex:1;min-width:0;padding:13px 16px;font-size:12px}.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.journal-card{text-align:left;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:0;overflow:hidden}.journal-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #29252412}.journal-photo{height:230px;position:relative;overflow:hidden}.journal-photo img{object-fit:cover;width:100%;height:100%}.journal-placeholder{background:var(--line);height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.journal-placeholder span{letter-spacing:2px;font-size:7px}.journal-card-meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:5px 12px;font-size:10px;font-weight:600;display:flex}.journal-card-meta time{color:var(--brand)}.journal-copy{padding:20px}.journal-copy h3{margin:11px 0 13px;font-size:25px;line-height:1.2}.journal-copy>p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:13px 0 0;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.stars{color:var(--terra);gap:3px;display:flex}.journal-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 18px;margin:14px 0;padding:12px 0;display:flex}.journal-fact-calories{color:var(--ink);white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.journal-fact-calories strong{font:500 24px/1 var(--font-serif),Georgia,serif}.journal-fact-calories span{color:var(--muted);font-size:11px}.journal-facts .cost-summary{color:var(--brand);white-space:normal;margin:0;font-size:13px;font-weight:700}.journal-fact-macros{border-top:1px solid var(--line);flex-basis:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding-top:10px;display:grid}.journal-fact-macros span{color:var(--muted);gap:3px;font-size:10px;display:grid}.journal-fact-macros strong{color:var(--ink);font-size:14px;font-weight:600}.journal-facts--compact{margin:10px 0 0;padding:9px 0}.journal-facts--compact .journal-fact-calories strong{font-size:19px}.journal-facts--compact .cost-summary{font-size:12px}.leftovers-banner{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.leftovers-banner h3{margin-top:9px;font-size:23px}.leftover-batches{flex-direction:column;gap:8px;display:flex}.leftover-batches .btn{white-space:normal;font-size:10px}.balance-top{justify-content:space-between;align-items:center;gap:14px;margin:18px 0 14px;display:flex}.balance-top h2{margin:0}.balance-top select{font-size:12px}.balance-included,.balance-empty{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);margin:0 0 14px;padding:10px 14px}.balance-included summary{cursor:pointer;color:var(--brand);font-size:13px;font-weight:700}.balance-included>div{grid-template-columns:minmax(0,1fr);gap:2px;margin-top:8px;display:grid}.balance-included button{border:0;border-top:1px solid var(--line);width:100%;min-width:0;color:var(--ink);text-align:left;font:inherit;background:0 0;align-items:baseline;gap:12px;padding:8px 0;display:flex;overflow:hidden}.balance-included time{color:var(--muted);flex:none;font-size:12px}.balance-included button span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.balance-empty{justify-content:space-between;align-items:center;gap:14px;display:flex}.balance-empty p{color:var(--muted);margin:0;font-size:13px}@media (max-width:600px){.balance-empty{flex-direction:column;align-items:flex-start}.balance-empty .btn{width:100%}}.balance-grid{grid-template-columns:minmax(190px,.45fr) minmax(0,1fr);gap:14px;display:grid}.coverage-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:16px;padding:20px;display:flex}.coverage-card>svg{color:var(--brand);flex:none}.coverage-card strong{font:42px/1 var(--serif);display:block}.coverage-card h3{font:600 14px/1.25 var(--sans);margin:5px 0 0}.balance-grid .nutrition-card{background:var(--white);flex-direction:column;justify-content:center;padding:20px;display:flex}.balance-grid .nutrition-strip{margin:14px 0 0}.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 0;display:grid}.recommendation-grid .pattern-card{padding:14px 18px}.recommendation-grid .pattern-card h3{font:600 13px/1.25 var(--sans);gap:4px;margin:0;display:grid}.recommendation-grid .pattern-card strong{font:30px/1 var(--serif)}.journal-editor{grid-template-columns:1fr 1.4fr;gap:30px;display:grid}.journal-upload{min-height:255px;margin:15px 0 10px}.journal-upload.has-photo{background:var(--paper);padding:0}.journal-upload img{object-fit:cover;width:100%;height:280px}.photo-caption{color:var(--muted);text-align:center;font-size:10px}.rating-input{gap:4px;display:flex}.rating-input button{color:var(--terra);padding:4px}.stock-review-row{justify-content:space-between;align-items:center;gap:15px;padding:10px 0;font-size:12px;display:flex}.stock-review-row select{min-height:35px;font-size:11px}.journal-entry-form .journal-editor{gap:24px}.journal-entry-form .journal-upload{margin:0 0 12px}.journal-entry-form .field{margin:10px 0}.journal-entry-form .meal-story{margin:0 0 13px;padding:16px}.journal-entry-form .meal-story textarea{min-height:140px}.journal-rating-row{justify-content:space-between;align-items:center;gap:8px;margin:10px 0 0;display:flex}.journal-rating-row>span{color:var(--muted);font-size:12px;font-weight:600}.journal-rating-row .rating-input{gap:1px;margin:0}.journal-rating-row .rating-input button{place-items:center;width:39px;min-height:44px;padding:4px;display:grid}.journal-rating-row .rating-input button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius)}.journal-entry-form .inline-check{margin:10px 0 0}.journal-estimate-controls{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.journal-estimate-controls summary{color:var(--brand);cursor:pointer;font-size:13px;font-weight:600}.journal-estimate-controls>.btn{margin:14px 0 4px}.day-toggles{flex-wrap:wrap;gap:5px;display:flex}.settings-section{border-top:1px solid var(--line);margin-top:27px;padding-top:25px}.settings-section h3{margin-bottom:13px;font-size:24px}.settings-section .btn{margin:15px 8px 0 0;font-size:11px}.file-button{cursor:pointer;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.restore-confirm{flex-direction:column;align-items:flex-start}.loading-screen{text-align:center;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.brand-mark{border-radius:var(--radius);background:var(--green);color:var(--paper);margin-bottom:5px;padding:21px}.loading-screen h1{font-size:46px}.loading-screen p{font-size:13px}.loading-dots{gap:7px;margin-top:12px;display:flex}.loading-dots i{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.4s infinite pulse}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}.setup-page{max-width:600px;margin:10vh auto;padding:30px}.setup-page h1,.setup-page>p{margin:20px 0}.setup-page label{flex-direction:column;gap:10px;margin:28px 0;display:flex}.setup-page a{font-size:13px}.mobile-nav,.mobile-brand,.mobile-only{display:none}@keyframes pulse{50%{opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1650px){.content{padding:50px 55px 0}.topbar{padding:18px 55px 0}.week-grid{gap:17px}.planned-meal{padding:20px 16px}.plan-dish h3{font-size:23px}.plan-dish.component h3{font-size:18px}}@media (max-width:1250px){.sidebar{width:200px;padding-left:18px;padding-right:18px}.brand>span{font-size:22px}.brand img{width:34px;height:34px}.main-wrap{margin-left:200px}.content{padding:32px 26px 0}.topbar{padding:18px 26px 0}.pantry-summary{grid-template-columns:1fr 100px 100px 110px}.summary-intro{gap:12px;padding:23px 20px}.summary-intro strong{font-size:21px}.summary-intro p{font-size:10px}.brand-sprig{font-size:45px}.pantry-summary>button{padding:0 17px}.inventory-head,.inventory-row{grid-template-columns:minmax(210px,1fr) 115px 105px 32px;gap:12px;padding-left:16px;padding-right:16px}.recipe-grid{gap:17px}.recipe-body{padding:18px 16px}.title-button h3{font-size:22px}.recipe-art{height:185px}.shopping-layout{grid-template-columns:1fr 250px;gap:20px}.paper-card{padding:21px}.quick-add select{width:120px}.studio-copy{padding:28px}.prompt-panel{padding:26px}.studio-copy h2{font-size:33px}.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.day-card{min-height:350px}.planned-meal,.blank-day{min-height:230px}.night-out{padding-top:55px}.day-card:nth-child(n+5){min-height:320px}.day-header strong{font-size:30px}.plan-dish h3{font-size:23px}.plan-dish.component h3{font-size:18px}.day-actions button{font-size:10px}.photo-grid{grid-template-columns:repeat(3,1fr)}.inventory-grid{grid-template-columns:repeat(2,1fr)}.toast{left:calc(50% + 100px)}}@media (max-width:1000px){.sidebar{width:175px;padding:28px 13px 18px}.brand{gap:7px}.brand>span{font-size:20px}.brand>span>span{font-size:6px}.brand img{width:31px;height:31px}.main-wrap{margin-left:175px}.sidebar nav button,.sidebar-link{gap:10px;padding:11px 9px;font-size:12px}.sidebar-link small{font-size:8px}.content{padding:30px 23px 0}.topbar{height:64px;padding:14px 23px 0}.topbar-actions{gap:10px}.page-heading h1{font-size:38px}.page-heading .btn{padding:9px 12px;font-size:11px}.pantry-summary{grid-template-columns:1fr repeat(3,1fr)}.summary-intro{border-bottom:1px solid var(--line);grid-column:1/-1;padding:18px 23px}.summary-intro p{font-size:11px}.summary-intro strong{font-size:23px}.brand-sprig{font-size:40px}.pantry-summary>button{margin:15px 0;padding:0 23px}.pantry-summary>button:nth-child(2){border-left:0}.pantry-summary>button strong{font-size:26px}.inventory-head,.inventory-row{grid-template-columns:minmax(200px,1fr) 95px 33px;gap:8px;padding:13px 14px}.inventory-head>span:nth-child(2),.inventory-row>.location-label{display:none}.stock-select{width:91px}.item-thumb{flex-basis:43px;width:43px;height:43px}.item-main{gap:11px}.item-main strong{font-size:11px}.item-main span{font-size:9px}.filter-row{gap:10px}.select-filters{flex-wrap:wrap}.select-filters select{font-size:10px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idea-studio{grid-template-columns:1fr}.studio-copy{min-height:225px;padding:28px 30px}.studio-copy h2{margin:12px 0;font-size:34px}.studio-copy p{max-width:340px}.studio-decor{bottom:-120px;right:-25px}.prompt-panel{border-left:0;border-top:1px solid var(--line);padding:26px 30px}.shopping-layout{grid-template-columns:1fr}.shop-aside{grid-template-columns:1fr 1fr;gap:18px;display:grid}.shop-aside>.footnote{grid-column:1/-1;margin:0}.shop-aside .paper-card{padding:20px}.shop-aside h2{font-size:26px}.shop-aside .paper-card .eyebrow{font-size:8px}.quick-add select{width:155px}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-toolbar{gap:15px}.week-nav h2{font-size:23px}.plan-summary p{text-align:left;flex-basis:100%}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-grid{grid-template-columns:1fr}.recommendation-grid{gap:12px}.recommendation-grid .paper-card{padding:19px}.recommendation-grid h3{font-size:22px}.recommendation-grid p{font-size:11px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leftovers-banner{flex-direction:column;align-items:flex-start}.toast{left:calc(50% + 87px)}}@media (max-width:760px){body{font-size:14px}.sidebar{display:none}.main-wrap{margin-left:0}.topbar{z-index:30;background:var(--paper);justify-content:space-between;height:68px;padding:0 19px;position:sticky;top:0}.mobile-brand{font-family:var(--serif);white-space:nowrap;align-items:center;gap:9px;padding:0;font-size:21px;display:flex}.mobile-brand img{border-radius:var(--radius)}.topbar-actions{gap:3px}.topbar-actions .btn.compact{width:32px;height:32px;min-height:32px;margin-left:5px;padding:6px}.topbar-actions .btn.compact>span{display:none}.topbar-actions .icon-btn{width:31px;height:34px}.mobile-only{display:inline-flex}.desktop-only{display:none!important}.content{padding:30px 20px calc(88px + env(safe-area-inset-bottom));min-height:calc(100dvh - 68px)}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:15px;margin-bottom:26px}.page-heading .eyebrow{letter-spacing:1.7px;margin-bottom:11px;font-size:8px}.page-heading h1{letter-spacing:-.7px;font-size:36px}.page-heading p{margin-top:12px;font-size:12px;line-height:1.6}.page-heading>.btn{min-height:39px;margin-top:2px;font-size:11px}.pantry-summary{grid-template-columns:repeat(3,1fr);margin:2px 0 24px}.summary-intro{gap:13px;padding:19px}.summary-intro strong{font-size:23px}.summary-intro p{font-size:9px}.pantry-summary>button{margin:14px 0;padding:0 17px}.pantry-summary>button strong{font-size:29px}.pantry-summary>button>span{gap:4px;font-size:9px}.toolbar{gap:9px;margin:20px 0 15px}.toolbar>.btn{gap:6px;min-height:42px;padding:9px 10px;font-size:10px}.toolbar>.btn>svg{width:16px}.search{gap:7px;padding:0 11px}.search input{min-width:0;padding:11px 0;font-size:11px}.search>svg{flex-shrink:0;width:16px}.filter-row{gap:12px;margin-bottom:20px}.chips{gap:4px}.chip{min-height:31px;padding:5px 9px;font-size:10px}.select-filters{border-top:1px solid var(--line);justify-content:space-between;gap:6px;width:100%;padding-top:10px}.select-filters select{max-width:120px;min-height:31px;font-size:9px}.select-filters>svg{width:14px}.inventory-list{border-radius:var(--radius)}.inventory-head{display:none}.inventory-row{grid-template-columns:minmax(0,1fr) 82px 28px;gap:5px;min-height:87px;padding:14px 10px}.inventory-row:first-child{border-top:0}.item-main{gap:9px}.item-thumb{border-radius:var(--radius);flex-basis:40px;width:40px;height:44px}.item-main strong{font-size:11px;line-height:1.4}.item-main span{margin-top:3px;font-size:8px;line-height:1.5}.item-main .review-note{font-size:8px}.stock-select{width:77px;min-height:29px;padding:3px 5px;font-size:9px}.inventory-row>.add-shop{width:28px;height:35px}.add-shop svg{width:17px}.section-label{margin:20px 0 10px;font-size:8px}.section-label>span+span{font-size:9px}.footnote{align-items:flex-start;margin:16px 0 25px;font-size:9px;line-height:1.7}.footnote>.tiny-dot{width:4px;height:4px;margin-top:5px}.mobile-nav{z-index:50;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:9px 8px calc(9px + env(safe-area-inset-bottom));background:#fff0e2f5;justify-content:space-around;align-items:center;min-height:65px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-width:56px;color:var(--muted);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:5px 12px;font-size:9px;display:flex}.mobile-nav button.active{color:var(--brand);background:var(--paper)}.toast{width:max-content;max-width:calc(100vw - 28px);padding:12px 16px;font-size:11px;bottom:88px;left:50%}.offline-bar{padding:10px 20px;font-size:10px}.error-banner{padding:10px 20px;font-size:12px}.modal-shade{align-items:flex-end;padding:12px}.modal{width:100%;max-height:92dvh;margin-bottom:env(safe-area-inset-bottom);border-radius:15px 15px 10px 10px;padding:22px}.modal-top{gap:12px;margin-bottom:18px}.modal-top h2{font-size:28px}.modal-top .icon-btn{margin-right:-5px}.field>span{font-size:11px}.field input,.field select,.field textarea{font-size:16px}.field>small{font-size:10px}.form-grid{gap:0 12px}.field{margin:12px 0}.modal-actions{gap:8px;margin-top:20px}.modal-actions .btn{white-space:normal;padding:10px 12px;font-size:12px}.advanced{margin-top:20px}.advanced summary{font-size:11px;line-height:1.8}.btn{min-height:43px}.empty{padding:46px 20px}.empty h3{font-size:29px}.empty p{font-size:12px}.segmented{margin-bottom:23px;display:flex}.segmented button{flex:1;padding:9px 8px;font-size:11px}.photo-grid{gap:13px}.photo-card>img{height:125px}.photo-card>div{padding:13px}.photo-card h3{font-size:19px}.photo-card .eyebrow,.photo-card .badge{font-size:8px}.photo-card:hover{transform:none}.quick-add{gap:6px;padding:9px}.quick-add>input:first-child{min-width:150px;font-size:16px}.quick-add .quantity-input{width:90px;font-size:14px}.quick-add select{width:calc(100% - 52px);font-size:12px}.quick-add .btn{width:44px}.shopping-layout{gap:20px}.shopping-groups{padding:0 18px}.shopping-group{padding-top:23px}.shopping-group h3{font-size:9px}.shopping-text strong{font-size:13px}.shopping-row{padding:16px 0}.shop-aside{grid-template-columns:1fr;gap:15px}.shop-aside .paper-card{padding:23px}.shop-aside .paper-card .eyebrow{font-size:9px}.shop-aside h2{font-size:29px}.suggest-action strong{font-size:13px}.suggest-action small{font-size:11px}.suggest-action{padding:18px 0}.shop-aside .paper-card .btn{font-size:12px}.import-layout{grid-template-columns:1fr}.receipt-image{width:100%;height:180px;position:static}.import-line .field input,.import-line .field select{font-size:14px}.sticky-actions{bottom:-22px}.idea-studio{margin-bottom:33px}.studio-copy{min-height:234px;padding:25px}.studio-copy h2{margin:15px 0;font-size:34px}.studio-copy .eyebrow{font-size:8px}.studio-copy p{max-width:260px;font-size:11px}.studio-decor{bottom:-143px;right:-56px}.prompt-panel{padding:24px}.prompt-panel>label{font-size:12px}.prompt-input textarea{min-height:135px;font-size:16px}.prompt-panel .field>span{font-size:10px}.prompt-panel select{padding:9px 7px;font-size:12px}.section-heading{align-items:flex-start;margin:28px 0 20px}.section-heading .eyebrow{font-size:8px}.section-heading h2{font-size:28px;line-height:1.15}.section-heading>.subtle{white-space:nowrap;padding-top:26px;font-size:10px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.recipe-art{height:162px}.recipe-type{letter-spacing:.5px;max-width:100%;font-size:6px;top:12px;left:12px}.plate{width:103px;height:103px;margin-top:8px;box-shadow:4px 6px 9px #29252420,inset 0 0 0 7px #fff0e24f}.plate-inner{width:82px;height:82px}.plate-inner>svg{width:39px;height:39px}.garnish{width:20px;height:7px;bottom:14px;right:15px}.garnish.two{bottom:20px;right:10px}.garnish.three{bottom:11px;right:27px}.art-caption{letter-spacing:.8px;font-size:4px;bottom:11px;left:10px}.art-arrow{width:14px;bottom:9px;right:8px}.recipe-body{padding:15px 12px}.recipe-meta{gap:8px;font-size:8px}.recipe-meta>span>svg{width:11px}.title-button{margin:10px 0 8px}.title-button h3{font-size:21px;line-height:1.15}.recipe-body>p{min-height:65px;font-size:10px;line-height:1.6}.recipe-bottom{align-items:center;gap:0;min-height:39px;margin-top:12px;padding-top:10px}.availability,.availability small{font-size:8px}.recipe-bottom .icon-btn{width:25px;height:30px}.recipe-bottom .icon-btn svg{width:16px}.recipe-bottom .btn{white-space:normal;gap:3px;min-height:29px;padding:5px;font-size:8px}.recipe-card:hover{transform:none}.recipe-detail-columns{grid-template-columns:1fr;gap:23px;margin:24px 0}.recipe-detail-intro .lead{font-size:15px}.recipe-detail-intro .recipe-meta{font-size:11px}.nutrition-card{padding:20px 15px}.nutrition-card h3{font-size:22px}.nutrition-card .flex-between{flex-wrap:wrap;align-items:flex-start}.nutrition-strip{gap:4px;margin:22px 0}.nutrition-strip strong{font-size:27px}.nutrition-strip strong small{font-size:9px}.nutrition-strip span{letter-spacing:.2px;font-size:7px}.inline-plan{grid-template-columns:1fr 80px;display:grid}.inline-plan>.btn{grid-column:1/-1}.inline-plan .field{max-width:none!important}.ingredients strong{font-size:13px}.ingredients small{font-size:12px}.ingredient-state{font-size:10px}.steps p{font-size:14px}.steps li{gap:13px}.week-toolbar{gap:17px;margin-top:28px}.week-nav{flex-wrap:wrap;gap:6px}.week-nav h2{font-size:23px}.week-nav .icon-btn{width:27px}.week-nav .text-btn{margin-left:3px;font-size:10px}.week-toolbar>.btn{width:100%;font-size:11px}.plan-summary{gap:13px;margin:18px 0 24px}.plan-summary>span{font-size:9px}.plan-summary>span strong{font-size:14px}.plan-summary p{font-size:10px;line-height:1.7}.week-grid{grid-template-columns:1fr;gap:14px}.day-card{border-radius:var(--radius);grid-template-columns:73px 1fr;min-height:0;display:grid;position:relative}.day-header{border-right:1px solid var(--line);text-align:center;border-bottom:0;flex-direction:column;grid-row:1/3;justify-content:flex-start;align-items:center;gap:16px;padding:20px 10px}.day-header span{font-size:9px}.day-header strong{margin-top:9px;font-size:31px}.day-header small{font-size:9px}.day-header .icon-btn{width:30px;min-height:35px}.planned-meal{cursor:auto;min-height:0;padding:20px}.meal-symbol{display:none}.plan-dish{margin:0 0 15px}.plan-dish>span{font-size:8px}.plan-dish h3{margin-top:5px;font-size:25px;line-height:1.15}.plan-dish.component{margin-bottom:0;padding-top:12px}.plan-dish.component h3{font-size:19px}.plan-meta{margin:18px 0 8px;font-size:10px}.planned-meal .text-btn{font-size:11px}.day-actions{grid-column:2;padding:12px 18px}.day-actions button{padding:4px;font-size:11px}.blank-day{text-align:left;flex-direction:row;gap:15px;min-height:150px;padding:30px}.blank-day span{font-size:11px}.night-out{text-align:left;grid-template-columns:30px 1fr;gap:5px 14px;padding:25px 20px;display:grid}.night-out>svg{grid-row:1/3;width:25px;height:25px}.night-out h3{margin:0;font-size:24px}.night-out p{grid-column:2;font-size:11px}.night-out small{grid-column:2}.day-card:nth-child(n+5){min-height:0}.night-out .btn{grid-column:2;margin-top:12px;font-size:10px}.plan-note{align-items:flex-start;gap:14px;padding:18px}.plan-note strong{font-size:11px}.plan-note p{font-size:10px;line-height:1.7}.plan-note>svg{width:20px;margin-top:2px}.journal-grid{grid-template-columns:1fr;gap:23px}.journal-photo{height:260px}.journal-copy{padding:20px}.journal-copy h3{font-size:24px}.journal-copy>p{font-size:12px}.journal-card:hover{transform:none}.journal-search{padding:12px;font-size:12px}.toolbar>.subtle{display:none}.journal-editor{grid-template-columns:1fr;gap:20px}.journal-upload{min-height:220px}.journal-upload img{height:250px}.journal-entry-form .meal-story{padding:14px}.rating-input button{padding:7px}.leftovers-banner{gap:17px;padding:20px}.leftovers-banner .eyebrow{font-size:8px}.leftovers-banner h3{font-size:25px}.leftover-batches .btn{font-size:11px}.balance-top{flex-wrap:wrap;gap:10px}.balance-top h2{font-size:clamp(23px,7vw,28px)}.balance-grid{gap:12px}.coverage-card{padding:16px}.balance-grid .nutrition-card{padding:18px 14px}.balance-grid .eyebrow{font-size:9px}.recommendation-grid{gap:10px}.recommendation-grid .pattern-card{padding:14px}.balance-top select{font-size:13px}.settings-section .btn{white-space:normal;font-size:12px}.add-options>button{gap:13px;padding:20px 15px}.add-options strong{font-size:13px}.add-options small{font-size:10px}.inventory-grid{grid-template-columns:1fr}.inventory-grid .inventory-row{padding:20px}.inventory-grid .location-label{display:block}.setup-page{margin:4vh auto;padding:28px}.setup-page h1{font-size:41px}}@media (max-width:380px){.content{padding-left:15px;padding-right:15px}.topbar{padding:0 14px}.mobile-brand{gap:6px;font-size:19px}.mobile-brand img{width:25px;height:25px}.topbar-actions .icon-btn{width:28px}.page-heading h1{font-size:32px}.recipe-grid{grid-template-columns:1fr}.recipe-art{height:195px}.recipe-body{padding:20px}.recipe-body h3{font-size:26px}.recipe-body>p{min-height:0;font-size:12px}.recipe-meta,.availability{font-size:10px}.recipe-type{font-size:8px}.plate{width:130px;height:130px}.plate-inner{width:105px;height:105px}.select-filters select{max-width:102px}.item-thumb{flex-basis:33px;width:33px;height:40px}.item-main strong{font-size:10px}.mobile-nav button{padding:5px 9px}.form-grid,.import-line .form-grid{grid-template-columns:1fr}.photo-grid{gap:10px}.photo-card h3{font-size:17px}.modal{padding:19px}.pantry-summary>button{padding:0 12px}.summary-intro p{font-size:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.item-main span,.location-label,.recipe-body>p,.shopping-text>span,.footnote,.small-muted,.recipe-meta,.photo-caption,.plan-meta,.section-label,.eyebrow{color:var(--muted)}.availability{color:var(--terra)}.availability.good,.ingredient-state{color:var(--muted)}.ingredient-state.check,.ingredient-state.missing{color:var(--terra)}.sidebar nav button,.sidebar-link,.stock-unknown{color:var(--muted)}.recipe-type{color:var(--brand)}.select-filters select{color:var(--muted)}.item-main strong{font-size:13px}.item-main span{font-size:11px}@media (max-width:760px){.stock-select,.add-shop{min-height:40px}.item-main strong{font-size:12px}.item-main span{font-size:9px}.recipe-body>p{font-size:11px}.recipe-meta,.availability,.availability small{font-size:9px}.day-actions button{min-height:36px}.mobile-nav button{min-height:44px}.week-nav{grid-template-columns:28px minmax(0,1fr) 28px;gap:7px;width:100%;display:grid}.week-nav h2{text-align:center;font-size:22px}.week-nav .text-btn{grid-column:2;justify-self:center;margin:0}.week-nav .icon-btn{width:28px;height:40px}}.inventory-grid .inventory-row{border-radius:var(--radius);align-content:start;gap:12px;padding:0 0 16px;overflow:hidden}.inventory-grid .item-main{flex-direction:column;align-items:stretch;gap:0;width:100%;display:flex}.inventory-grid .item-thumb{background:var(--paper);border-radius:0;flex:auto;width:100%;height:185px}.inventory-grid .item-main>div{min-height:70px;padding:15px 17px 0}.inventory-grid .item-main strong{font-size:16px;font-family:var(--font-serif);font-weight:400;line-height:1.2}.inventory-grid .location-label{margin:0 17px;font-size:11px}.inventory-grid .stock-select{margin-left:17px}.inventory-grid .add-shop{margin-right:13px}.inventory-grid .item-thumb img{transition:transform .3s}.inventory-grid .item-main:hover img{transform:scale(1.035)}.recipe-art.has-photo .recipe-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.recipe-art.has-photo:after{content:"";background:linear-gradient(#29252438,#0000 35%,#29252463);position:absolute;inset:0}.recipe-art.has-photo .recipe-type,.recipe-art.has-photo .art-caption,.recipe-art.has-photo .art-arrow{z-index:1;color:var(--white);text-shadow:0 1px 3px #29252488}.recipe-art.has-photo .recipe-type{background:#292524a8;border-radius:4px;max-width:88%;padding:6px 8px}.reference-detail{border-radius:var(--radius);background:var(--paper);margin:0 0 18px;overflow:hidden}.reference-detail>img,.reference-detail>.image-fallback{object-fit:cover;width:100%;height:280px;display:block}.dish-reference>img{height:340px}.full-plate-detail>img{object-fit:contain;background:var(--paper);height:auto;max-height:72vh}.image-credit{color:var(--brand);overflow-wrap:anywhere;padding:10px 13px;font-size:10px;line-height:1.55}.image-credit a{text-underline-offset:2px;text-decoration:underline}.image-credit>span:first-child{font-weight:600}.image-change{margin-bottom:18px}.manual-item-fields .field{margin:12px 0}.manual-item-take-photo{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:inline-flex}.manual-item-take-photo:hover{text-underline-offset:3px;text-decoration:underline}.original-photo{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 20px;padding:12px}.original-photo summary{cursor:pointer;color:var(--olive);font-size:12px}.original-photo img{object-fit:contain;background:var(--paper);max-height:350px;margin:12px 0 0}.identity-review{gap:16px;display:grid}.identity-photo{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);justify-self:center;width:100%;min-height:180px;max-height:340px;position:relative;overflow:hidden}.identity-photo img{max-width:none;height:auto;position:absolute}.identity-photo .identity-whole-photo{object-fit:contain;width:100%;height:100%;max-height:340px;display:block;position:relative}.identity-photo-toggle{color:var(--brand);cursor:pointer;background:0 0;border:0;justify-self:start;text-decoration:underline}.identity-review>.photo-object-viewer{justify-self:center}.identity-known{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.identity-known span{color:var(--muted);font-size:13px}.identity-known strong{overflow-wrap:anywhere;font-size:18px}.identity-known button{color:var(--brand);cursor:pointer;background:0 0;border:0;margin-left:auto;text-decoration:underline}.identity-label-input,.identity-answer input{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;font:inherit;padding:14px}.identity-answer{gap:8px;font-weight:700;display:grid}.identity-hint,.identity-help{color:var(--muted);margin:0;font-size:14px}.identity-review .modal-actions{margin-top:4px}.image-fallback{background:var(--paper);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:11px;display:flex}.image-search-bar{align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.image-search-bar .field{flex:1;margin-bottom:0}.image-search-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.image-search-result{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}.image-search-result>img,.image-search-result>.image-fallback{object-fit:cover;width:100%;height:170px}.image-search-result>div{padding:12px}.image-search-result strong{overflow-wrap:anywhere;font-size:12px;line-height:1.5;display:block}.image-search-result .image-credit{padding:8px 0}.image-search-result .btn{width:100%;margin-top:12px;padding:9px;font-size:12px}.image-search-result .text-btn{align-items:center;gap:5px;font-size:10px;display:flex}.meal-symbol:has(.plan-photo){border-radius:var(--radius);height:125px;margin-bottom:13px;display:block;position:relative;overflow:hidden}.meal-symbol .plan-photo{object-fit:cover;width:100%;height:100%}.meal-symbol:has(.plan-photo)>svg{color:var(--white);position:absolute;top:8px;right:8px}@media (max-width:1000px){.inventory-grid,.image-search-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.inventory-grid{gap:12px}.inventory-grid .item-thumb{height:140px}.inventory-grid .item-main>div{padding:12px 12px 0}.inventory-grid .item-main strong{font-size:16px}.inventory-grid .location-label{margin:0 12px}.inventory-grid .stock-select{max-width:90px;margin-left:12px}.inventory-grid .add-shop{margin-right:8px}.image-search-bar{flex-direction:column;align-items:stretch}.reference-detail>img,.dish-reference>img{height:240px}.image-search-results{grid-template-columns:1fr 1fr;gap:10px}.image-search-result>img{height:130px}}.generation-progress{background:linear-gradient(155deg,var(--white),#fff0db);border:1px solid #e3c5a5;border-radius:10px;margin-top:16px;padding:20px;box-shadow:0 10px 24px #15678d10}.generation-progress strong{margin-top:12px;display:block}.generation-progress p{color:var(--muted);margin:8px 0;font-size:12px}.progress-track{background:#ebd9c2;border-radius:100px;height:6px;overflow:hidden}.progress-track span{background:var(--sunset-gradient);border-radius:100px;width:35%;height:100%;animation:1.6s ease-in-out infinite pantry-progress;display:block}.generation-success{color:var(--success);font-size:14px}@keyframes pantry-progress{0%{transform:translate(-100%)}to{transform:translate(390%)}}@media (prefers-reduced-motion:reduce){.progress-track span{opacity:.6;width:100%;animation:none}}.remix-results{gap:16px;margin-top:28px;display:grid}.remix-results h3{margin:0}.remix-result{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.remix-result h4{color:var(--ink);margin:8px 0;font-family:Georgia,serif;font-size:1.45rem}.remix-result p{color:var(--muted);margin:0 0 14px}.remix-result .modal-actions{margin-top:14px}@media (min-width:601px){.inventory-list .inventory-row,.inventory-list .inventory-head{grid-template-columns:minmax(160px,1fr) 110px 40px}.inventory-head>span:nth-child(2){display:block}}.inventory-list .inventory-row,.inventory-list .inventory-head{grid-template-columns:minmax(0,1fr) auto}.inventory-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.inventory-actions .btn{white-space:nowrap;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;display:inline-flex}.inventory-actions>span{color:var(--ink);font-size:12px;font-weight:700}.inventory-more{border-top:1px solid var(--paper);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 16px 28px;display:flex}.inventory-more p{margin:0;font-size:12px}.inventory-more .btn{min-height:42px;padding:9px 18px}.pantry-items-count{font-variant-numeric:tabular-nums;opacity:.72;font-size:11px;font-weight:600}.inventory-delete-button{color:var(--terra)}.inventory-grid .inventory-row{grid-template-columns:minmax(0,1fr)}.inventory-grid .inventory-actions{grid-column:1/-1;justify-content:flex-start;padding:0 13px}.pantry-add-hub{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px;display:flex}.pantry-add-hub h1{font:normal clamp(30px,3vw,42px)/1.12 var(--font-serif);color:var(--ink);margin:0 0 6px}.pantry-add-hub p{color:var(--muted);margin:0;font-size:13px}.pantry-add-options{flex-wrap:wrap;gap:10px;display:flex}.pantry-add-options .btn{align-items:center;gap:8px;min-height:48px;display:inline-flex}.pantry-review-count{background:var(--terra);color:#fff;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-grid}.inventory-use-soon.active{background:var(--olive);color:var(--green);border-color:var(--green)}.inventory-list .inventory-delete-button{width:40px;min-width:40px;color:var(--terra);justify-content:center;padding:0}.inventory-list .inventory-delete-button svg{flex:none}.inventory-list .inventory-use-soon{gap:6px}.filter-row{flex-wrap:nowrap}.filter-row .chips{scrollbar-width:none;flex-wrap:nowrap;min-width:0;overflow-x:auto}.filter-row .chips::-webkit-scrollbar{display:none}.filter-row .chips .chip{white-space:nowrap;flex:none}.filter-row .select-filters{border:0;flex:none;width:auto;min-width:0;padding:0}.filter-row .select-filters .pretty-select{width:auto;max-width:160px}.filter-row .select-filters .pretty-select-options{left:auto;right:0}.filter-row .select-filters .pretty-select-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:600px){.filter-row{gap:7px}.filter-row .select-filters{border:0;width:auto;padding:0}.filter-row .chips{gap:3px}.filter-row .chips .chip{padding:5px 6px}.filter-row .select-filters .pretty-select{max-width:118px}.filter-row .select-filters .pretty-select-trigger{min-height:36px;padding:5px 6px;font-size:10px}.filter-row .select-filters .pretty-select-trigger svg{width:13px}.inventory-list .inventory-delete-button{min-height:40px}}.pantry-filters{gap:8px;min-height:44px}.pantry-filters .select-filters{align-items:center;gap:5px;display:flex}.pantry-select-toggle,.pantry-select-delete,.inventory-select-control{width:44px;height:44px;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.search .pantry-select-toggle{margin-right:-5px}.pantry-select-toggle:hover,.inventory-select-control:hover{background:var(--olive)}.pantry-select-toggle:focus-visible,.pantry-select-delete:focus-visible,.inventory-select-control:focus-visible,.pantry-select-all:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pantry-select-toggle:disabled,.pantry-select-delete:disabled,.pantry-select-all:disabled{opacity:.4;cursor:default}.pantry-selection-tools{align-items:center;gap:8px;width:100%;min-height:44px;display:flex}.pantry-selection-tools strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.pantry-select-all{min-height:44px;color:var(--brand);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 10px;font-size:12px;font-weight:600}.pantry-select-delete{color:var(--terra)}.pantry-select-delete:hover:not(:disabled){background:#f8e4dc}.inventory-row.is-selected{background:#eaf0e5}.inventory-select-control{color:var(--muted)}.inventory-select-control[aria-checked=true]{color:var(--brand)}.pantry-correction-undo.pantry-deletion-undo{gap:12px}.pantry-deletion-undo button:disabled{opacity:.45;cursor:default}.pantry-deletion-undo .pantry-undo-dismiss{width:36px;color:var(--muted);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.pantry-correction-undo.pantry-deletion-error{white-space:normal;border-radius:18px;line-height:1.4}@media (max-width:600px){.pantry-filters .select-filters .pretty-select{max-width:104px}.pantry-selection-tools{gap:4px}.pantry-selection-tools strong{font-size:12px}.pantry-add-hub{gap:17px}.pantry-add-options{width:100%}.pantry-add-options .btn{flex:100%;justify-content:center}}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.meal-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}.meal-cover{text-align:left;background:var(--paper);width:100%;height:280px;padding:0;display:block;position:relative}.meal-cover>img{object-fit:cover;width:100%;height:100%}.meal-cover-label{color:#fff;border-radius:var(--radius);letter-spacing:1px;background:#292524cf;padding:8px 11px;font-size:10px;position:absolute;top:18px;left:18px}.meal-cover>svg{color:#fff;position:absolute;bottom:18px;right:18px}.meal-placeholder{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.meal-placeholder span{font-size:12px}.meal-card-body{padding:25px}.meal-card-body h3{font-family:var(--serif);margin:12px 0;font-size:28px;line-height:1.2}.meal-card-body p{color:var(--muted);font-size:14px;line-height:1.65}.meal-contents{gap:12px;margin:18px 0;display:grid}.meal-contents>div{grid-template-columns:75px 1fr;gap:12px;display:grid}.meal-contents small{color:var(--muted);text-transform:uppercase;letter-spacing:1px}.meal-contents span{font-size:13px}.generated-meal{margin:30px 0 50px}.generated-meal>.meal-card{max-width:920px}.meal-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.meal-slot{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.meal-slot h3{font-family:var(--serif);margin:12px 0 0;font-size:21px;line-height:1.25}.meal-slot p{color:var(--muted);font-size:12px}.meal-slot-open{text-align:left;padding:0}.meal-slot-open img,.meal-slot-empty{object-fit:cover;border-radius:var(--radius);width:100%;height:145px}.meal-slot-empty{background:var(--paper);place-items:center;display:grid}.meal-slot>.btn{margin-top:auto}.swap-dishes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.swap-dish{border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:var(--white);flex-direction:column;gap:9px;padding:18px;display:flex}.swap-dish span{color:var(--muted);font-size:12px}.meal-timeline{padding-left:23px;line-height:1.8}.meal-timeline li{margin-bottom:12px}.saved-search{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;padding:15px}.saved-filters{flex-wrap:wrap;justify-content:space-between;gap:14px;margin:20px 0 32px;display:flex}.saved-remove{margin:12px 0 25px}.made-label{color:var(--muted);margin:10px 0;font-size:11px}.plan-meal-summary{font-family:var(--serif);margin:0 0 18px;font-size:19px;line-height:1.3}.saved-filters .filter-chips{gap:6px;display:flex}.meal-slot .text-btn{text-align:left}.meal-slot .section-label{margin:0}.generated-meal .section-heading h2{font-family:var(--serif)}.plan-cook-actions{flex-direction:column;align-items:stretch;gap:10px;min-width:0;margin-top:12px;display:flex}.plan-cook-actions .btn{white-space:normal;text-align:center;width:100%;min-width:0;padding:9px 6px;font-size:11px;line-height:1.25}.plan-cook-actions .btn svg{flex:none}.plan-cook-actions .text-btn{white-space:normal;align-self:flex-start}.saved-toolbar{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin:14px 0 9px;display:flex}.saved-kind-tabs{scrollbar-width:none;gap:5px;min-width:0;display:flex;overflow-x:auto}.saved-kind-tabs::-webkit-scrollbar{display:none}.saved-kind-tabs .chip{border-color:var(--line);background:var(--white);min-height:44px;color:var(--brand);flex:none;padding:9px 16px;font-size:13px}.saved-kind-tabs .chip.active{background:var(--paper);border-color:var(--line);color:var(--brand)}.saved-filter-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-height:44px;color:var(--brand);flex:none;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;display:inline-flex}.saved-filter-toggle.active{background:var(--paper);border-color:var(--muted)}.saved-filter-count{background:var(--brand);color:#fff;border-radius:50%;place-items:center;min-width:19px;height:19px;padding:0 4px;font-size:10px;display:inline-grid}.saved-filter-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin:14px 0 16px;padding:20px}.saved-filter-heading{color:var(--brand);font-family:var(--serif);justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;font-size:22px;display:flex}.saved-filter-heading .icon-btn{place-items:center;width:32px;height:32px;display:grid}.saved-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 25px;display:grid}.saved-filter-row{min-width:0}.saved-filter-label{color:var(--muted);margin-bottom:7px;font-size:11px;font-weight:600;display:block}.saved-filter-options{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.saved-filter-options .chip{background:var(--white);border-color:var(--line);min-height:40px;padding:8px 12px;font-size:13px}.saved-filter-options .chip.active{background:var(--paper);border-color:var(--line);color:var(--brand)}.saved-more-tags{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);max-width:180px;min-height:40px;color:var(--muted);padding:7px 24px 7px 12px;font-size:13px}.saved-more-tags.active{background:var(--paper);border-color:var(--line);color:var(--brand);font-weight:600}.saved-filter-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:15px;display:flex}.saved-filter-footer .text-btn{font-size:12px}.saved-filter-footer .btn{min-width:150px}.saved-active-filters{flex-wrap:wrap;gap:6px;margin:12px 0 6px;display:flex}.saved-active-chip{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-height:36px;color:var(--brand);align-items:center;gap:7px;padding:7px 11px;font-size:12px;display:inline-flex}.saved-card-actions{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.saved-heart,.saved-trash{width:44px;height:44px;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.saved-trash{color:var(--muted)}.saved-heart:hover,.saved-trash:hover{background:var(--paper);color:var(--brand)}.saved-heart:focus-visible,.saved-trash:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.saved-recipes-view>h2{margin:26px 0 30px}.meal-card{flex-direction:column;display:flex}.meal-card-body{flex-direction:column;flex:1;display:flex}.saved-recipes-view .meal-grid{align-items:start}.meal-card-compact .meal-cover{height:210px}.meal-card-compact .meal-card-body{padding:18px}.meal-card-compact .title-button{text-align:left;width:100%}.meal-card-compact .meal-card-body h3{overflow-wrap:anywhere;margin:0;font-size:22px;line-height:1.3}.saved-recipes-view .meal-card-compact .meal-card-footer{border-top:0;margin-top:14px;padding-top:0}.meal-card-details{border-top:1px solid var(--line);margin-top:14px}.meal-card-details>summary{cursor:pointer;min-height:42px;color:var(--brand);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;list-style:none;display:flex}.meal-card-details>summary::-webkit-details-marker{display:none}.meal-card-details>summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}.meal-card-details[open]>summary>span{transform:rotate(180deg)}.meal-card-details>div>p:first-child{margin-top:4px}@media (max-width:600px){.meal-card-compact .meal-cover{height:180px}.meal-card-compact .meal-card-body{padding:16px}.meal-card-compact .meal-card-body h3{font-size:20px}}.meal-card-footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:auto;padding-top:18px;display:flex}.meal-main-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meal-main-actions .btn{min-height:44px;padding:10px 14px;font-size:13px}.saved-recipes-view .meal-card-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.saved-recipes-view .meal-main-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;display:grid}.saved-recipes-view .meal-main-actions .btn{white-space:nowrap;justify-content:center;min-width:0}.saved-recipes-view .meal-card-footer .saved-card-actions{gap:0;margin-left:0}.recipe-card-footer{align-items:center;gap:10px;margin-top:14px;display:flex}.recipe-card-footer .recipe-cook{white-space:normal;flex:1;width:auto;min-width:0;min-height:44px;margin:0;padding:10px;font-size:13px}.recipe-card-footer .recipe-cook svg{flex:none}.saved-results-count{color:var(--muted);margin:9px 0 19px;font-size:12px}@media (max-width:700px){.saved-filter-grid{grid-template-columns:1fr}.saved-filter-panel{padding:16px}.saved-filter-heading{font-size:20px}.saved-filter-footer .btn{min-width:0}.saved-results-count{margin-bottom:17px}.saved-recipes-view .recipe-grid{grid-template-columns:1fr}}@media (max-width:420px){.saved-kind-tabs .chip{padding:9px 12px}.saved-filter-toggle{padding:9px 11px}.saved-recipes-view .meal-main-actions .btn{gap:3px;padding:10px 5px;font-size:12px}.saved-recipes-view .meal-main-actions .btn svg{display:none}}@media (max-width:360px){.saved-recipes-view .meal-card-body{padding:14px}}@media (max-width:800px){.meal-grid,.meal-slot-grid{grid-template-columns:1fr}.meal-slot-open img{height:190px}.meal-cover{height:230px}.meal-card-body{padding:20px}.meal-card-body h3{font-size:25px}.swap-dishes{grid-template-columns:1fr}.mobile-nav{grid-template-columns:repeat(6,1fr)}.mobile-nav button{min-width:0;font-size:9px}.meal-contents>div{grid-template-columns:64px 1fr}}.kitchen-activity{z-index:1550;box-sizing:border-box;background:linear-gradient(125deg,var(--white),#fff0d8);border:1px solid #dbbb96;border-left:4px solid var(--brand);border-radius:10px;align-items:center;gap:12px;width:min(420px,100vw - 32px);padding:14px 17px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 15px 40px #60392130}.kitchen-activity strong{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.kitchen-activity-copy{flex:1;grid-template-rows:18px 62px 18px 26px;row-gap:2px;min-width:0;display:grid}.kitchen-activity-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.kitchen-activity-hide{color:var(--brand);font:700 12px var(--font-sans),sans-serif;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.kitchen-activity-count,.kitchen-activity-elapsed{color:var(--muted);font-size:12px;line-height:18px;display:block}.kitchen-activity-count{color:var(--brand);font-weight:700}.kitchen-activity-cancel{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;place-self:end start;padding:4px 0;font-size:12px;font-weight:700;text-decoration:underline;display:inline-flex}.kitchen-activity-mini{z-index:1550;background:var(--brand);max-width:calc(100vw - 32px);min-height:40px;color:var(--white);font:700 12px var(--font-sans),sans-serif;white-space:nowrap;cursor:pointer;border:1px solid #dbbb96;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 13px;display:inline-flex;position:fixed;bottom:84px;right:24px;box-shadow:0 8px 20px #29252430}.kitchen-activity-mini:hover{background:var(--ink)}.kitchen-activity-spinner{border:2px solid #ffffff70;border-top-color:var(--white);border-radius:50%;flex:none;width:15px;height:15px;animation:.9s linear infinite kitchen-activity-spin;display:block}@keyframes kitchen-activity-spin{to{transform:rotate(360deg)}}.kitchen-activity-hide:focus-visible,.kitchen-activity-mini:focus-visible,.kitchen-activity-cancel:focus-visible{outline:3px solid var(--terra);outline-offset:3px}body:has(.kitchen-activity) .companion-launcher{display:none}@media (max-width:600px){.kitchen-activity{gap:9px;padding:11px 13px;bottom:82px;right:16px}.kitchen-activity-mini{bottom:calc(140px + env(safe-area-inset-bottom));min-height:38px;padding:0 11px;right:16px}}@media (prefers-reduced-motion:reduce){.kitchen-activity-spinner{animation:none}}.recent-trigger{margin-top:10px}.recent-creations{gap:18px;padding:4px 0 18px;display:grid}.recent-creations>.small-muted{margin:0}.recent-run{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:18px}.recent-run-head,.recent-variation-head,.recent-dish{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.recent-run-head{padding-bottom:12px}.recent-run-head h3{overflow-wrap:anywhere;max-width:48ch;margin:5px 0 0;font-family:Georgia,serif;font-size:24px;line-height:1.2}.recent-run-head small,.recent-variation small,.recent-dish small{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:11px;display:block}.recent-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.recent-actions .btn{padding:8px 12px}.recent-variation{border-top:1px solid var(--line);padding:15px 0}.recent-variation-head strong{margin-top:4px;line-height:1.35;display:block}.recent-dishes{border-left:2px solid var(--line);margin:12px 0 0 12px;padding-left:14px}.recent-dish{border-top:1px solid var(--line);padding:8px 0}.recent-dish:first-child{border-top:0}.recent-dish-title{text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;line-height:1.35}.recent-standalone{border-top:1px solid var(--line);padding:13px 0}.explore-card-actions{align-items:center;gap:6px;display:flex}.explore-card-actions .icon-btn{min-width:36px;min-height:36px}@media (max-width:650px){.recent-run{padding:14px}.recent-run-head,.recent-variation-head{display:block}.recent-run-head .recent-actions,.recent-variation-head .recent-actions{margin-top:10px}.recent-run-head h3{font-size:20px}.recent-dish{align-items:center}.recent-dish-title{font-size:14px}.recent-actions{gap:7px}}body:has(.recent-creations) .companion-launcher{display:none}.cost-summary{color:var(--brand);white-space:nowrap;margin:12px 0;font-size:14px}.week-grid .cost-summary{font-size:12px}.cost-details{background:var(--paper);border-radius:var(--radius);margin:20px 0;padding:18px}.cost-details summary{cursor:pointer;font-weight:600}.cost-line{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding:10px 0;display:grid}.cost-line small{color:var(--muted);display:block}.price-history{margin-top:12px}.photo-pending{color:var(--muted);font-size:12px}.price-fields{padding:14px 0}.cost-details a{text-decoration:underline}.cost-dish+.cost-dish{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.cost-dish-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:10px 0 4px;display:flex}.cost-dish-heading h4{margin:0;font-family:Georgia,serif;font-size:19px;line-height:1.25}.cost-dish-heading strong{color:var(--brand);white-space:nowrap;font-size:14px}.cost-dish .cost-line:last-child{border-bottom:0}@media (max-width:600px){.cost-dish-heading{flex-direction:column;align-items:flex-start;gap:4px}.cost-line{min-width:0}.cost-line span{overflow-wrap:anywhere;min-width:0}}.meal-story{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 24px;padding:20px}.meal-story .field{margin-bottom:12px}.meal-story textarea{resize:vertical;background:var(--white);width:100%;min-height:190px;font-size:16px;line-height:1.6}.meal-story-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meal-story-actions .btn{align-items:center;gap:8px;display:inline-flex}.journal-card-ratings{color:var(--terra);align-items:center;display:flex}.journal-card-ratings .stars{gap:1px;display:inline-flex}@media (max-width:360px){.journal-entry-form .form-grid{grid-template-columns:1fr}}@media (max-width:600px){.meal-story{padding:15px}.meal-story-actions .btn{justify-content:center;width:100%}}.recipe-sharing{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin:18px 0 24px;padding:17px}.recipe-sharing-actions{flex-wrap:wrap;gap:9px;display:flex}.recipe-sharing-actions .btn{align-items:center;gap:8px;display:inline-flex}.recipe-sharing p{margin:12px 0 0}.recipe-image-progress{border-radius:var(--radius);color:var(--brand);background:#fff0dc;border:1px solid #e6c9a9;align-items:center;gap:12px;margin-top:12px;padding:12px 15px;font-size:13px;display:flex}@media (max-width:600px){.recipe-sharing-actions .btn{justify-content:center;width:100%}}.meal-cover.full-plate-cover{aspect-ratio:3/2;height:auto}.meal-cover.full-plate-cover>img{object-fit:contain}.pretty-select{vertical-align:middle;min-width:0;display:inline-block;position:relative}.pretty-select-trigger{border:1px solid var(--line,var(--line));border-radius:var(--radius);background:var(--white);width:100%;min-height:42px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:15px;padding:9px 13px;display:flex}.pretty-select-trigger:focus-visible,.pretty-select-options button:focus-visible{outline:2px solid var(--muted);outline-offset:2px}.pretty-select-trigger:disabled{opacity:.55;cursor:not-allowed}.pretty-select-options{z-index:100;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);min-width:max(100%,220px);max-width:min(420px,85vw);max-height:290px;padding:5px;position:absolute;top:calc(100% + 5px);left:0;overflow:auto;box-shadow:0 16px 36px #2925242b}.pretty-select-options button{text-align:left;border-radius:var(--radius);width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.pretty-select-options button:hover,.pretty-select-options button.active{background:var(--paper)}.pretty-select-options button:disabled{opacity:.5;cursor:not-allowed}.owner-login{background:var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.owner-login-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);width:min(100%,430px);padding:40px;box-shadow:0 20px 55px #29252412}.owner-login-card>img{margin-bottom:28px;display:block}.owner-login-card h1{font-family:var(--font-serif),Georgia,serif;color:var(--ink);margin:8px 0 14px;font-size:40px;line-height:1.1}.owner-login-card p{color:var(--muted);line-height:1.6}.owner-login-card form{gap:12px;margin-top:26px;display:grid}.owner-login-card label{color:var(--ink);font-weight:600}.owner-login-card input{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);width:100%;font:inherit;padding:13px 15px;font-size:16px}.owner-login-card form button{justify-content:center;margin-top:6px}.owner-login-error{color:var(--danger)!important}.owner-key-fallback{border-top:1px solid var(--line);color:var(--brand);margin-top:28px;padding-top:18px}.owner-key-fallback summary{cursor:pointer;font-size:13px;font-weight:600}.owner-key-fallback form{margin-top:12px}.owner-email-sent{background:var(--paper);border-radius:var(--radius);color:var(--brand);gap:10px;margin-top:23px;padding:20px;display:grid}.owner-email-sent strong{font-family:var(--font-serif),Georgia,serif;font-size:23px}.owner-email-sent p{margin:0}.field .pretty-select{width:100%}.select-filters .pretty-select-trigger{min-height:35px;padding:5px 9px;font-size:12px}.use-soon-option{color:var(--brand);align-items:center;gap:9px;margin:10px 0 18px;display:flex}.use-soon-option input{accent-color:var(--brand)}.shopping-share{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.shopping-share small{color:var(--muted);flex-basis:100%}.shopping-bulk,.shopping-clear-confirm{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.shopping-clear-confirm{background:var(--paper);border-radius:var(--radius);padding:12px}.shopping-note-input{min-width:180px}.shopping-edit-action{align-self:flex-start;font-size:.86em;padding:2px 0!important}.shared-shopping-page{background:var(--paper);min-height:100vh;color:var(--ink);padding:clamp(22px,6vw,70px);font-family:inherit}.shared-shopping-head,.shared-shopping-card,.shared-shopping-foot{max-width:700px;margin-inline:auto}.shared-shopping-head h1{margin:15px 0;font-size:clamp(38px,6vw,64px)}.shared-shopping-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin-top:28px;padding:clamp(20px,4vw,38px)}.shared-shopping-card h2{justify-content:space-between;display:flex}.shared-shopping-card h2 span{font-family:inherit;font-size:22px}.shared-shopping-row{border-top:1px solid var(--paper);align-items:flex-start;gap:15px;padding:17px 0;display:flex}.shared-shopping-row strong,.shared-shopping-row small{display:block}.shared-shopping-row small{color:var(--muted);margin-top:3px}.shared-shopping-row.done{opacity:.6}.shared-shopping-circle{border:1.5px solid var(--muted);border-radius:var(--radius);text-align:center;flex:none;width:21px;height:21px}.shared-shopping-foot{color:var(--muted);margin-top:16px}.shopping-row{gap:10px;padding:13px 0}.shopping-row .shopping-text{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.shopping-row .shopping-text strong,.shopping-row .shopping-text>span{overflow-wrap:anywhere;max-width:100%;margin:0;display:inline}.shopping-row .shopping-text details,.shopping-row .shopping-item-editor{flex-basis:100%;margin-top:2px}.shopping-item-editor{gap:8px;max-width:480px;display:grid}.shopping-item-editor input{width:100%;min-width:0;padding:9px 12px;font-size:13px}.shopping-item-editor-actions{align-items:center;gap:18px;display:flex}.shopping-row>.shopping-edit-action{width:35px;height:35px;color:var(--muted);align-self:center;padding:0!important}.shopping-row>.shopping-edit-action:hover{color:var(--brand)}.shopping-row>.shopping-delete-action{color:var(--terra)}.shop-page-heading{align-items:end;margin-bottom:24px}.shop-page-heading>div:first-child{min-width:0}.shop-heading-actions{flex:none;align-items:center;gap:10px;display:flex}.shopping-share{flex-wrap:nowrap}.shopping-share small{max-width:220px}.quick-add{grid-template-columns:minmax(0,1fr) minmax(190px,.48fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.quick-add>input:first-child,.quick-add .shopping-note-input{width:100%;min-width:0;min-height:44px}.quick-add .shopping-note-input{border-radius:var(--radius)}.quick-add .btn{justify-content:center;width:44px;height:44px}.shared-shopping-head,.shared-shopping-card,.shared-shopping-foot{max-width:760px}.shared-shopping-head h1{margin:10px 0}.shared-shopping-card{margin-top:24px}.shared-shopping-card h2{align-items:baseline;margin:0 0 12px}.shared-shopping-row{align-items:center;padding:14px 0}.shared-shopping-row.done{opacity:1;color:var(--muted)}.shared-shopping-row.done strong{text-decoration:line-through;text-decoration-thickness:1px}.shared-shopping-row.done .shared-shopping-circle{background:var(--brand);border-color:var(--brand);color:#fff}.shared-shopping-circle{place-items:center;transition:background-color .2s,color .2s,transform .2s;display:grid}.shared-shopping-circle:active{transform:scale(.9)}.shared-shopping-done{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}@media (max-width:800px){.shop-page-heading{align-items:flex-start}.shop-heading-actions{flex-wrap:wrap}}@media (max-width:600px){.shop-heading-actions{width:100%}.shop-heading-actions .btn{min-height:42px}.quick-add{grid-template-columns:minmax(0,1fr) auto}.quick-add>input:first-child{grid-column:1/-1}.quick-add .shopping-note-input{grid-column:1}.quick-add .btn{grid-column:2}}@media (prefers-reduced-motion:reduce){.shared-shopping-circle{transition:none}}.companion-launcher{z-index:1500;border-radius:var(--radius);background:var(--brand);min-height:50px;color:var(--white);font:600 14px var(--font-sans),sans-serif;cursor:pointer;border:0;align-items:center;gap:9px;padding:0 17px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #29252433}.companion-visible .companion-launcher{display:none}.companion-panel{z-index:1600;background:var(--white);width:min(410px,100vw);color:var(--ink);border-left:1px solid var(--line);font-family:var(--font-sans),sans-serif;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-20px 0 55px #29252426}.companion-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;display:flex}.companion-header>div:first-child{display:grid}.companion-kicker{color:var(--terra);letter-spacing:.12em;font-size:10px;font-weight:700}.companion-header strong{font-family:var(--font-serif),Georgia,serif;font-size:22px}.companion-header-actions{gap:3px;display:flex}.companion-header-actions button,.companion-history-row>button:last-child{border-radius:var(--radius);width:38px;height:38px;color:var(--brand);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.companion-header-actions button:hover,.companion-history-row>button:last-child:hover{background:var(--paper)}.companion-context{background:var(--paper);border-radius:var(--radius);min-height:40px;color:var(--brand);align-items:center;gap:7px;margin:14px 17px 0;padding:7px 10px;font-size:12px;display:flex}.companion-context span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.companion-context small{white-space:nowrap;margin-left:auto}.companion-scroll{flex:1;min-height:0;padding:17px 19px 25px;overflow-y:auto}.companion-welcome{padding:16px 0}.companion-welcome>svg{color:var(--muted)}.companion-welcome h3,.companion-scroll h3{font:400 28px var(--font-serif),Georgia,serif;color:var(--ink);margin:10px 0}.companion-welcome p,.companion-scroll>p{color:var(--muted)}.companion-welcome>div{gap:8px;margin-top:20px;display:grid}.companion-welcome button,.companion-new-row,.companion-memory-link{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);width:100%;min-height:44px;color:var(--brand);font:inherit;cursor:pointer;padding:10px 13px}.companion-welcome button:hover,.companion-new-row:hover{background:var(--paper)}.companion-message{margin:0 0 20px;line-height:1.55}.companion-message p{white-space:pre-wrap;margin:0}.companion-message.user{background:var(--paper);border-radius:4px;max-width:88%;margin-left:auto;padding:11px 13px}.companion-message.assistant>p{padding:2px 0}.companion-pending{border-radius:var(--radius);background:#fff0dc;border:1px solid #e6c9a9;align-items:center;gap:10px;padding:9px 12px;display:flex}.companion-pending p{color:var(--brand);margin:0;font-size:13px;font-weight:600}.companion-message.assistant:has(.companion-proposal){padding-bottom:7px}.companion-proposal{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);margin-top:14px;padding:14px}.companion-proposal>span{color:var(--terra);letter-spacing:.11em;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.companion-proposal>strong{font-size:15px;line-height:1.4;display:block}.companion-proposal>small{color:var(--muted);margin-top:8px;display:block}.companion-apply{border-radius:var(--radius);background:var(--brand);width:100%;min-height:43px;color:var(--white);font:600 13px var(--font-sans),sans-serif;cursor:pointer;border:0;margin-top:14px}.companion-apply:hover{background:var(--ink)}.companion-receipt{color:var(--brand);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;font-size:12px;font-weight:700;display:flex}.companion-receipt button{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-height:35px;color:var(--brand);cursor:pointer;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.companion-composer{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);align-items:flex-end;gap:8px;margin:0 17px 15px;padding:7px;display:flex}.companion-composer textarea{resize:vertical;min-width:0;max-height:125px;color:var(--ink);font:16px var(--font-sans),sans-serif;background:0 0;border:0;outline:0;flex:1;padding:6px}.companion-composer button{border-radius:var(--radius);background:var(--brand);width:39px;height:39px;color:var(--white);cursor:pointer;border:0;flex:none;place-items:center;display:grid}.companion-composer button:disabled{opacity:.55;cursor:default}.companion-error{color:var(--danger);margin:0 17px 13px;font-size:13px}.companion-back,.companion-memory-link{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;display:flex}.companion-history-row{border-bottom:1px solid var(--paper);align-items:center;gap:8px;padding:5px 0;display:flex}.companion-history-row>button:first-child{text-align:left;min-height:52px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;flex:1}.companion-history-row small{color:var(--muted);font-size:11px;display:block}.companion-history-row>span{flex:1;padding:10px 0}.companion-new-row{align-items:center;gap:8px;margin:12px 0;display:flex}@media (min-width:1500px){.app-shell.companion-visible .main-wrap{margin-right:410px;transition:margin-right .18s}}@media (min-width:701px) and (max-width:1499px){.companion-panel{box-shadow:-18px 0 70px #29252445}}.companion-draft-preview{border-top:1px solid var(--paper);color:var(--brand);margin-top:12px;padding-top:10px;font-size:12px}.companion-draft-preview summary{cursor:pointer;font-weight:700}.companion-draft-preview>div{max-height:260px;padding:8px 3px;overflow:auto}.companion-draft-preview strong{margin:8px 0 3px;display:block}.companion-draft-preview ul,.companion-draft-preview ol{margin:3px 0 8px;padding-left:20px}.companion-draft-preview li{margin:3px 0}.companion-recipe-preview{border:1px solid var(--line);border-radius:var(--radius);color:var(--brand);background:#fff0dd;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:18px;padding:12px 15px;font-size:13px;display:flex}.companion-recipe-preview strong{font-weight:700}.companion-recipe-preview span{flex:1;min-width:170px}.companion-recipe-preview .btn{min-height:36px}.companion-tip-current{margin-top:14px}.companion-tip-current .companion-apply{margin-top:0}.companion-secondary-action{background:var(--white);color:var(--brand);border:1px solid var(--line)}.companion-secondary-action:hover{background:var(--paper)}.companion-meal-preview{gap:9px;margin-top:12px;display:grid}.companion-meal-preview>p{color:var(--muted);font-size:13px}.companion-meal-preview>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);gap:2px;padding:8px 10px;display:grid}.companion-meal-preview small{color:var(--terra);letter-spacing:.1em;font-size:10px;font-weight:700}.companion-meal-preview span{font-size:13px}.companion-shopping-preview{color:var(--brand);margin:10px 0 0;padding-left:18px;font-size:13px}.dinner-builder{gap:22px;margin:24px 0;display:grid}.dinner-builder-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.dinner-builder-heading h3{font:400 clamp(24px,3vw,34px) var(--font-serif),Georgia,serif;margin:8px 0}.dinner-builder-heading p,.dinner-builder-browser-head p,.dinner-builder-create>p{color:var(--muted);margin:3px 0;font-size:13px}.dinner-builder-switch{background:var(--paper);border-radius:var(--radius);flex-shrink:0;gap:4px;padding:4px;display:flex}.dinner-builder-switch button{border-radius:var(--radius);color:var(--brand);font:600 12px var(--font-sans),sans-serif;cursor:pointer;background:0 0;border:0;padding:10px 13px}.dinner-builder-selected{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dinner-builder-slot{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);cursor:pointer;gap:7px;min-width:0;padding:10px;display:grid}.dinner-builder-slot small{letter-spacing:.1em;color:var(--terra);text-transform:uppercase;font-size:10px}.dinner-builder-slot img,.dinner-builder-placeholder{object-fit:cover;border-radius:var(--radius);background:var(--paper);width:100%;height:105px}.dinner-builder-placeholder{color:var(--muted);place-items:center;display:grid}.dinner-builder-slot strong{font:400 18px var(--font-serif),Georgia,serif;line-height:1.2}.dinner-builder-slot span{color:var(--muted);font-size:11px}.dinner-builder-browser{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:17px}.dinner-builder-browser-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.dinner-builder-browser-head h4,.dinner-builder-create h4{font:400 23px var(--font-serif),Georgia,serif;margin:0}.dinner-builder-browser-head input{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:42%;min-width:180px;max-width:320px;padding:11px 12px}.dinner-builder-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:380px;display:grid;overflow:auto}.dinner-builder-result{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);cursor:pointer;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:12px;padding:8px;display:grid}.dinner-builder-result>img,.dinner-builder-result-photo{object-fit:cover;border-radius:var(--radius);background:var(--paper);width:86px;height:90px}.dinner-builder-result-photo{color:var(--muted);place-items:center;display:grid}.dinner-builder-result>span{gap:4px;min-width:0;display:grid}.dinner-builder-result small{color:var(--terra);letter-spacing:.08em;align-items:center;gap:4px;font-size:10px;font-style:normal;display:flex}.dinner-builder-result strong{font:400 18px var(--font-serif),Georgia,serif;line-height:1.2}.dinner-builder-result em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.4}.dinner-builder-result>.btn{grid-column:2;justify-self:start}.dinner-builder-empty{color:var(--muted);padding:22px}.dinner-builder-create{border-top:1px solid var(--line);gap:10px;margin-top:18px;padding:17px;display:grid}.dinner-builder-create textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;font:inherit;background:#fff;padding:12px}.dinner-builder-create>.btn{justify-self:start}.dinner-builder-generated{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.dinner-builder-generated>strong{font:400 21px var(--font-serif),Georgia,serif}.dinner-builder-generated p{color:var(--muted);font-size:13px}.dinner-builder-generated details{color:var(--brand);font-size:12px}.dinner-builder-generated .btn{margin-top:12px}@media (max-width:700px){.dinner-builder-heading,.dinner-builder-browser-head{flex-direction:column;align-items:stretch}.dinner-builder-switch{width:100%}.dinner-builder-switch button{flex:1}.dinner-builder-selected{grid-template-columns:1fr}.dinner-builder-slot{grid-template-columns:80px minmax(0,1fr);align-items:center}.dinner-builder-slot small,.dinner-builder-slot span{grid-column:2}.dinner-builder-slot img,.dinner-builder-placeholder{grid-area:1/1/4;width:80px;height:75px}.dinner-builder-browser-head input{width:100%;max-width:none}.dinner-builder-results{grid-template-columns:1fr}.dinner-builder-result{grid-template-columns:72px minmax(0,1fr)}.dinner-builder-result>img,.dinner-builder-result-photo{width:72px;height:78px}.companion-launcher{right:16px;bottom:calc(82px + env(safe-area-inset-bottom));padding:0 14px}.companion-panel{border-left:0;border-top:1px solid var(--line);border-radius:4px 4px 0 0;width:100%;height:min(76dvh,700px);top:auto;bottom:0;box-shadow:0 -20px 55px #29252426}.companion-context{margin-top:10px}.companion-scroll{padding-top:11px}.companion-composer{margin-bottom:calc(11px + env(safe-area-inset-bottom))}}body:has([data-cooking-session]) .companion-launcher{display:none}@media (prefers-reduced-motion:reduce){.app-shell.companion-visible .main-wrap{transition:none}}.account-login-options{flex-wrap:wrap;gap:8px 16px;margin-top:20px;display:flex}.account-login-options button{color:var(--brand);text-underline-offset:3px;font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;text-decoration:underline}.account-login-options button:hover{color:var(--terra)}.owner-login-card small{color:var(--muted)}.owner-email-sent{gap:6px;margin:24px 0;display:grid}.owner-email-sent button{color:var(--brand);cursor:pointer;background:0 0;border:0;justify-self:start;padding:8px 0;text-decoration:underline}h1,h2,h3{font-weight:500}.btn{border-color:var(--line);letter-spacing:.01em;min-height:44px}.btn.primary{background:var(--brand);color:var(--white);border-color:var(--brand)}.btn.primary:hover:not(:disabled){background:var(--brand-hover);color:var(--white);border-color:var(--brand-hover)}.btn:hover:not(:disabled){background:var(--paper);border-color:var(--muted)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--terra);outline-offset:4px}.sidebar{background:var(--brand-gradient);color:#fff;border-right:0}.brand{color:#fff;gap:12px}.brand img,.mobile-brand img{object-fit:contain;border-radius:0}.brand>span{font-size:24px}.nav-label{color:#f4decf}.sidebar nav button,.sidebar-link{color:#fff5ea;border-radius:var(--radius);border:1px solid #0000}.sidebar nav button.active,.sidebar-link.active{color:#fff;background:#ffffff23;border-color:#fff6}.sidebar nav button:hover,.sidebar-link:hover{color:#fff;background:#ffffff18}.sidebar nav button small,.sidebar-link small{color:#fff;background:#ffffff19}.kitchen-note{color:#f4decf}.kitchen-note p{color:#fff}.topbar{color:var(--ink);background:0 0;border:0}.topbar .icon-btn:hover{background:var(--white)}.topbar .btn{background:var(--brand);border-color:var(--brand);color:var(--white)}.topbar .btn:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:var(--white)}.mobile-brand{color:var(--ink)}.mobile-nav{background:var(--brand);border-top:1px solid #ffffff30}.mobile-nav button{color:#f4decf}.mobile-nav button.active{color:#fff;border-radius:var(--radius);background:#ffffff12}.chip{border-color:var(--line)}.pantry-summary{border-block:1px solid var(--line);background:0 0;border-radius:0}.brand-sprig{color:var(--brand)}.inventory-head{background:var(--paper);color:var(--muted)}.paper-card,.recipe-card,.meal-card,.journal-card,.shared-shopping-card{box-shadow:none}.recipe-card:hover{box-shadow:none;border-color:var(--brand);transform:none}.paper-card.olive-light{background:var(--paper)}.modal{box-shadow:0 16px 60px #29252425}.modal-header{border-bottom:1px solid var(--line)}.companion-launcher{border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand);color:#fff;box-shadow:0 4px 16px #29252418}.companion-header{background:var(--brand);color:#fff}.companion-kicker{color:#f4decf}.companion-context,.companion-message.user{background:var(--paper)}.companion-apply{background:var(--brand);border:1px solid var(--brand);color:#fff}.companion-apply:hover{background:var(--brand-hover);color:#fff}.companion-composer button{background:var(--brand);color:#fff}.companion-receipt{color:var(--success)}.owner-login{background:var(--sunset-gradient);padding:48px 24px}.owner-login-card{background:var(--paper);box-shadow:none;border-radius:var(--radius);border:0;padding:40px}.owner-login-card>img{border-radius:var(--radius);width:64px;height:64px}.owner-login-card h1{color:var(--ink);font-weight:500}.loading-screen{background:var(--brand);color:#fff}.loading-screen p{color:#ffe7d2}.loading-screen .brand-mark{background:0 0;border:0;border-radius:0}.loading-screen .btn{color:#fff;background:0 0;border-color:#fff}.loading-dots i{background:#ffe7d2}.dinner-builder-switch{border:1px solid var(--line);background:0 0;padding:3px}.dinner-builder-switch button.active{background:var(--brand);color:#fff;box-shadow:none}.dinner-builder-slot.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.dinner-builder-browser{background:var(--paper)}@media (max-width:760px){.topbar{background:var(--paper)}input,textarea,select,.search input{font-size:16px}.content{padding-top:28px}.page-heading h1{font-size:36px;line-height:1.13}.mobile-nav button{min-height:48px}.btn{min-height:44px}.owner-login{padding:24px 16px}.owner-login-card{padding:30px 24px}.companion-launcher{min-height:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.studio-mark{opacity:.75;object-fit:contain;margin-top:32px}@media (max-width:760px){.studio-mark{display:none}.studio-copy{min-height:0}.studio-copy h2{font-size:28px}.idea-studio{margin-bottom:32px}}.segmented{border:1px solid var(--line);background:0 0}.segmented button.active{background:var(--brand);color:#fff;box-shadow:none}.idea-studio.cook-creator{background:var(--paper,#fffcf6);margin:0 0 16px;display:block}.cook-creator .prompt-panel{border:0;max-width:820px;margin:auto;padding:28px}.cook-intro{margin-bottom:20px}.cook-intro h1{margin:8px 0;font-size:38px;line-height:1.1}.cook-intro p{color:#79675d;margin:0;font-size:14px}.cook-creator .recent-trigger{text-align:left;width:100%;color:var(--brand);cursor:pointer;background:#fff8f1;border:1px solid #d6b29d;border-radius:12px;align-items:center;gap:13px;margin:12px 0 0;padding:13px 16px;display:flex}.cook-creator .recent-trigger:hover{border-color:var(--brand);background:#f9eadc}.cook-creator .recent-trigger>span{flex:1;gap:2px;min-width:0;display:grid}.cook-creator .recent-trigger strong{font-size:15px}.cook-creator .recent-trigger small{color:#79675d;font-size:12px;line-height:1.35}.cook-creator .recent-trigger:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.recent-saved{color:var(--muted);white-space:nowrap;font-size:12px}.cook-modes{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.cook-modes button{border:1px solid var(--line);background:var(--white);text-align:left;color:var(--brand);cursor:pointer;border-radius:4px;padding:12px;font-weight:600}.cook-modes button.active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:#ffe8d4}.cook-modes small{margin-top:3px;font-size:11px;font-weight:400;display:block}.cook-creator .prompt-input textarea{height:100px;min-height:100px;padding:14px 76px}.cook-creator .prompt-input .cook-parsley-talk{--parsley-green:#15678d;cursor:pointer;background:#e4efe1;border:2px solid #acc6af;border-radius:14px;place-items:center;width:48px;height:48px;padding:3px;display:grid;position:absolute;bottom:13px;left:13px}.cook-creator .cook-parsley-talk .parsley-portrait{width:40px;max-width:100%;height:40px;max-height:100%}.cook-creator .cook-parsley-talk .parsley-mic-mark{background:var(--parsley-green);color:#fffdf3;border:2px solid #fffef9;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:-5px;right:-6px}.cook-creator .cook-parsley-talk:hover:not(:disabled){background:#d5e9d1;border-color:#8aac90}.cook-creator .cook-parsley-talk.is-listening{border-color:var(--parsley-green);box-shadow:0 0 0 3px #15678d29}.cook-creator .cook-parsley-talk:focus-visible{outline:3px solid var(--parsley-green);outline-offset:2px}.cook-creator .cook-parsley-talk:disabled{cursor:default;opacity:.6}.cook-creator .cook-prompt-submit{border:1px solid var(--brand);background:var(--brand);width:48px;height:48px;color:var(--white);cursor:pointer;border-radius:14px;place-items:center;padding:0;display:grid;position:absolute;bottom:13px;right:13px}.cook-creator .cook-prompt-submit:hover:not(:disabled){filter:brightness(1.08)}.cook-creator .cook-prompt-submit:disabled{opacity:.5;cursor:default}.cook-creator .cook-prompt-submit:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.cook-voice-feedback{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px;line-height:1.5;display:flex}.cook-voice-feedback p{overflow-wrap:anywhere;flex-basis:100%;margin:0}.cook-voice-feedback[role=alert]{color:var(--terra)}.cook-options{border-top:1px solid var(--line);margin:16px 0}.cook-options summary{cursor:pointer;padding:12px 20px 10px 0;list-style:none;position:relative}.cook-options summary::-webkit-details-marker{display:none}.cook-options summary:after{content:"+";position:absolute;top:12px;right:2px}.cook-options[open] summary:after{content:"−"}.cook-options summary span{font-size:13px;font-weight:600}.cook-options summary small{color:#79675d;margin-top:3px;font-size:11px;line-height:1.5;display:block}.cook-options .form-grid{margin-top:12px}.cook-manual{flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 28px;font-size:12px;display:flex}.cook-manual>span{color:#79675d}.cook-manual .text-btn{font-size:12px}.cook-options summary{padding-right:42px}.cook-options summary span{font-size:14px}.cook-options summary small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:500;line-height:1.45;overflow:hidden}.cook-options summary:after{border:1px solid var(--brand);background:var(--white);width:26px;height:26px;color:var(--brand);border-radius:50%;place-items:center;font-size:17px;line-height:1;display:grid;top:11px;right:0}@media (max-width:600px){.cook-creator .prompt-panel{padding:18px}.cook-intro{margin-bottom:16px}.cook-intro h1{white-space:nowrap;letter-spacing:-.02em;max-width:none;font-size:clamp(18px,6.3vw,30px)}.cook-intro .eyebrow{letter-spacing:1.2px;font-size:9px}.cook-intro p{font-size:12px;line-height:1.5}.cook-modes{margin-bottom:16px}.cook-modes button{padding:10px;font-size:13px}.cook-creator .prompt-panel>label{font-size:13px}.cook-creator .btn.full{min-height:48px}.cook-manual{gap:12px;font-size:11px}}.meal-detail-actions{gap:10px;margin:15px 0 12px;display:grid}.meal-start-cooking{justify-content:center;width:100%;min-height:54px;font-size:16px;transition:transform .2s,box-shadow .2s;box-shadow:0 7px 18px #432c3325}.meal-start-cooking:hover{transform:translateY(-2px);box-shadow:0 11px 22px #432c3336}.meal-detail-actions .cooking-share{width:100%}.meal-detail-actions .cooking-share>.btn{justify-content:center;width:100%;min-height:44px}.reference-detail.meal-detail-image,.reference-detail.recipe-detail-image{background:#fffbf2;border:1px solid #c9ac91;border-radius:18px;width:100%;margin:18px 0 22px;padding:6px;box-shadow:0 12px 30px #432c3314,inset 0 0 0 1px #fff}.reference-detail.meal-detail-image>img,.reference-detail.recipe-detail-image>img{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:72vh;display:block}.meal-detail-image .image-credit,.recipe-detail-image .image-credit{padding:10px 11px 6px}.recipe-detail-actions{margin-top:0}.recipe-quiet-actions .btn{align-items:center;gap:6px;display:inline-flex}.ingredient-in-pantry,.ingredient-on-list{white-space:nowrap;color:var(--success);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.ingredient-on-list{color:var(--muted)}.ingredient-missing-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ingredient-missing-actions .btn{align-items:center;gap:6px;min-height:34px;padding:6px 10px;font-size:11px;display:inline-flex}.ingredient-confirm{color:var(--success);font:600 11px var(--font-sans),sans-serif;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;display:inline-flex}.ingredient-confirm:hover{text-decoration:underline}.recipe-add-missing{align-items:center;gap:9px;min-height:44px;display:inline-flex;font-size:13px!important}.meal-quiet-actions{flex-wrap:wrap;gap:8px;display:flex}.meal-quiet-actions .btn{min-height:36px;color:var(--muted);padding:7px 11px;font-size:12px}.meal-cost-top .cost-details{border:1px solid var(--line);margin:12px 0 18px;padding:14px 17px}.meal-cost-top .cost-details summary{font-size:16px}.meal-facts{color:var(--muted);flex-wrap:wrap;gap:15px;margin-bottom:16px;font-size:13px;display:flex}.meal-detail-nutrition .nutrition-strip{margin:16px 0 24px}.meal-detail-nutrition+.meal-slot-grid{margin-top:0}.meal-slot-grid{gap:10px;margin:22px 0}.meal-slot{background:var(--white);gap:8px;padding:18px}.meal-slot h3{margin:0;font-size:19px}.meal-slot-open{width:100%;color:var(--ink);justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.meal-slot-open svg{color:var(--brand);flex:none;margin-top:4px}.meal-slot p{margin:0}.meal-slot-swap{border-top:1px solid var(--line);align-items:center;gap:7px;margin-top:auto;padding-top:9px;display:inline-flex}.meal-contents>div{grid-template-columns:55px 1fr}@media (max-width:800px){.meal-slot-grid{grid-template-columns:1fr}}@media (max-width:600px){.meal-detail-actions{gap:8px}.meal-start-cooking{min-height:50px}.meal-quiet-actions{grid-template-columns:repeat(3,1fr);display:grid}.meal-quiet-actions .btn{justify-content:center;padding:7px 4px}.meal-slot{padding:14px}.meal-slot h3{font-size:18px}.recipe-quiet-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-quiet-actions .btn{gap:4px;font-size:11px}.ingredient-missing-actions{gap:3px}.ingredient-missing-actions .btn{padding:5px 7px}.ingredient-confirm{min-height:34px}.recipe-detail-columns .ingredients li{align-items:flex-start}.recipe-add-missing{justify-content:center;width:100%}}.reference-detail.meal-detail-image{margin:0 0 14px;padding:5px;position:relative;overflow:visible}.reference-detail.meal-detail-image>img{object-fit:contain;background:#eee7da;width:100%;height:clamp(190px,36vh,340px);max-height:none}.meal-image-time{color:var(--ink);background:#fffbf2f0;border:1px solid #fff8;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;bottom:18px;left:18px;box-shadow:0 2px 10px #29252424}.meal-preview-time{align-items:center;gap:8px;margin:0 0 14px;font-weight:700;display:flex}.meal-preview-time span{color:var(--muted);font-size:12px;font-weight:400}.meal-detail-actions{gap:8px;margin:0 0 13px}.meal-detail-secondary-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.meal-detail-secondary-actions .cooking-share{width:auto}.meal-detail-secondary-actions .cooking-share>.btn{justify-content:center;width:auto;min-height:38px;padding:8px 13px;font-size:12px}.meal-detail-secondary-actions .cooking-share-details{max-width:min(100%,340px)}.meal-detail-secondary-actions .meal-quiet-actions{gap:5px}.meal-detail-secondary-actions .meal-quiet-actions .btn{min-height:38px;color:var(--muted);background:0 0;border-color:#0000;padding:8px 10px}.meal-detail-secondary-actions .meal-quiet-actions .btn:hover{color:var(--brand);background:#432c330b}.meal-detail-secondary-actions .meal-quiet-actions .meal-preview-save.saved{color:var(--brand);opacity:1}.meal-cost-top .cost-details--preview{border:1px solid var(--line);background:var(--white);margin:6px 0 18px;padding:0;overflow:hidden}.meal-cost-top .cost-details--preview summary{justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;list-style:none;display:flex}.meal-cost-top .cost-details--preview summary::-webkit-details-marker{display:none}.meal-cost-top .cost-details--preview summary>svg{color:var(--brand);flex:none;transition:transform .2s}.meal-cost-top .cost-details--preview[open] summary>svg{transform:rotate(180deg)}.cost-preview-heading{gap:3px;min-width:0;display:grid}.cost-preview-heading>span{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.cost-preview-heading strong{color:var(--ink);font-size:20px;font-weight:700;line-height:1.2}.cost-preview-heading strong small{color:var(--muted);font-size:13px;font-weight:500}.cost-preview-heading>small{color:var(--brand);font-size:11px;font-weight:500}.cost-preview-expanded,.cost-details--preview[open] .cost-preview-collapsed{display:none}.cost-details--preview[open] .cost-preview-expanded{display:inline}.meal-cost-top .cost-details--preview>p,.meal-cost-top .cost-details--preview>.cost-dish{margin-left:16px;margin-right:16px}.meal-cooking-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.meal-cooking-summary summary{cursor:pointer;justify-content:space-between;align-items:center;padding:15px 0;font-weight:700;list-style:none;display:flex}.meal-cooking-summary summary::-webkit-details-marker{display:none}.meal-cooking-summary summary span{color:var(--muted);font-size:12px;font-weight:500}.meal-cooking-summary .meal-timeline{margin:0 0 14px}@media (max-width:600px){.reference-detail.meal-detail-image>img{height:clamp(160px,25vh,210px)}.meal-image-time{padding:7px 10px;font-size:12px;bottom:13px;left:13px}.meal-detail-secondary-actions{gap:3px}.meal-detail-secondary-actions .cooking-share>.btn{padding:7px 9px}.meal-detail-secondary-actions .meal-quiet-actions .btn{padding:7px 5px;font-size:11px}.meal-preview-time span{display:none}}.companion-header{color:var(--brand);border-bottom:1px solid var(--line);background:#fff0dd}.companion-header>div.companion-identity{align-items:center;gap:11px;min-width:0;display:flex}.companion-heading{min-width:0;line-height:1.15;display:grid}.companion-heading strong{font-family:var(--font-serif),Georgia,serif;white-space:nowrap;font-size:23px;font-weight:500}.companion-title-short{display:none}.companion-symbol{background:var(--brand);width:38px;height:38px;color:var(--white);border-radius:var(--radius);flex:none;place-items:center;display:grid}.companion-header .companion-kicker{color:var(--terra);letter-spacing:.14em;font-size:9px}.companion-header-actions button{color:var(--brand)}.companion-header-actions button:hover{background:#15678d14}.companion-context{font-weight:600}.companion-options{gap:12px;margin-top:14px;display:grid}.companion-option{border:1px solid var(--line);border-radius:var(--radius);background:#fff8ec;padding:14px}.companion-option>span{color:var(--terra);letter-spacing:.11em;font-size:10px;font-weight:700}.companion-option h4{font:500 21px/1.2 var(--font-serif),Georgia,serif;margin:7px 0 3px}.companion-option .companion-meal-preview{margin-top:4px}.companion-option .companion-meal-preview>div{background:var(--white)}@media (max-width:700px){body:has(.companion-panel){overflow:hidden}.companion-panel{width:100%;height:100dvh;max-height:none;box-shadow:none;overscroll-behavior:contain;border:0;border-radius:0;inset:0}.companion-header{min-height:70px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;flex:none}.companion-heading strong{font-size:20px}.companion-header-actions{gap:0}.companion-header-actions button{width:42px;height:42px}.companion-context{border-bottom:1px solid var(--line);background:#fff8ec;border-radius:0;flex:none;min-height:38px;margin:0;padding:8px 17px}.companion-scroll{overscroll-behavior:contain;padding:18px 17px 24px}.companion-composer{margin:0 16px calc(12px + env(safe-area-inset-bottom));flex:none}.companion-error{flex:none}}@media (max-width:380px){.companion-title-full{display:none}.companion-title-short{display:inline}}@media (max-width:600px){.inventory-list .inventory-row{grid-template-columns:minmax(0,1fr) max-content;column-gap:8px;min-height:76px;padding:10px 9px}.inventory-list .item-main{gap:8px}.inventory-list .item-main>div:last-child{min-width:0}.inventory-list .item-thumb{flex-basis:clamp(44px,13.3vw,56px);width:clamp(44px,13.3vw,56px);height:clamp(44px,13.3vw,56px)}.inventory-list .item-main strong{overflow-wrap:anywhere;font-size:clamp(13px,3.6vw,15px);line-height:1.25}.inventory-list .item-main span{font-size:10px;line-height:1.25}.inventory-list .inventory-actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px}.inventory-list .inventory-actions .btn{width:42px;min-width:42px;height:42px;min-height:42px;padding:0}.inventory-list .inventory-actions .btn svg{flex:none;width:18px;height:18px}}@media (max-width:360px){.inventory-list .inventory-row{column-gap:6px;padding-inline:7px}.inventory-list .item-main{gap:6px}.inventory-list .inventory-actions .btn{width:40px;min-width:40px;height:40px;min-height:40px}}.inventory-list .item-thumb.pantry-ingredient-thumb{background:#f4e7d6;border:1px solid #ead4bc;border-radius:50%}.inventory-list .item-thumb.pantry-ingredient-thumb img{object-fit:contain;width:84%;height:84%}.inventory-list .item-thumb.pantry-ingredient-thumb .pantry-ingredient-initial{color:#95503c;font-family:var(--font-serif);margin:0;font-size:22px;line-height:1}body{background:var(--paper);color:var(--ink)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.025em}input,textarea,select{background:var(--white);border-color:var(--line);border-radius:var(--radius)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #15678d26}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--brand)}.btn,.icon-btn,.segmented,.segmented button{border-radius:var(--radius)}.btn.primary,.topbar .btn{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover:not(:disabled),.topbar .btn:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.chip{border-radius:999px}.chip.active,.filter-chips button.active{background:var(--brand);border-color:var(--brand);color:#fff}.paper-card,.recipe-card,.meal-card,.journal-card,.shared-shopping-card,.modal,.meal-slot,.swap-dish{border-radius:18px}.paper-card,.recipe-card,.meal-card,.journal-card,.shared-shopping-card{background:var(--white);border-color:var(--line)}.recipe-card:hover{border-color:var(--brand)}.badge.green{background:var(--success-soft);color:var(--success)}.badge.amber{color:#765028;background:#f7ebd6}.owner-login{background:var(--brand-gradient);grid-template-columns:minmax(0,1fr)}.owner-login-card{background:var(--white);border:1px solid var(--line);border-radius:22px;width:100%;min-width:0;max-width:430px}.owner-login-card>img{border-radius:18px}.cook-creator .prompt-input textarea{border-radius:16px}.cook-modes button{border-radius:14px}.cook-modes button.active{background:#e6f1f4}.cook-creator .recent-trigger{background:var(--white);border-color:var(--line);border-radius:16px}.cook-creator .recent-trigger:hover{background:#f8f2e8}.cook-creator .prompt-input .cook-parsley-talk{--parsley-green:var(--brand);background:#e6f1f4;border-color:#b8d1db}.cook-creator .cook-parsley-talk:hover:not(:disabled){border-color:var(--brand);background:#d6eaf0}.cook-creator .cook-parsley-talk.is-listening{box-shadow:0 0 0 3px #15678d29}.inventory-list .item-thumb.pantry-ingredient-thumb{border-color:var(--line);background:#f8e5d0}.inventory-list .item-thumb.pantry-ingredient-thumb .pantry-ingredient-initial{color:var(--brand)}.pantry-scan-food-icon,.shopping-ingredient-thumb,.ingredient-detail-portrait{border:1px solid var(--line);color:var(--brand);background:#f8e5d0;border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.pantry-scan-food-icon img,.shopping-ingredient-thumb img,.ingredient-detail-portrait img{object-fit:contain;width:84%;height:84%;display:block}.shopping-ingredient-thumb{width:44px;height:44px}.shopping-ingredient-thumb .pantry-ingredient-initial{font:600 20px/1 var(--font-serif)}.ingredient-detail-portrait{width:72px;height:72px;margin-bottom:18px}.ingredient-detail-portrait .pantry-ingredient-initial{font:600 30px/1 var(--font-serif)}.ingredient-reference-photo{margin:0 0 18px}.ingredient-reference-photo summary{width:max-content;color:var(--brand);cursor:pointer;font-size:13px}.ingredient-reference-photo .reference-detail{margin-top:12px}.ingredient-reference-photo .image-change{margin:0}@media (max-width:600px){.shopping-ingredient-thumb{width:40px;height:40px}}@media (max-width:360px){.pantry-scan-row-category{display:none}}.recipe-detail-facts{color:var(--ink);align-items:center;gap:9px;margin:10px 0 16px;font-size:18px;font-weight:650;line-height:1.3;display:flex}.recipe-detail-facts svg{color:var(--brand);flex:none}.recipe-photo-details{z-index:1;position:absolute;bottom:15px;right:15px}.recipe-detail-image,.meal-detail-image{position:relative}.reference-detail.recipe-detail-image,.reference-detail.meal-detail-image{overflow:visible}.recipe-photo-details summary{width:30px;height:30px;color:var(--brand);cursor:pointer;background:#fffaf0e8;border-radius:50%;place-items:center;font-size:19px;list-style:none;display:grid}.recipe-photo-details summary::-webkit-details-marker{display:none}.recipe-photo-details .image-credit{background:var(--white);border:1px solid var(--line);border-radius:9px;width:min(290px,75vw);padding:10px;font-size:11px;line-height:1.4;position:absolute;bottom:35px;right:0;box-shadow:0 6px 18px #38292026}.recipe-steps-heading{color:var(--ink);margin:0 0 16px;font-size:21px}.recipe-ingredient-servings{color:var(--muted);margin:-9px 0 12px;font-size:14px}.recipe-ingredients{margin:12px 0 18px}.recipe-ingredients li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:79px;padding:12px 10px;display:flex}.recipe-ingredients li.ingredient-needs-review{background:#f1eee8;border-bottom-color:#0000;border-radius:12px;margin:3px -5px}.recipe-ingredients .ingredient-copy{flex:1;min-width:0}.recipe-ingredients strong{overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.25}.recipe-ingredients small{color:var(--muted);margin-top:5px;font-size:13px}.ingredient-confirmed{color:#32704a;flex:none;place-items:center;width:34px;height:40px;display:grid}.ingredient-review-actions,.ingredient-listed{flex:none;align-items:center;gap:2px;display:flex}.ingredient-review-actions button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:40px;height:42px;padding:0;display:grid}.ingredient-review-actions .ingredient-check{color:#32704a}.ingredient-review-actions .ingredient-basket{color:var(--copper,#b45f42)}.ingredient-listed{color:var(--copper,#a4523b);text-align:right;white-space:nowrap;gap:3px;font-size:11px;font-weight:650}.recipe-ingredients li.recipe-ingredient-on-list{padding-top:6px;padding-bottom:6px}.ingredient-listed .ingredient-list-controls .ingredient-basket{color:inherit}.ingredient-review-actions button:hover,.ingredient-listed button:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.ingredient-review-actions button:focus-visible,.ingredient-listed button:focus-visible,.recipe-photo-details summary:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.voice-textarea-field{position:relative}.voice-textarea textarea{width:100%;padding-right:66px;display:block}.voice-textarea-button{cursor:pointer;background:#e6efe5;border:2px solid #a9c4ae;border-radius:13px;place-items:center;width:43px;height:43px;padding:3px;display:grid;position:absolute;bottom:13px;right:13px}.voice-textarea-button .parsley-portrait{width:34px;height:34px}.voice-textarea-mic{border:2px solid var(--white);background:var(--brand);width:21px;height:21px;color:var(--white);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-5px;right:-6px}.voice-textarea-button.is-listening{border-color:var(--brand);box-shadow:0 0 0 3px #15678d35}.voice-textarea-button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.voice-textarea-button:disabled{opacity:.6;cursor:default}.voice-textarea-status,.voice-textarea-error{margin-top:7px;font-size:12px;line-height:1.4;display:block}.voice-textarea-error{color:var(--terra)}.voice-textarea-error button{color:var(--brand);cursor:pointer;background:0 0;border:0;text-decoration:underline}@media (max-width:600px){.recipe-detail-intro .recipe-detail-facts{font-size:17px}.recipe-detail-columns .recipe-ingredients li{align-items:center}.recipe-ingredients strong{font-size:15px}.recipe-ingredients small{font-size:12px}.ingredient-listed{font-size:10px}.ingredient-listed .ingredient-review-actions button{width:34px}}.generation-progress{background:var(--white);border-color:var(--line);box-shadow:0 10px 24px #15678d12}.progress-track{background:#e3d7c8}.companion-launcher{background:var(--brand);border-color:var(--brand);color:#fff}.companion-launcher:hover{background:var(--brand-hover)}.explore-controls{grid-template-columns:repeat(2,minmax(0,220px)) minmax(0,1fr);align-items:end;gap:12px;margin:-7px 0 21px;display:grid}.explore-control{gap:6px;min-width:0;display:grid;position:relative}.explore-control>span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.2}.explore-control select{appearance:none;border:1px solid var(--line);background:var(--white);width:100%;min-height:46px;color:var(--ink);text-overflow:ellipsis;cursor:pointer;border-radius:12px;padding:10px 36px 10px 14px;font-size:14px;font-weight:650;line-height:1.3}.explore-control:after{content:"";border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);pointer-events:none;width:7px;height:7px;position:absolute;bottom:21px;right:17px;transform:rotate(45deg)}.explore-count{color:var(--muted);white-space:nowrap;justify-self:end;padding-bottom:12px;font-size:13px;font-weight:600}.recipe-card--explore{flex-direction:column;min-width:0;display:flex;box-shadow:0 5px 20px #352d290c}.recipe-card--explore:hover{transform:none;box-shadow:0 7px 22px #352d2914}.recipe-card--explore .recipe-art{aspect-ratio:16/10;height:auto}.recipe-card--explore .recipe-art.has-photo:after{background:linear-gradient(#29252475,#0000 46%)}.recipe-card--explore .recipe-type{max-width:calc(100% - 24px);color:var(--brand);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;background:#fffaf2eb;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:750;line-height:1.2;top:12px;left:12px;overflow:hidden}.recipe-card--explore .recipe-art.has-photo .recipe-type{color:#fff;background:#352d29c9}.recipe-card--explore .recipe-body{flex-direction:column;flex:1;padding:18px;display:flex}.recipe-card--explore .recipe-meta{color:var(--muted);gap:13px;font-size:12px;line-height:1.3}.recipe-card--explore .recipe-meta>span>svg{width:15px;height:15px}.recipe-card--explore .title-button{min-height:56px;margin:10px 0 7px}.recipe-card--explore .title-button h3{overflow-wrap:anywhere;font-size:24px;line-height:1.16}.recipe-card--explore .recipe-body>p{-webkit-line-clamp:2;min-height:0;color:var(--muted);-webkit-box-orient:vertical;margin:0 0 14px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.recipe-card--explore .recipe-bottom{align-items:center;gap:8px;min-height:0;margin-top:auto;padding-top:10px}.recipe-card--explore .recipe-availability{min-width:0;color:var(--terra);flex:1;font-size:12px;font-weight:700;line-height:1.35}.recipe-card--explore .recipe-availability.good{color:var(--success)}.recipe-card--explore .explore-card-actions{flex:none;gap:3px}.recipe-card--explore .explore-card-actions .icon-btn{width:44px;min-width:44px;height:44px;min-height:44px}.recipe-card--explore .recipe-cook{border-color:var(--brand);background:var(--brand);color:#fff;min-height:44px;margin-top:12px;font-size:14px;font-weight:700}.recipe-card--explore .recipe-cook:hover:not(:disabled){border-color:var(--brand-hover);background:var(--brand-hover);color:#fff}.recipe-cook .primary-nav-icon{width:22px;height:22px}@media (max-width:760px){.explore-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-count{grid-column:1/-1;justify-self:start;padding:0}}@media (max-width:600px){.explore-recipe-grid{grid-template-columns:minmax(0,1fr)}.recipe-card--explore .recipe-body{padding:18px}.recipe-card--explore .recipe-body>p{font-size:15px}.recipe-card--explore .recipe-availability{font-size:12px}}@media (max-width:360px){.explore-controls{grid-template-columns:minmax(0,1fr)}.explore-count{grid-column:1}}
