.generate-view{--params-w:380px;--z-stage-base:0;--z-stage-scrim:1;--z-stage-caption:2;--z-stage-panel:5;--z-stage-status:6;--z-stage-dock:10;--z-stage-popover:12;--z-stage-sheet:20;--z-stage-mask:30;display:flex;flex-direction:column;gap:0;height:100%;padding:var(--space-3) var(--page-gutter) var(--space-4);overflow:hidden}.generate-body{position:relative;min-height:0;align-items:stretch}.generate-body,.generate-stage-col{flex:1 1;display:flex;gap:var(--space-3)}.generate-stage-col{min-width:0;flex-direction:column}.generate-results{flex:1 1;min-height:0;background:var(--bg-surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);overflow:hidden}.result-panel{height:100%;flex-direction:column}.result-panel,.stage-main{position:relative;display:flex;min-height:0}.stage-main{flex:1 1;align-items:center;justify-content:center;padding:var(--space-4)}.stage-main:after{content:"";position:absolute;inset:0;z-index:var(--z-stage-scrim);pointer-events:none;background:radial-gradient(ellipse 72% 62% at 50% 46%,transparent 55%,color-mix(in oklab,var(--bg-canvas) 70%,transparent) 100%)}.stage-status{position:absolute;top:var(--space-3);left:var(--space-3);z-index:var(--z-stage-status);display:flex;align-items:center;flex-wrap:wrap;max-width:calc(100% - var(--space-6));gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-full);box-shadow:var(--glass-highlight),var(--shadow-md)}.stage-engine{font-size:var(--text-aux);color:var(--text-secondary);white-space:nowrap}.stage-media-wrap{position:relative;z-index:var(--z-stage-base);display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:var(--space-3);max-width:100%;height:100%;min-height:0;overflow-y:auto;scrollbar-width:thin}.stage-media-wrap .media-main{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:var(--radius-control);box-shadow:var(--shadow-xl)}.stage-media-wrap .media-audio{width:min(520px,90%);display:block}.stage-media-wrap.is-multi .media-main{max-height:72%}.media-fail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-width:280px;min-height:180px;padding:var(--space-6);border:1px dashed var(--border-strong);border-radius:var(--radius-panel);background:var(--bg-surface-1);color:var(--text-secondary);font-size:var(--text-body)}.media-fail-hint{font-size:var(--text-aux);color:var(--text-muted)}.stage-caption{left:var(--space-4);max-width:60%;margin:0;font-size:var(--text-aux);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-caption,.stage-media-actions{position:absolute;bottom:var(--space-3);z-index:var(--z-stage-caption)}.stage-media-actions{right:var(--space-3);display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-full);box-shadow:var(--glass-highlight),var(--shadow-pop);opacity:0;transition:opacity var(--duration-base) var(--ease-standard)}.stage-main:focus-within .stage-media-actions,.stage-main:hover .stage-media-actions{opacity:1}@media (hover:none){.stage-media-actions{opacity:1}}.stage-loading{position:relative;z-index:var(--z-stage-base);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:min(560px,80%)}.stage-skeleton{width:100%;aspect-ratio:var(--media-ar-video);border-radius:var(--radius-panel);background:var(--bg-surface-1)}.stage-skeleton-lines{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%}.stage-skeleton-line{display:block;width:62%;height:10px;border-radius:var(--radius-full);background:var(--bg-surface-2)}.stage-skeleton-line.is-short{width:38%}.stage-progress{display:flex;align-items:center;gap:var(--space-3);width:100%}.stage-progress-text{font-size:var(--text-aux);color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.stage-elapsed{margin-left:var(--space-2);color:var(--text-muted)}.gen-progress{flex:1 1;height:4px;background:var(--bg-surface-3);border-radius:var(--radius-full);overflow:hidden}.gen-progress-fill{height:100%;background:var(--run);border-radius:var(--radius-full);transition:width var(--duration-fast) var(--ease-standard)}.gen-progress-fill.is-indeterminate{width:30%;animation:gen-progress-slide var(--duration-loop) var(--ease-standard) infinite}@keyframes gen-progress-slide{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}.stage-message{margin:0;max-width:min(480px,80%);font-size:var(--text-body);color:var(--text-muted);line-height:1.6}.stage-error-card,.stage-message{position:relative;z-index:var(--z-stage-base);text-align:center}.stage-error-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:min(460px,84%);max-height:100%;overflow-y:auto;padding:var(--space-4);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-panel);box-shadow:var(--glass-highlight),var(--shadow-float)}.stage-error-head{display:flex;align-items:center;gap:var(--space-2);color:var(--err)}.stage-error-title{font-size:var(--text-section);font-weight:var(--font-semibold);color:var(--text-primary)}.stage-error-desc{margin:0;font-size:var(--text-body);color:var(--text-muted);line-height:1.6}.stage-error-details{width:100%;text-align:left;font-size:var(--text-aux);color:var(--text-muted)}.stage-error-details summary{cursor:pointer;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-standard)}.stage-error-details summary:hover{color:var(--text-primary)}.stage-error-raw{margin:var(--space-2) 0 0;max-height:120px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;font-size:var(--text-aux);line-height:1.5;color:var(--text-muted);background:var(--bg-canvas);padding:var(--space-2);border-radius:var(--radius-control)}.stage-quality{position:absolute;top:calc(var(--space-3) + var(--space-10));left:var(--space-3);z-index:var(--z-stage-panel);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:min(320px,60%);max-height:calc(100% - 120px);overflow-y:auto;padding:var(--space-3);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-left:3px solid var(--warn);border-radius:var(--radius-control);box-shadow:var(--glass-highlight),var(--shadow-md)}.stage-quality-head{display:flex;align-items:center;gap:var(--space-2);color:var(--warn)}.stage-quality-title{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text-primary)}.stage-quality-score{margin-left:auto;padding:2px var(--space-2);background:var(--warn-soft);border:1px solid color-mix(in oklch,var(--warn) 35%,transparent);border-radius:var(--radius-full);font-size:var(--text-aux);font-family:var(--font-mono);font-weight:var(--font-semibold);color:var(--warn)}.stage-quality-bars{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.quality-bar{display:grid;grid-template-columns:44px 1fr 28px;align-items:center;gap:var(--space-2)}.quality-bar-label{font-size:var(--text-aux);color:var(--text-secondary)}.quality-bar-track{height:6px;background:var(--bg-surface-3);border-radius:var(--radius-full);overflow:hidden}.quality-bar-fill{display:block;height:100%;border-radius:var(--radius-full);transition:width var(--duration-base) var(--ease-standard)}.quality-bar-fill.is-ok{background:var(--ok)}.quality-bar-fill.is-warn{background:var(--warn)}.quality-bar-fill.is-err{background:var(--err)}.quality-bar-val{font-size:var(--text-aux);font-family:var(--font-mono);color:var(--text-muted);text-align:right}.stage-quality-issues{margin:0;padding:var(--space-2) 0 0 var(--space-4);list-style:disc;border-top:1px solid var(--border-subtle);font-size:var(--text-aux);line-height:1.6;color:var(--text-secondary)}.stage-quality-degraded{padding:var(--space-1) var(--space-2);background:var(--err-soft);border:1px solid color-mix(in oklch,var(--err) 30%,transparent);border-radius:var(--radius-badge);font-size:var(--text-aux);color:var(--err)}.filmstrip{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;border-top:1px solid var(--border-subtle);background:color-mix(in oklab,var(--bg-canvas) 55%,var(--bg-surface-1))}.filmstrip-item{position:relative;flex-shrink:0;width:72px;height:72px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--bg-surface-2);overflow:hidden;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.filmstrip-item:hover{border-color:var(--border-strong);transform:translateY(-1px)}.filmstrip-item.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),var(--accent-glow-shadow)}.filmstrip-thumb{width:100%;height:100%;object-fit:cover;display:block}.filmstrip-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.filmstrip-dot{position:absolute;top:var(--space-1);left:var(--space-1);width:8px;height:8px;border-radius:50%;background:var(--text-muted);box-shadow:0 0 0 2px color-mix(in oklab,var(--bg-canvas) 72%,transparent)}.filmstrip-dot.is-running{background:var(--run);animation:filmstrip-pulse var(--duration-pulse) var(--ease-standard) infinite}.filmstrip-dot.is-done{background:var(--ok)}.filmstrip-dot.is-error{background:var(--err)}@keyframes filmstrip-pulse{0%,to{opacity:1}50%{opacity:.35}}.result-compare{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-12) var(--space-4) var(--space-4)}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.compare-col{padding:var(--space-3);flex-direction:column}.compare-col,.compare-head{display:flex;gap:var(--space-2)}.compare-head{align-items:center}.compare-head .input{flex:1 1;min-width:0}.compare-media{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;background:var(--bg-canvas);border-radius:var(--radius-control);overflow:hidden}.compare-media .media-main{max-width:100%;max-height:52vh;object-fit:contain;display:block}.compare-media .media-audio{width:100%;display:block}.result-panel-empty{position:relative;height:100%;align-items:center;justify-content:center;overflow-y:auto}.stage-empty{z-index:var(--z-stage-base);display:flex;align-items:center;justify-content:center}.stage-empty,.stage-empty:before{position:absolute;inset:0;pointer-events:none}.stage-empty:before{content:"";background:radial-gradient(ellipse 58% 48% at 50% 44%,color-mix(in oklab,var(--accent-glow) 5%,transparent) 0,transparent 72%)}.stage-empty .at-empty--stage{position:relative;pointer-events:auto;padding:var(--space-6) var(--space-4);background:transparent;border:none}.generate-params{width:var(--params-w);flex-shrink:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:var(--space-4);background:var(--bg-surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);animation:params-panel-in var(--duration-slow) var(--ease-spring)}.generate-group-seg{display:flex;width:100%;background:var(--bg-canvas);border-color:var(--border-strong)}.generate-group-seg .at-seg-btn{flex:1 1}.generate-params-body::-webkit-scrollbar{width:6px}.generate-params-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.generate-params-body::-webkit-scrollbar-track{background:transparent}@keyframes params-panel-in{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}.generate-params-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--layout-header-gap);border-bottom:1px solid var(--border-subtle)}.generate-params-heading{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.generate-params-title{font-size:var(--text-label);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.generate-params-sub{font-size:var(--text-aux);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generate-params-body{flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;display:flex;flex-direction:column;gap:var(--section-gap);padding-top:var(--section-gap)}.generate-params-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.generate-params-close:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-surface-2)}.generate-params-fab{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);z-index:var(--z-stage-sheet);transition:transform var(--duration-fast) var(--ease-standard)}.generate-params-fab:hover{transform:translateY(calc(-50% - 2px))}.generate-params-fab-btn{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);padding:0;border:none;border-radius:50%;background:var(--accent);color:var(--text-on-accent);box-shadow:var(--accent-glow-shadow),var(--shadow-float);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.generate-params-fab-btn:hover{background:var(--accent-hover)}.params-section{display:flex;flex-direction:column;gap:var(--space-3)}.params-section+.params-section{border-top:1px solid var(--border-subtle);padding-top:var(--section-gap)}.params-section-title{margin:0;font-size:var(--text-label);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.engine-status{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.engine-status-reason{font-size:var(--text-aux);color:var(--warn)}.recipes-section{flex-direction:column;border-top:1px solid var(--border-subtle);padding-top:var(--section-gap)}.recipes-list,.recipes-section{display:flex;gap:var(--space-2)}.recipes-list{flex-wrap:wrap}.recipe-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-full,999px);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-aux);line-height:1.6;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.recipe-chip:focus-visible,.recipe-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.recipe-chip:disabled{opacity:.5;cursor:not-allowed}.recipe-chip-label{white-space:nowrap}.recipe-nsfw-badge{padding:0 var(--space-1);border-radius:var(--radius-badge);background:var(--warn-soft,var(--accent-soft));color:var(--warn);font-size:calc(var(--text-aux) - 1px);font-weight:var(--font-medium);letter-spacing:.02em}.engine-refresh{margin-left:auto;flex-shrink:0}.generate-error{font-size:var(--text-aux);color:var(--err)}.generate-engines-error{display:flex;align-items:center;gap:var(--space-2)}.generate-engines-error .ui-error-bar{flex:1 1;min-width:0}.engine-select-row{display:flex;align-items:flex-end;gap:var(--space-2)}.engine-select-row .ui-field{flex:1 1;min-width:0}.engine-info-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.engine-info-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-surface-2)}.engine-info-btn.is-open{color:var(--accent);border-color:var(--accent-halo);background:var(--accent-soft)}.engine-info-pop{background:var(--bg-surface-1);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);backdrop-filter:none;-webkit-backdrop-filter:none}.engine-info-card{display:flex;flex-direction:column;gap:var(--space-2);max-width:300px;padding:var(--space-3) var(--space-4)}.engine-info-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.engine-info-name{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text-primary)}.engine-info-count{flex-shrink:0;font-size:var(--text-label);color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.engine-info-desc{margin:0;color:var(--text-secondary)}.engine-info-desc,.engine-info-source{font-size:var(--text-aux);line-height:1.6}.engine-info-source{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);color:var(--text-muted)}.engine-info-source a{color:var(--accent)}.engine-info-source a:hover{text-decoration:underline}.engine-info-note{margin:0}.adv-params{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in oklab,var(--bg-canvas) 40%,transparent)}.adv-params summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-label);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard)}.adv-params summary::-webkit-details-marker{display:none}.adv-params summary:hover,.adv-params[open] summary{color:var(--text-secondary)}.adv-params[open] summary{border-bottom:1px solid var(--border-subtle)}.adv-chevron{display:inline-flex;transition:transform var(--duration-fast) var(--ease-standard)}.adv-params[open] .adv-chevron{transform:rotate(180deg)}.adv-params-body{gap:var(--space-3);padding:var(--space-3)}.adv-params-body,.lora-picker{display:flex;flex-direction:column}.lora-picker,.lora-picker-mode{gap:var(--space-2)}.lora-picker-mode{display:flex}.lora-picker-mode button{min-height:28px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-badge);background:transparent;color:var(--text-secondary);font-size:var(--text-label);cursor:pointer}.lora-picker-mode button.is-on{border-color:var(--accent);color:var(--text);background:var(--accent-soft,color-mix(in srgb,var(--accent) 12%,transparent))}.lora-picker-empty{font-size:var(--text-label);color:var(--text-muted)}.lora-picker-item{display:flex;flex-direction:column;gap:var(--space-1)}.lora-picker-row{display:flex;align-items:center;gap:var(--space-2);min-height:32px;font-size:var(--text-body);color:var(--text-secondary);cursor:pointer}.lora-picker-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lora-picker-nsfw{flex-shrink:0;font-size:var(--text-label);color:var(--warn)}.lora-picker-strength{display:flex;align-items:center;gap:var(--space-2);padding-left:calc(var(--space-4) + var(--space-1))}.lora-picker-strength input[type=range]{flex:1 1}.lora-picker-strength-val{min-width:2.5em;text-align:right;font-size:var(--text-label);color:var(--text-muted)}.promptbar-dock{flex-shrink:0}.promptbar{position:relative;width:100%;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-panel);box-shadow:var(--glass-highlight),var(--shadow-md);transition:transform var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.promptbar:focus-within{transform:translateY(-1px);border-color:var(--accent-glow);animation:promptbar-breathe var(--duration-breathe) var(--ease-standard) infinite}@keyframes promptbar-breathe{0%,to{box-shadow:var(--glass-highlight),var(--shadow-pop)}50%{box-shadow:var(--glass-highlight),var(--shadow-pop),0 0 0 3px var(--accent-glow-soft)}}.promptbar-input-row{display:flex;align-items:flex-end;gap:var(--space-2)}.promptbar-textarea{flex:1 1;min-width:0;min-height:28px;max-height:40vh;padding:var(--space-2);resize:vertical;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--text-body);line-height:var(--leading-base);font-family:inherit;overflow-y:auto}.promptbar-textarea::placeholder{color:var(--text-muted)}.promptbar-textarea:focus-visible{outline:1px solid var(--accent);outline-offset:1px;border-radius:var(--radius-badge)}.promptbar-textarea:disabled{opacity:.6}.promptbar-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.promptbar .btn-primary.generate-run{background:var(--run);border-color:var(--run);color:var(--text-on-accent)}.promptbar-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--grid-gutter)}.promptbar-chip{display:inline-flex;align-items:center;gap:var(--space-1);height:26px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--bg-surface-2);color:var(--text-secondary);font-size:var(--text-aux);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.promptbar-chip:hover{color:var(--text-primary);border-color:var(--border-strong)}.promptbar-chip.is-open{color:var(--accent);border-color:var(--accent-halo);background:var(--accent-soft)}.promptbar-chip-panel{position:absolute;bottom:calc(100% + var(--space-2));left:var(--space-2);z-index:var(--z-stage-popover);display:flex;flex-direction:column;gap:var(--space-2);width:min(320px,calc(100vw - var(--space-8)));max-height:min(320px,50vh);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:var(--space-2);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-panel);box-shadow:var(--glass-highlight),var(--shadow-pop);animation:chip-panel-in var(--duration-base) var(--ease-spring)}@keyframes chip-panel-in{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}.promptbar-chip-hint{margin:0;font-size:var(--text-aux);color:var(--text-muted)}.promptbar-chip.is-error,.promptbar-chip.is-error:hover{color:var(--err);border-color:var(--err)}.promptbar-chip.is-error:hover{background:var(--err-soft)}.promptbar-block-reason{display:flex;align-items:center;gap:var(--space-1);margin:0;font-size:var(--text-aux);color:var(--warn)}.chip-select-wrap{position:relative;display:flex;align-items:center}.chip-select-wrap select.input{appearance:none;-webkit-appearance:none;padding-right:var(--space-6);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-control);color:var(--text-primary)}.chip-select-wrap select.input:hover{border-color:var(--border-strong)}.chip-select-wrap select.input:focus{border-color:var(--accent);background:var(--glass-bg)}.chip-select-wrap select.input option{background:var(--bg-surface-1);color:var(--text-primary)}.chip-select-caret{position:absolute;right:var(--space-2);display:inline-flex;color:var(--text-muted);pointer-events:none}@media (max-width:1023px){.generate-view{overflow-y:auto;padding:var(--space-3) var(--page-gutter)}.generate-body{position:static;display:flex;flex-direction:column;gap:var(--space-3);overflow:visible}.generate-stage-col{display:contents}.generate-results{order:1;height:72vh;flex-shrink:0;border-radius:var(--radius-panel) var(--radius-panel) 0 0}.promptbar-dock{position:sticky;order:2;bottom:0;padding:0}.promptbar{border-radius:var(--radius-panel) var(--radius-panel) 0 0}.generate-params{position:fixed;top:auto;left:var(--space-3);right:var(--space-3);bottom:calc(var(--bottomnav-h) + var(--space-3));z-index:var(--z-stage-mask);width:auto;max-height:60vh;animation:none}.engine-info-btn,.generate-params-close{width:var(--touch-target);height:var(--touch-target)}.promptbar-chip{height:var(--touch-target);padding:0 var(--space-4)}.adv-params summary{min-height:var(--touch-target)}.generate-view .generate-params-fab{position:fixed;top:45%;bottom:auto;left:auto;right:var(--space-3);z-index:var(--z-stage-mask)}.compare-grid{grid-template-columns:1fr}}@media (max-width:767px){.generate-view{padding:var(--space-2) var(--page-gutter);gap:0}}.pwe-wrap{position:relative;flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.pwe-wrap textarea{width:100%}.pwe-panel{position:absolute;bottom:calc(100% + var(--space-2));left:0;z-index:var(--z-stage-popover);display:flex;flex-direction:column;gap:2px;width:min(300px,calc(100vw - var(--space-8)));max-height:min(280px,50vh);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:var(--space-2);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-panel);box-shadow:var(--glass-highlight),var(--shadow-pop);animation:chip-panel-in var(--duration-base) var(--ease-spring)}.pwe-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-2);font-size:var(--text-label);font-weight:var(--font-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.pwe-panel-hint{font-weight:var(--font-normal);text-transform:none;letter-spacing:0}.pwe-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-control);background:transparent;color:var(--text-primary);font-size:var(--text-aux);text-align:left;cursor:pointer}.pwe-option.is-active{background:var(--accent-soft);color:var(--accent)}.pwe-thumb{width:24px;height:24px;flex-shrink:0;border-radius:var(--radius-badge);object-fit:cover;background:var(--bg-surface-2)}.pwe-thumb-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.pwe-option-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwe-option-kind{flex-shrink:0;font-size:var(--text-label);color:var(--text-muted)}.pwe-refs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:var(--text-aux);color:var(--text-muted)}.pwe-refs-label{flex-shrink:0}.pwe-chip{display:inline-flex;align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--bg-surface-2);transition:border-color var(--duration-fast) var(--ease-standard)}.pwe-chip.is-open{border-color:var(--accent-halo);background:var(--accent-soft)}.pwe-chip-main{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 0 2px var(--space-2);border:none;background:transparent;color:var(--accent);font-size:var(--text-aux);cursor:pointer;white-space:nowrap}.pwe-chip-idx{font-size:var(--text-label);color:var(--text-muted)}.pwe-chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:2px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);cursor:pointer}.pwe-chip-x:hover{color:var(--err);background:var(--bg-surface-1)}.pwe-detail{position:absolute;bottom:calc(100% + var(--space-2));left:0;z-index:var(--z-stage-popover);display:flex;align-items:center;gap:var(--space-3);width:min(340px,calc(100vw - var(--space-8)));padding:var(--space-3);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-panel);box-shadow:var(--glass-highlight),var(--shadow-pop);animation:chip-panel-in var(--duration-base) var(--ease-spring)}.pwe-detail-thumb{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-control);object-fit:cover;background:var(--bg-surface-2)}.pwe-detail-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.pwe-detail-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-aux);font-weight:var(--font-medium);color:var(--text-primary)}.pwe-detail-desc{font-size:var(--text-label);color:var(--text-muted);line-height:var(--leading-base)}.pwe-detail-remove{flex-shrink:0;padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:transparent;color:var(--err);font-size:var(--text-label);cursor:pointer}.pwe-detail-remove:hover{border-color:var(--err)}.skeleton-shimmer{background-color:var(--bg-surface-2);background-image:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.4) 50%,transparent 75%);background-size:200% 100%;background-position:100% 0;animation:skeleton-shimmer-sweep var(--duration-pulse) linear infinite}[data-mode=dark] .skeleton-shimmer,[data-theme=cinema] .skeleton-shimmer,[data-theme=graphite] .skeleton-shimmer{background-image:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.1) 50%,transparent 75%)}@keyframes skeleton-shimmer-sweep{0%{background-position:100% 0}to{background-position:-100% 0}}.stagger-item{animation:stagger-item-in var(--duration-slow) var(--ease-emphasized) both;animation-delay:var(--stagger-delay,0s)}@keyframes stagger-item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-container>:first-child{--stagger-delay:0ms}.stagger-container>:nth-child(2){--stagger-delay:30ms}.stagger-container>:nth-child(3){--stagger-delay:60ms}.stagger-container>:nth-child(4){--stagger-delay:90ms}.stagger-container>:nth-child(5){--stagger-delay:120ms}.stagger-container>:nth-child(6){--stagger-delay:150ms}.stagger-container>:nth-child(7){--stagger-delay:180ms}.stagger-container>:nth-child(8){--stagger-delay:210ms}.stagger-container>:nth-child(9){--stagger-delay:240ms}.stagger-container>:nth-child(10){--stagger-delay:270ms}.stagger-container>:nth-child(11){--stagger-delay:300ms}.stagger-container>:nth-child(12){--stagger-delay:330ms}.view-stage{view-transition-name:main-stage}::view-transition-new(root),::view-transition-old(root){animation:none}::view-transition-new(main-stage),::view-transition-old(main-stage){animation-duration:.2s;animation-timing-function:var(--ease-standard);mix-blend-mode:normal}::view-transition-old(main-stage){animation-name:view-stage-fade-out}::view-transition-new(main-stage){animation-name:view-stage-fade-in}@keyframes view-stage-fade-out{0%{opacity:1}to{opacity:0}}@keyframes view-stage-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.skeleton-shimmer{animation:none;background-image:none}.stagger-item{animation:none}.view-stage{view-transition-name:none}::view-transition-new(main-stage),::view-transition-old(main-stage){animation:none}}.ui-ripple{position:relative;display:inline-flex;border-radius:var(--radius-control)}.ui-ripple--full{border-radius:var(--radius-full)}.ui-ripple-layer{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:1}.ui-ripple-wave{position:absolute;border-radius:50%;background:currentColor;opacity:0;transform:scale(0);animation:ui-ripple-spread .6s var(--ease-standard) forwards;will-change:transform,opacity}@keyframes ui-ripple-spread{0%{transform:scale(0);opacity:.22}60%{opacity:.13}to{transform:scale(1);opacity:0}}.ui-magnet{display:inline-flex;transition:transform var(--duration-base) var(--ease-spring);will-change:transform}.ui-particles{position:relative;display:inline-flex}.ui-particles-canvas{position:absolute;pointer-events:none;z-index:2}.ui-error-bar{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-aux);color:var(--err);background:var(--err-soft);border:1px solid var(--border-subtle);border-left:2px solid var(--err);border-radius:var(--radius-control);animation:ui-error-bar-in var(--duration-base) var(--ease-standard)}@keyframes ui-error-bar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ui-error-bar-text{flex:1 1;min-width:0}.ui-error-bar-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;color:var(--err);background:none;border:none;border-radius:var(--radius-control);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.ui-error-bar-close:hover{background:var(--bg-surface-2)}.ui-loading{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.ui-loading-block{display:block;border-radius:var(--radius-badge);background:var(--bg-surface-2)}.ui-loading--line .ui-loading-block{height:12px}.ui-loading--line .ui-loading-block:last-child{width:62%}.ui-loading--grid{display:grid;gap:var(--space-3)}.ui-loading--grid .ui-loading-block{aspect-ratio:16/9;border-radius:var(--radius-control)}.ui-loading-step{font-family:var(--font-mono);font-size:var(--text-aux);color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-model-viewer{width:100%;height:100%;min-height:120px;border-radius:var(--radius-control);overflow:hidden;background:var(--bg-canvas)}.ui-model-viewer.is-loading{background:linear-gradient(135deg,var(--bg-surface-1),var(--bg-surface-2))}.ui-model-viewer.is-loading .ui-loading{height:100%;justify-content:center}.ui-model-viewer.is-loading .ui-loading-block{height:100%}.ui-model-viewer.is-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-muted)}.ui-model-viewer-error-text{font-size:var(--text-aux)}.ui-page-header-icon{display:inline-flex;vertical-align:-3px;margin-right:var(--space-2)}.global-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:var(--z-toast);pointer-events:none}.global-progress-fill{height:100%;background:var(--accent);transition:width var(--duration-base) var(--ease-standard)}.global-progress-fill.is-indeterminate{width:40%;animation:global-progress-slide var(--duration-loop) var(--ease-standard) infinite}@keyframes global-progress-slide{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}.global-progress-pill{position:fixed;top:10px;right:12px;z-index:var(--z-toast);display:inline-flex;align-items:center;max-width:min(320px,60vw);padding:var(--space-1) var(--space-3);font-size:var(--text-label);color:var(--text-secondary);background:var(--bg-surface-2);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}@media (prefers-reduced-motion:reduce){.ui-ripple-wave{animation:none;display:none}.ui-magnet{transition:none}.ui-error-bar{animation:none}.global-progress-fill,.ui-error-bar-close{transition:none}.global-progress-fill.is-indeterminate{animation:none}}.cfl2-view{width:100%;height:100%;min-height:0;overflow:hidden;background:var(--bg-canvas);display:flex;flex-direction:column}.cfl2-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--grid-gutter-sm,12px);padding:10px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-1);-webkit-backdrop-filter:var(--backdrop-blur,blur(8px));backdrop-filter:var(--backdrop-blur,blur(8px))}.cfl2-bar-left,.cfl2-bar-right{display:flex;align-items:center;gap:8px;min-width:0}.cfl2-bar-right{justify-content:flex-end}.cfl2-mode{display:inline-flex;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--bg-surface-2);padding:2px;gap:2px}.cfl2-mode button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--text-secondary);font:var(--font-medium) 12px/1 var(--font-sans);padding:6px 10px;border-radius:calc(var(--radius-control) - 2px);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.cfl2-mode button:hover{color:var(--text-primary)}.cfl2-mode button[data-active=true]{box-shadow:0 1px 3px rgba(0,0,0,.1)}.cfl2-mode button[data-active=true],.cfl2-select{background:var(--bg-surface-1);color:var(--text-primary)}.cfl2-select{max-width:260px;font:var(--font-regular) 12px/1 var(--font-sans);padding:0 8px}.cfl2-iconbtn,.cfl2-select{height:30px;border:1px solid var(--border-subtle);border-radius:var(--radius-control)}.cfl2-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:30px;background:var(--bg-surface-1);color:var(--text-secondary);cursor:pointer}.cfl2-iconbtn:hover{color:var(--text-primary);border-color:var(--border-strong)}.cfl2-meta{font:var(--font-regular) 11.5px/1.3 var(--font-sans);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfl2-run{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border:0;border-radius:var(--radius-control);background:var(--accent);color:var(--text-on-accent);font:var(--font-medium) 12.5px/1 var(--font-sans);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-spring)}.cfl2-run:hover:not(:disabled){background:var(--accent-hover)}.cfl2-run:active:not(:disabled){transform:var(--lift)}.cfl2-run:disabled{opacity:.55;cursor:not-allowed}.cfl2-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:var(--radius-badge);font:var(--font-medium) 11px/1 var(--font-sans)}.cfl2-chip--run{background:var(--run-soft);color:var(--run)}.cfl2-chip--err{background:var(--err-soft);color:var(--err);max-width:280px}.cfl2-chip-x{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;opacity:.75}.cfl2-pending{display:flex;align-items:center;gap:8px;margin:10px 16px 0;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--accent-soft);font:var(--font-regular) 12px/1.5 var(--font-sans)}.cfl2-pending,.cfl2-pending-x{flex:none;color:var(--text-secondary)}.cfl2-pending-x{border:0;background:transparent;font:var(--font-medium) 11.5px/1 var(--font-sans);cursor:pointer;padding:2px 4px}.cfl2-pending-x:hover{color:var(--text-primary)}.cfl2-body{flex:1 1;min-height:0;display:flex;flex-direction:column}.cfl2-stage{position:relative;flex:1 1;min-height:0}.cfl2-stage .react-flow{height:100%}.cfl2-iframe-host{flex:1 1;min-height:0}.cfl2-iframe-host .canvas-view{height:100%}.cfl2-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font:var(--font-regular) 13px/1.6 var(--font-sans)}.cfl2-spin{animation:cfl2-rotate 1s linear infinite}@keyframes cfl2-rotate{to{transform:rotate(1turn)}}.cfl2-runpanel{position:absolute;left:16px;bottom:16px;width:240px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--bg-surface-1);box-shadow:0 10px 32px rgba(0,0,0,.16);padding:10px;display:flex;flex-direction:column;gap:8px}.cfl2-runpanel-head{display:flex;align-items:center;gap:6px;color:var(--ok);font:var(--font-medium) 12.5px/1 var(--font-sans)}.cfl2-runpanel-head .cfl2-pending-x{margin-left:auto;color:var(--text-muted)}.cfl2-runpanel-img{width:100%;border-radius:calc(var(--radius-panel) - 4px);border:1px solid var(--border-subtle)}.cfl2-runpanel-link{font:var(--font-medium) 12px/1 var(--font-sans);color:var(--text-secondary);text-decoration:none}.cfl-card,.cfl2-runpanel-link:hover{color:var(--text-primary)}.cfl-card{width:252px;background:var(--bg-surface-1);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.08);font:var(--font-regular) 11px/1.4 var(--font-sans);overflow:hidden}.cfl-card--muted{opacity:.5}.cfl-card--unknown{border-style:dashed}.cfl-card-head{display:flex;align-items:center;gap:6px;padding:7px 10px;background:var(--bg-surface-3);border-bottom:1px solid var(--border-subtle)}.cfl-card-title{font:var(--font-semibold) 11.5px/1.2 var(--font-mono);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfl-badge{flex:none;padding:2px 6px;border-radius:var(--radius-badge);background:var(--warn-soft);color:var(--warn);font:var(--font-medium) 9.5px/1 var(--font-sans)}.cfl-badge--muted{background:var(--bg-surface-2);color:var(--text-muted)}.cfl-sockets{padding:4px 0}.cfl-socket{position:relative;display:flex;align-items:center;gap:6px;padding:2px 10px 2px 24px;min-height:18px;color:var(--text-secondary)}.cfl-socket--out{justify-content:flex-end;padding:2px 24px 2px 10px}.cfl-socket-dot{flex:none;width:7px;height:7px;border-radius:50%}.cfl-socket-name{font:var(--font-medium) 10.5px/1.2 var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfl-socket-type{margin-left:auto;font:var(--font-regular) 9.5px/1 var(--font-mono);color:var(--text-muted)}.cfl-socket--out .cfl-socket-type{margin-left:0}.cfl-card .react-flow__handle{width:9px;height:9px;border:2px solid var(--bg-surface-1);min-width:0;min-height:0}.cfl-widgets{padding:6px 10px 9px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:5px}.cfl-card--unknown .cfl-widgets{border-top:0}.cfl-widget{display:flex;align-items:center;gap:6px;min-width:0}.cfl-widget-name{flex:none;width:74px;color:var(--text-muted);font:var(--font-regular) 10px/1.2 var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfl-input{flex:1 1;min-width:0;height:22px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-surface-2);color:var(--text-primary);font:var(--font-regular) 10.5px/1.2 var(--font-sans);padding:0 6px}.cfl-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cfl-select{appearance:auto;padding:0 4px}.cfl-area,.cfl-num{font-family:var(--font-mono)}.cfl-area{height:auto;min-height:38px;resize:vertical;padding:4px 6px}.cfl-check{accent-color:var(--accent);margin:0}.cfl-widget-linked{flex:1 1;color:var(--text-muted);font:var(--font-regular) 10px/1 var(--font-sans);border:1px dashed var(--border-subtle);border-radius:6px;text-align:center;padding:4px 0}.cfl-raw{margin:0;padding:6px 10px 9px;font:var(--font-regular) 9.5px/1.4 var(--font-mono);color:var(--text-muted);word-break:break-all;max-height:72px;overflow:hidden}.cfl-note,.cfl-raw{white-space:pre-wrap}.cfl-note{width:232px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 26%,transparent);border-radius:8px;padding:8px 10px;font:var(--font-regular) 11px/1.55 var(--font-sans);color:var(--text-secondary);word-break:break-word;max-height:180px;overflow:auto}.cfl-reroute{width:18px;height:18px;border-radius:50%;background:var(--bg-surface-3);border:1px solid var(--border-strong);position:relative}.cfl-reroute .react-flow__handle{width:7px;height:7px;border:1px solid var(--bg-surface-1)}.cfl-group{width:100%;height:100%;border:1.5px dashed var(--border-strong);border-radius:12px;background:color-mix(in srgb,var(--bg-surface-2) 55%,transparent)}.cfl-group-title{position:absolute;top:-1.5px;left:12px;transform:translateY(-50%);background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-badge);padding:2px 8px;font:var(--font-medium) 10.5px/1.2 var(--font-sans);color:var(--text-secondary)}.cfl2-stage .react-flow__controls{border-radius:var(--radius-control);overflow:hidden;border:1px solid var(--border-subtle);box-shadow:0 2px 10px rgba(0,0,0,.1)}.cfl2-stage .react-flow__controls-button{background:var(--bg-surface-1);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);width:26px;height:26px}.cfl2-stage .react-flow__controls-button:hover{background:var(--bg-surface-2)}.cfl2-stage .react-flow__controls-button svg{fill:currentColor}.cfl2-stage .react-flow__minimap{border:1px solid var(--border-subtle);border-radius:var(--radius-control);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.1)}.cfl2-stage .react-flow__edge-path{stroke-linecap:round}.cfl2-stage .react-flow__node.selected .cfl-card{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}@media (max-width:720px){.cfl2-meta{display:none}.cfl2-select{max-width:150px}}.cfl2-proposal em{font-style:normal;color:#ffc94d;margin-left:4px}