/* 开饭 · 三种餐桌，统一的操作。No serif font anywhere. */
:root{font-family:"PingFang SC",ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;font-synthesis:weight;color-scheme:light;--ink:#392719;--muted:#806950;--accent:#9e3525;--line:#9d673c45;--surface:#f4d2a3;--paper:#f8efdf;--nav:#f6eddf;--scene:url('../assets/themes/chinese-bg.jpg');--panel:url('../assets/themes/wood.jpg')}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:#d4c7b5;color:var(--ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}body.theme-western{--ink:#242d2d;--muted:#737063;--accent:#a11118;--line:#b9a38865;--surface:#faf0dc;--paper:#fbf2df;--nav:#f9f1e5;--scene:url('../assets/themes/western-bg.jpg');--panel:none}body.theme-italian{--ink:#123550;--muted:#747e82;--accent:#215e9d;--line:#998c7250;--surface:#fbf8ef;--paper:#fcf9f2;--nav:#faf9f4;--scene:url('../assets/themes/italian-bg.jpg');--panel:none}button,a,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{touch-action:manipulation}a{color:inherit}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}button svg{pointer-events:none}h1,h2,h3,p{margin:0}button{border:0;background:none}.app-shell{position:relative;isolation:isolate;width:100%;max-width:500px;min-height:100svh;margin:0 auto;padding:0 24px calc(122px + env(safe-area-inset-bottom));background:#f6e9d3;box-shadow:0 0 70px #33251a25}.app-shell:before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--scene);background-size:100% auto;background-position:center top;background-repeat:repeat-y;pointer-events:none}.app-header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:env(safe-area-inset-top)}.wordmark{text-decoration:none;font-size:27px;font-weight:800;letter-spacing:-1px;line-height:1.1;white-space:nowrap}.cuisine-switch{display:flex;align-items:center;gap:2px}.cuisine-switch button{padding:8px 14px;min-height:40px;border-radius:30px;font-size:14px;font-weight:650;white-space:nowrap}.cuisine-switch button[aria-pressed=true]{color:#fff;background:var(--accent)}.intro{padding:21px 0 27px;text-align:center}.intro h1{font-size:clamp(29px,8.1vw,40px);font-weight:800;letter-spacing:-1.2px;line-height:1.4}.intro p{font-size:17px;color:var(--muted);margin-top:7px;font-weight:550;letter-spacing:.6px}.meal-switch{display:flex;align-items:center;justify-content:center;margin:4px auto 25px;max-width:320px}.meal-switch button{position:relative;min-height:43px;flex:1;padding:7px 14px;font-size:16px;letter-spacing:1px;border-radius:26px;font-weight:600}.meal-switch button+button:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--line)}.meal-switch button[aria-pressed=true]{background:var(--accent);color:#fff}.meal-switch button[aria-pressed=true]:before,.meal-switch button[aria-pressed=true]+button:before{display:none}main{min-width:0}.menu-panel,.paper-panel{position:relative;border-radius:19px;padding:25px 24px 17px;background:var(--surface);background-image:var(--panel);background-size:cover;box-shadow:0 9px 18px #59371e23,0 2px 3px #42271629;border:1px solid #b6865370}.menu-panel:before{content:"";position:absolute;z-index:-1;inset:-10px -9px -9px;border-radius:22px;background:linear-gradient(95deg,#664729,#9f754d 35%,#7e5733 75%,#50351f);box-shadow:0 7px 14px #45280e22}.menu-panel .peg{position:absolute;top:-18px;width:9px;height:34px;border:1px solid #976528;border-radius:7px;background:linear-gradient(90deg,#99712f,#eed39a 50%,#ac7c37);box-shadow:1px 3px 2px #39271040}.peg.left{left:36px}.peg.right{right:36px}.panel-title{font-size:22px;line-height:1.4;font-weight:750;letter-spacing:.4px;margin:3px 0 16px}.menu-list{display:flex;flex-direction:column}.dish-row{position:relative;width:100%;display:flex;align-items:center;gap:8px;padding:22px 0;border-bottom:1px solid var(--line);text-align:left;min-height:103px}.dish-row:last-child{border-bottom:0}.dish-copy{flex:1;min-width:0}.dish-name{display:block;font-weight:750;font-size:21px;line-height:1.45;overflow-wrap:anywhere}.dish-meta{display:block;color:var(--muted);font-size:14px;margin-top:5px;line-height:1.6}.dish-row .chevron{width:17px;height:22px;color:var(--muted);flex:none}.dish-photo{width:110px;height:88px;object-fit:contain;margin:0 -4px;filter:drop-shadow(0 5px 3px #32220d14)}.dish-row.has-photo .dish-name{font-size:20px}.draw-actions{padding-top:27px}.primary-button{display:flex;justify-content:center;align-items:center;gap:15px;width:100%;min-height:52px;border-radius:30px;background:var(--accent);color:white;font-size:18px;font-weight:700;letter-spacing:.5px;padding:12px 20px;box-shadow:0 3px 7px #3823120d}.primary-button svg{width:24px;height:24px}.text-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:53px;width:100%;font-size:16px;font-weight:600;margin:8px auto 0;color:var(--muted)}.text-button svg{width:20px;height:20px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;justify-content:space-around;width:min(100%,500px);padding:12px 22px calc(18px + env(safe-area-inset-bottom));background:var(--nav);box-shadow:0 -1px 0 #8c735c17;min-height:83px}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:76px;min-height:52px;color:var(--muted);font-size:12px;font-weight:550}.bottom-nav button [data-icon]{height:27px}.bottom-nav svg{width:27px;height:27px;stroke-width:1.6}.bottom-nav button[aria-current]{color:var(--accent)}.theme-western .wordmark,.theme-western .intro h1{color:var(--accent)}.theme-western .cuisine-switch{border:1px solid #ac906b44;border-radius:30px;padding:2px;background:#faf0dc66}.theme-western .cuisine-switch button{padding:5px 12px;min-height:34px}.theme-western .intro{padding-top:16px;padding-bottom:36px}.theme-western .meal-switch{max-width:330px;border:1px solid #9f8f73;background:#f9efd8;border-radius:30px;box-shadow:0 0 0 2px #e6e5d5,0 0 0 3px #a9a79c,0 2px 6px #34292333;padding:3px;margin-bottom:29px}.theme-western .meal-switch button{min-height:35px}.theme-western .menu-panel{border:4px double var(--accent);border-radius:23px;padding:23px 24px 17px;outline:3px solid #ede9df;box-shadow:0 0 0 5px #a1a49e,0 0 0 7px #fdfaf1,0 0 0 8px #777e76,1px 8px 14px #443b3140;background-size:cover}.theme-western .menu-panel:before{display:none}.theme-western .peg,.theme-italian .peg{display:none}.theme-western .panel-title{text-align:center;color:var(--accent);display:flex;align-items:center;gap:14px;white-space:nowrap;font-size:22px}.theme-western .panel-title:before,.theme-western .panel-title:after{content:"";height:4px;border-block:1px solid currentColor;flex:1}.theme-western .primary-button{border:1px solid #7d080c;outline:2px solid #f0eee2;box-shadow:0 0 0 4px #aaa9a0,0 0 0 5px #f7f4e8,0 5px 10px #40352940;border-radius:28px}.theme-western .draw-actions{padding:28px 4px 0}.theme-western .bottom-nav:before{content:"";position:absolute;inset:-14px 0 auto;height:14px;background:conic-gradient(#a02222 25%,#f6e4c6 0 50%,#a02222 0 75%,#f6e4c6 0) 0 0/28px 28px}.theme-italian .intro{text-align:left;padding-top:22px;padding-bottom:32px}.theme-italian .intro h1{font-size:clamp(28px,8vw,40px)}.theme-italian .intro p{font-size:16px;letter-spacing:0}.theme-italian .meal-switch{margin-left:0;max-width:285px;margin-bottom:31px}.theme-italian .menu-panel{border:2px solid #3d74a8;border-radius:25px;padding:25px 25px 20px;outline:2px solid #e9e5d6;box-shadow:0 0 0 4px #537da27a,0 8px 15px #39352622}.theme-italian .menu-panel:before{display:none}.theme-italian .draw-actions{padding-top:21px}.theme-italian .text-button{color:var(--accent)}.theme-italian .bottom-nav{background:#fbfaf7}.theme-italian .bottom-nav button[aria-current]:after{content:"";height:2px;width:23px;background:var(--accent);border-radius:2px;position:absolute;bottom:10px}.theme-italian .app-shell{background:#f3ede0}
/* The same material language continues through the planning and list views. */
body[data-page=weekly] .intro,body[data-page=shopping] .intro{padding-bottom:24px}body[data-page=weekly] .intro h1,body[data-page=shopping] .intro h1{font-size:32px}body[data-page=weekly] .intro p,body[data-page=shopping] .intro p{font-size:14px}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.compact-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:24px;min-height:42px;background:var(--paper);padding:7px 14px;font-size:13px;font-weight:650}.compact-button svg{width:17px;height:17px}.plan-select{width:100%;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);background:var(--paper);margin-bottom:15px;min-height:45px}.day-nav{display:flex;justify-content:space-between;gap:4px;margin-bottom:22px}.day-nav button{width:40px;min-height:45px;border-radius:20px;background:var(--paper);font-size:13px}.day-nav button[aria-pressed=true]{background:var(--accent);color:white}.plan-panel{padding-bottom:10px}.plan-meal{padding:17px 0;border-bottom:1px solid var(--line)}.plan-meal:last-child{border:0}.plan-meal h3{color:var(--accent);font-size:15px;font-weight:750;margin-bottom:8px}.plan-dish{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;gap:8px;min-height:43px;padding:6px 0;font-size:15px}.plan-dish small{font-size:11px;color:var(--muted);margin-right:10px}.plan-dish svg{height:16px;width:16px}.plan-dish span{flex:1}.page-note{font-size:12px;line-height:1.8;color:var(--muted);margin:19px 5px}.week-actions{margin-top:20px}.shopping-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.shopping-summary strong{font-size:16px}.shopping-summary button{font-size:13px;min-height:44px;padding:8px}.progress-track{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin-bottom:22px}.progress-track span{display:block;height:100%;background:var(--accent);transition:width .2s}.shopping-panel{padding:7px 19px;margin-bottom:15px}.shop-section summary{cursor:pointer;display:flex;align-items:center;gap:9px;min-height:58px;font-weight:700;list-style:none}.shop-section summary::-webkit-details-marker{display:none}.shop-section summary .count{margin-left:auto;color:var(--muted);font-size:12px;font-weight:500}.shop-section summary svg{height:17px;width:17px;transition:transform .2s}.shop-section[open] summary svg{transform:rotate(90deg)}.shop-item{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-top:1px solid var(--line);font-size:14px;cursor:pointer}.shop-item input{appearance:none;flex:none;width:20px;height:20px;border:1.3px solid var(--muted);border-radius:5px;margin:2px 0 0;background:#fff6}.shop-item input:checked{background:var(--accent);border-color:var(--accent);position:relative}.shop-item input:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.shop-item:has(input:checked) .ingredient-name{text-decoration:line-through;opacity:.5}.ingredient-info{flex:1;min-width:0}.brand{display:block;font-size:11px;line-height:1.7;color:var(--accent);margin-top:3px;overflow-wrap:anywhere}.amount{max-width:42%;text-align:right;font-size:12px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.empty-panel{text-align:center;padding:44px 22px}.empty-panel svg{width:40px;height:40px;color:var(--accent);margin-bottom:12px}.empty-panel h2{font-size:22px;margin-bottom:9px}.empty-panel p{font-size:14px;color:var(--muted);margin-bottom:23px}
/* Recipe sheet: real ingredients and steps, no decorative cards. */
.recipe-dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,500px);max-width:500px;max-height:91svh;overflow:auto;border:1px solid var(--line);border-radius:26px 26px 0 0;background:var(--paper);color:var(--ink);padding:18px 25px calc(35px + env(safe-area-inset-bottom));box-shadow:0 -8px 55px #1e170e30}.recipe-dialog::backdrop{background:#1c19115e;backdrop-filter:blur(3px)}.sheet-handle{width:35px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 12px}.sheet-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sheet-top span{font-size:12px;color:var(--muted)}.close-button{min-height:42px;min-width:42px;border-radius:50%;background:var(--line);display:grid;place-items:center}.close-button svg{width:19px;height:19px}.recipe-title{font-size:27px;line-height:1.5;letter-spacing:-.4px;overflow-wrap:anywhere}.recipe-photo{display:block;width:170px;height:115px;object-fit:contain;margin:0 auto 14px}.recipe-stats{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--muted);margin:12px 0 28px}.recipe-stats span{display:flex;align-items:center;gap:5px}.recipe-stats svg{width:15px;height:15px}.recipe-section{margin-top:25px}.recipe-section h3{font-size:18px;margin-bottom:12px}.ingredient-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.recipe-steps{padding:0;list-style:none;counter-reset:step}.recipe-steps li{display:flex;align-items:flex-start;gap:14px;margin:0 0 20px;font-size:14px;line-height:1.95}.recipe-steps li:before{counter-increment:step;content:counter(step,decimal-leading-zero);font-size:13px;font-weight:750;color:var(--accent);padding-top:3px}.tip{border-left:2px solid var(--accent);padding:3px 0 3px 14px;color:var(--muted);font-size:13px;line-height:1.9}.toast{position:fixed;z-index:100;bottom:115px;left:50%;transform:translateX(-50%);width:max-content;max-width:85%;padding:12px 22px;background:#302920ed;color:white;border-radius:30px;font-size:13px;box-shadow:0 4px 20px #0002}.recipe-dialog .primary-button{font-size:15px;margin-top:29px}body:has(.recipe-dialog[open]){overflow:hidden}
@media(min-width:600px){body{padding:24px 0;background:radial-gradient(ellipse at top,#eee5d7,#c5b7a4)}.app-shell{border-radius:24px;overflow:hidden;min-height:calc(100svh - 48px)}.bottom-nav{border-radius:0 0 24px 24px;bottom:0}.recipe-dialog{border-radius:25px;inset:50% 0 auto;transform:translateY(-50%);max-height:88svh}.app-header{height:96px}}@media(max-width:374px){.app-shell{padding-inline:20px}.app-header{gap:12px}.wordmark{font-size:25px}.cuisine-switch button{padding-inline:11px}.theme-western .cuisine-switch button{padding-inline:9px}.menu-panel,.theme-western .menu-panel,.theme-italian .menu-panel{padding-inline:19px}.dish-name{font-size:19px}.dish-photo{width:95px}.dish-row.has-photo .dish-name{font-size:18px}.intro p{font-size:15px}}@media(prefers-reduced-motion:no-preference){button{transition:background .16s,color .16s,transform .16s}button:active{transform:translateY(1px)}.menu-panel{animation:none}@keyframes reveal{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.theme-chinese .menu-panel:before{display:none}.theme-chinese .menu-panel{box-shadow:0 0 0 7px #795532,0 0 0 9px #9e7754,0 10px 19px #43280f45}
/* Keep both meal actions clear of the fixed navigation on a 430 × 932 screen. */
.dish-row{min-height:94px;padding-block:18px}.dish-photo{height:70px}.intro h1{font-size:clamp(30px,9vw,42px)}.theme-italian .intro h1{font-size:clamp(30px,9vw,42px)}
/* Menu revision: calmer title, local names and a searchable catalogue. */
.intro,.theme-western .intro,.theme-italian .intro{padding-top:16px;padding-bottom:23px}.intro h1,.theme-italian .intro h1{font-size:clamp(29px,8.1vw,38px);font-weight:600;letter-spacing:1.4px;text-shadow:0 1px 0 #fff6}.dish-row{min-height:79px;padding-block:14px}.dish-name{font-size:19px;font-weight:650}.dish-row.has-photo .dish-name{font-size:19px}.dish-local{display:block;font-size:11px;font-weight:450;line-height:1.65;color:var(--muted);letter-spacing:.1px;margin-top:3px;overflow-wrap:anywhere}.dish-meta{font-size:12px}.recipe-local{font-size:14px;line-height:1.65;color:var(--muted);margin-top:7px}.menu-rule{font-size:12px;letter-spacing:1px;color:var(--muted);margin:-6px 0 9px}.menu-extras{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.menu-extras .compact-button{background:var(--paper);font-size:12px}.catalog-tools{margin-bottom:14px}.catalog-tools input{font:inherit;width:100%;border:1px solid var(--line);border-radius:13px;min-height:46px;padding:11px 14px;color:var(--ink);background:var(--paper);outline-offset:3px}.catalog-filters{display:flex;gap:5px;margin-top:13px}.catalog-filters button{min-height:40px;flex:1;padding:6px 7px;font-size:13px;white-space:nowrap;border-radius:20px;color:var(--muted)}.catalog-filters button[aria-pressed=true]{background:var(--accent);color:white}.catalog-tools .page-note{margin:12px 3px 0}.catalog-panel{padding:4px 20px}.catalog-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:17px 0;min-height:78px;text-align:left;border-bottom:1px solid var(--line)}.catalog-row:last-child{border-bottom:0}.catalog-row>span{min-width:0}.catalog-row .chevron{width:17px;color:var(--muted)}.catalog-name{font-size:16px;line-height:1.6;font-weight:650;overflow-wrap:anywhere}.catalog-row .dish-meta{font-size:11px}.theme-italian .catalog-panel,.theme-western .catalog-panel{background:var(--paper)}
/* Long recipe lists continue into a calm surface instead of repeating the scene. */
.app-shell:before{background-repeat:no-repeat;background-color:#f3e6d1}.theme-western .app-shell:before{background-color:#f4ead9}.theme-italian .app-shell:before{background-color:#f5f1e8}.theme-chinese .draw-actions>.text-button{background:#f8efdfed;border-radius:25px;width:max-content;max-width:100%;padding:0 16px;min-height:42px;margin-top:12px}
/* Shared kitchen: lightweight controls in the existing three material themes. */
.kitchen-status{margin:-8px 0 8px;min-height:30px}.kitchen-status>button{display:flex;align-items:center;gap:7px;min-height:36px;padding:3px 0;font-size:11px;font-weight:600;color:var(--muted);max-width:100%;text-align:left}.kitchen-status>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kitchen-status svg{width:15px;height:15px}.kitchen-status p{font-size:11px;line-height:1.7;color:var(--accent)}.shared-note{font-size:13px;line-height:1.85;color:var(--muted);margin:10px 0}.shared-dialog form{margin-top:18px}.shared-dialog label{display:block;font-size:13px;font-weight:600;line-height:1.8;margin:13px 0}.shared-dialog input,.shared-dialog select{display:block;width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;min-height:47px;padding:10px 12px;margin-top:5px}.shared-dialog .primary-button{font-size:16px;margin-top:20px}.shared-dialog .text-button{font-size:14px}.shared-dialog input[type=date]{min-width:0}.field-pair{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.setup-tabs{display:flex;border-bottom:1px solid var(--line);margin-top:20px}.setup-tabs button{flex:1;font-size:14px;padding:10px;min-height:44px}.setup-tabs button[aria-pressed=true]{color:var(--accent);border-bottom:2px solid var(--accent)}.form-error{font-size:13px;color:#a12e21;line-height:1.8;margin-top:12px}.confirm-dishes{border-block:1px solid var(--line);margin:20px 0;padding:9px 0}.confirm-dishes>div{font-size:15px;font-weight:600;padding:7px 0}.confirm-dishes small{display:block;font-size:11px;font-weight:450;color:var(--muted)}.member-list{margin:20px 0}.member-list>div{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.member-list strong{font-size:16px}.member-list span{font-size:12px;color:var(--muted)}.invite-box{padding:18px 12px;text-align:center;border:1px solid var(--line);border-radius:14px;margin-top:20px}.invite-box p{font-size:12px;color:var(--muted)}.invite-box strong{display:block;font-size:20px;letter-spacing:1px;margin:10px 0;overflow-wrap:anywhere;user-select:all}.invite-box .compact-button{margin:auto}.signin-link{text-decoration:none}.schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px}.schedule-heading>div{text-align:center}.schedule-heading strong{display:block;font-size:17px}.schedule-heading span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.schedule-heading .compact-button{border-radius:50%;width:38px;height:38px;min-height:38px;padding:8px}.schedule-heading svg{width:17px;height:17px}.reverse{transform:rotate(180deg)}.schedule-utilities{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px}.schedule-utilities>button,.date-jump{font-size:12px;color:var(--accent);min-height:42px;display:flex;align-items:center}.date-jump{position:relative;overflow:hidden}.date-jump input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.shared-day-nav{display:flex;gap:5px;justify-content:space-between;margin-bottom:16px}.shared-day-nav button{flex:1;min-width:0;min-height:64px;border-radius:21px;background:var(--paper);padding:8px 3px}.shared-day-nav small{display:block;font-size:10px;color:var(--muted)}.shared-day-nav span{display:block;font-size:17px;font-weight:650;margin-top:3px}.shared-day-nav [aria-pressed=true]{background:var(--accent);color:white}.shared-day-nav [aria-pressed=true] small{color:#fff9}.selected-date{font-size:12px;color:var(--muted);margin:0 0 16px}.saved-meal{padding:17px 20px;margin-bottom:17px;background-image:none;background:var(--paper)}.saved-meal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.saved-meal-head h3{font-size:18px;color:var(--accent)}.saved-meal-head>span{font-size:10px;color:var(--muted)}.saved-meal .plan-dish{font-size:14px;min-height:38px;padding:5px 0}.saved-meal .dish-local{font-size:10px}.meal-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:13px}.meal-controls .compact-button{font-size:11px;min-height:37px;padding:6px 12px}.meal-controls small{font-size:10px;color:var(--muted);margin-left:auto}.shared-alert{background:var(--paper);border-left:3px solid var(--accent);border-radius:10px;padding:15px 16px;margin-bottom:20px}.shared-alert strong{font-size:15px}.shared-alert p{font-size:12px;color:var(--muted);line-height:1.8;margin:6px 0 12px}.item-note{display:block;color:var(--accent);font-size:11px;line-height:1.8;margin-top:5px}body:has(#sharedDialog[open]){overflow:hidden}.draw-actions>.text-button{font-size:14px}.theme-chinese .draw-actions>.text-button{min-height:43px}.theme-italian .draw-actions{padding-top:18px}.theme-italian .draw-actions>.text-button{margin-top:7px;min-height:42px}
.login-page{max-width:480px}.login-page h1{font-size:30px;margin-bottom:12px}.login-page label{display:block;margin:20px 0 0;font-size:14px;line-height:1.8}.login-page input{display:block;width:100%;min-height:48px;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}.login-page .primary-button{margin-top:24px}.login-page .text-button{display:block;margin:12px auto}.login-page button:disabled{opacity:.5}
/* Lighter proportions, with the three established materials retained. */
:root{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif}
.app-shell{max-width:440px;padding-inline:22px;padding-bottom:calc(98px + env(safe-area-inset-bottom))}
.app-header{height:76px;gap:12px}.wordmark{font-size:25px;font-weight:700;letter-spacing:0}
.cuisine-switch button{font-size:13px;font-weight:550;padding:7px 12px;min-height:36px;border-radius:10px}
.intro,.theme-western .intro,.theme-italian .intro{padding:14px 0 19px}
.intro h1,.theme-italian .intro h1{font-size:29px;font-weight:550;letter-spacing:.5px}
body[data-page=weekly] .intro h1,body[data-page=shopping] .intro h1{font-size:27px}
.meal-switch{margin-bottom:24px}.meal-switch button{font-size:14px;font-weight:500;min-height:40px;border-radius:10px;letter-spacing:.3px}
.menu-panel,.paper-panel{border-radius:12px;padding:21px 20px 14px;box-shadow:0 4px 10px #59371e16}
.theme-chinese .menu-panel{box-shadow:0 0 0 3px #795532,0 0 0 5px #9e7754,0 6px 14px #43280f26}
.menu-panel .peg{width:6px;height:25px;top:-14px}.panel-title{font-size:19px;font-weight:600}
.dish-row{min-height:70px;padding-block:11px}.dish-name,.dish-row.has-photo .dish-name{font-size:17px;font-weight:550}.dish-meta{font-size:12px}.dish-photo{width:86px;height:62px}
.primary-button{border-radius:12px;min-height:46px;font-size:16px;font-weight:550;padding:10px 16px;letter-spacing:0;box-shadow:none}
.text-button{min-height:44px;font-weight:500}.draw-actions{padding-top:23px}
.compact-button{border-radius:9px;font-weight:500}.empty-panel{padding:29px 12px}.empty-panel h2{font-size:19px;font-weight:550}.empty-panel p{font-size:13px;line-height:1.8;margin-bottom:18px}
.bottom-nav{width:min(100%,440px);min-height:72px;padding:8px 18px calc(10px + env(safe-area-inset-bottom))}.bottom-nav button{font-weight:500;min-height:46px}.bottom-nav svg{height:23px;width:23px}.bottom-nav button [data-icon]{height:24px}
.recipe-dialog{width:min(100%,440px);max-width:440px;border-radius:18px 18px 0 0}.recipe-title{font-size:23px;font-weight:600}
.theme-western .menu-panel,.theme-italian .menu-panel{border-radius:14px;padding:21px 20px 14px}.theme-western .primary-button{border-radius:12px;outline:1px solid #eee9dd;box-shadow:0 0 0 2px #aaa9a0}.theme-western .panel-title{font-size:19px}
.theme-western .cuisine-switch,.theme-western .meal-switch{border-radius:13px}.theme-western .bottom-nav:before{height:8px;background-size:16px 16px;top:-8px}
.shared-day-nav button{border-radius:12px;min-height:56px}.saved-meal{padding:16px 18px;background:var(--paper);background-image:none}
.kitchen-status{display:flex;flex-wrap:wrap;gap:0 12px;margin:-2px 0 4px}.kitchen-status>button{min-height:32px;font-weight:500;font-size:11px}.kitchen-status .account-link{width:100%;color:var(--ink)}.kitchen-status p{width:100%}
.account-identity{padding:18px 0;border-block:1px solid var(--line);margin:16px 0}.account-identity small{display:block;font-size:12px;color:var(--muted)}.account-identity strong{display:block;font-size:20px;font-weight:550;margin-top:5px;overflow-wrap:anywhere}
.login-page{max-width:420px;padding-top:28px}.auth-panel{padding:24px 20px}.auth-brand{font-size:22px;text-decoration:none;font-weight:650}.auth-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:24px 0}.auth-tabs button{font-size:14px;min-height:44px;padding:5px 0;color:var(--muted)}.auth-tabs [aria-pressed=true]{color:var(--accent);border-bottom:2px solid var(--accent);font-weight:600}
.login-page h1{font-size:25px;font-weight:550}.login-page label{margin-top:16px;font-size:13px}.login-page input{min-height:46px;border-radius:8px}.login-page .primary-button{margin-top:20px}.auth-progress{font-size:13px;color:var(--accent);margin-top:12px;line-height:1.8}.auth-progress:empty,.form-error:empty{display:none}.auth-footnote{font-size:11px;margin-top:18px}
@media(min-width:600px){.app-header{height:76px}.recipe-dialog{border-radius:18px}.app-shell{border-radius:18px}.bottom-nav{border-radius:0 0 18px 18px}}
@media(max-width:374px){.app-shell{padding-inline:18px}.cuisine-switch button{padding-inline:10px}.dish-name,.dish-row.has-photo .dish-name{font-size:16px}}
/* Clear navigation and quiet surfaces over the three dining-room scenes. */
.app-header{height:auto;min-height:96px;padding-block:18px 12px;align-items:center;gap:12px}

.cuisine-switch{gap:2px}.cuisine-switch button{padding-inline:10px}.theme-western .cuisine-switch button{padding-inline:9px}
.kitchen-status{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:3px 0 14px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:0 14px;box-shadow:0 2px 4px #31251908}
.kitchen-status>button{width:100%;font-size:12px;min-height:40px;gap:10px;color:var(--ink);padding:8px 0;justify-content:space-between;text-align:left}.kitchen-status>button span{white-space:normal;overflow:visible;overflow-wrap:anywhere;flex:1;min-width:0}.kitchen-status .account-link{border-bottom:1px solid var(--line);padding:11px 0}.account-link small{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}.account-link strong{display:block;font-size:14px;line-height:1.6;font-weight:550;color:var(--ink)}.kitchen-status p{grid-column:1/-1;padding:0 0 9px;color:var(--accent)}
.theme-chinese{--muted:#66503c}.theme-western{--muted:#625b50}.theme-italian{--muted:#526774}
.shared-note,.page-note{font-size:13px;line-height:1.8}.page-note{margin:16px 0}.intro,.theme-western .intro,.theme-italian .intro{padding-top:10px;padding-bottom:19px}.intro h1{font-size:27px}
.schedule-utilities{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-bottom:16px}.schedule-utilities>button,.date-jump{border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:40px;font-size:12px;font-weight:500;background:var(--paper);color:var(--ink)}.schedule-utilities>button:last-child{width:100%;justify-content:center;border-color:var(--accent);color:var(--accent);background:var(--paper)}
.shared-day-nav{gap:4px}.shared-day-nav button{border:1px solid var(--line);border-radius:9px;background:var(--paper)}.shared-day-nav small{font-size:11px}.shared-day-nav span{font-size:16px}.selected-date{font-size:12px;line-height:1.7;background:var(--paper);padding:8px 11px;border-left:2px solid var(--accent);border-radius:4px}
.saved-meal{background:var(--paper);background-image:none;box-shadow:0 3px 7px #3927170c;border:1px solid var(--line);margin-bottom:14px}.saved-meal .plan-dish{min-height:43px;font-size:15px;line-height:1.7}.saved-meal-head h3{font-size:17px;font-weight:600}.saved-meal-head>span{font-size:12px}.saved-meal-head{border-bottom:1px solid var(--line);padding-bottom:9px}.meal-controls{gap:7px}.meal-controls .compact-button{min-height:40px;font-size:12px}.meal-controls small{display:block;flex-basis:100%;margin:3px 0 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.danger-button{color:#9c3f32;border-color:#b966574e}
.compact-button{font-size:13px;min-height:40px;line-height:1.5}.back-schedule,.restore-list{width:100%;margin-top:12px}.text-button{border:1px solid var(--line);border-radius:9px;background:var(--paper);font-size:14px;padding:9px 12px;line-height:1.6}.theme-chinese .draw-actions>.text-button{border-radius:9px;width:100%;min-height:44px;margin-top:9px;background:var(--paper)}.draw-actions>.text-button{font-size:14px}.week-actions .primary-button{font-size:15px}
.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}.preview-heading .compact-button{font-size:12px}.state-badge{font-size:12px;background:var(--paper);border:1px solid var(--line);padding:7px 10px;border-radius:6px;color:var(--accent)}
.workflow-panel{background:var(--paper);padding:18px 16px;border:1px solid var(--line);border-radius:10px}.workflow-panel h2,.preview-section-title{font-size:16px;font-weight:600;line-height:1.7}.workflow-panel h2:not(:first-child){margin-top:20px}.workflow-panel p{font-size:12px;line-height:1.85;color:var(--muted);margin:6px 0 0}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.preset-choice{border:1px solid var(--line);border-radius:8px;padding:12px 5px;text-align:center;background:#ffffff55;min-height:100px}.preset-choice strong{display:block;font-size:22px;font-weight:550}.preset-choice span{display:block;font-size:13px;margin:3px 0}.preset-choice small{display:block;font-size:11px;color:var(--muted)}.preset-choice[aria-pressed=true]{border:2px solid var(--accent);background:#fff9ef;box-shadow:0 0 0 2px #fff6;color:var(--accent)}.theme-italian .preset-choice[aria-pressed=true]{background:#edf4f7}.preset-choice[aria-pressed=true] small{color:var(--accent)}
.draft-start{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin-top:10px}.draft-start input{font:inherit;max-width:65%;min-width:0;padding:9px;background:#fffaf1;color:var(--ink);border:1px solid var(--line);border-radius:7px}.preview-section-title{margin:20px 0 10px}.preview-day-nav{display:flex;overflow-x:auto;gap:7px;padding:2px 2px 10px;margin-bottom:12px;scrollbar-width:thin}.preview-day-nav button{flex:0 0 81px;border:1px solid var(--line);border-radius:8px;padding:9px 7px;background:var(--paper);min-height:57px}.preview-day-nav small{display:block;font-size:11px;color:var(--muted)}.preview-day-nav span{display:block;font-size:12px;white-space:nowrap;margin-top:3px}.preview-day-nav [aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.preview-day-nav [aria-pressed=true] small{color:#fff}.plan-panel{background:var(--paper);background-image:none;border:1px solid var(--line);box-shadow:0 3px 7px #3927170c}.plan-panel .panel-title{font-size:17px}.plan-dish{line-height:1.7;min-height:43px}.plan-dish>span{min-width:0;overflow-wrap:anywhere}
.shopping-overview{padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:10px;margin-bottom:15px}.shopping-summary strong{font-size:16px;font-weight:600}.shopping-overview .progress-track{margin-bottom:14px}.shopping-tools{display:flex;flex-wrap:wrap;gap:7px}.shopping-tools .compact-button{font-size:12px;padding:7px 9px}.shopping-tools [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.shopping-overview .shared-note{font-size:12px;margin:12px 0 0}.shopping-panel{background:var(--paper);background-image:none;padding:0 15px;box-shadow:0 2px 4px #39271708;margin-bottom:10px;border:1px solid var(--line)}.shop-section summary{min-height:53px;font-size:15px;font-weight:550}.shop-section summary .count{font-size:11px}.shop-section:not([open]) summary svg{transform:rotate(0)}.shop-section[open] summary svg{transform:rotate(90deg)}.shop-item{padding:12px 0;font-size:14px}.shop-item .amount{font-size:13px;color:var(--ink);max-width:40%}.shopping-source{background:var(--paper);padding:12px 14px;border:1px solid var(--line);border-radius:8px;margin-top:18px}.shopping-source summary{font-size:12px;cursor:pointer;line-height:1.8;color:var(--ink)}
@media(max-width:374px){.wordmark{min-width:94px;grid-template-columns:23px auto;padding:7px;column-gap:6px}.brand-emblem{width:21px;height:30px}.brand-name{font-size:20px}.brand-caption{font-size:8px}.cuisine-switch button{padding-inline:8px}.theme-western .cuisine-switch button{padding-inline:7px}.app-header{gap:8px}.shop-section summary .count{font-size:10px}}
.preview-section-title{background:var(--paper);padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.preview-day-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow:visible;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:8px 6px}
.preview-day-nav button{min-width:0;min-height:56px;padding:6px 1px;border-radius:6px}.preview-day-nav small,.preview-day-nav span{font-size:11px}

/* A calendar for saved meals, then a separate menu chooser and detail view. */
.app-header{min-height:114px;padding-block:16px 12px}.back-link{min-height:44px;padding:8px 0;font-size:14px;color:var(--accent);text-align:left}
.menu-choices{display:grid;gap:14px;margin-top:12px}.menu-choice{display:flex;align-items:center;gap:15px;width:100%;padding:22px 18px;background:var(--paper);border:1px solid var(--line);border-radius:12px;text-align:left;box-shadow:0 3px 8px #3927170c}.menu-choice-letter{display:grid;place-items:center;flex:none;width:46px;height:56px;font-size:34px;font-weight:550;color:var(--accent);border-right:1px solid var(--line);padding-right:12px}.menu-choice-copy{flex:1;min-width:0}.menu-choice-copy strong{display:block;font-size:18px;font-weight:600;margin-bottom:8px}.menu-choice-copy>span{display:block;font-size:13px;line-height:1.8;color:var(--ink)}.menu-choice-copy small{display:block;font-size:11px;color:var(--muted);margin-top:10px}.menu-choice>svg{width:18px;height:18px;color:var(--accent)}
.preview-heading{flex-wrap:nowrap;margin-bottom:8px}.preview-heading>strong{font-size:18px;font-weight:600}.preview-tag{font-size:11px;color:var(--muted)}
.draft-start{background:var(--paper);padding:10px 12px;border:1px solid var(--line);border-radius:9px;margin:0 0 12px;font-size:13px}.draft-start input{background:transparent;border:0;padding:5px;max-width:65%;font-size:14px}.week-actions{margin-top:20px}
.calendar-jump{position:relative;display:block;font-size:15px;font-weight:550;padding:8px 16px;cursor:pointer}.calendar-jump:after{content:"⌄";margin-left:8px;color:var(--muted)}.calendar-jump input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.schedule-heading{margin:0 0 12px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}.schedule-toolbar strong{font-size:14px;font-weight:550}.schedule-toolbar .back-link{font-size:12px}.shared-day-nav{margin-bottom:4px}
.schedule-empty{padding:35px 24px;text-align:center;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.schedule-empty h2{font-size:17px;font-weight:500;color:var(--muted)}.empty-calendar{color:var(--accent);opacity:.7}.empty-calendar svg{width:32px;height:32px}.schedule-empty .primary-button{width:100%;max-width:240px}.schedule-secondary{display:flex;gap:10px;margin-top:12px}.schedule-secondary>*{flex:1;font-size:12px}.unplanned-meal{padding-block:12px}.unplanned-meal .saved-meal-head{border:0;padding:0;margin:0}.unplanned-meal .meal-controls:empty{display:none}
/* Explicit navigation buttons stay readable against every room background. */
.return-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;border:1px solid var(--accent);border-radius:9px;background:var(--paper);color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;box-shadow:0 2px 4px #39271712}.return-button svg{width:17px;height:17px;color:var(--accent)}.preview-heading{margin-bottom:16px}.preview-heading .return-button{width:100%}.app-header{height:auto;min-height:96px;padding-block:15px;gap:12px}.cuisine-switch{margin-left:auto}
/* Approved 2026-10-31 signs: real artwork, with text kept in each asset. */
.wordmark,.theme-western .wordmark,.theme-italian .wordmark{position:relative;display:flex;flex:none;align-items:center;justify-content:center;width:174px;min-width:0;height:auto;margin:0;padding:0;border:0;border-radius:0;outline:0;background:none;box-shadow:none;transform:none;text-decoration:none}
.wordmark::before,.wordmark::after{display:none}.brand-image{display:block;width:100%;height:auto;object-fit:contain}
.app-header{height:auto;min-height:128px;padding-block:20px 16px;gap:14px;align-items:center;justify-content:space-between}
.theme-chinese .app-header{min-height:190px;padding-block:10px 12px}.theme-chinese .wordmark{width:142px;margin-left:-8px}.theme-italian .wordmark{width:180px}
.cuisine-switch{flex:none;gap:2px;margin-left:auto}.cuisine-switch button,.theme-western .cuisine-switch button{font-size:13px;min-height:40px;padding:7px 10px;border-radius:10px;letter-spacing:0}
body[data-page=lottery] .intro{display:none}.intro,.theme-western .intro,.theme-italian .intro{padding:8px 0 20px;text-align:center}
.kitchen-status{margin:0 0 20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 2px 5px #3927170a}.kitchen-status>button{min-height:40px}.kitchen-status .account-link{min-height:60px}.account-link strong{font-size:14px;font-weight:550;overflow-wrap:anywhere}.account-link small{font-size:11px}
.theme-chinese{--accent:#94602b;--paper:#faf2e3;--muted:#705b43}.theme-chinese .cuisine-switch button[aria-pressed=true]{color:#69431e;background:#f8e6b9;border:1px solid #c9944f}.theme-chinese .meal-switch button[aria-pressed=true]{background:#f7e6c3;color:#70461e;box-shadow:inset 0 0 0 1px #cfa76c}.theme-chinese .menu-panel{box-shadow:0 0 0 2px #b08b61,0 5px 12px #56351920}.theme-chinese .menu-panel:before{display:none}
/* Western keeps its existing room, red menu rules and controls. */
.theme-western{--accent:#b53c34}.theme-western .wordmark{filter:drop-shadow(0 2px 3px #57331b20)}
/* Italian scene has a continuous top wall; the sea begins below the header. */
body.theme-italian{--scene:url('../assets/themes/italian-courtyard.webp');--paper:#fcf7ed;--ink:#414c36;--muted:#6b715e;--accent:#2f6091}.theme-italian .app-shell:before{background-color:#f7f0e2}.theme-italian .menu-panel{background:var(--paper);border:1px solid #88a1b7;outline:0;box-shadow:0 3px 9px #5e654b15;border-top:5px solid #527e9e;border-radius:12px}.theme-italian .cuisine-switch button[aria-pressed=true],.theme-italian .meal-switch button[aria-pressed=true]{background:#dce8f5;color:#234e80}.theme-italian .meal-switch{margin-left:auto;max-width:100%}.theme-italian .panel-title{color:#414c36}
@media(max-width:374px){.app-header{gap:8px}.wordmark,.theme-western .wordmark{width:142px}.theme-italian .wordmark{width:150px}.theme-chinese .wordmark{width:118px;margin-left:-6px}.theme-chinese .app-header{min-height:162px}.cuisine-switch button,.theme-western .cuisine-switch button{padding-inline:7px;font-size:12px}.app-shell{padding-inline:18px}}

/* Theme changes should not replay the menu entrance animation. */
/* Stable header geometry across cuisines; sign artwork retains its own proportions. */
.app-header,.theme-chinese .app-header{height:204px;min-height:204px;padding-block:10px 12px}
.wordmark,.theme-western .wordmark,.theme-italian .wordmark,.theme-chinese .wordmark{height:182px}
.brand-image{height:100%;width:100%;object-fit:contain}
@media(max-width:374px){.app-header,.theme-chinese .app-header{height:174px;min-height:174px}.wordmark,.theme-western .wordmark,.theme-italian .wordmark,.theme-chinese .wordmark{height:152px}}
.cuisine-switch button{transition:none}
.app-shell{overflow-anchor:none}
/* Personal/shared context and a cuisine-independent planning notebook. */
.planner-heading{display:none}
body.theme-calendar{--ink:#45493b;--muted:#767965;--accent:#657c63;--line:#ddd5c5;--surface:#fffcf5;--paper:#fffcf5;--nav:#fcfaf3;--scene:none;--panel:none}
.theme-calendar .app-shell{background:#f6f0e3}
.theme-calendar .app-shell:before{background-image:radial-gradient(ellipse at 15% 0,#fffdf4aa,transparent 65%),linear-gradient(100deg,#eee2c833,transparent 35%,#e1e8da44);background-repeat:no-repeat}
.theme-calendar .app-header{height:104px;min-height:104px;padding-block:22px 12px}
.theme-calendar .app-header>.wordmark,.theme-calendar .cuisine-switch{display:none}
.theme-calendar .planner-heading{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px}
.planner-heading>span{font-size:29px;font-weight:750;letter-spacing:1px}.planner-heading small{display:block;font-size:12px;letter-spacing:1px;font-weight:450;color:var(--muted);margin-top:2px}
.theme-calendar .intro{padding:18px 0 24px;text-align:left}.theme-calendar .intro h1{font-size:29px}
.theme-calendar .menu-panel:before{display:none}.theme-calendar .peg{display:none}
.kitchen-status .scope-row{display:flex;align-items:stretch;gap:8px}.kitchen-status .scope-row>button{border:0;margin:0}
.kitchen-status .scope-current{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;padding:14px 0}
.scope-current>span{flex:1;min-width:0}.scope-current strong,.scope-current small{display:block;overflow-wrap:anywhere}.scope-current strong{font-size:15px;font-weight:650}.scope-current small{font-size:12px;color:var(--muted)}.scope-current>svg:last-child{width:16px}
.kitchen-status .notice-button{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-width:64px;width:auto;padding:12px 0 12px 8px;font-size:13px;flex:none}.notice-button svg{width:18px}.notice-button b{font-size:11px;background:var(--accent);color:white;border-radius:20px;padding:0 5px}
.kitchen-choices{display:grid;gap:10px;margin:18px 0}.kitchen-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:74px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;text-align:left;background:var(--paper)}.kitchen-choice[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.kitchen-choice strong,.kitchen-choice small{display:block}.kitchen-choice small{font-size:12px;color:var(--muted);margin-top:3px}.kitchen-choice>span:first-child{min-width:0;overflow-wrap:anywhere}.kitchen-choice>span:last-child{flex:none;font-size:12px;color:var(--accent)}.kitchen-setup-actions{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.save-destination{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:14px;font-size:13px}.save-destination small{color:var(--muted)}
.cuisine-tag{display:inline-block;font-size:12px;font-weight:450;line-height:1.5;color:var(--muted);margin-left:10px}.schedule-shortcuts{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.schedule-shortcuts button{flex:1}.theme-calendar .saved-meal{margin-bottom:18px}.theme-calendar .plan-panel{border:1px solid var(--line);outline:0;box-shadow:0 3px 10px #655c3d0b}
.batch-details{margin:12px 0}.batch-details summary{cursor:pointer;padding:10px 0;font-size:13px}.batch-change,.notice-change{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.batch-change strong,.notice-change strong{font-size:13px}.batch-change del,.notice-change del{color:var(--muted)}
.kitchen-notice{padding:16px;margin-top:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.kitchen-notice.is-unread{border-left:3px solid var(--accent)}.kitchen-notice h3{font-size:15px;display:flex;gap:10px;align-items:center;justify-content:space-between}.kitchen-notice h3 span{color:var(--accent);font-size:11px;flex:none}.kitchen-notice>small{color:var(--muted);font-size:11px}.kitchen-notice details{margin-block:12px}.kitchen-notice summary{cursor:pointer;font-size:13px;min-height:32px}.kitchen-notice .compact-button{font-size:12px;padding:8px 12px;min-height:38px}
@media(max-width:374px){.theme-calendar .app-header{height:94px;min-height:94px}.kitchen-status .scope-current strong{font-size:13px}.kitchen-status .notice-button{min-width:56px;font-size:12px}.schedule-shortcuts{gap:8px}.schedule-shortcuts .compact-button{font-size:13px;padding-inline:10px}}

/* Invitation copy feedback stays inside the active modal. */
.invite-box label{display:block;font-size:13px;text-align:left}.invite-box #inviteCode{display:block;width:100%;min-width:0;margin:6px 0 12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px;text-align:center;user-select:text;-webkit-user-select:text}.invite-box #inviteCopyStatus{margin-top:10px;min-height:1.5em;font-size:13px;overflow-wrap:anywhere}
