@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.video-player{width:100%;background:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden;outline:none}.video-player:focus{box-shadow:0 0 0 2px var(--color-accent-muted)}.video-player__container{position:relative;width:100%;aspect-ratio:16 / 9;background:#000}.video-player__video{width:100%;height:100%;object-fit:contain;cursor:pointer}.video-player__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--color-text-muted)}.video-player__placeholder-icon{font-size:4rem;opacity:.5}.video-player__placeholder p{margin:0;font-size:.875rem}.video-player__controls{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-tertiary)}.video-player__play-btn{font-size:1.25rem;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}.video-player__time{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-secondary);min-width:45px}.video-player__progress{flex:1;height:6px;background:var(--color-bg-elevated);border-radius:3px;cursor:pointer;position:relative}.video-player__progress:hover{height:8px}.video-player__progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));border-radius:3px;transition:width .1s linear}.video-player__progress-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:var(--color-accent);border-radius:50%;box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--transition-fast)}.video-player__progress:hover .video-player__progress-thumb{opacity:1}.audio-player{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden}.audio-player:focus{outline:2px solid var(--accent);outline-offset:2px}.audio-player__container{position:relative;width:100%;aspect-ratio:16 / 9;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);display:flex;align-items:center;justify-content:center}.audio-player__display{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.audio-player__icon{font-size:4rem;opacity:.8;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}.audio-player__info{display:flex;flex-direction:column;gap:.25rem}.audio-player__label{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.audio-player__time-display{font-size:1.5rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.audio-player__placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary)}.audio-player__placeholder-icon{font-size:3rem;opacity:.5}.audio-player__placeholder p{margin:0;font-size:.875rem}.audio-player__controls{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary)}.audio-player__play-btn{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:var(--bg-secondary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .2s}.audio-player__play-btn:hover{background:var(--bg-primary)}.audio-player__time{font-size:.75rem;color:var(--text-secondary);min-width:3rem;text-align:center;font-variant-numeric:tabular-nums}.audio-player__progress{flex:1;height:.5rem;background:var(--bg-primary);border-radius:.25rem;cursor:pointer;position:relative}.audio-player__progress-fill{height:100%;background:var(--accent);border-radius:.25rem;transition:width .1s}.audio-player__progress-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:.875rem;height:.875rem;background:var(--accent);border-radius:50%;box-shadow:0 2px 4px #0000004d;opacity:0;transition:opacity .2s}.audio-player__progress:hover .audio-player__progress-thumb{opacity:1}.subtitle-overlay{pointer-events:none;user-select:none;padding:var(--spacing-md)}.subtitle-overlay__line{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.425em}.subtitle-overlay__word{display:inline-block;white-space:nowrap}.subtitle-overlay__word--future{animation:none}.subtitle-overlay__word--current{animation:karaoke-pop .15s ease-out forwards}.subtitle-overlay__word--past{animation:karaoke-fade .2s ease-in forwards}.timeline{position:relative;width:100%;height:32px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);cursor:pointer;overflow:hidden}.timeline:hover{background:var(--color-bg-elevated)}.timeline__markers{position:absolute;inset:0}.timeline__marker{position:absolute;top:4px;bottom:4px;background:var(--color-accent-muted);border-radius:2px;min-width:2px;z-index:2}.timeline__marker--vad{background:#6495ed66;top:10px;bottom:10px;border-radius:1px;z-index:1}.timeline__track{position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);background:var(--color-bg-elevated);border-radius:2px;z-index:1}.timeline__progress{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));border-radius:2px;transition:width .05s linear}.timeline__playhead{position:absolute;top:2px;bottom:2px;width:3px;background:var(--color-accent);border-radius:2px;transform:translate(-50%);box-shadow:0 0 8px #00d4aa80;transition:left .05s linear;z-index:3}.timeline:hover .timeline__playhead{width:4px;box-shadow:0 0 12px #00d4aab3}.transcript-editor{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-bg-tertiary);overflow:hidden}.transcript-editor--empty{padding:var(--spacing-xl);text-align:center}.transcript-editor__placeholder{color:var(--color-text-muted);font-size:.875rem}.transcript-editor__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-bg-elevated)}.transcript-editor__header h3{margin:0;font-size:.875rem;font-weight:600}.transcript-editor__word-count{font-size:.75rem;color:var(--color-text-muted);font-family:var(--font-mono)}.transcript-editor__content{padding:var(--spacing-md);max-height:400px;overflow-y:auto}.transcript-editor__line{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:transparent}.transcript-editor__line:hover{background:var(--color-bg-tertiary)}.transcript-editor__line--past{opacity:.7}.transcript-editor__line--active{background:var(--color-accent-muted);border-left:3px solid var(--color-accent)}.transcript-editor__timestamp{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);min-width:60px;flex-shrink:0}.transcript-editor__line--active .transcript-editor__timestamp{color:var(--color-accent)}.transcript-editor__text{flex:1;font-size:.875rem;color:var(--color-text-secondary);line-height:1.4}.transcript-editor__line--active .transcript-editor__text{color:var(--color-text-primary);font-weight:500}.transcript-editor__edit-btn{opacity:0;background:none;border:none;cursor:pointer;padding:var(--spacing-xs);font-size:.875rem;transition:opacity var(--transition-fast)}.transcript-editor__line:hover .transcript-editor__edit-btn{opacity:.6}.transcript-editor__edit-btn:hover{opacity:1!important}.transcript-editor__edit-row{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.transcript-editor__input-wrapper{flex:1;position:relative;display:flex}.transcript-editor__input-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;font-family:monospace;font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-bg-primary);color:transparent;white-space:pre;overflow:hidden;z-index:0;pointer-events:none;box-sizing:border-box;line-height:normal}.transcript-editor__word-highlight{background-color:#00d4aa66;border-radius:2px;border-bottom:2px solid var(--color-accent)}.transcript-editor__separator{color:var(--color-text-muted);font-weight:700}.transcript-editor__timestamp-input{font-family:var(--font-mono);font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);width:70px;flex-shrink:0}.transcript-editor__text-input{width:100%;font-family:monospace;font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);z-index:1;position:relative;line-height:normal}.transcript-editor__text-input:focus,.transcript-editor__timestamp-input:focus{outline:none;border-color:var(--color-accent-light);box-shadow:0 0 0 2px var(--color-accent-muted)}.transcript-editor__save-btn,.transcript-editor__cancel-btn{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);font-size:1rem;line-height:1;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.transcript-editor__save-btn{color:var(--color-success, #22c55e)}.transcript-editor__save-btn:hover{background:#22c55e1a}.transcript-editor__cancel-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.transcript-editor__delete-btn{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);font-size:1rem;line-height:1;border-radius:var(--radius-sm);transition:background var(--transition-fast);color:var(--color-error, #ef4444)}.transcript-editor__delete-btn:hover{background:#ef44441a}.transcript-editor__delete-btn--hover{opacity:0;margin-left:var(--spacing-sm)}.transcript-editor__line:hover .transcript-editor__delete-btn--hover{opacity:1}.transcript-editor__header-left{display:flex;align-items:center;gap:var(--spacing-md)}.transcript-editor__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.transcript-editor__action-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:var(--spacing-xs);border-radius:var(--radius-sm);opacity:.7;transition:all var(--transition-fast)}.transcript-editor__action-btn:hover:not(:disabled){background:var(--color-bg-elevated);opacity:1}.transcript-editor__action-btn:disabled{opacity:.3;cursor:not-allowed}.transcript-editor__text-btn{background:var(--color-bg-elevated);border:1px solid var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.transcript-editor__text-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border)}.transcript-editor__line-container{position:relative}.transcript-editor__gap{height:10px;margin:-5px 0;position:relative;z-index:10;cursor:pointer;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity var(--transition-fast)}.transcript-editor__gap:hover{opacity:1}.transcript-editor__gap:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--color-accent);opacity:.5}.transcript-editor__merge-icon{background:var(--color-accent);color:var(--color-bg-primary);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;z-index:2;box-shadow:0 2px 4px #0003}.export-panel h3{margin:0 0 var(--spacing-lg) 0;font-size:1rem}.export-panel__notice{color:var(--color-text-muted);font-size:.875rem;margin:0}.export-panel__section{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-bg-tertiary)}.export-panel__section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.export-panel__section h4{margin:0 0 var(--spacing-xs) 0;font-size:.875rem;font-weight:600}.export-panel__description{margin:0 0 var(--spacing-md) 0;font-size:.75rem;color:var(--color-text-muted)}.export-panel__options{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.export-panel__checkbox{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer}.export-panel__checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.export-panel__checkbox span{user-select:none}.export-panel__color-label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer;flex:1}.export-panel__color-input{width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:none;cursor:pointer;vertical-align:middle}.export-panel__color-input::-webkit-color-swatch-wrapper{padding:0}.export-panel__color-input::-webkit-color-swatch{border:2px solid var(--color-border);border-radius:var(--radius-sm)}.export-panel__warning{background:#ffb3471a;border:1px solid rgba(255,179,71,.3);color:var(--color-warning);font-size:.75rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md)}.export-panel__color-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.export-panel__font-options{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-bg-tertiary);display:flex;flex-direction:column;gap:var(--spacing-sm)}.export-panel__select-label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.8125rem;color:var(--color-text-secondary)}.export-panel__select{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;outline:none}.export-panel__select:focus{border-color:var(--color-primary)}.export-panel__btn{width:100%;padding:var(--spacing-sm) var(--spacing-md)}.export-panel__buttons{display:flex;gap:var(--spacing-sm)}.export-panel__buttons .export-panel__btn{flex:1}.export-panel__progress{display:flex;flex-direction:column;gap:var(--spacing-sm)}.export-panel__status{font-size:.75rem;color:var(--color-text-secondary);text-align:center}.start-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-dark);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;color:var(--text-primary);padding:2rem;text-align:center}.start-screen__content{max-width:600px;width:100%;padding:3rem;background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 10px 30px #00000080;border:1px solid var(--border-color);animation:fadeIn .5s ease-out}.start-screen h1{font-size:2.5rem;margin:0 0 1rem;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;justify-content:center}.start-screen__title-text{background:linear-gradient(135deg,#ffffff 40%,var(--primary-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px rgba(255,255,255,.4));padding-bottom:.2em;padding-top:.4em}.start-screen__description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2.5rem;line-height:1.6}.start-screen__actions{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.start-screen__btn{font-size:1.2rem;padding:1rem 3rem;border-radius:50px;transition:all .2s ease;box-shadow:0 4px 15px rgba(var(--primary-rgb),.3)}.start-screen__btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px rgba(var(--primary-rgb),.5)}.start-screen__btn:disabled{opacity:.7;cursor:default}.start-screen__status{width:100%;margin-top:1rem}.start-screen__progress-text{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;font-family:monospace}.start-screen__estimate{background-color:var(--bg-input);padding:.75rem;border-radius:var(--radius-md);margin-bottom:1rem;display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--border-color);animation:fadeIn .5s ease-in}.start-screen__device-info{font-size:.85rem;color:var(--text-secondary);font-weight:500}.start-screen__time-info{font-size:1rem;color:var(--text-primary);font-weight:600}.start-screen__progress-bar{height:8px;background-color:var(--bg-input);border-radius:4px;overflow:hidden;position:relative}.start-screen__progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transition:width .3s ease;border-radius:4px}.start-screen__progress-fill--pulsing{animation:pulse 1.5s infinite}.start-screen__error{color:#ef4444;background-color:#ef44441a;border:1px solid rgba(239,68,68,.2);padding:1rem;border-radius:var(--radius-md);margin-top:1rem;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes pulse{0%{opacity:1;background:linear-gradient(90deg,var(--primary-color),var(--primary-color))}50%{opacity:.6;background:linear-gradient(90deg,var(--primary-color),var(--accent-color))}to{opacity:1;background:linear-gradient(90deg,var(--primary-color),var(--primary-color))}}.start-screen__model-select{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem;background:#ffffff0d;padding:1rem;border-radius:var(--radius-md);width:100%}.start-screen__model-label{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.start-screen__model-buttons{display:flex;gap:.5rem;background:var(--bg-input);padding:.25rem;border-radius:50px;border:1px solid var(--border-color)}.start-screen__model-btn{background:transparent;border:2px solid transparent;color:var(--text-secondary);padding:.5rem 1.25rem;border-radius:50px;font-size:.95rem;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);font-weight:500;opacity:.7}.start-screen__model-btn:hover{color:var(--text-primary);background:#ffffff0d;opacity:1}.start-screen__model-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb),.4);font-weight:700;opacity:1;transform:scale(1.05)}.app{min-height:100vh;display:flex;flex-direction:column;max-width:1800px;margin:0 auto;padding:var(--spacing-lg)}.app__header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.app__logo{display:flex;align-items:center;gap:var(--spacing-sm)}.app__logo-icon{font-size:2rem}.app__logo h1{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.app__tagline{font-size:.875rem;color:var(--color-text-muted);margin:0}.app__main{flex:1;display:grid;grid-template-columns:1fr 550px;gap:var(--spacing-xl);position:relative}.app__main--dragging{pointer-events:none}.app__main--dragging>*:not(.app__drop-overlay){opacity:.4;filter:blur(2px);transition:opacity .2s,filter .2s}.app__drop-overlay{position:absolute;inset:0;background:rgba(var(--color-accent-rgb, 139, 92, 246),.15);border:3px dashed var(--color-accent);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:auto;backdrop-filter:blur(4px);animation:dropOverlayFadeIn .2s ease-out}@keyframes dropOverlayFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.app__drop-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.app__drop-icon{font-size:4rem;animation:dropIconBounce .6s ease-in-out infinite alternate}@keyframes dropIconBounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.app__drop-text{font-size:1.25rem;font-weight:600;color:var(--color-text)}.app__video-column{display:flex;flex-direction:column;gap:var(--spacing-md)}.app__upload-bar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg)}.app__file-input{display:none}.app__upload-btn{cursor:pointer;white-space:nowrap}.app__filename{flex:1;font-size:.875rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app__actions{display:flex;gap:var(--spacing-sm);margin-left:auto}.app__status-bar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);min-height:36px}.app__status{font-size:.75rem;color:var(--color-text-secondary)}.app__status--error{color:var(--color-error)}.app__progress{flex:1;max-width:200px}.app__sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg)}.app__footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-bg-tertiary);text-align:center}.app__footer p{font-size:.75rem;color:var(--color-text-muted);margin:0}.app__footer a{color:var(--color-accent)}@media (max-width: 1024px){.app__main{grid-template-columns:1fr}.app__sidebar{flex-direction:row;flex-wrap:wrap}.app__sidebar>*{flex:1;min-width:300px}}@media (max-width: 640px){.app{padding:var(--spacing-md)}.app__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.app__upload-bar{flex-wrap:wrap}.app__actions{width:100%;margin-left:0;margin-top:var(--spacing-sm)}.app__actions button{flex:1}}:root{--color-bg-primary: #0a0a0f;--color-bg-secondary: #12121a;--color-bg-tertiary: #1a1a24;--color-bg-elevated: #22222e;--color-text-primary: #f0f0f5;--color-text-secondary: #a0a0b0;--color-text-muted: #606070;--color-accent: #00d4aa;--color-accent-hover: #00f0c0;--color-accent-muted: rgba(0, 212, 170, .2);--color-warning: #ffb347;--color-error: #ff6b6b;--color-success: #4ade80;--primary-color: var(--color-accent);--primary-rgb: 0, 212, 170;--subtitle-past: rgba(255, 255, 255, .5);--subtitle-current: #00ff88;--subtitle-future: rgba(255, 255, 255, .3);--subtitle-shadow: rgba(0, 0, 0, .8);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .1s ease-out;--transition-normal: .2s ease-out;--transition-slow: .3s ease-out;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(0, 212, 170, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{color:var(--color-text-secondary)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg-primary)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-elevated)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-elevated);border-color:var(--color-text-muted)}.btn-icon{background:transparent;color:var(--color-text-secondary);padding:var(--spacing-sm);border-radius:var(--radius-sm)}.btn-icon:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}input,select,textarea{font-family:inherit;font-size:.875rem;background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent)}.card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-bg-tertiary)}.progress-bar{width:100%;height:4px;background:var(--color-bg-tertiary);border-radius:2px;overflow:hidden}.progress-bar__fill{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));transition:width var(--transition-normal)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.badge--success{background:#4ade8033;color:var(--color-success)}.badge--warning{background:#ffb34733;color:var(--color-warning)}.badge--error{background:#ff6b6b33;color:var(--color-error)}.spinner{width:20px;height:20px;border:2px solid var(--color-bg-tertiary);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes karaoke-pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1.1)}}@keyframes karaoke-fade{0%{transform:scale(1.1)}to{transform:scale(1)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-accent)}.font-mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
