:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;background-color:#f0f2f5}.app-container{display:flex;min-height:100vh}.sidebar{width:280px;background:#1a1a2e;color:#fff;padding:24px 16px;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;overflow-y:auto}.sidebar-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h1{font-size:20px;font-weight:700;margin-bottom:4px}.sidebar-header p{font-size:12px;color:#fff9}.btn-new-project{width:100%;padding:12px 16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:24px}.btn-new-project:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-api-settings{width:100%;padding:10px 16px;background:#ffffff0d;color:#ffffffb3;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s;margin-bottom:24px}.btn-api-settings:hover{background:#ffffff1a;color:#fff}.sidebar-section{margin-bottom:24px}.sidebar-section h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;margin-bottom:12px}.project-list{display:flex;flex-direction:column;gap:4px}.no-projects{font-size:13px;color:#fff6;text-align:center;padding:16px 0}.project-item{padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s}.project-item:hover{background:#ffffff0d}.project-item.active{background:#6366f133;border:1px solid rgba(99,102,241,.3)}.project-info{display:flex;align-items:center;gap:8px;margin-bottom:4px}.project-title{font-size:14px;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-episode{font-size:11px;background:#ffffff1a;padding:2px 6px;border-radius:4px}.project-meta{display:flex;align-items:center;justify-content:space-between}.project-date{font-size:11px;color:#fff6}.btn-delete{width:20px;height:20px;border:none;background:#ffffff1a;color:#ffffff80;border-radius:4px;cursor:pointer;font-size:14px;line-height:1;opacity:0;transition:all .2s}.project-item:hover .btn-delete{opacity:1}.btn-delete:hover{background:#ef4444;color:#fff}.btn-view-all{width:100%;padding:10px 12px;margin-top:8px;background:#6366f11a;color:#a5b4fc;border:1px dashed rgba(99,102,241,.3);border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.btn-view-all:hover{background:#6366f133;color:#fff}.step-nav{display:flex;flex-direction:column;gap:4px}.step-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:transparent;color:#fff9;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.step-nav-item:hover{background:#ffffff0d;color:#fff}.step-nav-item.active{background:#6366f133;color:#fff}.step-number{width:24px;height:24px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.step-nav-item.active .step-number{background:#6366f1}.step-label{font-size:13px}.main-content{flex:1;margin-left:280px;padding:24px}.welcome-screen{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 48px)}.welcome-card{background:#fff;padding:48px;border-radius:16px;text-align:center;box-shadow:0 4px 24px #00000014;max-width:500px}.welcome-card h2{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.welcome-card p{font-size:15px;color:#666;margin-bottom:24px}.api-status{background:#f5f5f5;border-radius:8px;padding:16px;margin-bottom:24px}.api-status h4{font-size:13px;font-weight:600;color:#666;margin-bottom:12px}.api-status-list{display:flex;flex-direction:column;gap:6px}.api-status-list span{font-size:13px;color:#999}.api-status-list span.connected{color:#22c55e}.welcome-buttons{display:flex;gap:12px;justify-content:center}.content-area{max-width:900px}.content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.header-info{display:flex;align-items:center;gap:12px}.content-header h2{font-size:24px;font-weight:700;color:#1a1a1a}.episode-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:4px 12px;border-radius:16px;font-size:13px;font-weight:600}.step-indicator{font-size:14px;color:#666}.card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #00000014}.card h3{font-size:18px;font-weight:600;color:#1a1a1a;margin-bottom:20px}.card .description{font-size:14px;color:#666;margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group select,.form-group input[type=text],.form-group input[type=number]{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s}.form-group select:focus,.form-group input:focus{outline:none;border-color:#6366f1}.form-group select:disabled,.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-group small{display:block;margin-top:6px;font-size:12px;color:#888}.form-group input::placeholder{color:#aaa}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.script-textarea{width:100%;min-height:120px;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;resize:vertical;font-family:inherit}.file-upload{display:flex;align-items:center;gap:12px}.file-upload span{font-size:13px;color:#888}.button-row{display:flex;gap:12px;margin-top:24px}.btn-primary{padding:12px 24px;background:#1a73e8;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:#1557b0}.btn-primary:disabled{background:#a0c4f1;cursor:not-allowed}.btn-primary.large{padding:16px 32px;font-size:16px}.btn-secondary{padding:12px 24px;background:#6c757d;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-outline{padding:12px 24px;background:#fff;color:#333;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-outline:hover{background:#f5f5f5;border-color:#ccc}.btn-success{padding:10px 20px;background:#22c55e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-success:hover{background:#16a34a}.btn-danger{padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#dc2626}.btn-purple{padding:12px 24px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-purple:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.btn-small{padding:6px 12px;background:#f0f0f0;color:#333;border:none;border-radius:6px;font-size:12px;cursor:pointer;margin-top:8px}.btn-small:hover{background:#e0e0e0}.btn-download{padding:12px 20px;background:#fff;color:#333;border:1px solid #e0e0e0;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-download:hover{background:#f5f5f5;border-color:#6366f1;color:#6366f1}.download-buttons{display:flex;flex-wrap:wrap;gap:12px}.result-section{margin-top:32px;padding-top:24px;border-top:1px solid #eee}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.result-header h4{font-size:16px;font-weight:600;color:#333}.char-count{font-size:14px;color:#6366f1;font-weight:500}.progress-indicator{background:#e0e7ff;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px;color:#4f46e5;display:flex;align-items:center;gap:8px}.progress-indicator .dot{width:8px;height:8px;background:#4f46e5;border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.script-box{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;max-height:400px;overflow-y:auto}.script-box pre{font-family:inherit;font-size:14px;line-height:1.8;color:#333;white-space:pre-wrap;word-wrap:break-word;margin:0}.result-buttons{display:flex;gap:12px;margin-top:16px}.complete-banner{margin-top:24px;background:linear-gradient(135deg,#e0e7ff,#ede9fe);border-radius:12px;padding:24px;text-align:center}.complete-banner p{font-size:15px;color:#333;margin-bottom:16px}.complete-buttons{display:flex;justify-content:center;gap:12px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:400px;box-shadow:0 20px 40px #0003}.modal h3{font-size:20px;font-weight:700;color:#1a1a1a;margin-bottom:16px}.modal-large{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0}.project-count{background:#f0f0f0;padding:4px 12px;border-radius:12px;font-size:13px;color:#666}.all-projects-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.project-item-large{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.project-item-large:hover{background:#f0f0f0;border-color:#6366f1}.project-item-large.active{background:#ede9fe;border-color:#6366f1}.project-main{display:flex;align-items:center;gap:8px;flex:1}.project-item-large .project-title{font-size:15px;font-weight:600;color:#1a1a1a}.project-item-large .project-episode{font-size:12px;background:#6366f1;color:#fff;padding:2px 8px;border-radius:4px}.project-details{display:flex;gap:16px;align-items:center}.project-details .project-date{font-size:12px;color:#888}.project-step{font-size:12px;background:#e0e7ff;color:#4f46e5;padding:2px 8px;border-radius:4px}.btn-delete-large{padding:6px 12px;background:#fff;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.btn-delete-large:hover{background:#dc2626;color:#fff}.modal-description{font-size:14px;color:#666;margin-bottom:24px}.modal .link{font-size:12px;color:#6366f1;margin-left:8px;text-decoration:none}.modal .link:hover{text-decoration:underline}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-top:16px;color:#dc2626;font-size:14px}.warning{color:#f59e0b}.modal-buttons{display:flex;gap:12px;margin-top:24px}.modal-buttons .btn-outline,.modal-buttons .btn-primary{flex:1}.episode-grid{margin-top:24px;padding:16px;background:#f8f9fa;border-radius:8px}.episode-grid h4{margin-bottom:12px;font-size:14px;color:#333}.episode-grid small{display:block;margin-top:12px;font-size:12px;color:#666}.episode-buttons{display:flex;flex-wrap:wrap;gap:8px}.episode-btn{padding:8px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .2s}.episode-btn:hover:not(:disabled){border-color:#6366f1;background:#f0f0ff}.episode-btn:disabled{opacity:.5;cursor:not-allowed}.episode-btn.locked{background:#f5f5f5;border-color:#ccc;color:#999}.episode-btn.selected{border-color:#6366f1;background:#e8eaff;box-shadow:0 0 0 2px #6366f14d}.episode-btn.generated{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.episode-btn.generating{background:#fff3e0;border-color:#ff9800;color:#e65100;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.episode-work-area{margin-top:20px;padding:16px;background:#f0f4ff;border-radius:8px;border:1px solid #d0d8ff}.episode-work-area h4{margin-bottom:12px;font-size:14px;color:#333}.saved-badge{display:inline-flex;align-items:center;padding:8px 16px;background:#e8f5e9;color:#2e7d32;border-radius:6px;font-size:13px;font-weight:500}.side-story-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#9c27b0;color:#fff;border-radius:4px;font-size:11px}.episode-btn.side-story{background:#f3e5f5;border-color:#9c27b0}.episode-btn.side-story.generated{background:#e1bee7;color:#6a1b9a}.episode-btn.add-btn{background:#f5f5f5;border-style:dashed;color:#666}.episode-btn.add-btn:hover{background:#e8eaff;border-color:#6366f1;color:#6366f1}.ad-settings{margin:16px 0;padding:12px;background:#fff8e1;border:1px solid #ffcc80;border-radius:8px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px}.ad-inputs{margin-top:12px;display:flex;flex-direction:column;gap:12px}.ad-inputs .form-group{margin-bottom:0}.ad-inputs .form-group label{font-size:12px;color:#666}.warning-message{padding:16px;background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;color:#e65100}.warning-message p{margin-bottom:12px}.prompts-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;margin-top:12px}.prompt-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px}.prompt-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.prompt-header strong{color:#6366f1;font-size:14px}.scene-desc{color:#666;font-size:13px}.prompt-content{background:#1a1a2e;color:#e0e0e0;padding:10px 12px;border-radius:6px;margin-bottom:8px;font-size:12px;line-height:1.5;overflow-x:auto}.prompt-content code{white-space:pre-wrap;word-break:break-word}.btn-small{padding:4px 10px;background:#6366f1;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer}.btn-small:hover{background:#4f46e5}.btn-small.btn-primary{background:#6366f1}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.image-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.image-card-header{display:flex;flex-direction:column;gap:4px}.image-card-header strong{color:#6366f1;font-size:14px}.image-card-header .scene-desc{color:#666;font-size:12px;line-height:1.4}.image-preview-area{aspect-ratio:16/9;background:#f3f4f6;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.generated-image{width:100%;height:100%;object-fit:cover}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;font-size:13px;gap:8px}.image-placeholder.generating{color:#6366f1}.image-placeholder.error{color:#ef4444}.spinner{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.prompt-details{font-size:11px;background:#f8f9fa;border-radius:6px;padding:8px}.prompt-details summary{cursor:pointer;color:#6366f1;font-weight:500}.prompt-details code{display:block;margin-top:8px;white-space:pre-wrap;word-break:break-word;color:#374151;line-height:1.4}.image-card-buttons,.header-buttons{display:flex;gap:8px}.file-drop-zone{border:2px dashed #ccc;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .2s;background:#fafafa;position:relative}.file-drop-zone:hover{border-color:#6366f1;background:#f5f5ff}.file-drop-zone.dragging{border-color:#6366f1;background:#ede9fe;border-style:solid}.file-drop-zone.has-image{padding:12px;border-style:solid;border-color:#6366f1}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:8px}.drop-icon{font-size:32px}.drop-zone-content p{color:#666;font-size:13px}.file-input-hidden{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.image-preview-container{display:flex;flex-direction:column;align-items:center;gap:8px}.image-preview{max-width:200px;max-height:150px;border-radius:4px;object-fit:contain}.btn-remove-image{padding:4px 12px;background:#ff5252;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.btn-remove-image:hover{background:#d32f2f}@media(max-width:1024px){.sidebar{width:240px}.main-content{margin-left:240px}}@media(max-width:768px){.app-container{flex-direction:column}.sidebar{position:relative;width:100%;padding:16px}.main-content{margin-left:0}.form-row{grid-template-columns:1fr}.button-row,.complete-buttons,.download-buttons{flex-direction:column}}.image-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:9999;cursor:pointer}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;cursor:default}.image-modal-content img{max-width:100%;max-height:85vh;border-radius:8px;box-shadow:0 4px 20px #00000080}.modal-close-btn{position:absolute;top:-40px;right:0;background:#fff3;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.modal-close-btn:hover{background:#ffffff4d}.generated-image{transition:transform .2s}.generated-image:hover{transform:scale(1.02);box-shadow:0 4px 12px #0003}
