:root{--bg: #0b0d12;--bg-soft: #12151d;--panel: #161a24;--panel-2: #1c2130;--border: #262c3d;--text: #eef1f7;--text-dim: #9aa3b5;--accent: #f5c518;--accent-2: #7fd1ff;--green: #4ade80;--red: #f87171;--amber: #fbbf24;--radius: 14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,sans-serif;font-size:15px;line-height:1.5}#root{min-height:100vh}.container{max-width:1180px;margin:0 auto;padding:0 24px 80px}.topbar{display:flex;align-items:center;gap:14px;padding:18px 0;margin-bottom:26px;border-bottom:1px solid var(--border)}.logo{font-family:Montserrat,sans-serif;font-weight:800;font-size:26px;letter-spacing:2px;color:var(--accent);cursor:pointer}.logo span{color:var(--text)}.tagline{color:var(--text-dim);font-size:13px}.topnav{display:flex;gap:4px}.topnav a{color:var(--text-dim);text-decoration:none;font-size:13.5px;font-weight:600;padding:7px 14px;border-radius:99px;border:1px solid transparent}.topnav a:hover{color:var(--text)}.topnav a.active{color:var(--accent);border-color:var(--border);background:var(--panel)}.brand-dot{display:inline-block;width:9px;height:9px;border-radius:99px;margin-right:7px;vertical-align:1px}h1{font-size:24px;font-weight:700;margin:0 0 6px}h2{font-size:17px;font-weight:700;margin:0 0 12px}h3{font-size:14px;font-weight:600;margin:0 0 8px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-bottom:18px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:860px){.grid-2,.grid-3{grid-template-columns:1fr}}button{font-family:inherit;font-size:14px;font-weight:600;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:var(--text);padding:10px 18px;cursor:pointer;transition:all .15s}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#14161c;border-color:var(--accent)}button.primary:hover{filter:brightness(1.1)}button.danger{color:var(--red)}button.small{padding:6px 12px;font-size:12.5px;border-radius:8px}input[type=text],input[type=password],textarea,select{width:100%;font-family:inherit;font-size:14px;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 13px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:72px}label{display:block;font-size:12.5px;font-weight:600;color:var(--text-dim);margin:0 0 5px}.field{margin-bottom:14px}.badge{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:99px;letter-spacing:.4px;background:var(--panel-2);color:var(--text-dim);text-transform:uppercase}.badge.gold{background:#f5c51826;color:var(--accent)}.badge.green{background:#4ade8024;color:var(--green)}.badge.red{background:#f8717124;color:var(--red)}.badge.amber{background:#fbbf2424;color:var(--amber)}.badge.blue{background:#7fd1ff24;color:var(--accent-2)}.project-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:10px;cursor:pointer;transition:border-color .15s}.project-row:hover{border-color:var(--accent)}.project-row .title{font-weight:600}.project-row .meta{color:var(--text-dim);font-size:12.5px}.stepper{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.step{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--text-dim);background:var(--panel);border:1px solid var(--border);padding:7px 13px;border-radius:99px}.step.active{border-color:var(--accent);color:var(--accent)}.step.done{color:var(--green);border-color:#4ade8066}.step .dot{width:7px;height:7px;border-radius:99px;background:currentColor}.step.active .dot{animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3}}.scene-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;overflow:hidden}.scene-card video{width:100%;aspect-ratio:9 / 16;object-fit:cover;background:#000;display:block}.scene-card .body{padding:12px 14px}.scene-card .role{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.scene-card .role.hook{color:var(--accent)}.scene-card .role.climax{color:var(--accent-2)}.scene-card .role.build,.scene-card .role.payoff{color:var(--text-dim)}.scene-card .time{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.scene-card .prompt{font-size:12.5px;color:var(--text-dim);margin:8px 0;max-height:72px;overflow:auto}.variant-tabs{display:flex;gap:5px;margin:8px 0;flex-wrap:wrap}.variant-tabs button{padding:4px 10px;font-size:12px;border-radius:7px}.variant-tabs button.selected{background:var(--accent);color:#14161c;border-color:var(--accent)}.qa-row{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.qa-row:last-child{border-bottom:none}.qa-icon{font-size:14px;width:20px;text-align:center}.qa-label{font-weight:600;font-size:13.5px}.qa-detail{color:var(--text-dim);font-size:12.5px;margin-left:auto;text-align:right}.hook-score{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.hook-score .pill{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:8px 14px;text-align:center;min-width:74px}.hook-score .pill .num{font-size:18px;font-weight:800}.hook-score .pill .lbl{font-size:10.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.hook-score .pill.total{border-color:var(--accent)}.hook-score .pill.total .num{color:var(--accent)}.final-wrap{display:grid;grid-template-columns:340px 1fr;gap:22px}@media(max-width:860px){.final-wrap{grid-template-columns:1fr}}.final-video{width:100%;aspect-ratio:9 / 16;border-radius:14px;background:#000}.spinner{width:18px;height:18px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:99px;animation:spin .8s linear infinite;display:inline-block;vertical-align:-4px}@keyframes spin{to{transform:rotate(360deg)}}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:34px;text-align:center;color:var(--text-dim);cursor:pointer;transition:border-color .15s;margin-bottom:16px}.upload-zone:hover,.upload-zone.drag{border-color:var(--accent);color:var(--text)}.upload-zone .big{font-size:16px;font-weight:600;color:var(--text)}.error-banner{background:#f871711a;border:1px solid rgba(248,113,113,.4);color:var(--red);border-radius:12px;padding:14px 18px;margin-bottom:16px;font-size:13.5px;word-break:break-word}.warn-banner{background:#fbbf2414;border:1px solid rgba(251,191,36,.35);color:var(--amber);border-radius:12px;padding:12px 16px;margin-bottom:12px;font-size:13px}.cost-table{width:100%;border-collapse:collapse;font-size:13px}.cost-table td{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text-dim)}.cost-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.login-box{max-width:380px;margin:14vh auto}.muted{color:var(--text-dim);font-size:13px}.mono{font-variant-numeric:tabular-nums}audio{width:100%}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1}
