*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;background:var(--color-background);color:var(--color-text);font-family:var(--font-ui)}button,input,select{font:inherit}button,select{cursor:pointer}.theme-root{height:100vh;min-height:0;overflow:hidden;background-color:var(--color-background);background-image:var(--texture-background);color:var(--color-text)}.app-shell{display:flex;flex-direction:column;height:100vh;min-height:0;padding:14px;overflow:hidden}.top-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;margin-bottom:12px;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:var(--shadow-panel)}.brand-lockup,.top-meta,.panel-actions,.chat-composer,.quick-replies,.chip-list{display:flex;align-items:center}.brand-lockup{gap:12px}.brand-lockup h1,.panel-header h2{margin:0;font-family:var(--font-heading);line-height:1.1;letter-spacing:0}.brand-lockup h1{font-size:1.45rem}.brand-lockup p,.eyebrow,.top-meta span,.active-dish span,.active-dish small,.message span,.panel-card__header span,.measurement-row small,.timeline-row small,.component-grid small,.check-row small{color:var(--color-text-muted)}.brand-lockup p,.top-meta span,.eyebrow{margin:0;font-size:.78rem}.top-meta{gap:14px}.theme-select{display:grid;gap:3px;font-size:.72rem;color:var(--color-text-muted)}.theme-select select{min-width:220px;min-height:34px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:0 10px}.cockpit-grid{flex:1 1 auto;display:grid;grid-template-columns:minmax(260px,320px) minmax(520px,1fr) minmax(300px,380px);gap:12px;align-items:stretch;min-height:0;height:100%;overflow:hidden}.panel-region{display:flex;min-width:0;min-height:0;overflow:hidden}.panel-window{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-panel);background-color:var(--color-surface);background-image:var(--texture-paper),var(--texture-grid);box-shadow:var(--shadow-panel)}.panel-window:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:58px;padding:12px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 88%,var(--color-surface-alt))}.panel-header h2{font-size:1.05rem}.panel-body{flex:1;min-height:0;overflow:auto;padding:12px}.panel-tabs{display:flex;flex-wrap:wrap;gap:6px}.panel-tabs button,.quick-replies button,.chat-composer button,.status-pill{min-height:30px;border-radius:var(--radius-chip);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-alt) 75%,transparent);color:var(--color-text)}.panel-tabs button{padding:0 10px;font-size:.78rem}.panel-tabs button.is-active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 18%,var(--color-surface));color:var(--color-accent)}.panel-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-surface-alt));box-shadow:var(--shadow-card);padding:12px}.panel-card--warning{border-color:color-mix(in srgb,var(--color-warning) 70%,var(--color-border))}.panel-card--danger{border-color:color-mix(in srgb,var(--color-danger) 70%,var(--color-border))}.panel-card--success{border-color:color-mix(in srgb,var(--color-success) 70%,var(--color-border))}.panel-card--info{border-color:color-mix(in srgb,var(--color-info) 70%,var(--color-border))}.panel-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.panel-card__header h3{margin:0;font-size:.88rem}.panel-card p,.compact-list,.source-card-body p{margin:0}.compact-list{padding-left:18px}.compact-list li+li{margin-top:6px}.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workspace-jump-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-accent) 30%,var(--color-border));border-radius:var(--radius-card);background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 12%,transparent),transparent 70%),color-mix(in srgb,var(--color-surface-alt) 58%,var(--color-surface))}.workspace-jump-bar strong{display:block;font-size:.82rem;color:var(--color-accent)}.workspace-jump-bar p{margin:3px 0 0;color:var(--color-text-muted);font-size:.78rem}.workspace-jump-bar__buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.workspace-jump-bar__buttons button{min-height:30px;padding:0 10px;border:1px solid color-mix(in srgb,var(--color-accent) 26%,var(--color-border));border-radius:var(--radius-chip);background:color-mix(in srgb,var(--color-surface) 84%,var(--color-accent));color:var(--color-text)}.workspace-jump-bar__buttons button[aria-pressed=true]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 18%,var(--color-surface));color:var(--color-accent)}.stack,.cook-mode,.source-list,.evidence-boundary,.recipe-list,.debug-list,.image-reference-view,.notes-view,.postmortem-grid{display:grid;gap:12px}.active-dish{display:grid;gap:4px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}.active-dish-actions{display:flex;gap:8px;margin-top:8px}.active-dish-actions button{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:.75rem;border-radius:var(--radius-chip);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-alt) 80%,var(--color-surface));color:var(--color-text);transition:all .2s ease}.active-dish-actions button:hover:not(:disabled){border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));color:var(--color-accent)}.active-dish-actions button:disabled{opacity:.5;cursor:not-allowed}.guard-chip-row{display:flex;flex-wrap:wrap;gap:6px}.message-list{display:grid;gap:10px;margin:12px 0}.progress-status{display:grid;gap:8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-info) 45%,var(--color-border));border-radius:8px;background:color-mix(in srgb,var(--color-info) 8%,var(--color-surface))}.progress-status__current{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.progress-status__current span{min-width:0;overflow-wrap:anywhere}.progress-status__current small{color:var(--color-text-muted);font-family:var(--font-mono)}.progress-spinner{animation:progress-spin .9s linear infinite}.progress-stage-row{display:flex;flex-wrap:wrap;gap:6px}.progress-stage-row span{max-width:100%;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--color-surface-alt) 82%,var(--color-info));color:var(--color-text-muted);font-size:.75rem;overflow-wrap:anywhere}@keyframes progress-spin{to{transform:rotate(360deg)}}.message{display:grid;gap:8px;max-width:92%;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.message--assistant{margin-left:auto;background:color-mix(in srgb,var(--color-surface-alt) 55%,var(--color-surface))}.message>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.structured-recipe-card,.recipe-chat-summary{display:grid;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-surface) 88%,white)}.structured-recipe-card header,.recipe-chat-summary header{display:grid;gap:8px}.structured-recipe-card h3,.structured-recipe-card h4,.structured-recipe-card p,.recipe-chat-summary h3,.recipe-chat-summary p{margin:0}.structured-recipe-card h3,.recipe-chat-summary h3{font-size:1rem;line-height:1.2}.structured-recipe-card h4{font-size:.76rem;text-transform:uppercase;color:var(--color-text-muted)}.structured-recipe-card__meta,.structured-recipe-card__controls,.recipe-chat-summary__meta,.recipe-chat-summary__controls,.recipe-chat-summary__actions{display:flex;flex-wrap:wrap;gap:6px}.structured-recipe-card__meta span,.structured-recipe-card__controls span,.recipe-chat-summary__meta span,.recipe-chat-summary__controls span{border:1px solid var(--color-border);border-radius:var(--radius-chip);padding:3px 8px;font-size:.72rem;background:var(--color-surface-alt)}.recipe-chat-summary__actions button{min-height:30px;padding:0 10px;border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border));border-radius:var(--radius-chip);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));color:var(--color-text);font-size:.76rem}.recipe-chat-summary__hint{color:var(--color-text-muted);font-size:.76rem}.recipe-chat-summary__mutation{display:grid;gap:8px;padding:9px;border:1px solid color-mix(in srgb,var(--color-success) 34%,var(--color-border));border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-success) 8%,var(--color-surface))}.recipe-chat-summary__mutation ul{margin:0;padding-left:18px}.recipe-chat-summary__mutation li+li{margin-top:4px}.recipe-chat-summary__warnings{display:grid;gap:5px}.recipe-chat-summary__warnings span{color:var(--color-warning);font-size:.76rem;overflow-wrap:anywhere}.structured-recipe-card__grid{display:grid;gap:12px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.structured-ingredient-groups,.structured-step-list,.structured-recipe-card__risk{display:grid;gap:8px}.structured-ingredient-groups ul,.structured-step-list{margin:4px 0 0;padding-left:18px}.structured-step-list li{display:grid;gap:3px;margin-bottom:8px}.structured-step-list small{color:var(--color-text-muted)}.structured-recipe-card__risk div,.structured-recipe-fallback{display:grid;gap:3px;padding:8px;border-left:3px solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 10%,transparent)}.recipe-debug-inspector{border-top:1px solid var(--color-border);padding-top:10px}.recipe-debug-inspector summary{cursor:pointer;font-size:.78rem;font-weight:700;color:var(--color-text-muted)}.recipe-debug-inspector pre{max-height:180px;overflow:auto;margin:6px 0 10px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);white-space:pre-wrap;word-break:break-word}.quick-replies{gap:6px;flex-wrap:wrap;margin-bottom:10px}.quick-replies button{padding:0 10px;font-size:.78rem}.chat-composer{gap:6px;margin-top:auto;padding-top:8px;border-top:1px solid var(--color-border)}.chat-composer button{width:34px;justify-content:center}.chat-composer input{min-width:0;flex:1;min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text);padding:0 10px}.measurement-form,.postmortem-form{display:grid;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border)}.measurement-form{grid-template-columns:minmax(130px,1fr) minmax(80px,.7fr) minmax(70px,.5fr) auto}.measurement-form select,.measurement-form input,.measurement-form button,.postmortem-form textarea,.postmortem-form button{min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text);padding:0 10px}.measurement-form button,.postmortem-form button{background:color-mix(in srgb,var(--color-accent) 16%,var(--color-surface));color:var(--color-accent)}.postmortem-form textarea{min-height:92px;padding:10px;resize:vertical}.status-pill{display:inline-flex;align-items:center;width:fit-content;padding:0 8px;font-size:.7rem}.status-pill--success{color:var(--color-success)}.status-pill--warning{color:var(--color-warning)}.status-pill--danger{color:var(--color-danger)}.status-pill--info{color:var(--color-info)}.grocery-list{display:grid;gap:10px}.grocery-list section{display:grid;gap:6px}.grocery-list h4{margin:0;color:var(--color-accent);font-size:.78rem;text-transform:uppercase}.grocery-section{display:grid;gap:6px;padding-top:2px}.grocery-section>strong{color:var(--color-text-muted);font-size:.78rem}.check-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:flex-start}.check-box{display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--color-accent);border-radius:3px;color:var(--color-accent)}.check-row span:last-child,.timeline-row div,.mise-list div,.component-grid div,.risk-list div{display:grid;gap:3px}.timeline-list,.checkpoint-list,.measurement-table,.mise-list,.mechanism-list,.risk-list{display:grid;gap:9px}.prep-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prep-summary>div,.prep-summary>section{display:grid;gap:5px;min-width:0}.prep-summary h4{margin:0;color:var(--color-text-muted);font-size:.78rem}.timeline-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:flex-start}.timeline-row svg{color:var(--color-accent)}.checkpoint,.measurement-row,.debug-row,.warning-line,.measure-line{display:grid;align-items:center;gap:8px}.checkpoint{grid-template-columns:18px 1fr auto}.checkpoint--critical svg{color:var(--color-danger)}.measurement-row{grid-template-columns:1fr auto 54px;min-height:34px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 60%,transparent)}.measurement-row strong{color:var(--color-accent);font-family:var(--font-mono)}.mechanism-row{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.4fr) auto;gap:8px;align-items:start;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 60%,transparent)}.mechanism-row strong{text-transform:capitalize}.mechanism-row span{min-width:0;color:var(--color-text-muted)}.mechanism-edges{display:grid;gap:4px}.mechanism-edges small{color:var(--color-text-muted)}.recipe-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.recipe-columns h4{margin:0 0 6px;font-size:.78rem}.current-cook-step{display:grid;gap:12px}.current-cook-step__header{display:flex;justify-content:space-between;gap:12px;align-items:start}.current-cook-step__header div{display:grid;gap:4px}.current-cook-step__header span{color:var(--color-text-muted);font-size:.82rem}.current-cook-step h3,.current-cook-step p{margin:0}.current-cook-step h3{font-size:1.18rem}.current-cook-step__details{display:grid;gap:8px}.current-cook-step__details span{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:8px}.local-timer{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start}.local-timer button{width:fit-content;min-height:30px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);color:var(--color-text)}.local-timer>button,.local-timer>strong{grid-column:2}.current-cook-step__controls,.current-cook-step__skipped{display:flex;flex-wrap:wrap;gap:8px}.current-cook-step__controls button{min-height:34px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);color:var(--color-text)}.component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.step-instruction{font-weight:700}.step-meta{display:grid;gap:6px;margin:10px 0}.warning-line,.measure-line{grid-template-columns:20px 1fr;margin-top:8px}.warning-line{color:var(--color-warning)}.measure-line{color:var(--color-info)}.source-card-body,.image-card{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:start}.source-panel-details{display:grid;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-surface-alt))}.source-panel-details summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer;font-weight:700}.source-panel-details summary span:first-child{min-width:0;overflow-wrap:anywhere}.source-thumb,.image-placeholder{display:grid;place-items:center;min-height:54px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-accent) 16%,var(--color-surface));color:var(--color-accent);font-family:var(--font-heading);font-weight:700}.image-placeholder{min-height:86px}.chip-list{flex-wrap:wrap;gap:6px;margin-top:8px}.chip-list span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-chip);color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface-alt) 65%,transparent);font-size:.72rem}.debug-row{grid-template-columns:auto 1fr}.telemetry-grid{display:grid;grid-template-columns:minmax(88px,1fr) auto;gap:7px 12px;align-items:center}.telemetry-grid span{color:var(--color-text-muted)}.telemetry-grid strong{justify-self:end;font-family:var(--font-mono)}.note-body{display:grid;grid-template-columns:24px 1fr;gap:8px;font-family:var(--font-note)}html[data-theme-family=kitchen-notebook] .panel-window:before{box-shadow:inset 18px 0 color-mix(in srgb,var(--color-border) 18%,transparent)}html[data-theme-family=kitchen-notebook] .chat-window:after,html[data-theme-family=kitchen-notebook] .workspace-window:after{content:"";position:absolute;left:8px;top:18px;bottom:18px;width:8px;background:radial-gradient(circle,var(--color-border) 0 2px,transparent 3px) center top / 8px 28px repeat-y;pointer-events:none}html[data-theme-family=kitchen-notebook] .panel-tabs button.is-active{text-decoration:underline;text-decoration-color:var(--color-accent-2)}html[data-theme-family=kitchen-notebook] .panel-card{transform:rotate(-.12deg)}html[data-theme=kitchen-notebook-white-pen] .panel-card--warning,html[data-theme=kitchen-notebook-white-pen] .status-pill--warning{text-decoration:underline;text-decoration-color:var(--color-accent-2);text-decoration-thickness:2px}html[data-theme-family=modernist-lab] .panel-card__header h3,html[data-theme-family=modernist-lab] .grocery-list h4,html[data-theme-family=modernist-lab] .eyebrow{font-family:var(--font-mono)}html[data-theme-family=modernist-lab] .panel-window{border-width:1px}html[data-theme-family=modernist-lab] .panel-card{background:color-mix(in srgb,var(--color-surface) 86%,var(--color-surface-alt))}@media (max-width: 1180px){.cockpit-grid{grid-template-columns:minmax(260px,.82fr) minmax(520px,1.35fr)}.panel-region--context{grid-column:1 / -1}}@media (max-width: 820px){.app-shell{padding:8px}.top-bar,.top-meta{align-items:stretch;flex-direction:column}.cockpit-grid{grid-template-columns:1fr;overflow:auto}.workspace-grid,.component-grid,.prep-summary,.measurement-form{grid-template-columns:1fr}.panel-window{min-height:min(420px,calc(100vh - 96px))}.theme-select select{min-width:100%}}.chefai-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--color-background) 65%,transparent);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);animation:chefai-fade-in .25s ease-out}.chefai-modal-content{position:relative;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;padding:36px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background-color:color-mix(in srgb,var(--color-surface) 88%,transparent);background-image:var(--texture-paper),var(--texture-grid);box-shadow:var(--shadow-panel),0 20px 50px #0006;animation:chefai-slide-up .35s cubic-bezier(.16,1,.3,1)}.chefai-modal-close{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-chip);background:var(--color-surface-alt);color:var(--color-text);transition:all .2s ease;cursor:pointer;padding:0}.chefai-modal-close:hover{border-color:var(--color-accent);color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}.chefai-modal-body{display:flex;flex-direction:column;gap:16px;line-height:1.6}.chefai-modal-body h1{font-family:var(--font-heading);font-size:2.2rem;margin:0;color:var(--color-accent);text-align:center;letter-spacing:-.01em}.chefai-modal-body h2{font-family:var(--font-ui);font-size:.85rem;font-weight:700;margin:-8px 0 12px;color:var(--color-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.1em}.chefai-modal-body p{margin:0;font-size:.95rem;color:var(--color-text);text-align:justify}.chefai-modal-body p.highlight{font-size:1.05rem;font-weight:600;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent);border-left:3px solid var(--color-accent);padding:12px 16px;border-radius:0 var(--radius-card) var(--radius-card) 0;margin:8px 0}.chefai-modal-body p.footer{font-family:var(--font-mono);font-size:.85rem;color:var(--color-accent-2, var(--color-text-muted));text-align:center;margin-top:16px;font-weight:700}@keyframes chefai-fade-in{0%{opacity:0}to{opacity:1}}@keyframes chefai-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
