:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#26332f;background:#f6f8f7;--bg:#f6f8f7;--surface:#fff;--ink:#26332f;--muted:#64726d;--line:#dce4e0;--green:#286a54;--soft:#e9f2ed;--red:#ad3e49;--blue:#eaf1f4;color-scheme:light;font-synthesis:none}
.tag-input.field{flex-direction:row}.form-space,[style-marker=notes]{margin-top:20px}.energy .no-estimate{font-size:19px;white-space:normal;overflow-wrap:anywhere}
.menu-tools button{max-width:100%;font-size:14px;min-height:44px}
.day-jump{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 20px;max-width:440px}.day-jump button{padding:9px 2px;flex-direction:column;gap:4px;min-width:0;border-color:transparent;background:var(--blue)}.day-jump span{font-size:11px;color:var(--muted)}.day-jump strong{font-size:15px;font-weight:600}.meal{scroll-margin-top:18px}
:root[data-theme=dark]{--bg:#19221e;--surface:#222e27;--ink:#edf3ef;--muted:#b0beb5;--line:#3d4f43;--green:#8fcbb0;--soft:#304c3e;--blue:#263a3d;background:var(--bg);color:var(--ink);color-scheme:dark}:root[data-theme=dark] .primary{background:#367c5f;color:#fff;border-color:#367c5f}:root[data-theme=dark] .notice{background:#3a3225;color:#e8cf9c}
*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green)}svg{width:20px;height:20px;stroke-width:1.7;flex-shrink:0}button{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:44px;padding:10px 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center}a{color:var(--green);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{font:500 32px Georgia,serif}h2{font-size:23px;line-height:1.3;font-weight:650}h3{font-size:17px;line-height:1.4;font-weight:650}p{line-height:1.5}.muted,small{color:var(--muted)}small{font-size:13px;line-height:1.45}.primary{background:var(--green);border-color:var(--green);color:white}.danger{color:var(--red)}.icon-button{width:44px;height:44px;flex:none;padding:10px}.quiet{border-color:transparent;background:transparent}.shell{display:grid;grid-template-columns:206px minmax(0,1fr);max-width:1220px;margin:auto;min-height:100dvh}.sidebar{padding:34px 24px;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:34px}.wordmark{font:500 32px Georgia,serif;color:var(--green)}.sidebar nav{display:grid;gap:8px}.nav-item{border-color:transparent;background:transparent;justify-content:flex-start;color:var(--muted);font-weight:550}.nav-item[aria-current=page]{background:var(--soft);color:var(--green)}.sidebar small{margin-top:auto}.workspace{min-width:0;padding:24px 34px 100px}.topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:22px}.topbar small{display:block;margin-top:3px}.topbar .wordmark{display:none}.top-actions{display:flex;align-items:center;gap:8px}.avatar{width:36px;height:36px;display:grid;place-items:center;background:var(--blue);border-radius:50%;font-size:14px;font-weight:650}.banner{height:112px;background:var(--blue) url('/app/ingredients.webp') center/cover;margin-bottom:25px;display:flex;align-items:center;padding:22px}.banner h2{font-size:24px;max-width:42%;line-height:1.2;color:#26332f}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-heading p{font-size:14px;color:var(--muted);margin-top:5px}.section-tabs{display:flex;background:var(--blue);padding:4px;gap:4px;margin-bottom:6px;max-width:420px}.section-tabs button{flex:1;min-width:0;white-space:normal;min-height:40px;background:transparent;border:0;padding:9px 12px;font-size:14px}.section-tabs button[aria-selected=true]{background:var(--surface);box-shadow:0 1px 3px #00000012;color:var(--green);font-weight:600}.form-section{margin:0;padding:24px 0;border:0;border-bottom:1px solid var(--line);min-width:0}.form-section legend{float:left;width:100%;font-weight:650;font-size:16px;margin-bottom:16px;padding:0}.form-section legend+*{clear:both}.section-meta{display:flex;gap:10px;align-items:center;margin-bottom:14px}.section-meta svg{color:var(--green)}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;cursor:pointer;line-height:1.4}.check input{width:19px;height:19px;accent-color:var(--green);flex-shrink:0}.check-choice{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.check-choice:has(:checked){border-color:var(--green);background:var(--soft)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;min-width:0}.field>span{font-weight:550}.field small{font-weight:400}.field input,.field select,.field textarea,.search{width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px;min-height:46px;font-size:16px}.field textarea{resize:vertical;min-height:95px}.tag-editor{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;min-height:12px}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 2px 2px 11px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:14px;max-width:100%;overflow-wrap:anywhere}.tag button{min-height:34px;width:34px;padding:7px;border:0;background:transparent;flex-shrink:0}.tag button svg{width:16px;height:16px}.tag-input{display:flex;gap:8px}.tag-input input{flex:1;min-width:0}.tag-input button{flex:none}.list-field{margin-bottom:23px}.list-field:last-child{margin-bottom:0}.list-field>label{display:block;font-size:14px;font-weight:550;margin-bottom:10px}.energy{display:grid;grid-template-columns:1fr auto;gap:14px;background:var(--blue);border-left:3px solid var(--green);padding:20px;margin-top:24px}.energy strong{font-size:29px;font-weight:600;line-height:1.15;white-space:nowrap}.energy p{font-size:14px}.energy small{display:block;margin-top:8px}.energy svg{color:var(--green)}.notice{border-left:3px solid #b88931;background:#f8f4e9;padding:12px 15px;font-size:13px;line-height:1.5;margin:16px 0;color:#615126}.preview-label{background:var(--blue);padding:9px 12px;margin-bottom:18px;font-size:13px;color:var(--muted)}.savebar{position:sticky;bottom:16px;margin-top:24px;display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);padding:12px 14px;box-shadow:0 4px 18px #203c2c0c;z-index:3}.savebar small{max-width:45%}.savebar button{white-space:normal}.mobile-nav{display:none}.settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.settings summary{padding:16px 0;cursor:pointer;font-size:14px;font-weight:550}.settings form{padding-bottom:18px}.settings .primary{margin-top:16px}.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meal{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:17px;min-width:0;display:flex;flex-direction:column}.meal-day{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.meal h3{min-height:48px;font-size:16px}.meal-meta{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:13px;margin-top:10px}.meal-meta svg{width:16px;height:16px}.meal-actions{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:15px}.text-command{font-size:14px;background:transparent;border-color:transparent;padding:10px 0;color:var(--green)}.empty{padding:26px 0}.empty img{display:block;width:100%;height:145px;object-fit:cover;margin-bottom:23px}.empty h3{margin-bottom:10px}.empty button{margin-top:16px}.empty ul{padding-left:20px;line-height:1.6;font-size:14px;color:var(--muted)}.cart-tools{display:flex;gap:12px;align-items:center;margin-bottom:15px}.cart-tools .search{flex:1}.progress{height:5px;width:100%;accent-color:var(--green);margin-bottom:20px}.cart-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--line)}.cart-row>input{accent-color:var(--green);width:20px;height:20px;cursor:pointer}.cart-row h3{font-size:15px;overflow-wrap:anywhere}.cart-row small{display:block;margin-top:5px;font-size:12px}.cart-row.is-covered h3{color:var(--muted)}.cart-amount{font-size:14px;font-weight:600;display:flex;align-items:center;gap:7px}.cart-amount .icon-button{width:36px;height:36px;min-height:36px}.loading,.locked{padding:50px 24px;max-width:560px;margin:0 auto}.locked .wordmark{margin:20px 0}.locked img{width:100%;height:140px;object-fit:cover}.locked p{margin:16px 0 24px}.locked a{display:inline-flex}.locked .primary{padding:13px 18px;border-radius:6px;text-decoration:none;color:white}dialog{width:min(620px,calc(100% - 28px));max-height:min(85dvh,800px);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:24px;overscroll-behavior:contain}dialog::backdrop{background:#182c2480}.dialog-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.dialog-head h2{font-size:20px;overflow-wrap:anywhere}.dialog-head button{margin-top:-8px;margin-right:-10px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.dialog-content{font-size:14px;line-height:1.6}.dialog-content ul,.dialog-content ol{padding-left:22px}.dialog-content h3{margin:20px 0 10px}.summary-list{display:grid;grid-template-columns:140px minmax(0,1fr);gap:9px;font-size:14px}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;overflow-wrap:anywhere}.recipe-options{display:grid;margin-top:16px}.recipe-option{padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;justify-content:space-between;background:transparent}.recipe-option span{display:grid;gap:5px;min-width:0}.recipe-option strong{font-size:14px;font-weight:550}.recipe-option small{font-size:12px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:13px 18px;max-width:min(540px,calc(100% - 32px));width:max-content;z-index:20;border-radius:6px;font-size:14px;box-shadow:0 5px 20px #0002;line-height:1.45}#toast[data-error=true]{background:#913945}button.busy{opacity:.6;pointer-events:none}[hidden]{display:none!important}body.is-busy button[type=submit]{opacity:.6;pointer-events:none}
@media(min-width:1000px){.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 238px;gap:32px}.profile-aside{padding-top:0}.profile-aside .energy{grid-template-columns:1fr}.profile-aside .notice{font-size:12px}.banner{height:128px}.banner h2{font-size:27px}.profile-layout .checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.workspace{padding:18px 18px calc(100px + env(safe-area-inset-bottom))}.topbar{margin-bottom:17px}.topbar .room-title{display:none}.topbar .wordmark{display:block;font-size:29px}.topbar small{font-size:12px}.avatar{display:none}.banner{height:90px;padding:17px;margin-bottom:22px;background-position:center}.banner h2{font-size:21px}.page-heading{align-items:flex-start;margin-bottom:17px}.page-heading h2{font-size:22px}.page-heading p{font-size:13px}.section-tabs{max-width:none}.form-section{padding:22px 0}.checks{gap:8px}.check-choice{padding:10px;font-size:13px}.field-grid{gap:14px}.field-grid.three{gap:10px}.field input,.field select{padding:11px 10px}.mobile-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;padding:7px 12px calc(7px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:5}.mobile-nav button{display:flex;flex-direction:column;gap:4px;padding:7px 8px;font-size:11px;min-height:52px;border-radius:6px;justify-content:center}.savebar{bottom:calc(80px + env(safe-area-inset-bottom));padding:10px;gap:8px}.savebar small{font-size:12px}.savebar button{font-size:14px;padding:11px 13px}.week-grid{grid-template-columns:1fr;gap:10px}.meal{padding:16px}.meal h3{min-height:0}.meal-day{margin-bottom:8px}.meal-actions{padding-top:10px}.energy{padding:17px;gap:12px}.energy strong{font-size:27px}.cart-row{gap:8px;grid-template-columns:24px minmax(0,1fr) auto}.cart-row h3{font-size:14px}.cart-amount{font-size:13px;gap:2px}dialog{padding:20px;max-height:88dvh}.dialog-head h2{font-size:19px}.summary-list{grid-template-columns:110px minmax(0,1fr);gap:8px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1}#toast{bottom:calc(88px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.workspace{padding-left:13px;padding-right:13px}.checks{grid-template-columns:1fr}.field-grid.three{grid-template-columns:1fr}.banner h2{font-size:20px}.banner{background-position:40% center}.savebar small{max-width:35%}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s}.meal:hover{border-color:#a9bfb2}dialog[open]{animation:appear .15s ease-out}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#19221e;--surface:#222e27;--ink:#edf3ef;--muted:#b0beb5;--line:#3d4f43;--green:#8fcbb0;--soft:#304c3e;--blue:#263a3d;background:var(--bg);color:var(--ink);color-scheme:dark}:root:not([data-theme=light]) .primary{background:#367c5f;color:#fff;border-color:#367c5f}:root:not([data-theme=light]) .notice{background:#3a3225;color:#e8cf9c}}
