:root{--ink:#20231f;--muted:#686d66;--line:#d9ddd6;--surface:#fff;--canvas:#f3f5f1;--soft:#e9eee8;--green:#176b4d;--green-dark:#0f513b;--green-soft:#e3f0e9;--red:#bd4d31;--red-dark:#923820;--red-soft:#f8e9e3;--yellow:#d7a92f;--focus:#176b4d;--shadow:0 8px 24px #20231f14;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;color:var(--ink);-webkit-text-size-adjust:100%}body{background:var(--canvas);min-width:320px;min-height:100dvh;font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;letter-spacing:0;margin:0;overflow-x:hidden}button,input,select,textarea{color:inherit;font:inherit;letter-spacing:0}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.48}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #176b4d3d}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}.eyebrow,.brand-caption{color:var(--green);text-transform:uppercase;font-size:12px;font-weight:760}.primary-button,.secondary-button{border-radius:6px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:720;display:inline-flex}.primary-button{background:var(--green);color:#fff}.primary-button:active{background:var(--green-dark)}.secondary-button{border:1px solid var(--line);background:var(--surface)}.text-button{min-height:44px;color:var(--green);background:0 0;padding:0 12px;font-weight:700}.icon-button{background:0 0;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:inline-flex}.auth-shell{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 20px max(28px, var(--safe-bottom));background:linear-gradient(180deg, #176b4d1a 0, transparent 34%), var(--surface)}.auth-panel{width:min(100%,460px);margin:0 auto;padding-top:4vh}.brand-mark{background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:36px;font-size:17px;font-weight:760;display:flex}.auth-panel h1{max-width:420px;margin-top:8px;font-size:38px;line-height:1.18}.auth-copy{color:var(--muted);margin:16px 0 30px;font-size:16px;line-height:1.7}.auth-panel form{gap:18px;display:grid}.auth-panel textarea,.invite-result textarea,.recovery-modal textarea{resize:none;border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;border-radius:6px;padding:12px 14px;line-height:1.5}.auth-secondary{width:100%;margin-top:10px}.auth-back{width:fit-content;min-height:44px;color:var(--green-dark);background:0 0;font-weight:700}.auth-footnote{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.6}.invite-panel .primary-button{width:100%}fieldset{border:0;min-width:0;margin:0;padding:0}legend,label>span,.create-meal label>span{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:680;display:block}.identity-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.identity-choices label{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:64px;font-size:20px;font-weight:720;display:flex;position:relative}.identity-choices label.selected{border-color:var(--green);background:var(--green-soft);color:var(--green-dark);box-shadow:inset 0 0 0 1px var(--green)}.identity-choices input,.choice-row input{opacity:0;pointer-events:none;position:absolute}input,select{border:1px solid var(--line);background:var(--surface);border-radius:6px;width:100%;min-height:48px;padding:0 14px;font-size:16px}input::placeholder{color:#979c95}.form-error{border-left:3px solid var(--red);color:var(--red-dark);padding-left:10px;font-size:14px}.loading-screen{min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-line{background:var(--line);width:120px;height:3px;overflow:hidden}.loading-line:after{background:var(--green);content:"";width:50%;height:100%;animation:1.2s ease-in-out infinite loading;display:block}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(200%)}}.app-shell{width:min(100%,760px);min-height:100dvh;padding-bottom:calc(78px + var(--safe-bottom));background:var(--canvas);margin:0 auto}.app-shell.has-action-bar{padding-bottom:calc(156px + var(--safe-bottom))}.app-header{z-index:30;min-height:calc(68px + env(safe-area-inset-top));padding:max(12px, env(safe-area-inset-top)) 18px 12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #d9ddd6db;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header h1{margin-top:2px;font-size:21px;line-height:1.2}.avatar-button,.large-avatar{background:var(--ink);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:760;display:inline-flex}.avatar-button{width:44px;height:44px}.avatar-popover{z-index:50;top:calc(58px + env(safe-area-inset-top));border:1px solid var(--line);width:min(240px,100vw - 28px);box-shadow:var(--shadow);background:#fff;border-radius:6px;padding:14px;display:grid;position:absolute;right:14px}.avatar-popover>span{color:var(--muted);font-size:12px}.avatar-popover>strong{margin:2px 0 10px;font-size:20px}.avatar-popover button{border-top:1px solid var(--line);text-align:left;background:#fff;min-height:44px}.meal-context{border-bottom:1px solid var(--line);background:var(--surface);padding:14px 18px}.meal-context>div:first-child{align-items:center;gap:9px;display:flex}.meal-context strong{font-size:15px}.status-dot{background:var(--muted);border-radius:50%;width:9px;height:9px}.status-dot.active{background:var(--red)}.status-dot.progress{background:var(--yellow)}.status-dot.done{background:var(--green)}.context-meta{color:var(--muted);flex-wrap:wrap;gap:8px 12px;margin-top:8px;font-size:12px;display:flex}.status-pill{background:var(--soft);color:var(--ink);border-radius:999px;padding:2px 7px;font-weight:700}.status-pill.active{background:var(--red-soft);color:var(--red-dark)}.status-pill.progress{color:#745500;background:#f7efcf}.status-pill.done{background:var(--green-soft);color:var(--green-dark)}.page-content{padding:18px}.create-meal{border:1px solid var(--line);background:var(--surface);border-radius:6px;gap:20px;width:min(100%,620px);margin:0 auto;padding:22px;display:grid;position:relative}.creator-close{width:44px;height:44px;color:var(--muted);background:0 0;font-size:24px;position:absolute;top:8px;right:8px}.create-meal header h2{margin:4px 0 8px;font-size:26px}.create-meal header p{color:var(--muted);line-height:1.55}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-stack{gap:8px;display:grid}.choice-row{border:1px solid var(--line);border-radius:6px;align-items:center;min-height:64px;padding:11px 13px;display:flex;position:relative}.choice-row:before{content:"";border:1px solid #9ba099;border-radius:50%;width:18px;height:18px;margin-right:12px}.choice-row.selected{border-color:var(--green);background:var(--green-soft)}.choice-row.selected:before{border:5px solid var(--green)}.choice-row strong,.choice-row small{display:block}.member-check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.member-check{border:1px solid var(--line);background:#fff;border-radius:6px;place-items:center;min-height:92px;padding:10px 6px;display:grid;position:relative}.member-check input{opacity:0;position:absolute}.member-check>span{background:var(--soft);width:38px;height:38px;color:var(--green-dark);border-radius:50%;justify-content:center;align-items:center;margin:0;font-weight:800;display:flex}.member-check>strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.member-check.selected{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}.field-help{color:var(--muted);margin-top:8px;display:block}.choice-row small{color:var(--muted);margin-top:3px}.stepper{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:44px minmax(54px,auto) 44px;align-items:center;min-height:44px;display:grid;overflow:hidden}.stepper.wide{grid-template-columns:52px 1fr 52px}.stepper button{min-height:44px;color:var(--green-dark);background:0 0;font-size:22px}.stepper strong{text-align:center}.empty-state{text-align:center;flex-direction:column;align-items:center;min-height:260px;padding:42px 18px;display:flex}.empty-mark{border:1px solid var(--line);width:44px;height:44px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:24px;display:flex}.empty-state h2{font-size:21px}.empty-state p{max-width:380px;color:var(--muted);margin:8px 0 20px;line-height:1.6}.done-panel{text-align:center;min-height:360px;padding:56px 16px}.done-check{background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto 18px;font-size:26px;display:flex}.done-panel h2{font-size:26px}.done-panel p{color:var(--muted);margin:8px 0 24px}.button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.order-tools{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.search-box{position:relative}.search-box span{color:var(--muted);font-size:21px;position:absolute;top:12px;left:13px}.search-box input{padding-left:42px}.selected-filter{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:6px;min-height:48px;padding:0 13px}.selected-filter.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark);font-weight:700}.category-scroll{scrollbar-width:none;grid-column:1/-1;gap:8px;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.category-scroll::-webkit-scrollbar{display:none}.category-scroll button{border:1px solid var(--line);background:#fff;border-radius:6px;flex:none;min-height:42px;padding:0 14px}.category-scroll button.active{border-color:var(--green);background:var(--green);color:#fff}.recommendation{border-left:3px solid var(--yellow);background:#fffdf5;align-items:flex-start;gap:10px;margin:14px 0;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.recommendation strong{flex:none}.recommendation span{color:var(--muted)}.dish-list{gap:10px;display:grid}.dish-row{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:112px minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.dish-row.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.dish-image-button{background:#e8eae6;min-height:168px;padding:0}.dish-image-button img{object-fit:cover;width:100%;height:100%}.dish-main{min-width:0;padding:14px}.dish-title{text-align:left;background:0 0;min-height:30px;padding:0;font-size:18px;font-weight:760}.dish-main>p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.dish-meta{color:var(--muted);flex-wrap:wrap;gap:4px 8px;margin:9px 0;font-size:11px;display:flex}.dish-selection{gap:8px;display:grid}.dish-selection input{min-height:42px;font-size:14px}.add-dish-button{border:1px solid var(--green);min-height:44px;color:var(--green-dark);background:#fff;border-radius:6px;padding:0 14px;font-weight:700}.skip-ordering{min-height:48px;color:var(--muted);text-underline-offset:4px;background:0 0;margin:18px auto 8px;padding:0 14px;text-decoration:underline;display:block}.order-action-bar{z-index:35;right:0;bottom:calc(70px + var(--safe-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;justify-content:space-between;align-items:center;width:min(100%,760px);min-height:74px;margin:0 auto;padding:10px 16px;display:flex;position:fixed;left:0;box-shadow:0 -8px 22px #20231f14}.order-action-bar div{min-width:0}.order-action-bar strong,.order-action-bar span{display:block}.order-action-bar span{color:var(--muted);margin-top:2px;font-size:11px}.order-action-bar button{background:var(--green);color:#fff;border-radius:6px;min-width:118px;min-height:48px;font-weight:760}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:14px;display:flex}.section-heading h2{margin-top:3px;font-size:25px}.section-heading>span{color:var(--muted);font-size:14px}.final-menu-list{gap:10px;display:grid}.final-dish{border:1px solid var(--line);background:var(--surface);border-radius:6px;overflow:hidden}.final-dish-main{text-align:left;background:0 0;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:76px;padding:8px 12px 8px 8px;display:grid}.final-dish-main img{object-fit:cover;border-radius:4px;width:60px;height:60px}.final-dish-main strong,.final-dish-main small{display:block}.final-dish-main strong{font-size:17px}.final-dish-main small{color:var(--muted);margin-top:4px}.final-dish-main b{color:var(--green-dark)}.source-detail{color:var(--muted);flex-wrap:wrap;gap:4px 10px;padding:0 14px 10px 80px;font-size:12px;display:flex}.portion-adjust{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:7px 12px;display:flex}.portion-adjust>span{color:var(--muted);font-size:12px}.portion-adjust .stepper{grid-template-columns:40px 44px 40px}.conflict-panel{background:var(--red-soft);border-top:1px solid #e5c6bc;padding:14px}.conflict-panel>strong{color:var(--red-dark);margin-bottom:7px;display:block}.conflict-panel p{margin:4px 0;font-size:13px}.conflict-actions{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.conflict-actions button{min-height:42px;color:var(--red-dark);background:#fff;border:1px solid #e4b8aa;border-radius:4px;padding:0 10px;font-size:13px}.manual-taste{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.manual-taste button{background:var(--red);color:#fff;border-radius:4px;min-width:68px}.resolved-taste{border-top:1px solid var(--line);color:var(--muted);padding:10px 14px;font-size:13px}.resolved-taste span{color:var(--green);margin-right:9px;font-weight:700}.details-toggle,.pantry-toggle{border:1px solid var(--line);text-align:left;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:52px;margin-top:14px;padding:0 12px;display:flex}.details-toggle span:last-child,.pantry-toggle span:last-child{color:var(--muted);font-size:13px}.member-details{border:1px solid var(--line);background:#fff;border-top:0;padding:10px 12px}.member-details div{border-bottom:1px solid var(--line);padding:9px 0}.member-details div:last-child{border-bottom:0}.member-details strong,.member-details span{display:block}.member-details span{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.meal-facts{border-block:1px solid var(--line);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0;display:grid}.meal-facts div{border-right:1px solid var(--line);padding:14px 10px}.meal-facts div:last-child{border-right:0}.meal-facts span,.meal-facts strong{display:block}.meal-facts span{color:var(--muted);font-size:11px}.meal-facts strong{margin-top:4px;font-size:13px}.lifecycle-actions{gap:8px;display:grid}.danger-text{min-height:48px;color:var(--red-dark);background:0 0}.segmented-tabs{border:1px solid var(--line);background:var(--soft);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;padding:3px;display:grid}.segmented-tabs button{min-height:44px;color:var(--muted);background:0 0;border-radius:4px;font-weight:700}.segmented-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #20231f1a}.list-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.list-toolbar strong,.list-toolbar span{display:block}.list-toolbar span{color:var(--muted);margin-top:3px;font-size:12px}.list-toolbar button{border:1px solid var(--green);min-height:44px;color:var(--green-dark);background:#fff;border-radius:6px;padding:0 12px;font-size:13px;font-weight:700}.ingredient-list{gap:8px;display:grid}.ingredient-item{border:1px solid var(--line);background:#fff;border-radius:6px;padding:14px}.ingredient-title>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ingredient-title strong{font-size:17px}.ingredient-title>div span{color:var(--green-dark);font-weight:700}.ingredient-title p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5}.ingredient-title p button{color:var(--green-dark);text-underline-offset:2px;background:0 0;padding:0;text-decoration:underline}.ingredient-title .quantity-change{border-left:3px solid var(--yellow);color:#735700;background:#fffdf3;padding:6px 8px}.ingredient-title .prep-note{color:var(--ink)}.direct-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.direct-actions button{border:1px solid var(--line);background:#fff;border-radius:4px;min-width:0;min-height:44px;padding:4px;font-size:12px}.direct-actions button.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark);font-weight:720}.prepare-check{border:1px solid var(--line);text-align:left;background:#fff;border-radius:4px;align-items:center;gap:8px;width:100%;min-height:46px;margin-top:12px;padding:0 12px;display:flex}.prepare-check span{border:1px solid #9ba099;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.prepare-check.checked{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.prepare-check.checked span{border-color:var(--green);background:var(--green);color:#fff}.manual-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.manual-form{grid-template-columns:minmax(0,2fr) minmax(64px,.6fr) minmax(64px,.6fr) auto;gap:7px;display:grid}.manual-form button{background:var(--green);color:#fff;border-radius:6px;min-width:60px;font-weight:700}.manual-list{gap:7px;margin-top:10px;display:grid}.manual-list article{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:6px;min-height:60px;padding:8px 4px 8px 12px;display:grid}.manual-list strong,.manual-list span{display:block}.manual-list span{color:var(--muted);font-size:12px}.manual-list article>button:not(.icon-button){border:1px solid var(--line);background:#fff;border-radius:4px;min-height:40px;padding:0 9px;font-size:12px}.manual-list article>button.checked{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.profile-block{align-items:center;gap:16px;padding:20px 0 26px;display:flex}.large-avatar{width:70px;height:70px;font-size:25px}.profile-block span:not(.large-avatar){color:var(--muted);font-size:12px}.profile-block h2{margin:2px 0;font-size:25px}.profile-block p{color:var(--muted)}.settings-group{border:1px solid var(--line);background:#fff;border-radius:6px;margin-bottom:18px}.settings-group h3{color:var(--muted);padding:12px 14px 8px;font-size:12px}.settings-group button{border-top:1px solid var(--line);text-align:left;background:#fff;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:0 14px;display:flex}.settings-group button strong{color:var(--muted);font-size:13px;font-weight:500}.member-setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:62px;padding:8px 12px;display:flex}.member-setting-row>span{align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.member-setting-row>span b{background:var(--green-soft);width:34px;height:34px;color:var(--green-dark);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.member-setting-row small{color:var(--muted);font-size:11px;font-weight:500}.settings-group .member-setting-row>button{border:1px solid var(--line);width:auto;min-height:40px;color:var(--green-dark);border-radius:6px;padding:0 10px}.invite-member-form{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding:12px;display:grid}.settings-group .invite-member-form button,.settings-group .invite-result button{background:var(--green);color:#fff;border:0;border-radius:6px;justify-content:center;width:auto;min-height:46px;font-weight:750}.invite-result{border-top:1px solid var(--line);gap:8px;padding:12px;display:grid}.invite-result>span{color:var(--muted);font-size:12px}.recovery-modal textarea{overflow-wrap:anywhere;font-size:12px}.history-section{margin:26px 0}.history-card{border:1px solid var(--line);background:#fff;border-radius:6px;margin-bottom:9px;padding:14px}.history-head{justify-content:space-between;align-items:flex-start;display:flex}.history-head strong,.history-head span{display:block}.history-head div span,.history-head>span{color:var(--muted);margin-top:3px;font-size:12px}.history-card>p{color:var(--muted);margin:12px 0;font-size:13px;line-height:1.6}.history-card>button{border:1px solid var(--green);min-height:44px;color:var(--green-dark);background:#fff;border-radius:4px;padding:0 13px;font-weight:700}.logout-button{width:100%;min-height:50px;color:var(--red-dark);background:#fff;border:1px solid #e6c2b8;border-radius:6px}.logout-help{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}.bottom-nav{z-index:40;width:min(100%,760px);min-height:calc(70px + var(--safe-bottom));padding:4px 8px var(--safe-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff7;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-width:0;min-height:62px;color:var(--muted);background:0 0;flex-direction:column;justify-content:center;align-items:center;padding:6px 2px;font-size:12px;display:flex}.bottom-nav button.active{color:var(--green-dark);font-weight:760}.nav-glyph{justify-content:center;align-items:center;width:26px;height:24px;margin-bottom:2px;font-size:20px;display:flex}.toast{z-index:80;top:calc(78px + env(safe-area-inset-top));border:1px solid var(--line);width:min(92vw,520px);min-height:48px;box-shadow:var(--shadow);background:#fff;border-radius:6px;align-items:center;gap:10px;padding:9px 8px 9px 14px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast span{flex:1;min-width:0;font-size:13px}.toast.success{border-left:4px solid var(--green)}.toast.error{border-left:4px solid var(--red)}.toast>button:not(.toast-close){min-height:36px;color:var(--green-dark);background:0 0;padding:0 8px;font-weight:700}.toast-close{width:36px;height:36px;color:var(--muted);background:0 0;font-size:20px}.retry-fab{z-index:45;right:16px;bottom:calc(86px + var(--safe-bottom));background:var(--red);color:#fff;min-height:44px;box-shadow:var(--shadow);border-radius:6px;padding:0 14px;position:fixed}.modal-backdrop{z-index:100;background:#0006;justify-content:center;align-items:flex-end;padding:18px;display:flex;position:fixed;inset:0}.creator-backdrop{align-items:flex-end;overflow-y:auto}.creator-backdrop .create-meal{max-height:calc(100dvh - 24px);box-shadow:var(--shadow);overflow-y:auto}.confirm-modal{width:min(100%,460px);box-shadow:var(--shadow);background:#fff;border-radius:8px 8px 0 0;gap:10px;padding:22px;display:grid}.confirm-modal h2{font-size:22px}.confirm-modal p{color:var(--muted);margin-bottom:8px;line-height:1.55}.detail-shell{padding-bottom:calc(26px + var(--safe-bottom));background:#fff}.detail-header{padding:max(10px, env(safe-area-inset-top)) 12px 12px;background:#fff;align-items:center;gap:8px;display:flex}.detail-header h1{margin-top:2px;font-size:22px}.recipe-hero{aspect-ratio:16/9;object-fit:cover;width:100%}.recipe-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.recipe-summary div{border-right:1px solid var(--line);text-align:center;padding:15px 8px}.recipe-summary div:last-child{border-right:0}.recipe-summary strong,.recipe-summary span{display:block}.recipe-summary span{color:var(--muted);margin-top:3px;font-size:11px}.detail-section{border-bottom:1px solid var(--line);padding:22px 18px}.detail-section h2{margin-bottom:12px;font-size:20px}.detail-section>p{color:var(--muted);margin:6px 0;line-height:1.6}.taste-callout{border-left:3px solid var(--green);background:var(--green-soft);padding:10px 12px;color:var(--ink)!important}.ingredient-lines{display:grid}.ingredient-lines div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0;display:grid}.ingredient-lines div:last-child{border-bottom:0}.ingredient-lines small{color:var(--muted);grid-column:1/-1}.steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.steps li{grid-template-columns:30px minmax(0,1fr);gap:10px;display:grid}.steps li>span{background:var(--green-soft);width:28px;height:28px;color:var(--green-dark);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:760;display:flex}.steps p{padding-top:3px;line-height:1.6}.muted-copy{color:var(--muted)}@media (width<=520px){.page-content{padding:14px}.create-meal{padding:17px}.dish-row{grid-template-columns:92px minmax(0,1fr)}.dish-image-button{min-height:176px}.dish-main{padding:11px}.source-detail{padding-left:14px}.manual-form{grid-template-columns:minmax(0,1fr) 76px 68px}.manual-form button{grid-column:1/-1;min-height:44px}}@media (width<=360px){.auth-panel h1{font-size:33px}.app-header{padding-inline:14px}.meal-context,.page-content{padding-inline:12px}.field-grid,.order-tools{grid-template-columns:1fr}.selected-filter{grid-row:2}.category-scroll{grid-row:3}.dish-row{grid-template-columns:76px minmax(0,1fr)}.dish-image-button{min-height:188px}.dish-title{font-size:16px}.dish-meta{display:grid}.order-action-bar{padding-inline:12px}.order-action-bar button{min-width:104px}.final-dish-main{grid-template-columns:52px minmax(0,1fr) auto;gap:8px}.final-dish-main img{width:52px;height:52px}.direct-actions{grid-template-columns:1fr}.direct-actions button{min-height:40px}.meal-facts{grid-template-columns:1fr}.meal-facts div{border-right:0;border-bottom:1px solid var(--line)}.meal-facts div:last-child{border-bottom:0}.manual-form{grid-template-columns:minmax(0,1fr) 72px}.manual-form input:nth-child(3){grid-column:1/-1}}@media (width>=761px){.app-shell{border-inline:1px solid var(--line);box-shadow:0 0 48px #20231f12}.modal-backdrop,.creator-backdrop{align-items:center}.confirm-modal{border-radius:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
