:root{--bg:#fff;--ink:#14181b;--sub:#747d82;--line:#eceff1;--surface:#f5f7f8;--point:#f04e23;--point-soft:#fff0e9;--ok:#17855a;--radius:20px;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%;background:var(--bg);color:var(--ink)}body{font-family:IBM Plex Sans KR,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:16px;line-height:1.55;word-break:keep-all;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a,button,input,summary,textarea{touch-action:manipulation}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--point);outline-offset:4px;border-radius:8px}h1:focus{outline:none}svg{flex-shrink:0;vertical-align:middle}.app{max-width:460px;margin:0 auto;min-height:100dvh;padding-top:env(safe-area-inset-top)}main{padding:0 24px 195px}h1{font-size:29px;font-weight:700;line-height:1.38;letter-spacing:-1.1px;padding:19px 0 10px}h1 em{color:var(--point);font-style:normal}h2{font-size:19px;line-height:1.4;letter-spacing:-.5px}.lede{font-size:15px;color:var(--sub);padding-bottom:27px;line-height:1.7}.home-header{height:76px;padding:0 24px;justify-content:space-between}.brand,.home-header{display:flex;align-items:center}.brand{gap:4px;min-height:44px;flex-shrink:0}.brand picture{display:flex;align-items:center}.brand-symbol{display:block;width:44px;height:44px;object-fit:contain}.brand-wordmark{display:block;width:46px;height:auto}.header-note{font-size:11px;color:var(--sub);letter-spacing:.1px}.header-actions{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.header-search{display:grid;place-items:center;width:44px;height:44px;border-radius:12px}.header-table{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 7px;font-size:13px;font-weight:600;border-radius:12px;white-space:nowrap}.header-actions a:hover,.header-actions a[aria-current=page]{background:var(--surface);color:var(--point)}.return-header{gap:10px}.return-header>.header-label{white-space:nowrap}.table-search-link{display:flex;align-items:center;gap:9px;background:var(--surface);border-radius:16px;padding:15px 13px;font-size:14px;min-height:52px}.table-search-link>svg:last-child{margin-left:auto}.table-storage-note{font-size:12px;color:var(--sub);line-height:1.7;margin:14px 0 24px}.storage-warning{font-size:14px;background:var(--point-soft);padding:14px;border-radius:12px;margin-bottom:18px}.table-draft{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 0;font-size:14px;color:var(--point)}.saved-tables{display:flex;flex-direction:column;gap:26px}.saved-table{border:1px solid var(--line);border-radius:20px;padding:16px}.saved-table-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.saved-table-heading h2{font-size:18px}.saved-table-heading>span{font-size:12px;color:var(--sub)}.saved-recipe{padding:13px 0}.saved-recipe .thumb{width:54px;height:54px;border-radius:14px}.saved-recipe .recipe-copy b{font-size:15px}.saved-recipe .recipe-copy>span{font-size:12px}.table-purchase-link{border-top:1px solid var(--line);margin-top:6px;padding-bottom:0}.my-tables .empty-state .cta{margin-top:22px}.recipe-cook-action{display:flex;align-items:center;gap:2px;font-size:13px;color:var(--point);white-space:nowrap}.recipe-search .recipe-row{gap:10px}.recipe-search .recipe-copy b{font-size:15px}.recipe-search .thumb{width:54px;height:54px}.cook-serving-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;padding:12px 16px;background:var(--surface);border-radius:14px;font-size:14px}.cook-serving-control select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:7px 12px}.flow-header{display:flex;align-items:center;gap:15px;padding:10px 24px 0;height:68px}.icon-button{width:40px;height:42px;display:grid;place-items:center;margin-left:-11px;border-radius:50%}.icon-button:hover{background:var(--surface)}.flow-progress{height:4px;flex:1 1;background:var(--line);border-radius:10px;overflow:hidden}.flow-progress i{display:block;background:var(--ink);height:100%;border-radius:10px;transition:width .25s}.step-label{font-size:11px;color:var(--sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.header-label{font-size:13px;color:var(--sub)}.bottom-bar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--bg) 86%,transparent);padding-bottom:env(safe-area-inset-bottom);z-index:15;pointer-events:none}.bottom-inner{max-width:460px;margin:0 auto;padding:23px 24px 20px;pointer-events:auto}.cta{width:100%;min-height:60px;padding:17px 20px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:18px;background:var(--ink);color:var(--bg);font-size:16px;line-height:1.5;font-weight:600;transition:transform .12s,background .15s}.cta:active{transform:scale(.985)}.cta.primary{background:var(--point);color:#fff}.cta:disabled{background:var(--surface);color:var(--sub)}.ghost{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;padding:13px 8px;color:var(--sub);font-size:14px}.bottom-inner>.ghost{padding:12px 0 0;min-height:33px}.hero-title{font-size:43px;line-height:1.26;letter-spacing:-2px;padding-top:36px}.hero-description{font-size:15px;color:var(--sub);line-height:1.7;margin-top:15px}.meal-orbit{gap:14px;margin:33px 0 25px}.meal-bubble,.meal-orbit{display:flex;align-items:center;justify-content:center}.meal-bubble{height:96px;width:96px;flex-direction:column;font-size:37px;border-radius:50%;background:var(--surface);transform:rotate(-7deg)}.meal-bubble.highlight{background:var(--point-soft);height:106px;width:106px;transform:translateY(-9px) rotate(4deg)}.meal-bubble:last-child{transform:rotate(8deg)}.meal-bubble small{font-size:10px;color:var(--sub);letter-spacing:.2px;font-weight:500;margin-top:2px}.home-stat{padding:22px 23px;border-radius:22px;background:var(--surface)}.stat-kicker{display:block;font-size:12px;color:var(--sub)}.home-stat strong{display:block;font-size:23px;letter-spacing:-1px;margin:5px 0 7px}.home-stat p{font-size:12px;color:var(--sub)}.app:has(.home-content){--home-header-height:clamp(52px,10svh,76px)}.app:has(.home-content) .home-header{height:var(--home-header-height)}main:has(.home-content){padding-bottom:0}.home-content{min-height:calc(100svh - var(--home-header-height) - env(safe-area-inset-top));display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.home-content .hero-title{font-size:clamp(28px,min(10.5vw,5.4svh),43px);padding-top:clamp(4px,3svh,28px);padding-bottom:0;flex-shrink:0}.home-content .hero-description{margin-top:clamp(6px,1.5svh,15px);flex-shrink:0}.home-content .meal-orbit{gap:clamp(8px,3vw,14px);margin:clamp(12px,3svh,28px) 0 clamp(10px,2svh,20px);flex-shrink:0}.home-content .meal-bubble{width:clamp(56px,min(23vw,11svh),96px);height:clamp(56px,min(23vw,11svh),96px);font-size:clamp(26px,4.5svh,37px)}.home-content .meal-bubble.highlight{width:clamp(64px,min(25vw,12svh),106px);height:clamp(64px,min(25vw,12svh),106px);transform:translateY(-5px) rotate(4deg)}.home-content .home-stat{padding:clamp(10px,2svh,22px) clamp(14px,4vw,23px);flex-shrink:0}.home-content .home-stat strong{font-size:clamp(20px,2.9svh,23px);margin:3px 0}.home-content .bottom-bar{position:static;margin-top:auto;background:none;flex-shrink:0;padding-bottom:0}.home-content .bottom-inner{padding:clamp(10px,2svh,23px) 0 clamp(8px,1.5svh,20px)}.home-content .bottom-inner>.ghost{min-height:44px;padding:8px 0}@media(max-height:560px) and (max-width:539px){.home-content:has(.ghost) .hero-title{padding-top:4px}.home-content:has(.ghost) .hero-description{margin-top:6px}.home-content:has(.ghost) .meal-orbit{margin:10px 0 8px}.home-content:has(.ghost) .home-stat{padding:8px 14px}.home-content:has(.ghost) .bottom-inner{padding-top:8px}.home-content:has(.ghost) .cta{min-height:52px;padding:14px 20px}}@media(max-height:450px) and (min-width:540px){.app:has(.home-content){max-width:760px}.home-content{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:24px;column-gap:24px;align-content:center}.home-content .hero-title{grid-column:1;grid-row:1/3}.home-content .hero-description{grid-column:1;grid-row:3}.home-content .meal-orbit{grid-column:2;grid-row:1;margin:6px 0 10px}.home-content .home-stat{grid-column:2;grid-row:2/4}.home-content .bottom-bar{grid-column:1/-1}.home-content .bottom-inner:has(.ghost){display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;align-items:center;max-width:none}}.search-box{display:flex;gap:11px;align-items:center;background:var(--surface);min-height:54px;padding:0 16px;border-radius:16px;color:var(--sub);margin-bottom:23px}.search-box:focus-within{outline:2px solid var(--point);outline-offset:2px}.search-box input{width:100%;min-width:0;background:transparent;border:0;outline:none;font-size:14px;padding:15px 0;color:var(--ink)}.search-box input::placeholder{color:var(--sub)}.search-box input::-webkit-search-cancel-button{display:none}.search-link{font-size:14px}.clear-search{width:28px;height:36px;display:grid;place-items:center;flex:none}.category-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.recommended-plan{border:1px solid var(--line);border-radius:24px;padding:20px;margin:4px 0 32px;background:var(--bg)}.recommended-label{font-size:11px;font-weight:600;color:var(--point)}.recommended-plan h2{font-size:25px;line-height:1.4;margin-top:8px;letter-spacing:-1px}.recommended-plan h2 em{font-style:normal;color:var(--point)}.recommended-note{font-size:12px;color:var(--sub);margin-top:8px}.recommended-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:21px 0}.recommended-meals>div{min-width:0}.recommended-photo{position:relative;margin-bottom:9px}.recommended-photo .thumb{display:flex;width:100%;height:auto;aspect-ratio:1;border-radius:14px;overflow:hidden;align-items:center;justify-content:center;background:var(--surface);font-size:30px}.recommended-photo .thumb img{width:100%;height:100%;object-fit:cover}.recommended-photo>span:last-child{position:absolute;bottom:5px;left:5px;padding:2px 6px;background:#14181bd9;color:#fff;border-radius:6px;font-size:9px}.recommended-meals b{display:block;font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.recommended-meals small{display:block;font-size:10px;color:var(--sub);margin-top:5px}.recommended-plan .cta{font-size:14px;min-height:50px;padding:13px 10px;border-radius:14px}.recommended-hint{text-align:center;font-size:11px;color:var(--sub);margin-top:10px}.browse-categories-title{font-size:16px;margin-bottom:15px;scroll-margin-top:20px}.recommended-loading{min-height:360px}.category-return{display:flex;align-items:center;gap:12px;padding:15px;border-radius:16px;background:var(--point-soft);margin-bottom:22px;color:var(--point)}.category-return b{display:block;font-size:14px;font-weight:600}.category-return small{display:block;font-size:11px;color:var(--sub);margin-top:4px}.category-card{padding:20px 18px 18px;background:var(--surface);border-radius:20px;display:flex;flex-direction:column;align-items:flex-start;min-height:144px;transition:background .15s,transform .15s}.category-card:hover{background:var(--point-soft)}.category-card:active{transform:scale(.98)}.category-emoji{font-size:29px;line-height:1;margin-bottom:16px}.category-card b{font-size:16px;letter-spacing:-.65px;line-height:1.5}.category-description{color:var(--sub);font-size:11px;line-height:1.6;margin-top:4px}.expand-categories{margin-top:16px}.chevron-down{transform:rotate(90deg)}.chevron-up{transform:rotate(-90deg)}.selection-screen{padding-bottom:50px}.list-heading,.section-caption{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--sub);padding:0 0 11px}.list-heading span:first-child{font-weight:600;color:var(--ink)}.recipe-list{display:flex;flex-direction:column}.recipe-row{width:100%;text-align:left;display:flex;align-items:center;gap:14px;padding:15px 5px;border-radius:18px;transition:background .15s}.recipe-row:hover{background:var(--surface)}.thumb{height:64px;width:64px;flex-shrink:0;display:grid;place-items:center;border-radius:19px;background:var(--surface);font-size:30px;position:relative;overflow:hidden}.thumb img{height:100%;width:100%;object-fit:cover;display:block}.recipe-copy{flex:1 1;min-width:0}.recipe-copy b{display:block;font-size:16px;font-weight:600;letter-spacing:-.5px;line-height:1.45}.recipe-copy>span{display:block;font-size:12px;color:var(--sub);margin-top:6px}.recipe-toggle{width:27px;height:27px;border-radius:50%;border:1px solid var(--line);color:var(--sub);display:grid;place-items:center;flex:none}.recipe-row[aria-pressed=true] .thumb{outline:2px solid var(--point);outline-offset:2px}.recipe-row[aria-pressed=true] .recipe-toggle{background:var(--point);color:#fff;border-color:var(--point)}.with-selection{background:linear-gradient(to top,var(--bg) 93%,transparent)}.selection-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--sub);margin-bottom:9px}.selection-caption b{font-weight:600;color:var(--point)}.selection-caption b span{color:var(--sub);font-weight:400}.selected-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:14px}.selected-slot{height:55px;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:13px;min-width:0;padding:7px}.empty-slot{border:1.5px dashed var(--line);color:var(--sub);font-size:10px}.empty-slot span:first-child{font-size:13px;margin-right:3px;color:var(--sub)}.filled{background:var(--point-soft);border:1px solid #f9c9b9;text-align:left}.slot-emoji{font-size:20px;flex-shrink:0}.slot-name{font-size:10px;font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}.filled svg{color:var(--point)}.empty-state{padding:45px 15px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.empty-state>span{font-size:35px}.empty-state b{font-size:17px}.empty-state p{font-size:13px;color:var(--sub)}.loading-state{padding-top:60px;color:var(--sub);text-align:center}.toast{position:fixed;bottom:215px;left:50%;transform:translateX(-50%);padding:13px 17px;border-radius:14px;color:var(--bg);background:var(--ink);font-size:13px;max-width:calc(100vw - 40px);width:max-content;z-index:30;box-shadow:0 4px 20px #0002}.reveal{padding-top:11px;text-align:center}.review-variants{display:flex;gap:6px;background:var(--surface);padding:5px;border-radius:12px;margin:16px 0}.review-variants a{flex:1 1;text-align:center;font-size:12px;padding:10px 5px;border-radius:9px;color:var(--sub)}.review-variants a[aria-current=page]{background:var(--ink);color:var(--bg)}.reveal-result{text-align:center;padding-top:24px}.result-title{font-size:21px;font-weight:500;padding:0;line-height:1.5}.result-amount{display:block;font-size:clamp(40px,12vw,60px);line-height:1.35;font-weight:700;letter-spacing:-2px;margin:10px 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-outcome{display:block;color:var(--point);font-size:26px;font-weight:600}.result-estimate{font-size:11px;color:var(--sub);margin-top:10px}.reveal-costs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);padding:19px 10px;border-radius:18px;margin-top:26px;text-align:center}.reveal-costs>div+div{border-left:1px solid var(--line)}.reveal-costs span{display:block;font-size:11px;color:var(--sub)}.reveal-costs b{display:block;font-size:20px;font-weight:600;margin-top:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-servings{display:flex;align-items:center;gap:16px;margin-top:24px}.result-servings>span{font-size:12px;flex:none}.result-servings .serving-segments{flex:1 1}.result-servings .serving-segments button{font-size:13px;padding:9px 0}.reveal-picked{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:23px 0 0}.reveal-picked>div{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}.reveal-picked .thumb{width:42px;height:42px;border-radius:12px}.reveal-picked>div>span:last-child{font-size:10px;line-height:1.5;color:var(--sub);overflow-wrap:anywhere}.result-details{margin-top:16px}.result-shipping{font-size:10px;color:var(--sub);margin-top:4px}.result-minimal{padding-top:55px}.result-minimal .result-title{font-size:22px}.result-minimal .result-amount{font-size:clamp(46px,14vw,68px);margin-top:16px}.result-minimal .result-servings{margin-top:38px}.centered{justify-content:center;font-size:11px}.reveal-title{font-size:25px;padding-top:15px}.amount-label{font-size:11px;color:var(--sub);margin-top:22px}.big-amount{font-size:54px;line-height:1.3;font-weight:700;letter-spacing:-2.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.big-amount small{font-size:25px;letter-spacing:-1px;margin-left:3px}.amount-caption{font-size:14px;color:var(--point);font-weight:500;margin-top:2px}.mini-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin:30px 8px 26px}.mini-meals>div{display:flex;flex-direction:column;align-items:center;gap:8px}.mini-meals .thumb{height:49px;width:49px;border-radius:16px}.mini-meals>div>span:last-child{font-size:10px;color:var(--sub);line-height:1.5;max-width:100px}.comparison{background:var(--surface);padding:5px 21px;border-radius:20px;text-align:left}.comparison>div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px 0;font-size:14px}.comparison>div+div{border-top:1px solid var(--line)}.comparison b{font-size:16px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.serving-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;text-align:left;margin:25px 0 10px}.serving-label b{font-size:12px;font-weight:500}.serving-label span{font-size:10px;color:var(--sub)}.serving-segments{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px;background:var(--surface);padding:5px;border-radius:16px}.serving-segments button{padding:11px 0;border-radius:12px;font-size:14px;color:var(--sub);font-weight:500}.serving-segments button[aria-pressed=true]{background:var(--bg);box-shadow:0 2px 5px #0000000d;color:var(--ink)}.fine-print{font-size:11px;line-height:1.8;color:var(--sub);margin-top:20px;text-align:center}.align-left,.price-sources{text-align:left}.price-sources{margin-top:18px;font-size:11px;color:var(--sub);line-height:1.8}.price-sources summary{cursor:pointer;padding:8px 0;text-align:center}.price-sources p{padding:10px 0}.ingredient-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:18px 0}.ingredient-copy{flex:1 1;min-width:0}.ingredient-copy>b{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:600;letter-spacing:-.3px}.ingredient-copy>span{display:block;font-size:11px;color:var(--sub);line-height:1.7;margin-top:4px;overflow-wrap:anywhere}.ingredient-copy>span+span{margin-top:2px}.ingredient-copy i{font-style:normal}.ingredient-check{width:29px;height:29px;position:relative;border:1.5px solid #dce1e4;border-radius:9px;display:grid;place-items:center;flex:none}.ingredient-check:before{content:"";position:absolute;inset:-8px}.ingredient-check[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.excluded .ingredient-copy>b{color:var(--sub);text-decoration:line-through}.ingredient-fold{border-bottom:1px solid var(--line)}.ingredient-fold>summary{display:flex;gap:8px;align-items:center;list-style:none;cursor:pointer;min-height:65px;font-size:14px;font-weight:500}.ingredient-fold>summary::-webkit-details-marker{display:none}.ingredient-fold>summary>span{color:var(--sub);font-size:12px;font-weight:400}.ingredient-fold>summary>svg{margin-left:auto;transform:rotate(90deg);color:var(--sub)}.ingredient-fold[open]>summary>svg{transform:rotate(-90deg)}.ingredient-fold .ingredient-row:last-child{border-bottom:0}.total-line{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:15px;font-size:13px}.total-line b{font-size:23px;letter-spacing:-.8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shopping-progress-heading{display:flex;justify-content:space-between;font-size:12px;align-items:center;margin:0 0 12px}.shopping-progress-heading b{font-size:20px;letter-spacing:-.5px}.shopping-progress-heading b span{font-size:15px;color:var(--sub);font-weight:400}.shopping-progress{height:5px;background:var(--line);border-radius:10px;margin-bottom:15px;overflow:hidden}.shopping-progress i{height:100%;display:block;background:var(--point);border-radius:10px;transition:width .25s}.shop-row{gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}.shop-button,.shop-row{display:flex;align-items:center}.shop-button{justify-content:center;gap:6px;min-width:80px;min-height:43px;padding:11px 13px;border-radius:13px;background:var(--point);color:#fff;font-size:12px;font-weight:600;flex:none}.recipe-shopping-list{display:grid;grid-gap:24px;gap:24px;margin-top:20px}.recipe-shopping-box{border:1px solid var(--line);border-radius:22px;padding:16px;min-width:0}.recipe-shopping-heading{display:flex;align-items:center;gap:12px;padding-bottom:18px}.recipe-shopping-heading>div{min-width:0}.recipe-shopping-heading h2{font-size:17px;margin-top:4px;overflow-wrap:anywhere}.recipe-shopping-heading>div>span{font-size:11px;color:var(--point)}.recipe-shopping-heading .thumb{width:52px;height:52px;border-radius:15px}.shopping-category{border-top:1px solid var(--line);padding-top:15px;margin-top:8px}.shopping-category h3{font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.shopping-category h3>span{font-size:11px;color:var(--sub);font-weight:400}.category-note{font-size:11px;color:var(--sub);margin:7px 0 12px}.purchase-item{scroll-margin-top:24px}.recipe-shopping-box .ingredient-row,.recipe-shopping-box .shop-row{border:0;padding:14px 0;gap:10px}.recipe-shopping-box .ingredient-copy>b{font-size:14px}.recipe-shopping-box .shop-button{font-size:11px;min-height:44px;padding:10px;gap:4px;min-width:0}.shared-purchase-note{line-height:1.7;color:var(--sub);background:var(--surface);padding:10px 12px;border-radius:10px;margin:0 0 12px}.shared-ingredient,.shopping-excluded{display:flex;flex-direction:column;gap:4px;padding:12px 0;font-size:12px}.shared-ingredient b,.shopping-excluded b{font-weight:500}.shared-ingredient span,.shopping-excluded span{color:var(--sub);font-size:11px}.shared-ingredient a{color:var(--point);text-decoration:underline;text-underline-offset:3px;font-size:11px;min-height:44px;display:flex;align-items:center;gap:4px}.shopping-excluded{color:var(--sub)}.ingredient-copy .product-opened{color:var(--ok);font-size:11px}.recipe-shopping-box .shop-row{display:grid;grid-template-columns:88px minmax(0,1fr);grid-gap:10px 12px;gap:10px 12px;padding:18px 0}.product-photo{grid-column:1;grid-row:1/3;align-self:start;width:88px;aspect-ratio:1;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:contain;display:block}.product-photo-fallback{padding:8px;text-align:center;color:#555;font-size:12px}.product-photo-fallback small{display:block;font-size:10px;margin-top:7px}.recipe-shopping-box .shopping-category{border:0;padding-top:0;margin-top:24px}.shopping-category h3{padding:12px 14px;border-radius:12px;background:var(--surface);font-size:16px;font-weight:700}.shopping-category[data-category=required] h3{background:var(--point-soft);color:var(--point)}.shopping-category[data-category=optional] h3{border:1px dashed var(--line);background:var(--bg)}.shopping-category h3>span{font-size:12px;color:inherit}.shopping-category .category-note{font-size:12px;margin:9px 3px 5px}.recipe-shopping-box .ingredient-photo-row{display:grid;grid-template-columns:76px minmax(0,1fr) 29px;grid-gap:12px;gap:12px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}.ingredient-photo-row .product-photo-preview,.shared-photo-row .product-photo-preview{position:static;grid-column:auto;grid-row:auto;width:76px;align-self:start}.ingredient-photo-row .ingredient-check{margin-top:5px}.recipe-shopping-box .ingredient-photo-row .ingredient-copy>b{font-size:15px;line-height:1.5}.ingredient-price{display:block;font-size:15px;margin-top:5px;font-weight:600}.ingredient-photo-row .ingredient-copy>span{font-size:12px;line-height:1.6}.ingredient-photo-row .ingredient-copy .ingredient-pack{font-size:11px}.ingredient-photo-row.excluded .ingredient-copy>b{text-decoration:none}.ingredient-photo-row.excluded .ingredient-price{color:var(--sub)}.shared-ingredient.shared-photo-row{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:12px;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.shared-copy>b{display:block;font-size:15px;font-weight:600;color:var(--ink)}.shared-copy>span{display:block;margin-top:5px;font-size:12px}.shared-copy .shared-status{font-size:11px;color:var(--point)}.shared-copy>a{font-size:11px;line-height:1.6;margin-top:5px;min-height:36px}.shared-purchase-note{margin-top:8px;font-size:11px}@media(max-width:359px){.recipe-shopping-box{padding:12px}.recipe-shopping-box .ingredient-photo-row{grid-template-columns:60px minmax(0,1fr) 29px;gap:8px}.ingredient-photo-row .product-photo-preview,.shared-photo-row .product-photo-preview{width:60px}.shared-ingredient.shared-photo-row{grid-template-columns:60px minmax(0,1fr);gap:8px}}.recipe-shopping-box .shop-row>.ingredient-copy{grid-column:2;grid-row:1}.recipe-shopping-box .shop-row>.shop-button{grid-column:2;grid-row:2;justify-self:end;padding:10px 13px}@media(max-width:359px){.recipe-shopping-box .shop-row{grid-template-columns:72px minmax(0,1fr);column-gap:10px}.product-photo{width:72px}}.disclosure{color:var(--sub);font-size:10px;line-height:1.8;padding:20px 0}.finish-confirm{padding:22px;background:var(--point-soft);border-radius:18px;margin:20px 0}.finish-confirm>b{font-size:15px}.finish-confirm>p{font-size:13px;color:var(--sub);margin:10px 0 18px}.finish-confirm .cta{font-size:14px;min-height:48px}.cook-list{display:flex;flex-direction:column;gap:16px}.cook-card{border:1px solid var(--line);border-radius:22px;padding:20px}.cook-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.day-label{font-size:11px;font-weight:600;color:var(--point);background:var(--point-soft);padding:4px 10px;border-radius:7px}.cooked-label{font-size:11px;color:var(--ok);gap:4px}.cook-card-body,.cooked-label{display:flex;align-items:center}.cook-card-body{gap:13px}.cook-card-body>div{flex:1 1}.cook-card-body h2{font-size:16px}.cook-card-body p{font-size:12px;color:var(--sub);margin-top:5px}.cook-card-body>svg{color:var(--sub)}.cook-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:12px;border-top:1px solid var(--line);margin-top:18px;padding-top:13px;color:var(--sub)}.cook-detail-title{font-size:28px;padding-top:12px}.recipe-video{border-radius:20px;overflow:hidden;background:var(--surface);aspect-ratio:16/9}.recipe-video.vertical{aspect-ratio:9/16;max-height:560px}.recipe-video iframe{display:block;width:100%;height:100%;border:0}.video-cover{position:relative;width:100%;height:100%;display:grid;place-items:center}.video-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#0007)}.video-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-play{position:relative;width:52px;height:52px;background:#fff;color:var(--point);border-radius:50%;display:grid;place-items:center;z-index:1;font-size:18px;padding-left:3px;box-shadow:0 4px 24px #0002}.video-caption{position:absolute;bottom:17px;color:#fff;font-size:12px;z-index:1}.video-credit{font-size:13px;color:var(--sub);margin:11px 0 19px;line-height:1.8}.video-credit a{display:inline-flex;align-items:center;min-height:40px;text-decoration:underline;text-underline-offset:3px}.cook-ingredients{border-top:1px solid var(--line)}.cook-ingredients ul{list-style:none;padding-bottom:15px}.cook-ingredients li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px}.cook-ingredients li b{font-weight:500;flex-shrink:0}.cook-ingredients li small{font-size:10px;color:var(--sub)}.cook-ingredients .fine-print{margin:0 0 20px}.cook-steps-heading{margin-top:30px;padding-bottom:0}.cook-ingredients>summary,.cook-steps-heading h2{color:var(--point)}.cook-ingredients{margin-top:28px}.step-note{margin:10px 0 8px}.cook-steps{list-style:none}.cook-steps>li{display:flex;align-items:flex-start;gap:16px;padding:23px 0;border-bottom:1px solid var(--line)}.step-number{width:35px;height:35px;border-radius:11px;background:var(--surface);display:grid;place-items:center;flex:none;font-size:13px;font-weight:600}.cook-steps>li>div{flex:1 1;min-width:0}.cook-steps>li>div>p{font-size:15px;line-height:1.85;margin-top:1px}.step-complete .step-number{background:var(--point);color:#fff}.step-complete>div>p,.step-tip{color:var(--sub)}.step-tip{font-size:12px;margin-top:12px}.step-tip summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;width:-moz-fit-content;width:fit-content}.step-tip summary::-webkit-details-marker{display:none}.step-tip p{margin-top:10px;background:var(--surface);border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.8}.cook-complete{margin-top:28px}.comments{margin-top:40px;border-top:1px solid var(--line);padding-top:28px}.comments h3{font-size:19px;letter-spacing:-.5px;margin-bottom:8px}.comments-intro{font-size:12px;color:var(--sub);margin-bottom:20px}.comment-list{list-style:none}.comment-item{padding:19px 0;border-bottom:1px solid var(--line)}.comment-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}.comment-nick{font-size:12px;font-weight:600}.comment-date{font-size:10px;color:var(--sub)}.comment-body{font-size:14px;line-height:1.8;margin-top:10px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}.comment-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:8px}.comment-actions button{font-size:11px;color:var(--sub);min-height:35px}.comments input,.comments textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px;font-size:13px;min-width:0}.comments input::placeholder,.comments textarea::placeholder{color:var(--sub)}.comments textarea{resize:vertical;min-height:105px;line-height:1.8}.comment-form{display:flex;flex-direction:column;gap:10px;margin-top:14px}.comment-edit{margin-top:12px}.comment-edit-row{display:flex;gap:7px;align-items:center;margin-top:9px}.comment-edit-row input{flex:1 1;width:0}.comment-edit-row button{flex:none;width:auto;background:var(--ink);color:var(--bg);border-radius:11px;padding:12px;font-size:12px;min-height:43px}.comment-edit-row button.ghost{background:var(--surface);color:var(--sub)}.comment-edit-row button:disabled{opacity:.5}.comment-error{padding:12px 14px;border-radius:12px;background:var(--point-soft);color:var(--point);font-size:12px;line-height:1.7;margin-top:12px}.comment-error button{display:block;text-decoration:underline;margin-top:6px;min-height:30px}.comment-compose-toggle{margin-top:20px;font-size:14px;background:var(--surface);color:var(--ink)}.comments .empty{color:var(--sub);font-size:13px;padding:22px 0}.hp-field{display:none!important}.recipe-shopping-box .ingredient-photo-row{grid-template-columns:minmax(0,1fr) 29px;padding:14px 0;gap:10px}.ingredient-details{min-width:0}.ingredient-details>summary{display:grid;grid-template-columns:68px minmax(0,1fr);grid-gap:12px;gap:12px;cursor:pointer;list-style:none;align-items:center}.category-disclosure>summary::-webkit-details-marker,.ingredient-details>summary::-webkit-details-marker{display:none}.ingredient-details .product-photo-preview{width:68px}.ingredient-details .ingredient-copy{min-width:0}.ingredient-details .ingredient-copy>b{display:block}.ingredient-quantity{font-weight:400;font-size:12px;color:var(--sub);white-space:nowrap}.ingredient-details .ingredient-copy>span{display:block;font-size:11px;line-height:1.5;margin-top:4px}.ingredient-details .ingredient-price{margin-top:3px}.detail-chevron{display:inline-block;margin-left:6px;color:var(--sub);font-size:15px}.ingredient-details[open] .detail-chevron{transform:rotate(180deg)}.ingredient-extra{padding:10px 12px;margin-top:10px;border-radius:10px;background:var(--surface);color:var(--sub);font-size:12px;line-height:1.6}.ingredient-extra p{margin:0}.recipe-shopping-box .category-disclosure{margin-top:8px}.category-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;list-style:none;background:var(--surface)}.category-summary-copy{min-width:0}.category-summary-copy>strong{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink)}.category-disclosure[data-category=pantry] .category-summary-copy>strong{color:var(--point)}.category-count{font-size:12px;font-weight:500;color:var(--sub)}.category-preview{display:block;margin-top:2px;font-size:12px;color:var(--sub);line-height:1.5}.category-action{display:flex;flex-shrink:0;align-items:center;gap:6px;padding:0;min-height:32px;font-size:12px;font-weight:700;color:var(--point)}.disclosure-chevron{display:inline-block;font-size:16px;line-height:1}.category-disclosure .when-open{display:none}.category-disclosure[open] .when-open{display:inline}.category-disclosure[open] .when-closed{display:none}.category-disclosure[open] .disclosure-chevron{transform:rotate(180deg)}.category-disclosure>summary:hover{border-color:var(--point)}.category-disclosure>summary:focus-visible,.ingredient-details>summary:focus-visible{outline:2px solid var(--point);outline-offset:4px}.skip-link:not(:focus),.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:10px;left:10px;z-index:100;padding:10px;background:var(--bg)}@media(min-width:700px){body{background:#f5f6f7}.app{background:var(--bg);box-shadow:0 0 0 1px #00000004}.bottom-bar{background:none}.bottom-inner{background:linear-gradient(to top,var(--bg) 93%,transparent);padding-top:25px;box-shadow:0 1px 0 1px #00000002}.home-header{height:88px}}@media(max-width:359px){.bottom-inner,main{padding-left:18px;padding-right:18px}.hero-title{font-size:38px}.meal-orbit{gap:10px}.meal-bubble{width:80px;height:80px}.meal-bubble.highlight{width:90px;height:90px}.category-card{padding:18px 14px}.category-card b{font-size:15px}.category-description{font-size:10px}.recipe-row{gap:10px}.recipe-copy b{font-size:14px}.slot-emoji{font-size:16px}.slot-name{font-size:9px}.big-amount{font-size:46px}}@media(prefers-color-scheme:dark){:root{--bg:#101315;--ink:#eef2f4;--sub:#a2abb0;--line:#293034;--surface:#1a2023;--point:#ff714a;--point-soft:#351e17;--ok:#60bd94;color-scheme:dark}body{background:#0b0e10}.app{background:var(--bg)}.filled{border-color:#73432f}.ingredient-check{border-color:#3b464c}.cta.primary,.shop-button{color:#fff}.video-play{color:#f04e23}.home-header{background:var(--bg)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.table-history-search{margin:4px 0 18px}.plan-items{border-top:1px solid var(--line);margin-top:6px}.plan-items summary{display:flex;align-items:center;gap:6px;min-height:48px;font-size:14px;cursor:pointer;list-style:none}.plan-items summary::-webkit-details-marker{display:none}.plan-items summary b{color:var(--sub);font-weight:500}.plan-items summary svg{margin-left:auto;transition:transform .15s}.plan-items[open] summary svg{transform:rotate(90deg)}.plan-items ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:2px}.plan-items li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:14px}.plan-items li>span{display:flex;flex-direction:column;gap:2px;min-width:0}.plan-items li small{font-size:12px;color:var(--sub);overflow-wrap:anywhere}.plan-items li em{font-style:normal;font-size:13px;color:var(--sub);flex:none}.plan-items li.is-bought em{color:var(--point);font-weight:600}.credits-page ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.credits-page li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.credits-page li img{flex:none;width:48px;height:48px;border-radius:50%;background:var(--surface);object-fit:contain}.credits-page li span{display:flex;flex-direction:column;gap:2px;min-width:0}.credits-page li b{font-size:13px;overflow-wrap:anywhere}.credits-page li small{font-size:11.5px;color:var(--sub);overflow-wrap:anywhere}.credits-page li a{font-size:12px;color:var(--point)}.onb-overlay{position:fixed;inset:0;z-index:60;background:rgba(10,12,14,.62);display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom));animation:onb-fade .2s ease-out}.onb-card{width:100%;max-width:420px;background:var(--bg);border-radius:26px;padding:22px 22px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:onb-up .28s ease-out}.onb-progress{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px;width:100%;margin-bottom:26px}.onb-progress span{height:4px;border-radius:99px;background:var(--line);transition:background .2s}.onb-progress span[data-on=true]{background:var(--point)}.onb-icon{width:72px;height:72px;border-radius:24px;background:var(--surface);color:var(--ink);display:grid;place-items:center;margin-bottom:18px}.onb-icon .onb-accent,.onb-icon .onb-accent-fill{stroke:var(--point);fill:var(--point)}.onb-title{font-size:21px;letter-spacing:-.8px;line-height:1.4}.onb-title em{font-style:normal;color:var(--point)}.onb-desc{font-size:14px;color:var(--sub);line-height:1.65;margin:8px 0 24px;word-break:keep-all;max-width:300px}.onb-card .cta{margin:0}.onb-skip{font-size:13px;color:var(--sub);padding:12px 16px;min-height:44px}@keyframes onb-fade{0%{opacity:0}to{opacity:1}}@keyframes onb-up{0%{transform:translateY(24px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.onb-card,.onb-overlay{animation:none}}.onb-card:focus{outline:none}.onb-pan{fill:var(--ink);stroke:var(--ink)}.onb-pan.accent{fill:var(--point);stroke:var(--point)}.onb-links{display:flex;justify-content:space-between;width:100%;margin-top:2px}:root{--cart-blue:#2f6bff}.cart-plus-icon{display:inline-grid;place-items:center;border-radius:50%;background:#fff;color:var(--cart-blue);box-shadow:0 1px 4px rgba(20,24,27,.22);flex:none}.cart-plus-icon.inline{vertical-align:-5px;margin:0 1px}.onb-icon .cart-plus-icon{box-shadow:0 3px 10px rgba(20,24,27,.18)}.onb-desc b,.sp-live-note b{color:var(--ink);font-weight:600}