.image-preview-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-preview-shell{position:relative;width:100vw;height:100dvh;box-sizing:border-box;padding:18px 28px calc(18px + env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;overflow:hidden}.image-preview-meta{min-width:0;max-width:calc(100vw - 132px);justify-self:center;display:flex;align-items:center;justify-content:center;gap:8px;overflow-x:auto;scrollbar-width:none}.image-preview-meta::-webkit-scrollbar,.image-preview-toolbar::-webkit-scrollbar{display:none}.image-preview-meta span{flex:0 0 auto;border-radius:999px;background:#fffffff0;color:#0f172a;padding:8px 12px;font-size:13px;line-height:1.2;font-weight:850;white-space:nowrap}.image-preview-stage{min-width:0;min-height:0;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.image-preview-img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;background:transparent;box-shadow:0 20px 70px #0f172a47;transform-origin:center center;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.image-preview-toolbar{min-width:0;max-width:100%;justify-self:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;overflow-x:auto;scrollbar-width:none}.image-preview-toolbar button{flex:0 0 auto;border:0;border-radius:999px;background:#fffffff2;color:#0f172a;padding:10px 16px;font-size:13px;line-height:1.2;font-weight:850;cursor:pointer}.image-preview-toolbar button:hover,.image-preview-close:hover{background:#fff;transform:translateY(-1px)}.image-preview-close{position:absolute;top:18px;right:22px;z-index:2;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:999px;background:#fffffff5;color:#111827;padding:0;font-size:28px;line-height:1;font-weight:700;cursor:pointer}.image-preview-toast{position:absolute;left:50%;bottom:calc(74px + env(safe-area-inset-bottom));z-index:3;transform:translate(-50%);max-width:min(520px,calc(100vw - 24px));border-radius:999px;background:#fffffff5;color:#0f172a;padding:7px 13px;font-size:12px;line-height:1.35;font-weight:850;text-align:center;box-shadow:0 14px 36px #0f172a38}@media(max-width:620px){.image-preview-shell{padding:12px 12px calc(12px + env(safe-area-inset-bottom));gap:10px}.image-preview-meta{width:100%;max-width:none;justify-content:flex-start;padding-right:54px}.image-preview-meta span{padding:7px 10px;font-size:12px}.image-preview-close{top:10px;right:10px;width:38px;height:38px;font-size:26px}.image-preview-img{border-radius:10px}.image-preview-toolbar{width:100%;justify-content:flex-start;flex-wrap:nowrap;padding-bottom:2px}.image-preview-toolbar button{padding:9px 13px;font-size:12px}.image-preview-toast{bottom:calc(62px + env(safe-area-inset-bottom))}}:root{--bg: #f6f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--muted: #64748b;--muted-2: #94a3b8;--primary: #111827;--primary-2: #2563eb;--success: #16a34a;--error: #dc2626;--radius: 14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:var(--bg)}a{color:var(--primary-2);text-decoration:none;font-weight:750}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:var(--surface);color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb14}textarea{resize:vertical;line-height:1.55}.app-shell{min-height:100vh;padding:18px}.center-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:-.06em}.brand h1{margin:0;font-size:20px;letter-spacing:-.03em}.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}.topbar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 4px 18px;border-bottom:1px solid var(--border);margin-bottom:18px}.top-actions{display:flex;gap:10px;align-items:center}.ghost-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:999px;padding:0 14px;background:var(--surface)}.github-link{color:var(--text);font-weight:900}.github-link svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}.github-link.compact{width:38px;min-height:38px;padding:0}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr) 360px;gap:18px;align-items:start}.generation-panel,.result-canvas,.task-timeline{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.generation-panel,.task-timeline{padding:16px}.result-canvas{min-height:calc(100vh - 108px);padding:18px}.generation-panel{position:sticky;top:18px}.task-timeline{position:sticky;top:18px;max-height:calc(100vh - 108px);overflow:auto}.section-head{padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:0}.section-head h2,.canvas-header h2,.timeline-header h2{margin:0;font-size:18px;letter-spacing:-.02em}.section-head p,.canvas-header p,.timeline-header span{margin:4px 0 0}.eyebrow{margin:0 0 4px;color:var(--primary-2);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted);line-height:1.65}.generation-form{display:grid}.form-section{padding:16px 0;border-bottom:1px solid var(--border);display:grid;gap:10px}.key-summary{padding-top:0}.form-section:last-of-type{border-bottom:0}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-title span,.field>span{display:block;color:#334155;font-size:13px;font-weight:800}.section-title small,.field small{color:var(--muted-2);font-size:12px}.field{display:grid;gap:8px}.inline-form{display:grid;gap:10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-row{display:flex;align-items:center;gap:10px;color:#334155;font-size:13px;font-weight:800}.check-row input{width:auto}.status-line{border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);padding:10px 12px;color:#334155;font-size:13px}.key-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.key-subtitle{margin-top:10px}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:12px;padding:4px;background:var(--surface-soft)}.mode-tabs button{border:0;background:transparent;color:var(--muted);border-radius:9px;padding:10px;font-weight:800}.mode-tabs button.active{background:var(--primary);color:#fff}.provider-tabs button.active{background:#111827;color:#fff}.ratio-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ratio-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:12px;padding:9px 6px;display:grid;justify-items:center;gap:6px;font-size:12px}.ratio-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.ratio-icon{border:1.7px solid currentColor;border-radius:3px;display:block}.resolution-list,.quality-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.format-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.resolution-btn,.quality-btn,.format-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:12px;padding:10px 6px;font-size:13px;font-weight:800}.resolution-btn.active,.quality-btn.active,.format-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.generate-submit{width:100%;margin-top:16px;padding:14px}.size-selector-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:10px 12px}.size-selector-button span{display:grid;gap:2px;min-width:0}.size-selector-button strong{color:var(--text);font-size:13px}.size-selector-button small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.size-selector-button b{flex:none;color:var(--primary-2);font-size:12px}.size-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#0f172a3d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.size-modal{width:min(420px,100%);max-height:min(720px,calc(100svh - 28px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(226,232,240,.9);border-radius:22px;background:#fffffff7;color:var(--text)}.size-modal header,.size-modal footer{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px}.size-modal footer{border-top:1px solid var(--border);background:#fffffff0;box-shadow:0 -10px 24px #0f172a14}.size-modal header h3{margin:0;font-size:16px}.size-modal header p{margin:2px 0 0;color:var(--muted);font-size:12px}.size-modal header button{width:32px;height:32px;padding:0;border-radius:999px;font-size:20px}.size-tabs{display:flex;gap:4px;margin:16px 0;padding:4px;border-radius:14px;background:var(--surface-soft)}.size-tabs button,.size-choice-grid button{border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:800}.size-tabs button{flex:1;border-radius:10px;padding:7px 10px}.size-tabs button.active,.size-choice-grid button.active{background:#fff;color:var(--primary-2);border-color:#bfdbfe}.size-auto-state{min-height:128px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;color:var(--muted)}.size-auto-state strong{color:var(--text)}.size-option-groups{display:grid;gap:16px}.size-option-groups section>span{display:block;margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:800}.size-choice-grid{display:grid;gap:8px}.size-choice-grid.three{grid-template-columns:repeat(3,1fr)}.size-choice-grid.four{grid-template-columns:repeat(4,1fr)}.size-choice-grid button{border:1px solid var(--border);border-radius:12px;background:#ffffffb8;padding:8px 6px}.size-modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 16px}.size-preview{margin:16px 0 12px;border-radius:16px;background:var(--surface-soft);padding:10px 12px}.size-preview span{display:block;color:var(--muted);font-size:12px}.size-preview strong{display:block;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:17px}.size-preview small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.size-modal footer button{flex:1;border-radius:12px;padding:9px 12px}.upload-dropzone{border:1px dashed var(--border-strong);border-radius:12px;background:var(--surface-soft);min-height:92px;display:grid;place-items:center;gap:4px;text-align:center;color:var(--muted);cursor:pointer}.upload-dropzone input{display:none}.upload-dropzone span{color:var(--primary-2);font-weight:800}.upload-dropzone small{color:var(--muted-2)}.upload-list{display:grid;gap:0}.upload-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.upload-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-item small{grid-column:1 / 2;color:var(--muted)}.upload-item button{grid-row:1 / 3;grid-column:2 / 3}.canvas-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--border)}.canvas-header p{color:var(--muted);font-size:13px}.empty-state{min-height:520px;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed var(--border);border-radius:16px;background:var(--surface-soft);color:var(--muted);text-align:center;padding:28px}.empty-state strong{color:var(--text);font-size:18px}.result-context{display:grid;gap:10px;padding:0 0 16px;margin:0 0 14px;border-bottom:1px solid var(--border)}.result-prompt{display:grid;gap:6px}.result-prompt span{color:#334155;font-size:12px;font-weight:900}.result-prompt p{margin:0;color:var(--text);line-height:1.6;white-space:pre-wrap;word-break:break-word}.param-chips{display:flex;flex-wrap:wrap;gap:8px}.param-chips span{border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);padding:6px 10px;color:#475569;font-size:12px;font-weight:800}.debug-log-panel{border:1px solid var(--border);border-radius:16px;background:#f8fafc;margin:12px 0;padding:10px 12px}.debug-log-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:var(--text);font-size:13px;font-weight:900}.debug-log-panel summary strong{color:var(--muted);font-size:12px}.debug-log-list{display:grid;gap:8px;margin-top:10px;max-height:360px;overflow:auto}.debug-log-item{border:1px solid var(--border);border-radius:12px;background:#fff;padding:9px 10px}.debug-log-item.error{border-color:#fecaca;background:#fff7f7}.debug-log-item header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:850}.debug-log-item header b{color:var(--primary-2);text-transform:uppercase}.debug-log-item.error header b{color:var(--error)}.debug-log-item header em{font-style:normal;color:var(--text)}.debug-log-item p{margin:6px 0 0;color:var(--text);font-size:13px;font-weight:800}.debug-log-item pre{margin:8px 0 0;max-height:220px;overflow:auto;border-radius:10px;background:#0f172a;color:#dbeafe;padding:10px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.banana-model-modal{width:min(780px,calc(100vw - 28px));max-height:min(760px,calc(100svh - 44px));display:flex;flex-direction:column;overflow:hidden}.banana-model-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px 16px;overflow:auto}.banana-model-grid button{min-width:0;min-height:78px;border:1px solid #dbeafe;border-radius:14px;background:#fff;color:var(--text);padding:10px;text-align:left;display:flex;align-items:center;gap:10px}.banana-model-grid button.active{background:#0f172a;border-color:#0f172a;color:#fff}.banana-ratio-preview{width:44px;max-width:44px;min-width:22px;max-height:48px;border:2px solid currentColor;border-radius:7px;opacity:.9;display:grid;place-items:center;flex:none}.banana-ratio-preview i{font-style:normal;font-size:8px;font-weight:900;letter-spacing:.02em}.banana-model-text{min-width:0;display:grid;gap:3px}.banana-model-text strong{font-size:14px;line-height:1.1}.banana-model-text span,.banana-model-text small{color:inherit;opacity:.78;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-spec-modal{width:min(720px,calc(100vw - 28px))}.image-ratio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.image-ratio-card{min-width:0;min-height:78px;border:1px solid #dbeafe;border-radius:14px;background:#fff;color:var(--text);padding:10px;text-align:left;display:flex;align-items:center;gap:10px}.image-ratio-card.active{background:#0f172a;border-color:#0f172a;color:#fff}.image-ratio-preview{width:44px;max-width:44px;min-width:22px;max-height:48px;border:2px solid currentColor;border-radius:7px;opacity:.9;display:grid;place-items:center;flex:none}.image-ratio-preview.auto-preview{width:52px;max-width:52px;aspect-ratio:1 / 1}.image-ratio-preview i{font-style:normal;font-size:8px;font-weight:900;letter-spacing:.02em}.image-ratio-text{min-width:0;display:grid;gap:3px}.image-ratio-text strong{font-size:14px;line-height:1.1}.image-ratio-text span,.image-ratio-text small{color:inherit;opacity:.78;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.result-card{position:relative;min-height:240px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.result-image-frame{display:grid;place-items:center;overflow:hidden;background:var(--surface-soft)}.result-card img{width:100%;height:auto;display:block;background:transparent;object-fit:contain}.result-card footer{padding:10px;color:#475569;font-size:13px;border-top:1px solid var(--border)}.result-card.is-loading{min-height:280px;display:grid;place-items:center;align-content:center}.skeleton{color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px}.spinner{width:28px;height:28px;border:3px solid #dbeafe;border-top-color:var(--primary-2);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.floating-actions{display:none}.zoom-btn{width:36px;height:36px;border:0;border-radius:12px;background:#0f172ac7;color:#fff;display:grid;place-items:center;font-size:18px;line-height:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.url-copy-btn{height:36px;border:0;border-radius:12px;background:#2563ebe6;color:#fff;padding:0 11px;font-size:12px;font-weight:800;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.url-copy-btn.error{background:#dc2626e6}.card-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:9px 10px 0;border-top:1px solid var(--border);background:var(--surface)}.card-toolbar button{flex:1 1 92px;min-height:30px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;color:#0f172a;padding:6px 8px;font-size:12px;font-weight:850}.card-toolbar button:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.card-meta{display:block;padding:8px 10px;color:var(--muted);font-size:12px}.actual-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 8px}.actual-chips span{border-radius:999px;background:var(--surface-soft);color:var(--muted);padding:4px 8px;font-size:11px;font-weight:800}.revised-prompt{margin:0 10px 10px;color:var(--muted);font-size:12px}.revised-prompt summary{cursor:pointer;font-weight:900}.revised-prompt p{margin:6px 0 0;line-height:1.55;white-space:pre-wrap;word-break:break-word}.card-notice{position:absolute;left:10px;bottom:42px;border-radius:999px;background:#16a34af0;color:#fff;padding:6px 10px;font-size:12px;font-weight:800}.error-card{min-height:240px;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:8px;color:var(--error);background:#fef2f2}.error-card p{margin:0;color:#991b1b}.error-card small{color:#7f1d1d;line-height:1.45;word-break:break-word}.timeline-header{padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:12px}.timeline-header span{display:block;color:var(--muted);font-size:13px}.task-stack{display:grid;gap:10px}.timeline-item{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:12px;display:grid;gap:8px;cursor:pointer}.timeline-item.active{border-color:var(--primary-2);background:#f8fbff}.timeline-status{display:grid;gap:4px}.timeline-status strong{font-size:14px}.timeline-status span,.timeline-item small{color:var(--muted);font-size:12px}.timeline-thumbs{display:flex;gap:6px;align-items:center}.timeline-thumbs img{width:42px;height:42px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:var(--surface-soft)}.timeline-thumbs span{min-width:42px;height:42px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:900}.task-actions{display:flex;gap:8px;justify-content:flex-end}progress{width:100%;height:8px;accent-color:var(--primary-2)}.status-pill{border-radius:999px;padding:6px 10px;background:#eef2ff;color:#1e40af;font-size:12px;font-weight:900;white-space:nowrap}.status-pill.succeeded{background:#dcfce7;color:#166534}.status-pill.failed,.status-pill.cancelled,.status-pill.interrupted{background:#fee2e2;color:#991b1b}.status-pill.partial_failed{background:#fef3c7;color:#92400e}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.login-panel,.admin-panel{width:min(560px,100%);display:grid;gap:14px;border:1px solid var(--border);border-radius:24px;background:var(--surface);padding:clamp(22px,5vw,34px)}.login-panel h1,.admin-panel h1{font-size:22px}.login-panel h2,.admin-panel h2{margin:6px 0 0;font-size:18px}.login-brand{align-items:flex-start}.identity-help{border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);padding:14px 16px;color:#334155}.identity-help strong{display:block;margin-bottom:8px;color:var(--text)}.identity-help ul{margin:0;padding-left:20px;line-height:1.75}.password-field{position:relative;display:grid;align-items:center}.password-field input{width:100%;padding-right:48px}.login-panel .password-toggle{position:absolute;right:8px;width:36px;height:36px;display:grid;place-items:center;padding:0;border-radius:10px;color:var(--muted);background:transparent;border:1px solid transparent}.login-panel .password-toggle:hover,.login-panel .password-toggle:focus-visible{color:var(--primary-2);background:var(--surface-soft);border-color:var(--border)}.login-panel .password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.admin-panel label{display:grid;gap:8px;font-weight:700;color:#334155}.admin-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0f172a52}.settings-window{width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:18px}.window-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.window-header h2{margin:0}.window-header p{margin:4px 0 0}.primary,button{border:0;border-radius:12px;padding:10px 14px;background:var(--primary);color:#fff;font-weight:800}button:not(.primary){background:var(--surface-soft);color:#1e3a8a;border:1px solid #dbeafe}.primary{background:linear-gradient(135deg,#111827,#2563eb)}.error,.ok,.info{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid transparent}.error{background:#fff7f7;border-color:#fecaca;color:#991b1b}.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}@media(max-width:1180px){.workspace{grid-template-columns:320px minmax(0,1fr)}.task-timeline{grid-column:1 / -1;position:static;max-height:none}}@media(max-width:860px){.workspace{grid-template-columns:1fr}.generation-panel,.task-timeline{position:static;max-height:none}.result-canvas{min-height:auto}}@media(max-width:620px){.app-shell{padding:10px}.topbar{align-items:flex-start;flex-direction:column;padding-bottom:12px}.top-actions{width:100%;justify-content:space-between}.grid-2{grid-template-columns:1fr}.canvas-header{flex-direction:column}.login-panel,.admin-panel{border-radius:18px}}.gallery-shell{--bg: #ffffff;--surface: #ffffff;--surface-soft: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--muted: #64748b;--muted-2: #94a3b8;--primary: #111827;--primary-2: #2563eb;background:var(--bg);color:var(--text);font-size:14px;min-height:100vh;padding:14px 14px 190px}.gallery-shell .topbar{max-width:1280px;min-height:58px;margin:0 auto 18px;padding-bottom:12px;border-bottom-color:var(--border)}.gallery-shell .brand-mark{background:#111827;color:#fff}.gallery-shell .brand h1{color:var(--text)}.gallery-shell .ghost-link,.gallery-shell button:not(.primary){background:var(--surface-soft);color:var(--text);border-color:var(--border)}.gallery-shell button,.gallery-shell .ghost-link{min-height:34px;padding:7px 11px;border-radius:10px;font-size:13px}.gallery-workspace{max-width:1280px;margin:0 auto}.gallery-area{display:grid;gap:12px}.gallery-toolbar{display:grid;grid-template-columns:46px 150px minmax(0,1fr);gap:10px;align-items:center}.gallery-toolbar select,.gallery-search{height:46px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.gallery-toolbar select{color:var(--text);padding:0 16px}.icon-filter{height:46px;border-radius:14px;font-size:20px}.icon-filter.active,.favorite-btn.active{color:#facc15!important;border-color:#facc1573!important;background:#facc151f!important}.gallery-search{display:flex;align-items:center;gap:8px;padding:0 12px}.gallery-search span{color:var(--muted-2);font-size:22px;line-height:1}.gallery-search input{height:100%;border:0;border-radius:0;background:transparent;color:var(--text);padding:0;box-shadow:none}.gallery-summary{display:flex;justify-content:space-between;align-items:baseline;gap:16px;color:var(--muted)}.gallery-summary strong{color:var(--text)}.batch-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--border);border-radius:16px;background:#7c5cff14}.batch-bar strong{color:var(--text);margin-right:auto}.batch-bar button{min-height:36px;padding:8px 12px;border-radius:10px}.task-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.gallery-card{min-height:154px;display:grid;grid-template-columns:42% minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.gallery-card:hover,.gallery-card.active{border-color:var(--primary-2);background:#f8fafc}.gallery-card.selected{border-color:#8b5cf6;background:#7c5cff1f}.gallery-card:active{transform:scale(.995)}.gallery-cover{position:relative;min-height:154px;background:#f8fafc}.gallery-cover img{width:100%;height:100%;display:block;object-fit:cover}.select-task{position:absolute;z-index:2;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(226,232,240,.92);border-radius:999px;background:#ffffffdb;color:#0f172a;font-size:12px;font-weight:900;cursor:pointer}.select-task input{width:14px;height:14px}.cover-badges{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap}.cover-badges span,.gallery-tags span{border-radius:7px;background:#0f172ab8;color:#e5e7eb;padding:4px 7px;font-size:11px;font-weight:900}.gallery-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted);text-align:center;padding:18px}.gallery-placeholder.error{color:#fecaca}.gallery-placeholder.error span{color:#fca5a5}.gallery-card-body{min-width:0;display:grid;grid-template-rows:auto auto auto auto 1fr;gap:7px;padding:11px}.card-title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.gallery-card h3{margin:0;color:var(--text);font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.favorite-btn{width:28px;height:28px;border-radius:9px;padding:0;font-size:15px}.gallery-tags{display:flex;flex-wrap:wrap;gap:6px}.gallery-tags span{background:var(--surface-soft);color:var(--muted)}.gallery-tags .warn{color:#fbbf24}.gallery-card progress{height:7px;align-self:center}.gallery-card-meta{display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--muted-2);font-size:11px;font-weight:800}.gallery-card-actions{display:flex;align-items:end;gap:6px}.gallery-card-actions button{flex:1;min-width:0;min-height:30px;padding:6px 8px;border-radius:8px;font-size:11px}.danger-text{color:#dc2626;border-color:#dc262642}.danger-text:hover{color:#991b1b;border-color:#dc26266b;background:#fee2e2cc}.gallery-empty{min-height:360px;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed var(--border);border-radius:18px;background:#fff;color:var(--muted);text-align:center}.gallery-empty strong{color:var(--text);font-size:18px}.composer-dock{position:fixed;left:50%;bottom:24px;z-index:35;width:min(896px,calc(100vw - 32px));transform:translate(-50%)}.gallery-shell .generation-panel{position:static;max-height:min(58vh,520px);overflow:auto;padding:12px 14px;border-radius:24px;background:#ffffffd6;border-color:#ffffffb8;box-shadow:0 8px 30px #0f172a14;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.gallery-shell .key-summary{display:none}.gallery-shell .generation-form{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(220px,1fr) minmax(160px,.65fr);gap:10px;align-items:start}.gallery-shell .form-section{padding:0;border-bottom:0;gap:7px}.gallery-shell .generation-form .form-section:nth-child(1),.gallery-shell .generation-form .request-section{align-self:stretch}.gallery-shell .generation-form .form-section:nth-child(2){grid-column:1 / 2;grid-row:1 / 3}.gallery-shell .generation-form .form-section:nth-child(3){grid-column:2 / 3;grid-row:1 / 3}.gallery-shell .generation-form .request-section{grid-column:3 / 4}.gallery-shell .generation-form .form-section:nth-child(1){grid-column:3 / 4}.gallery-shell .generation-form>.primary{grid-column:3 / 4;margin-top:0;align-self:end}.gallery-shell .generation-form textarea{min-height:86px;max-height:160px}.gallery-shell .upload-dropzone{min-height:58px}.gallery-shell .section-title span,.gallery-shell .field>span{font-size:12px}.gallery-shell .section-title small,.gallery-shell .field small{font-size:11px}.gallery-shell input,.gallery-shell select,.gallery-shell textarea{padding:8px 10px;border-radius:10px;font-size:13px}.gallery-shell .mode-tabs{border-radius:10px;padding:3px}.gallery-shell .mode-tabs button{min-height:30px;padding:6px 8px;border-radius:8px;font-size:12px}.gallery-shell .quality-list,.gallery-shell .format-list{gap:6px}.gallery-shell .quality-btn,.gallery-shell .format-btn{min-height:31px;border-radius:9px;padding:6px 5px;font-size:12px}.gallery-shell .size-selector-button{min-height:44px;padding:8px 10px;border-radius:10px}.gallery-shell .grid-2{gap:7px}.gallery-shell .generate-submit{min-height:38px;margin-top:0;padding:9px 12px}.gallery-shell .ok,.gallery-shell .error{margin-top:8px;padding:8px 10px;border-radius:10px;font-size:12px}.gallery-shell .composer-form{display:flex;flex-direction:column;gap:10px;align-items:stretch}.gallery-shell .composer-prompt{display:block}.gallery-shell .composer-prompt textarea{min-height:54px;max-height:150px;width:100%;padding:12px 14px;border-radius:16px;background:#ffffffa3;border-color:#e2e8f0d1;line-height:1.55;resize:none}.gallery-shell .composer-control-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.gallery-shell .composer-control-left{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gallery-shell .composer-control-left .mode-tabs{width:150px;flex:none}.gallery-shell .composer-control-left .provider-tabs{width:180px}.gallery-shell .composer-control-left .size-selector-button{width:190px;flex:none}.gallery-shell .composer-control-left .banana-model-button{width:260px}.gallery-shell .composer-control-left .quality-list{width:184px;flex:none}.gallery-shell .composer-control-left .format-list{width:138px;flex:none}.gallery-shell .prompt-assistant-trigger{min-height:34px;border-radius:10px;padding:0 12px;white-space:nowrap;background:#fff;border-color:#dbeafe;color:var(--primary-2);font-size:12px;font-weight:800}.gallery-shell .composer-mini-field{width:70px;display:grid;gap:3px}.gallery-shell .composer-mini-field span{color:var(--muted);font-size:11px;font-weight:800;line-height:1}.gallery-shell .composer-mini-field input{height:34px;padding:6px 8px;text-align:center}.gallery-shell .composer-control-row .generate-submit{width:76px;min-height:42px;flex:none;border-radius:13px;padding:0 14px;background:#3b82f6}.gallery-shell .mode-tabs button.active,.gallery-shell .quality-btn.active,.gallery-shell .format-btn.active,.gallery-shell .resolution-btn.active,.gallery-shell .ratio-btn.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.gallery-shell .size-tabs button.active,.gallery-shell .size-choice-grid button.active{background:#fff!important;color:var(--primary-2)!important;border-color:#bfdbfe!important}.gallery-shell .composer-form .upload-section{width:100%;padding:0;border:0}.gallery-shell .composer-form .upload-section .section-title{display:none}.gallery-shell .composer-form .upload-dropzone{min-height:46px;padding:9px;border-radius:14px}.gallery-shell .composer-form .upload-list{margin-top:6px;max-height:90px;overflow:auto}@media(max-width:760px){.size-modal-mask{align-items:end}.size-modal{width:min(560px,100%);max-height:calc(100svh - 24px);border-radius:20px 20px 16px 16px}.banana-model-modal{width:min(560px,100%)}.banana-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-spec-modal{width:min(560px,100%)}.image-ratio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-shell .composer-control-row{display:grid;gap:10px}.gallery-shell .composer-control-left,.gallery-shell .composer-control-left .mode-tabs,.gallery-shell .composer-control-left .provider-tabs,.gallery-shell .composer-control-left .size-selector-button,.gallery-shell .composer-control-left .banana-model-button,.gallery-shell .composer-control-left .quality-list,.gallery-shell .composer-control-left .format-list,.gallery-shell .prompt-assistant-trigger{width:100%}.gallery-shell .composer-control-left .quality-list{grid-template-columns:repeat(4,1fr)}.gallery-shell .composer-mini-field{width:calc(50% - 4px)}.gallery-shell .composer-control-row .generate-submit{width:100%}}.task-detail-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#000000a8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.task-detail-dialog{width:min(1160px,100%);max-height:calc(100vh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--border-strong);border-radius:24px;background:var(--surface)}.task-detail-header{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.task-detail-header h2{margin:0}.task-detail-header span{color:var(--muted);font-size:13px}.detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.detail-close{width:40px;height:40px;padding:0;border-radius:999px;font-size:24px}.task-detail-content{min-height:0;overflow:auto}.task-detail-content .result-canvas{min-height:auto;border:0;border-radius:0;background:transparent}.prompt-assistant-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:18px;background:#0f172a52;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prompt-assistant{width:min(1080px,100%);max-height:min(760px,calc(100vh - 36px));display:flex;flex-direction:column;gap:12px;overflow:hidden;border:1px solid rgba(226,232,240,.95);border-radius:22px;background:#fffffffa;padding:16px}.prompt-assistant-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.prompt-assistant-header h2{margin:0;font-size:22px}.prompt-assistant-header p{margin:4px 0 0;color:var(--muted)}.prompt-tabs,.prompt-source-tabs{display:flex;flex-wrap:wrap;gap:8px}.prompt-tabs button,.prompt-source-tabs button{border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850}.prompt-tabs button.active,.prompt-source-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.prompt-assistant-body{min-height:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:14px;overflow:hidden}.prompt-tool-panel,.prompt-history-list,.prompt-library-panel,.prompt-result{min-height:0;overflow:auto;border:1px solid rgba(226,232,240,.9);border-radius:16px;background:#fff;padding:14px}.prompt-tool-panel,.prompt-library-panel{display:grid;align-content:start;gap:12px}.prompt-tool-panel label,.prompt-result label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:850}.prompt-tool-panel textarea,.prompt-result textarea{width:100%;resize:vertical;color:var(--text);font-weight:500}.prompt-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prompt-result{display:grid;align-content:start;gap:12px}.prompt-result.empty{place-content:center;text-align:center;color:var(--muted)}.prompt-result-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.prompt-result-title-main{min-width:0;display:grid;gap:2px}.prompt-result-title-main strong{overflow-wrap:anywhere}.prompt-result-title span{color:var(--muted);font-size:12px;font-weight:800}.prompt-result-title-actions{display:inline-flex;align-items:center;gap:6px;flex:none}.prompt-result-title-actions button{width:auto;min-height:30px;border-radius:999px;padding:0 10px;font-size:12px}.prompt-chips{display:flex;flex-wrap:wrap;gap:6px}.prompt-chips span{border:1px solid #dbeafe;border-radius:999px;padding:5px 8px;background:#eff6ff;color:var(--primary-2);font-size:12px;font-weight:800}.prompt-apply-model{display:grid;gap:10px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff;padding:12px}.prompt-apply-model .mode-tabs{grid-template-columns:1fr 1fr}.prompt-apply-model .provider-tabs button.active{background:#0f172a;color:#fff}.prompt-result-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.prompt-result-actions-top{position:sticky;top:0;z-index:3;justify-content:flex-start;margin:-4px -4px 2px;border:1px solid var(--border);border-radius:12px;background:#fffffff5;padding:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.prompt-result-actions-top button{width:auto}.prompt-history-list{display:grid;align-content:start;gap:8px}.prompt-history-heading{margin:4px 0 0;color:var(--muted);font-size:12px;font-weight:850}.prompt-history-item{display:grid;gap:6px;border:1px solid rgba(226,232,240,.9);border-radius:14px;padding:10px;cursor:pointer}.prompt-history-item:hover{border-color:#bfdbfe;background:#f8fbff}.prompt-history-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.prompt-history-item footer{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:11px}.prompt-library-page{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}.prompt-library-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.prompt-library-page-grid{min-height:0;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(360px,1.05fr);gap:14px}.prompt-library-browser,.prompt-library-preview{min-height:0;overflow:auto}.prompt-library-list-large .prompt-library-item{grid-template-columns:120px minmax(0,1fr)}.prompt-library-list-large .prompt-library-thumb,.prompt-library-list-large .prompt-library-thumb img{min-height:110px}.prompt-library-preview-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prompt-library-preview-images img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px;border:1px solid rgba(226,232,240,.9)}.prompt-library-preview .prompt-chips a{color:var(--primary);text-decoration:none}@media(max-width:980px){.prompt-library-page-grid{grid-template-columns:1fr}.prompt-library-page-header{display:grid}}.prompt-library-toolbar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) auto;gap:8px;align-items:end}.prompt-library-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:850}.prompt-library-toolbar input,.prompt-library-toolbar select{width:100%}.prompt-library-status{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px}.prompt-library-status strong{color:#b45309}.prompt-library-list{display:grid;gap:10px}.prompt-library-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;border:1px solid rgba(226,232,240,.9);border-radius:14px;padding:10px;cursor:pointer;background:#fff}.prompt-library-item:hover,.prompt-library-item.active{border-color:#93c5fd;background:#f8fbff}.prompt-library-thumb{overflow:hidden;display:grid;place-items:center;min-height:92px;border-radius:12px;background:#f1f5f9;color:var(--muted);font-size:12px;font-weight:850}.prompt-library-thumb img{width:100%;height:100%;min-height:92px;object-fit:cover}.prompt-library-copy{min-width:0;display:grid;gap:5px}.prompt-library-copy small{color:var(--muted);font-size:11px}.prompt-library-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.prompt-library-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.prompt-library-actions a{color:var(--primary);font-size:12px;font-weight:850;text-decoration:none}@media(max-width:720px){.prompt-library-toolbar,.prompt-library-item{grid-template-columns:1fr}}.prompt-empty{padding:24px;text-align:center;color:var(--muted)}.prompt-version-list{display:flex;flex-wrap:wrap;gap:6px}.prompt-version-list button{min-height:28px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:850}.prompt-version-list button.active{background:#0f172a;border-color:#0f172a;color:#fff}.prompt-version-note{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.prompt-refine-box{display:grid;gap:10px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px}.prompt-refine-box textarea{width:100%;resize:vertical}.prompt-quick-refines{display:flex;flex-wrap:wrap;gap:6px}.prompt-quick-refines button{min-height:28px;border-radius:999px;padding:0 9px;font-size:12px}.prompt-chat-log{color:var(--muted);font-size:12px}.prompt-chat-log p{margin:6px 0 0;line-height:1.5}.inspiration-panel{gap:12px}.prompt-idea-head{display:grid;gap:2px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;padding:8px 10px}.prompt-idea-head strong{color:var(--text);font-size:13px}.prompt-idea-head span{color:var(--muted);font-size:12px;line-height:1.45}.prompt-idea-grid{display:grid;gap:8px}.prompt-idea-item{display:grid;gap:7px;border:1px solid rgba(226,232,240,.95);border-radius:14px;padding:10px;background:#fff}.prompt-idea-item strong{font-size:14px}.prompt-idea-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.prompt-idea-item button{justify-self:start;min-height:30px;border-radius:999px;padding:0 10px;font-size:12px}@media(max-width:980px){.gallery-shell{padding-bottom:300px}.gallery-toolbar{grid-template-columns:52px minmax(130px,.4fr) minmax(0,1fr)}.gallery-shell .generation-form{grid-template-columns:1fr 1fr}.gallery-shell .generation-form .form-section:nth-child(2),.gallery-shell .generation-form .form-section:nth-child(3),.gallery-shell .generation-form .form-section:nth-child(1),.gallery-shell .generation-form .request-section,.gallery-shell .generation-form>.primary{grid-column:auto;grid-row:auto}.gallery-shell .generation-form .form-section:nth-child(2){grid-column:1 / -1}.gallery-shell .generation-form>.primary{grid-column:1 / -1}}@media(max-width:720px){.gallery-shell{padding:10px 10px 320px}.gallery-shell .topbar{align-items:flex-start;margin-bottom:18px}.gallery-toolbar{grid-template-columns:52px minmax(0,1fr)}.gallery-search{grid-column:1 / -1}.gallery-summary{display:grid;gap:4px}.task-gallery-grid{grid-template-columns:1fr}.gallery-card{grid-template-columns:42% minmax(0,1fr);min-height:148px}.gallery-cover{min-height:148px}.gallery-card-body{padding:10px}.gallery-card h3{font-size:14px;-webkit-line-clamp:3}.gallery-card-actions{flex-wrap:wrap}.composer-dock{bottom:8px;width:calc(100vw - 16px)}.gallery-shell .generation-panel{max-height:58vh;border-radius:16px}.gallery-shell .generation-form{grid-template-columns:1fr}.task-detail-mask{padding:10px}.task-detail-dialog{max-height:calc(100vh - 20px);border-radius:20px}.task-detail-header{display:grid}.detail-actions{justify-content:flex-start}.prompt-assistant-mask{padding:8px}.prompt-assistant{max-height:calc(100vh - 16px);border-radius:16px}.prompt-assistant-body{grid-template-columns:1fr;overflow:auto}.prompt-tool-grid{grid-template-columns:1fr}.prompt-result-actions{display:grid}}@media(max-width:520px){.banana-model-grid,.image-ratio-grid{grid-template-columns:1fr}.size-choice-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.banana-model-grid button,.image-ratio-card{min-height:70px}}.gallery-shell{min-height:100vh;padding:14px 16px 188px;background:#f7f8fb}.gallery-shell .topbar{min-height:56px;display:grid;grid-template-columns:minmax(220px,auto) minmax(260px,1fr) auto;align-items:center;gap:14px;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid var(--border)}.gallery-shell .brand-mark{width:36px;height:36px;border-radius:10px}.gallery-shell .brand h1{font-size:18px}.gallery-shell .brand p{font-size:12px}.top-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px}.top-status span{min-height:28px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:0 10px;background:#fff;color:var(--muted);font-size:12px;font-weight:850}.top-status span.ready{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.top-status span.missing{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.gallery-shell .top-actions{justify-content:flex-end;flex-wrap:wrap;gap:7px}.gallery-shell .top-actions button,.gallery-shell .top-actions .ghost-link{min-height:34px;border-radius:999px;padding:0 12px;font-size:12px;font-weight:850;background:#fff}.workbench-main{height:calc(100vh - 270px);min-height:520px;display:grid;grid-template-columns:352px minmax(0,1fr);gap:12px;align-items:stretch}.task-sidebar,.result-workspace{min-height:0}.task-sidebar{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff}.task-sidebar .gallery-area{height:100%;padding:12px;overflow:auto}.task-sidebar .gallery-toolbar{grid-template-columns:40px minmax(0,1fr);gap:8px}.task-sidebar .gallery-search{grid-column:1 / -1}.task-sidebar .gallery-summary{display:grid;gap:3px;font-size:12px}.task-sidebar .batch-bar{padding:8px;border-radius:12px}.task-sidebar .batch-bar button{min-height:30px;padding:5px 8px;font-size:11px}.compact-gallery .task-gallery-grid{grid-template-columns:1fr;gap:8px}.compact-gallery .gallery-card{min-height:124px;grid-template-columns:112px minmax(0,1fr);border-radius:12px}.compact-gallery .gallery-cover{min-height:124px}.compact-gallery .gallery-card-body{gap:5px;padding:9px}.compact-gallery .gallery-card h3{font-size:13px;line-height:1.38;-webkit-line-clamp:2}.compact-gallery .gallery-tags{gap:4px}.compact-gallery .gallery-tags span,.compact-gallery .cover-badges span{padding:3px 6px;font-size:10px}.compact-gallery .cover-badges span:nth-child(2){display:none}.compact-gallery .select-task{left:8px;right:auto;bottom:8px;padding:4px 7px;font-size:11px}.compact-gallery .gallery-card-meta{font-size:10px}.compact-gallery .gallery-card-actions button{min-height:26px;padding:4px 6px;font-size:10px}.result-workspace .result-canvas{height:100%;min-height:0;overflow:auto;border-radius:18px;background:#fff}.result-workspace .empty-state{min-height:calc(100% - 80px)}.result-workspace .canvas-header{position:sticky;top:0;z-index:3;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.result-workspace .result-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.gallery-shell .composer-dock{bottom:14px;width:min(1180px,calc(100vw - 32px))}.gallery-shell .generation-panel{max-height:min(46vh,420px);overflow:auto;padding:11px 12px;border-radius:18px;background:#fff;border-color:var(--border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.gallery-shell .composer-form{gap:8px}.gallery-shell .composer-prompt textarea{min-height:46px;max-height:118px;border-radius:12px;background:#fff}.gallery-shell .composer-control-row{align-items:center}.gallery-shell .composer-control-left{gap:7px}.gallery-shell .composer-control-left .mode-tabs{width:142px}.gallery-shell .composer-control-left .provider-tabs{width:168px}.gallery-shell .composer-control-left .size-selector-button{width:176px}.gallery-shell .composer-control-left .banana-model-button{width:248px}.gallery-shell .prompt-assistant-trigger,.gallery-shell .composer-mini-field input,.gallery-shell .composer-control-row .generate-submit{min-height:34px}.gallery-shell .composer-control-row .generate-submit{width:88px;background:#111827}.gallery-shell .ok,.gallery-shell .error{margin-top:6px}.upload-title-row{margin-bottom:6px}.reference-grid{max-height:132px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;overflow:auto}.reference-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:7px}.reference-thumb{width:54px;height:54px;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:#f8fafc;display:grid;place-items:center;color:var(--muted);font-size:11px;font-weight:900}.reference-thumb img{width:100%;height:100%;object-fit:cover;display:block}.reference-info{min-width:0;display:grid;gap:3px}.reference-info strong{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.reference-info small,.reference-role-row span{color:var(--muted);font-size:10px}.reference-role-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.reference-role-row span{margin-right:auto;font-weight:850}.reference-role-row button{min-height:24px;padding:3px 7px;border-radius:8px;font-size:10px}@media(max-width:1180px){.workbench-main{grid-template-columns:310px minmax(0,1fr)}.compact-gallery .gallery-card{grid-template-columns:96px minmax(0,1fr)}.gallery-shell .topbar{grid-template-columns:1fr auto}.top-status{grid-column:1 / -1;justify-content:flex-start;order:3}}@media(max-width:860px){.gallery-shell{padding:10px 10px 300px}.gallery-shell .topbar{display:grid;grid-template-columns:1fr;align-items:start}.gallery-shell .top-actions,.top-status{justify-content:flex-start}.workbench-main{height:auto;min-height:0;grid-template-columns:1fr}.task-sidebar{max-height:42vh}.result-workspace .result-canvas{min-height:58vh}.gallery-shell .composer-dock{bottom:8px;width:calc(100vw - 16px)}.gallery-shell .generation-panel{max-height:62vh;border-radius:16px}}@media(max-width:640px){.compact-gallery .gallery-card{grid-template-columns:92px minmax(0,1fr)}.gallery-shell .composer-control-row{display:grid;gap:8px}.gallery-shell .composer-control-left,.gallery-shell .composer-control-left .mode-tabs,.gallery-shell .composer-control-left .provider-tabs,.gallery-shell .composer-control-left .size-selector-button,.gallery-shell .composer-control-left .banana-model-button,.gallery-shell .composer-control-left .quality-list,.gallery-shell .composer-control-left .format-list,.gallery-shell .prompt-assistant-trigger{width:100%}.reference-grid{grid-template-columns:1fr}}.task-sidebar{border:0;background:transparent}.queue-sidebar{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:10px;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff;padding:12px}.queue-sidebar.has-selection{grid-template-rows:auto auto auto auto auto minmax(0,1fr)}.queue-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.queue-header h2{margin:0;font-size:17px}.queue-header>span{flex:none;border-radius:999px;background:#f8fafc;color:var(--muted);padding:6px 9px;font-size:11px;font-weight:850}.queue-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.queue-stat-grid div{border:1px solid var(--border);border-radius:12px;background:#fafafa;padding:8px 6px;display:grid;gap:1px;text-align:center}.queue-stat-grid strong{font-size:16px;line-height:1}.queue-stat-grid span{color:var(--muted);font-size:10px;font-weight:850}.queue-filter-row{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;padding:4px}.queue-filter-row button{min-height:28px;border:0;border-radius:9px;background:transparent;color:var(--muted);padding:4px 5px;font-size:11px;font-weight:900}.queue-filter-row button.active{background:#111827;color:#fff}.queue-search{position:relative;display:block}.queue-search span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted-2);font-weight:900}.queue-search input{height:36px;border-radius:12px;padding:8px 10px 8px 30px;font-size:12px}.queue-batch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;min-height:32px;padding:5px 7px;align-self:start}.queue-batch-bar strong{margin-right:auto;font-size:11px}.queue-batch-bar button{min-height:24px;border-radius:8px;padding:2px 7px;font-size:10px}.queue-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:8px;padding-right:2px}.queue-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:14px;background:#fafafa;padding:18px}.queue-empty strong{color:var(--text)}.queue-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:9px;border:1px solid var(--border);border-radius:14px;background:#fff;padding:8px;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.queue-item:hover,.queue-item.active{border-color:#93c5fd;background:#f8fbff}.queue-item.selected{border-color:#111827;background:#f8fafc}.queue-thumb{position:relative;width:76px;height:76px;overflow:hidden;border-radius:12px;background:#f8fafc;border:1px solid var(--border);display:grid;place-items:center;color:var(--muted);font-size:11px;font-weight:900;text-align:center}.queue-thumb img{width:100%;height:100%;display:block;object-fit:cover}.queue-check{position:absolute;left:5px;top:5px;width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:#ffffffe0}.queue-check input{width:13px;height:13px;display:block;margin:0;padding:0;accent-color:#2563eb}.mini-spinner{width:22px;height:22px;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:999px;animation:spin .9s linear infinite}.queue-item-main{min-width:0;display:grid;gap:5px}.queue-title-line{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px}.queue-title-line strong{min-width:0;color:var(--text);font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.queue-title-line .favorite-btn{width:24px;height:24px;border-radius:8px;padding:0;font-size:13px}.favorite-btn.active{color:#f59e0b;border-color:#fde68a;background:#fffbeb}.queue-tags,.queue-meta{display:flex;flex-wrap:wrap;gap:4px}.queue-tags span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:7px;background:#f1f5f9;color:var(--muted);padding:3px 6px;font-size:10px;font-weight:850}.queue-meta span{color:var(--muted-2);font-size:10px;font-weight:850}.queue-error{margin:0;color:#b91c1c;font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.queue-actions{display:flex;flex-wrap:wrap;gap:5px}.queue-actions button{min-height:24px;border-radius:8px;padding:3px 7px;font-size:10px}.request-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border)}.request-status-row div{display:grid;gap:1px}.request-status-row strong{font-size:14px}.request-status-row span{color:var(--muted);font-size:11px;font-weight:850}.request-status-row button{width:auto;min-height:30px;border-radius:999px;padding:0 10px;font-size:11px;font-weight:900}.request-status-row .key-ready{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.request-status-row .key-missing{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.gallery-shell .composer-primary-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:9px;align-items:stretch}.gallery-shell .composer-prompt{display:grid;gap:4px}.gallery-shell .composer-prompt>span{color:var(--muted);font-size:11px;font-weight:900}.gallery-shell .composer-primary-row .generate-submit{width:100%;min-height:100%;border-radius:12px;margin:0;align-self:stretch;background:#111827;font-size:14px}.gallery-shell .composer-control-row{align-items:flex-start;padding-top:2px}.gallery-shell .composer-control-row .generate-submit{display:none}.gallery-shell .composer-control-left{width:100%}.result-workspace .empty-state{background:linear-gradient(180deg,#fff,#f8fafc)}.result-workspace .empty-state:before{content:"↓";width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#111827;color:#fff;font-size:24px;font-weight:900}@media(max-width:860px){.queue-sidebar{max-height:42vh}.queue-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:640px){.queue-stat-grid{grid-template-columns:repeat(2,1fr)}.queue-filter-row{grid-template-columns:repeat(3,1fr)}.gallery-shell .composer-primary-row{grid-template-columns:1fr}.gallery-shell .composer-primary-row .generate-submit{min-height:42px}}.tabbed-workbench{min-height:100vh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;padding:14px 16px 18px;background:#f7f8fb}.tabbed-workbench .workbench-topbar{margin:0;padding:0 0 10px}.workflow-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;padding:6px;border:1px solid var(--border);border-radius:16px;background:#fff}.api-service-banner{max-width:1180px;width:100%;min-height:38px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #bfdbfe;border-radius:14px;background:linear-gradient(135deg,#eff6ff,#f8fbff);color:#1d4ed8;padding:8px 12px;font-size:13px;box-shadow:none}.api-service-banner strong{color:#0f172a}.api-service-banner span{color:#1d4ed8}.workbench-toast{position:fixed;left:50%;top:18px;z-index:1200;transform:translate(-50%);max-width:min(520px,calc(100vw - 32px));border:1px solid #bfdbfe;border-radius:999px;background:#0f172af0;color:#fff;padding:10px 16px;box-shadow:0 12px 30px #0f172a2e;font-size:13px;font-weight:850;text-align:center}.workflow-tabs button{min-height:46px;display:grid;place-items:center;gap:1px;border:0;border-radius:12px;background:transparent;color:var(--muted);padding:6px 10px}.workflow-tabs button strong{font-size:14px;line-height:1.1}.workflow-tabs button span{font-size:11px;font-weight:850;opacity:.74}.workflow-tabs button.active{background:#111827;color:#fff}.mobile-tabs{display:none}.workflow-content{min-height:0;overflow:hidden}.workflow-page{min-height:0;height:100%;overflow:auto;border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px}.workflow-page-header{display:grid;gap:3px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}.workflow-page-header h2{margin:0;font-size:20px;letter-spacing:-.02em}.workflow-page-header p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px;line-height:1.55}.generate-page{max-width:1120px;margin:0 auto;width:100%}.generate-page .generation-panel{position:static;max-height:none;overflow:visible;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.generate-page .request-status-row{border:1px solid var(--border);border-radius:14px;background:#f8fafc;padding:10px 12px;margin:0 0 12px}.generate-page .composer-form{display:grid;gap:12px}.generate-page .composer-primary-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:stretch;border:1px solid var(--border);border-radius:16px;background:#fff;padding:12px}.generate-page .composer-prompt textarea{min-height:124px;max-height:260px;resize:vertical;border-radius:12px;background:#fff}.generate-page .composer-primary-row .generate-submit{display:block;width:100%;min-height:100%;margin:0;border-radius:14px;background:#111827;font-size:16px}.generate-page .composer-control-row{display:block;padding:0}.generate-page .composer-control-row .generate-submit{display:none}.generate-page .composer-control-left{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;align-items:stretch}.generate-page .composer-control-left .mode-tabs,.generate-page .composer-control-left .provider-tabs,.generate-page .composer-control-left .size-selector-button,.generate-page .composer-control-left .banana-model-button,.generate-page .composer-control-left .quality-list,.generate-page .composer-control-left .format-list,.generate-page .prompt-assistant-trigger,.generate-page .composer-mini-field{width:100%}.generate-page .composer-mini-field{align-content:end}.generate-page .prompt-assistant-trigger{min-height:40px}.key-warning{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;border:1px solid #fed7aa;border-radius:14px;background:#fff7ed;padding:10px 12px;margin-bottom:12px}.key-warning strong{color:#9a3412;font-size:14px}.key-warning span{color:#9a3412;font-size:12px;line-height:1.45}.key-warning button{grid-column:2;grid-row:1 / 3;min-height:34px;border-radius:999px;padding:0 12px;color:#9a3412;border-color:#fed7aa;background:#fff}.result-page{padding:0;background:transparent;border:0}.result-page .result-canvas{min-height:100%;height:100%;overflow:auto;border-radius:18px;background:#fff}.queue-page{padding:0;background:transparent;border:0}.queue-page .queue-sidebar{height:100%}.queue-page .queue-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.assistant-page{padding:0;background:transparent;border:0}.prompt-assistant-inline{width:100%;height:100%;max-height:none;border-radius:18px;box-shadow:none}.prompt-assistant-inline .prompt-assistant-body{min-height:0;height:100%}.settings-page-inline{max-width:960px;margin:0 auto;width:100%}.settings-inline-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}.settings-inline-grid.settings-only-grid{grid-template-columns:minmax(0,1fr)}.settings-inline-grid .key-section{border:1px solid var(--border);border-radius:16px;padding:14px;background:#fff}.admin-entry-panel{display:grid;gap:10px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff;padding:14px}.admin-entry-panel strong{color:#1e3a8a}.admin-entry-panel span{color:var(--muted);font-size:12px;line-height:1.55}.admin-entry-panel .ghost-link{justify-content:center;background:#fff}.size-modal,.banana-model-modal,.prompt-assistant,.settings-window,.task-detail-dialog{max-height:calc(100svh - 32px)}.size-modal,.banana-model-modal{overflow:hidden}@media(max-width:980px){.tabbed-workbench{grid-template-rows:auto auto minmax(0,1fr) auto;padding:10px 10px 74px}.desktop-tabs{display:none}.mobile-tabs{position:fixed;left:10px;right:10px;bottom:10px;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:5px;border-radius:18px;box-shadow:0 8px 28px #0f172a24}.mobile-tabs button{min-height:44px;padding:5px 3px}.mobile-tabs button strong{font-size:12px}.mobile-tabs button span{font-size:9px}.workflow-content{overflow:visible}.workflow-page{height:auto;min-height:calc(100vh - 170px);overflow:visible}.tabbed-workbench .workbench-topbar{grid-template-columns:1fr;align-items:start}.top-status,.tabbed-workbench .top-actions{justify-content:flex-start}.generate-page .composer-control-left,.generate-page .composer-primary-row{grid-template-columns:1fr}.generate-page .composer-primary-row .generate-submit{min-height:46px}.queue-page .queue-list{grid-template-columns:1fr}.prompt-assistant-inline{height:auto}.prompt-assistant-inline .prompt-assistant-body{height:auto;grid-template-columns:1fr;overflow:visible}.settings-inline-grid{grid-template-columns:1fr}.api-service-banner{justify-content:flex-start;border-radius:12px}}@media(max-width:560px){.tabbed-workbench{padding-left:8px;padding-right:8px}.workflow-page{padding:10px;border-radius:14px}.result-page,.queue-page,.assistant-page{padding:0}.queue-stat-grid{grid-template-columns:repeat(2,1fr)}.queue-filter-row{grid-template-columns:repeat(3,1fr)}.reference-grid{grid-template-columns:1fr;max-height:none}.prompt-tabs button,.prompt-source-tabs button{flex:1;min-width:calc(50% - 4px)}}.tabbed-workbench{background:#f8fafc}.tabbed-workbench .workbench-topbar{min-height:48px;gap:10px;padding-bottom:8px;margin-bottom:0}.tabbed-workbench .brand-mark{width:32px;height:32px;border-radius:9px;font-size:13px}.tabbed-workbench .brand h1{font-size:17px}.tabbed-workbench .brand p{font-size:12px}.workflow-tabs{max-width:1180px;width:100%;margin:0 auto;gap:5px;padding:4px;border-radius:14px;box-shadow:none}.workflow-tabs button{position:relative;min-height:40px;border-radius:10px;padding:5px 8px}.workflow-tabs button strong{display:inline-flex;align-items:center;gap:5px;font-size:13px}.workflow-tabs button strong i{min-width:16px;height:16px;display:inline-grid;place-items:center;border-radius:999px;background:#e2e8f0;color:#475569;font-size:10px;font-style:normal;line-height:1;padding:0 4px}.workflow-tabs button.tone-danger:not(.active) strong i{background:#fee2e2;color:#b91c1c}.workflow-tabs button.tone-active:not(.active) strong i{background:#dbeafe;color:#1d4ed8}.workflow-tabs button.active strong i{background:#fff3;color:#fff}.workflow-tabs button.tone-danger:not(.active) span{color:#b91c1c}.workflow-tabs button.tone-active:not(.active) span{color:#1d4ed8}.generate-flow{display:block}.generate-flow-form{display:grid;gap:12px}.generate-step{display:grid;gap:10px;border:1px solid var(--border);border-radius:16px;background:#fff;padding:13px}.generate-step-title{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start}.generate-step-title>b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#111827;color:#fff;font-size:13px}.generate-step-title div{min-width:0;display:grid;gap:2px}.generate-step-title strong{color:var(--text);font-size:15px;letter-spacing:-.01em}.generate-step-title span{color:var(--muted);font-size:12px;line-height:1.45}.generate-page .composer-primary-row,.generate-page .composer-control-row,.generate-page .composer-control-left{display:contents}.generate-page .composer-prompt{display:grid;gap:6px}.generate-page .composer-prompt>span,.generate-page .composer-mini-field>span{color:#334155;font-size:12px;font-weight:900}.generate-page .composer-prompt textarea{min-height:136px;max-height:320px;resize:vertical;border-radius:14px}.prompt-helper-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.prompt-helper-row .prompt-assistant-trigger{width:auto;min-height:34px;border-radius:999px;padding:0 12px}.prompt-helper-row span{color:var(--muted);font-size:12px}.generate-control-grid{display:grid;gap:10px;align-items:stretch}.generate-control-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.generate-control-grid.spec-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.generate-control-grid .mode-tabs,.generate-control-grid .size-selector-button,.generate-control-grid .banana-model-button,.generate-control-grid .quality-list,.generate-control-grid .format-list{width:100%}.reference-step .upload-section{padding:0;border:0}.reference-step .upload-title-row{display:none}.execute-grid{display:grid;grid-template-columns:140px 140px minmax(220px,1fr) 148px;gap:10px;align-items:stretch}.submit-readiness{display:grid;align-content:center;gap:2px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;padding:8px 10px}.submit-readiness strong{font-size:13px}.submit-readiness span{color:var(--muted);font-size:12px}.submit-readiness.ready{border-color:#bbf7d0;background:#f0fdf4}.submit-readiness.ready strong{color:#166534}.submit-readiness.missing{border-color:#fed7aa;background:#fff7ed}.submit-readiness.missing strong,.submit-readiness.missing span{color:#9a3412}.generate-page .execute-step .generate-submit{display:block;min-height:48px;width:100%;margin:0;border-radius:13px;font-size:15px}.generate-page .ok,.generate-page .error{margin:0}@media(max-width:980px){.tabbed-workbench .workbench-topbar{gap:8px}.mobile-tabs{left:8px;right:8px;bottom:8px;padding:4px;border-radius:16px;box-shadow:0 6px 20px #0f172a1a}.mobile-tabs button{min-height:40px}.generate-control-grid.two,.generate-control-grid.spec-grid,.execute-grid{grid-template-columns:1fr}.prompt-helper-row .prompt-assistant-trigger{width:100%}}@media(max-width:560px){.generate-step{padding:11px;border-radius:14px}.generate-step-title{grid-template-columns:26px minmax(0,1fr)}.generate-step-title>b{width:26px;height:26px;border-radius:8px;font-size:12px}.workflow-tabs button strong i{min-width:14px;height:14px;font-size:9px}}.result-page .result-canvas{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;padding:14px}.result-page .canvas-header{position:sticky;top:0;z-index:4;align-items:center;border:1px solid var(--border);border-radius:16px;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px}.result-page .empty-state{min-height:min(520px,calc(100vh - 260px));border:1px dashed var(--border-strong);border-radius:18px;background:#fff;padding:28px;text-align:center}.empty-actions,.result-action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.empty-actions{justify-content:center;margin-top:4px}.empty-actions button,.result-action-row button{width:auto;min-height:34px;border-radius:999px;padding:0 13px;font-size:12px;font-weight:850}.result-action-row{border:1px solid var(--border);border-radius:14px;background:#f8fafc;padding:9px 10px}.result-page .result-context{border:1px solid var(--border);border-radius:16px;background:#fff;padding:12px;margin:0}.result-page .result-prompt{border:0;padding:0}.result-page .result-prompt summary{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:baseline;cursor:pointer;list-style:none}.result-page .result-prompt summary::-webkit-details-marker{display:none}.result-page .result-prompt summary span{color:var(--muted);font-size:12px;font-weight:900}.result-page .result-prompt summary strong{min-width:0;color:var(--text);font-size:13px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-page .result-prompt[open] summary strong{color:var(--muted)}.result-page .result-prompt p{margin-top:8px;border-radius:12px;background:#f8fafc;padding:10px;font-size:13px;max-height:180px;overflow:auto}.result-page .result-revised-prompts{display:grid;gap:8px}.result-page .result-revised-prompt{border-top:1px dashed var(--border);padding-top:8px}.result-page .result-revised-prompt summary span{color:#1d4ed8}.result-page .result-revised-prompt p{background:#eff6ff}.result-page .param-chips{margin-top:10px}.result-page .result-grid{align-content:start;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.result-page .result-grid.single-result{grid-template-columns:minmax(0,1fr)}.result-page .result-grid.single-result .result-card{width:100%;max-width:min(1120px,100%);margin:0 auto}.result-page .result-grid.single-result .result-image-frame{min-height:0;padding:10px;background:#f8fafc;overflow:visible}.result-page .result-grid.single-result .result-image-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:min(74vh,820px);object-fit:contain;margin:0 auto}.result-page .result-grid.single-result .card-toolbar{justify-content:center;padding:10px}.result-page .result-grid.single-result .card-toolbar button{flex:0 1 142px}.result-page .result-grid.single-result .card-meta{text-align:center}.result-page .result-grid.single-result .actual-chips{justify-content:center}.result-page .result-grid.few-results{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.result-page .result-grid.few-results .result-image-frame{height:clamp(320px,42vw,560px);background:#f8fafc}.result-page .result-grid.few-results .result-image-frame img{width:100%;height:100%;object-fit:contain}.result-page .result-grid.many-results{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.queue-status-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between}.queue-status-line .status-pill{min-height:22px;padding:3px 7px;font-size:10px}.queue-status-line small{color:var(--muted-2);font-size:10px;font-weight:850}.queue-item .queue-tags{order:3}.queue-empty{min-height:220px;display:grid;place-content:center;gap:6px;border:1px dashed var(--border-strong);border-radius:16px;background:#fff;text-align:center;padding:24px}.queue-empty span{color:var(--muted);font-size:13px}@media(max-width:640px){.result-page .canvas-header{position:static;align-items:flex-start}.result-page .result-prompt summary{grid-template-columns:1fr;gap:2px}.empty-actions button,.result-action-row button{flex:1}}.assistant-page .prompt-assistant-inline{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px;overflow:hidden}.assistant-page .prompt-assistant-header{align-items:center;border-bottom:1px solid var(--border);padding-bottom:10px}.assistant-page .prompt-assistant-header h2{font-size:20px}.assistant-page .prompt-assistant-header p{font-size:13px}.assistant-page .prompt-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.assistant-page .prompt-tabs button{min-height:36px;border-radius:11px;padding:6px 8px}.assistant-page .prompt-assistant-body{min-height:0;height:100%;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);gap:12px;overflow:hidden}.assistant-page .prompt-tool-panel,.assistant-page .prompt-history-list,.assistant-page .prompt-result{border-radius:15px;box-shadow:none;overflow:auto}.assistant-page .prompt-result{border-color:#dbeafe;background:#fbfdff}.assistant-page .prompt-result.empty{border-style:dashed;background:#fff}.assistant-page .prompt-result-actions{position:sticky;bottom:0;margin:0 -14px -14px;border-top:1px solid var(--border);background:#fffffff5;padding:10px 14px 14px}.settings-flow-panel{min-width:0}.settings-flow-form{display:grid;gap:12px}.settings-card{display:grid;gap:10px;border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px}.settings-card .muted{margin:0;font-size:13px}.status-line.ready{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.status-line.missing{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.settings-key-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.settings-key-actions .status-line{flex:1 1 220px}.settings-key-actions button{width:auto;min-height:38px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);padding:0 14px;font-weight:800}.cloud-key-check{margin-top:-2px}.two-factor-setup{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;border:1px dashed var(--border);border-radius:12px;background:var(--surface-soft);padding:12px}.two-factor-setup.compact{grid-template-columns:minmax(0,1fr) auto}.two-factor-qr,.two-factor-manual{display:grid;gap:10px}.two-factor-qr{justify-items:center;align-self:stretch;border-radius:12px;background:#fff;padding:12px}.two-factor-qr svg{display:block;width:min(168px,100%);height:auto}.two-factor-setup span,.two-factor-qr span{color:var(--muted);font-size:12px;font-weight:900}.two-factor-setup code{overflow-wrap:anywhere;border-radius:10px;background:#0f172a;color:#e0f2fe;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.two-factor-setup a{color:var(--primary-2);font-weight:800}@media(max-width:640px){.two-factor-setup,.two-factor-setup.compact{grid-template-columns:1fr}}.cloud-warning-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0f172a61}.cloud-warning-dialog{width:min(520px,100%);display:grid;gap:12px;border:1px solid #fed7aa;border-radius:16px;background:#fff7ed;padding:18px;box-shadow:0 20px 80px #0f172a3d}.cloud-warning-dialog h3{margin:0;color:#9a3412}.cloud-warning-dialog p{margin:0;color:#7c2d12;line-height:1.6}.cloud-warning-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.settings-submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid var(--border);border-radius:16px;background:#f8fafc;padding:12px}.settings-submit-row button{width:auto;min-height:38px;border-radius:999px;padding:0 18px}.settings-submit-row .ok{margin:0}.settings-page-inline .admin-entry-panel{position:sticky;top:0}@media(max-width:980px){.assistant-page .prompt-assistant-inline{height:auto;overflow:visible}.assistant-page .prompt-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-page .prompt-assistant-body{height:auto;grid-template-columns:1fr;overflow:visible}.assistant-page .prompt-result-actions{position:static;margin:0;border:0;padding:0}.settings-page-inline .admin-entry-panel{position:static}}@media(max-width:560px){.assistant-page .prompt-tabs{grid-template-columns:1fr}.settings-submit-row button,.prompt-result-actions button{width:100%}}.tabbed-workbench .workflow-tabs{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.generate-page{max-width:1480px}.generate-combined-layout{min-height:0;display:grid;grid-template-columns:minmax(500px,.88fr) minmax(520px,1.12fr);gap:14px;align-items:start}.generate-main-column,.generate-assistant-panel{min-width:0}.generate-assistant-panel{position:sticky;top:0;max-height:calc(100vh - 150px);overflow:hidden}.generate-assistant-panel .prompt-assistant-inline{width:100%;height:100%;max-height:none;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px;box-shadow:none;overflow:hidden}.generate-assistant-panel .prompt-assistant-header{align-items:center;border-bottom:1px solid var(--border);padding-bottom:10px}.generate-assistant-panel .prompt-assistant-header h2{font-size:20px}.generate-assistant-panel .prompt-assistant-header p{font-size:13px}.generate-assistant-panel .prompt-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.generate-assistant-panel .prompt-tabs button{min-height:36px;border-radius:11px;padding:6px 8px}.generate-assistant-panel .prompt-assistant-body{min-height:0;height:100%;grid-template-columns:minmax(240px,.82fr) minmax(300px,1.18fr);gap:10px;overflow:hidden}.generate-assistant-panel .prompt-tool-panel,.generate-assistant-panel .prompt-history-list,.generate-assistant-panel .prompt-result{border-radius:15px;box-shadow:none;overflow:auto}.generate-assistant-panel .prompt-result{border-color:#dbeafe;background:#fbfdff}.generate-assistant-panel .prompt-result.empty{border-style:dashed;background:#fff}.generate-assistant-panel .prompt-result-actions{position:sticky;bottom:0;margin:0 -14px -14px;border-top:1px solid var(--border);background:#fffffff5;padding:10px 14px 14px}@media(max-width:1220px){.generate-combined-layout{grid-template-columns:1fr}.generate-assistant-panel{position:static;max-height:none;overflow:visible}.generate-assistant-panel .prompt-assistant-inline,.generate-assistant-panel .prompt-assistant-body{height:auto;overflow:visible}}@media(max-width:980px){.mobile-tabs{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.generate-assistant-panel .prompt-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.generate-assistant-panel .prompt-assistant-body{grid-template-columns:1fr}.generate-assistant-panel .prompt-result-actions{position:static;margin:0;border:0;padding:0}}@media(max-width:560px){.generate-assistant-panel .prompt-tabs{grid-template-columns:1fr}.generate-assistant-panel .prompt-result-actions button{width:100%}}.generate-page{max-width:1280px}.generate-combined-layout{grid-template-columns:1fr;gap:16px}.generate-main-column{width:100%}.generate-page .generate-flow-form{grid-template-columns:1fr}.generate-page .generate-step{width:100%}.generate-page .model-step .generate-control-grid.two,.generate-page .spec-step .generate-control-grid.spec-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.generate-page .execute-grid{grid-template-columns:150px 150px minmax(260px,1fr) 160px}.generate-assistant-panel{position:static;max-height:none;overflow:visible}.generate-assistant-panel .prompt-assistant-inline{height:auto;overflow:visible}.generate-assistant-panel .prompt-assistant-body{height:auto;min-height:430px;overflow:visible;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr)}.generate-assistant-panel .prompt-assistant-body.is-inspiration{align-items:start;grid-template-columns:minmax(430px,1.05fr) minmax(330px,.95fr)}.generate-assistant-panel .prompt-tool-panel,.generate-assistant-panel .prompt-history-list,.generate-assistant-panel .prompt-result{max-height:560px}.generate-assistant-panel .prompt-assistant-body.is-inspiration .inspiration-panel{max-height:none;overflow:visible}.generate-assistant-panel .prompt-assistant-body.is-inspiration .prompt-idea-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.generate-assistant-panel .prompt-assistant-body.is-inspiration .prompt-idea-item{align-content:start}.generate-assistant-panel .prompt-assistant-body.is-inspiration .prompt-idea-item p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.generate-assistant-panel .prompt-result-actions{position:static;margin:0;border-top:0;padding:0}.generate-assistant-panel .prompt-result-actions-top{position:sticky;top:0;margin:-6px -6px 4px;border:1px solid var(--border);padding:8px}@media(min-width:1880px){.generate-page{max-width:1680px}.generate-combined-layout{grid-template-columns:minmax(760px,.9fr) minmax(680px,1.1fr);align-items:start}.generate-assistant-panel{position:sticky;top:0;max-height:calc(100vh - 150px);overflow:hidden}.generate-assistant-panel .prompt-assistant-inline{height:100%;overflow:hidden}.generate-assistant-panel .prompt-assistant-body{height:100%;min-height:0;overflow:hidden;grid-template-columns:minmax(260px,.82fr) minmax(340px,1.18fr)}.generate-assistant-panel .prompt-assistant-body.is-inspiration{height:100%;overflow:hidden;grid-template-columns:minmax(430px,1.05fr) minmax(330px,.95fr)}.generate-assistant-panel .prompt-tool-panel,.generate-assistant-panel .prompt-history-list,.generate-assistant-panel .prompt-result{max-height:none}.generate-assistant-panel .prompt-assistant-body.is-inspiration .inspiration-panel{max-height:none;overflow:auto}.generate-assistant-panel .prompt-result-actions{position:sticky;bottom:0;margin:0 -14px -14px;border-top:1px solid var(--border);padding:10px 14px 14px}.generate-assistant-panel .prompt-result-actions-top{top:0;bottom:auto;margin:-6px -6px 4px;border:1px solid var(--border);padding:8px}}@media(max-width:980px){.generate-page .execute-grid{grid-template-columns:1fr}.generate-assistant-panel .prompt-assistant-body{min-height:0;grid-template-columns:1fr}.generate-assistant-panel .prompt-assistant-body.is-inspiration{grid-template-columns:1fr}.generate-assistant-panel .prompt-tool-panel,.generate-assistant-panel .prompt-history-list,.generate-assistant-panel .prompt-result{max-height:none}}.theme-toggle{width:auto;min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;padding:0 12px;font-size:12px;font-weight:900}.theme-toggle span{font-size:14px;line-height:1}.center-theme-action{position:fixed;top:16px;right:16px;z-index:20;display:flex;gap:8px;align-items:center}:root[data-theme=dark]{color-scheme:dark;--bg: #080d18;--surface: #101827;--surface-soft: #0b1220;--border: #243247;--border-strong: #334155;--text: #e5edf8;--muted: #9aa8bd;--muted-2: #708096;--primary: #2563eb;--primary-2: #60a5fa;--success: #22c55e;--error: #f87171;background:var(--bg);color:var(--text)}:root[data-theme=dark] body,:root[data-theme=dark] .tabbed-workbench,:root[data-theme=dark] .center-shell{background:radial-gradient(circle at top left,#111c31 0,#080d18 42%,#060913);color:var(--text)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:#0b1220;border-color:#2a3a52;color:var(--text)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#64748b}:root[data-theme=dark] .workflow-tabs,:root[data-theme=dark] .workflow-page,:root[data-theme=dark] .generate-step,:root[data-theme=dark] .result-page .result-canvas,:root[data-theme=dark] .result-page .canvas-header,:root[data-theme=dark] .result-page .result-context,:root[data-theme=dark] .debug-log-panel,:root[data-theme=dark] .debug-log-item,:root[data-theme=dark] .result-page .empty-state,:root[data-theme=dark] .queue-sidebar,:root[data-theme=dark] .queue-item,:root[data-theme=dark] .queue-empty,:root[data-theme=dark] .generate-assistant-panel .prompt-assistant-inline,:root[data-theme=dark] .prompt-tool-panel,:root[data-theme=dark] .prompt-history-list,:root[data-theme=dark] .prompt-result,:root[data-theme=dark] .settings-card,:root[data-theme=dark] .settings-inline-grid .key-section,:root[data-theme=dark] .admin-entry-panel,:root[data-theme=dark] .login-panel,:root[data-theme=dark] .admin-panel,:root[data-theme=dark] .size-modal,:root[data-theme=dark] .banana-model-modal,:root[data-theme=dark] .task-detail-dialog,:root[data-theme=dark] .result-card,:root[data-theme=dark] .reference-card,:root[data-theme=dark] .upload-dropzone,:root[data-theme=dark] .status-line,:root[data-theme=dark] .submit-readiness,:root[data-theme=dark] .two-factor-setup,:root[data-theme=dark] .cloud-warning-dialog,:root[data-theme=dark] .result-action-row,:root[data-theme=dark] .prompt-result-actions-top,:root[data-theme=dark] .prompt-idea-head,:root[data-theme=dark] .settings-submit-row{background:#101827f5!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:none!important}:root[data-theme=dark] .workflow-tabs button:not(.active),:root[data-theme=dark] button:not(.primary):not(.active),:root[data-theme=dark] .ghost-link{background:#0b1220;border-color:#2a3a52;color:#bfdbfe}:root[data-theme=dark] .workflow-tabs button.active,:root[data-theme=dark] .mode-tabs button.active,:root[data-theme=dark] .provider-tabs button.active,:root[data-theme=dark] .quality-btn.active,:root[data-theme=dark] .format-btn.active,:root[data-theme=dark] .resolution-btn.active,:root[data-theme=dark] .ratio-btn.active{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}:root[data-theme=dark] .brand-mark,:root[data-theme=dark] .generate-step-title>b{background:#2563eb;color:#fff}:root[data-theme=dark] .eyebrow,:root[data-theme=dark] a,:root[data-theme=dark] .upload-dropzone span{color:#93c5fd}:root[data-theme=dark] .muted,:root[data-theme=dark] .top-status span,:root[data-theme=dark] .section-title small,:root[data-theme=dark] .field small,:root[data-theme=dark] .generate-step-title span,:root[data-theme=dark] .prompt-helper-row span,:root[data-theme=dark] .canvas-header p,:root[data-theme=dark] .queue-meta span,:root[data-theme=dark] .queue-status-line small{color:var(--muted)!important}:root[data-theme=dark] .section-title span,:root[data-theme=dark] .field>span,:root[data-theme=dark] .generate-step-title strong,:root[data-theme=dark] .result-prompt summary strong,:root[data-theme=dark] .queue-title-line strong,:root[data-theme=dark] .empty-state strong,:root[data-theme=dark] .prompt-result-title strong{color:var(--text)!important}:root[data-theme=dark] .top-status span.ready,:root[data-theme=dark] .request-status-row .key-ready,:root[data-theme=dark] .status-line.ready,:root[data-theme=dark] .submit-readiness.ready,:root[data-theme=dark] .ok{background:#16653438!important;border-color:#22c55e73!important;color:#86efac!important}:root[data-theme=dark] .top-status span.missing,:root[data-theme=dark] .request-status-row .key-missing,:root[data-theme=dark] .status-line.missing,:root[data-theme=dark] .submit-readiness.missing,:root[data-theme=dark] .key-warning,:root[data-theme=dark] .error{background:#7f1d1d3d!important;border-color:#f8717173!important;color:#fecaca!important}:root[data-theme=dark] .param-chips span,:root[data-theme=dark] .actual-chips span,:root[data-theme=dark] .queue-tags span,:root[data-theme=dark] .prompt-chips span,:root[data-theme=dark] .status-pill{background:#172554!important;border-color:#1d4ed8!important;color:#bfdbfe!important}:root[data-theme=dark] .result-card img,:root[data-theme=dark] .result-image-frame,:root[data-theme=dark] .reference-thumb,:root[data-theme=dark] .queue-thumb,:root[data-theme=dark] .size-preview,:root[data-theme=dark] .result-page .result-prompt p,:root[data-theme=dark] .identity-help{background:#0b1220!important;border-color:var(--border)!important;color:var(--text)!important}:root[data-theme=dark] .size-modal-mask,:root[data-theme=dark] .prompt-assistant-mask,:root[data-theme=dark] .task-detail-mask{background:#020617b8!important}:root[data-theme=dark] .queue-header h2,:root[data-theme=dark] .queue-stat-grid strong,:root[data-theme=dark] .queue-title-line strong{color:#f8fafc!important}:root[data-theme=dark] .queue-header>span,:root[data-theme=dark] .queue-stat-grid div,:root[data-theme=dark] .queue-filter-row,:root[data-theme=dark] .queue-search input{background:#0b1220!important;border-color:#334155!important;color:#e5edf8!important}:root[data-theme=dark] .queue-stat-grid span,:root[data-theme=dark] .queue-search span,:root[data-theme=dark] .queue-search input::placeholder{color:#9aa8bd!important}:root[data-theme=dark] .queue-filter-row button{color:#c7d2fe!important}:root[data-theme=dark] .queue-filter-row button.active{background:#2563eb!important;color:#fff!important}:root[data-theme=dark] .queue-item:hover,:root[data-theme=dark] .queue-item.active{background:#111f35!important;border-color:#60a5fa!important}:root[data-theme=dark] .queue-item.selected{background:#13213a!important;border-color:#93c5fd!important}:root[data-theme=dark] .queue-error{color:#fca5a5!important}:root[data-theme=dark] .favorite-btn.active{background:#92400e4d!important;border-color:#f59e0b!important;color:#fbbf24!important}@media(max-width:980px){.tabbed-workbench{min-height:100dvh;display:block;padding:10px 8px calc(92px + env(safe-area-inset-bottom));overflow-x:hidden}.tabbed-workbench .workbench-topbar,.workflow-content,.workflow-page{min-height:0;height:auto;overflow:visible}.tabbed-workbench .workbench-topbar{display:grid;grid-template-columns:1fr;gap:8px;padding-bottom:8px}.top-status,.tabbed-workbench .top-actions{min-width:0;flex-wrap:wrap}.workflow-content{display:block}.workflow-page{width:100%;padding:10px}.result-page,.queue-page{padding:0}.result-page .result-canvas{min-height:0;height:auto;overflow:visible}.queue-page .queue-sidebar,.queue-sidebar{height:auto;max-height:none;min-height:0;grid-template-rows:auto auto auto auto auto;overflow:visible}.queue-sidebar.has-selection{grid-template-rows:auto auto auto auto auto auto}.queue-page .queue-list,.queue-list{height:auto;max-height:none;overflow:visible;padding-right:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.mobile-tabs{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;max-width:none;margin:0;grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}}@media(max-width:560px){.tabbed-workbench{padding-left:6px;padding-right:6px}.workflow-page{border-radius:14px}.queue-sidebar{padding:10px;border-radius:14px}.queue-item{grid-template-columns:70px minmax(0,1fr);gap:8px;padding:7px}.queue-thumb{width:70px;height:70px;border-radius:10px}.queue-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.queue-actions button{width:100%}.mobile-tabs{gap:3px;padding:4px}.mobile-tabs button{min-height:38px;padding:4px 2px}.mobile-tabs button strong{font-size:11px}.mobile-tabs button span{display:none}}@media(min-width:1880px){.generate-assistant-panel{height:calc(100vh - 150px)}.generate-assistant-panel .prompt-assistant-inline,.generate-assistant-panel .prompt-assistant-body{min-height:0}.generate-assistant-panel .prompt-assistant-body.is-inspiration{align-items:stretch}.generate-assistant-panel .prompt-assistant-body.is-inspiration .inspiration-panel,.generate-assistant-panel .prompt-assistant-body.is-inspiration .prompt-result{min-height:0;height:100%;overflow-y:auto;scrollbar-gutter:stable}.generate-assistant-panel .prompt-assistant-body.is-inspiration .inspiration-panel{padding-bottom:18px}.generate-assistant-panel .prompt-assistant-body.is-inspiration .prompt-idea-grid{padding-bottom:8px}}@media(max-width:560px){.workbench-toast{top:auto;bottom:calc(74px + env(safe-area-inset-bottom));border-radius:14px}.result-page .result-grid.single-result .result-image-frame{min-height:0;padding:6px}.result-page .result-grid.single-result .result-image-frame img{max-height:min(68vh,520px)}.result-page .result-grid.few-results .result-image-frame{height:min(62vh,440px);min-height:240px}.result-page .result-grid.single-result .card-toolbar button{flex:1 1 calc(50% - 8px)}}:root[data-theme=dark] .api-service-banner{background:#1e40af33;border-color:#60a5fa73;color:#bfdbfe}:root[data-theme=dark] .api-service-banner strong,:root[data-theme=dark] .api-service-banner span{color:#bfdbfe}:root[data-theme=dark] .workbench-toast{background:#eff6ff;color:#0f172a;border-color:#bfdbfe}:root[data-theme=dark] .image-ratio-card{background:#0b1220;border-color:#2a3a52;color:var(--text)}:root[data-theme=dark] .image-ratio-card.active{background:#2563eb;border-color:#2563eb;color:#fff}:root[data-theme=dark] .result-page .result-revised-prompt p{background:#0b1220!important}:root[data-theme=light]{--bg: #f7f8fa;--surface: #ffffff;--surface-soft: #f9fafb;--border: #e5e7eb;--border-strong: #d1d5db;--text: #111827;--muted: #6b7280;--muted-2: #9ca3af;--primary: #4f46e5;--primary-2: #4f46e5;--primary-hover: #4338ca;--indigo-soft: #eef2ff;--indigo-border: #c7d2fe;--indigo-text: #3730a3}:root[data-theme=light] body,:root[data-theme=light] .app-shell,:root[data-theme=light] .gallery-shell,:root[data-theme=light] .tabbed-workbench,:root[data-theme=light] .center-shell{background:#f7f8fa!important;color:var(--text)}:root[data-theme=light] .workflow-page,:root[data-theme=light] .workflow-tabs,:root[data-theme=light] .generate-step,:root[data-theme=light] .generation-panel,:root[data-theme=light] .result-canvas,:root[data-theme=light] .result-page .result-canvas,:root[data-theme=light] .result-page .canvas-header,:root[data-theme=light] .result-page .result-context,:root[data-theme=light] .debug-log-panel,:root[data-theme=light] .queue-sidebar,:root[data-theme=light] .queue-item,:root[data-theme=light] .settings-card,:root[data-theme=light] .login-panel,:root[data-theme=light] .admin-panel,:root[data-theme=light] .size-modal,:root[data-theme=light] .banana-model-modal,:root[data-theme=light] .result-card,:root[data-theme=light] .reference-card,:root[data-theme=light] .upload-dropzone,:root[data-theme=light] .prompt-assistant,:root[data-theme=light] .prompt-assistant-inline,:root[data-theme=light] .generate-assistant-panel .prompt-assistant-inline,:root[data-theme=light] .prompt-tool-panel,:root[data-theme=light] .prompt-history-list,:root[data-theme=light] .prompt-result,:root[data-theme=light] .prompt-apply-model,:root[data-theme=light] .submit-readiness,:root[data-theme=light] .result-action-row,:root[data-theme=light] .settings-submit-row{background:#fff!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:none!important}:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea,:root[data-theme=light] .size-selector-button,:root[data-theme=light] .queue-search input,:root[data-theme=light] .composer-prompt textarea{background:#fff!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:none}:root[data-theme=light] input:focus,:root[data-theme=light] select:focus,:root[data-theme=light] textarea:focus{border-color:var(--indigo-border)!important;box-shadow:0 0 0 3px #4f46e51a!important}:root[data-theme=light] .brand-mark{background:#4f46e5!important;color:#fff!important}:root[data-theme=light] .api-service-banner{background:#eef2ff!important;border-color:#c7d2fe!important;color:#3730a3!important;box-shadow:none!important}:root[data-theme=light] .api-service-banner strong,:root[data-theme=light] .api-service-banner span{color:#3730a3!important}:root[data-theme=light] .primary,:root[data-theme=light] button.primary,:root[data-theme=light] .generate-submit,:root[data-theme=light] .generate-page .execute-step .generate-submit,:root[data-theme=light] .gallery-shell .composer-control-row .generate-submit,:root[data-theme=light] .gallery-shell .composer-primary-row .generate-submit,:root[data-theme=light] .prompt-tool-panel button.primary,:root[data-theme=light] .prompt-result-actions button.primary,:root[data-theme=light] .prompt-result-actions-top button.primary{background:#4f46e5!important;border:1px solid #4f46e5!important;color:#fff!important;box-shadow:none!important;background-image:none!important}:root[data-theme=light] .primary:hover,:root[data-theme=light] button.primary:hover,:root[data-theme=light] .generate-submit:hover,:root[data-theme=light] .generate-page .execute-step .generate-submit:hover{background:#4338ca!important;border-color:#4338ca!important}:root[data-theme=light] button:not(.primary):not(.active),:root[data-theme=light] .ghost-link,:root[data-theme=light] .theme-toggle,:root[data-theme=light] .card-toolbar button,:root[data-theme=light] .prompt-result-title-actions button,:root[data-theme=light] .prompt-result-actions button:not(.primary),:root[data-theme=light] .prompt-result-actions-top button:not(.primary){background:#fff!important;border:1px solid var(--border)!important;color:#374151!important;box-shadow:none!important}:root[data-theme=light] button:not(.primary):not(.active):hover,:root[data-theme=light] .ghost-link:hover,:root[data-theme=light] .theme-toggle:hover,:root[data-theme=light] .card-toolbar button:hover{background:#f9fafb!important;border-color:#d1d5db!important;color:#111827!important}:root[data-theme=light] .workflow-tabs button.active,:root[data-theme=light] .mode-tabs button.active,:root[data-theme=light] .provider-tabs button.active,:root[data-theme=light] .quality-btn.active,:root[data-theme=light] .format-btn.active,:root[data-theme=light] .resolution-btn.active,:root[data-theme=light] .ratio-btn.active,:root[data-theme=light] .prompt-tabs button.active,:root[data-theme=light] .prompt-source-tabs button.active,:root[data-theme=light] .prompt-apply-model .provider-tabs button.active,:root[data-theme=light] .prompt-version-list button.active,:root[data-theme=light] .queue-filter-row button.active,:root[data-theme=light] .size-tabs button.active,:root[data-theme=light] .size-choice-grid button.active,:root[data-theme=light] .banana-model-grid button.active,:root[data-theme=light] .image-ratio-card.active,:root[data-theme=light] .gallery-shell .mode-tabs button.active,:root[data-theme=light] .gallery-shell .quality-btn.active,:root[data-theme=light] .gallery-shell .format-btn.active,:root[data-theme=light] .gallery-shell .resolution-btn.active,:root[data-theme=light] .gallery-shell .ratio-btn.active,:root[data-theme=light] .gallery-shell .size-tabs button.active,:root[data-theme=light] .gallery-shell .size-choice-grid button.active{background:#eef2ff!important;border-color:#c7d2fe!important;color:#3730a3!important;box-shadow:none!important}:root[data-theme=light] .workflow-tabs button.active strong,:root[data-theme=light] .workflow-tabs button.active span,:root[data-theme=light] .mode-tabs button.active,:root[data-theme=light] .provider-tabs button.active,:root[data-theme=light] .banana-model-grid button.active,:root[data-theme=light] .image-ratio-card.active{color:#3730a3!important}:root[data-theme=light] .workflow-tabs button.active strong i{background:#c7d2fe!important;color:#3730a3!important}:root[data-theme=light] .generate-step-title>b{background:#eef2ff!important;border:1px solid #c7d2fe!important;color:#4f46e5!important}:root[data-theme=light] .prompt-result,:root[data-theme=light] .generate-assistant-panel .prompt-result,:root[data-theme=light] .prompt-result.empty,:root[data-theme=light] .generate-assistant-panel .prompt-result.empty{background:#f9fafb!important;border:1px solid #e5e7eb!important;border-style:solid!important}:root[data-theme=light] .prompt-chips span,:root[data-theme=light] .param-chips span,:root[data-theme=light] .actual-chips span,:root[data-theme=light] .queue-tags span{background:#f9fafb!important;border-color:#e5e7eb!important;color:#4b5563!important}:root[data-theme=light] .submit-readiness.ready,:root[data-theme=light] .status-line.ready,:root[data-theme=light] .request-status-row .key-ready,:root[data-theme=light] .ok{background:#f0fdf4!important;border-color:#bbf7d0!important;color:#166534!important}:root[data-theme=light] .submit-readiness.missing,:root[data-theme=light] .status-line.missing,:root[data-theme=light] .request-status-row .key-missing,:root[data-theme=light] .key-warning,:root[data-theme=light] .error{background:#fff7ed!important;border-color:#fed7aa!important;color:#9a3412!important}:root[data-theme=light] .result-image-frame,:root[data-theme=light] .result-page .result-prompt p,:root[data-theme=light] .result-page .result-revised-prompt p,:root[data-theme=light] .queue-stat-grid div,:root[data-theme=light] .queue-filter-row,:root[data-theme=light] .queue-header>span,:root[data-theme=light] .result-workspace .empty-state{background:#f9fafb!important;border-color:#e5e7eb!important}:root[data-theme=light] .timeline-item.active,:root[data-theme=light] .queue-item.active,:root[data-theme=light] .queue-item.selected,:root[data-theme=light] .gallery-card.active{background:#eef2ff!important;border-color:#c7d2fe!important}:root[data-theme=light] .favorite-btn.active{background:#fef3c7!important;border-color:#fde68a!important;color:#92400e!important}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell,:root[data-theme=dark] .gallery-shell,:root[data-theme=dark] .tabbed-workbench,:root[data-theme=dark] .workflow-page,:root[data-theme=dark] .result-canvas{color:#e5edf8!important}:root[data-theme=dark] .brand h1,:root[data-theme=dark] .workflow-page-header h2,:root[data-theme=dark] .canvas-header h2,:root[data-theme=dark] .result-page .result-prompt summary strong,:root[data-theme=dark] .result-page .result-context strong,:root[data-theme=dark] .result-page .card-meta,:root[data-theme=dark] .result-card footer{color:#f8fafc!important}:root[data-theme=dark] .brand p,:root[data-theme=dark] .workflow-page-header p,:root[data-theme=dark] .canvas-header p,:root[data-theme=dark] .result-page .result-prompt summary span,:root[data-theme=dark] .result-page .result-prompt[open] summary strong{color:#aebdd2!important}:root[data-theme=dark] .result-page .result-prompt p,:root[data-theme=dark] .result-page .result-revised-prompt p,:root[data-theme=dark] .debug-log-item p,:root[data-theme=dark] .debug-log-item pre{background:#0b1220!important;border-color:#243247!important;color:#dbeafe!important}:root[data-theme=dark] .result-page .result-revised-prompt summary span,:root[data-theme=dark] .result-page .result-revised-prompts summary span{color:#93c5fd!important}:root[data-theme=dark] .result-page .param-chips span,:root[data-theme=dark] .result-page .actual-chips span{background:#172554!important;border-color:#2563eb!important;color:#dbeafe!important}:root[data-theme=dark] .top-status span.ready,:root[data-theme=dark] .status-pill.succeeded{background:#16653447!important;border-color:#22c55e8c!important;color:#bbf7d0!important}
