.landing-page{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298,#1e3c72);color:#fff}.landing-container{max-width:1200px;margin:0 auto;padding:2rem}.landing-header{text-align:center;padding:3rem 0 2rem}.landing-header h1{font-size:4rem;font-weight:700;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{font-size:1.5rem;color:#ffffffe6;margin:1rem 0 0}.hero-section{padding:4rem 0;text-align:center}.hero-content h2{font-size:3rem;margin-bottom:1.5rem;color:#fff}.hero-description{font-size:1.25rem;color:#ffffffd9;max-width:700px;margin:0 auto 2.5rem;line-height:1.6}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.btn-secondary{background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-2px)}.btn-large{font-size:1.3rem;padding:1.25rem 3rem}.features-section{padding:5rem 0}.features-section h2{text-align:center;font-size:2.5rem;margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{background:#ffffff14;border-radius:12px;padding:2rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.feature-card:hover{background:#ffffff1f;transform:translateY(-5px);box-shadow:0 10px 30px #0000004d}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.5rem;margin-bottom:.75rem;color:#fff}.feature-card p{color:#fffc;line-height:1.6}.how-it-works{padding:5rem 0;text-align:center}.how-it-works h2{font-size:2.5rem;margin-bottom:3rem}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;max-width:1000px;margin:0 auto}.step{position:relative}.step-number{display:inline-block;width:60px;height:60px;line-height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;font-size:1.75rem;font-weight:700;margin-bottom:1.5rem}.step h3{font-size:1.5rem;margin-bottom:.75rem;color:#fff}.step p{color:#fffc;line-height:1.6}.cta-section{padding:5rem 0;text-align:center;background:#ffffff0d;border-radius:20px;margin:3rem 0}.cta-section h2{font-size:2.5rem;margin-bottom:1rem}.cta-section p{font-size:1.25rem;color:#ffffffd9;margin-bottom:2rem}.landing-footer{text-align:center;padding:3rem 0 2rem;color:#fff9;border-top:1px solid rgba(255,255,255,.1);margin-top:3rem}@media (max-width: 768px){.landing-header h1{font-size:2.5rem}.tagline{font-size:1.2rem}.hero-content h2{font-size:2rem}.hero-description{font-size:1rem}.features-grid,.steps{grid-template-columns:1fr}.cta-buttons{flex-direction:column;align-items:center}.btn{width:100%;max-width:400px}}.create-scene-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;margin-bottom:32px}.form-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.create-scene-form h2{margin:0;font-size:24px;color:#333}.pdf-badge{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:11px;font-weight:600;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #f0f0f0}.form-section h3{margin:0 0 8px;font-size:18px;color:#444}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#444}.required{color:#d32f2f}.form-group input[type=text]:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.character-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px}.character-main{display:flex;align-items:center;gap:12px}.character-main input[type=radio]{flex-shrink:0;width:18px;height:18px;cursor:pointer}.character-info-wrapper{flex:1;display:flex;flex-direction:column;gap:4px}.character-name-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.character-name-input:focus{outline:none;border-color:#4a90e2}.character-voice-info{font-size:11px;color:#666;font-style:italic;padding-left:2px}.your-character-badge{display:inline-block;padding:4px 8px;background:#4a90e2;color:#fff;font-size:12px;font-weight:500;border-radius:4px;margin-left:30px}.lines-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.line-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;transition:border-color .2s}.line-item.your-line{background:#e3f2fd;border-color:#90caf9}.line-item.npc-line{background:#fff9e6;border-color:#ffe082}.line-order{display:flex;flex-direction:column;align-items:center;gap:4px}.line-number{font-size:12px;font-weight:600;color:#666;min-width:24px;text-align:center}.line-content{flex:1;display:flex;flex-direction:column;gap:8px}.line-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.line-character-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.your-line-badge{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;box-shadow:0 2px 4px #4a90e24d}.npc-line-badge{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 2px 4px #ff98004d}.line-character-select{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-weight:500;background:#fff;cursor:pointer;color:#666}.line-character-select:focus{outline:none;border-color:#4a90e2}.line-text-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.line-text-input:focus{outline:none;border-color:#4a90e2}.line-badge{align-self:flex-start;padding:3px 8px;background:#4a90e2;color:#fff;font-size:11px;font-weight:600;border-radius:3px}.btn-icon{background:#fff;border:1px solid #ddd;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:14px;color:#666;transition:all .2s}.btn-icon:hover:not(:disabled){background:#f5f5f5;border-color:#999}.btn-icon.btn-remove{color:#d32f2f;font-size:20px;padding:2px 8px}.btn-icon.btn-remove:hover:not(:disabled){background:#ffebee;border-color:#d32f2f}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.validation-summary{margin-top:16px;padding:12px 16px;background:#fff3e0;border:1px solid #ffb74d;border-radius:4px}.validation-summary p{margin:0 0 8px;font-weight:500;color:#e65100}.validation-summary ul{margin:0;padding-left:20px}.validation-summary li{color:#e65100;font-size:13px;margin-bottom:4px}@media (max-width: 768px){.create-scene-form{padding:16px}.line-content{flex-direction:column}.line-character-select{width:100%}}.line-and-pauses-wrapper{margin-bottom:8px}.pause-item{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:8px 0 8px 40px;background:linear-gradient(135deg,#fff3cd,#ffe8a1);border-left:4px solid #ffc107;border-radius:6px;box-shadow:0 2px 4px #00000014;transition:all .2s}.pause-item:hover{box-shadow:0 4px 8px #0000001f;transform:translateY(-1px)}.pause-icon{font-size:1.5rem;flex-shrink:0}.pause-controls{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pause-controls label{font-size:13px;font-weight:600;color:#856404;margin:0}.btn-icon-small{width:28px;height:28px;padding:0;background:#fff;border:1px solid #ffc107;border-radius:4px;cursor:pointer;font-size:14px;color:#856404;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon-small:hover:not(:disabled){background:#ffc107;color:#fff;transform:scale(1.1)}.btn-icon-small:disabled{opacity:.5;cursor:not-allowed}.pause-duration{font-weight:700;min-width:50px;text-align:center;font-size:15px;color:#856404;background:#fff;padding:4px 8px;border-radius:4px}.pause-description-input{flex:1;min-width:150px;padding:6px 12px;border:1px solid #ffc107;border-radius:4px;font-size:13px;background:#fff}.pause-description-input:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 3px #ffc1071a}.btn-remove-pause{background:#ff6b6b;color:#fff;font-size:20px;width:28px;height:28px;flex-shrink:0}.btn-remove-pause:hover:not(:disabled){background:#ff5252;transform:scale(1.1)}.btn-add-pause{width:100%;padding:10px;margin:4px 0 16px 40px;background:#fff;border:2px dashed #ffc107;border-radius:6px;color:#856404;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;text-align:center}.btn-add-pause:hover:not(:disabled){background:#fff3cd;border-color:#ff9800;color:#856404;transform:translateY(-1px);box-shadow:0 2px 4px #ffc10733}@media (max-width: 768px){.pause-item,.btn-add-pause{margin-left:20px}.pause-controls{flex-direction:column;align-items:stretch;gap:8px}.pause-description-input{min-width:100%}}.pdf-upload-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:32px;margin-bottom:32px;text-align:center}.pdf-upload-form h2{margin:0 0 8px;font-size:24px;color:#333}.upload-subtitle{margin:0 0 24px;font-size:14px;color:#666}.dropzone{border:2px dashed #ddd;border-radius:12px;padding:48px 24px;background:#fafafa;transition:all .3s ease;margin-bottom:16px}.dropzone.dragging{border-color:#4a90e2;background:#e3f2fd;transform:scale(1.02)}.dropzone.has-file{border-color:#4caf50;background:#f1f8e9}.dropzone.uploading{border-color:#4a90e2;background:#e3f2fd}.extraction-status{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px}.spinner{font-size:48px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.extraction-text{margin:0;font-size:16px;color:#1976d2;font-weight:500}.upload-icon{font-size:64px;margin-bottom:16px}.dropzone-text{margin:0 0 16px;font-size:16px;color:#555;line-height:1.6}.dropzone-text strong{color:#333}.btn-browse{background:#4a90e2;color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;margin-left:auto;margin-right:auto}.btn-browse:hover:not(:disabled){background:#357abd;transform:translateY(-2px)}.btn-browse:disabled{opacity:.5;cursor:not-allowed}.file-hint{margin:16px 0 0;font-size:12px;color:#999}.file-selected{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;background:#fff;border-radius:8px}.file-icon{font-size:48px}.file-info{flex:1;text-align:left}.file-name{margin:0 0 4px;font-weight:500;color:#333;font-size:14px;word-break:break-word}.file-size{margin:0;font-size:12px;color:#666}.btn-remove-file{background:#f443361a;border:2px solid rgba(244,67,54,.3);border-radius:50%;width:32px;height:32px;font-size:24px;line-height:1;cursor:pointer;transition:all .2s ease;color:#f44336}.btn-remove-file:hover{background:#f4433633;border-color:#f4433699;transform:scale(1.1)}.upload-status{padding:12px 16px;background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;margin:16px 0;color:#1976d2;font-size:14px;font-weight:500}.btn-upload{width:100%;padding:14px 24px;font-size:16px;margin-bottom:24px}.or-divider{position:relative;text-align:center;margin:24px 0}.or-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e0e0e0}.or-divider span{position:relative;background:#fff;padding:0 16px;color:#999;font-size:14px;font-weight:500}.btn-manual{display:block;margin:0 auto;max-width:300px;width:100%;padding:12px 24px;font-size:14px}.btn{border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary{background:#f5f5f5;color:#333!important;border:1px solid #ddd}@media (max-width: 768px){.pdf-upload-form{padding:24px 16px}.dropzone{padding:32px 16px}.file-selected{flex-direction:column;text-align:center}.file-info{text-align:center}}.character-selection-step{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:32px;margin-bottom:32px}.character-selection-step h2{margin:0 0 8px;font-size:24px;color:#333}.review-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #f0f0f0}.review-section:last-of-type{border-bottom:none}.review-section h3{margin:0 0 8px;font-size:18px;color:#444}.section-hint{margin:0 0 16px;font-size:14px;color:#666}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#444;font-size:14px}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#4a90e2}.characters-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.character-option{display:flex;align-items:center;gap:16px;padding:16px 20px 16px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative}.character-option:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:6px 0 0 6px;background-color:var(--character-color, #666)}.character-option:hover{background:#fafafa;transform:translate(2px)}.character-option.selected{background:#f8f9ff;border-color:#d0d0d0;box-shadow:0 2px 8px #00000014}.character-option input[type=radio]{width:20px;height:20px;cursor:pointer;flex-shrink:0;margin:0}.character-details{flex:1;display:flex;justify-content:space-between;align-items:center;min-width:0;gap:12px}.character-info{flex:1;min-width:0}.character-name{font-weight:600;font-size:16px;letter-spacing:.3px;display:block;margin-bottom:4px}.character-attributes{font-size:12px;color:#666;font-weight:400;line-height:1.4}.voice-profile-info{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.9rem;color:#666}.voice-profile-label{font-size:13px;color:#666;font-weight:500}.voice-select{padding:.25rem .5rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;font-family:inherit;transition:border-color .2s}.voice-select:hover{border-color:#999}.voice-select:focus{outline:none;border-color:#4a90e2}.your-character-note{font-size:13px;color:#999;font-style:italic}.character-lines{font-size:13px;color:#888;font-weight:500;flex-shrink:0;white-space:nowrap}.validation-hint{margin-top:8px;font-size:13px;color:#d32f2f;font-style:italic}.lines-preview{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;max-height:400px;overflow-y:auto}.line-preview-item{padding:12px 12px 12px 16px;margin-bottom:12px;background:#fafafa;border-radius:4px;transition:all .2s ease;position:relative}.line-preview-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px;background-color:var(--character-color, #666)}.line-preview-item:last-child{margin-bottom:0}.line-preview-item.your-line{background:#f8f9ff;box-shadow:0 1px 4px #4a90e226}.line-character{font-weight:700;font-size:14px;margin-bottom:6px;letter-spacing:.3px;text-transform:uppercase}.line-text{font-size:14px;color:#333;line-height:1.6;padding-left:2px}.lines-more{text-align:center;padding:12px;color:#666;font-size:13px;font-style:italic}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}@media (max-width: 768px){.character-selection-step{padding:24px 16px}.character-details{flex-direction:column;align-items:flex-start;gap:4px}}.voice-reader-selection-step{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:32px;margin-bottom:32px}.voice-reader-selection-step h2{margin:0 0 8px;font-size:24px;color:#333}.step-subtitle{margin:0 0 32px;font-size:14px;color:#666}.step-subtitle strong{color:#4a90e2;font-weight:600}.loading-message{text-align:center;padding:2rem;color:#666;font-style:italic}.character-reader-selection{margin-bottom:2rem;padding:1.5rem;background:#fafafa;border:1px solid #e0e0e0;border-radius:8px}.character-reader-selection h3{margin:0 0 8px;font-size:18px;color:#333;font-weight:600}.character-hint{margin:0 0 1rem;font-size:14px;color:#666}.error-message{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.loading-voices{color:#6c757d;font-style:italic;padding:1rem;text-align:center}.voice-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-top:1rem}.voice-card{padding:1rem;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff;display:flex;flex-direction:column}.voice-card:hover{border-color:#4a90e2;box-shadow:0 2px 8px #4a90e233;transform:translateY(-2px)}.voice-card.selected{border-color:#4a90e2;background:#f8f9ff;box-shadow:0 4px 12px #4a90e240}.voice-name{font-weight:600;font-size:16px;margin-bottom:.5rem;color:#333}.voice-attributes{font-size:13px;color:#666;margin-bottom:.75rem;flex-grow:1}.play-preview-btn{width:100%;margin-top:.75rem;padding:.5rem;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.play-preview-btn:hover{background:#e0e0e0;border-color:#999}.play-preview-btn.playing{background:#4a90e2;color:#fff;border-color:#4a90e2}.play-preview-btn.playing:hover{background:#357abd}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:#4a90e2;color:#fff}.btn-primary:hover:not(:disabled){background:#357abd}.btn-secondary{background:#f5f5f5;color:#333;border:1px solid #ddd}.btn-secondary:hover:not(:disabled){background:#e0e0e0}@media (max-width: 768px){.voice-reader-selection-step{padding:24px 16px}.voice-options-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.form-actions{flex-direction:column}}.multi-scene-selection{max-width:1000px;margin:2rem auto;padding:0 1rem}.selection-container{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem}.selection-container h2{color:#fff;margin:0 0 1rem;font-size:1.8rem;text-align:center}.selection-container p{color:#fffc;text-align:center;margin:0 0 2rem;font-size:1.1rem}.selection-options{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.option-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease}.option-card:hover{background:#ffffff1a;border-color:#667eea80;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.option-card h3{color:#fff;margin:0 0 .75rem;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.option-card p{color:#fffc;margin:0 0 1rem;text-align:left;font-size:.95rem;line-height:1.5}.option-details{background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:8px;padding:.75rem;font-size:.9rem;color:#ffffffb3}.scene-preview{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.scene-preview h4{color:#fff;margin:0 0 1rem;font-size:1.1rem}.scene-list{display:flex;flex-direction:column;gap:.75rem}.scene-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#ffffff0d;border-radius:6px}.scene-number{color:#667eeacc;font-weight:600;min-width:1.5rem}.scene-info{flex:1}.scene-info strong{color:#fff;font-size:1rem;display:block;margin-bottom:.25rem}.scene-description{color:#ffffffb3;font-size:.85rem;margin:0 0 .5rem;line-height:1.4}.scene-stats{color:#fff9;font-size:.8rem}.action-buttons{display:flex;justify-content:center;gap:1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#fff3;color:#fff}@media (max-width: 768px){.multi-scene-selection{margin:1rem auto;padding:0 .75rem}.selection-container{padding:1.5rem}.selection-container h2{font-size:1.5rem}.selection-container p{font-size:1rem}.selection-options{grid-template-columns:1fr;gap:1rem}.option-card{padding:1.25rem}.option-card h3{font-size:1.2rem}.scene-preview{padding:1rem}}@media (max-width: 480px){.selection-container{padding:1rem}.selection-container h2{font-size:1.25rem}.selection-container p{font-size:.9rem}.option-card{padding:1rem}.option-card h3{font-size:1.1rem}.option-card p{font-size:.875rem}.scene-preview{padding:.875rem}.scene-preview h4{font-size:1rem}.btn{padding:.625rem 1.25rem;font-size:.9rem}}.toast{position:fixed;top:20px;right:20px;z-index:1000;max-width:400px;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out}.toast-success{background:#10b981;color:#fff}.toast-error{background:#ef4444;color:#fff}.toast-info{background:#3b82f6;color:#fff}.toast-content{display:flex;align-items:flex-start;gap:.75rem;padding:1rem}.toast-icon{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}.toast-message{flex:1;font-size:.9rem;line-height:1.4}.toast-message a{color:inherit;text-decoration:underline}.toast-close{background:none;border:none;color:inherit;font-size:1.5rem;cursor:pointer;padding:0;margin-left:.5rem;opacity:.8;transition:opacity .2s ease}.toast-close:hover{opacity:1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.toast{top:10px;right:10px;left:10px;max-width:none}}.scenes-page{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298,#1e3c72);padding:1.5rem}.scenes-container{max-width:1400px;width:85%;margin:0 auto}.scenes-header{text-align:center;margin-bottom:3rem}.scenes-header .header-content{display:flex;justify-content:space-between;align-items:center;max-width:none;width:100%;margin:0 auto;padding:0 2rem}.scenes-header h1{font-size:4rem;font-weight:700;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.scenes-header .subtitle{font-size:1.2rem;color:#fffc;margin:1rem 0 0}.user-profile{display:flex;align-items:center;gap:1rem}.user-greeting{color:#ffffffe6;font-size:1rem;font-weight:500}.error-banner{background:#f4433633;border:2px solid rgba(244,67,54,.5);border-radius:8px;padding:1rem;margin-bottom:2rem;color:#ff6b6b}.create-status-banner{background:#4caf5033;border:2px solid rgba(76,175,80,.5);border-radius:8px;padding:1rem;margin-bottom:2rem;color:#81c784;text-align:center;font-weight:500}.create-scene-section{text-align:center;margin-bottom:2rem}.btn-create{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;margin:auto}.btn-create:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-create:disabled{opacity:.5;cursor:not-allowed;transform:none}.scenes-section{background:#0000004d;border-radius:16px;padding:2rem;margin-bottom:2rem}.scenes-section h2{color:#ffffffe6;margin:0 0 1.5rem;font-size:2rem}.loading{text-align:center;padding:3rem;color:#fff9;font-size:1.1rem}.empty-state{text-align:center;padding:3rem;color:#ffffffb3}.empty-state code{display:block;margin-top:1rem;padding:1rem;background:#0000004d;border-radius:8px;font-family:Courier New,monospace;color:#4caf50}.scenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.scene-card-wrapper{position:relative}.scene-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;text-decoration:none;color:inherit;transition:all .3s ease;cursor:pointer;display:block;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.scene-card:hover{background:#ffffff1a;border-color:#667eea80;transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.delete-scene-btn{position:absolute;top:12px;right:12px;background:#f4433633;border:2px solid rgba(244,67,54,.4);border-radius:8px;padding:6px 10px;font-size:1.2rem;cursor:pointer;transition:all .2s ease;opacity:0;z-index:10}.scene-card-wrapper:hover .delete-scene-btn{opacity:1}.delete-scene-btn:hover{background:#f4433666;border-color:#f44336cc;transform:scale(1.1)}.delete-scene-btn:active{transform:scale(.95)}.scene-card h3{margin:0 0 .75rem;color:#fffffff2;font-size:1.5rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.scene-description{color:#ffffffb3;margin:0 0 1rem;font-size:.95rem;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.scene-characters{margin:.75rem 0;font-size:.9rem}.characters-list{color:#fffc}.characters-label{font-weight:500;color:#ffffffb3}.characters-names{color:#ffffffe6}.your-character{color:gold;font-weight:500;margin-left:.5rem}.no-character-selected{color:#fff9;font-style:italic;padding:.5rem;background:#ffffff0d;border-radius:6px;border:1px dashed rgba(255,255,255,.2)}.scene-meta{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.scene-date{color:#ffffff80;font-size:.85rem}.home-footer{text-align:center;color:#fff9;font-size:.9rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.home-footer a{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s ease}.home-footer a:hover{color:#8a9cfa}@media (max-width: 768px){.scenes-page{padding:1rem}.scenes-header .header-content{flex-direction:column;gap:1.5rem;padding:0 1rem}.scenes-header h1{font-size:2.5rem}.scenes-header .subtitle{font-size:1rem}.scenes-section{padding:1.5rem}.scenes-section h2{font-size:1.5rem}.scenes-grid{grid-template-columns:1fr;gap:1rem}.scene-card{padding:1.25rem}.scene-card h3{font-size:1.25rem}}@media (max-width: 480px){.scenes-header h1{font-size:2rem}.scenes-header .subtitle{font-size:.9rem}.scenes-section{padding:1rem}.scenes-section h2{font-size:1.25rem}.btn-create{padding:.875rem 1.5rem;font-size:1rem}}.scene-page{min-height:100vh;background:#f8f9fa;padding:2rem;position:relative}.countdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}.countdown-number{font-size:120px;font-weight:700;color:#fff;animation:countdownPulse 1s ease}.countdown-text{font-size:24px;color:#fffc;margin-top:1rem}@keyframes countdownPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.scene-container{width:85%;max-width:1400px;margin:0 auto;background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 2px 8px #00000014}.scene-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.mode-perform .scene-header,.mode-memorize-listen .scene-header,.mode-memorize-practice .scene-header{border-bottom:none;margin-bottom:1rem;padding-bottom:.5rem}.back-link{color:#666;text-decoration:none;font-size:.95rem;transition:color .2s ease;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.back-link:hover{color:#333}.scene-title{flex:1;font-size:1.8rem;font-weight:600;color:#333;margin:0}.scene-title.editable{cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .2s ease}.scene-title.editable:hover{background:#f5f5f5}.title-edit-inline{display:flex;align-items:center;gap:.75rem;flex:1}.title-edit-inline input{flex:1;padding:.5rem;font-size:1.5rem;font-weight:600;border:2px solid #667eea;border-radius:6px;font-family:inherit;color:#333;background:#fff}.btn-sm{padding:.5rem 1rem;font-size:.9rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-sm.btn-primary{background:#667eea;color:#fff!important}.btn-sm.btn-secondary{background:#f5f5f5;color:#333!important;border:1px solid #e0e0e0}.script-section{margin-bottom:2rem;max-height:60vh;overflow-y:auto;padding:.5rem 1rem;scroll-padding-top:1rem}.mode-perform .script-section,.mode-memorize-listen .script-section,.mode-memorize-practice .script-section{margin-top:0}.script-section::-webkit-scrollbar{width:8px}.script-section::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.script-section::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.script-section::-webkit-scrollbar-thumb:hover{background:#999}.line-wrapper{margin-bottom:1rem}.script-line{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;transition:all .3s ease;position:relative;background:#fff;border:2px solid #e0e0e0}.mode-edit .script-line{cursor:pointer;border-color:#e0e0e0}.mode-edit .script-line:hover{background:#f8f9fa;border-color:#667eea}.mode-edit .your-line{background:#ffd70014;border-color:#ffd7004d}.mode-edit .your-line:hover{background:#ffd70026;border-color:#ffd70080}.mode-edit .npc-line{background:#fff;border-color:#e0e0e0}.mode-perform .script-line,.mode-memorize-listen .script-line,.mode-memorize-practice .script-line{opacity:.5;transition:opacity .3s ease}.mode-perform .script-line.active,.mode-memorize-listen .script-line.active,.mode-memorize-practice .script-line.active{opacity:1!important;background:#fff;border:2px solid rgba(102,126,234,.5);transform:scale(1.02);box-shadow:0 4px 12px #667eea33}.mode-perform .npc-line.active .character-name,.mode-memorize-listen .npc-line.active .character-name,.mode-memorize-practice .npc-line.active .character-name{opacity:1!important;color:#000!important;font-weight:800!important}.mode-perform .npc-line.active .line-text,.mode-memorize-listen .npc-line.active .line-text,.mode-memorize-practice .npc-line.active .line-text{opacity:1!important;color:#000!important;font-weight:600!important}.mode-perform .your-line.active .character-name,.mode-memorize-listen .your-line.active .character-name,.mode-memorize-practice .your-line.active .character-name{opacity:1!important;color:#f59e0b!important;font-weight:800!important}.mode-perform .your-line.active .line-text,.mode-memorize-listen .your-line.active .line-text,.mode-memorize-practice .your-line.active .line-text{opacity:1!important;color:#333!important;font-weight:600!important}.mode-perform .your-line.active,.mode-memorize-listen .your-line.active,.mode-memorize-practice .your-line.active{background:#ffd70026;border-color:#ffd70080}.mode-perform .script-line.complete,.mode-memorize-listen .script-line.complete,.mode-memorize-practice .script-line.complete{opacity:.3}.drag-handle{color:#999;font-size:1.2rem;cursor:grab;transition:color .2s ease;-webkit-user-select:none;user-select:none}.drag-handle:hover{color:#667eea}.mode-perform .drag-handle,.mode-memorize-listen .drag-handle,.mode-memorize-practice .drag-handle{display:none}.line-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.character-name{font-weight:700;font-size:.85rem;letter-spacing:.5px;color:#666}.your-line .character-name{color:#f59e0b}.line-text{font-size:1rem;line-height:1.6;color:#333;word-wrap:break-word}.mode-perform .your-line .line-text .highlighted,.mode-memorize-practice .your-line .line-text .highlighted{background:#ffd70066;padding:.1rem .2rem;border-radius:3px}.mode-perform .npc-line .line-text .highlighted,.mode-memorize-listen .npc-line .line-text .highlighted,.mode-memorize-practice .npc-line .line-text .highlighted,.mode-memorize-listen .your-line .line-text .highlighted{background:none;padding:0}.line-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.line-actions.visible{max-height:200px;opacity:1}.line-actions:has(.btn-hold-record.recording),.line-actions:has(.btn-hold-record.processing){max-height:200px;opacity:1}.btn-action{padding:.4rem .8rem;font-size:.85rem;background:#fff;color:#333;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-weight:500}.btn-action:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea;transform:translateY(-1px)}.btn-action:disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5;color:#999;border-color:#e0e0e0}.btn-action.btn-hold-record{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;font-weight:600;-webkit-user-select:none;user-select:none;cursor:pointer;min-width:180px}.btn-action.btn-hold-record:hover{background:linear-gradient(135deg,#7c8ef5,#8b5bb8);transform:translateY(-1px)}.btn-action.btn-hold-record:active{background:linear-gradient(135deg,#5563d1,#634086);transform:translateY(0)}.btn-action.btn-hold-record.recording{background:#dc3545;border-color:#dc3545;cursor:default}.btn-action.btn-hold-record.recording:hover{background:#dc3545;transform:none}.btn-action.btn-hold-record.processing{background:#6c757d;border-color:#6c757d;cursor:not-allowed}.btn-action.btn-hold-record.processing:hover{background:#6c757d;transform:none}.record-icon{display:inline-block;animation:pulse-record 1.5s ease-in-out infinite;font-size:1rem;margin-right:.25rem}@keyframes pulse-record{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.transform-spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}.transform-spinner-inline-blue{display:inline-block;width:14px;height:14px;border:2px solid rgba(94,114,228,.3);border-top-color:#5e72e4;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}.mode-perform .line-actions,.mode-memorize-listen .line-actions,.mode-memorize-practice .line-actions{display:none}.pause-display{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;transition:all .2s ease;position:relative;background:#fff9e6;border:2px solid #ffd966;overflow:hidden;cursor:pointer}.mode-edit .pause-display{cursor:pointer;border-color:#ffd966}.mode-edit .pause-display:hover{background:#fff8dc;border-color:#ffb732}.mode-perform .pause-display{opacity:.5;transition:opacity .3s ease}.mode-perform .pause-display.active{opacity:1;border-color:#ff9800;background:#fff3cd;transform:scale(1.02)}.pause-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.pause-label{font-weight:600;font-size:.9rem;color:#b8860b}.pause-progress{position:absolute;bottom:0;left:0;height:3px;background:#ff9800;transition:width .1s linear}.edit-controls{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0 1rem;border-top:1px solid #e0e0e0}.btn-play-large{padding:1.25rem 3rem;font-size:1.25rem;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.btn-play-large:hover:not(:disabled){color:#fff!important;transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-play-large:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#9ca3af,#6b7280)}.audio-loading-status{padding:.75rem 1.5rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;color:#92400e;font-size:.95rem;font-weight:500;text-align:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.camera-preview-section{margin:2rem auto;max-width:640px}.video-takes-section{margin:2rem 0;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.camera-container{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0003}.video-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem}.btn{padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-video-record{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-video-record:hover:not(:disabled){box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.btn-stop-recording{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d;padding:1rem 2.5rem;font-size:1.1rem}.btn-stop-recording:hover{box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.takes-list-container{margin-top:2rem;padding-top:2rem;border-top:2px solid #e5e5e5}.perform-controls{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem 0;border-top:1px solid #e0e0e0}.mode-perform .perform-controls,.mode-memorize-listen .perform-controls,.mode-memorize-practice .perform-controls{border-top:none;padding-top:.75rem}.skip-instructions{color:#666;font-size:.875rem;text-align:center}.btn-control{padding:.875rem 1.5rem;font-size:1rem;font-weight:500;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#333}.btn-control:hover:not(:disabled){background:#f5f5f5;border-color:#667eea;transform:translateY(-1px)}.btn-control:disabled{opacity:.4;cursor:not-allowed}.btn-restart{padding:1rem 2rem;font-size:1.1rem;background:#ff9800;color:#fff!important;border-color:#ff9800}.btn-restart:hover:not(:disabled){background:#f57c00;color:#fff!important;border-color:#f57c00}.btn-exit{background:#f44336;color:#fff!important;border-color:#f44336}.btn-exit:hover:not(:disabled){background:#d32f2f!important;color:#fff!important;border-color:#d32f2f!important}.error-message{padding:1rem;background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;color:#c62828;margin-bottom:1rem;font-size:.95rem;white-space:pre-line}.loading{text-align:center;padding:3rem;font-size:1.1rem;color:#666}.line-actions .btn-action+.btn-action{margin-left:.5rem}.transform-loading{display:inline-flex;align-items:center;gap:.5rem;margin-left:.5rem;font-size:.875rem;color:#666}.transform-spinner{width:16px;height:16px;border:2px solid #e0e0e0;border-top-color:#5e72e4;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.custom-audio-badge{margin-left:.5rem;padding:.125rem .375rem;background-color:#5e72e4;color:#fff;font-size:.75rem;border-radius:.25rem;font-weight:500}@media (max-width: 768px){.scene-page{padding:1rem}.scene-container{width:95%;padding:1.5rem}.camera-preview-section{margin:1rem auto}.video-takes-section{padding:1rem}.video-controls{flex-direction:column;gap:.75rem}.video-controls .btn{width:100%}.scene-header{flex-direction:column;align-items:flex-start;gap:1rem}.scene-title{font-size:1.5rem}.mode-tabs{flex-direction:column}.mode-tab{padding:.625rem 1rem;font-size:.9rem}.script-section{max-height:50vh;padding:.5rem}.script-line{flex-direction:column;padding:.875rem}.line-text{font-size:.95rem}.line-actions{width:100%}.btn-action{flex:1 1 auto;min-width:fit-content}.btn-play-large{padding:1rem 2rem;font-size:1.1rem}.perform-controls{gap:.5rem}.skip-instructions{font-size:.8125rem}.btn-control{flex:1;min-width:120px}}@media (max-width: 480px){.scene-container{width:100%;border-radius:0;padding:1rem}.scene-title{font-size:1.25rem}.mode-tab{padding:.5rem .75rem;font-size:.85rem}.script-section{max-height:45vh}.script-line{padding:.75rem}.character-name{font-size:.8rem}.line-text{font-size:.9rem}.btn-play-large{padding:.875rem 1.5rem;font-size:1rem}.btn-control{padding:.75rem 1rem;font-size:.9rem;min-height:48px}.btn-exit{min-width:140px;min-height:48px}}.mode-selector{margin-bottom:1.5rem}.mode-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.mode-tab{flex:1 1 0;min-width:0;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:#666;background:#f5f5f5;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit}.mode-tab:hover:not(.mode-tab-active){background:#e8e8e8;color:#333}.mode-tab-active{color:#007bff;background:#e7f3ff;border-color:#007bff}.mode-tab-active:hover{background:#d0e8ff;color:#0056b3}.mode-description{text-align:center;color:#666;font-size:.9rem;padding:.5rem}.sub-mode-selector{margin-bottom:1rem;width:100%;max-width:600px}.sub-mode-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.sub-mode-tab{flex:1 1 0;min-width:0;padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:#666;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:inherit}.sub-mode-tab:hover:not(.sub-mode-tab-active){background:#f0f0f0;color:#333}.sub-mode-tab-active{color:#28a745;background:#e8f5e9;border-color:#28a745}.sub-mode-tab-active:hover{background:#d4edda;color:#1e7e34}.sub-mode-description{text-align:center;color:#666;font-size:.85rem;font-style:italic;padding:.5rem}.loading-message{text-align:center;color:#666;font-size:.9rem;margin-bottom:.75rem}.line-edit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.line-edit-modal{background:#fff;border-radius:12px;padding:1.5rem;max-width:600px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.btn-delete-line{background:#f443361a;border:2px solid rgba(244,67,54,.3);border-radius:8px;width:40px;height:40px;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.btn-delete-line:hover:not(:disabled){background:#f4433633;border-color:#f4433699;transform:scale(1.05)}.btn-delete-line:disabled{opacity:.5;cursor:not-allowed}.character-selector{flex:1;padding:.75rem;font-size:1rem;font-weight:600;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;cursor:pointer;transition:border-color .2s ease}.character-selector:focus{outline:none;border-color:#667eea}.character-selector:disabled{opacity:.5;cursor:not-allowed}.character-selector.readonly{cursor:default;background:#f5f5f5;border-color:#e0e0e0}.line-text-editor{width:100%;padding:1rem;font-size:1rem;font-family:inherit;border:2px solid #e0e0e0;border-radius:8px;resize:vertical;min-height:100px;margin-bottom:1rem;transition:border-color .2s ease;color:#333;background:#fff}.line-text-editor:focus{outline:none;border-color:#667eea}.line-text-editor:disabled{background:#f5f5f5;cursor:not-allowed}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-bottom:.5rem}.duration-input-group{display:flex;align-items:center;gap:.75rem}.duration-input{width:110px;padding:.75rem;font-size:1.25rem;text-align:center;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;transition:border-color .2s ease,box-shadow .2s ease;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.duration-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.duration-input:disabled{background:#f5f5f5;cursor:not-allowed}.duration-input::-webkit-outer-spin-button,.duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-stepper{width:52px;height:52px;border-radius:10px;border:2px solid #e0e0e0;background:#f5f5f5;font-size:1.5rem;font-weight:600;color:#333;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.duration-stepper:hover:not(:disabled){background:#e0e0e0;transform:translateY(-1px)}.duration-stepper:disabled{opacity:.6;cursor:not-allowed}.duration-helper{margin-top:.5rem;font-size:.85rem;color:#666}.input-error{margin-top:.25rem;font-size:.85rem;color:#d93025}.modal-field-label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}@media (max-width: 768px){.line-edit-modal{width:95%;padding:1rem}.modal-header{flex-wrap:wrap}.character-selector{width:100%;order:3}}.scene-settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.scene-settings-modal{background:#fff;border-radius:12px;padding:1.5rem;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.btn-close-modal{background:transparent;border:none;width:40px;height:40px;font-size:2rem;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#999;padding:0}.btn-close-modal:hover:not(:disabled){color:#333;transform:scale(1.1)}.modal-body{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-weight:600;color:#333;font-size:.95rem}.field-hint{font-size:.85rem;color:#666;margin:-.25rem 0 .5rem}.title-input{width:100%;padding:.75rem;font-size:1rem;font-family:inherit;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .2s ease;color:#333;background:#fff}.title-input:focus{outline:none;border-color:#667eea}.title-input:disabled{background:#f5f5f5;cursor:not-allowed}.description-input{width:100%;padding:.75rem;font-size:.95rem;font-family:inherit;border:2px solid #e0e0e0;border-radius:8px;resize:vertical;min-height:80px;transition:border-color .2s ease;color:#333;background:#fff}.description-input:focus{outline:none;border-color:#667eea}.description-input:disabled{background:#f5f5f5;cursor:not-allowed}.characters-list{display:flex;flex-direction:column;gap:.5rem}.character-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.character-item:hover{border-color:#667eea;background:#f8f9ff}.character-item input[type=radio]{cursor:pointer;width:18px;height:18px;flex-shrink:0}.character-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.character-name{font-weight:600;color:#333;font-size:1rem}.your-character-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:2px solid #f0f0f0;margin-bottom:.5rem}.btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7c8ef0,#8a5aaf);color:#fff!important}.btn-secondary{background:#f5f5f5;color:#333!important;border:2px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#e0e0e0;color:#333!important}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;transition:all .2s ease;background:#fff}.checkbox-label:hover{border-color:#667eea;background:#f8f9ff}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;flex-shrink:0;margin-top:.15rem}.checkbox-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.checkbox-description{font-size:.85rem;color:#666;font-weight:400}.hint-text{font-size:.85rem;color:#999;text-align:center;margin:0}@media (max-width: 768px){.scene-settings-modal{width:95%;padding:1rem;max-height:95vh}.modal-header h2{font-size:1.25rem}.character-info{flex-direction:column;align-items:flex-start}.your-character-badge{align-self:flex-start}}.camera-preview-container{position:relative;width:100%;height:100%;background:#000;overflow:hidden}.camera-preview{width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.recording-indicator{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 16px;border-radius:20px;z-index:10}.standby-indicator{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 16px;border-radius:20px;z-index:10;border:2px solid #667eea}.recording-dot{width:12px;height:12px;background:#f44;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.recording-time{color:#fff;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:14px;font-weight:600;letter-spacing:.5px}.standby-icon{font-size:16px;color:#667eea}.standby-text{color:#667eea;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:13px;font-weight:700;letter-spacing:1px}.camera-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e1e1e,#2d2d2d)}.camera-icon{font-size:64px;margin-bottom:16px;opacity:.6}.camera-placeholder p{color:#ffffffb3;font-size:14px;margin:0}@media (max-width: 768px){.camera-preview-container{border-radius:8px}.recording-indicator,.standby-indicator{top:12px;right:12px;padding:6px 12px}.recording-dot{width:10px;height:10px}.recording-time{font-size:12px}.standby-icon{font-size:14px}.standby-text{font-size:11px;letter-spacing:.8px}.camera-icon{font-size:48px}.camera-placeholder p{font-size:12px}}.camera-selector-button{position:absolute;top:16px;left:16px;width:44px;height:44px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.camera-selector-button:hover{background:#000000d9;transform:scale(1.05)}.camera-selector-button:active{transform:scale(.95)}.camera-selector-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.camera-selector-modal{background:#fff;border-radius:16px;padding:24px;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.btn-close-modal{background:none;border:none;font-size:32px;line-height:1;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.camera-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.camera-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f5f5f5;color:#1a1a1a;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left;font-size:15px}.camera-option:hover{background:#ebebeb;border-color:#d0d0d0}.camera-option.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.camera-icon{font-size:24px;flex-shrink:0}.camera-name{flex:1;font-weight:500}.checkmark{font-size:20px;font-weight:700;flex-shrink:0}.recording-settings-section{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.resolution-selector{margin-bottom:16px}.resolution-label{display:block;font-size:13px;font-weight:600;color:#666;margin-bottom:8px}.custom-select-wrapper{position:relative;width:100%}.custom-select-button{width:100%;padding:10px 12px;font-size:14px;border:2px solid #e5e5e5;border-radius:8px;background:#fff;color:#1a1a1a;cursor:pointer;transition:border-color .2s ease;display:flex;align-items:center;justify-content:space-between;text-align:left}.custom-select-button:hover{border-color:#d0d0d0}.custom-select-button:focus{outline:none;border-color:#667eea}.dropdown-arrow{font-size:10px;color:#666;margin-left:8px}.custom-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:2px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:200px;overflow-y:auto;animation:dropdownSlideIn .15s ease}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-select-option{width:100%;padding:10px 12px;font-size:14px;border:none;background:#fff;color:#1a1a1a;cursor:pointer;text-align:left;transition:background-color .15s ease;display:flex;align-items:center;justify-content:space-between}.custom-select-option:hover{background:#f5f5f5}.custom-select-option.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.option-checkmark{font-size:16px;font-weight:700;margin-left:8px}.resolution-loading{padding:10px 12px;font-size:14px;color:#999;font-style:italic}.checkbox-option{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease}.checkbox-option:hover{background:#f0f0f0;border-color:#d0d0d0}.checkbox-option input[type=checkbox]{cursor:pointer;width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:#667eea}.checkbox-content{display:flex;flex-direction:column;gap:4px;flex:1}.checkbox-label{font-size:14px;font-weight:500;color:#1a1a1a;line-height:1.3}.checkbox-description{font-size:12px;color:#666;line-height:1.4}.hint-text{color:#666;font-size:13px;margin:16px 0 0;text-align:center;line-height:1.4}@media (max-width: 768px){.camera-selector-button{top:12px;left:12px;width:40px;height:40px;font-size:18px}.camera-selector-modal{padding:20px;border-radius:12px}.modal-header h3{font-size:18px}.camera-option{padding:10px 14px;font-size:14px}.camera-icon{font-size:20px}.hint-text{font-size:12px}}.save-take-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.save-take-modal{background:#fff;border-radius:16px;padding:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h3{margin:0;font-size:22px;font-weight:600;color:#1a1a1a}.btn-close-modal{background:none;border:none;font-size:36px;line-height:1;color:#666;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.btn-close-modal:hover{color:#333}.btn-close-modal:disabled{opacity:.5;cursor:not-allowed}.video-preview-container{margin-bottom:20px;border-radius:12px;overflow:hidden;background:#000;position:relative;width:100%;aspect-ratio:16 / 9;max-height:60vh}.video-preview{width:100%;height:100%;object-fit:contain}.video-play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;border:none;border-radius:12px;padding:16px 24px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .2s ease}.video-play-overlay:hover{background:#000000d9;transform:translate(-50%,-50%) scale(1.05)}.play-icon{font-size:32px;color:#fff;line-height:1}.play-text{font-size:14px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:1px}.video-metadata{display:flex;gap:24px;margin-bottom:20px;padding:16px;background:#f5f5f5;border-radius:8px}.metadata-item{display:flex;flex-direction:column;gap:4px}.metadata-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.metadata-value{font-size:16px;color:#1a1a1a;font-weight:500}.notes-section{margin-bottom:20px}.notes-label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.take-notes-input{width:100%;padding:12px;font-size:14px;font-family:inherit;border:2px solid #ddd;border-radius:8px;resize:vertical;transition:border-color .2s ease}.take-notes-input:focus{outline:none;border-color:#667eea}.take-notes-input:disabled{background:#f5f5f5;cursor:not-allowed}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-bottom:12px}.btn{padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover:not(:disabled){background:#e5e5e5}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.hint-text{color:#666;font-size:13px;margin:0;text-align:center;line-height:1.4}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.save-take-modal{padding:20px;border-radius:12px;max-height:95vh}.modal-header h3{font-size:20px}.video-preview-container{aspect-ratio:auto;max-height:50vh}.video-metadata{flex-direction:column;gap:12px;padding:12px}.modal-actions{flex-direction:column-reverse}.btn{width:100%;padding:14px}.hint-text{font-size:12px}}.takes-list{width:100%}.takes-list-header{margin-bottom:20px}.takes-list-header h3{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.takes-list-empty{text-align:center;padding:60px 20px;background:#f9f9f9;border-radius:12px;border:2px dashed #ddd}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.6}.takes-list-empty h3{margin:0 0 8px;font-size:20px;color:#333}.takes-list-empty p{margin:0;color:#666;font-size:14px}.takes-grid{display:flex;flex-direction:column;gap:12px}.take-item{background:#fff;border:2px solid #e5e5e5;border-radius:12px;overflow:hidden;transition:all .2s ease}.take-item:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #0000001a}.take-item.expanded{border-color:#667eea;box-shadow:0 4px 16px #667eea33}.take-summary{display:flex;align-items:center;gap:16px;padding:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.take-thumbnail{position:relative;width:120px;height:68px;background:#000;border-radius:8px;overflow:hidden;flex-shrink:0}.take-thumbnail video{width:100%;height:100%;object-fit:cover}.play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;background:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#333;padding-left:2px}.take-info{flex:1;min-width:0}.take-metadata{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;color:#666}.take-duration{font-weight:600;color:#333}.take-separator{color:#ccc}.take-notes-preview{margin:0;font-size:14px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expand-button{background:none;border:none;font-size:16px;color:#999;cursor:pointer;padding:8px;flex-shrink:0;transition:color .2s ease}.expand-button:hover{color:#667eea}.take-details{padding:0 12px 12px;animation:expandIn .2s ease}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.video-player-container{margin-bottom:16px;border-radius:8px;overflow:hidden;background:#000}.video-player{width:100%;height:auto;max-height:400px;display:block}.take-full-info{background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:16px}.info-row{display:flex;gap:12px;margin-bottom:8px}.info-row:last-child{margin-bottom:0}.info-row.notes-row{flex-direction:column;gap:6px}.info-label{font-size:13px;font-weight:600;color:#666;min-width:80px}.info-value{font-size:14px;color:#333}.info-value.notes{margin:0;line-height:1.5;white-space:pre-wrap}.take-actions{display:flex;gap:12px}.btn{flex:1;padding:12px 16px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.btn-export{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.btn-export:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-delete{background:#f5f5f5;color:#d32f2f}.btn-delete:hover{background:#ffebee;color:#c62828}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.7;cursor:not-allowed}.conversion-spinner{display:inline-block;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.conversion-progress-bar{height:4px;background:#e0e0e0;border-radius:2px;margin-top:12px;overflow:hidden}.conversion-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease;border-radius:2px}.conversion-error{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;background:#ffebee;border:1px solid #ef5350;border-radius:8px;color:#c62828;font-size:14px}.error-icon{font-size:18px;flex-shrink:0}.error-message{flex:1;line-height:1.4}.error-dismiss{background:none;border:none;color:#c62828;font-size:18px;cursor:pointer;padding:4px;flex-shrink:0;opacity:.7;transition:opacity .2s ease}.error-dismiss:hover{opacity:1}@media (max-width: 768px){.take-summary{padding:10px;gap:12px}.take-thumbnail{width:100px;height:56px}.play-overlay{width:28px;height:28px;font-size:12px}.take-metadata{font-size:12px}.take-notes-preview{font-size:13px}.take-details{padding:0 10px 10px}.video-player{max-height:300px}.take-full-info{padding:12px}.info-label{min-width:70px;font-size:12px}.info-value{font-size:13px}.take-actions{flex-direction:column}.btn{width:100%}}.edit-scene-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.edit-container{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 8px 32px #0000001a}.edit-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #f0f0f0}.edit-header h1{margin:0 0 .5rem;font-size:2.5rem;color:#333}.edit-subtitle{margin:0;color:#666;font-size:1.1rem}.error-banner{padding:1rem 1.5rem;background:#fee;border:2px solid #fcc;border-radius:8px;color:#c33;margin-bottom:1.5rem;font-size:.95rem}.save-status-banner{padding:1rem 1.5rem;background:#e3f2fd;border:2px solid #90caf9;border-radius:8px;color:#1976d2;margin-bottom:1.5rem;font-size:.95rem;font-weight:500}.loading{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.form-section:last-of-type{border-bottom:none}.form-section h3{margin:0 0 .5rem;font-size:1.5rem;color:#333}.section-hint{margin:0 0 1.5rem;color:#666;font-size:.9rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.required{color:#f44336}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem;font-size:1rem;border:2px solid #ddd;border-radius:6px;font-family:inherit;transition:border-color .2s ease}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;min-height:60px}.characters-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.character-item{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;transition:all .2s ease}.character-item:has(input[type=radio]:checked){border-color:#667eea;background:#f3f4ff}.character-main{display:flex;align-items:center;gap:1rem}.character-main input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.character-info-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem}.character-name{font-weight:600;color:#333;font-size:1.1rem}.character-voice-info{font-size:.85rem;color:#666}.your-character-badge{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background:#667eea;color:#fff;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.lines-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.line-and-pauses-wrapper{display:flex;flex-direction:column;gap:.5rem}.line-item{display:flex;gap:1rem;padding:1rem;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;transition:all .2s ease}.line-item.your-line{border-color:#667eea;background:#f3f4ff}.line-item.npc-line{border-color:#e0e0e0;background:#fafafa}.line-order{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:40px}.line-number{font-weight:600;color:#666;font-size:.9rem}.btn-icon{background:transparent;border:1px solid #ddd;border-radius:4px;width:30px;height:30px;font-size:1rem;cursor:pointer;transition:all .2s ease;padding:0;display:flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.line-content{flex:1;display:flex;flex-direction:column;gap:.5rem;position:relative}.line-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.line-character-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.your-line-badge{background:#667eea;color:#fff}.npc-line-badge{background:#e0e0e0;color:#666}.line-text-input{width:100%;padding:.75rem;font-size:1rem;border:2px solid #ddd;border-radius:6px;font-family:inherit;resize:vertical;min-height:60px}.line-text-input:focus{outline:none;border-color:#667eea}.line-badge{position:absolute;top:0;right:0;padding:.25rem .5rem;background:#667eea;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:2px solid #f0f0f0}.btn{padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit;text-transform:uppercase;letter-spacing:.5px}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7c8ef0,#8a5aaf)}.btn-secondary{background:#f5f5f5;color:#333;border:2px solid #ddd}.btn-secondary:hover:not(:disabled){background:#e0e0e0;border-color:#ccc}.validation-summary{margin-top:1.5rem;padding:1rem 1.5rem;background:#fff3e0;border:2px solid #ffb74d;border-radius:8px}.validation-summary p{margin:0 0 .5rem;font-weight:600;color:#e65100}.validation-summary ul{margin:0;padding-left:1.5rem;color:#f57c00}.validation-summary li{margin:.25rem 0}.pause-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fff9e6;border:2px solid #ffd966;border-radius:8px;margin-left:3rem}.pause-icon{font-size:1.5rem}.pause-controls{display:flex;align-items:center;gap:.75rem;flex:1;flex-wrap:wrap}.pause-controls label{font-size:.9rem;font-weight:600;color:#666;margin:0}.btn-icon-small{background:transparent;border:1px solid #ddd;border-radius:4px;width:24px;height:24px;font-size:.8rem;cursor:pointer;transition:all .2s ease;padding:0;display:flex;align-items:center;justify-content:center}.btn-icon-small:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea}.btn-icon-small:disabled{opacity:.3;cursor:not-allowed}.pause-duration{font-weight:600;color:#333;font-size:.95rem;min-width:45px;text-align:center}.pause-description-input{flex:1;min-width:200px;padding:.5rem;font-size:.9rem;border:2px solid #ddd;border-radius:6px;font-family:inherit}.pause-description-input:focus{outline:none;border-color:#667eea}.btn-remove-pause{background:#f443361a;border:2px solid rgba(244,67,54,.3);border-radius:50%;width:28px;height:28px;font-size:1.2rem;line-height:1;cursor:pointer;transition:all .2s ease;color:#f44336;padding:0;display:flex;align-items:center;justify-content:center}.btn-remove-pause:hover:not(:disabled){background:#f4433633;border-color:#f4433699;transform:scale(1.1)}.btn-add-pause{align-self:flex-start;margin-left:3rem;padding:.5rem 1rem;font-size:.85rem;background:#f0f0f0;border:2px dashed #ccc;border-radius:6px;color:#666;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-add-pause:hover:not(:disabled){background:#e0e0e0;border-color:#999;color:#333}.btn-add-pause:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.edit-scene-page{padding:1rem}.edit-container{padding:1.5rem}.edit-header h1{font-size:2rem}.line-item{flex-direction:column;gap:.75rem}.line-order{flex-direction:row;width:100%;justify-content:center}.form-actions{flex-direction:column}.btn{width:100%}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100vh}#root{min-height:100vh}
