.paywall-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.paywall-modal{background:#fff;border-radius:20px;padding:2rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.paywall-modal h2{font-size:2rem;margin-bottom:.5rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.paywall-description{text-align:center;color:#666;margin-bottom:2rem}.pricing-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.pricing-tier{border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s}.pricing-tier:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 10px 20px #667eea33}.pricing-tier h3{font-size:1.3rem;margin-bottom:.5rem;color:#333}.tier-price{font-size:2rem;font-weight:700;color:#667eea;margin-bottom:.5rem}.period{font-size:1rem;font-weight:400;color:#999}.tier-description{color:#666;font-size:.9rem;margin-bottom:1rem}.tier-features{list-style:none;padding:0;margin:1rem 0;text-align:left}.tier-features li{padding:.5rem 0;color:#333;border-bottom:1px solid #f0f0f0}.tier-features li:last-child{border-bottom:none}.tier-features li:before{content:"✓ ";color:#667eea;font-weight:700;margin-right:.5rem}.tier-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s;margin-top:1rem}.tier-button:hover{transform:translateY(-2px)}.paywall-footer{text-align:center;padding-top:1rem;border-top:1px solid #e0e0e0}.maybe-later-button{background:transparent;border:none;color:#999;cursor:pointer;text-decoration:underline;font-size:.9rem}.maybe-later-button:hover{color:#667eea}@media (max-width: 640px){.pricing-tiers{grid-template-columns:1fr}}.home-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.container{max-width:600px;width:100%;background:#fff;border-radius:20px;padding:3rem;box-shadow:0 20px 60px #0000004d}.title{font-size:3rem;font-weight:700;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:1.1rem}.input-form{display:flex;flex-direction:column;gap:1rem}.input-group{width:100%}.url-input{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:border-color .3s}.url-input:focus{outline:none;border-color:#667eea}.url-input:disabled{background:#f5f5f5;cursor:not-allowed}.divider{text-align:center;position:relative;margin:1rem 0}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#e0e0e0}.divider:before{left:0}.divider:after{right:0}.divider span{background:#fff;padding:0 1rem;color:#999}.file-upload-group{width:100%}.file-label{display:block;cursor:pointer}.file-input{display:none}.file-button{display:block;width:100%;padding:1rem;border:2px dashed #667eea;border-radius:10px;text-align:center;color:#667eea;font-weight:500;transition:all .3s}.file-button:hover{background:#f0f0ff;border-color:#764ba2}.submit-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:1rem}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.submit-button:disabled{opacity:.6;cursor:not-allowed}.advanced-options{width:100%;margin-top:.5rem}.advanced-toggle{background:none;border:none;color:#667eea;font-size:.9rem;font-weight:600;cursor:pointer;padding:0;text-align:left;display:flex;align-items:center;transition:color .2s}.advanced-toggle:hover{text-decoration:underline;color:#764ba2}.advanced-content{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:10px;border:1px solid #e0e0e0;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.lyrics-label{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:#555;font-weight:500}.lyrics-textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .3s}.lyrics-textarea:focus{outline:none;border-color:#667eea}.lyrics-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.error-message{padding:1rem;background:#fee;color:#c33;border-radius:8px;border:1px solid #fcc}.fallback-hint{margin-top:.5rem;font-size:.9rem;color:#666;font-style:italic}.features{display:flex;justify-content:space-around;margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.9rem;color:#666}.feature-icon{font-size:2rem}@media (max-width: 640px){.container{padding:2rem 1.5rem}.title{font-size:2rem}.features{flex-direction:column;gap:1rem}}.karaoke-player{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.player-container{max-width:900px;width:100%;background:#fff;border-radius:20px;padding:2rem;box-shadow:0 20px 60px #0000004d}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.track-title{font-size:1.8rem;font-weight:700;color:#333;margin:0}.share-button{padding:.5rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s}.share-button:hover{transform:translateY(-2px)}.waveform-container{margin-bottom:1.5rem;border-radius:10px;overflow:hidden;background:#f5f5f5;padding:1rem}.waveform{width:100%}.player-controls{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:2rem;padding:1rem;background:#f9f9f9;border-radius:10px}.play-pause-button{width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.5rem;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.play-pause-button:hover{transform:scale(1.1);box-shadow:0 5px 15px #667eea66}.time-display{font-family:Courier New,monospace;font-size:1rem;color:#666;font-weight:600}.guide-melody-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.guide-melody-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer}.lyrics-container{max-height:400px;overflow-y:auto;padding:1.5rem;background:#f9f9f9;border-radius:10px;margin-top:1rem}.lyrics-content{font-size:1.5rem;line-height:2.5;text-align:center;color:#333}.word-item{display:inline;transition:all .2s;padding:.2rem .1rem;border-radius:4px}.word-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;transform:scale(1.1)}.segment{margin-bottom:1rem;font-size:1.3rem;line-height:1.8}.no-lyrics{text-align:center;color:#999;font-style:italic}.lyrics-container::-webkit-scrollbar{width:8px}.lyrics-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.lyrics-container::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.lyrics-container::-webkit-scrollbar-thumb:hover{background:#764ba2}@media (max-width: 768px){.player-container{padding:1.5rem}.track-title{font-size:1.3rem}.lyrics-content{font-size:1.2rem}.player-controls{flex-direction:column;gap:1rem}}.progress-indicator{margin-top:2rem}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:2rem}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .5s ease;border-radius:4px}.progress-steps{display:flex;flex-direction:column;gap:1rem}.progress-step{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:8px;transition:all .3s;opacity:.5}.progress-step.active{opacity:1;background:#f0f0ff}.progress-step.current{background:#e0e0ff;font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.step-icon{font-size:1.5rem}.step-label{font-size:.95rem;color:#333}.player-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.loading-container,.error-container{max-width:600px;width:100%;background:#fff;border-radius:20px;padding:3rem;box-shadow:0 20px 60px #0000004d;text-align:center}.back-button{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.back-button:hover{transform:translateY(-2px)}.share-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.share-actions{max-width:900px;width:100%;margin-top:2rem;background:#fff;border-radius:20px;padding:2rem;box-shadow:0 20px 60px #0000004d}.share-url-container{display:flex;gap:1rem;margin-bottom:1rem}.share-url-input{flex:1;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem}.copy-button{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.copy-button:hover{background:#764ba2}.create-new-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s}.create-new-button:hover{transform:translateY(-2px)}.error-container{text-align:center;padding:3rem}.error-container h2{color:#c33;margin-bottom:1rem}.error-container p{color:#666;margin-bottom:2rem}.back-button{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.app-container{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.app-footer{text-align:center;padding:1rem;font-size:.85rem;color:#a0aec0;border-top:1px solid rgba(255,255,255,.1);background-color:transparent}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
