:root{--fc-bg: #0f1420;--fc-bg-soft: #161d2e;--fc-card: #1b2338;--fc-card-soft: #232d49;--fc-border: #2c3854;--fc-text: #eef2f8;--fc-text-dim: #9aa6bd;--fc-accent: #4f7cff;--fc-accent-2: #37d6c9;--fc-gold: #f0b95c;--fc-danger: #ff5c6c;--fc-radius: 14px;--fc-radius-sm: 9px;--fc-gap: 16px;--fc-font: -apple-system, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{font-family:var(--fc-font);background:radial-gradient(1200px 600px at 80% -10%,rgba(79,124,255,.16),transparent 60%),radial-gradient(900px 500px at -10% 20%,rgba(55,214,201,.1),transparent 55%),var(--fc-bg);color:var(--fc-text);-webkit-font-smoothing:antialiased}.app{max-width:1180px;margin:0 auto;padding:28px 20px 80px}.app-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.app-title{font-size:24px;font-weight:700;letter-spacing:.5px;margin:0}.app-title .dot{color:var(--fc-accent-2)}.status-chip{font-size:12px;color:var(--fc-text-dim);background:var(--fc-card);border:1px solid var(--fc-border);padding:4px 10px;border-radius:999px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--fc-gap);align-items:start}@media (max-width: 900px){.grid{grid-template-columns:1fr}}.card{background:var(--fc-card);border:1px solid var(--fc-border);border-radius:var(--fc-radius);padding:18px}.card h2{margin:0 0 14px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}.card h2 .step{width:20px;height:20px;border-radius:6px;background:var(--fc-accent);color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--fc-text-dim);margin-bottom:6px}input[type=text],textarea{width:100%;background:var(--fc-bg-soft);border:1px solid var(--fc-border);color:var(--fc-text);border-radius:var(--fc-radius-sm);padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical}input[type=text]:focus,textarea:focus{outline:none;border-color:var(--fc-accent)}.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:var(--fc-radius-sm);padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:filter .15s,transform .05s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--fc-accent),var(--fc-accent-2));color:#06121f}.btn-ghost{background:var(--fc-card-soft);color:var(--fc-text);border:1px solid var(--fc-border)}.btn-sm{padding:6px 10px;font-size:12px}.upload-zone{border:1px dashed var(--fc-border);border-radius:var(--fc-radius-sm);padding:14px;text-align:center;color:var(--fc-text-dim);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s}.upload-zone:hover{border-color:var(--fc-accent);background:var(--fc-bg-soft)}.thumb-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--fc-border)}.room-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--fc-border)}.room-row:last-child{border-bottom:none}.room-name{font-size:13px;font-weight:600;min-width:56px}.shot{border-left:3px solid var(--fc-accent-2);background:var(--fc-card-soft);border-radius:0 var(--fc-radius-sm) var(--fc-radius-sm) 0;padding:10px 12px;margin-bottom:10px}.shot-head{display:flex;justify-content:space-between;font-size:12px;color:var(--fc-accent-2);margin-bottom:4px}.shot-text{font-size:13px;line-height:1.5}.progress{height:8px;background:var(--fc-bg-soft);border-radius:999px;overflow:hidden;margin:8px 0}.progress-bar{height:100%;background:linear-gradient(90deg,var(--fc-accent),var(--fc-accent-2));transition:width .4s ease}.logs{font-family:ui-monospace,monospace;font-size:11px;color:var(--fc-text-dim);background:var(--fc-bg-soft);border-radius:var(--fc-radius-sm);padding:10px;max-height:160px;overflow:auto;white-space:pre-wrap}.video-wrap video{width:100%;border-radius:var(--fc-radius-sm);background:#000}.muted{color:var(--fc-text-dim)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
