:root{--ink:#181612;--paper:#fffdfa;--surface:#efefea;--panel:#f7f7f3;--line:#d8d6cd;--line-on-dark:#ffffff24;--muted:#716f68;--muted-strong:#a8a49a;--muted-on-dark:#b9b4a9;--accent:#f2583e;--accent-dark:#b93624;--success:#48d597;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--ink);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:500;line-height:1.5}*{box-sizing:border-box}html{background:var(--surface)}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed}::selection{color:var(--paper);background:var(--accent)}.app-shell{background:var(--surface);height:100svh;min-height:100svh;color:var(--ink);grid-template-columns:300px minmax(0,1fr) 360px;display:grid;overflow:hidden}.control-rail,.workspace,.inspector{min-width:0;animation:.48s both rise-in}.control-rail{height:100svh;color:var(--paper);background:#12110e;flex-direction:column;gap:30px;padding:26px 24px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-mark{width:40px;height:40px;color:var(--accent);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.brand-lockup p,.overline{letter-spacing:0;text-transform:uppercase;color:#ffffff9e;margin:0;font-size:12px;font-weight:760;line-height:1}.brand-lockup h1{letter-spacing:0;margin:5px 0 0;font-size:25px;font-weight:780;line-height:1}.rail-section,.inspector-section,.prompt-panel{border-top:1px solid #ffffff1a;padding-top:24px}.section-title,.prompt-head,.control-label,.history-head,.run-status,.viewer-actions,.rail-actions{align-items:center;display:flex}.section-title{gap:9px;margin-bottom:18px;font-size:14px;font-weight:760}.field-label{color:#ffffffb3;margin-bottom:7px;font-size:13px;display:block}.key-control input,.model-static-control,.model-select-control select,.prompt-panel textarea{width:100%;color:var(--ink);background:var(--paper);border:1px solid #ffffff1f;border-radius:8px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.key-control input{height:48px;color:var(--paper);background:#ffffff0f;border-color:#ffffff1f;padding:0 13px}.model-select-control select{height:44px;color:var(--paper);background:#ffffff12;border-color:#ffffff24;padding:0 12px}.model-static-control{min-height:48px;color:var(--paper);background:#ffffff0f;border-color:#ffffff1f;align-items:center;padding:0 13px;display:flex}.model-static-control span{color:#ffffffeb;font-family:var(--mono);font-size:13px;font-weight:650}.model-select-control select option{color:var(--ink);background:var(--paper)}.key-control input:focus,.model-static-control:focus-within,.model-select-control select:focus,.prompt-panel textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f2583e1f}.rail-actions{gap:8px;margin-top:16px}.button,.generate-button,.icon-button,.preview-tool-button,.text-button,.reference-clear,.control-trigger,.history-page-button,.segmented button,.quality-options button,.count-options button,.history-item{font:inherit;letter-spacing:0;border:0;border-radius:8px}.button,.generate-button{justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 13px;font-weight:760;display:inline-flex}.button.light{color:#12110e;background:#fffffff0;transition:background .16s,transform .16s}.button.ghost{color:#ffffffd1;background:0 0;border:1px solid #ffffff24;transition:border-color .16s,color .16s,transform .16s}.button.light:hover,.button.ghost:hover{transform:translateY(-1px)}.button.light:hover{background:var(--paper)}.button.ghost:hover{color:var(--paper);border-color:#ffffff42}.key-state{color:#ffffff94;align-items:center;gap:8px;margin-top:15px;font-size:13px;display:flex}.key-state.is-ready{color:var(--success)}.meta-list{gap:14px;margin:0;display:grid}.meta-list div{gap:6px;display:grid}.meta-list dt{color:var(--muted-on-dark);font-size:12px}.meta-list dd{overflow-wrap:anywhere;font-family:var(--mono);color:var(--paper);margin:0;font-size:13px}.api-help{color:#ffffff8c;border-top:1px solid #ffffff1a;margin:17px 0 0;padding-top:17px;font-size:13px;line-height:1.55}.api-help a{color:var(--paper);text-underline-offset:3px;font-weight:700;text-decoration-color:#ffffff57}.api-help a:hover{color:var(--accent)}.generate-button{width:100%;color:var(--paper);background:var(--accent);margin-top:auto;font-size:0;transition:transform .18s,box-shadow .18s,opacity .18s;box-shadow:0 12px 26px #f2583e3d}.generate-button:after{content:attr(data-label);font-size:15px}.generate-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px #f2583e4d}.generate-button:disabled{cursor:not-allowed;opacity:.72}.workspace{grid-template-rows:auto minmax(360px,1fr);gap:22px;height:100svh;min-height:0;padding:30px;display:grid;overflow:hidden}.run-status{z-index:3;border:1px solid var(--line);min-height:34px;color:var(--muted);background:var(--paper);border-radius:8px;flex:none;gap:8px;padding:0 12px;font-size:13px;position:absolute;top:14px;right:14px}.prompt-panel{border-top:0;padding-top:0}.prompt-head{color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:13px}.prompt-head label{color:var(--ink);font-weight:700}.prompt-panel textarea{resize:vertical;min-height:164px;padding:16px;font-size:15px;line-height:1.6}.reference-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-top:12px;display:grid}.reference-panel{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.reference-drop{border:1px dashed var(--line);min-width:0;min-height:72px;color:var(--muted);background:var(--paper);cursor:pointer;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:8px 12px 8px 8px;transition:border-color .16s,color .16s,transform .16s;display:grid;position:relative}.reference-drop:hover{color:var(--ink);border-color:var(--accent);transform:translateY(-1px)}.reference-drop.has-image{border-style:solid;border-color:#f2583e61}.reference-drop.is-dragging{color:var(--ink);border-color:var(--accent);background:#f2583e14}.reference-drop input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.reference-icon{width:48px;height:48px;color:var(--accent);background:#f2583e1a;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.reference-drop strong,.reference-drop small{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.reference-drop strong{color:var(--ink);font-size:14px}.reference-drop small{color:var(--muted);margin-top:2px;font-size:12px}.reference-stack{width:54px;height:54px;position:relative}.reference-stack img{object-fit:cover;border:2px solid var(--paper);background:var(--surface);border-radius:6px;width:44px;height:44px;position:absolute;box-shadow:0 8px 18px #0000001f}.reference-stack img:first-child{z-index:3;top:0;left:0}.reference-stack img:nth-child(2){z-index:2;top:5px;left:5px}.reference-stack img:nth-child(3){z-index:1;top:10px;left:10px}.reference-list{scrollbar-width:thin;align-items:center;gap:6px;min-width:0;max-width:min(360px,32vw);padding:2px;display:flex;overflow-x:auto}.reference-thumb{border:1px solid var(--line);background:var(--paper);border-radius:6px;flex:0 0 48px;width:48px;height:48px;position:relative;overflow:hidden}.reference-thumb img{object-fit:cover;width:100%;height:100%;display:block}.reference-thumb>strong{width:100%;height:100%;color:var(--ink);font-family:var(--mono);letter-spacing:0;background:linear-gradient(135deg,#f7f4ef 0%,#e7edf0 100%);place-items:center;font-size:12px;font-weight:760;display:grid}.reference-thumb-video>strong{background:linear-gradient(135deg,#ece7dd 0%,#dfe8e5 100%)}.reference-thumb-audio>strong{background:linear-gradient(135deg,#efe8e1 0%,#e6edf2 100%)}.reference-thumb span{min-width:18px;height:18px;color:var(--paper);background:#0c0c0ac2;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:760;display:inline-flex;position:absolute;bottom:4px;right:4px}.reference-clear{min-width:68px;height:72px;color:var(--accent);background:#f2583e14;border:1px solid #f2583e47;align-self:start;padding:0 14px;font-weight:700}.reference-clear:disabled{cursor:not-allowed;opacity:.58}.error-line{border-left:3px solid var(--accent);color:var(--accent-dark);background:#f2583e17;margin-top:12px;padding:12px;font-size:14px}.result-stage{border:1px solid var(--line);background:linear-gradient(90deg, #1a19160d 1px, transparent 1px), linear-gradient(#1a19160d 1px, transparent 1px), var(--paper);background-size:32px 32px;border-radius:8px;flex-direction:column;min-height:420px;display:flex;position:relative;overflow:hidden}.preview-pane{flex:auto;place-items:center;width:100%;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.empty-state,.loading-state{color:var(--muted);text-align:center;place-items:center;gap:14px;display:grid}.empty-state svg{color:var(--accent)}.empty-state p,.loading-state p,.muted{color:var(--muted);margin:0}.scan-frame{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:190px;height:190px;position:relative;overflow:hidden}.scan-frame span{background:linear-gradient(100deg,#0000 0%,#f2583e24 45%,#1d94882e 55%,#0000 100%);animation:1.2s ease-in-out infinite scan;position:absolute;inset:0;transform:translate(-100%)}.image-viewer{grid-template-rows:minmax(0,1fr) auto;place-items:stretch stretch;gap:12px;width:auto;min-width:0;height:auto;min-height:0;margin:0;display:grid;position:absolute;inset:58px 18px 18px;overflow:hidden}.image-fit-area{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.image-fit-area img{cursor:zoom-in;object-fit:contain;filter:drop-shadow(0 26px 40px #00000029);border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%;animation:.42s both image-in;display:block}.video-viewer video{background:#000;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%;display:block;box-shadow:0 26px 40px #00000029}.video-task-progress{background:#12110e1a;border-radius:999px;width:min(260px,72%);height:7px;overflow:hidden}.video-task-progress span{border-radius:inherit;background:var(--accent);height:100%;transition:width .26s;display:block}.video-task-progress.is-indeterminate span{width:42%;animation:1.35s ease-in-out infinite progress-sweep}.video-task-status{color:var(--muted);font-family:var(--mono);font-size:12px}.media-chip{width:44px;height:44px;color:var(--paper);border:2px solid var(--paper);font-family:var(--mono);background:#12110edb;border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:760;display:inline-flex;position:absolute}.media-chip:first-child{z-index:3;top:0;left:0}.media-chip:nth-child(2){z-index:2;top:5px;left:5px}.media-chip:nth-child(3){z-index:1;top:10px;left:10px}.media-thumb strong{width:100%;height:100%;color:var(--muted);background:var(--surface);place-items:center;margin:0;font-size:12px;display:grid}.image-viewer figcaption{justify-content:space-between;justify-self:center;align-items:center;gap:12px;width:100%;max-width:920px;display:flex}.image-viewer figcaption>span{color:var(--paper);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c0c0ab8;border-radius:8px;padding:8px 10px;font-size:13px}.viewer-actions{gap:8px}.icon-button{width:38px;height:38px;color:var(--paper);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c0c0abd;justify-content:center;align-items:center;transition:background .16s,transform .16s;display:inline-flex}.icon-button:hover{background:var(--accent);transform:translateY(-1px)}.batch-strip{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f7f3eb;flex:none;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;width:100%;padding:12px;display:grid}.batch-slot{min-height:70px;color:var(--muted);text-align:left;border:1px solid var(--line);background:var(--paper);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:8px;transition:border-color .16s,color .16s,transform .16s;display:grid}.batch-slot:disabled{cursor:default;opacity:1}.batch-slot:not(:disabled):hover,.batch-slot.is-active{color:var(--ink);border-color:var(--accent);transform:translateY(-1px)}.slot-thumb{width:54px;height:54px;color:var(--muted);background:var(--surface);border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:760;display:inline-flex;position:relative;overflow:hidden}.slot-thumb img,.slot-thumb video{object-fit:cover;width:100%;height:100%}.batch-slot.is-generating .slot-thumb{color:var(--accent);background:#f2583e1a}.batch-slot.is-generating .slot-thumb:after{content:"";background:var(--accent);border-radius:999px;height:2px;animation:.9s ease-in-out infinite progress-pulse;position:absolute;bottom:8px;left:8px;right:8px}.batch-slot.is-failed{border-color:#f2583e75}.batch-slot.is-failed .slot-thumb{color:var(--accent-dark);background:#f2583e1f}.slot-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.inspector{overscroll-behavior:contain;border-left:1px solid var(--line);background:var(--panel);flex-direction:column;gap:28px;height:100svh;min-height:0;padding:30px 26px;display:flex;overflow-y:auto}.inspector-section{border-color:var(--line)}.control-block{border-top:1px solid var(--line);gap:0;padding:18px 0;display:grid}.control-block:first-of-type{border-top:0;padding-top:0}.control-label{color:var(--muted);justify-content:space-between;gap:14px;font-size:13px}.control-label span{color:var(--ink);font-weight:700}.control-label strong{color:var(--muted);font-size:12px;font-weight:650}.control-trigger{width:100%;min-height:48px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:14px;padding:0;display:flex}.control-trigger-copy{gap:4px;min-width:0;display:grid}.control-trigger-copy span{color:var(--ink);font-size:13px;font-weight:760}.control-trigger-copy strong{color:var(--muted);font-size:12px;font-weight:650}.collapse-icon{color:var(--muted);flex:none;transition:color .16s,transform .16s}.control-trigger:hover .collapse-icon{color:var(--ink)}.collapsible-control.is-open .collapse-icon{transform:rotate(180deg)}.collapse-panel{padding-top:12px;animation:.16s both collapse-in}.segmented{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.size-options{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented button{min-height:38px;color:var(--muted);text-align:center;background:0 0;gap:3px;padding:8px 10px;transition:color .16s,background .16s,transform .16s;display:grid}.segmented small{color:inherit;font-size:11px}.segmented button.is-active{color:var(--paper);background:var(--ink)}.segmented button:hover{transform:translateY(-1px)}.segmented button:disabled{cursor:not-allowed;opacity:.58;transform:none}.count-options{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:4px;display:grid}.quality-options{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.quality-options button{min-height:46px;color:var(--muted);text-align:center;background:0 0;gap:3px;padding:8px 10px;transition:color .16s,background .16s,transform .16s;display:grid}.quality-options small{color:inherit;font-size:11px}.quality-options button.is-active{color:var(--paper);background:var(--ink)}.quality-options button:hover{transform:translateY(-1px)}.quality-options button:disabled{cursor:not-allowed;opacity:.58;transform:none}.count-options button{min-height:42px;color:var(--muted);background:0 0;font-weight:760;transition:color .16s,background .16s,transform .16s}.count-options button.is-active{color:var(--paper);background:var(--ink)}.count-options button:hover{transform:translateY(-1px)}.count-options button:disabled{cursor:not-allowed;opacity:.58}.video-control-block{gap:10px;padding:17px 0 20px}.legacy-video-control-block{display:none}.video-control-block.collapsible-control{gap:0;padding:14px 0}.video-control-block.collapsible-control .control-trigger{min-height:44px}.video-control-block.collapsible-control .collapse-panel{padding-top:10px}.video-control-block .control-label{margin-bottom:2px;font-size:13px}.video-control-block .control-label span{font-weight:760}.video-control-block .control-label strong{color:var(--muted);font-family:var(--mono);font-size:12px;font-weight:760}.video-ratio-options{border-radius:8px;gap:5px;padding:5px}.video-ratio-options button{border-radius:7px;min-height:58px;padding:8px 8px 7px;font-size:15px;line-height:1.05}.video-ratio-options small{margin-top:1px;font-size:10px;line-height:1}.video-duration-options{border-radius:8px;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:5px}.video-duration-options button{border-radius:7px;min-height:34px;font-size:14px;line-height:1}.video-resolution-block{padding-bottom:22px}.video-resolution-block .control-label{min-height:30px;margin-bottom:0}.history-head{justify-content:space-between;gap:12px}.text-button{color:var(--accent);background:0 0;padding:0;font-weight:700}.history-list{gap:10px;display:grid}.history-item{color:var(--muted);text-align:left;border:1px solid var(--line);background:var(--paper);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:8px;transition:border-color .16s,transform .16s,color .16s;display:grid}.history-item:hover,.history-item.is-active{color:var(--ink);border-color:var(--accent);transform:translateY(-1px)}.history-item img,.history-item video{object-fit:cover;background:var(--surface);border-radius:6px;width:54px;height:54px}.history-item span{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.history-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:12px;font-weight:700;display:flex}.history-page-button{width:32px;height:32px;color:var(--ink);background:var(--paper);border:1px solid var(--line);justify-content:center;align-items:center;transition:border-color .16s,color .16s,transform .16s;display:inline-flex}.history-page-button:hover:not(:disabled){color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.history-page-button:disabled{cursor:not-allowed;opacity:.42}.original-preview-backdrop{z-index:30;cursor:zoom-out;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0a08e0;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:24px;animation:.18s both image-in;display:grid;position:fixed;inset:0}.original-preview-toolbar{cursor:default;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0c0ab8;border:1px solid #ffffff24;border-radius:8px;justify-self:end;align-items:center;gap:8px;padding:6px;display:flex}.preview-tool-button{width:38px;height:38px;color:var(--paper);background:0 0;justify-content:center;align-items:center;transition:color .16s,background .16s,opacity .16s;display:inline-flex}.preview-tool-button:hover:not(:disabled){color:var(--paper);background:var(--accent)}.preview-tool-button:disabled{cursor:not-allowed;opacity:.42}.original-preview-surface{cursor:zoom-in;touch-action:none;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden}.original-preview-surface.is-zoomed{cursor:grab}.original-preview-surface.is-dragging{cursor:grabbing}.original-preview-surface img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;will-change:transform;width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .12s;display:block;box-shadow:0 30px 90px #00000057}.original-preview-surface.is-dragging img{transition:none}.spin{animation:.8s linear infinite spin}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scan{to{transform:translate(100%)}}@keyframes image-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes collapse-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress-pulse{0%,to{opacity:.45;transform:scaleX(.35)}50%{opacity:1;transform:scaleX(1)}}@keyframes progress-sweep{0%{transform:translate(-120%)}50%{transform:translate(70%)}to{transform:translate(240%)}}@media (width<=1180px){.app-shell{grid-template-columns:280px minmax(0,1fr);height:auto;overflow:visible}.workspace,.inspector{height:auto;overflow:visible}.inspector{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);display:grid}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.control-rail{height:auto;padding:22px;position:static}.workspace{grid-template-rows:auto auto;padding:22px}.reference-row,.reference-panel{grid-template-columns:1fr}.reference-list{max-width:100%}.reference-clear{width:100%;height:44px}.inspector{grid-template-columns:1fr}.result-stage{min-height:360px}.image-fit-area img{max-width:100%;max-height:100%}.image-viewer figcaption{background:var(--panel);width:100%;padding:12px;position:static}.batch-strip{grid-template-columns:1fr}}
