:root{--bg:#eef3fb;--surface:#fff;--ink:#172033;--subtle:#556070;--muted:#7d8797;--line:#dde5f0;--line-strong:#cdd7e6;--accent:#0f6fff;--chip:#e7edf6;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea{letter-spacing:0}.app-shell{background:var(--surface);border:1px solid var(--line);grid-template-columns:360px minmax(0,1fr);width:min(1240px,100vw - 32px);height:calc(100svh - 32px);margin:16px auto;display:grid;box-shadow:0 24px 80px #1c25411f}.app-shell-in-frame{height:calc(100svh - 88px);margin-top:0;margin-bottom:0}.context-panel,.chat-panel{min-width:0;min-height:0}.context-panel{border-right:1px solid var(--line);background-blend-mode:screen;background-color:#0000;background-image:linear-gradient(#f7fafff0,#ffffffd1),url(https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=900&q=70);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;gap:24px;padding:28px;display:flex;overflow:auto}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}h1,p{margin:0}h1{color:var(--ink);font-size:34px;font-weight:760;line-height:1.08}.intro{color:var(--subtle);margin-top:14px;font-size:14px;line-height:1.55}.field{color:var(--subtle);gap:8px;font-size:13px;font-weight:650;display:grid}.field.compact{grid-template-columns:minmax(0,1fr) 112px;align-items:center}.field input,.field textarea,.field select{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;color:var(--ink);font:inherit;background:#ffffffdb;border-radius:8px;outline:none;font-size:14px;font-weight:500}.field input,.field select{min-height:40px;padding:0 11px}.field input[type=range]{accent-color:var(--accent);padding:0}.field textarea{resize:vertical;min-height:78px;padding:10px 11px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #0f6fff1f}.debug-panel{border:1px solid var(--line);background:#ffffffbd;border-radius:8px;gap:14px;padding:16px;display:grid}.section-title{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:760;display:flex}.model-current{color:var(--accent);margin-left:auto;font-size:12px;font-weight:760}.model-switcher{border:1px solid var(--line);background:#e8eff8b8;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.model-option{min-width:0;min-height:34px;color:var(--subtle);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:12px;font-weight:720}.model-option:hover,.model-option:focus-visible{color:var(--ink);background:#ffffffbd;outline:none}.model-option.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #1c25411a}.check-field{color:var(--subtle);align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.check-field input{width:16px;height:16px;accent-color:var(--accent)}.chat-panel{background:#f8faff;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.chat-panel .cs-main-container{border:0;flex:auto;height:auto;min-height:0}.chat-panel .cs-chat-container{background:#f8faff;height:100%;min-height:0}.chat-panel .cs-conversation-header{border-bottom-color:var(--line);background:#ffffffd6}.chat-panel .cs-message-list{background:#f8faff;min-height:0;padding:18px 20px;overflow:auto}.chat-panel .cs-message__content{border-radius:8px;padding:12px 14px}.chat-panel .cs-message--incoming .cs-message__content{color:var(--ink);border:1px solid var(--line);background:#fff}.chat-panel .cs-message--outgoing .cs-message__content{color:var(--ink);background:#eaf2ff}.chat-panel .cs-chat-container .cs-message-input{border-top:1px solid var(--line);background:#fff;align-items:flex-end;gap:10px;padding:10px 18px 12px}.chat-panel .cs-message-input__content-editor-wrapper{background:#e7f3ff;border:1px solid #bed6ef;border-radius:20px;min-width:0;padding:12px 14px;box-shadow:inset 0 1px #ffffffb8;margin:0!important}.chat-panel .cs-message-input__content-editor-container,.chat-panel .cs-message-input__content-editor{color:var(--ink);background:0 0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.45}.chat-panel .cs-message-input__content-editor[data-placeholder]:empty:before{color:#6f7d90}.chat-panel .cs-message-input__tools{flex:none}.chat-panel .cs-message-input__tools .cs-button--send{color:#fff;background:var(--accent);border-radius:999px;place-items:center;width:44px;min-width:44px;height:44px;margin:0;display:inline-grid;box-shadow:0 8px 18px #0f6fff47}.chat-panel .cs-message-input__tools .cs-button--send:hover:not(:disabled){opacity:1;background:#075fdc}.chat-panel .cs-message-input__tools .cs-button--send:disabled{color:#8ba0b9;box-shadow:none;background:#e8eef6}.message-content{max-width:min(760px,100%);color:var(--ink);gap:12px;font-size:15px;line-height:1.65;display:grid}.message-content p,.message-content ul,.message-content ol{margin:0}.message-content ul,.message-content ol{padding-left:20px}.citation-index-button{background:var(--accent);color:#fff;cursor:pointer;width:18px;height:18px;font:inherit;vertical-align:.12em;border:0;border-radius:999px;place-items:center;margin:0 2px;padding:0;font-size:11px;font-weight:760;line-height:1;display:inline-grid}.citation-index-button:hover,.citation-index-button:focus-visible{outline-offset:2px;background:#075fdc;outline:2px solid #0f6fff38}.file-strip{flex-wrap:wrap;gap:10px;display:flex}.file-strip img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line-strong);border-radius:8px;width:min(240px,100%)}.file-strip a{overflow-wrap:anywhere;max-width:100%;color:var(--accent);font-size:13px}.debug-summary{width:fit-content;max-width:100%;color:var(--subtle);background:#0f6fff1a;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:680}.usage-summary{border:1px solid var(--line);background:#f7fbff;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.usage-summary-title,.usage-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 14px;display:grid}.usage-summary-title{color:var(--ink);font-size:13px;font-weight:760}.usage-summary-title strong{color:#0b7a5f;font-size:13px}.usage-grid{color:var(--muted);font-size:12px;line-height:1.35}.usage-grid strong{color:var(--subtle);text-align:right;font-weight:720}.usage-note{color:var(--muted);font-size:12px;line-height:1.45}.citations{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;gap:10px;margin-top:2px;padding:14px;display:grid}.citation-title{color:var(--subtle);justify-content:space-between;align-items:center;font-size:13px;font-weight:720;display:flex}.citation-title strong{background:var(--chip);min-width:22px;height:22px;color:var(--ink);border-radius:999px;place-items:center;font-size:12px;display:inline-grid}.citation-item{width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:9px;padding:5px 6px;font-size:13px;line-height:1.35;display:flex}.citation-item:hover,.citation-item:focus-visible{background:#0f6fff14;outline:none}.source-icon{background:linear-gradient(#14b8a6,#0284c7);border-radius:2px;flex:none;width:10px;height:12px;margin-top:2px;position:relative}.source-icon:after{content:"";background:#ffffffe6;height:1px;position:absolute;bottom:3px;left:2px;right:2px;box-shadow:0 -3px #ffffffbf}.citation-item small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45;display:block}.citation-more{color:var(--muted);font-size:12px;font-weight:650}.citation-modal-backdrop{z-index:80;background:#0f172a47;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.citation-modal{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;width:min(640px,100%);max-height:min(72svh,620px);display:flex;overflow:hidden;box-shadow:0 24px 80px #1c254138}.citation-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:16px 18px;display:flex}.citation-modal-kicker{color:var(--muted);font-size:12px;font-weight:760;display:block}.citation-modal h2{color:var(--ink);margin:4px 0;font-size:15px;line-height:1.35}.citation-modal p{color:var(--muted);font-size:12px;font-weight:650}.citation-modal-close{width:32px;height:32px;color:var(--subtle);cursor:pointer;background:#f1f5fb;border:0;border-radius:999px;flex:none;font-size:22px;line-height:1}.citation-modal-close:hover,.citation-modal-close:focus-visible{color:var(--ink);background:#e7edf6;outline:none}.citation-modal-body{color:var(--ink);white-space:pre-wrap;padding:18px;font-size:14px;line-height:1.75;overflow:auto}.chat-toolbar{border-top:1px solid var(--line);background:#fff;grid-template-columns:156px minmax(0,1fr);gap:8px;padding:12px 18px;display:grid}.chat-toolbar .field input,.chat-toolbar .field select{background:#f4f9ff;border-color:#bed6ef}.chat-toolbar .field input:focus,.chat-toolbar .field select:focus{border-color:var(--accent);background:#fff}.error{color:#b42318;grid-column:1/-1;font-size:13px}.dish-shell{background:#f6f8fc;grid-template-columns:320px minmax(0,1fr);width:min(1480px,100vw - 32px)}.dish-workspace{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.dish-header{border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.dish-header h1,.dish-card h2{margin:0}.dish-header h1{font-size:24px;line-height:1.2}.dish-header-actions{align-items:end;gap:10px;display:flex}.compact-select{width:150px}.dish-grid{flex:auto;grid-template-columns:minmax(280px,.9fr) minmax(260px,.75fr) minmax(420px,1.35fr);gap:14px;min-height:0;padding:14px;display:grid;overflow:hidden}.dish-left,.dish-middle,.dish-right{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex;overflow:auto}.dish-card{border-radius:8px;gap:14px;padding:16px;display:grid}.panel-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-title-row h2{color:var(--ink);font-size:16px;line-height:1.25}.panel-title-row svg{color:var(--accent)}.dish-form-grid,.standards-grid,.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.standards-grid{grid-template-columns:1fr}.dish-submit{width:100%}.kg-secondary-button{border:1px solid var(--line-strong);min-height:38px;color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:760;display:inline-flex}.kg-secondary-button:hover:not(:disabled),.kg-secondary-button:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.kg-secondary-button:disabled{cursor:not-allowed;color:var(--muted);background:#edf2f8}.new-plan-button{color:#fff;background:#0f6fff;border-color:#0f6fff;box-shadow:0 8px 18px #0f6fff38}.new-plan-button:hover:not(:disabled),.new-plan-button:focus-visible{color:#fff;background:#075fdc;border-color:#075fdc;box-shadow:0 10px 22px #0f6fff47}.new-plan-button:disabled{color:var(--muted);box-shadow:none;background:#edf2f8;border-color:#cdd7e6}.dish-error{color:#b42318;background:#fff7f5;border:1px solid #b4231838;border-radius:8px;align-items:center;gap:8px;margin:12px 14px 0;padding:10px 12px;font-size:13px;font-weight:650;line-height:1.4;display:flex}.dish-error.compact{margin:0}.dish-error-button{cursor:pointer;text-align:left;width:auto;max-width:100%;font:inherit}.dish-error-button span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.dish-error-button strong{color:#8a1f11;flex:none;font-size:12px}.dish-error-button:hover,.dish-error-button:focus-visible{background:snow;border-color:#fda29b;outline:none}.workflow-list,.history-list,.result-sections{gap:10px;display:grid}.workflow-step{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:10px;display:grid}.workflow-step-icon{width:32px;height:32px;color:var(--accent);background:#eef4ff;border-radius:8px;place-items:center;display:grid}.workflow-step.completed .workflow-step-icon{color:#0b7a5f;background:#e9f8f2}.workflow-step.failed .workflow-step-icon{color:#b42318;background:#fff0ee}.workflow-step strong,.history-item strong,.standard-column strong{color:var(--ink);font-size:13px;display:block}.workflow-step span,.workflow-step small,.history-item span,.muted-copy{color:var(--muted);font-size:12px;line-height:1.45}.workflow-step small{color:#b42318}.workflow-error-link{color:#b42318;cursor:pointer;width:fit-content;min-height:20px;font:inherit;background:0 0;border:0;padding:0;font-size:11px;font-weight:760}.workflow-error-link:hover,.workflow-error-link:focus-visible{outline:none;text-decoration:underline}.standard-column{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;gap:7px;padding:10px;display:flex}.standard-column strong{flex:0 0 100%}.standard-column span,.result-tags span,.ingredient-list span{min-height:24px;color:var(--subtle);background:#edf4ff;border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:680;display:inline-flex}.history-item{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:8px;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding:9px;display:grid}.history-thumb{aspect-ratio:4/3;color:#a86005;background:linear-gradient(135deg,#fff7e8f2,#f7fbfff2),radial-gradient(circle at 24% 20%,#f0a3313d,#0000 34%);border-radius:7px;place-items:center;width:76px;display:grid;overflow:hidden}.history-thumb img{object-fit:cover;width:100%;height:100%;display:block}.history-item-copy{gap:5px;min-width:0;display:grid}.history-item-copy strong,.history-item-copy span{text-overflow:ellipsis;min-width:0;overflow:hidden}.history-item-copy strong{white-space:nowrap}.history-item:hover,.history-item:focus-visible,.history-item.active{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0f6fff17}.history-entry-button{position:relative}.history-count-badge{color:#fff;background:#f0a331;border:2px solid #fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:820;line-height:1;display:grid;position:absolute;top:-8px;right:-8px;box-shadow:0 5px 14px #f0a3314d}.history-modal-backdrop{z-index:160;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.history-modal{background:#fff;border:1px solid #dce5ef;border-radius:10px;grid-template-rows:auto minmax(0,1fr);width:min(720px,100%);max-height:min(680px,100svh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f172a3d}.history-modal-header{background:linear-gradient(#fff 0%,#fbfdff 100%);border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:16px 18px;display:flex}.history-modal-header h2{color:var(--ink);margin:2px 0 0;font-size:20px;line-height:1.2}.history-modal-header span{color:var(--muted);margin-top:5px;font-size:12px;font-weight:680;display:block}.history-modal-actions{color:var(--accent);align-items:center;gap:10px;display:flex}.history-modal-actions button{width:34px;height:34px;color:var(--subtle);cursor:pointer;background:#fff;border:1px solid #dfe7f0;border-radius:8px;place-items:center;display:grid}.history-modal-actions button:hover,.history-modal-actions button:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.history-modal-list{max-height:none;padding:14px;overflow:auto}.result-panel{gap:16px}.empty-result{text-align:center;align-content:center;place-items:center;min-height:240px}.empty-result svg{color:var(--accent)}.empty-result h2{font-size:18px}.empty-result p{max-width:360px;color:var(--muted);font-size:13px;line-height:1.6}.status-pill{min-height:24px;color:var(--subtle);background:#edf2f8;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:760;display:inline-flex}.status-pill.generated,.status-pill.approved,.status-pill.published{color:#0b7a5f;background:#e9f8f2}.status-pill.processing{color:var(--accent);background:#eef4ff}.status-pill.failed{color:#b42318;background:#fff0ee}.result-sections section{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.result-sections h3{color:var(--ink);margin:0;font-size:14px}.result-sections p,.step-list{color:var(--subtle);margin:0;font-size:13px;line-height:1.65}.result-tags,.ingredient-list{flex-wrap:wrap;gap:7px;display:flex}.step-list{padding-left:20px}.cost-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{background:#f7fbff;border-radius:8px;gap:4px;padding:10px;display:grid}.metric span{color:var(--muted);font-size:12px}.metric strong{color:var(--ink);font-size:15px}.raw-response-panel{padding-top:2px}.raw-response-panel .message-content{max-width:100%}.dish-shell{background:#f4f6f9;width:min(1560px,100vw - 28px)}.dish-header{background:#fffffff5;padding:14px 18px}.dish-header-actions{align-items:center}.dish-tabs,.input-mode-switch{border:1px solid var(--line);background:#eef2f6;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.dish-tab,.mode-button{min-height:32px;color:var(--subtle);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:760;display:inline-flex}.dish-tab:hover,.dish-tab:focus-visible,.mode-button:hover,.mode-button:focus-visible{color:var(--ink);background:#ffffffb3;outline:none}.dish-tab.active,.mode-button.active{color:var(--ink);background:#fff;box-shadow:0 1px 5px #1c25411a}.mode-button.recording{color:#fff;-webkit-backdrop-filter:blur(12px)saturate(1.25);backdrop-filter:blur(12px)saturate(1.25);background-color:#ffffff2e;background-image:linear-gradient(135deg,#ff3956f5,#ff863ef0,#ff2d6df5),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:220% 220%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #ffffff61;animation:2.6s ease-in-out infinite recordingGradient,1.35s ease-in-out infinite recordingGlow;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ff555e2e,0 10px 24px #ff525e3d,inset 0 1px #ffffff6b}.mode-button.recording:before{content:"";background:#fff;border-radius:999px;flex:0 0 7px;width:7px;height:7px;animation:1.05s ease-out infinite recordingDot;box-shadow:0 0 #ffffffb8}.mode-button.recording:after{content:"";pointer-events:none;background:linear-gradient(#ffffff3d,#0000 54%);border-radius:5px;position:absolute;inset:1px}.mode-button.recording:hover,.mode-button.recording:focus-visible{color:#fff;background:linear-gradient(135deg,#ff3956fa,#ff863ef5,#ff2d6dfa),#fff3}.workflow-strip{border-bottom:1px solid var(--line);background:#fbfcfe;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:12px 18px;display:grid}.workflow-strip-heading{color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:780;display:inline-flex}.workflow-strip .workflow-list{grid-template-columns:repeat(7,minmax(104px,1fr));gap:8px;padding-bottom:2px;display:grid;overflow:auto}.workflow-strip .workflow-step{background:#fff;border-color:#dce4ee;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-width:104px;padding:8px;position:relative}.workflow-strip .workflow-step:after{content:"";background:#cbd7e6;width:8px;height:1px;position:absolute;top:50%;right:-8px}.workflow-strip .workflow-step:last-child:after{display:none}.workflow-strip .workflow-step-icon{border-radius:999px;width:24px;height:24px}.workflow-strip .workflow-step strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workflow-strip .workflow-step span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workflow-strip .workflow-step.completed{border-color:#0b7a5f3d}.workflow-strip .workflow-step.processing{border-color:#0f6fff57;box-shadow:0 0 0 3px #0f6fff12}.dish-grid{grid-template-columns:minmax(340px,.78fr) minmax(520px,1.42fr);gap:16px;padding:16px}.dish-left,.dish-right{gap:16px}.dish-support-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:16px;display:grid}.composer-panel{align-content:start}.voice-panel{background:#f8fbff;border:1px solid #d6e2ee;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.voice-panel.listening{background:#fff8f6;border-color:#b4231847}.voice-record-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;place-items:center;width:48px;height:48px;display:grid}.voice-panel.listening .voice-record-button{background:#b42318;animation:1.4s ease-in-out infinite voicePulse}.voice-record-button:disabled{cursor:not-allowed;background:#b6c3d1}.voice-panel strong,.voice-panel span,.voice-panel small{display:block}.voice-panel strong{color:var(--ink);font-size:13px}.voice-panel span{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.voice-panel small{color:#b42318;margin-top:5px;font-size:12px}@keyframes voicePulse{0%,to{box-shadow:0 0 #b4231838}50%{box-shadow:0 0 0 8px #b4231800}}@keyframes recordingGradient{0%,to{background-position:0%}50%{background-position:100%}}@keyframes recordingGlow{0%,to{box-shadow:0 0 0 1px #ff555e2e,0 10px 24px #ff525e38,inset 0 1px #ffffff6b}50%{box-shadow:0 0 0 4px #ff5c651a,0 14px 30px #ff525e57,inset 0 1px #ffffff7a}}@keyframes recordingDot{0%{transform:scale(.78);box-shadow:0 0 #ffffffb8}70%{transform:scale(1);box-shadow:0 0 0 7px #fff0}to{transform:scale(.78);box-shadow:0 0 #fff0}}.result-panel{min-height:0}.result-sections section:first-child,.result-sections section:nth-child(2),.result-sections .cost-grid{grid-column:1/-1}.result-sections section{border-color:#dfe7f0;box-shadow:0 1px 2px #1c254108}.cost-grid{background:0 0;border:0;padding:0}.metric{background:linear-gradient(#fff,#f8fbff);border:1px solid #dfe7f0}.config-motion-wrap,.config-tab{min-height:0;overflow:auto}.config-tab{gap:16px;padding:16px;display:grid}.config-intro{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.config-intro h2{color:var(--ink);margin:0;font-size:18px}.config-intro svg{color:var(--accent)}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.config-card{align-content:start}.config-card-header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.config-card-icon{width:42px;height:42px;color:var(--accent);background:#eef6ff;border-radius:8px;place-items:center;display:grid}.config-card h3{color:var(--ink);margin:0;font-size:15px}.config-card p{color:var(--muted);margin-top:3px;font-size:12px}.config-state{color:#0b7a5f;background:#e9f8f2;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:760;display:inline-flex}.config-list{gap:8px;display:grid}.config-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.config-item:last-child{border-bottom:0}.config-item strong{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:13px}.config-item span{color:var(--muted);text-align:right;overflow-wrap:anywhere;font-size:12px}.dish-workspace{background:#f5f7fb;overflow:hidden}.dish-grid{flex:1;grid-template-columns:minmax(330px,410px) minmax(0,1fr);align-items:stretch;gap:14px;min-height:0;padding:12px 14px 18px;overflow:hidden}.dish-left,.dish-right{min-height:0}.dish-left{overflow:auto}.dish-right{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:stretch;gap:14px;display:grid;overflow:hidden}.dish-support-grid{flex-direction:column;gap:14px;min-width:0;display:flex;position:sticky;top:0}.composer-panel,.result-panel,.iteration-panel{box-shadow:0 1px 2px #1c25410a}.composer-panel{position:sticky;top:0}.dish-card{gap:12px;padding:14px}.dish-header{min-height:70px;padding:12px 18px}.dish-header h1{font-size:23px}.dish-header-actions{flex-wrap:wrap;justify-content:flex-end}.workflow-strip{grid-template-columns:138px minmax(0,1fr);gap:10px;padding:10px 18px}.workflow-strip .workflow-list{scrollbar-width:thin;grid-template-columns:repeat(7,minmax(112px,1fr));gap:7px;overflow-x:auto}.workflow-strip .workflow-step{border-radius:8px;min-width:112px;padding:7px 8px}.workflow-strip .workflow-step span{max-width:100%}.input-mode-switch{width:100%}.mode-button{flex:1 1 0}.composer-panel textarea{min-height:104px}.composer-panel textarea:first-of-type{min-height:116px}.result-panel{align-content:start;height:100%;min-height:0;max-height:none;padding-right:12px;overflow:auto}.recipe-result-layout{gap:12px;display:grid}.recipe-switcher{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.recipe-tab{min-width:170px;color:var(--subtle);cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #d7e2ee;border-radius:8px;gap:3px;padding:9px 11px;display:grid}.recipe-tab:hover,.recipe-tab:focus-visible{border-color:var(--accent);outline:none}.recipe-tab.active{border-color:var(--accent);background:#f7fbff;box-shadow:0 0 0 3px #0f6fff14}.recipe-tab span{color:var(--muted);font-size:11px;font-weight:760}.recipe-tab strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.35;overflow:hidden}.plating-hero{background:linear-gradient(135deg,#080b14,#121827 48%,#080b14) 50%/cover;border:1px solid #d7e2ee;border-radius:8px;min-height:260px;position:relative;overflow:hidden}.plating-hero img{object-fit:cover;width:100%;height:100%;min-height:260px;display:block}.plating-placeholder{color:#fff;min-height:260px;padding:18px;position:relative;overflow:hidden}.plating-placeholder strong,.plating-placeholder span{text-shadow:0 1px #ffffffb8;display:block}.plating-placeholder strong{font-size:13px}.plating-placeholder span{opacity:.72;text-overflow:ellipsis;white-space:nowrap;max-width:360px;font-size:11px;line-height:1.45;overflow:hidden}.studio-final-video-pending{--final-video-pending-shell-bg:#eef5ff;--final-video-pending-base-bg:linear-gradient(135deg, #f8fbfffa, #e2eefcf0 46%, #f1eae1e6);--final-video-pending-shadow-bg:radial-gradient(circle at 72% 46%, #8099bc14, #6982a447 44%, #6982a41a 62%, #6982a400 80%);--final-video-pending-sky-bg:radial-gradient(circle at 42% 36%, #73b8ffd1, #539aeb7a 34%, #539aeb21 60%, #539aeb00 78%);--final-video-pending-cyan-bg:radial-gradient(circle at 52% 42%, #4acbffad, #299de657 36%, #299de614 64%, #299de600 82%);--final-video-pending-warm-bg:radial-gradient(circle at 50% 42%, #ffd79cc7, #f1b25f57 34%, #f1b25f14 60%, #f1b25f00 80%);--final-video-pending-sweep-bg:linear-gradient(90deg, #fff0, #ffffff8f, #fff0);--final-video-pending-veil-bg:radial-gradient(circle at 68% 26%, #5ba4f133, transparent 28%), radial-gradient(circle at 60% 82%, #4cc1f02e, transparent 24%), radial-gradient(circle at 42% 12%, #ffcc943d, transparent 18%), radial-gradient(circle at left, #566d9129, transparent 38%), linear-gradient(180deg, #ffffff05, #eef2f89e);--final-video-pending-chip-bg:#fbfcff9e;--final-video-pending-chip-border:#334a6a24;--final-video-pending-chip-text:#23354be6;--final-video-pending-chip-arrow:#4561838f;--final-video-pending-copy-bg:linear-gradient(180deg, #fff0, #f3f6fa2e 28%, #eef2f7db);--final-video-pending-title:#1c2b3feb;--final-video-pending-description:#354760c7;background:var(--final-video-pending-shell-bg)}.studio-final-video-pending__base,.studio-final-video-pending__orb,.studio-final-video-pending__sweep,.studio-final-video-pending__veil{pointer-events:none;position:absolute}.studio-final-video-pending__base,.studio-final-video-pending__veil{inset:0}.studio-final-video-pending__base{background:var(--final-video-pending-base-bg)}.studio-final-video-pending__orb--shadow{background:var(--final-video-pending-shadow-bg);filter:blur(28px);border-radius:46% 54% 58% 42%/44% 38% 62% 56%;width:44%;height:132%;animation:7.8s ease-in-out infinite platingOrbShadow;top:-14%;left:-20%}.studio-final-video-pending__orb--sky{background:var(--final-video-pending-sky-bg);filter:blur(46px);mix-blend-mode:screen;border-radius:58% 42% 48% 52%/49% 53% 47% 51%;width:74%;height:94%;animation:8.4s ease-in-out infinite platingOrbSky;top:-22%;right:-14%}.studio-final-video-pending__orb--cyan{background:var(--final-video-pending-cyan-bg);filter:blur(40px);mix-blend-mode:screen;border-radius:49% 51% 43% 57%/58% 38% 62% 42%;width:60%;height:60%;animation:6.9s ease-in-out infinite platingOrbCyan;top:48%;left:22%}.studio-final-video-pending__orb--warm{background:var(--final-video-pending-warm-bg);filter:blur(30px);mix-blend-mode:screen;border-radius:42% 58% 44% 56%/55% 38% 62% 45%;width:28%;height:74%;animation:6.2s ease-in-out infinite platingOrbWarm;top:-18%;left:36%}.studio-final-video-pending__sweep{inset-block:-14%;background:var(--final-video-pending-sweep-bg);filter:blur(44px);mix-blend-mode:screen;width:48%;animation:4.2s ease-in-out infinite platingSweep;left:-34%}.studio-final-video-pending__veil{background:var(--final-video-pending-veil-bg)}.studio-final-video-pending__chip{z-index:2;border:1px solid var(--final-video-pending-chip-border);background:var(--final-video-pending-chip-bg);color:var(--final-video-pending-chip-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:650;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:inset 0 1px #ffffff14}.studio-final-video-pending__chip-arrow{color:var(--final-video-pending-chip-arrow);letter-spacing:.24em;animation:1.05s ease-in-out infinite platingArrow}.studio-final-video-pending__copy{inset-inline:0;z-index:2;background:var(--final-video-pending-copy-bg);padding:48px 20px 20px;position:absolute;bottom:0}.studio-final-video-pending__copy>div{gap:4px;max-width:390px;display:grid}.studio-final-video-pending__title{color:var(--final-video-pending-title);font-size:14px;font-weight:650}.studio-final-video-pending__description{color:var(--final-video-pending-description);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.55;display:block;overflow:hidden}@keyframes platingOrbShadow{0%,to{opacity:.78;transform:translate(0,0)scale(1)}50%{opacity:.98;transform:translate(10%,4%)scale(1.08)}}@keyframes platingOrbSky{0%,to{opacity:.72;transform:translate(0,0)scale(1)}50%{opacity:1;transform:translate(-6%,7%)scale(1.12)}}@keyframes platingOrbCyan{0%,to{opacity:.58;transform:translate(0,0)scale(1)}50%{opacity:.92;transform:translate(5%,-8%)scale(1.1)}}@keyframes platingOrbWarm{0%,to{opacity:.42;transform:translate(0,0)scale(1)}50%{opacity:.76;transform:translate(-9%,6%)scale(1.16)}}@keyframes platingSweep{0%{opacity:0;transform:translate(-20%)}42%{opacity:.95}to{opacity:0;transform:translate(280%)}}@keyframes platingArrow{0%,to{opacity:.42;transform:translate(0)}50%{opacity:1;transform:translate(5px)}}.plating-caption{color:#fff;pointer-events:none;justify-content:space-between;align-items:end;gap:12px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.plating-caption span,.plating-caption strong{text-shadow:0 2px 14px #0000005c}.plating-caption span{font-size:12px;font-weight:760}.plating-caption strong{text-align:right;max-width:70%;font-size:20px;line-height:1.2}.result-sections{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.result-sections section,.result-collapsible{min-width:0;padding:12px 14px}.result-collapsible{background:#fff;border:1px solid #dfe7f0;border-radius:8px;display:block;box-shadow:0 1px 2px #1c254108}.result-collapsible summary{min-height:34px;color:var(--ink);cursor:pointer;align-items:center;font-size:14px;font-weight:760;list-style:none;display:flex}.result-collapsible summary::-webkit-details-marker{display:none}.result-collapsible summary:after{content:"展开";color:var(--accent);margin-left:auto;font-size:12px}.result-collapsible[open] summary{margin-bottom:8px}.result-collapsible[open] summary:after{content:"收起"}.result-sections p,.step-list{overflow-wrap:anywhere}.ingredient-list,.result-tags{max-width:100%}.cost-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{min-width:0}.metric strong{overflow-wrap:anywhere}.iteration-panel textarea{min-height:100px}.result-overview{grid-template-columns:minmax(300px,1.12fr) minmax(260px,.92fr) minmax(210px,.58fr);align-items:start;gap:12px;display:grid}.plating-image-column{grid-template-rows:auto auto;gap:10px;min-width:0;display:grid}.result-overview .plating-hero{aspect-ratio:1;height:auto;min-height:0}.result-overview .plating-hero img,.result-overview .plating-placeholder{height:100%;min-height:0}.plating-image-preview-button{border-radius:inherit;cursor:zoom-in;background:#0f172a;border:0;width:100%;height:100%;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.plating-image-preview-button img{width:100%;height:100%;transition:transform .22s,filter .22s}.plating-image-preview-button span{color:#fff;opacity:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a7a;border:1px solid #ffffff94;border-radius:999px;align-items:center;min-height:34px;padding:0 13px;font-size:12px;font-weight:780;transition:opacity .18s;display:inline-flex;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.plating-image-preview-button:hover img,.plating-image-preview-button:focus-visible img{filter:saturate(1.05);transform:scale(1.025)}.plating-image-preview-button:hover span,.plating-image-preview-button:focus-visible span{opacity:1}.result-positioning{background:#fff;border:1px solid #dfe7f0;border-radius:8px;align-content:start;gap:12px;min-width:0;padding:16px;display:grid}.result-positioning h3{color:var(--ink);margin:0;font-size:15px;line-height:1.35}.result-positioning p,.cost-analysis,.cost-detail-notes{color:var(--subtle);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.65}.result-positioning .result-description-copy{color:#2f2415;background:#fffaf0;border:1px solid #f3d7a2;border-left:3px solid #f0a331;border-radius:8px;padding:11px 12px;font-size:14px;font-weight:650;line-height:1.75}.dish-citation-marker{background:var(--accent);color:#fff;width:16px;height:16px;font:inherit;cursor:pointer;vertical-align:super;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0 2px;padding:0;font-size:10px;font-weight:750;line-height:1;display:inline-flex}.dish-citation-marker:hover,.dish-citation-marker:focus-visible{background:#0654ce;outline:none}.positioning-story{background:#f8fbff;border:1px solid #e0e8f2;border-radius:8px;gap:5px;padding:11px 12px;display:grid}.positioning-story strong{color:var(--ink);font-size:12px}.positioning-story span{color:var(--subtle);font-size:13px;line-height:1.6}.plating-plan-tag{z-index:4;color:#fff;cursor:pointer;min-height:30px;font:inherit;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172aa8;border:1px solid #ffffff94;border-radius:999px;align-items:center;padding:0 11px;font-size:12px;font-weight:780;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 8px 24px #0f172a38}.plating-plan-tag:hover,.plating-plan-tag:focus-visible{background:#0f172acc;outline:none}.plating-image-status{z-index:4;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172aa8;border:1px solid #ffffff94;border-radius:999px;align-items:center;gap:7px;max-width:calc(100% - 24px);min-height:30px;padding:0 11px;font-size:12px;font-weight:760;display:inline-flex;position:absolute;bottom:12px;left:12px}.plating-prompt-chip{z-index:4;color:#102033;cursor:pointer;max-width:min(58%,360px);min-height:30px;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #ffffff94;border-radius:999px;padding:0 11px;font-size:12px;font-weight:720;line-height:30px;display:block;position:absolute;bottom:12px;right:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a1f}.result-detail-column{align-content:start;gap:10px;min-width:0;display:grid}.result-generating-layout{gap:12px;min-height:0;display:grid}.result-generating-skeleton{grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);gap:12px;min-height:320px;display:grid}.result-skeleton-visual,.result-skeleton-panel,.result-skeleton-stack,.result-live-panel{background:#fff;border:1px solid #dfe7f0;border-radius:8px;min-width:0;box-shadow:0 1px 2px #1c254108}.result-skeleton-visual{background:linear-gradient(145deg,#12182714,#0f6fff14),#f7fbff;align-content:end;gap:12px;min-height:250px;padding:16px;display:grid}.result-skeleton-panel,.result-skeleton-stack{align-content:start;gap:10px;padding:14px;display:grid}.result-skeleton-stack{grid-column:1/-1;min-height:92px}.result-skeleton-line,.result-skeleton-chip,.result-skeleton-tags span{background:linear-gradient(90deg,#edf2f8 0%,#f8fbff 42%,#edf2f8 82%) 0 0/220% 100%;border-radius:999px;animation:1.35s ease-in-out infinite resultSkeletonPulse;display:block;overflow:hidden}.result-skeleton-chip{width:74px;height:24px}.result-skeleton-line{width:72%;height:12px}.result-skeleton-line.title{width:46%;height:18px}.result-skeleton-line.wide{width:100%}.result-skeleton-line.short{width:40%}.result-skeleton-tags{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.result-skeleton-tags span{width:64px;height:24px}.result-live-panel{gap:10px;padding:12px;display:grid}.result-live-header{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.result-live-header strong{min-height:24px;color:var(--accent);background:#eef5ff;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;display:inline-flex}.result-live-stream{min-height:96px;max-height:220px;color:var(--ink);white-space:pre-wrap;scrollbar-width:thin;background:#fbfcfe;border:1px solid #dfe7f0;border-radius:8px;padding:10px;font-size:13px;line-height:1.65;overflow:auto}.result-live-stream.muted{color:var(--muted)}.result-live-events{max-height:112px;color:var(--subtle);scrollbar-width:thin;gap:6px;font-size:12px;line-height:1.5;display:grid;overflow:auto}.result-live-events span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@keyframes resultSkeletonPulse{0%{background-position:0%}to{background-position:-220%}}.knowledge-citation-strip{background:#fff;border:1px solid #dfe7f0;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid;box-shadow:0 1px 2px #1c254108}.knowledge-citation-strip-title{min-width:0;color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.knowledge-citation-strip-title strong{min-width:22px;height:22px;color:var(--accent);background:#eef5ff;border-radius:999px;place-items:center;font-size:12px;display:inline-grid}.knowledge-citation-list{scrollbar-width:thin;gap:8px;max-height:136px;padding-right:2px;display:grid;overflow-y:auto}.knowledge-citation-row{width:100%;min-width:0;min-height:64px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:9px;padding:0;display:grid}.knowledge-citation-row:hover .knowledge-citation-copy strong,.knowledge-citation-row:focus-visible .knowledge-citation-copy strong{color:var(--accent)}.knowledge-citation-row:focus-visible{outline-offset:2px;border-radius:8px;outline:2px solid #0f6fff47}.knowledge-citation-cover{color:#6d7d90;background:linear-gradient(145deg,#f7fbff,#e8eef6);border:1px solid #d7e2ee;border-radius:6px;place-items:center;width:46px;height:58px;display:grid;position:relative;overflow:hidden}.knowledge-citation-cover img{object-fit:cover;width:100%;height:100%;display:block}.knowledge-citation-cover span{color:#fff;background:#0f6ffff0;border-bottom-right-radius:6px;place-items:center;min-width:19px;height:19px;font-size:11px;font-weight:800;line-height:1;display:grid;position:absolute;top:0;left:0}.knowledge-citation-copy{gap:4px;min-width:0;display:grid}.knowledge-citation-copy strong,.knowledge-citation-copy p{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.knowledge-citation-copy strong{color:var(--ink);font-size:13px;line-height:1.35}.knowledge-citation-copy p{color:var(--subtle);margin:0;font-size:12px;line-height:1.45}.result-detail-column .cost-detail-summary{grid-template-columns:1fr;gap:5px;min-height:0;padding:11px 12px}.result-detail-column .cost-detail-summary em{justify-self:start}.result-detail-column .cost-detail-body{max-height:260px;overflow:auto}.result-detail-column .result-collapsible{max-height:280px;overflow:auto}.result-detail-column .raw-response-panel{max-height:260px;overflow:auto}.plating-prompt-chip:hover,.plating-prompt-chip:focus-visible{background:#ffffffe6;outline:none}.plating-stop-float{z-index:4;color:#fff;cursor:pointer;min-height:30px;font:inherit;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#be123cc2;border:1px solid #ffffff94;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:780;display:inline-flex;position:absolute;top:52px;right:12px}.plating-image-dot{background:#cbd5e1;border-radius:999px;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 0 4px #cbd5e12e}.plating-image-dot.generating{background:#38bdf8;animation:1.2s ease-in-out infinite imagePulse;box-shadow:0 0 0 5px #38bdf838}.plating-image-dot.generated{background:#34d399;box-shadow:0 0 0 5px #34d39933}.plating-image-dot.failed,.plating-image-dot.aborted{background:#fb7185;box-shadow:0 0 0 5px #fb71852e}.plating-image-controls{background:#ffffffdb;border:1px solid #dfe7f0;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.plating-image-controls .field{gap:5px}.plating-image-controls textarea{resize:vertical;min-height:78px;max-height:120px;font-size:12px;line-height:1.55}.plating-image-actions{justify-content:flex-end;gap:8px;display:flex}.plating-regenerate-button,.plating-stop-button{min-height:34px}.plating-image-error{color:#b42318;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}@keyframes imagePulse{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.plating-plan-modal-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a6b;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.plating-plan-modal{background:#fff;border:1px solid #dde5f0e0;border-radius:12px;flex-direction:column;width:min(860px,100%);max-height:min(760px,100svh - 56px);display:flex;overflow:hidden;box-shadow:0 30px 90px #0f172a47}.plating-plan-modal-header{border-bottom:1px solid var(--line);background:#fbfdff;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.plating-plan-modal-header span{color:var(--muted);font-size:12px;font-weight:780}.plating-plan-modal-header h3{color:var(--ink);margin:3px 0 0;font-size:20px;line-height:1.25}.plating-plan-modal-header button{width:34px;height:34px;color:var(--subtle);cursor:pointer;background:#edf2f8;border:0;border-radius:999px;flex:none;place-items:center;display:grid}.plating-plan-modal-header button:hover,.plating-plan-modal-header button:focus-visible{color:var(--ink);background:#e1e9f3;outline:none}.plating-plan-modal-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px 20px;display:grid;overflow:auto}.plating-plan-modal-body section{background:#fff;border:1px solid #dfe7f0;border-radius:8px;align-content:start;gap:9px;min-width:0;padding:14px;display:grid}.plating-plan-modal-body section:last-child:nth-child(odd){grid-column:1/-1}.plating-plan-modal-body h4{color:var(--ink);margin:0;font-size:14px}.plating-plan-modal-body p{color:var(--subtle);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.65}.plating-prompt-modal{width:min(780px,100%)}.plating-prompt-modal-body{gap:14px;padding:18px 20px 20px;display:grid;overflow:auto}.plating-prompt-modal-body textarea{resize:vertical;min-height:240px;line-height:1.62}.image-preview-backdrop{background:#020617c7}.image-preview-modal{place-items:center;width:min(1040px,100vw - 48px);max-height:calc(100svh - 48px);display:grid;position:relative}.image-preview-modal img{object-fit:contain;border-radius:10px;max-width:100%;max-height:calc(100svh - 48px);box-shadow:0 28px 90px #0000005c}.image-preview-modal button{z-index:2;width:38px;height:38px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.cost-detail-row{background:#fff;border:1px solid #dfe7f0;border-radius:8px;display:block;overflow:hidden}.cost-detail-summary{width:100%;min-height:50px;color:var(--subtle);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(86px,.9fr) repeat(3,minmax(0,1fr)) auto;align-items:center;gap:10px;padding:0 14px;font-size:13px;font-weight:680;display:grid}.cost-detail-summary em{color:var(--accent);justify-self:end;font-size:12px;font-style:normal;font-weight:780}.cost-detail-summary:hover,.cost-detail-summary:focus-visible{background:#f8fbff;outline:none}.cost-detail-summary span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cost-detail-summary strong{color:var(--ink);margin-left:4px;font-size:14px}.cost-row-title{color:var(--ink);font-weight:800}.cost-detail-body{gap:12px;padding:12px 14px 14px;display:grid}.cost-detail-modal-backdrop{z-index:150;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a6b;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.cost-detail-modal{background:#fff;border:1px solid #dde5f0e0;border-radius:12px;flex-direction:column;width:min(880px,100%);max-height:min(760px,100svh - 56px);display:flex;overflow:hidden;box-shadow:0 30px 90px #0f172a47}.cost-detail-modal-header{border-bottom:1px solid var(--line);background:#fbfdff;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.cost-detail-modal-header span{color:var(--muted);font-size:12px;font-weight:780}.cost-detail-modal-header h3{color:var(--ink);margin:3px 0 0;font-size:20px;line-height:1.25}.cost-detail-modal-header button{width:34px;height:34px;color:var(--subtle);cursor:pointer;background:#edf2f8;border:0;border-radius:999px;flex:none;place-items:center;display:grid}.cost-detail-modal-header button:hover,.cost-detail-modal-header button:focus-visible{color:var(--ink);background:#e1e9f3;outline:none}.cost-detail-modal-body{gap:12px;padding:18px 20px 20px;display:grid;overflow:auto}.cost-detail-modal-body section{background:#fff;border:1px solid #dfe7f0;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:14px;display:grid}.cost-detail-modal-body h4{color:var(--ink);margin:0;font-size:14px}.ingredient-cost-formula-list{gap:8px;display:grid}.ingredient-cost-formula{background:#fffaf0;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.ingredient-cost-formula strong{color:var(--ink);font-size:13px}.ingredient-cost-formula span{color:#7a4a05;font-size:13px;font-weight:760}.ingredient-cost-formula em{color:var(--muted);font-size:12px;font-style:normal;line-height:1.45}.cost-breakdown-list{color:var(--subtle);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.cost-detail-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.cost-detail-notes{background:#f7fbff;border-radius:8px;gap:6px;padding:10px 12px;display:grid}.cost-detail-notes strong{color:var(--ink);font-size:13px}.cost-detail-notes ul{margin:0;padding-left:18px}.cost-analysis{border-left:3px solid var(--accent);background:#f7fbff;padding:10px 12px}.raw-response-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:0;display:block;overflow:hidden}.raw-response-panel summary{min-height:42px;color:var(--subtle);cursor:pointer;align-items:center;padding:0 12px;font-size:13px;font-weight:760;list-style:none;display:flex}.raw-response-panel summary::-webkit-details-marker{display:none}.raw-response-panel summary:after{content:"+";color:var(--accent);margin-left:auto;font-weight:800}.raw-response-panel[open] summary{border-bottom:1px solid var(--line)}.raw-response-panel[open] summary:after{content:"-"}.raw-response-panel .message-content{max-height:260px;padding:12px;overflow:auto}.raw-response-panel .message-text{overflow-wrap:anywhere}@media (width<=900px){.app-shell{border:0;grid-template-columns:1fr;width:100%;height:100svh;margin:0}.context-panel{display:none}.chat-panel{height:100svh;min-height:0}.chat-panel .cs-conversation-header{min-height:52px}.chat-panel .cs-message-list{padding:14px 10px 16px}.chat-panel .cs-message-list__scroll-wrapper{padding:0 10px 0 8px}.chat-panel .cs-message-list__scroll-wrapper>.cs-message,.chat-panel .cs-message-list__scroll-wrapper>.cs-message-group{max-width:min(100%,720px)}.chat-toolbar{grid-template-columns:116px minmax(0,1fr);padding:10px 14px}.chat-toolbar .field>span{display:none}.chat-toolbar .field input,.chat-toolbar .field select{border-radius:16px;min-height:38px;font-size:14px}.chat-panel .cs-chat-container .cs-message-input{padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:8px}.chat-panel .cs-message-input__content-editor-wrapper{border-radius:18px;flex:auto;max-width:calc(100vw - 80px);min-height:44px}.chat-panel .cs-message-input__tools .cs-button--send{width:42px;min-width:42px;height:42px}.citation-modal-backdrop{align-items:end;padding:0}.citation-modal{border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;width:100%;max-height:min(78svh,680px)}.citation-modal-header{padding:14px 16px}.citation-modal-body{padding:16px 16px calc(16px + env(safe-area-inset-bottom))}}@media (width<=1180px){.dish-shell{border:0;grid-template-columns:1fr;width:100%;height:100svh;margin:0}.dish-shell .context-panel{display:none}.dish-grid{grid-template-columns:1fr;overflow:auto}.workflow-strip{grid-template-columns:1fr;align-items:stretch}.workflow-strip .workflow-list{grid-template-columns:repeat(7,minmax(118px,1fr))}.dish-left,.dish-middle,.dish-right{overflow:visible}.dish-right{grid-template-columns:1fr}.dish-support-grid,.composer-panel{position:static}.dish-header{flex-direction:column;align-items:stretch}}@media (width<=680px){.history-modal-backdrop{align-items:stretch;padding:12px}.history-modal{max-height:calc(100svh - 24px)}.history-modal-header{flex-direction:column;align-items:flex-start}.history-modal-actions{justify-content:space-between;width:100%}.dish-header-actions,.dish-form-grid,.cost-grid,.dish-support-grid,.config-grid{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.dish-tabs,.input-mode-switch{width:100%}.dish-tab,.mode-button{flex:1 1 0}.compact-select{width:100%}.result-sections{grid-template-columns:1fr}.config-card-header{grid-template-columns:42px minmax(0,1fr)}.config-state{grid-column:1/-1;width:max-content}}.dish-shell{grid-template-columns:minmax(0,1fr);width:min(1640px,100vw - 24px)}.dish-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.dish-right{grid-template-columns:minmax(0,1fr) minmax(250px,300px)}.config-control-grid{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:16px;display:grid}.runtime-config-card{align-content:start}.inline-debug-panel{background:0 0;border:0;padding:0}.inline-debug-panel .model-switcher{max-width:420px}.feature-model-panel{align-content:start}.feature-model-row{border:1px solid var(--line);background:#fbfdff;border-radius:8px;grid-template-columns:minmax(220px,.7fr) minmax(320px,1fr);align-items:center;gap:14px;padding:12px;display:grid}.feature-model-row strong,.feature-model-row span{display:block}.feature-model-row strong{color:var(--ink);font-size:14px}.feature-model-row span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.feature-model-switcher{justify-self:end;width:min(420px,100%)}.custom-model-card{border:1px solid var(--line);background:linear-gradient(#fff,#f8fbff);border-radius:8px;gap:12px;padding:12px;display:grid}.custom-model-card strong,.custom-model-card span{display:block}.custom-model-card strong{color:var(--ink);font-size:14px}.custom-model-card span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.custom-model-form{grid-template-columns:minmax(160px,.8fr) minmax(240px,1.2fr) auto;align-items:end;gap:10px;display:grid}.custom-model-add{white-space:nowrap;min-height:40px}.custom-model-list{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.custom-model-empty{color:var(--muted);font-size:12px}.custom-model-pill{max-width:220px;color:var(--ink);background:#fff;border:1px solid #dbe5f1;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 9px;font-size:12px;font-weight:720;display:inline-flex;box-shadow:0 1px 3px #1c25410f}.custom-model-pill button{width:18px;height:18px;color:var(--muted);cursor:pointer;background:#eef3f8;border:0;border-radius:999px;flex:0 0 18px;place-items:center;padding:0;display:grid}.custom-model-pill button:hover,.custom-model-pill button:focus-visible{color:#b42318;background:#b423181f;outline:none}.image-prompt-panel{gap:12px}.prompt-variable-strip{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.prompt-variable-strip span{color:var(--subtle);background:#f8fbff;border:1px solid #dbe5f1;border-radius:999px;flex:none;padding:6px 9px;font-size:12px;font-weight:720}.image-prompt-panel textarea{resize:vertical;min-height:220px;max-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.55}.prompt-save-button{justify-self:end}@media (width<=1180px){.dish-shell{grid-template-columns:1fr;width:100%}.dish-grid,.dish-right,.config-control-grid,.feature-model-row{grid-template-columns:1fr}.feature-model-switcher{justify-self:stretch}.custom-model-form{grid-template-columns:1fr}}.dish-grid{grid-template-columns:minmax(420px,480px) minmax(0,1fr);transition:grid-template-columns .6s cubic-bezier(.22,1,.36,1)}.dish-right{grid-template-columns:minmax(0,1fr);overflow:hidden}.dish-left{grid-template-rows:auto auto;align-content:start;display:grid}.dish-grid:not(.preflight-only) .dish-left{grid-template-rows:1fr;height:100%;min-height:0;max-height:calc(100svh - 186px);padding-right:2px;overflow:hidden}.dish-grid:not(.preflight-only) .composer-panel{height:100%;max-height:none;overflow:visible}.dish-left .iteration-panel{align-self:start}.iteration-title-row{min-height:28px}.iteration-title-row h2{color:var(--ink);font-size:15px;line-height:1.2}.composer-panel{max-height:calc(100svh - 248px);overflow:auto}.description-input-block,.ingredient-tags-panel,.extracted-panel{gap:10px;display:grid}.extracted-panel,.description-input-block{transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}.preflight-workbench.wb-collapsed .extracted-panel,.preflight-workbench.wb-collapsed .description-input-block{opacity:0;pointer-events:none;min-height:0;overflow:hidden;transform:translateY(60px)}.description-title-row{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:780;display:flex}.compact-mode-switch{flex:none;width:auto}.compact-mode-switch .mode-button{flex:none;min-height:30px;padding:0 10px}.description-input-block textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:118px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;outline:none;padding:11px 12px;font-size:14px;line-height:1.55}.description-input-block textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f6fff1a}.voice-error-text{color:#b42318;font-size:12px}.ingredient-tag-list{scrollbar-width:thin;flex-wrap:nowrap;gap:8px;padding-bottom:3px;display:flex;overflow-x:auto}.ingredient-tag{color:#7a4a05;cursor:pointer;min-height:30px;font:inherit;background:#fff7e8;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:760;display:inline-flex}.ingredient-tag:hover,.ingredient-tag:focus-visible{border-color:#f0bf68;outline:none}.ingredient-tag.active{background:#fff0cf;border-color:#f0a331;box-shadow:0 0 0 3px #f0a33124}.extracted-panel{background:#fff;border:1px solid #dfe7f0;border-radius:8px;padding:12px}.extracted-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.extracted-header h3{color:var(--ink);margin:0;font-size:15px}.extracted-header p{color:var(--muted);margin-top:3px;font-size:12px}.readiness-header-actions{flex:none;align-items:center;gap:10px;display:flex}.readiness-control{box-sizing:border-box;color:#15382f;background:#f5fbf7;border:1px solid #d7e6de;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-width:96px;min-height:42px;padding:0 12px;line-height:1;display:inline-flex;position:relative;overflow:hidden}.readiness-control strong,.readiness-control span,.readiness-control svg{z-index:1;position:relative}.readiness-score strong{color:#15382f;font-size:16px;line-height:1}.readiness-score span{color:#5f746c;font-size:11px;font-weight:720}.readiness-score i{background:#0b7a5f;border-radius:0 999px 999px 0;height:3px;position:absolute;bottom:0;left:0}.readiness-extract-button{color:#7a4a05;cursor:pointer;font:inherit;background:#fff8eb;border-color:#f0d3a8}.readiness-extract-button span{font-size:13px;font-weight:780}.readiness-extract-button:hover:not(:disabled),.readiness-extract-button:focus-visible{background:#fff4df;border-color:#efbd75;outline:none}.readiness-extract-button:disabled{cursor:not-allowed;opacity:.62}.readiness-generate-button{isolation:isolate;color:#fff;cursor:pointer;font:inherit;background-color:#ffffff29;background-image:linear-gradient(120deg,#0b71ffeb,#7942ffeb,#00bfa6eb),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:220% 220%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-color:#ffffff57;animation:5.5s infinite magicGradient;box-shadow:0 12px 26px #0f6fff33,inset 0 1px #ffffff61}.readiness-generate-button:before{content:"";z-index:-1;background:linear-gradient(#ffffff38,#ffffff0a);border-radius:9px;position:absolute;inset:1px}.readiness-generate-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff6b,#0000);width:32%;animation:3.4s ease-in-out infinite magicSweep;position:absolute;top:-60%;bottom:-60%;left:-36%;transform:rotate(18deg)}.readiness-generate-button span{font-size:13px;font-weight:780}.readiness-generate-button:hover:not(:disabled),.readiness-generate-button:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 16px 32px #0f6fff42,inset 0 1px #ffffff70}.readiness-generate-button:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.58;animation-play-state:paused;transform:none}.readiness-generate-button:disabled:after{animation-play-state:paused}.extract-error{color:#b42318;margin:0;font-size:12px;line-height:1.45}.readiness-panel{background:#fbfdff;border:1px solid #e1e8ef;border-radius:10px;gap:10px;padding:12px;display:grid;position:relative}.readiness-panel.extracting{background:linear-gradient(#fbfdfffa,#f5fbfffa),radial-gradient(circle at 14% 0,#0f6fff24,#0000 30%),radial-gradient(circle at 86% 8%,#00bfa624,#0000 28%);border-color:#0f6fff42;box-shadow:0 0 0 1px #0f6fff0a,0 18px 46px #0f6fff1a}.readiness-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.readiness-panel-head strong,.readiness-panel-head span,.readiness-panel-head em{display:block}.readiness-panel-head strong{color:var(--ink);font-size:13px}.readiness-panel-head span{color:var(--muted);margin-top:2px;font-size:11px;font-weight:680}.readiness-panel-head em{color:#0b7a5f;background:#eef7f1;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:11px;font-style:normal;font-weight:760;display:inline-flex}.readiness-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.readiness-item{background:#fff;border:1px solid #e5ebf1;border-radius:8px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:48px;padding:8px;display:grid;position:relative;overflow:hidden}.readiness-item>i{border-radius:999px;place-items:center;width:19px;height:19px;font-style:normal;display:grid}.readiness-item.done>i{color:#0b7a5f;background:#e8f6ee}.readiness-item.pending>i{color:#a86005;background:#fff4df}.readiness-item.missing>i{color:#b42318;background:#fff0ee}.readiness-item strong,.readiness-item span,.readiness-item em{display:block}.readiness-item strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.25;overflow:hidden}.readiness-item span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10.5px;line-height:1.25;overflow:hidden}.readiness-item>em{color:var(--muted);white-space:nowrap;justify-self:end;font-size:10.5px;font-style:normal;font-weight:720}.readiness-item.done>em{color:#0b7a5f}.readiness-item.pending>em{color:#a86005}.readiness-item.missing>em{color:#b42318}.readiness-scan-bar{opacity:0;pointer-events:none;background:#8b98ae1f;border-radius:999px;height:2px;position:absolute;bottom:4px;left:35px;right:52px;overflow:hidden}.readiness-scan-bar:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#0f6fff,#7942ff,#00bfa6);width:0;position:absolute;inset:0;box-shadow:0 0 14px #0f6fff6b}.readiness-panel.extracting .readiness-panel-head em{color:#0f6fff;background:#eef5ff;position:relative;overflow:hidden}.readiness-panel.extracting .readiness-panel-head em:after{content:"";background:linear-gradient(90deg,#0000,#0f6fff2e,#0000);animation:1.8s ease-in-out infinite readinessPillSweep;position:absolute;inset:0;transform:translate(-120%)}.readiness-panel.extracting .readiness-item{animation:4.9s ease-in-out infinite readinessRowPulse}.readiness-panel.extracting .readiness-item>i{animation:4.9s ease-in-out infinite readinessIconPulse}.readiness-panel.extracting .readiness-scan-bar{opacity:1}.readiness-panel.extracting .readiness-scan-bar:after{animation:4.9s cubic-bezier(.23,1,.32,1) infinite readinessScanProgress}.readiness-panel.extracting .readiness-item:first-child,.readiness-panel.extracting .readiness-item:first-child>i,.readiness-panel.extracting .readiness-item:first-child .readiness-scan-bar:after{animation-delay:0s}.readiness-panel.extracting .readiness-item:nth-child(2),.readiness-panel.extracting .readiness-item:nth-child(2)>i,.readiness-panel.extracting .readiness-item:nth-child(2) .readiness-scan-bar:after{animation-delay:.7s}.readiness-panel.extracting .readiness-item:nth-child(3),.readiness-panel.extracting .readiness-item:nth-child(3)>i,.readiness-panel.extracting .readiness-item:nth-child(3) .readiness-scan-bar:after{animation-delay:1.4s}.readiness-panel.extracting .readiness-item:nth-child(4),.readiness-panel.extracting .readiness-item:nth-child(4)>i,.readiness-panel.extracting .readiness-item:nth-child(4) .readiness-scan-bar:after{animation-delay:2.1s}.readiness-panel.extracting .readiness-item:nth-child(5),.readiness-panel.extracting .readiness-item:nth-child(5)>i,.readiness-panel.extracting .readiness-item:nth-child(5) .readiness-scan-bar:after{animation-delay:2.8s}.readiness-panel.extracting .readiness-item:nth-child(6),.readiness-panel.extracting .readiness-item:nth-child(6)>i,.readiness-panel.extracting .readiness-item:nth-child(6) .readiness-scan-bar:after{animation-delay:3.5s}.readiness-panel.extracting .readiness-item:nth-child(7),.readiness-panel.extracting .readiness-item:nth-child(7)>i,.readiness-panel.extracting .readiness-item:nth-child(7) .readiness-scan-bar:after{animation-delay:4.2s}.readiness-panel.extracting .readiness-item:nth-child(8),.readiness-panel.extracting .readiness-item:nth-child(8)>i,.readiness-panel.extracting .readiness-item:nth-child(8) .readiness-scan-bar:after{animation-delay:4.9s}.readiness-panel.extracting .readiness-item:nth-child(9),.readiness-panel.extracting .readiness-item:nth-child(9)>i,.readiness-panel.extracting .readiness-item:nth-child(9) .readiness-scan-bar:after{animation-delay:5.6s}.readiness-panel.extracting .readiness-item:nth-child(10),.readiness-panel.extracting .readiness-item:nth-child(10)>i,.readiness-panel.extracting .readiness-item:nth-child(10) .readiness-scan-bar:after{animation-delay:6.3s}@media (width<=460px){.readiness-list{grid-template-columns:1fr}}.composer-panel{gap:10px;padding-bottom:12px}.composer-panel .dish-form-grid{gap:8px}.description-input-block textarea{min-height:108px}.kg-magic-button{isolation:isolate;color:#fff;cursor:pointer;min-height:44px;font:inherit;letter-spacing:0;-webkit-backdrop-filter:blur(14px)saturate(1.25);backdrop-filter:blur(14px)saturate(1.25);background-color:#ffffff29;background-image:linear-gradient(120deg,#0b71ffeb,#7942ffeb,#00bfa6eb),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:220% 220%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #ffffff57;border-radius:10px;justify-content:center;align-items:center;gap:9px;font-size:14px;font-weight:820;animation:5.5s infinite magicGradient;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 16px 34px #0f6fff38,inset 0 1px #ffffff61}.kg-magic-button:before{content:"";z-index:-1;background:linear-gradient(#ffffff38,#ffffff0a);border-radius:9px;position:absolute;inset:1px}.kg-magic-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff6b,#0000);width:32%;animation:3.4s ease-in-out infinite magicSweep;position:absolute;top:-60%;bottom:-60%;left:-36%;transform:rotate(18deg)}.kg-magic-button:hover:not(:disabled),.kg-magic-button:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 20px 42px #0f6fff47,inset 0 1px #ffffff70}.kg-magic-button:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.58;animation-play-state:paused;transform:none}.kg-magic-button.dish-submit-complete,.kg-magic-button.dish-submit-complete:disabled{color:#0b7a5f;box-shadow:none;opacity:1;filter:none;background:#e9f8f2;border-color:#bfe5d7;animation:none}.kg-magic-button.dish-submit-complete:before,.kg-magic-button.dish-submit-complete:after{display:none}.kg-magic-button.dish-submit-complete:hover,.kg-magic-button.dish-submit-complete:focus-visible{box-shadow:none;transform:none}.dish-submit{z-index:2;width:100%;margin-top:2px;position:sticky;bottom:0}@keyframes magicGradient{0%,to{background-position:0%}50%{background-position:100%}}@keyframes magicSweep{0%{opacity:0;transform:translate(0)rotate(18deg)}18%,52%{opacity:1}76%,to{opacity:0;transform:translate(430%)rotate(18deg)}}@media (width<=1180px){.dish-grid,.dish-right{grid-template-columns:1fr}.dish-grid:not(.preflight-only) .dish-left{min-height:auto;max-height:none;overflow:visible}.dish-left .iteration-panel{position:static}.composer-panel{max-height:none}}@media (width<=1360px) and (width>=821px){.result-overview{grid-template-columns:minmax(300px,1.08fr) minmax(280px,.92fr)}.result-detail-column{grid-column:1/-1;grid-template-columns:minmax(220px,.8fr) minmax(240px,1fr) minmax(220px,.8fr);align-items:start}.result-detail-column .cost-detail-body,.result-detail-column .result-collapsible,.result-detail-column .raw-response-panel{max-height:300px}}.result-sections{grid-template-columns:1fr}.dish-grid.preflight-only{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-items:stretch;padding:18px}.dish-grid.preflight-only .dish-left{justify-self:center;width:min(1440px,100%);height:100%;min-height:0}.dish-grid.preflight-only .composer-panel{height:100%;max-height:none;box-shadow:none;gap:0;padding:0;position:static;overflow:visible}.composer-preflight-panel{grid-template-rows:minmax(0,1fr);gap:0;height:100%;display:grid}@media (height<=760px){.composer-preflight-panel{gap:0}.preflight-workbench{height:100%}.description-work-card,.preflight-workbench .extracted-panel{padding:14px}.voice-panel-live{min-height:58px}.voice-panel-live .voice-record-button{width:42px;height:42px}}@media (height<=660px){.composer-preflight-panel{gap:0}.preflight-workbench{height:100%}.dish-grid.preflight-only .description-input-block textarea{padding-top:10px;font-size:14px;line-height:1.62}}.preflight-workbench{grid-template-columns:500px 1fr 500px;align-items:stretch;gap:16px;height:100%;min-height:0;transition:grid-template-columns .6s cubic-bezier(.22,1,.36,1),gap .5s cubic-bezier(.22,1,.36,1);display:grid}.preflight-workbench.wb-collapsed{grid-template-rows:minmax(0,1fr);grid-template-columns:0 1fr 0;gap:0;overflow:hidden}.preflight-agent-orb-zone{background:radial-gradient(circle at 50% 46%,#fffffff0,#ffffff1f 43%,#0000 63%),linear-gradient(145deg,#f4f7fa,#f9fafb);border:1px solid #8b98ae2e;border-radius:14px;grid-template-rows:minmax(0,1fr) 280px;align-items:stretch;display:grid;overflow:hidden;box-shadow:0 24px 70px #1c25410f,0 1px 2px #1c25410a}.preflight-agent-orb-container{width:100%;height:100%;position:relative;overflow:hidden}.preflight-agent-orb-container .agent-orb{width:100%;height:100%;min-height:0}.preflight-agent-orb-container .agent-orb span{display:none}.preflight-agent-terminal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafceb;border-top:1px solid #8b98ae29;grid-template-rows:32px minmax(0,1fr);font-family:Menlo,Monaco,Consolas,Fira Code,monospace;display:grid;overflow:hidden}.preflight-agent-terminal .terminal-header{background:#f1f5f9f2;border-bottom:1px solid #8b98ae1a;justify-content:space-between;align-items:center;padding:0 14px;display:flex}.preflight-agent-terminal .terminal-title{color:#0f766e;letter-spacing:.05em;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.preflight-agent-terminal .status-dot{background-color:#0d9488;border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite alternate agentStatusDotPulse;box-shadow:0 0 6px #0d948899}.preflight-agent-terminal .terminal-badge{color:#475569;background:#94a3b826;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:600}.preflight-agent-terminal .terminal-body{color:#334155;text-align:left;flex-direction:column;gap:4px;padding:10px 14px;font-size:11px;line-height:1.5;display:flex;overflow-y:auto}.preflight-agent-terminal .terminal-line{word-break:break-all;white-space:pre-wrap;opacity:.95;animation:.25s ease-out forwards terminalLineFadeIn}.preflight-agent-terminal .terminal-cursor{color:#0d9488;margin-left:2px;animation:.8s infinite alternate terminalCursorPulse}@keyframes terminalCursorPulse{0%{opacity:.1}to{opacity:1}}@keyframes terminalLineFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:.95;transform:translateY(0)}}@keyframes agentStatusDotPulse{0%{opacity:.5;transform:scale(.85);box-shadow:0 0 4px #0d948866}to{opacity:1;transform:scale(1.15);box-shadow:0 0 8px #0d9488cc}}.description-work-card,.preflight-workbench .extracted-panel{background:#fffffff5;border:1px solid #8b98ae3d;border-radius:14px;box-shadow:0 24px 70px #1c254114,0 1px 2px #1c25410d}.description-work-card{grid-template-rows:auto minmax(0,1fr) auto auto auto;align-content:stretch;height:100%;min-height:0;padding:18px;display:grid}.preflight-workbench .extracted-panel{align-content:start;height:100%;min-height:0;padding:16px;overflow:auto}.dish-grid .description-input-block textarea{height:100%;min-height:0;box-shadow:none;resize:none;background:0 0;border:0;border-radius:10px;padding:16px 2px 8px;font-size:15px;line-height:1.75}.dish-grid .description-input-block textarea:focus{box-shadow:none}.description-work-card .description-title-row{min-height:34px}.extracted-tags-panel{background:#fbfdff;border:1px solid #8b98ae29;border-radius:10px;gap:8px;padding:10px}.extracted-tags-panel .description-title-row{min-height:22px;font-size:12px}.extracted-tags-panel .ingredient-tag-list{gap:6px}.extracted-tags-panel .ingredient-tag{min-height:28px;padding:0 8px;font-size:12px}.voice-mode-button:not(.recording){position:relative}.voice-mode-button:not(.recording):after{content:"";pointer-events:none;border:1px solid #f0a3316b;border-radius:999px;animation:2.2s ease-in-out infinite idleVoiceRing;position:absolute;inset:-4px}.voice-live-text{color:#7a4a05;background:#fff8eb;border-radius:8px;margin:0;padding:8px 10px;font-size:12px;line-height:1.55}.composer-summary-panel{max-height:none;position:static;overflow:visible}.composer-summary-main{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.composer-summary-main h2{color:var(--ink);margin:0;font-size:18px;line-height:1.2}.composer-summary-text{max-height:72px;color:var(--subtle);font-size:13px;line-height:1.6;overflow:auto}.composer-summary-tags{flex-wrap:wrap;gap:7px;display:flex}.composer-summary-tags span{color:#7a4a05;background:#fff7e8;border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:12px;font-weight:740;display:inline-flex}.confirmed-extracted-info{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e6edf5;border-radius:8px;gap:10px;padding:12px;display:grid}.confirmed-extracted-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.confirmed-extracted-header span{color:var(--ink);font-size:13px;font-weight:780}.confirmed-extracted-header strong{color:#7a4a05;font-size:12px;font-weight:740}.confirmed-extracted-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.summary-extract-metric{grid-template-columns:24px minmax(58px,auto) minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:3px 0;display:grid}.summary-extract-icon{color:#a86005;background:#fff7e8;border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.summary-extract-metric>div:last-child{display:contents}.summary-extract-metric span,.summary-extract-line>span{color:var(--muted);font-size:11px;font-weight:700;display:block}.summary-extract-metric strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.35;display:block;overflow:hidden}.confirmed-extracted-lines{gap:7px;padding-top:2px;display:grid}.summary-extract-line{grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px;display:grid}.summary-extract-line>span{align-items:center;gap:5px;padding-top:3px;display:inline-flex}.summary-extract-line div{flex-wrap:wrap;gap:6px;display:flex}.summary-extract-line em,.summary-extract-line i{color:#7a4a05;background:#fff7e8;border-radius:999px;align-items:center;min-height:23px;padding:0 8px;font-size:12px;font-style:normal;font-weight:720;display:inline-flex}.summary-extract-line i{color:var(--muted);background:#f4f6f8;font-weight:650}.voice-panel-live{background:linear-gradient(135deg,#fff7e8fa,#fffffff5),radial-gradient(circle at 20% 20%,#f0a3312e,#0000 32%);border-color:#f0bf68;grid-template-columns:58px minmax(0,1fr) 112px;align-self:end;align-items:center;position:relative;overflow:hidden}.voice-panel-live.listening{border-color:#f0a331;box-shadow:0 0 0 3px #f0a3311f}.voice-panel-live .voice-record-button{background:var(--accent);width:48px;height:48px;animation:2.1s ease-in-out infinite voiceIdlePulse}.voice-panel-live.listening .voice-record-button{background:#b42318;animation:1.4s ease-in-out infinite voicePulse}.voice-wave{justify-content:flex-end;align-items:center;gap:4px;height:42px;display:flex}.voice-wave i{background:#f0a3319e;border-radius:999px;width:4px;height:10px}.voice-panel-live.listening .voice-wave i{animation:.9s ease-in-out infinite alternate voiceWave}.voice-panel-live.listening .voice-wave i:nth-child(3n+1){animation-duration:.72s}.voice-panel-live.listening .voice-wave i:nth-child(3n+2){animation-duration:1.05s}@keyframes voiceWave{0%{opacity:.55;height:9px}to{opacity:1;height:34px}}@keyframes readinessScanProgress{0%{opacity:0;width:0;transform:translate(0)}8%{opacity:1}38%{opacity:1;width:100%}52%{opacity:0;width:100%;transform:translate(8%)}to{opacity:0;width:100%;transform:translate(8%)}}@keyframes readinessRowPulse{0%,58%,to{box-shadow:none;background:#fff;border-color:#e5ebf1;transform:translateY(0)}12%,38%{background:linear-gradient(90deg,#0f6fff0e,#00bfa60e),#fff;border-color:#0f6fff52;transform:translateY(-1px);box-shadow:0 0 0 1px #0f6fff14,0 10px 24px #0f6fff1f}}@keyframes readinessIconPulse{0%,58%,to{box-shadow:none;transform:scale(1)}14%,36%{transform:scale(1.08);box-shadow:0 0 0 4px #0f6fff14,0 0 18px #00bfa642}}@keyframes readinessPillSweep{0%{transform:translate(-120%)}55%,to{transform:translate(120%)}}@keyframes voiceIdlePulse{0%,to{box-shadow:0 0 #0f6fff2e}50%{box-shadow:0 0 0 9px #0f6fff00}}@keyframes idleVoiceRing{0%,to{opacity:0;transform:scale(.9)}45%{opacity:1;transform:scale(1)}}@media (width<=1080px){.preflight-workbench{grid-template-columns:1fr}.preflight-agent-orb-zone{max-height:200px}.description-work-card,.preflight-workbench .extracted-panel{min-height:auto}.preflight-workbench{height:auto;min-height:auto}.confirmed-extracted-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.dish-grid.preflight-only{padding:12px}.composer-summary-main,.extracted-header,.readiness-header-actions{flex-direction:column;align-items:stretch}.readiness-control{box-sizing:border-box;width:100%}.confirmed-extracted-grid,.summary-extract-line{grid-template-columns:1fr}.confirmed-extracted-header{flex-direction:column;align-items:flex-start}.voice-panel-live{grid-template-columns:52px minmax(0,1fr)}.voice-wave{grid-column:1/-1;justify-content:center}.result-overview,.result-detail-column,.cost-detail-grid{grid-template-columns:1fr}.result-detail-column .cost-detail-body,.result-detail-column .result-collapsible,.result-detail-column .raw-response-panel{max-height:none}}@media (width<=680px){.result-overview,.result-generating-skeleton,.cost-detail-grid{grid-template-columns:1fr}.result-skeleton-stack{grid-column:auto}.result-overview .plating-hero,.result-overview .plating-hero img,.result-overview .plating-placeholder,.plating-image-preview-button{height:auto;min-height:0}.plating-prompt-chip{max-width:calc(100% - 20px);bottom:50px;right:10px}.cost-detail-summary{grid-template-columns:1fr;gap:5px;padding:10px 14px}.cost-detail-summary em{justify-self:start}.cost-detail-summary span{white-space:normal}.cost-detail-modal-backdrop{align-items:end;padding:0}.cost-detail-modal{border-bottom:0;border-left:0;border-right:0;border-radius:14px 14px 0 0;width:100%;max-height:88svh}.plating-plan-modal-backdrop{align-items:end;padding:0}.plating-plan-modal{border-bottom:0;border-left:0;border-right:0;border-radius:14px 14px 0 0;width:100%;max-height:88svh}.plating-plan-modal-header{padding:16px}.plating-plan-modal-body{padding:14px 16px calc(16px + env(safe-area-inset-bottom));grid-template-columns:1fr}}.workflow-strip{box-sizing:border-box;background:#fffffff5;border:1px solid #8b98ae3d;border-radius:14px;width:min(1180px,100% - 36px);margin:12px auto 0;padding:10px;display:block;position:relative;overflow:visible;box-shadow:0 18px 48px #1c25410f,0 1px 2px #1c25410d}.dish-header .workflow-strip{box-shadow:none;background:0 0;border:none;flex:1;justify-content:center;width:auto;min-width:0;margin:0;padding:0;display:flex}.dish-header .workflow-strip .workflow-strip-heading{display:none}.dish-header .workflow-strip .workflow-list{scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(7,minmax(80px,120px));gap:6px;max-width:100%;padding:2px 0;display:grid;overflow-x:auto}.dish-header .workflow-strip .workflow-list::-webkit-scrollbar{display:none}.dish-header .workflow-strip .workflow-step{flex-shrink:1;min-width:0;min-height:auto;padding:4px 6px}.workflow-strip-heading{z-index:1;min-height:36px;color:var(--ink);white-space:nowrap;background:#fbfdff;border:1px solid #e1e8ef;border-radius:9px;padding:0 9px;position:relative}.workflow-strip-heading svg{color:#0b7a5f}.workflow-strip .workflow-list{z-index:1;scrollbar-width:thin;grid-template-columns:repeat(6,minmax(98px,1fr));gap:7px;min-width:0;padding:0 2px 2px;position:relative;overflow-x:auto}.workflow-strip .workflow-step{min-width:98px;min-height:38px;box-shadow:none;background:#fff;border:1px solid #e5ebf1;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px;position:relative}.workflow-strip .workflow-step:after,.workflow-strip .workflow-step:last-child:after{display:none}.workflow-strip .workflow-step-icon{color:#6e7f96;width:22px;height:22px;box-shadow:none;background:#f4f6f8;border-radius:999px}.workflow-strip .workflow-step.processing{background:linear-gradient(90deg,#0f6fff0e,#00bfa60e),#fff;border-color:#0f6fff52;box-shadow:0 0 0 1px #0f6fff14,0 8px 18px #0f6fff1a}.workflow-strip .workflow-step.processing .workflow-step-icon{color:#0f6fff;background:#e7f0ff;box-shadow:0 0 0 4px #0f6fff14,0 0 16px #00bfa62e}.workflow-strip .workflow-step.completed{background:linear-gradient(#fffffff5,#f0fcf7e6),#fff;border-color:#0b7a5f47}.workflow-strip .workflow-step.completed .workflow-step-icon{color:#0b7a5f;background:#e8f8f1}.workflow-strip .workflow-step strong{color:#16233a;font-size:12px}.workflow-strip .workflow-step span{color:#718198;font-size:11px;font-weight:720}.workflow-strip .workflow-step.processing span{color:#0f6fff}.workflow-strip .workflow-step.completed span{color:#0b7a5f}.workflow-strip .workflow-step.failed{background:linear-gradient(#fffffff5,#fff7f5eb),#fff;border-color:#b423183d}.workflow-strip .workflow-step.failed .workflow-step-icon{color:#b42318;background:#fff0ee;box-shadow:inset 0 0 0 1px #b4231824}.workflow-strip .workflow-step.failed span{color:#b42318}.error-detail-modal-backdrop{z-index:140;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a6b;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.error-detail-modal{background:#fff;border:1px solid #fecacae6;border-radius:12px;flex-direction:column;width:min(920px,100%);max-height:min(760px,100svh - 56px);display:flex;overflow:hidden;box-shadow:0 30px 90px #0f172a47}.error-detail-modal header{background:#fff7f5;border-bottom:1px solid #fee2e2;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.error-detail-modal header span{color:#b42318;font-size:12px;font-weight:800}.error-detail-modal header h3{color:#7a271a;margin:3px 0 0;font-size:18px;line-height:1.3}.error-detail-modal header button{color:#b42318;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.error-detail-modal pre{color:#7a271a;white-space:pre-wrap;word-break:break-word;margin:0;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.65;overflow:auto}@media (width<=1180px){.workflow-strip{grid-template-columns:max-content minmax(0,1fr);gap:10px;width:calc(100% - 28px);padding:9px}.workflow-strip-heading{width:auto}}.kg-shell-agent{flex-direction:column;height:100svh;display:flex;overflow:hidden}.kg-shell-agent .kg-page-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.kg-shell-agent .dish-workspace{flex:1;min-height:0}.kg-page-loading{min-height:40vh;color:var(--kg-text-muted,#8a8f98);justify-content:center;align-items:center;display:flex}
