:root{--nav-height: 72px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--sunset: #E8603C;--sunset-dim: #C84A2A;--sunset-hover: #F47552;--sunset-glow: rgba(232, 96, 60, .15);--sunset-intense: rgba(232, 96, 60, .4);--sage-deep: #3A4D35;--sage-moss: #5E7B5C;--sage-leaf: #7A9A6E;--sage-highlight: #A8C491;--marigold: #E8C547;--bg: #14120F;--bg-pure: #0F0D0A;--surface: #1E1A15;--surface-alt: #252019;--surface-elevated: #2A2520;--text: #EDE4D3;--text-secondary: #B8A88F;--text-light: #7A6B58;--border: #3D3530;--border-light: #2E2822;--cream-bg: #F5EFE4;--cream-text: #2C1F14;--cream-secondary: #5C4A3A;--cream-muted: #8A7A66;--cream-border: #C9B99A;--font-heading: "Fraunces", "Georgia", serif;--font-body: "General Sans", "Space Grotesk", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--hero-size: clamp(2.8rem, 6.5vw + .8rem, 5.6rem);--h1-size: clamp(2.5rem, 5vw, 4.5rem);--h2-size: clamp(1.75rem, 3.5vw, 3rem);--h3-size: clamp(1.25rem, 2vw, 1.75rem);--body-size: 1.0625rem;--small-size: .875rem;--caption-size: .75rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--section-pad: clamp(5rem, 10vw, 8rem);--spring: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration: .6s;color-scheme:dark}[data-theme=light]{--bg: #F5EFE4;--bg-pure: #EDE4D3;--surface: #E2D6BE;--surface-alt: #D8C9A5;--surface-elevated: #CFBFA0;--text: #2C1F14;--text-secondary: #5C4A3A;--text-light: #8A7A66;--border: #C9B99A;--border-light: #D8C9A5;--cream-bg: #14120F;--cream-text: #EDE4D3;--cream-secondary: #B8A88F;--cream-muted: #7A6B58;--cream-border: #3D3530;color-scheme:light}.eyebrow{font-family:var(--font-mono);font-size:var(--caption-size);letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin:0}.shippie-icon{border-radius:0;aspect-ratio:1;flex-shrink:0}:focus-visible{outline:2px solid var(--sunset);outline-offset:2px}.skip-link{position:absolute;top:0;left:0;z-index:10000;padding:var(--space-md, 1rem);background:var(--sunset);color:var(--bg-pure, #14120F);font-family:var(--font-body);font-weight:700;text-decoration:none;transform:translateY(-100%);transition:transform .1s ease}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--text);outline-offset:-4px}:root{color-scheme:dark;--font-display: var(--font-heading)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.45}button,input,textarea,select{font:inherit}.app{min-height:100%;max-width:520px;width:100%;margin:0 auto;padding:calc(20px + env(safe-area-inset-top,0)) 20px calc(120px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;gap:18px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.app-header-action{height:38px;padding:0 14px}.app-header h1,.page-header h1{font-family:var(--font-heading);font-size:32px;font-weight:600;letter-spacing:-.02em;margin:0}.subtitle{margin:4px 0 0;color:var(--text-light);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:lowercase}.page-header{display:flex;flex-direction:column;gap:4px}.page-header .back{align-self:flex-start;background:transparent;color:var(--text-light);border:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;cursor:pointer;padding:4px 0;margin-bottom:4px}.page-header .back:hover{color:var(--text)}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin:0}.muted{color:var(--text-light)}.small{font-size:12px}.empty{padding:24px 0;text-align:center}.strip-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.quick-start{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--marigold);display:flex;flex-direction:column;gap:12px;padding:16px}.quick-recipe{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quick-recipe h2{margin:2px 0;font-family:var(--font-heading);font-size:24px;font-weight:600;letter-spacing:-.01em}.quick-recipe .ghost{min-height:38px;padding:0 12px;flex-shrink:0}.quick-start .field-row{display:grid;grid-template-columns:1fr}.quick-start .field{min-width:0}.quick-start .field input{width:100%;min-width:0}.quick-preview{margin:-2px 0 0;font-family:var(--font-mono);font-size:12px;color:var(--sage-leaf)}.quick-preview.warn{color:var(--marigold)}.quick-action{width:100%}.recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recipe-chip{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:12px 10px;border-radius:0;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:88px}.recipe-chip:hover{background:var(--surface-alt);border-color:var(--text-secondary);transform:translateY(-1px)}.recipe-chip.mine{border-left:3px solid var(--marigold)}.recipe-chip.active{border-color:var(--marigold);background:#e8c5471a}.recipe-name{font-family:var(--font-heading);font-size:15px;font-weight:600}.recipe-meta{font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:var(--text-light);text-transform:uppercase}.recipe-desc{font-size:12px;color:var(--text-secondary);line-height:1.35}.active-strip{display:flex;flex-direction:column;gap:6px}.bake-list{display:flex;flex-direction:column;gap:8px}.bake-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--sage-leaf);padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;color:var(--text)}.bake-card:hover{background:var(--surface-alt)}.bake-card-head{display:flex;justify-content:space-between;align-items:baseline}.bake-card strong{font-family:var(--font-heading);font-size:15px}.bake-status{font-size:13px}.bake-status.overdue{color:var(--marigold);font-weight:600}.bake-card-bar{height:4px;background:var(--border-light);position:relative;overflow:hidden}.bake-card-bar-fill{height:100%;background:color-mix(in srgb,var(--sage-leaf) 80%,#000);transition:width .4s ease-out}.form-block{display:flex;flex-wrap:wrap;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);padding:14px}.field{display:flex;flex-direction:column;gap:6px;flex:1 1 160px;min-width:0}.field span{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light)}.field input,.field select,.field textarea{padding:10px 14px;background:var(--bg-pure);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-mono);font-size:16px;width:100%;min-width:0;box-sizing:border-box}.field input{height:44px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--marigold)}.field-row{display:flex;gap:8px;flex-wrap:wrap}.mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mode-chip{background:var(--bg-pure);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:0;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.mode-chip:hover{background:var(--surface-alt);border-color:var(--text-secondary)}.mode-chip.active{background:#e8c5471a;border-color:var(--marigold)}.mode-name{font-family:var(--font-heading);font-size:15px;font-weight:600}.mode-meta{font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:var(--text-light)}.mode-hint{margin:4px 0 0}.flour-mix ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.flour-mix li{display:grid;grid-template-columns:1fr 80px 12px 32px;gap:6px;align-items:center}.flour-mix select,.flour-mix input{height:36px;background:var(--bg-pure);border:1px solid var(--border);color:var(--text);padding:0 8px;font-family:var(--font-mono);font-size:14px;border-radius:0}.flour-pct-suffix{color:var(--text-light);font-family:var(--font-mono);font-size:12px}.flour-remove{background:transparent;color:var(--text-light);border:1px solid var(--border);font-size:16px;cursor:pointer;height:36px}.flour-remove:hover:not(:disabled){color:var(--sunset);border-color:var(--sunset)}.flour-remove:disabled{opacity:.4;cursor:not-allowed}.flour-mix-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.flour-sum{font-family:var(--font-mono);font-size:12px;margin-left:auto}.flour-sum.ok{color:var(--sage-leaf)}.flour-sum.off{color:var(--sunset)}.quantities{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--marigold);padding:14px;display:flex;flex-direction:column;gap:8px}.quantities ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.quantities li{display:grid;grid-template-columns:1fr auto 56px;gap:12px;align-items:baseline}.qty-divider{border-top:1px dashed var(--border);padding-top:6px}.qty-name{font-family:var(--font-heading);font-size:16px}.qty-value{font-family:var(--font-mono);font-size:18px;text-align:right}.qty-pct{text-align:right}.check-line{margin:4px 0 0;padding:6px 10px;font-size:12px;font-family:var(--font-mono);border-left:3px solid var(--border)}.check-line.ok{color:var(--sage-leaf);border-color:var(--sage-leaf);background:#7a9a6e0f}.check-line.warn{color:var(--marigold);border-color:var(--marigold);background:#e8c5470f}.check-line.error{color:var(--sunset);border-color:var(--sunset);background:#e8603c0f}.warn-line{font-family:var(--font-mono);font-size:12px;color:var(--sunset);margin:4px 0 0}.schedule{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--sage-leaf);padding:14px;display:flex;flex-direction:column;gap:10px}.starter-gate{border-left:2px solid var(--marigold);padding-left:10px}.starter-gate strong{color:var(--text)}.timeline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;position:relative}.timeline:before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:1px;background:var(--border)}.timeline-row{position:relative;padding-left:0}.timeline-head{background:transparent;border:0;width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 4px;cursor:pointer;color:var(--text);text-align:left}.timeline-head:hover{background:var(--surface-alt)}.timeline-dot{width:26px;height:26px;background:var(--bg);border:1px solid var(--border);font-family:var(--font-mono);font-size:11px;display:flex;align-items:center;justify-content:center;color:var(--text-light);z-index:1}.timeline-row.past .timeline-dot{background:var(--sage-leaf);color:var(--bg-pure);border-color:var(--sage-leaf)}.timeline-row.active .timeline-dot{background:var(--marigold);color:var(--bg-pure);border-color:var(--marigold)}.timeline-text{display:flex;flex-direction:column;gap:2px}.timeline-label{font-family:var(--font-heading);font-size:15px;font-weight:600}.timeline-time{font-family:var(--font-mono);font-size:11px;color:var(--text-light)}.timeline-now-pill{background:var(--marigold);color:var(--bg-pure);font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;padding:2px 6px;text-transform:lowercase}.timeline-progress{height:2px;background:var(--marigold);margin-left:38px;margin-right:0;transition:width .6s ease-out}.timeline-prompt{background:var(--surface-alt);margin:4px 0 8px 38px;padding:12px 14px;border-left:2px solid var(--marigold)}.timeline-prompt p{margin:0 0 6px;line-height:1.5}.sub-prompts{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.sub-prompts li{border-top:1px dashed var(--border);padding-top:6px}.sub-prompts strong{font-family:var(--font-heading);font-size:13px;display:block;margin-bottom:2px}.stage-prompt{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--marigold);padding:16px;display:flex;flex-direction:column;gap:6px}.stage-prompt h2{font-family:var(--font-heading);font-size:24px;font-weight:600;margin:0}.stage-prompt-body{line-height:1.6;margin:0}.overdue-banner{background:#e8c5471a;border:1px solid var(--marigold);padding:14px;display:flex;flex-direction:column;gap:6px}.overdue-banner strong{color:var(--marigold);font-family:var(--font-heading)}.primary{height:48px;padding:0 18px;border-radius:0;border:0;background:var(--marigold);color:var(--bg-pure);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer}.primary:hover{filter:brightness(1.05)}.primary:disabled{opacity:.4;cursor:not-allowed}.ghost{background:transparent;border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:0;cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.ghost:hover{border-color:var(--text-secondary)}.ghost.wide{width:100%;padding:12px}.ghost.destructive{color:var(--sunset);border-color:#e8603c66}.ghost.destructive:hover{border-color:var(--sunset)}.sheet-backdrop{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:#0000008f}.bottom-sheet{width:100%;max-width:520px;max-height:min(86vh,720px);overflow-y:auto;background:var(--surface);border-top:3px solid var(--marigold);box-shadow:0 -18px 50px #00000052;padding:8px 20px calc(22px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;gap:14px}.sheet-grip{align-self:center;width:42px;height:4px;border-radius:999px;background:var(--border)}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sheet-head h2{margin:2px 0 0;font-family:var(--font-heading);font-size:20px;font-weight:600;letter-spacing:-.01em}.sheet-head .ghost{min-height:38px;padding:0 14px}.tool-actions{display:flex;flex-wrap:wrap;gap:8px}.tool-actions .ghost{flex:1;min-height:42px}.sheet-recipes{grid-template-columns:1fr}.page-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:4px}.page-actions .primary{flex:1}.outcome-form{background:var(--surface);border:1px solid var(--border);padding:16px;display:flex;flex-wrap:wrap;flex-direction:column;gap:12px}.outcome-row{display:flex;align-items:center;justify-content:space-between}.outcome-label{font-family:var(--font-heading);font-size:15px}.outcome-actions{display:flex;gap:8px;justify-content:flex-end}.rate-row{display:flex;gap:2px}.star{background:transparent;border:0;color:var(--border);font-size:22px;cursor:pointer;padding:0 2px}.star.on{color:var(--marigold)}.star:hover{transform:scale(1.15)}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.history-item{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--sage-leaf);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.history-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.history-head strong{font-family:var(--font-heading);font-size:15px}.history-meta{margin:0}.history-ratings{display:flex;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--marigold)}.history-notes{margin:4px 0 0;line-height:1.5}.history-photo{width:100%;max-height:240px;object-fit:cover;margin-top:6px}.notify-prompt{position:fixed;bottom:calc(64px + env(safe-area-inset-bottom,0));left:50%;transform:translate(-50%);z-index:5;height:36px;padding:0 14px;background:var(--marigold);color:var(--bg-pure);border:0;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border-radius:0}.bottom-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg, #fff);border-top:1px solid var(--border, rgba(0,0,0,.08));padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));gap:4px;z-index:5}.bottom-tabs .tab{flex:1;min-height:44px;background:transparent;border:none;color:var(--fg, inherit);font:inherit;font-size:14px;font-weight:600;padding:8px;cursor:pointer}.bottom-tabs .tab.tab-active{background:var(--accent-subtle, rgba(0,0,0,.06));color:var(--accent, inherit)}.eyebrow{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-light)}.app-header h1,.page-header h1,.page-hero h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.018em;line-height:1.08}.page-hero h1 em,.app-header h1 em{font-style:italic;color:var(--accent, var(--sunset))}.bake-numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.018em;line-height:.95;font-size:clamp(2.4rem,7vw,4.4rem)}.bake-numeric.size-card{font-size:clamp(1.4rem,4vw,2.2rem)}.bake-numeric .unit{font-size:.45em;font-weight:600;color:var(--text-light);vertical-align:.35em;margin-left:.2em}input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{min-width:0;max-width:100%;box-sizing:border-box}@media(max-width:560px){input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{-webkit-appearance:none;appearance:none}}
