:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--bg-panel:#faf9fc;--border:#e5e4e7;--accent:#aa3bff;--accent-hover:#9226ea;--danger:#d1345b;--success:#1a9e6d;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--bg-panel:#1c1d24;--border:#2e303a;--accent:#c084fc;--accent-hover:#d3a4fd;--danger:#f28fa8;--success:#4ade80}}*{box-sizing:border-box}body{margin:0}h1,h2{color:var(--text-h);margin:0;font-weight:600}label{color:var(--text-h);flex-direction:column;gap:8px;font-size:15px;font-weight:600;display:flex}input,select,textarea{font:inherit;color:var(--text-h);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:13px 16px;font-size:15px;font-weight:400}textarea{resize:vertical;line-height:150%}.autosize{resize:none;overflow:hidden}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 18px;font-weight:600}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{border-color:var(--border);color:var(--text-h);background:0 0}.btn-ghost:hover{border-color:var(--accent)}.error-banner{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:10px 14px;font-size:14px}.login-page{justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.login-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px;display:flex}.login-card h1{font-size:24px}.page-loading{justify-content:center;align-items:center;min-height:100svh;display:flex}.app-shell{max-width:1200px;min-height:100svh;margin:0 auto;padding:0 24px 48px}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px 0;display:flex}.app-header h1{font-size:20px}.app-header-right{align-items:center;gap:16px;font-size:14px;display:flex}.app-main{grid-template-columns:1fr minmax(320px,470px);align-items:start;gap:32px;display:grid}@media (width<=800px){.app-main{grid-template-columns:1fr}}.app-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:20px;padding:28px;display:flex;box-shadow:0 1px 2px #0000000a}.app-panel h2{font-size:18px}.generation-form{flex-direction:column;gap:22px;display:flex}.form-row{flex-wrap:wrap;gap:18px;display:flex}.form-row label{flex:1;min-width:140px}.aspect-ratio-row{align-items:center;gap:8px;display:flex}.aspect-ratio-part{text-align:center;flex:none;width:46px;min-width:0;height:46px;padding:0}.aspect-ratio-colon{color:var(--text-h);font-weight:600}.aspect-ratio-preset-wrap{position:relative}.aspect-ratio-preset-btn{border:1px solid var(--border);background:var(--bg);width:46px;height:46px;color:var(--text-h);cursor:pointer;border-radius:10px;padding:0;font-size:16px;line-height:1}.aspect-ratio-preset-btn:hover{border-color:var(--accent)}.aspect-ratio-preset-menu{z-index:20;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;min-width:100px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0003}.aspect-ratio-preset-menu button{color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:14px}.aspect-ratio-preset-menu button:hover{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.checkbox-row{flex-direction:row;align-items:center;gap:10px}.checkbox-row input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.start-frame-preview{border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.start-frame-preview img{object-fit:cover;background:#000;border-radius:8px;flex-shrink:0;width:56px;height:56px}.start-frame-preview-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.start-frame-preview-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.start-frame-preview-hint{color:var(--text);font-size:12px}.slider{width:100%;accent-color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}.slider:focus{outline:none}.generation-form .btn-primary{margin-top:4px;padding:14px 20px;font-size:16px}.generation-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.empty-state{font-size:14px}.generation-card{border:1px solid var(--border);border-radius:12px;flex-direction:column;align-self:flex-start;gap:10px;width:min(414px,100%);padding:16px;display:flex}.generation-header{align-items:center;gap:8px;display:flex}.generation-header .status-badge{flex-shrink:0;margin-left:auto}.generation-footer{align-items:center;gap:8px;display:flex}.generation-time{color:var(--text);white-space:nowrap;margin-left:auto;font-size:12px}.generation-prompt{min-width:0;color:var(--text-h);font-size:14px;font:inherit;white-space:nowrap;text-overflow:ellipsis;text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;flex:1;margin:0;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s;display:block;overflow:hidden}.generation-prompt:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.generation-error{color:var(--danger);font-size:13px}.generation-actions{gap:8px;display:flex}.generation-actions .btn{padding:6px 14px;font-size:13px}.status-badge{border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.status-pending,.status-badge.status-processing{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.status-badge.status-completed{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.status-badge.status-failed{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.generation-video{background:#000;border-radius:10px;width:100%;display:block}.modal-backdrop{z-index:100;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:20px;width:100%;max-width:480px;max-height:100%;padding:28px;display:flex;position:relative}.modal-close{color:var(--text);cursor:pointer;background:0 0;border:none;padding:6px;font-size:16px;line-height:1;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--text-h)}.prompt-modal-text{color:var(--text-h);white-space:pre-wrap;max-height:50vh;margin:0;padding-right:24px;font-size:15px;line-height:150%;overflow-y:auto}.prompt-modal .btn{align-self:flex-start}
