:root{--bg:#f6f1ea;--surface:#fffdf9;--text:#2a211b;--muted:#7a6c60;--line:#e6dcd0;--accent:#c2410c;--accent-text:#fff;--hands-on:#ea8a3c;--passive:#8a9a5b;--warm:#c9b8a6;--resting:#5b7fa6;--heat-oil:#c9971c;--now:#d62828;--serve:#2a211b;--active-bg:#fff1e2;--added-bg:#eaf0dd;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1512;--surface:#26201b;--text:#f3ebe2;--muted:#a8998b;--line:#3a312a;--accent:#f08a4b;--accent-text:#1a1512;--hands-on:#f08a4b;--passive:#9cae6a;--warm:#5e5147;--resting:#8fb3dc;--heat-oil:#e2b547;--now:#ff5a5a;--serve:#f3ebe2;--active-bg:#3a2a1e;--added-bg:#2d3322;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}.page{max-width:960px;padding:12px 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto}.bar{justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0 12px;display:flex}h1{margin:0;font-size:1.35rem}.sub{color:var(--muted);margin:2px 0 0;font-size:.9rem}.bar-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:.85rem}.chip.on{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:14px}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;font-size:.8rem}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.8rem}.big{margin:4px 0 8px;font-size:1.4rem;line-height:1.25}.now-task+.now-task{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.now-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.count{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.primary{background:var(--accent);color:var(--accent-text);border:0;border-radius:10px;padding:12px 22px;font-weight:600}.problem h2{margin-top:0}.gantt{display:flex}.gantt-labels{flex:0 0 96px;font-size:.75rem}.gantt-axis-spacer,.gantt-axis{height:22px}.gantt-label,.gantt-row{height:30px}.gantt-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding-right:6px;display:flex;overflow:hidden}.gantt-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-x:auto}.gantt-inner{position:relative}.gantt-axis{color:var(--muted);font-size:.7rem;position:relative}.tick{position:absolute;top:2px;transform:translate(-50%)}.gantt-row{border-top:1px dashed var(--line);position:relative}.bar-seg{white-space:nowrap;color:#fff;border-radius:5px;height:20px;padding:0 4px;font-size:.65rem;line-height:20px;position:absolute;top:5px;overflow:hidden}.bar-seg.hands-on{background:var(--hands-on)}.bar-seg.cooking{background:var(--passive)}.bar-seg.resting{border:2px dashed var(--resting);color:var(--resting);background:0 0;font-weight:600;line-height:16px}.bar-seg.preheat{background:repeating-linear-gradient(45deg, var(--warm), var(--warm) 4px, transparent 4px, transparent 8px);color:var(--text)}.moment{background:var(--hands-on);border:2px solid var(--surface);width:12px;height:12px;margin-left:-6px;position:absolute;top:9px;transform:rotate(45deg)}.now-line,.serve-line{width:2px;position:absolute;top:0;bottom:0}.now-line{background:var(--now)}.serve-line{background:var(--serve);opacity:.4}.legend{color:var(--muted);margin:10px 0 0;font-size:.75rem}.swatch{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin:0 3px 0 8px;display:inline-block}.swatch:first-child{margin-left:0}.swatch.hands-on{background:var(--hands-on)}.swatch.cooking{background:var(--passive)}.swatch.resting{border:2px dashed var(--resting);background:0 0}.swatch.preheat{background:var(--warm)}.tasks{margin:0;padding:0;list-style:none}.task label{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 6px;display:flex}.task:first-child label{border-top:0}.task.active label{background:var(--active-bg);border-radius:8px}.task.done .task-name{color:var(--muted);text-decoration:line-through}.task input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:2px}.task-time{font-variant-numeric:tabular-nums;flex:0 0 58px;font-weight:600}.task-time small{color:var(--muted);font-weight:400;display:block}.task-body{flex-direction:column;display:flex}.task.hands-on .task-name{font-weight:600}.task-where{color:var(--muted);font-size:.8rem}.link{color:var(--accent);background:0 0;border:0;padding:8px 0}.field{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.field input,.recipe-extra input,.recipe-extra select{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px}.recipes{margin:0;padding:0;list-style:none}.recipes li{border-top:1px solid var(--line);padding:8px 0}.recipe-toggle{align-items:center;gap:10px;display:flex}.recipe-toggle input{width:20px;height:20px;accent-color:var(--accent)}.recipe-extra{align-items:center;gap:10px;margin:6px 0 0 30px;display:flex}.recipe-extra input[inputmode]{width:72px}.setup-actions{justify-content:space-between;margin-top:6px;display:flex}.offline{color:var(--now)}.now-buttons{align-items:center;gap:8px;display:flex}.cooking-list{border-top:1px solid var(--line);margin:12px 0 0;padding:10px 0 0;list-style:none}.cooking-list li{justify-content:space-between;align-items:center;gap:10px;padding:4px 0;font-size:.95rem;display:flex}.problem{border-color:var(--now)}.problem p{margin:0 0 8px}button:disabled{opacity:.5}.field input:not([type=time]),.field select{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex:1;max-width:60%;padding:6px 8px}.recipes li:first-child{border-top:0}.recipe-extra{flex-wrap:wrap}.optional-step{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.optional-step input{width:18px;height:18px;accent-color:var(--accent);flex:none}.warn{color:var(--now)}.problem-inline p{margin:0 0 6px}.toast{text-align:center;color:var(--muted);font-size:.9rem}.action-bar{background:var(--surface);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.plan-warning{max-width:960px;max-height:40vh;margin:0 auto;padding:10px 16px 0;overflow-y:auto}.plan-warning p:last-child{margin-bottom:0}.actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));justify-content:space-between;gap:12px;display:flex}.actions .primary{flex:1}.list-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem}.resting-list .list-heading{color:var(--resting)}.resting-tag{color:var(--resting);font-weight:600}.task.resting .task-name{color:var(--resting)}a.chip,a.primary{color:var(--text);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.back{color:var(--accent);margin-bottom:2px;font-size:.9rem;text-decoration:none;display:inline-block}.link-list{margin:0;padding:0;list-style:none}.link-list a{color:inherit;border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;text-decoration:none;display:flex}.link-list li:first-child a{border-top:0}.editor-list{margin:0;padding:0;list-style:none}.editor-item{border-top:1px solid var(--line);padding:10px 0}.editor-item:first-child{border-top:0}.inline-fields{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px;display:flex}.inline-fields label{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:.8rem;display:flex}.inline-fields input,.inline-fields select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;max-width:100%;padding:6px 8px;font-size:1rem}.inline-fields input[inputmode]{width:84px}.check{align-items:center;gap:8px;padding:6px 0;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.add-row{flex-wrap:wrap;gap:8px;display:flex}.chip.wide{width:100%;margin-bottom:12px;padding:12px;display:block}.danger{color:var(--now)}.step-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.step-head .section-title{margin:0}.step-tools{gap:4px;display:flex}.icon{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:36px;height:36px}.more{border-top:1px dashed var(--line);margin-top:6px;padding-top:8px}.more .field input{flex:none;width:84px}a.primary{color:var(--accent-text)}.link.inline{font-size:inherit;padding:0}.serve-edit{align-items:center;gap:8px;margin-top:4px;display:flex}.serve-edit input{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px}.primary.small{padding:8px 14px}.history-line{margin-top:2px;font-size:.85rem;display:block}.nowrap{white-space:nowrap}.gantt-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.gantt-head .section-title{margin:0}.segmented{border:1px solid var(--line);border-radius:999px;min-width:0;margin:0;padding:0;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);border:0;padding:5px 12px;font-size:.8rem}.segmented button.on{background:var(--accent);color:var(--accent-text)}.oven-row{border-top:1px solid var(--line)}.oven-preheat{background:repeating-linear-gradient(45deg, var(--warm), var(--warm) 4px, transparent 4px, transparent 8px);opacity:.6;position:absolute;top:0;bottom:0}.door-shut{border-left:2px solid var(--now);border-right:2px solid var(--now);background:color-mix(in srgb, var(--now) 10%, transparent);color:var(--now);text-transform:uppercase;white-space:nowrap;z-index:1;pointer-events:none;align-items:flex-end;padding:1px 3px;font-size:.55rem;font-weight:600;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.bar-seg.lane{align-items:center;font-size:.6rem;line-height:1;display:flex;top:auto}.bar-seg.lane.resting{line-height:1}.finished-list .list-heading{color:var(--accent)}.late-choice{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.late-choice .sub{margin:0 0 8px}.bar-seg.heat-oil,.swatch.heat-oil{background:var(--heat-oil)}.gantt-row .bar-seg.shared{height:15px;line-height:11px;top:3px}.gantt-row .bar-seg.alongside{height:7px;padding:0;top:20px}.auth{flex-direction:column;justify-content:center;width:100%;max-width:24rem;min-height:100dvh;display:flex}.auth-logo{align-self:center;max-width:100%;height:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth h1{text-align:center;margin:0 0 4px}.auth>.sub{text-align:center;margin:0}.auth .card{flex-direction:column;gap:12px;margin:20px 0 0;padding:16px;display:flex}.auth .field{flex-direction:column;align-items:stretch;gap:4px;margin:0}.auth .field span{color:var(--muted);font-size:.9rem}.auth .field input{flex:none;width:100%;max-width:none;min-height:44px}.auth .problem-inline{color:var(--now);margin:0}.auth .primary{width:100%;margin-top:4px}.auth-google{text-align:center;margin-top:12px;padding:12px;font-size:1rem;text-decoration:none;display:block}.new-link{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.new-link .sub{flex-basis:100%;margin:0}.new-link input{flex:1;min-width:0}.admin-list{margin:.75rem 0 0;padding:0;list-style:none}.admin-list li{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.admin-actions{gap:.5rem;display:flex}.meat-pick{justify-content:space-between;align-items:center;gap:10px;display:flex}.meat-pick select,.add-dish{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:8px}.add-dish{width:100%;margin-top:8px}.dish-name{flex:1}.steps-readonly{color:var(--muted);margin:6px 0 0 30px;padding:0;font-size:.85rem;list-style:inside decimal}.steps-readonly li{border:0;padding:2px 0}.share-link{box-sizing:border-box;width:100%;margin:8px 0;padding:8px;font-size:.85rem}.share-actions{justify-content:flex-start}.meal-list li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:12px 0;display:flex}.meal-list li:first-child{border-top:0}.meal-list li>span:first-child{flex:14rem;min-width:0}.meal-actions{align-items:center;gap:12px;display:flex}.group-title{margin:20px 0 0;font-size:1.1rem}.tag{border:1px solid var(--line);color:var(--muted,inherit);white-space:nowrap;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.75rem;display:inline-block}.unavailable{color:var(--danger,#b3261e)}.app-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);position:sticky;top:0}.app-header-row{align-items:center;gap:12px;max-width:960px;margin:0 auto;padding:6px 16px;display:flex;position:relative}.logo-column{flex-direction:column;flex:none;align-items:flex-start;gap:2px;display:flex}.app-header .logo{flex:none;display:inline-flex}.return-to-plan{color:var(--accent);white-space:nowrap;padding:6px 0;font-size:.75rem;line-height:1.2}.app-title{flex:1;min-width:0}.app-title h1{overflow-wrap:anywhere;font-size:1.1rem}.app-title .sub{margin:0;font-size:.8rem}.burger,.nav-item,.sub-nav-item{min-height:40px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;text-decoration:none;display:inline-flex}.burger{display:none}.burger svg,.nav-item svg,.sub-nav-item svg{stroke:currentColor;flex:none;width:20px;height:20px}.app-nav{gap:2px;display:flex}.nav-item[aria-current=page]{color:var(--accent);border-color:var(--line)}.nav-item:hover,.sub-nav-item:hover{background:var(--active-bg)}.sub-nav{flex-wrap:wrap;gap:6px;padding:0 0 8px;display:flex}.sub-nav-item{border-color:var(--line);background:var(--surface);min-height:36px}.sub-nav-item.on{background:var(--active-bg);color:var(--accent)}.finish-zone{border-top:1px solid var(--line);justify-content:center;margin-top:48px;padding-top:16px;display:flex}section.card[hidden]{display:none}@media (width<=720px){.burger{display:inline-flex}.app-nav{background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;padding:6px 16px 10px;display:none;position:absolute;top:100%;left:0;right:0}.app-nav.open{display:flex}}.app-title .serve-edit{flex-wrap:wrap}.recipe-row.added{background:var(--added-bg)}.recipe-row{border-top:1px solid var(--line);position:relative;overflow:hidden}.link-list li.recipe-row:first-child{border-top:0}.recipe-row .recipe-row-main{align-items:center;gap:4px;display:flex}.recipe-row .recipe-row-main a{border-top:0;flex:1;min-width:0}.row-delete svg{stroke:currentColor;width:18px;height:18px}.row-confirm{background:var(--surface);visibility:hidden;justify-content:flex-end;align-items:center;padding:0 4px;transition:transform .2s,visibility .2s;display:flex;position:absolute;inset:0;transform:translate(100%)}.recipe-row.confirming .row-confirm{visibility:visible;transform:none}.row-confirm .chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.row-error{color:var(--danger,#b3261e);margin:0 0 8px}@media (prefers-reduced-motion:reduce){.row-confirm{transition:none}}.light{background:0 0;border:2px solid;border-radius:50%;flex:none;width:10px;height:10px}.light.lit{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px var(--accent)}
