:root{--bg: #15101a;--bg-2: #1d1626;--panel: #241b30;--panel-2: #2c2138;--border: #3a2d49;--text: #f3edf7;--muted: #b6a6c6;--accent: #e0719a;--accent-2: #c75c86;--radius: 16px;--shadow: 0 10px 40px rgba(0,0,0,.4)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 70% -10%,#2a1f38 0%,var(--bg) 55%);color:var(--text);font-family:Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.wrap{max-width:920px;margin:0 auto;padding:28px 18px 64px}.brand{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.brand h1{font-family:Fraunces,serif;font-weight:600;font-size:30px;margin:0;letter-spacing:.3px}.brand .dot{color:var(--accent)}.subtitle{color:var(--muted);font-size:14px;margin:0 0 22px}.tabs{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:4px;margin-bottom:18px}.tabs button{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:9px 22px;border-radius:999px;cursor:pointer}.tabs button.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}label.field-label{display:block;font-size:13px;color:var(--muted);margin:0 0 7px;font-weight:600}textarea.prompt{width:100%;min-height:96px;resize:vertical;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:13px 14px;font:inherit;line-height:1.5}textarea.prompt:focus,select:focus{outline:none;border-color:var(--accent)}.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.col{flex:1 1 180px;min-width:160px}select{width:100%;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:11px 12px;font:inherit}.seg{display:flex;gap:8px}.seg button{flex:1;border:1px solid var(--border);background:var(--bg-2);color:var(--muted);border-radius:10px;padding:10px;font:inherit;font-weight:600;cursor:pointer}.seg button.on{border-color:var(--accent);color:#fff;background:var(--panel-2)}.hint{color:var(--muted);font-size:12px;margin-top:8px;line-height:1.45}.generate{margin-top:18px;width:100%;border:0;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font:inherit;font-weight:700;font-size:16px;padding:14px;border-radius:12px}.generate:disabled{opacity:.55;cursor:default}.status{margin-top:16px;color:var(--muted);font-size:14px;display:flex;align-items:center;gap:10px}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{margin-top:14px;background:#3a1d28;border:1px solid #6e2f44;color:#ffc9d9;padding:11px 13px;border-radius:10px;font-size:14px}.results{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.result{background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden}.result img,.result video{width:100%;display:block;background:#000}.result .meta{padding:10px 12px}.result .meta p{margin:0 0 8px;font-size:12px;color:var(--muted);line-height:1.4;max-height:54px;overflow:hidden}.result a.dl{display:inline-block;text-decoration:none;font-size:13px;font-weight:600;color:#fff;background:var(--panel-2);border:1px solid var(--border);padding:7px 12px;border-radius:9px}.result a.dl:hover{border-color:var(--accent)}.empty{color:var(--muted);text-align:center;padding:40px 0;font-size:14px}.result .media{position:relative;cursor:pointer;line-height:0}.result .media img,.result .media video{width:100%;display:block;background:#000}.result .media .zoom{position:absolute;top:8px;right:8px;background:#0000008c;color:#fff;border-radius:8px;padding:2px 8px;font-size:14px;opacity:0;transition:opacity .15s}.result .media:hover .zoom{opacity:1}.result .meta .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.result .meta .act,.v-meta .act{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer}.result .meta .act:hover,.v-meta .act:hover{border-color:var(--accent)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0a070eeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px}.viewer .v-stage{max-width:min(1100px,94vw);max-height:92vh;display:flex;flex-direction:column;gap:12px}.viewer .v-stage img,.viewer .v-stage video{max-width:100%;max-height:80vh;width:auto;height:auto;margin:0 auto;display:block;border-radius:12px;background:#000}.viewer .v-meta{color:var(--text)}.viewer .v-meta p{margin:0 0 8px;font-size:13px;color:var(--muted);line-height:1.4}.viewer .v-meta .actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.viewer .v-count{color:var(--muted);font-size:12px;margin-left:auto}.viewer .v-close{position:absolute;top:16px;right:18px;border:0;background:#00000080;color:#fff;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer}.viewer .v-close:hover{background:var(--accent-2)}.viewer .v-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#00000080;color:#fff;width:48px;height:64px;border-radius:12px;font-size:34px;line-height:1;cursor:pointer}.viewer .v-nav:hover{background:var(--accent-2)}.viewer .v-prev{left:16px}.viewer .v-next{right:16px}.viewer .v-meta .dl{display:inline-block;border:1px solid var(--border);border-radius:8px;padding:5px 10px;font-size:12px;color:var(--text);text-decoration:none}.viewer .v-meta .dl:hover{border-color:var(--accent)}@media (max-width: 640px){.viewer .v-nav{width:38px;height:52px;font-size:26px}.viewer{padding:10px}}.jobs{margin-top:16px;display:flex;flex-direction:column;gap:10px}.job{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.job.failed{border-color:var(--accent-2)}.job .job-x{color:var(--accent-2);font-weight:700;width:18px;text-align:center}.job .job-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.job .job-kind{display:inline-block;align-self:flex-start;font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.job .job-text{font-size:13px;color:var(--text);word-break:break-word}.job .job-label{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job .job-dismiss{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer}.job .job-dismiss:hover{border-color:var(--accent)}.generate:disabled{opacity:.5;cursor:not-allowed}.chain-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:12px 14px;background:linear-gradient(135deg,#e0719a24,#c75c861a);border:1px solid var(--accent-2);border-radius:12px;font-size:13px;color:var(--text)}.chain-banner span{flex:1;min-width:0}.chain-banner button{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer}.chain-banner button:hover{border-color:var(--accent)}.result .media .scene-badge{position:absolute;top:8px;left:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:700}textarea.prompt.neg{min-height:60px}.result .media{background:var(--panel-2);min-height:80px}.result .media .poster{width:100%;display:block}.result .media .play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#00000080;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;pointer-events:none}.scene-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.scene-row .scene-num{flex:0 0 28px;height:28px;margin-top:6px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-radius:50%;font-size:13px;font-weight:700}.scene-row .scene-input{flex:1;min-height:56px;margin:0}.scene-row .scene-del{flex:0 0 auto;margin-top:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer}.scene-row .scene-del:hover{border-color:var(--accent-2);color:var(--text)}.scene-add{width:100%;margin:4px 0 2px;border:1px dashed var(--border);background:transparent;color:var(--accent);border-radius:10px;padding:10px;font-size:13px;font-weight:600;cursor:pointer}.scene-add:hover{border-color:var(--accent);background:#e0719a14}.editor-panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:min(720px,94vw);max-height:90vh;overflow-y:auto;padding:20px}.editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.editor-head h3{margin:0;font-size:18px;color:var(--text)}.editor-scene{border:1px solid var(--border);border-radius:12px;padding:12px;margin:14px 0;background:var(--bg-2)}.editor-scene-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.editor-clip{width:100%;max-height:300px;border-radius:8px;background:#000;display:block}.editor-scene-head .editor-clip{max-height:160px}.editor-scene-head .scene-num{flex:0 0 28px;height:28px}.editor-scene .actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.editor-scene .act.accept{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.candidate{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.candidate-label{font-size:12px;color:var(--accent);font-weight:700;margin-bottom:8px}.editor-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.editor-foot .editor-save{width:auto;margin:0 0 0 auto;padding:10px 18px}.editor-foot .editor-save:disabled{opacity:.5}
