*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fbf3e3;color:#2b2b2b}.layout{display:flex;min-height:100vh}.sidebar{width:280px;flex-shrink:0;background:#222831;color:#fff;padding:20px}.sidebar h1{font-size:18px;margin:0 0 16px}.episode-list{list-style:none;margin:0;padding:0}.episode-list li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;margin-bottom:6px;cursor:pointer;background:#ffffff0f}.episode-list li:hover{background:#ffffff24}.episode-list li.selected{background:#e67e22}.episode-list .ep-number{font-size:12px;opacity:.7}.episode-list .ep-status{font-size:11px;text-transform:uppercase;opacity:.75}.main{flex:1;padding:28px 36px;max-width:1100px}.main header h2{margin:0 0 4px}.status{color:#555;margin:0 0 4px}.lesson{color:#7a5c2e;font-style:italic;margin:0 0 20px}.error{background:#fdecea;color:#b3261e;border:1px solid #f5c2c0;padding:10px 14px;border-radius:8px;margin-bottom:16px}button{background:#e67e22;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;margin:4px 8px 4px 0}button:disabled{opacity:.5;cursor:default}.script-review,.audio-review,.video-review{display:flex;gap:24px;margin:16px 0}.script-column,.audio-column,.video-column{flex:1;background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px #00000014}.video-share-panel{background:#fff;border-radius:12px;padding:16px;margin:16px 0;box-shadow:0 1px 4px #00000014}.video-share-panel h3{margin:0 0 12px}.share-language{margin-bottom:20px}.share-language h4{margin:0 0 8px;text-transform:uppercase;font-size:13px;color:#555}.share-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.share-links a,.share-links button{font-size:12px;padding:6px 12px;margin:0}.script-column textarea{width:100%;font-family:SF Mono,Menlo,monospace;font-size:12px}.line-list{padding-left:18px}.line-list li{margin-bottom:14px}.line-text{margin-bottom:4px}audio{display:block;margin:4px 0;width:100%}video{border-radius:8px;max-width:100%}.stage-row{display:flex;align-items:center;gap:10px;margin:8px 0;flex-wrap:wrap}.progress-bar{width:160px;height:18px;background:#e5e7eb;border-radius:999px;overflow:hidden;position:relative}.progress-fill{height:100%;background:#e67e22;transition:width .3s ease}.progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#2b2b2b}.job-status{font-size:12px;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.job-queued{background:#fdf1dc;color:#a1671b}.job-running{background:#fdecc8;color:#8a5a00;animation:pulse 1.4s ease-in-out infinite}.job-done{background:#e3f4ea;color:#1e7a45}.job-failed{background:#fdecea;color:#b3261e;text-transform:none;letter-spacing:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.timeline-view{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 4px #00000014}.timeline-view h2{margin:0 0 16px;font-size:18px}.timeline-columns{display:grid;grid-template-columns:repeat(6,minmax(160px,1fr));gap:12px;overflow-x:auto}.timeline-column{background:#f8f9fa;border-radius:8px;padding:10px;min-height:200px}.timeline-column h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#555;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.timeline-cards{display:flex;flex-direction:column;gap:8px}.timeline-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease;position:relative}.timeline-card:hover{border-color:#e67e22;box-shadow:0 2px 8px #e67e221f}.timeline-card.selected{border-color:#e67e22;box-shadow:0 0 0 2px #e67e2233}.timeline-ep-number{font-size:11px;font-weight:700;color:#e67e22;margin-bottom:4px}.timeline-title{font-size:13px;font-weight:600;line-height:1.3;margin-bottom:2px}.timeline-subtitle{font-size:11px;color:#666;margin-bottom:6px}.timeline-hero{font-size:11px;color:#888}.timeline-selected-tag{position:absolute;top:6px;right:6px;font-size:9px;background:#e67e22;color:#fff;padding:2px 6px;border-radius:999px;text-transform:uppercase}.timeline-empty{font-size:12px;color:#aaa;text-align:center;padding:20px 0}.select-hint{color:#666;margin:12px 0 24px}.workers-panel{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15)}.workers-panel h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin:0 0 10px}.workers-panel .muted{font-size:12px;opacity:.6;line-height:1.4}.workers-panel ul{list-style:none;margin:0;padding:0}.workers-panel li{display:flex;align-items:center;gap:8px;padding:6px 0}.workers-panel .dot{width:8px;height:8px;border-radius:50%;background:#666;flex-shrink:0}.workers-panel li.online .dot{background:#3ecf6e}.workers-panel .worker-name{font-size:13px}.workers-panel .worker-caps{font-size:11px;opacity:.65}.cast-panel{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15)}.cast-panel h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin:0 0 10px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.panel-header button{font-size:12px;padding:6px 10px}.cast-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.cast-card{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}.cast-card.inactive{opacity:.5}.cast-swatch{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.3)}.cast-info{flex:1;min-width:0}.cast-info strong{display:block;font-size:13px}.cast-meta{font-size:11px;opacity:.65}.cast-catchphrase{font-size:11px;opacity:.85;margin:2px 0 0;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cast-actions{display:flex;gap:4px}.cast-actions button{font-size:11px;padding:4px 8px;margin:0}.character-form{background:#ffffff14;border-radius:8px;padding:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.character-form label{display:flex;flex-direction:column;gap:3px;font-size:12px}.character-form input,.character-form textarea{padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0003;color:#fff;font-size:13px}.character-form input[type=color]{padding:2px;height:32px}.character-form .checkbox{flex-direction:row;align-items:center;gap:8px}.form-actions{display:flex;gap:8px;margin-top:4px}.form-actions button{margin:0}
