.shiny-text{color:#b5b5b5a4;background:linear-gradient(120deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.8) 50%,rgba(255,255,255,0) 60%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block;animation:shine 5s linear infinite}@keyframes shine{0%{background-position:100%}to{background-position:-100%}}.shiny-text.disabled{animation:none}.project-save-load{margin-top:1rem}.save-load-buttons{display:flex;gap:.75rem;margin-bottom:.75rem}.load-button,.save-button{flex:1;padding:.75rem 1rem;border:none;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.save-button{background:linear-gradient(135deg,#10b981,#059669);color:white}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.save-button:disabled{background:#6b7280;cursor:not-allowed;transform:none}.load-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white}.load-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.load-button:disabled{background:#6b7280;cursor:not-allowed;transform:none}.save-description{margin-bottom:.75rem}.description-input{width:100%;padding:.5rem .75rem;background:rgba(51,65,85,.5);border:1px solid rgba(100,116,139,.5);border-radius:.5rem;color:white;font-size:.875rem;transition:border-color .2s ease}.description-input:focus{outline:none;border-color:#3b82f6}.description-input::placeholder{color:rgba(156,163,175,.8)}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.dialog{background:rgba(30,41,59,.95);border:1px solid rgba(100,116,139,.3);border-radius:1rem;max-width:500px;width:100%;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid rgba(100,116,139,.2)}.dialog-header h3{color:white;font-size:1.25rem;font-weight:600;margin:0}.close-button{background:none;border:none;color:#9ca3af;font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s ease}.close-button:hover{color:white}.dialog-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.empty-state,.loading{text-align:center;color:#9ca3af;padding:2rem}.projects-list{display:flex;flex-direction:column;gap:.75rem}.project-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:rgba(51,65,85,.3);border:1px solid rgba(100,116,139,.2);border-radius:.75rem;cursor:pointer;transition:all .2s ease}.project-item:hover{background:rgba(51,65,85,.5);border-color:rgba(100,116,139,.4);transform:translateY(-1px)}.project-info{flex:1;cursor:pointer}.project-name{color:white;font-weight:600;font-size:1rem;margin-bottom:.25rem}.project-meta{color:#9ca3af;font-size:.75rem;margin-bottom:.25rem}.project-description{color:#d1d5db;font-size:.875rem;font-style:italic}.project-actions{display:flex;gap:.5rem;align-items:center}.delete-action-btn,.load-action-btn{background:none;border:1px solid rgba(100,116,139,.3);border-radius:.5rem;padding:.5rem;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem}.load-action-btn{color:#3b82f6;border-color:rgba(59,130,246,.3)}.load-action-btn:hover:not(:disabled){background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.5);transform:translateY(-1px)}.delete-action-btn{color:#ef4444;border-color:rgba(239,68,68,.3)}.delete-action-btn:hover:not(:disabled){background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.5);transform:translateY(-1px)}.delete-action-btn:disabled,.load-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.load-icon{font-size:1.25rem;opacity:.7;transition:opacity .2s ease}.project-item:hover .load-icon{opacity:1}@media (max-width:640px){.save-load-buttons{flex-direction:column}.dialog{margin:.5rem;max-width:none}.dialog-content,.dialog-header{padding:1rem}}.audio-gallery,.audio-gallery-empty{width:100%;margin-top:1rem}.empty-state{text-align:center;padding:3rem 1rem;background:rgba(51,65,85,.3);border:1px solid rgba(148,163,184,.2);border-radius:12px;backdrop-filter:blur(8px)}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-state h3{color:#e2e8f0;font-size:1.25rem;font-weight:600;margin-bottom:.5rem;font-family:Fredoka,sans-serif}.empty-state p{color:#94a3b8;font-size:.875rem}.gallery-header{margin-bottom:1.5rem}.gallery-title{display:flex;align-items:center;gap:.75rem;color:#f8fafc;font-size:1.25rem;font-weight:600;font-family:Fredoka,sans-serif;margin:0}.gallery-icon{font-size:1.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.audio-card{background:rgba(51,65,85,.4);border:1px solid rgba(148,163,184,.3);border-radius:12px;padding:1.25rem;backdrop-filter:blur(8px);transition:all .3s ease;position:relative;overflow:hidden}.audio-card:hover{background:rgba(51,65,85,.6);border-color:rgba(148,163,184,.5);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.3)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.75rem}.audio-info{flex:1;min-width:0}.audio-name{display:flex;align-items:center;gap:.5rem}.name-text{color:#f1f5f9;font-weight:500;font-size:.95rem;word-break:break-word;line-height:1.4}.edit-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;font-size:.75rem;opacity:.7}.edit-btn:hover{color:#94a3b8;background:rgba(148,163,184,.1);opacity:1}.edit-name{display:flex;align-items:center;gap:.5rem}.name-input{background:rgba(30,41,59,.8);border:1px solid rgba(148,163,184,.3);border-radius:6px;padding:.5rem;color:#f1f5f9;font-size:.875rem;flex:1;min-width:0}.name-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.2)}.edit-actions{display:flex;gap:.25rem}.cancel-btn,.save-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;font-size:.75rem;transition:all .2s ease}.save-btn{color:#10b981}.save-btn:hover{background:rgba(16,185,129,.1)}.cancel-btn{color:#ef4444}.cancel-btn:hover{background:rgba(239,68,68,.1)}.card-actions{display:flex;gap:.5rem;align-items:center}.delete-btn,.download-btn,.regenerate-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;font-size:.875rem;opacity:.7}.download-btn{color:#3b82f6;text-decoration:none}.download-btn:hover{background:rgba(59,130,246,.1);opacity:1}.regenerate-btn{color:#10b981}.regenerate-btn:hover{background:rgba(16,185,129,.1);opacity:1}.delete-btn{color:#ef4444}.delete-btn:hover{background:rgba(239,68,68,.1);opacity:1}.waveform-container{position:relative;height:60px;margin:1rem 0;background:rgba(30,41,59,.5);border-radius:8px;overflow:hidden}.waveform,.waveform-container{display:flex;align-items:center;justify-content:center}.waveform{gap:2px;height:100%;width:100%;padding:.75rem}.wave-bar{background:linear-gradient(0deg,#3b82f6,#60a5fa);width:3px;border-radius:2px;transition:all .3s ease;opacity:.6;height:var(--wave-height,50%);animation-delay:var(--wave-delay,0s)}.wave-bar.playing{animation:wave-pulse 1.5s ease-in-out infinite;opacity:1}@keyframes wave-pulse{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.5)}}.progress-overlay{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,rgba(59,130,246,.2),rgba(59,130,246,.1));transition:width .1s ease;pointer-events:none;width:var(--progress-width,0)}.progress-bar-container{margin:1rem 0 .5rem;padding:0 .5rem}.progress-bar-track{position:relative;height:6px;background:rgba(100,116,139,.3);border-radius:3px;cursor:pointer;transition:all .2s ease}.progress-bar-track:hover{background:rgba(100,116,139,.4);height:8px;margin-top:-1px}.progress-bar-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;transition:width .1s ease;pointer-events:none;width:var(--progress-width,0)}.progress-bar-thumb{position:absolute;top:50%;width:14px;height:14px;background:#3b82f6;border:2px solid #ffffff;border-radius:50%;transform:translate(-50%,-50%);transition:all .2s ease;opacity:0;pointer-events:none;box-shadow:0 2px 8px rgba(59,130,246,.3);left:var(--thumb-position,0)}.progress-bar-track:hover .progress-bar-thumb{opacity:1;transform:translate(-50%,-50%) scale(1.1)}.progress-bar-track.dragging{background:rgba(100,116,139,.5);height:8px;margin-top:-1px}.progress-bar-track.dragging .progress-bar-thumb{opacity:1;transform:translate(-50%,-50%) scale(1.2);box-shadow:0 4px 12px rgba(59,130,246,.5)}.progress-bar-track.dragging .progress-bar-fill{background:linear-gradient(90deg,#2563eb,#3b82f6)}.progress-bar-track:focus{outline:2px solid #3b82f6;outline-offset:2px;background:rgba(100,116,139,.4)}.progress-bar-track:focus .progress-bar-thumb{opacity:1;transform:translate(-50%,-50%) scale(1.1)}.audio-controls{gap:1rem;margin-bottom:1rem}.audio-controls,.play-btn{display:flex;align-items:center}.play-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:50%;width:48px;height:48px;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:1.1rem;box-shadow:0 4px 12px rgba(59,130,246,.3)}.play-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(59,130,246,.4)}.play-btn:disabled{background:rgba(100,116,139,.5);cursor:not-allowed;transform:none;box-shadow:none}.play-btn.playing{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px rgba(239,68,68,.3)}.time-info{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#94a3b8;font-family:JetBrains Mono,monospace}.separator{opacity:.5}.script-preview{margin:1rem 0;padding:1rem;background:rgba(30,41,59,.6);border:1px solid rgba(148,163,184,.2);border-radius:8px}.script-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.script-label{color:#94a3b8}.script-label,.script-topic{font-size:.75rem;font-weight:500}.script-topic{color:#60a5fa;background:rgba(96,165,250,.1);padding:.25rem .5rem;border-radius:4px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-content{color:#cbd5e1;font-size:.75rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:80px;overflow-y:auto;padding:.5rem;background:rgba(15,23,42,.5);border-radius:4px;border:1px solid rgba(148,163,184,.1)}.script-content::-webkit-scrollbar{width:4px}.script-content::-webkit-scrollbar-track{background:rgba(148,163,184,.1);border-radius:2px}.script-content::-webkit-scrollbar-thumb{background:rgba(148,163,184,.3);border-radius:2px}.script-content::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.5)}.audio-metadata{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.2)}.metadata-item{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.metadata-label{color:#64748b;font-weight:500}.metadata-value{color:#cbd5e1;text-align:right;word-break:break-word}@media (max-width:768px){.gallery-grid{grid-template-columns:1fr;gap:1rem}.audio-card{padding:1rem}.card-header{flex-direction:column;align-items:stretch;gap:.75rem}.card-actions{justify-content:flex-end}}.project-status-indicator{display:flex;align-items:center;justify-content:space-between;padding:0;background:transparent;border:none;border-radius:0;margin-bottom:0;backdrop-filter:none;transition:all .3s ease}.project-status-indicator.loaded,.project-status-indicator.new{border-color:transparent;background:transparent}.status-main{display:flex;align-items:center;gap:12px;flex:1}.status-icon{font-size:20px;line-height:1}.status-content{display:flex;flex-direction:column;gap:2px}.status-title{font-weight:600;color:#ffffff;font-size:14px;line-height:1.2}.status-subtitle{font-size:12px;color:rgba(255,255,255,.7);line-height:1.2}.project-id{display:flex;align-items:center;gap:6px;padding:4px 8px;background:rgba(255,255,255,.1);border-radius:4px;font-size:11px;font-family:Courier New,monospace}.project-id-label{color:rgba(255,255,255,.6);font-weight:500}.project-id-value{color:rgba(255,255,255,.9);font-weight:600}@media (max-width:768px){.project-status-indicator{flex-direction:column;align-items:flex-start;gap:8px}.status-main{width:100%}.project-id{align-self:flex-end}}.project-status-indicator .status-icon{transition:transform .3s ease}.project-status-indicator .status-subtitle{transition:color .3s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.project-status-indicator .status-icon{animation:none}.project-status-indicator[data-auto-saving=true] .status-icon{animation:pulse 1.5s ease-in-out infinite}