.time-pitcher-tool{width:100%;max-width:100%;margin:0 auto}.time-pitcher-results-header{margin-bottom:var(--gap-lg)}.time-pitcher-results-title{font-size:var(--text-h3);font-weight:var(--font-semibold);color:var(--titles);margin-bottom:var(--gap-xs)}.time-pitcher-results-file{font-size:var(--text-sm);color:var(--muted)}.time-pitcher-section-title{font-size:var(--text-body-lg);font-weight:var(--font-semibold);color:var(--titles);margin-bottom:var(--gap-md)}.time-pitcher-main-grid{gap:var(--gap-xl);margin-bottom:var(--gap-xl);grid-template-columns:420px 1fr;align-items:start;display:grid}.time-pitcher-left-column{gap:var(--gap-lg);flex-direction:column;display:flex}.time-pitcher-vinyl-box{gap:var(--gap-lg);padding:var(--gap-lg);background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;display:flex}.time-pitcher-vinyl-box>.vinyl-player,.time-pitcher-vinyl-box>.audio-preview{align-self:center;width:100%;max-width:360px}.audio-preview-header{text-align:center;padding:var(--gap-sm) 0}.audio-preview-filename{font-size:var(--text-sm);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.time-pitcher-params-column{gap:var(--gap-lg);flex-direction:column;display:flex}.mode-selector{gap:var(--gap-md);margin-bottom:var(--gap-lg);grid-template-columns:repeat(2,1fr);display:grid}.mode-selector-option{align-items:flex-start;gap:var(--gap-xs);padding:var(--gap-md);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background:var(--bg);text-align:left;flex-direction:column;display:flex}.mode-selector-option:hover{border-color:var(--primary);background:var(--surface)}.mode-selector-option--selected{border-color:var(--primary);background:var(--primary-muted)}.mode-selector-label{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--titles)}.mode-selector-description{font-size:var(--text-sm);color:var(--muted)}.tempo-controls{gap:var(--gap-md);margin-bottom:var(--gap-lg);flex-direction:column;display:flex}.tempo-mode-toggle{gap:var(--gap-sm);padding:var(--gap-xs);background:var(--surface);border-radius:var(--radius-md);width:fit-content;display:flex}.toggle-option{padding:var(--gap-sm) var(--gap-md);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none}.toggle-option--active{background:var(--primary);color:var(--on-primary)}.slider-control{gap:var(--gap-sm);margin-bottom:var(--gap-lg);flex-direction:column;display:flex}.slider-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--titles)}.slider{border-radius:var(--radius-full);background:var(--border);appearance:none;outline:none;width:100%;height:6px}.slider::-webkit-slider-thumb{appearance:none;border-radius:var(--radius-full);background:var(--primary);cursor:pointer;width:20px;height:20px;-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider::-moz-range-thumb{border-radius:var(--radius-full);background:var(--primary);cursor:pointer;width:20px;height:20px;-moz-transition:all var(--transition-base);transition:all var(--transition-base);border:none}.slider::-moz-range-thumb:hover{transform:scale(1.1)}.slider-marks{font-size:var(--text-xs);color:var(--muted);justify-content:space-between;display:flex}.bpm-controls{align-items:flex-end;gap:var(--gap-md);display:flex}.bpm-input-group{gap:var(--gap-xs);flex-direction:column;flex:1;display:flex}.bpm-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--titles)}.bpm-input{padding:var(--gap-sm) var(--gap-md);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--titles);font-size:var(--text-body);font-weight:var(--font-medium);text-align:center;transition:all var(--transition-base)}.bpm-input:focus{border-color:var(--primary);outline:none}.bpm-arrow{font-size:var(--text-h3);color:var(--primary);padding-bottom:var(--gap-sm)}.quality-selector-simple{gap:var(--gap-sm);margin-bottom:var(--gap-lg);display:flex}.quality-option{padding:var(--gap-sm) var(--gap-md);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--titles);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);flex:1}.quality-option:hover{border-color:var(--primary);background:var(--surface)}.quality-option--selected{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.processing-progress{gap:var(--gap-md);padding:var(--gap-lg);background:var(--surface);border-radius:var(--radius-md);flex-direction:column;display:flex}.processing-progress-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--titles);text-align:center}.processing-progress-bar{background:var(--border);border-radius:var(--radius-full);width:100%;height:8px;position:relative;overflow:hidden}.processing-progress-fill{background:var(--primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-base);position:absolute;top:0;left:0}.processing-progress-percentage{font-size:var(--text-xs);color:var(--muted);text-align:center}@media (max-width:768px){.time-pitcher-main-grid,.mode-selector{grid-template-columns:1fr}.bpm-controls{flex-direction:column;align-items:stretch}.bpm-arrow{text-align:center;padding:0;transform:rotate(90deg)}}
.vinyl-player{padding:var(--gap-md);justify-content:center;align-items:center;display:flex}.vinyl-disc{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 60%, black) 100%);width:280px;height:280px;box-shadow:0 10px 40px color-mix(in srgb, var(--primary) 30%, transparent), inset 0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent), inset 0 0 20px #000c;will-change:transform;position:relative}.vinyl-label{border-radius:var(--radius-full);background:var(--bg);width:100px;height:100px;box-shadow:0 0 0 2px color-mix(in srgb, var(--border) 50%, transparent), 0 4px 12px #0006;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vinyl-label-text{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--primary);text-align:center;letter-spacing:.1em;text-transform:uppercase}.vinyl-grooves{border-radius:var(--radius-full);background:repeating-radial-gradient(circle at center, transparent 0px, transparent 2px, color-mix(in srgb, var(--primary) 5%, transparent) 2px, color-mix(in srgb, var(--primary) 5%, transparent) 4px);pointer-events:none;position:absolute;inset:0}.vinyl-disc:before{content:"";border-radius:var(--radius-full);pointer-events:none;background:linear-gradient(135deg,#ffffff26 0%,#0000 50%,#ffffff14 100%);position:absolute;inset:0}.vinyl-disc:after{content:"";border-radius:var(--radius-full);background:var(--bg);width:20px;height:20px;box-shadow:inset 0 2px 4px #000c, 0 0 0 1px color-mix(in srgb, var(--border) 30%, transparent);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:768px){.vinyl-disc{width:220px;height:220px}.vinyl-label{width:80px;height:80px}.vinyl-label-text{font-size:8px}}
.audio-preview{gap:var(--gap-md);padding:var(--gap-md);background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;display:flex}.audio-preview-controls{gap:var(--gap-sm);justify-content:center;display:flex}.audio-preview-progress{gap:var(--gap-xs);flex-direction:column;display:flex}.audio-preview-progress-bar{background:var(--border);border-radius:var(--radius-full);cursor:pointer;width:100%;height:6px;transition:height var(--transition-base);position:relative;overflow:hidden}.audio-preview-progress-bar:hover{height:8px}.audio-preview-progress-fill{background:var(--primary);border-radius:var(--radius-full);height:100%;transition:width .1s linear;position:absolute;top:0;left:0}.audio-preview-time{font-size:var(--text-xs);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}


