/* Contrast and typography. Keep music/vocal waveform colors. */
:root{background:#24262d;color:#edf1f7;--line:#454c58;--muted:#b8c3d3}
body{background:#24262d}
header{background:#272a32;border-color:#414752}
.header-label{font-size:14px;color:#c5cedc}
.filename{color:#cbd4e1}
.start{background:none}
.upload-card h1{font-size:42px;font-weight:500;color:#f4f6fb;line-height:1.3}
.upload-card p{font-size:18px;color:#d1d9e6;line-height:1.8}
.upload-card .primary{font-size:16px;background:#9bbbf0;border-color:#9bbbf0;color:#203858}
.drop-hint{font-size:14px;color:#b9c4d5}
.hero-lane>span{background:#303642;color:#edf2f9;font-size:14px}
.hero-preview{border-color:#525d70}
.how-it-works{border-color:#414957}
.how-it-works h2{font-size:26px;color:#f1f4fa}
.how-it-works h3{font-size:18px;color:#e6ecf5}
.how-it-works p{font-size:15px;color:#c1ccdc;max-width:none}
.processing-simple #processing-title{font-size:40px;font-weight:500;color:#f4f6fb;letter-spacing:-.8px;margin-bottom:20px}
.processing-simple .progress-hint{font-size:18px;line-height:1.85;color:#d1d9e6;max-width:520px}
.processing-simple .progress-ring>span{font-size:28px;color:#f0f4fb}
.processing-simple .ring-base{stroke:#3b4250}
.processing-simple .ring-value{stroke:#9bbbf0}
.processing-simple .progress-current{font-size:17px;color:#d3dce9}
.processing-simple #cancel{font-size:14px;color:#bec8d8}
.result:not(.comparison-dashboard) .timeline{background:#292e38;border-color:#505b6c}
.result:not(.comparison-dashboard) .stem-controls,.result:not(.comparison-dashboard) .ruler-label{background:#303642;border-color:#505b6c}
.result:not(.comparison-dashboard) .stem{border-color:#505b6c}
.result:not(.comparison-dashboard) .stem-name{font-size:18px;font-weight:400;color:#f0f4fa}
.result:not(.comparison-dashboard) .ruler span{color:#c3cfdf}
.result:not(.comparison-dashboard) .music-summary{font-size:14px;color:#d4deec}
.result:not(.comparison-dashboard) .edit-actions button{height:34px;width:36px;color:#cbd7e8}
.result:not(.comparison-dashboard) .edit-actions svg{width:20px;height:20px}
.result:not(.comparison-dashboard) #clock{font-size:16px;color:#e5edf8}
.result:not(.comparison-dashboard) .play{background:#9bbbf0;color:#203858}
.result:not(.comparison-dashboard) .speed-settings summary,.result:not(.comparison-dashboard) .pitch-control{font-size:15px}
.result:not(.comparison-dashboard) .selection-times,.result:not(.comparison-dashboard) .selection-times input{font-size:13px}
.result:not(.comparison-dashboard) .selection-times input{width:98px}
.result:not(.comparison-dashboard) .downloads button{font-size:15px}
.download-note,.export-format{font-size:14px}
.result:not(.comparison-dashboard) .downloads{border-color:#414b5a}
.home-confirm{background:#24262d}.home-confirm::backdrop{background:#24262de8}
.result:not(.comparison-dashboard){min-height:calc(100dvh - 66px)}
@media(max-width:900px){.result:not(.comparison-dashboard) .ruler span:nth-last-child(2){display:none}}
@media(max-width:650px){
 .header-label{font-size:11px}
 .upload-card h1{font-size:32px}
 .upload-card p{font-size:16px}
 .processing-simple #processing-title{font-size:34px}
 .processing-simple .progress-ring>span{font-size:26px}
 .processing-simple .progress-hint{font-size:16px;max-width:310px}
 .processing-simple .progress-current{font-size:16px}
 .result:not(.comparison-dashboard) .stem-name{font-size:17px}
 .result:not(.comparison-dashboard) .music-summary{font-size:12px}
 .result:not(.comparison-dashboard) .downloads button{font-size:14px}
 .how-it-works h2{font-size:24px}
 .result:not(.comparison-dashboard){min-height:calc(100dvh - 60px)}
}
