:root{--bg:#060608;--bg-2:#0b0b11;--glass:#ffffff09;--glass-2:#ffffff0f;--border:#ffffff17;--border-strong:#ffffff29;--text:#f4f4f8;--muted:#8b8b9e;--muted-2:#62626f;--violet:#8b5cf6;--pink:#ec4899;--cyan:#22d3ee;--grad:linear-gradient(120deg, #8b5cf6 0%, #d946ef 50%, #ec4899 100%);--grad-soft:linear-gradient(120deg, #8b5cf62e, #ec48992e);--danger:#ff6b6b;--ok:#34d399;--radius:18px;--radius-sm:12px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(900px 520px at 78% -8%,#8b5cf638,#0000 60%),radial-gradient(760px 520px at 8% 8%,#ec489924,#0000 55%),radial-gradient(700px 700px at 50% 120%,#22d3ee14,#0000 60%);position:fixed;inset:0}button,input,textarea,select{font-family:inherit}.app{z-index:1;grid-template-columns:244px 1fr;min-height:100vh;display:grid;position:relative}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#ffffff0a,#ffffff03);flex-direction:column;align-self:start;gap:6px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;padding:6px 8px 18px;display:flex}.brand-dot{background:var(--grad);border-radius:9px;flex:none;width:26px;height:26px;box-shadow:0 0 22px #d946ef8c}.brand-name{letter-spacing:-.02em;font-size:15px;font-weight:700}.brand-sub{color:var(--muted-2);margin-top:1px;font-size:11px}.nav{flex-direction:column;gap:2px;display:flex}.nav-item{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:11px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:var(--text);background:var(--glass)}.nav-item.active{color:var(--text);background:var(--grad-soft);border:1px solid var(--border)}.nav-item .ico{text-align:center;width:16px}.nav-count{color:var(--muted-2);background:var(--glass-2);border-radius:20px;margin-left:auto;padding:1px 8px;font-size:11px}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.sidebar-foot .tip{color:var(--muted-2);padding:0 8px;font-size:11px;line-height:1.5}.main{width:100%;max-width:1100px;padding:30px 34px 80px}.page-head{margin-bottom:22px}.page-head h1{letter-spacing:-.03em;margin:0;font-size:24px}.page-head p{color:var(--muted);margin:6px 0 0;font-size:14px}.panel{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.composer{margin-bottom:28px;padding:20px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tab{border:1px solid var(--border);background:var(--glass);color:var(--muted);cursor:pointer;border-radius:11px;padding:9px 14px;font-size:13px;font-weight:500;transition:all .15s}.tab:hover{color:var(--text);border-color:var(--border-strong)}.tab.active{color:#fff;background:var(--grad);border-color:#0000;box-shadow:0 8px 22px #a855f752}.prompt{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:96px;color:var(--text);background:#00000047;outline:none;padding:14px 16px;font-size:15px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.prompt:focus{border-color:#a855f7b3;box-shadow:0 0 0 3px #8b5cf62e}.assets{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.asset{width:124px}.asset-label{color:var(--muted);align-items:center;gap:5px;margin-bottom:6px;font-size:11px;display:flex}.asset-tile{border-radius:var(--radius-sm);border:1px dashed var(--border-strong);cursor:pointer;background:#00000040;justify-content:center;align-items:center;width:124px;height:124px;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.asset-tile:hover{background:#8b5cf612;border-color:#a855f7b3}.asset-tile.filled{border-style:solid}.asset-tile img{object-fit:cover;width:100%;height:100%}.asset-plus{text-align:center;color:var(--muted);padding:8px;font-size:12px}.asset-plus .big{color:var(--muted-2);margin-bottom:2px;font-size:22px;display:block}.asset-remove{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;line-height:1;display:flex;position:absolute;top:5px;right:5px}.asset-remove:hover{background:var(--danger)}.ref-row{flex-wrap:wrap;gap:10px;display:flex}.ref-tile{width:84px;height:84px}.settings{border-top:1px solid var(--border);flex-direction:column;gap:18px;margin-top:20px;padding-top:18px;display:flex}.setting-label{color:var(--muted);letter-spacing:.01em;margin-bottom:9px;font-size:12px;font-weight:500}.model-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.model-card{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--glass);cursor:pointer;padding:12px 13px;transition:all .15s}.model-card:hover{border-color:var(--border-strong)}.model-card.active{background:var(--grad-soft);border-color:#0000;box-shadow:inset 0 0 0 1px #d946ef80}.model-name{align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.model-dot{background:var(--grad);border-radius:50%;width:7px;height:7px}.model-blurb{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.45}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--border);background:var(--glass);color:var(--muted);cursor:pointer;border-radius:10px;padding:7px 13px;font-size:13px;transition:all .13s}.chip:hover:not(.disabled){color:var(--text);border-color:var(--border-strong)}.chip.active{color:#fff;background:linear-gradient(120deg,#8b5cf6e6,#ec4899e6);border-color:#0000}.chip.disabled{opacity:.32;cursor:not-allowed}.grid-2{grid-template-columns:1fr 1fr;gap:22px;display:grid}.slider-head{justify-content:space-between;align-items:baseline;display:flex}.slider-val{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px}.range{appearance:none;background:#ffffff1a;border-radius:6px;outline:none;width:100%;height:6px;margin-top:10px}.range::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 4px #8b5cf666}.range::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 4px #8b5cf666}.toggles{flex-wrap:wrap;gap:8px;display:flex}.toggle{border:1px solid var(--border);background:var(--glass);color:var(--muted);cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:9px 13px;font-size:13px;transition:all .13s;display:flex}.toggle.on{color:var(--text);border-color:var(--border-strong)}.switch{background:#ffffff24;border-radius:20px;flex:none;width:32px;height:18px;transition:background .15s;position:relative}.toggle.on .switch{background:var(--grad)}.switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle.on .switch:after{transform:translate(14px)}.seed-row{gap:8px;display:flex}.seed-input{border:1px solid var(--border);color:var(--text);background:#00000047;border-radius:10px;outline:none;flex:1;padding:9px 12px;font-size:13px}.seed-input:focus{border-color:#a855f7b3}.dice{border:1px solid var(--border);background:var(--glass);color:var(--text);cursor:pointer;border-radius:10px;padding:0 12px;font-size:15px}.dice:hover{border-color:var(--border-strong)}.gen-bar{align-items:center;gap:16px;margin-top:22px;display:flex}.generate-btn{letter-spacing:.01em;color:#fff;cursor:pointer;background:var(--grad);border:none;border-radius:13px;flex:1;padding:15px 18px;font-size:15px;font-weight:700;transition:filter .15s,transform 50ms;box-shadow:0 12px 30px #a855f759}.generate-btn:hover:not(:disabled){filter:brightness(1.08)}.generate-btn:active:not(:disabled){transform:translateY(1px)}.generate-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.hint{color:var(--muted-2);font-size:12px}.err{color:var(--danger);margin-top:14px;font-size:13px}.statusbar{color:var(--muted);border-radius:var(--radius-sm);background:var(--grad-soft);border:1px solid var(--border);align-items:center;gap:11px;margin-top:16px;padding:12px 14px;font-size:13px;display:flex}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result{margin-bottom:30px;padding:16px}.result video{border-radius:var(--radius-sm);background:#000;width:100%;display:block}.result-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.linklike{color:var(--pink);font-size:13px;text-decoration:none}.linklike:hover{text-decoration:underline}.section-row{justify-content:space-between;align-items:center;margin:6px 0 16px;display:flex}.section-title{letter-spacing:-.01em;font-size:16px;font-weight:650}.history-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.gen-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--glass);transition:transform .15s,border-color .15s;overflow:hidden}.gen-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.gen-thumb{aspect-ratio:16/10;background:#0d0d14;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gen-thumb video,.gen-thumb img{object-fit:cover;width:100%;height:100%}.gen-thumb .placeholder{color:var(--muted-2);text-align:center;padding:12px;font-size:12px}.gen-status{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:600;display:flex;position:absolute;top:8px;left:8px}.gen-status.running{color:#d6bcfa;background:#8b5cf640}.gen-status.succeeded{color:var(--ok);background:#34d3992e}.gen-status.failed{color:var(--danger);background:#ff6b6b2e}.dotpulse{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.gen-body{padding:12px 13px 13px}.gen-prompt{-webkit-line-clamp:2;color:var(--text);-webkit-box-orient:vertical;margin:0 0 9px;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.gen-prompt.empty{color:var(--muted-2);font-style:italic}.gen-tags{flex-wrap:wrap;gap:6px;margin-bottom:11px;display:flex}.tag{color:var(--muted);background:var(--glass-2);border:1px solid var(--border);border-radius:20px;padding:2px 8px;font-size:10.5px}.gen-actions{gap:6px;display:flex}.icon-btn{border:1px solid var(--border);background:var(--glass);color:var(--muted);cursor:pointer;border-radius:9px;flex:1;padding:7px;font-size:12px;transition:all .13s}.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.icon-btn.danger:hover{color:var(--danger);border-color:#ff6b6b80}.empty-state{text-align:center;color:var(--muted-2);border:1px dashed var(--border);border-radius:var(--radius);padding:50px 20px;font-size:14px}.linkbtn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.linkbtn:hover{color:var(--text)}.gate-wrap{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.gate{width:100%;max-width:380px;padding:30px 28px}.gate .brand{padding:0 0 6px}.gate h2{letter-spacing:-.02em;margin:14px 0 4px;font-size:19px}.gate p{color:var(--muted);margin:0 0 22px;font-size:13px}.gate input{border:1px solid var(--border);width:100%;color:var(--text);background:#0000004d;border-radius:11px;outline:none;margin-bottom:14px;padding:13px 15px;font-size:15px}.gate input:focus{border-color:#a855f7b3;box-shadow:0 0 0 3px #8b5cf62e}.center-load{z-index:1;min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:11px;font-size:14px;display:flex;position:relative}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;height:auto;position:static}.nav{flex-direction:row}.sidebar-foot{border:none;flex-direction:row;margin:0 0 0 auto;padding:0}.sidebar-foot .tip{display:none}.main{padding:22px 18px 70px}.model-grid,.grid-2{grid-template-columns:1fr}}
