Spaces:
Running on Zero
Running on Zero
| :root { | |
| color-scheme: dark; | |
| --ui-bg: #0b0d0e; | |
| --ui-surface: #121517; | |
| --ui-surface-2: #171b1e; | |
| --ui-surface-3: #1b2023; | |
| --ui-line: rgba(218, 233, 229, .1); | |
| --ui-line-strong: rgba(218, 233, 229, .19); | |
| --ui-text: #eef4f1; | |
| --ui-soft: #b1bcb8; | |
| --ui-muted: #727e7a; | |
| --ui-accent: #45d1b5; | |
| --ui-accent-dark: #168f7d; | |
| --ui-warm: #eead68; | |
| --ui-danger: #fb7185; | |
| --ui-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; | |
| --ui-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace; | |
| } | |
| :host { | |
| display: block; | |
| min-height: 100vh; | |
| overflow-x: hidden; | |
| color-scheme: dark; | |
| -webkit-text-size-adjust: 100%; | |
| text-size-adjust: 100%; | |
| background: | |
| linear-gradient(115deg, rgba(69,209,181,.045) 0 1px, transparent 1px 100%), | |
| linear-gradient(180deg, #101315 0%, #0b0d0e 34%, #090b0c 100%); | |
| background-size: 56px 56px, auto; | |
| } | |
| html, body { min-height: 100%; overflow-x: hidden; background: var(--ui-bg) ; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } | |
| body { margin: 0; color: var(--ui-text); font-family: var(--ui-font); -webkit-font-smoothing: antialiased; } | |
| .gradio-container, .gradio-container.dark { min-height: 100vh ; max-width: none ; overflow-x: hidden ; margin: 0 ; padding: 0 ; color: var(--ui-text) ; background: transparent ; font-family: var(--ui-font) ; } | |
| .gradio-container .prose, .gradio-container .prose * { color: inherit; } | |
| .gradio-container footer { display: none ; } | |
| #app-shell { width: min(1360px, calc(100% - 44px)); min-width: 0; margin: 0 auto; padding: 22px 0 48px; gap: 14px; } | |
| #masthead, #intro { padding: 0 ; border: 0 ; background: transparent ; } | |
| .workbench-nav { display: flex; align-items: center; justify-content: space-between; min-height: 48px; gap: 20px; padding: 0 2px 11px; border-bottom: 1px solid var(--ui-line); } | |
| .wordmark { display: inline-flex; align-items: center; gap: 11px; color: var(--ui-text) ; text-decoration: none; } | |
| .wordmark-glyph { display: flex; width: 35px; height: 35px; align-items: center; justify-content: center; gap: 2px; border: 1px solid rgba(69,209,181,.3); border-radius: 8px; background: #101a18; box-shadow: inset 0 0 0 5px rgba(69,209,181,.035); } | |
| .wordmark-glyph i { display: block; width: 2px; border-radius: 2px; background: var(--ui-accent); box-shadow: 0 0 7px rgba(69,209,181,.22); } | |
| .wordmark-glyph i:nth-child(1) { height: 8px; opacity: .65; } | |
| .wordmark-glyph i:nth-child(2) { height: 17px; } | |
| .wordmark-glyph i:nth-child(3) { height: 12px; opacity: .82; } | |
| .wordmark-glyph i:nth-child(4) { height: 20px; } | |
| .wordmark strong, .wordmark small { display: block; } | |
| .wordmark strong { font-size: .92rem; font-weight: 670; letter-spacing: -.02em; } | |
| .wordmark small { margin-top: 2px; color: var(--ui-muted); font: .53rem var(--ui-mono); letter-spacing: .045em; text-transform: uppercase; } | |
| .runtime-status { display: flex; align-items: center; gap: 6px; } | |
| .runtime-status span { display: inline-flex; align-items: center; min-height: 28px; gap: 7px; padding: 0 9px; border: 1px solid var(--ui-line); border-radius: 6px; color: var(--ui-muted); background: rgba(255,255,255,.018); font: 590 .56rem var(--ui-mono); letter-spacing: .025em; text-transform: uppercase; } | |
| .runtime-status .model-status { border-color: rgba(69,209,181,.24); color: var(--ui-soft); background: rgba(69,209,181,.035); } | |
| .runtime-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--ui-accent); box-shadow: 0 0 10px rgba(69,209,181,.65); } | |
| .runtime-status .gpu-status::before { color: var(--ui-soft); content: "◇"; font-size: .65rem; } | |
| .workbench-intro { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(390px,.75fr); align-items: end; gap: clamp(32px,5vw,82px); padding: clamp(28px,4vw,46px) 2px clamp(24px,3.3vw,38px); } | |
| .intro-statement { max-width: 790px; } | |
| .overline { display: inline-block; margin-bottom: 11px; color: var(--ui-accent); font: 620 .58rem var(--ui-mono); letter-spacing: .1em; text-transform: uppercase; } | |
| .intro-statement h1 { margin: 0; color: var(--ui-text); font-size: clamp(2.25rem,4.8vw,4.25rem); font-weight: 575; letter-spacing: -.058em; line-height: .96; } | |
| .intro-statement h1 em { color: #8ee5d3; font-style: normal; } | |
| .intro-statement p { max-width: 700px; margin: 14px 0 0; color: var(--ui-soft); font-size: clamp(.84rem,1.25vw,.98rem); line-height: 1.58; } | |
| .project-references { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border-top: 1px solid var(--ui-line-strong); border-bottom: 1px solid var(--ui-line); } | |
| .project-references a { position: relative; display: block; min-width: 0; padding: 12px 31px 12px 12px; color: var(--ui-text) ; text-decoration: none; transition: background 140ms ease; } | |
| .project-references a + a { border-left: 1px solid var(--ui-line); } | |
| .project-references span, .project-references strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } | |
| .project-references span { margin-bottom: 5px; color: var(--ui-muted); font: 590 .51rem var(--ui-mono); letter-spacing: .065em; text-transform: uppercase; } | |
| .project-references strong { font: 620 .68rem var(--ui-mono); } | |
| .project-references i { position: absolute; top: 50%; right: 12px; color: #697570; font: normal .72rem var(--ui-mono); transform: translateY(-50%); transition: color 140ms ease, transform 140ms ease; } | |
| .project-references a:hover { background: rgba(69,209,181,.045); } | |
| .project-references a:hover i { color: var(--ui-accent); transform: translate(1px,calc(-50% - 1px)); } | |
| .project-references a:focus-visible { z-index: 1; outline: 2px solid rgba(69,209,181,.72); outline-offset: -2px; background: rgba(69,209,181,.055); } | |
| #input-workbench, #transcription-panel { position: relative; min-width: 0; padding: clamp(16px,1.9vw,23px) ; border: 1px solid var(--ui-line) ; background: rgba(18,21,23,.94) ; box-shadow: 0 20px 58px rgba(0,0,0,.19) ; } | |
| #input-workbench { border-radius: 14px ; } | |
| #transcription-panel { border-radius: 14px ; } | |
| .panel-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 0 1px 13px; border-bottom: 1px solid var(--ui-line); } | |
| .panel-heading span { display: block; margin-bottom: 5px; color: var(--ui-accent); font: 620 .57rem var(--ui-mono); letter-spacing: .1em; text-transform: uppercase; } | |
| .studio-heading span { color: var(--ui-warm); } | |
| .panel-heading h2 { margin: 0; color: var(--ui-text); font-size: 1.02rem; font-weight: 625; letter-spacing: -.025em; } | |
| .panel-heading p { max-width: 440px; margin: 0; color: var(--ui-muted); font-size: .68rem; line-height: 1.45; text-align: right; } | |
| #source-panel, #decode-panel, #notation-panel { min-width: 0; padding: 14px ; border: 1px solid var(--ui-line) ; border-radius: 9px ; background: rgba(7,10,10,.32) ; box-shadow: none ; } | |
| #decode-panel, #notation-panel { | |
| --block-background-fill: rgba(255,255,255,.014); | |
| --block-border-color: var(--ui-line); | |
| --input-background-fill: rgba(255,255,255,.025); | |
| --input-background-fill-focus: rgba(255,255,255,.045); | |
| --input-border-color: var(--ui-line); | |
| --input-border-color-focus: rgba(218,233,229,.28); | |
| --panel-background-fill: transparent; | |
| --checkbox-background-color: #0c1110; | |
| --checkbox-background-color-hover: #15201d; | |
| --checkbox-background-color-focus: #101916; | |
| --checkbox-background-color-selected: var(--ui-accent); | |
| --checkbox-border-color: rgba(218,233,229,.25); | |
| --checkbox-border-color-hover: rgba(69,209,181,.72); | |
| --checkbox-border-color-focus: var(--ui-accent); | |
| --checkbox-border-color-selected: var(--ui-accent); | |
| --checkbox-label-background-fill: rgba(255,255,255,.018); | |
| --checkbox-label-background-fill-hover: rgba(69,209,181,.07); | |
| --checkbox-label-background-fill-focus: rgba(69,209,181,.09); | |
| --checkbox-label-background-fill-selected: rgba(69,209,181,.16); | |
| --checkbox-label-border-color: var(--ui-line); | |
| --checkbox-label-border-color-selected: rgba(69,209,181,.52); | |
| --checkbox-label-text-color: var(--ui-soft); | |
| --checkbox-label-text-color-selected: #eafffa; | |
| } | |
| #decode-panel { --color-accent: var(--ui-accent); --border-color-primary: var(--ui-accent); } | |
| #notation-panel { | |
| --checkbox-background-color-hover: #211a13; | |
| --checkbox-background-color-focus: #1c1712; | |
| --checkbox-background-color-selected: var(--ui-warm); | |
| --checkbox-border-color-hover: rgba(238,173,104,.72); | |
| --checkbox-border-color-focus: var(--ui-warm); | |
| --checkbox-border-color-selected: var(--ui-warm); | |
| --checkbox-label-background-fill-hover: rgba(238,173,104,.07); | |
| --checkbox-label-background-fill-focus: rgba(238,173,104,.09); | |
| --checkbox-label-background-fill-selected: rgba(238,173,104,.15); | |
| --checkbox-label-border-color-selected: rgba(238,173,104,.5); | |
| --checkbox-label-text-color-selected: #ffe5c7; | |
| } | |
| #notation-panel .form, #notation-panel #score-primary-settings, #notation-panel #score-musical-settings { border-color: var(--ui-line) ; background: rgba(255,255,255,.014) ; box-shadow: none ; } | |
| #source-panel { width: 100%; margin-top: 10px; background: linear-gradient(105deg,rgba(69,209,181,.045),rgba(7,10,10,.34) 58%) ; } | |
| #settings-grid { align-items: stretch; gap: 10px; padding-top: 10px; } | |
| #decode-panel { flex: 2 1 0% ; } | |
| #notation-panel { flex: 1 1 0% ; } | |
| #notation-panel { background: linear-gradient(145deg,rgba(238,173,104,.035),rgba(7,10,10,.34)) ; } | |
| .control-heading { display: flex; align-items: flex-start; gap: 10px; min-height: 42px; padding-bottom: 9px; } | |
| .control-icon { display: grid; width: 26px; height: 26px; flex: none; border: 1px solid rgba(69,209,181,.24); border-radius: 6px; color: var(--ui-accent); background: rgba(69,209,181,.04); place-items: center; } | |
| .control-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; } | |
| #notation-panel .control-icon { border-color: rgba(238,173,104,.25); color: var(--ui-warm); background: rgba(238,173,104,.04); } | |
| .control-heading strong, .control-heading small { display: block; } | |
| .control-heading strong { color: var(--ui-text); font-size: .77rem; font-weight: 620; } | |
| .control-heading small { margin-top: 3px; color: var(--ui-muted); font-size: .59rem; line-height: 1.4; } | |
| #audio-input { overflow: hidden; min-height: 154px; border: 1px dashed rgba(69,209,181,.3) ; border-radius: 8px ; background: rgba(5,9,8,.58) ; } | |
| #audio-input:hover, #audio-input:focus-within { border-color: rgba(69,209,181,.7) ; background: rgba(69,209,181,.035) ; } | |
| #audio-input .wrap, #audio-input > div, #audio-input .upload-container { border: 0 ; background: transparent ; } | |
| #audio-input .upload-container { min-height: 128px; } | |
| #audio-input button, #audio-input .upload-button { border: 1px solid var(--ui-line-strong) ; border-radius: 7px ; background: var(--ui-surface-3) ; color: var(--ui-text) ; box-shadow: none ; } | |
| #audio-input audio { width: 100%; filter: saturate(.72) contrast(.96); } | |
| #youtube-import-panel { width: 100%; min-width: 0; gap: 7px ; margin-top: 10px; padding: 10px 11px ; border: 1px solid var(--ui-line) ; border-radius: 8px ; background: rgba(4,8,8,.34) ; box-shadow: none ; --input-background-fill: rgba(255,255,255,.025); --input-border-color: var(--ui-line); --input-border-color-focus: rgba(69,209,181,.48); } | |
| #youtube-import-heading, #youtube-import-heading > div, #youtube-import-heading .html-container, #youtube-import-status-output, #youtube-import-status-output > div, #youtube-import-status-output .html-container { min-width: 0; padding: 0 ; border: 0 ; background: transparent ; box-shadow: none ; } | |
| .youtube-import-heading { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; align-items: center; min-width: 0; gap: 9px; } | |
| .youtube-import-icon { display: grid; width: 26px; height: 26px; border: 1px solid rgba(69,209,181,.2); border-radius: 6px; color: #8bdccc; background: rgba(69,209,181,.035); place-items: center; } | |
| .youtube-import-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; } | |
| .youtube-import-heading strong, .youtube-import-heading small { display: block; } | |
| .youtube-import-heading strong { color: var(--ui-soft); font-size: .65rem; font-weight: 620; } | |
| .youtube-import-heading small { margin-top: 2px; color: var(--ui-muted); font-size: .53rem; line-height: 1.35; } | |
| .youtube-import-heading > b { color: #56615d; font: 580 .48rem var(--ui-mono); letter-spacing: .045em; text-transform: uppercase; white-space: nowrap; } | |
| #youtube-import-row { display: grid ; grid-template-columns: minmax(0,1fr) 156px; align-items: stretch; min-width: 0; gap: 7px; } | |
| #youtube-url-input { width: 100%; min-width: 0 ; padding: 0 ; border: 0 ; background: transparent ; box-shadow: none ; } | |
| #youtube-url-input > div, #youtube-url-input .wrap { width: 100%; min-width: 0; padding: 0 ; border: 0 ; background: transparent ; box-shadow: none ; } | |
| #youtube-url-input input { width: 100%; min-height: 42px; padding: 0 12px ; border: 1px solid var(--ui-line) ; border-radius: 6px ; outline: 0; color: var(--ui-text) ; background: rgba(255,255,255,.024) ; font: .66rem var(--ui-mono) ; box-shadow: none ; transition: border-color .15s ease,background .15s ease; } | |
| #youtube-url-input input::placeholder { color: #56615d ; opacity: 1; } | |
| #youtube-url-input input:focus { border-color: rgba(69,209,181,.5) ; background: rgba(69,209,181,.035) ; } | |
| #youtube-import-button { width: 100% ; min-width: 0 ; min-height: 42px ; border: 1px solid rgba(69,209,181,.32) ; border-radius: 6px ; color: #d9fff7 ; background: rgba(69,209,181,.085) ; font-size: .65rem ; font-weight: 650 ; box-shadow: none ; } | |
| #youtube-import-button:hover:not(:disabled) { border-color: rgba(69,209,181,.58) ; background: rgba(69,209,181,.14) ; } | |
| #youtube-import-button:disabled { border-color: var(--ui-line) ; color: var(--ui-muted) ; background: rgba(255,255,255,.018) ; } | |
| .youtube-import-status { display: grid; grid-template-columns: 7px minmax(0,1fr); align-items: center; min-width: 0; gap: 8px; padding: 1px 2px 0; } | |
| .youtube-import-status > i { width: 7px; height: 7px; border: 1px solid var(--ui-line-strong); border-radius: 50%; background: #3a4441; } | |
| .youtube-import-status strong, .youtube-import-status span { display: inline; font: .49rem/1.4 var(--ui-mono); } | |
| .youtube-import-status strong { margin-right: 7px; color: var(--ui-soft); font-weight: 610; } | |
| .youtube-import-status span { color: var(--ui-muted); } | |
| .youtube-import-status[data-state="working"] > i { border-color: var(--ui-warm); background: var(--ui-warm); box-shadow: 0 0 10px rgba(238,173,104,.42); animation: stem-status-pulse 1.2s ease-in-out infinite; } | |
| .youtube-import-status[data-state="complete"] > i { border-color: var(--ui-accent); background: var(--ui-accent); box-shadow: 0 0 10px rgba(69,209,181,.42); } | |
| .youtube-import-status[data-state="error"] > i { border-color: var(--ui-danger); background: var(--ui-danger); } | |
| .youtube-import-status[data-state="error"] strong { color: #ffacb9; } | |
| #stem-workbench { width: 100%; gap: 9px ; margin-top: 10px; padding: 12px ; border: 1px solid var(--ui-line) ; border-radius: 8px ; background: linear-gradient(135deg,rgba(69,209,181,.022),rgba(255,255,255,.008) 52%,rgba(5,9,8,.26)) ; box-shadow: none ; } | |
| #stem-workbench-heading, #stem-workbench-heading > div, #stem-workbench-heading .html-container, #stem-source-heading, #stem-source-heading > div, #stem-source-heading .html-container, #stem-status-output, #stem-status-output > div, #stem-status-output .html-container { padding: 0 ; border: 0 ; background: transparent ; box-shadow: none ; } | |
| .stem-workbench-heading { display: flex; align-items: flex-end; justify-content: space-between; min-width: 0; gap: 14px; padding: 0 1px 2px; } | |
| .stem-workbench-heading strong, .stem-workbench-heading small { display: block; } | |
| .stem-workbench-heading strong { color: var(--ui-soft); font-size: .67rem; font-weight: 620; } | |
| .stem-workbench-heading small { margin-top: 3px; color: var(--ui-muted); font-size: .55rem; line-height: 1.4; } | |
| .stem-workbench-heading a { flex: none; color: #92dccc ; font: 590 .52rem var(--ui-mono); text-decoration: none; } | |
| .stem-workbench-heading a:hover { color: #d8fff6 ; } | |
| #demucs-quality-row { display: grid ; grid-template-columns: 175px minmax(0,1fr); align-items: center; min-width: 0; gap: 10px; padding: 7px 8px ; border: 1px solid var(--ui-line) ; border-radius: 6px ; background: rgba(5,9,8,.3) ; } | |
| #demucs-quality-heading, #demucs-quality-heading > div, #demucs-quality-heading .html-container { min-width: 0; padding: 0 ; border: 0 ; background: transparent ; box-shadow: none ; } | |
| .demucs-quality-copy strong, .demucs-quality-copy small { display: block; } | |
| .demucs-quality-copy strong { color: var(--ui-soft); font-size: .6rem; font-weight: 620; } | |
| .demucs-quality-copy small { margin-top: 2px; color: var(--ui-muted); font: .48rem/1.35 var(--ui-mono); } | |
| #demucs-quality-preset, #demucs-quality-preset > div, #demucs-quality-preset fieldset { width: 100%; min-width: 0; padding: 0 ; border: 0 ; background: transparent ; box-shadow: none ; } | |
| #demucs-quality-preset .wrap { display: grid ; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; gap: 4px ; padding: 0 ; border: 0 ; background: transparent ; } | |
| #demucs-quality-preset label { display: flex ; align-items: center; justify-content: center; min-width: 0; min-height: 32px; gap: 6px; padding: 5px 8px ; border: 1px solid var(--ui-line) ; border-radius: 4px ; color: var(--ui-muted) ; background: rgba(255,255,255,.014) ; font: 590 .53rem var(--ui-mono) ; cursor: pointer; } | |
| #demucs-quality-preset label:hover { border-color: rgba(69,209,181,.34) ; color: var(--ui-soft) ; background: rgba(69,209,181,.045) ; } | |
| #demucs-quality-preset label.selected, #demucs-quality-preset label:has(input:checked) { border-color: rgba(69,209,181,.48) ; color: #dffff8 ; background: rgba(69,209,181,.12) ; } | |
| #demucs-quality-preset input[type="radio"] { accent-color: var(--ui-accent); } | |
| #stem-separation-row { display: grid ; grid-template-columns: minmax(0,1fr) 205px; align-items: stretch; gap: 8px; } | |
| #stem-status-output { min-width: 0; flex: 1 1 auto ; } | |
| .stem-status { display: grid; grid-template-columns: 8px minmax(0,1fr) auto; align-items: center; min-height: 46px; gap: 9px; padding: 8px 10px; border: 1px solid var(--ui-line); border-radius: 6px; background: rgba(5,9,8,.38); } | |
| .stem-status > i { width: 8px; height: 8px; border: 1px solid var(--ui-line-strong); border-radius: 50%; background: var(--ui-faint,#4e5855); } | |
| .stem-status strong, .stem-status span { display: block; } | |
| .stem-status strong { color: var(--ui-soft); font-size: .61rem; font-weight: 620; } | |
| .stem-status span { margin-top: 3px; color: var(--ui-muted); font: .5rem/1.4 var(--ui-mono); } | |
| .stem-status > b { color: #56615d; font: 580 .48rem var(--ui-mono); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; } | |
| .stem-status[data-state="ready"], .stem-status[data-state="complete"], .stem-status[data-state="selected"] { border-color: rgba(69,209,181,.25); background: rgba(69,209,181,.035); } | |
| .stem-status[data-state="ready"] > i, .stem-status[data-state="complete"] > i, .stem-status[data-state="selected"] > i { border-color: rgba(69,209,181,.72); background: var(--ui-accent); box-shadow: 0 0 10px rgba(69,209,181,.4); } | |
| .stem-status[data-state="working"] { border-color: rgba(238,173,104,.3); background: rgba(238,173,104,.045); } | |
| .stem-status[data-state="working"] > i { border-color: var(--ui-warm); background: var(--ui-warm); box-shadow: 0 0 11px rgba(238,173,104,.4); animation: stem-status-pulse 1.2s ease-in-out infinite; } | |
| .stem-status[data-state="error"] { border-color: rgba(251,113,133,.32); background: rgba(251,113,133,.045); } | |
| .stem-status[data-state="error"] > i { border-color: var(--ui-danger); background: var(--ui-danger); } | |
| #separate-stems-button { width: 100% ; min-width: 0 ; min-height: 46px ; border: 1px solid rgba(69,209,181,.32) ; border-radius: 6px ; background: rgba(69,209,181,.075) ; color: #cffff5 ; font-size: .65rem ; font-weight: 650 ; box-shadow: none ; } | |
| #separate-stems-button:hover:not(:disabled) { border-color: rgba(69,209,181,.55) ; background: rgba(69,209,181,.13) ; } | |
| #separate-stems-button:disabled { border-color: var(--ui-line) ; color: var(--ui-muted) ; background: rgba(255,255,255,.018) ; } | |
| .stem-source-heading { display: flex; align-items: flex-end; justify-content: space-between; min-width: 0; gap: 14px; margin-top: 2px; padding: 10px 1px 0; border-top: 1px solid var(--ui-line); } | |
| .stem-source-heading div, .stem-source-heading span, .stem-source-heading strong, .stem-source-heading small { display: block; } | |
| .stem-source-heading span { margin-bottom: 3px; color: var(--ui-accent); font: 600 .47rem var(--ui-mono); letter-spacing: .08em; text-transform: uppercase; } | |
| .stem-source-heading strong { color: var(--ui-soft); font-size: .65rem; font-weight: 620; } | |
| .stem-source-heading small { max-width: 300px; color: var(--ui-muted); font-size: .52rem; line-height: 1.4; text-align: right; } | |
| #stem-source-selector, #stem-source-selector > div, #stem-source-selector .form, #stem-source-selector fieldset { width: 100%; min-width: 0; padding: 0 ; border: 0 ; background: transparent ; box-shadow: none ; --checkbox-background-color-selected: transparent; --checkbox-border-color-selected: transparent; --checkbox-label-background-fill-selected: transparent; --checkbox-label-border-color-selected: transparent; --checkbox-label-text-color-selected: #eafffa; } | |
| #stem-source-selector .wrap { display: grid ; grid-template-columns: repeat(5,minmax(0,1fr)); width: 100%; gap: 6px ; padding: 0 ; border: 0 ; background: transparent ; } | |
| #stem-source-selector label { position: relative; display: flex ; align-items: center; justify-content: flex-start; overflow: hidden; width: 100%; min-width: 0; min-height: 56px; gap: 9px; padding: 9px 10px ; border: 1px solid var(--ui-line) ; border-radius: 6px ; color: var(--ui-muted) ; background: rgba(2,5,5,.34) ; font-size: .61rem ; font-weight: 580 ; cursor: pointer; transition: border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease; } | |
| #stem-source-selector label::before { display: grid; width: 30px; height: 30px; flex: none; border: 1px solid var(--ui-line); border-radius: 6px; content: "SRC"; background: rgba(255,255,255,.018); color: var(--ui-faint); font: 620 .43rem var(--ui-mono); letter-spacing: .04em; place-items: center; transition: inherit; } | |
| #stem-source-selector label:nth-of-type(1)::before { content: "MIX"; } | |
| #stem-source-selector label:nth-of-type(2)::before { content: "VOX"; } | |
| #stem-source-selector label:nth-of-type(3)::before { content: "DRM"; } | |
| #stem-source-selector label:nth-of-type(4)::before { content: "BAS"; } | |
| #stem-source-selector label:nth-of-type(5)::before { content: "OTH"; } | |
| #stem-source-selector label::after { position: absolute; top: 8px; right: 8px; width: 5px; height: 5px; border-radius: 50%; content: ""; background: #303936; box-shadow: 0 0 0 2px rgba(255,255,255,.018); } | |
| #stem-source-selector label:hover:not(:has(input:disabled)) { border-color: rgba(69,209,181,.34) ; color: var(--ui-soft) ; background: rgba(69,209,181,.045) ; transform: translateY(-1px); } | |
| #stem-source-selector label.selected, #stem-source-selector label:has(input:checked) { border-color: rgba(69,209,181,.5) ; color: #eafffa ; background: linear-gradient(135deg,rgba(69,209,181,.16),rgba(69,209,181,.055)) ; box-shadow: inset 0 1px rgba(255,255,255,.035); } | |
| #stem-source-selector label.selected::before, #stem-source-selector label:has(input:checked)::before { border-color: rgba(69,209,181,.42); color: #cffff5; background: rgba(69,209,181,.12); } | |
| #stem-source-selector label.selected::after, #stem-source-selector label:has(input:checked)::after { background: var(--ui-accent); box-shadow: 0 0 8px rgba(69,209,181,.55); } | |
| #stem-source-selector label:has(input:focus-visible) { outline: 2px solid rgba(69,209,181,.72); outline-offset: 2px; } | |
| #stem-source-selector input[type="radio"] { position: absolute ; width: 1px ; height: 1px ; opacity: 0 ; pointer-events: none; } | |
| #stem-source-selector label > span { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; } | |
| #stem-source-selector label:has(input:disabled):not(:has(input:checked)) { opacity: .38; cursor: not-allowed; } | |
| #stem-source-selector .wrap > label:only-child { max-width: 220px; } | |
| #decode-panel label, #notation-panel label { color: var(--ui-soft) ; font-size: .7rem ; } | |
| #decode-panel input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), #decode-panel textarea, #decode-panel select, #notation-panel input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), #notation-panel textarea, #notation-panel select { border-color: var(--ui-line) ; border-radius: 7px ; background-color: rgba(255,255,255,.03) ; color: var(--ui-text) ; } | |
| #decode-panel input[type="range"] { accent-color: var(--ui-accent); } | |
| #notation-panel input[type="range"] { accent-color: var(--ui-warm); } | |
| #decode-panel input[type="checkbox"], #notation-panel input[type="checkbox"], #notation-panel input[type="radio"] { position: relative; z-index: 1; flex: none; cursor: pointer; } | |
| #decode-panel input[type="checkbox"]:focus-visible, #decode-panel input[type="radio"]:focus-visible { outline: 2px solid rgba(69,209,181,.72) ; outline-offset: 2px; } | |
| #notation-panel input[type="checkbox"]:focus-visible, #notation-panel input[type="radio"]:focus-visible { outline: 2px solid rgba(238,173,104,.72) ; outline-offset: 2px; } | |
| #decode-panel label.selected { border-color: rgba(69,209,181,.52) ; background: rgba(69,209,181,.16) ; color: #eafffa ; } | |
| #notation-panel label.selected { border-color: rgba(238,173,104,.5) ; background: rgba(238,173,104,.15) ; color: #ffe5c7 ; } | |
| #decoding-options, #score-primary-settings, #score-musical-settings { gap: 7px; } | |
| #score-primary-settings > div, #score-musical-settings > div { min-width: 112px; } | |
| #score-quantization { padding: 8px ; border: 1px solid var(--ui-line) ; border-radius: 7px ; background: rgba(255,255,255,.012) ; } | |
| #score-quantization .wrap { display: grid ; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px ; padding: 0 ; border: 0 ; background: transparent ; } | |
| #score-quantization label { min-width: 0; min-height: 30px; justify-content: center; padding: 4px 6px ; border-radius: 5px ; } | |
| #score-quantization .info { color: var(--ui-muted) ; font-size: .52rem ; line-height: 1.35; } | |
| #transcription-controls-layout { align-items: stretch; flex-wrap: nowrap ; min-width: 0; gap: 10px; } | |
| #instrument-lock-panel { min-width: 0 ; flex: 3 1 0% ; } | |
| #decode-settings-panel { min-width: 220px ; align-self: stretch; flex: 2 1 0% ; justify-content: space-between; gap: 10px ; padding: 10px ; border: 1px solid var(--ui-line) ; border-radius: 7px ; background: rgba(255,255,255,.012) ; box-shadow: none ; } | |
| #decode-settings-panel > .form, #decode-settings-panel .form { border: 0 ; background: transparent ; box-shadow: none ; } | |
| #decode-settings-panel #decode-preset { width: 100%; } | |
| #decode-settings-panel #decode-preset, #decode-settings-panel #decoding-options, #decode-settings-panel #decoding-options > div { padding: 0 ; border: 0 ; background: transparent ; box-shadow: none ; } | |
| #decode-settings-panel #decode-preset .wrap { display: grid ; grid-template-columns: 1fr; gap: 4px ; background: transparent ; } | |
| #decode-settings-panel #decode-preset label { width: 100%; min-height: 33px; } | |
| #decode-settings-panel #decoding-options { width: 100%; } | |
| #decode-preset { border: 1px solid var(--ui-line) ; border-radius: 8px ; background: rgba(255,255,255,.015) ; } | |
| #decode-preset label { min-height: 34px; border-radius: 5px ; } | |
| #instrument-lock-heading, #instrument-lock-heading > div, #instrument-lock-heading .html-container { padding: 0 ; border: 0 ; background: transparent ; } | |
| .instrument-lock-heading { display: flex; align-items: flex-end; justify-content: space-between; min-width: 0; gap: 12px; padding: 2px 1px 7px; } | |
| .instrument-lock-heading strong, .instrument-lock-heading small { display: block; } | |
| .instrument-lock-heading strong { color: var(--ui-soft); font-size: .67rem; font-weight: 620; } | |
| .instrument-lock-heading strong span { margin-left: 5px; color: var(--ui-accent); font: 580 .48rem var(--ui-mono); letter-spacing: .035em; text-transform: uppercase; } | |
| .instrument-lock-heading small { margin-top: 3px; color: var(--ui-muted); font-size: .55rem; line-height: 1.4; } | |
| .instrument-lock-heading > b { flex: none; color: #56615d; font: 560 .5rem var(--ui-mono); letter-spacing: .05em; text-transform: uppercase; } | |
| #instrument-categories { display: block ; width: 100%; max-height: 310px; overflow-y: auto; padding: 0 4px 0 0 ; scrollbar-color: rgba(69,209,181,.3) transparent; scrollbar-width: thin; -webkit-overflow-scrolling: touch; } | |
| #instrument-categories > .form { display: grid ; width: 100%; grid-template-columns: 1fr; gap: 7px ; padding: 0 ; border: 0 ; background: transparent ; } | |
| #instrument-categories::-webkit-scrollbar { width: 6px; } | |
| #instrument-categories::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(69,209,181,.28); } | |
| #instrument-categories .instrument-category { width: 100%; min-width: 0; align-self: start; padding: 8px ; border: 1px solid var(--ui-line) ; border-radius: 7px ; background: rgba(255,255,255,.012) ; box-shadow: none ; } | |
| .instrument-category > .wrap, .instrument-category .wrap { align-content: flex-start; gap: 4px ; padding: 0 ; border: 0 ; background: transparent ; } | |
| .instrument-category .label-wrap { margin-bottom: 5px; color: var(--ui-soft) ; font: 620 .56rem var(--ui-mono) ; letter-spacing: .045em; text-transform: uppercase; } | |
| .instrument-category label { min-height: 28px ; padding-block: 4px ; border-radius: 5px ; } | |
| #instrument-lock-footer { display: grid ; grid-template-columns: minmax(0,1fr) 112px; align-items: stretch; min-width: 0; gap: 8px; margin-top: 8px; } | |
| #instrument-lock-output { width: 100%; min-width: 0; margin: 0; } | |
| #instrument-lock-output, #instrument-lock-output > div, #instrument-lock-output .html-container { padding: 0 ; border: 0 ; background: transparent ; } | |
| .instrument-lock-status { display: grid; grid-template-columns: 16px minmax(0,1fr); align-items: center; gap: 8px; min-height: 47px; padding: 6px 8px; border: 1px solid var(--ui-line); border-radius: 6px; background: rgba(255,255,255,.014); } | |
| .instrument-lock-icon { position: relative; display: block; width: 12px; height: 10px; border: 1px solid var(--ui-muted); border-radius: 2px; } | |
| .instrument-lock-icon::before { position: absolute; right: 2px; bottom: 8px; left: 2px; height: 6px; border: 1px solid currentColor; border-bottom: 0; border-radius: 5px 5px 0 0; content: ""; } | |
| .instrument-lock-status strong, .instrument-lock-status small { display: block; } | |
| .instrument-lock-status strong { color: var(--ui-soft); font-size: .59rem; font-weight: 620; } | |
| .instrument-lock-status small { margin-top: 2px; color: var(--ui-muted); font: .5rem/1.35 var(--ui-mono); } | |
| .instrument-lock-status[data-state="automatic"] .instrument-lock-icon::before { right: -1px; left: 5px; transform: translateY(-1px) rotate(18deg); transform-origin: left bottom; } | |
| .instrument-lock-status[data-state="locked"] { border-color: rgba(69,209,181,.24); background: rgba(69,209,181,.035); } | |
| .instrument-lock-status[data-state="locked"] .instrument-lock-icon { border-color: var(--ui-accent); color: var(--ui-accent); } | |
| .instrument-lock-status[data-state="locked"] strong { color: #cffff5; } | |
| #clear-instrument-lock-button { width: 100% ; min-width: 0 ; min-height: 47px ; padding: 0 9px ; border: 1px solid var(--ui-line) ; border-radius: 6px ; color: var(--ui-soft) ; background: rgba(255,255,255,.018) ; font: 610 .53rem var(--ui-mono) ; box-shadow: none ; } | |
| #clear-instrument-lock-button:hover:not(:disabled) { border-color: rgba(69,209,181,.38) ; color: #dffff8 ; background: rgba(69,209,181,.065) ; } | |
| #clear-instrument-lock-button:disabled { color: var(--ui-muted) ; opacity: .4; } | |
| #run-row { align-items: center; gap: 14px; padding: 11px 1px 0; } | |
| #transcribe-button { flex: 0 1 330px ; min-height: 48px; border: 1px solid rgba(141,255,230,.32) ; border-radius: 7px ; background: linear-gradient(112deg,#168f7d,#21aa93) ; box-shadow: 0 9px 24px rgba(18,132,113,.23), inset 0 1px rgba(255,255,255,.17) ; color: #f5fffc ; font-size: .84rem ; font-weight: 680 ; letter-spacing: .005em; transition: transform 140ms ease, filter 140ms ease ; } | |
| #transcribe-button:hover:not(:disabled) { filter: brightness(1.1); transform: translateY(-1px); } | |
| #transcribe-button:disabled, #transcribe-button[aria-busy="true"] { cursor: wait; filter: grayscale(.35) brightness(.75); } | |
| .cold-note { display: flex; align-items: center; gap: 7px; margin: 0 ; color: var(--ui-muted); font: .57rem/1.5 var(--ui-mono); } | |
| .cold-note strong { color: var(--ui-soft); font-weight: 620; } | |
| .cold-note > span { width: 6px; height: 6px; flex: none; border-radius: 50%; background: var(--ui-warm); } | |
| #generate-score-button { min-height: 38px; margin-top: 2px; border: 1px solid rgba(238,173,104,.38) ; border-radius: 7px ; background: rgba(238,173,104,.1) ; color: #f5c996 ; font-weight: 650 ; } | |
| #generate-score-button:hover:not(:disabled) { background: rgba(238,173,104,.17) ; } | |
| #generate-score-button:disabled { border-color: var(--ui-line) ; background: rgba(255,255,255,.018) ; color: var(--ui-muted) ; } | |
| #score-analysis-output, #score-analysis-output > div, #score-analysis-output .html-container { padding: 0 ; border: 0 ; background: transparent ; } | |
| .score-analysis { display: grid; grid-template-columns: 8px minmax(0,1fr); align-items: center; gap: 9px; min-height: 48px; padding: 8px 10px; border: 1px solid var(--ui-line); border-radius: 6px; background: rgba(255,255,255,.016); } | |
| .score-analysis i { width: 7px; height: 7px; border-radius: 50%; background: var(--ui-muted); } | |
| .score-analysis strong, .score-analysis span { display: block; } | |
| .score-analysis strong { color: var(--ui-soft); font-size: .61rem; font-weight: 620; } | |
| .score-analysis span { margin-top: 3px; color: var(--ui-muted); font: .52rem/1.4 var(--ui-mono); } | |
| .score-analysis[data-state="ready"] { border-color: rgba(69,209,181,.22); background: rgba(69,209,181,.035); } | |
| .score-analysis[data-state="ready"] i { background: var(--ui-accent); box-shadow: 0 0 8px rgba(69,209,181,.4); } | |
| .score-analysis[data-state="unavailable"] i { background: var(--ui-warm); } | |
| #studio-viewer { min-width: 0; margin: 14px 0 0; padding: 0 ; border: 0 ; background: transparent ; } | |
| #studio-viewer > .wrap, #studio-viewer > div, #studio-viewer .html-container { min-width: 0; padding: 0 ; border: 0 ; background: transparent ; } | |
| .footnote { display: flex; justify-content: space-between; gap: 16px; padding: 11px 3px 0; color: var(--ui-muted); font: .55rem var(--ui-mono); } | |
| @keyframes stem-status-pulse { 0%,100% { opacity:.48; transform:scale(.82); } 50% { opacity:1; transform:scale(1); } } | |
| @media (max-width: 1080px) { | |
| .workbench-intro { grid-template-columns: 1fr; gap: 22px; } | |
| .project-references { width: min(100%,520px); } | |
| } | |
| @media (max-width: 820px) { | |
| #settings-grid { flex-wrap: wrap ; } | |
| #decode-panel, #notation-panel { width: 100% ; flex: 1 1 100% ; } | |
| } | |
| @media (max-width: 720px) { | |
| #app-shell { width: calc(100% - 18px); max-width: 1360px; padding-top: 14px; } | |
| .workbench-nav, .panel-heading, .footnote { align-items: flex-start; flex-direction: column; } | |
| .runtime-status { width: 100%; flex-wrap: wrap; } | |
| .workbench-intro { padding: 28px 2px 24px; } | |
| .intro-statement h1 { font-size: clamp(2.35rem,12vw,3.6rem); } | |
| .project-references { width: 100%; grid-template-columns: 1fr; } | |
| .project-references a { padding: 10px 34px 10px 3px; } | |
| .project-references a + a { border-top: 1px solid var(--ui-line); border-left: 0; } | |
| #input-workbench, #transcription-panel { padding: 12px ; border-radius: 11px ; } | |
| .panel-heading p { text-align: left; } | |
| #decode-panel, #notation-panel { width: 100% ; flex-basis: 100% ; } | |
| #score-primary-settings, #score-musical-settings { display: grid ; grid-template-columns: repeat(2,minmax(0,1fr)); } | |
| #transcription-controls-layout { flex-wrap: wrap ; } | |
| #instrument-lock-panel, #decode-settings-panel { width: 100% ; min-width: 0 ; flex: 1 1 100% ; } | |
| #decode-settings-panel { justify-content: flex-start; padding: 10px ; } | |
| #decode-settings-panel #decode-preset .wrap { grid-template-columns: repeat(2,minmax(0,1fr)); } | |
| #instrument-categories { max-height: 420px; } | |
| .stem-workbench-heading, .stem-source-heading { align-items: flex-start; flex-direction: column; gap: 5px; } | |
| .stem-source-heading small { max-width: none; text-align: left; } | |
| .youtube-import-heading { grid-template-columns: 26px minmax(0,1fr); } | |
| .youtube-import-heading > b { grid-column: 2; white-space: normal; } | |
| #youtube-import-row { grid-template-columns: minmax(0,1fr); } | |
| #youtube-import-button { width: 100% ; } | |
| .youtube-import-status strong, .youtube-import-status span { display: block; } | |
| .youtube-import-status strong { margin-right: 0; } | |
| #stem-separation-row { grid-template-columns: minmax(0,1fr); } | |
| #demucs-quality-row { grid-template-columns: minmax(0,1fr); } | |
| #demucs-quality-preset .wrap { grid-template-columns: repeat(3,minmax(0,1fr)); } | |
| #separate-stems-button { width: 100% ; min-width: 0 ; min-height: 42px; } | |
| #stem-source-selector .wrap { grid-template-columns: repeat(2,minmax(0,1fr)); } | |
| #stem-source-selector .wrap > label:first-of-type { grid-column: 1 / -1; } | |
| #stem-source-selector .wrap > label:only-child { max-width: none; } | |
| .stem-status { grid-template-columns: 8px minmax(0,1fr); } | |
| .stem-status > b { display: none; } | |
| #instrument-lock-footer { grid-template-columns: minmax(0,1fr); } | |
| #run-row { align-items: stretch; flex-direction: column ; } | |
| #transcribe-button { width: 100% ; flex-basis: auto ; } | |
| #input-workbench input[type="text"], #input-workbench input[type="number"], #input-workbench input[type="search"], #input-workbench input[type="email"], #input-workbench input[type="url"], #input-workbench textarea, #input-workbench select { font-size: 16px ; } | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| *, *::before, *::after { animation-duration: .01ms ; animation-iteration-count: 1 ; transition-duration: .01ms ; } | |
| } | |