Download source/demo/web/src/style.css from jackboyla/hendrix: direct link, hf CLI and curl.
- Browser
- Download file 39.1 kB
-
https://huggingface.co/spaces/jackboyla/hendrix/resolve/main/source/demo/web/src/style.css
- Command line
-
hf download hf://spaces/jackboyla/hendrix/source/demo/web/src/style.css
-
curl -L -o style.css https://huggingface.co/spaces/jackboyla/hendrix/resolve/main/source/demo/web/src/style.css
39.1 kB
| @import "tailwindcss"; | |
| /* ---- design tokens ----------------------------------------------------- */ | |
| /* Exposed to utilities: bg-surface, text-muted, border-line, font-serif, | |
| rounded-card, ease-fluid, animate-rise, etc. */ | |
| @theme { | |
| --color-bg: #0b0c10; | |
| --color-surface: #121319; | |
| --color-surface-2: #16171f; | |
| --color-line: rgba(255, 255, 255, 0.07); | |
| --color-line-strong: rgba(255, 255, 255, 0.13); | |
| --color-content: #edecf0; | |
| --color-muted: #aaacb9; | |
| --color-faint: #5a5c68; | |
| --color-accent: #ff5b7a; /* echoes the piano-roll playhead */ | |
| --color-accent-2: #ff8a5c; | |
| --color-accent-soft: rgba(255, 91, 122, 0.13); | |
| --color-accent-glow: rgba(255, 91, 122, 0.5); | |
| --color-ok: #4ad295; | |
| --radius-card: 12px; | |
| --ease-fluid: cubic-bezier(0.22, 1, 0.36, 1); | |
| --font-serif: "Instrument Serif", Georgia, "Times New Roman", serif; | |
| --font-sans: "Hanken Grotesk", system-ui, -apple-system, sans-serif; | |
| --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; | |
| --animate-rise: rise 0.7s var(--ease-fluid) both; | |
| --animate-drag-glow: drag-glow 1.7s var(--ease-fluid) infinite; | |
| @keyframes drag-glow { | |
| 0%, | |
| 100% { | |
| box-shadow: | |
| 0 0 0 1px var(--color-accent-soft), | |
| 0 0 14px -2px var(--color-accent-glow); | |
| } | |
| 50% { | |
| box-shadow: | |
| 0 0 0 1px var(--color-accent), | |
| 0 0 40px 2px var(--color-accent-glow); | |
| } | |
| } | |
| @keyframes rise { | |
| from { | |
| opacity: 0; | |
| transform: translateY(14px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: none; | |
| } | |
| } | |
| @keyframes ping { | |
| 0% { | |
| box-shadow: 0 0 0 0 var(--color-accent-glow); | |
| } | |
| 70% { | |
| box-shadow: 0 0 0 7px transparent; | |
| } | |
| 100% { | |
| box-shadow: 0 0 0 0 transparent; | |
| } | |
| } | |
| } | |
| /* ---- base -------------------------------------------------------------- */ | |
| @layer base { | |
| html { | |
| -webkit-font-smoothing: antialiased; | |
| text-rendering: optimizeLegibility; | |
| } | |
| body { | |
| font-family: var(--font-sans); | |
| min-height: 100vh; | |
| color: var(--color-content); | |
| background: | |
| radial-gradient( | |
| 900px 500px at 88% -8%, | |
| rgba(255, 91, 122, 0.1), | |
| transparent 60% | |
| ), | |
| /* A very dark grey page base — lifted off the near-black --color-bg | |
| (#0b0c10), which is kept for the dark insets inside the cards. */ | |
| #1b1c21; | |
| background-attachment: fixed; | |
| } | |
| /* Default button look; specific buttons override via utilities. */ | |
| button { | |
| font-family: var(--font-sans); | |
| font-size: 13px; | |
| font-weight: 500; | |
| color: var(--color-content); | |
| background: var(--color-surface-2); | |
| border: 1px solid var(--color-line-strong); | |
| padding: 8px 16px; | |
| border-radius: 9px; | |
| cursor: pointer; | |
| transition: | |
| background 0.15s var(--ease-fluid), | |
| border-color 0.15s var(--ease-fluid), | |
| transform 0.08s var(--ease-fluid); | |
| } | |
| button:hover { | |
| background: #20212b; | |
| border-color: rgba(255, 255, 255, 0.2); | |
| } | |
| button:active { | |
| transform: translateY(1px); | |
| } | |
| button:focus-visible { | |
| outline: 2px solid var(--color-accent); | |
| outline-offset: 2px; | |
| } | |
| button:disabled { | |
| opacity: 0.4; | |
| cursor: not-allowed; | |
| transform: none; | |
| } | |
| } | |
| /* ---- signature surfaces & buttons -------------------------------------- */ | |
| /* The frosted panel look shared by every card-like container. */ | |
| @utility card { | |
| background: | |
| linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 120px), | |
| var(--color-surface); | |
| border: 1px solid var(--color-line); | |
| border-radius: var(--radius-card); | |
| box-shadow: | |
| 0 1px 0 rgba(255, 255, 255, 0.04) inset, | |
| 0 18px 40px -28px rgba(0, 0, 0, 0.9); | |
| } | |
| /* The glowing accent gradient used by the primary download / transcribe CTAs. */ | |
| @utility btn-primary { | |
| background: linear-gradient(180deg, var(--color-accent), #e84668); | |
| border-color: transparent; | |
| color: #fff; | |
| font-weight: 600; | |
| box-shadow: | |
| 0 0 0 1px rgba(255, 91, 122, 0.4), | |
| 0 8px 22px -10px var(--color-accent-glow); | |
| &:hover:not(:disabled) { | |
| filter: brightness(1.08); | |
| background: linear-gradient(180deg, var(--color-accent), #e84668); | |
| border-color: transparent; | |
| } | |
| } | |
| /* ---- atmosphere (fixed overlays) --------------------------------------- */ | |
| .grain { | |
| position: fixed; | |
| inset: 0; | |
| pointer-events: none; | |
| z-index: 100; | |
| opacity: 0.035; | |
| background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); | |
| } | |
| /* Status dot: colour + ping keyed off the body's transcription state. */ | |
| body[data-state="transcribing"] .status-dot { | |
| background: var(--color-accent); | |
| animation: ping 1.3s var(--ease-fluid) infinite; | |
| } | |
| body[data-state="done"] .status-dot { | |
| background: var(--color-ok); | |
| } | |
| body[data-state="error"] .status-dot { | |
| background: var(--color-accent); | |
| } | |
| /* Drop overlay fades in via the body.drag class (set outside React). */ | |
| body.drag .drop-overlay { | |
| opacity: 1; | |
| } | |
| /* ---- crossfade slider -------------------------------------------------- */ | |
| /* Range thumbs need vendor pseudo-elements that utilities can't reach. */ | |
| .mix-slider { | |
| appearance: none; | |
| width: 170px; | |
| height: 4px; | |
| border-radius: 999px; | |
| background: linear-gradient(90deg, var(--color-muted), var(--color-accent)); | |
| cursor: pointer; | |
| } | |
| .mix-slider:disabled { | |
| cursor: not-allowed; | |
| filter: grayscale(1); | |
| } | |
| .mix-slider::-webkit-slider-thumb { | |
| appearance: none; | |
| width: 16px; | |
| height: 16px; | |
| border-radius: 50%; | |
| background: #fff; | |
| border: 2px solid var(--color-accent); | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5); | |
| transition: transform 0.1s var(--ease-fluid); | |
| } | |
| .mix-slider::-webkit-slider-thumb:hover { | |
| transform: scale(1.15); | |
| } | |
| .mix-slider::-moz-range-thumb { | |
| width: 16px; | |
| height: 16px; | |
| border-radius: 50%; | |
| background: #fff; | |
| border: 2px solid var(--color-accent); | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5); | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| animation: none ; | |
| transition: none ; | |
| } | |
| } | |
| /* ======================================================================== | |
| HENDRIX LISTENING LAB | |
| Editorial evidence-board direction for the configurable comparison page. | |
| ======================================================================== */ | |
| .compare-body { | |
| /* colour */ | |
| --lab-paper: #f1eee3; | |
| --lab-paper-deep: #e3dfd1; | |
| --lab-ink: #171714; | |
| --lab-ink-soft: #292925; | |
| --lab-muted: #6d6b62; | |
| --lab-rule: rgba(23, 23, 20, 0.28); | |
| --lab-rule-light: rgba(241, 238, 227, 0.2); | |
| --lab-signal: #ff573c; | |
| --lab-acid: #d9ef4a; | |
| --lab-blue: #55c4cf; | |
| --lab-focus: #116fdb; | |
| --lab-success: #88a829; | |
| --lab-warning: #d08a12; | |
| --lab-danger: #dc3f2d; | |
| /* typography */ | |
| --lab-display: "Bodoni Moda", Baskerville, "Times New Roman", serif; | |
| --lab-body: "Manrope", "Avenir Next", "Helvetica Neue", sans-serif; | |
| --lab-mono: "IBM Plex Mono", "Courier New", monospace; | |
| --lab-xs: 0.68rem; | |
| --lab-sm: 0.78rem; | |
| --lab-base: 0.96rem; | |
| --lab-lg: 1.2rem; | |
| --lab-xl: clamp(2rem, 4vw, 4.4rem); | |
| --lab-2xl: clamp(3.8rem, 9vw, 9.5rem); | |
| /* space, edge, depth, motion */ | |
| --lab-1: 0.3rem; | |
| --lab-2: 0.6rem; | |
| --lab-3: 0.9rem; | |
| --lab-4: 1.2rem; | |
| --lab-6: 1.8rem; | |
| --lab-8: 2.4rem; | |
| --lab-12: 3.6rem; | |
| --lab-radius-sm: 2px; | |
| --lab-radius-md: 8px; | |
| --lab-shadow: 8px 8px 0 rgba(23, 23, 20, 0.15); | |
| --lab-fast: 120ms; | |
| --lab-base-duration: 240ms; | |
| --lab-slow: 620ms; | |
| --lab-ease: cubic-bezier(0.22, 1, 0.36, 1); | |
| min-width: 320px; | |
| color: var(--lab-ink); | |
| background-color: var(--lab-paper); | |
| background-image: | |
| linear-gradient(rgba(23, 23, 20, 0.025) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(23, 23, 20, 0.018) 1px, transparent 1px); | |
| background-size: 28px 28px; | |
| background-attachment: fixed; | |
| font-family: var(--lab-body); | |
| } | |
| .compare-body *, | |
| .compare-body *::before, | |
| .compare-body *::after { | |
| box-sizing: border-box; | |
| } | |
| .compare-body button, | |
| .compare-body input { | |
| font: inherit; | |
| } | |
| .compare-body button { | |
| min-height: 44px; | |
| color: inherit; | |
| background: none; | |
| border: 0; | |
| border-radius: 0; | |
| padding: 0; | |
| } | |
| .compare-body button:hover { | |
| background: none; | |
| border-color: transparent; | |
| } | |
| .compare-body button:focus-visible, | |
| .compare-body a:focus-visible, | |
| .compare-body input:focus-visible { | |
| outline: 3px solid var(--lab-focus); | |
| outline-offset: 3px; | |
| } | |
| .compare-body button:active:not(:disabled) { | |
| transform: translateY(1px); | |
| } | |
| .compare-body button:disabled, | |
| .compare-body input:disabled { | |
| opacity: 0.38; | |
| cursor: not-allowed; | |
| } | |
| .compare-body a { | |
| color: inherit; | |
| } | |
| .compare-app { | |
| min-height: 100vh; | |
| position: relative; | |
| isolation: isolate; | |
| } | |
| .compare-grain { | |
| position: fixed; | |
| inset: 0; | |
| z-index: 100; | |
| pointer-events: none; | |
| opacity: 0.055; | |
| mix-blend-mode: multiply; | |
| background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E"); | |
| } | |
| @keyframes lab-enter { | |
| from { opacity: 0; transform: translateY(18px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| @keyframes signal-travel { | |
| 0% { transform: translateX(-16px); opacity: 0; } | |
| 40%, 80% { opacity: 1; } | |
| 100% { transform: translateX(16px); opacity: 0; } | |
| } | |
| @keyframes signal-pulse { | |
| 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--node-accent) 65%, transparent); } | |
| 50% { box-shadow: 0 0 0 7px transparent; } | |
| } | |
| .compare-masthead { | |
| width: min(100% - 48px, 1880px); | |
| margin: 0 auto; | |
| min-height: 430px; | |
| display: grid; | |
| grid-template-columns: minmax(160px, 0.55fr) minmax(520px, 2fr) minmax(190px, 0.65fr); | |
| gap: var(--lab-8); | |
| align-items: start; | |
| padding: 34px 0 42px; | |
| border-bottom: 2px solid var(--lab-ink); | |
| animation: lab-enter var(--lab-slow) var(--lab-ease) both; | |
| } | |
| .compare-wordmark { | |
| display: inline-flex; | |
| flex-direction: column; | |
| align-items: flex-start; | |
| width: fit-content; | |
| text-decoration: none; | |
| } | |
| .compare-wordmark > span { | |
| font: 700 clamp(1.35rem, 2.4vw, 2.4rem)/0.9 var(--lab-body); | |
| letter-spacing: -0.075em; | |
| } | |
| .compare-wordmark > small, | |
| .compare-kicker, | |
| .section-index, | |
| .preset-label { | |
| font: 600 var(--lab-xs)/1.2 var(--lab-mono); | |
| letter-spacing: 0.12em; | |
| text-transform: uppercase; | |
| } | |
| .compare-wordmark > small { | |
| margin-top: 10px; | |
| padding-top: 8px; | |
| border-top: 1px solid var(--lab-ink); | |
| } | |
| .compare-intro { | |
| max-width: 1040px; | |
| padding-top: 46px; | |
| } | |
| .compare-kicker { | |
| margin: 0 0 var(--lab-4); | |
| color: var(--lab-danger); | |
| } | |
| .compare-intro h1 { | |
| max-width: 960px; | |
| margin: 0; | |
| font: 600 var(--lab-2xl)/0.78 var(--lab-display); | |
| letter-spacing: -0.065em; | |
| text-wrap: balance; | |
| } | |
| .compare-intro h1 em { | |
| color: var(--lab-signal); | |
| font-weight: 600; | |
| } | |
| .compare-intro > p:last-child { | |
| width: min(610px, 75%); | |
| margin: 40px 0 0 auto; | |
| padding-left: 18px; | |
| border-left: 7px solid var(--lab-acid); | |
| font-size: var(--lab-base); | |
| line-height: 1.65; | |
| text-wrap: pretty; | |
| } | |
| .compare-config-button { | |
| justify-self: end; | |
| display: grid; | |
| grid-template-columns: auto 1fr auto; | |
| align-items: center; | |
| gap: 10px; | |
| width: 100%; | |
| max-width: 240px; | |
| padding: 12px 0 ; | |
| border-top: 1px solid var(--lab-ink) ; | |
| border-bottom: 1px solid var(--lab-ink) ; | |
| font-size: var(--lab-sm) ; | |
| text-align: left; | |
| transition: padding var(--lab-base-duration) var(--lab-ease), color var(--lab-fast); | |
| } | |
| .compare-config-button:hover { | |
| padding-left: 8px ; | |
| padding-right: 8px ; | |
| color: var(--lab-danger); | |
| } | |
| .compare-config-button > .config-button-count { | |
| display: grid; | |
| place-items: center; | |
| width: 27px; | |
| height: 27px; | |
| color: var(--lab-paper); | |
| background: var(--lab-ink); | |
| font: 500 var(--lab-xs)/1 var(--lab-mono); | |
| } | |
| .compare-main { | |
| width: min(100% - 48px, 1880px); | |
| margin: 0 auto; | |
| } | |
| .preset-strip { | |
| max-width: 100%; | |
| min-height: 66px; | |
| display: flex; | |
| align-items: stretch; | |
| border-bottom: 1px solid var(--lab-ink); | |
| contain: inline-size; | |
| animation: lab-enter var(--lab-slow) var(--lab-ease) 80ms both; | |
| } | |
| .preset-label { | |
| display: flex; | |
| align-items: center; | |
| padding-right: 28px; | |
| color: var(--lab-muted); | |
| } | |
| .preset-button { | |
| position: relative; | |
| min-width: 132px; | |
| padding: 0 20px ; | |
| border-left: 1px solid var(--lab-rule) ; | |
| font-size: var(--lab-sm) ; | |
| font-weight: 600 ; | |
| transition: color var(--lab-fast), background var(--lab-fast) ; | |
| } | |
| .preset-button:hover, | |
| .preset-button.is-active { | |
| color: var(--lab-paper) ; | |
| background: var(--lab-ink) ; | |
| } | |
| .preset-button.is-active::after { | |
| content: ""; | |
| position: absolute; | |
| right: 8px; | |
| top: 8px; | |
| width: 7px; | |
| height: 7px; | |
| background: var(--lab-acid); | |
| } | |
| .signal-rail { | |
| min-height: 132px; | |
| display: grid; | |
| grid-template-columns: 115px 1fr 100px; | |
| align-items: stretch; | |
| color: var(--lab-paper); | |
| background: var(--lab-ink); | |
| border-bottom: 1px solid var(--lab-ink); | |
| overflow: hidden; | |
| animation: lab-enter var(--lab-slow) var(--lab-ease) 130ms both; | |
| } | |
| .signal-origin, | |
| .signal-output { | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| gap: 5px; | |
| padding: 18px; | |
| font-family: var(--lab-mono); | |
| } | |
| .signal-origin { border-right: 1px solid var(--lab-rule-light); } | |
| .signal-output { border-left: 1px solid var(--lab-rule-light); text-align: right; } | |
| .signal-origin span, | |
| .signal-output span { color: rgba(241, 238, 227, 0.55); font-size: 0.6rem; letter-spacing: 0.16em; } | |
| .signal-origin strong, | |
| .signal-output strong { font-size: 0.88rem; } | |
| .signal-track { | |
| position: relative; | |
| display: grid; | |
| grid-template-columns: repeat(var(--rail-count), minmax(125px, 1fr)); | |
| align-items: center; | |
| gap: 10px; | |
| padding: 18px 32px; | |
| overflow-x: auto; | |
| } | |
| .signal-track::before { | |
| content: ""; | |
| position: absolute; | |
| left: 0; | |
| right: 0; | |
| top: 50%; | |
| height: 1px; | |
| background: rgba(241, 238, 227, 0.45); | |
| } | |
| .signal-track::after { | |
| content: ""; | |
| position: absolute; | |
| top: calc(50% - 3px); | |
| left: 12px; | |
| width: 24px; | |
| height: 7px; | |
| background: var(--lab-acid); | |
| animation: signal-travel 1.8s linear infinite; | |
| } | |
| .signal-node { | |
| --node-accent: var(--lab-signal); | |
| position: relative; | |
| z-index: 1; | |
| min-width: 128px; | |
| display: grid; | |
| grid-template-columns: auto 1fr; | |
| grid-template-rows: auto auto; | |
| column-gap: 9px; | |
| align-items: center; | |
| padding: 11px 12px; | |
| color: var(--lab-paper); | |
| background: var(--lab-ink-soft); | |
| border: 1px solid rgba(241, 238, 227, 0.3); | |
| box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.32); | |
| animation: lab-enter 400ms var(--lab-ease) var(--node-delay) both; | |
| } | |
| .signal-node strong { font-size: 0.78rem; line-height: 1.2; } | |
| .signal-node small { grid-column: 2; color: rgba(241, 238, 227, 0.55); font: 400 0.6rem/1.2 var(--lab-mono); text-transform: uppercase; } | |
| .signal-light { grid-row: 1 / 3; width: 10px; height: 10px; background: #575751; border: 2px solid var(--lab-ink-soft); outline: 1px solid rgba(241, 238, 227, 0.35); } | |
| .signal-light.is-transcribing { background: var(--node-accent); animation: signal-pulse 1.2s ease-out infinite; } | |
| .signal-light.is-done { background: var(--lab-acid); } | |
| .signal-light.is-error, | |
| .signal-light.is-offline { background: var(--lab-danger); } | |
| .signal-empty { | |
| position: relative; | |
| z-index: 1; | |
| justify-self: center; | |
| padding: 0 18px ; | |
| color: var(--lab-paper) ; | |
| background: var(--lab-ink) ; | |
| border: 1px solid var(--lab-rule-light) ; | |
| font-size: var(--lab-sm) ; | |
| } | |
| .source-console, | |
| .outputs-section { | |
| padding: 76px 0 80px; | |
| border-bottom: 2px solid var(--lab-ink); | |
| } | |
| .source-console-head, | |
| .outputs-heading { | |
| display: grid; | |
| grid-template-columns: minmax(280px, 1fr) minmax(240px, 0.7fr); | |
| align-items: end; | |
| gap: 40px; | |
| margin-bottom: 28px; | |
| } | |
| .section-index { display: block; margin-bottom: 10px; color: var(--lab-danger); } | |
| .source-console-head h2, | |
| .outputs-heading h2 { | |
| margin: 0; | |
| font: 600 var(--lab-xl)/0.95 var(--lab-display); | |
| letter-spacing: -0.045em; | |
| } | |
| .source-console-head > p, | |
| .outputs-heading > p { | |
| justify-self: end; | |
| max-width: 430px; | |
| margin: 0; | |
| color: var(--lab-muted); | |
| font-size: var(--lab-sm); | |
| line-height: 1.55; | |
| } | |
| .source-actions { | |
| display: grid; | |
| grid-template-columns: minmax(210px, 0.75fr) minmax(300px, 1.6fr) minmax(220px, 0.8fr); | |
| border: 2px solid var(--lab-ink); | |
| box-shadow: var(--lab-shadow); | |
| } | |
| .upload-plate, | |
| .run-button { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: flex-start; | |
| justify-content: center; | |
| min-height: 136px; | |
| padding: 22px 24px ; | |
| transition: background var(--lab-fast), color var(--lab-fast) ; | |
| } | |
| .upload-plate { border-right: 1px solid var(--lab-ink) ; } | |
| .upload-plate svg { margin-bottom: 15px; } | |
| .upload-plate > span, | |
| .run-button > span { font-size: var(--lab-base); font-weight: 700; } | |
| .upload-plate > small, | |
| .run-button > small { margin-top: 6px; color: var(--lab-muted); font: 400 0.62rem/1.4 var(--lab-mono); } | |
| .upload-plate:hover { color: var(--lab-paper) ; background: var(--lab-ink) ; } | |
| .upload-plate:hover small { color: rgba(241, 238, 227, 0.6); } | |
| .selected-source { | |
| min-width: 0; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| padding: 22px 30px; | |
| background: rgba(255, 255, 255, 0.24); | |
| } | |
| .selected-source > span { margin-bottom: 10px; color: var(--lab-muted); font: 600 0.62rem/1.2 var(--lab-mono); letter-spacing: 0.14em; } | |
| .selected-source > strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 clamp(1.25rem, 2.5vw, 2.5rem)/1 var(--lab-display); letter-spacing: -0.035em; } | |
| .selected-source > small { margin-top: 10px; color: var(--lab-muted); font-size: var(--lab-sm); } | |
| .selected-source.has-file { background: var(--lab-acid); } | |
| .selected-source.has-file > span, | |
| .selected-source.has-file > small { color: rgba(23, 23, 20, 0.68); } | |
| .run-button { | |
| color: var(--lab-paper) ; | |
| background: var(--lab-signal) ; | |
| border-left: 1px solid var(--lab-ink) ; | |
| } | |
| .run-button small { color: rgba(23, 23, 20, 0.62); } | |
| .run-button:hover:not(:disabled) { background: var(--lab-ink) ; } | |
| .run-button:hover:not(:disabled) small { color: rgba(241, 238, 227, 0.6); } | |
| .source-error { | |
| margin-top: 18px; | |
| padding: 14px 18px; | |
| color: var(--lab-paper); | |
| background: var(--lab-danger); | |
| border-left: 8px solid var(--lab-ink); | |
| font-size: var(--lab-sm); | |
| } | |
| .record-crate { | |
| margin-top: 42px; | |
| } | |
| .crate-heading { | |
| display: flex; | |
| align-items: end; | |
| justify-content: space-between; | |
| gap: 20px; | |
| padding-bottom: 13px; | |
| border-bottom: 1px solid var(--lab-ink); | |
| } | |
| .crate-heading > div { display: flex; align-items: baseline; gap: 18px; } | |
| .crate-heading span { color: var(--lab-danger); font: 600 var(--lab-xs)/1.2 var(--lab-mono); letter-spacing: 0.12em; } | |
| .crate-heading strong { font: 600 var(--lab-lg)/1 var(--lab-display); } | |
| .crate-heading > small { max-width: 520px; color: var(--lab-muted); font-size: var(--lab-xs); text-align: right; } | |
| .crate-scroll { | |
| display: grid; | |
| grid-auto-flow: column; | |
| grid-auto-columns: minmax(230px, 1fr); | |
| overflow-x: auto; | |
| gap: 1px; | |
| padding: 1px 0 14px; | |
| scrollbar-color: var(--lab-ink) var(--lab-paper-deep); | |
| } | |
| .record-sleeve { | |
| position: relative; | |
| min-height: 235px; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: flex-start; | |
| padding: 18px ; | |
| text-align: left; | |
| background: #dcd7c7 ; | |
| border: 1px solid var(--lab-ink) ; | |
| overflow: hidden; | |
| transition: transform var(--lab-base-duration) var(--lab-ease), box-shadow var(--lab-base-duration) var(--lab-ease) ; | |
| } | |
| .record-sleeve:nth-child(4n + 1) { background: #e65a41 ; } | |
| .record-sleeve:nth-child(4n + 2) { background: #67bdc8 ; } | |
| .record-sleeve:nth-child(4n + 3) { background: #d5e45a ; } | |
| .record-sleeve:nth-child(4n + 4) { background: #e3b64a ; } | |
| .record-sleeve::after { content: ""; position: absolute; right: -54px; bottom: -54px; width: 150px; height: 150px; border: 28px solid rgba(23, 23, 20, 0.12); border-radius: 50%; } | |
| .record-sleeve:hover:not(:disabled) { z-index: 2; transform: translateY(-7px) rotate(-0.4deg); box-shadow: 7px 8px 0 var(--lab-ink); } | |
| .record-sleeve:active:not(:disabled) { transform: translateY(-2px); } | |
| .record-sleeve.is-loading { background: var(--lab-ink) ; color: var(--lab-paper); } | |
| .sleeve-number { margin-left: auto; font: 500 0.66rem/1 var(--lab-mono); } | |
| .sleeve-genre { margin-top: 46px; font: 600 0.62rem/1 var(--lab-mono); letter-spacing: 0.1em; text-transform: uppercase; } | |
| .record-sleeve strong { position: relative; z-index: 1; max-width: 94%; margin-top: 9px; font: 600 1.25rem/1.05 var(--lab-display); letter-spacing: -0.025em; } | |
| .record-sleeve small { position: relative; z-index: 1; margin-top: auto; padding-top: 18px; font-size: 0.66rem; line-height: 1.35; } | |
| .crate-state { | |
| min-height: 120px; | |
| display: grid; | |
| place-items: center; | |
| padding: 20px; | |
| color: var(--lab-muted); | |
| border-bottom: 1px solid var(--lab-rule); | |
| font-size: var(--lab-sm); | |
| text-align: center; | |
| } | |
| .crate-state.is-error { color: var(--lab-danger); } | |
| .crate-state code { padding: 2px 5px; color: var(--lab-ink); background: var(--lab-paper-deep); font-family: var(--lab-mono); } | |
| .transport-console { | |
| position: sticky; | |
| top: 10px; | |
| z-index: 20; | |
| min-height: 78px; | |
| display: grid; | |
| grid-template-columns: 58px 112px minmax(140px, 1fr) minmax(235px, auto) minmax(260px, auto); | |
| align-items: center; | |
| gap: 18px; | |
| margin: 26px 0; | |
| padding: 10px 16px 10px 10px; | |
| color: var(--lab-paper); | |
| background: rgba(23, 23, 20, 0.97); | |
| border: 1px solid var(--lab-ink); | |
| box-shadow: 6px 7px 0 rgba(23, 23, 20, 0.17); | |
| backdrop-filter: blur(12px); | |
| } | |
| .transport-play { | |
| display: grid; | |
| place-items: center; | |
| width: 56px; | |
| height: 56px; | |
| min-height: 56px ; | |
| color: var(--lab-ink) ; | |
| background: var(--lab-acid) ; | |
| } | |
| .transport-play:hover:not(:disabled) { background: var(--lab-signal) ; } | |
| .transport-play svg { width: 20px; height: 20px; } | |
| .transport-clock { font: 500 0.72rem/1 var(--lab-mono); font-variant-numeric: tabular-nums; } | |
| .transport-seek, | |
| .transport-mix input { | |
| appearance: none; | |
| height: 3px; | |
| background: rgba(241, 238, 227, 0.32); | |
| cursor: pointer; | |
| } | |
| .transport-seek { width: 100%; } | |
| .transport-seek::-webkit-slider-thumb, | |
| .transport-mix input::-webkit-slider-thumb { appearance: none; width: 15px; height: 15px; background: var(--lab-signal); border: 2px solid var(--lab-ink); outline: 1px solid var(--lab-paper); border-radius: 0; } | |
| .transport-seek::-moz-range-thumb, | |
| .transport-mix input::-moz-range-thumb { width: 12px; height: 12px; background: var(--lab-signal); border: 2px solid var(--lab-paper); border-radius: 0; } | |
| .transport-mix { | |
| display: grid; | |
| grid-template-columns: auto minmax(90px, 1fr) auto; | |
| align-items: center; | |
| gap: 8px; | |
| color: rgba(241, 238, 227, 0.62); | |
| font: 500 0.59rem/1 var(--lab-mono); | |
| text-transform: uppercase; | |
| } | |
| .listen-switch { | |
| display: flex; | |
| align-items: center; | |
| justify-content: flex-end; | |
| gap: 4px; | |
| overflow-x: auto; | |
| } | |
| .listen-switch > span { flex: 0 0 auto; margin-right: 5px; color: rgba(241, 238, 227, 0.48); font: 500 0.58rem/1 var(--lab-mono); text-transform: uppercase; } | |
| .listen-switch button { flex: 0 0 auto; min-height: 36px ; padding: 0 10px ; color: rgba(241, 238, 227, 0.65) ; border: 1px solid var(--lab-rule-light) ; font-size: 0.68rem ; } | |
| .listen-switch button:hover:not(:disabled), | |
| .listen-switch button.is-active { color: var(--lab-ink) ; background: var(--model-accent) ; border-color: var(--model-accent) ; } | |
| .outputs-section { padding-top: 56px; } | |
| .model-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr)); gap: 22px; align-items: start; } | |
| .model-panel { | |
| --model-accent: var(--lab-signal); | |
| min-width: 0; | |
| background: var(--lab-ink); | |
| border: 2px solid var(--lab-ink); | |
| box-shadow: 7px 7px 0 rgba(23, 23, 20, 0.14); | |
| animation: lab-enter var(--lab-slow) var(--lab-ease) calc(var(--panel-order) * 65ms) both; | |
| } | |
| .model-panel.status-transcribing { box-shadow: 7px 7px 0 var(--model-accent); } | |
| .model-panel.status-error { border-color: var(--lab-danger); } | |
| .model-panel-head { | |
| min-height: 114px; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: flex-start; | |
| gap: 18px; | |
| padding: 18px 20px; | |
| color: var(--lab-paper); | |
| border-bottom: 1px solid var(--lab-rule-light); | |
| } | |
| .model-panel-head > div:first-child > span { color: var(--model-accent); font: 600 0.59rem/1 var(--lab-mono); letter-spacing: 0.12em; text-transform: uppercase; } | |
| .model-panel h3 { margin: 5px 0 3px; font: 600 2.1rem/0.95 var(--lab-display); letter-spacing: -0.035em; } | |
| .model-panel-head > div:first-child > small { color: rgba(241, 238, 227, 0.5); font-size: 0.66rem; } | |
| .model-metrics { display: grid; grid-template-columns: repeat(2, auto); gap: 8px 18px; text-align: right; } | |
| .model-state { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 7px; color: rgba(241, 238, 227, 0.62); font: 500 0.58rem/1 var(--lab-mono); text-transform: uppercase; } | |
| .model-state i { width: 8px; height: 8px; background: #5f5f58; } | |
| .status-transcribing .model-state i { background: var(--model-accent); animation: signal-pulse 1.2s ease-out infinite; } | |
| .status-done .model-state i { background: var(--lab-acid); } | |
| .status-error .model-state i { background: var(--lab-danger); } | |
| .model-metrics > strong { font: 500 0.75rem/1.2 var(--lab-mono); } | |
| .model-metrics > strong > small { display: block; margin-top: 3px; color: rgba(241, 238, 227, 0.38); font-size: 0.53rem; font-weight: 400; text-transform: uppercase; } | |
| .roll-frame { position: relative; min-height: 390px; background: #0b0c10; overflow: hidden; } | |
| .roll-frame canvas { display: block; width: 100%; height: 390px; } | |
| .roll-state { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 35px; color: rgba(241, 238, 227, 0.58); background: rgba(11, 12, 16, 0.9); text-align: center; } | |
| .roll-state > span { font: 600 1.55rem/1 var(--lab-display); color: var(--lab-paper); } | |
| .roll-state > small { max-width: 410px; font-size: 0.72rem; line-height: 1.5; } | |
| .roll-state.is-error { background: color-mix(in srgb, var(--lab-danger) 18%, rgba(11, 12, 16, 0.96)); } | |
| .roll-state button { margin-top: 10px; padding: 0 14px ; color: var(--lab-paper) ; border: 1px solid rgba(241, 238, 227, 0.5) ; font-size: 0.7rem ; } | |
| .roll-state button:hover { color: var(--lab-ink) ; background: var(--lab-paper) ; } | |
| .panel-progress { position: absolute; left: 0; bottom: 0; height: 4px; background: var(--model-accent); transition: width 360ms var(--lab-ease); } | |
| .model-panel-foot { min-height: 57px; display: flex; align-items: center; gap: 12px; padding: 10px 14px; color: var(--lab-paper); border-top: 1px solid var(--lab-rule-light); } | |
| .instrument-tape { min-width: 0; flex: 1; display: flex; align-items: center; gap: 8px 12px; overflow-x: auto; scrollbar-width: thin; } | |
| .instrument-tape > span { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; color: rgba(241, 238, 227, 0.58); font-size: 0.61rem; } | |
| .instrument-tape > span > i { width: 8px; height: 8px; } | |
| .midi-download { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; min-height: 34px; padding: 0 10px; color: var(--lab-ink) ; background: var(--lab-acid); font: 600 0.61rem/34px var(--lab-mono); text-decoration: none; } | |
| .midi-download:hover { background: var(--model-accent); } | |
| .outputs-empty { | |
| width: 100%; | |
| min-height: 240px ; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 8px; | |
| border: 2px dashed var(--lab-rule) ; | |
| } | |
| .outputs-empty strong { font: 600 1.8rem/1 var(--lab-display); } | |
| .outputs-empty span { color: var(--lab-muted); font-size: var(--lab-sm); } | |
| .outputs-empty:hover { color: var(--lab-paper) ; background: var(--lab-ink) ; border-color: var(--lab-ink) ; } | |
| .compare-footer { | |
| width: min(100% - 48px, 1880px); | |
| min-height: 180px; | |
| margin: 0 auto; | |
| display: grid; | |
| grid-template-columns: 1fr minmax(280px, 1fr) auto; | |
| align-items: center; | |
| gap: 30px; | |
| font-size: var(--lab-xs); | |
| } | |
| .compare-footer > span { font: 600 var(--lab-xs)/1.4 var(--lab-mono); letter-spacing: 0.1em; } | |
| .compare-footer p { color: var(--lab-muted); line-height: 1.5; } | |
| .compare-footer a { padding: 10px 0; border-bottom: 1px solid var(--lab-ink); font-weight: 700; text-decoration: none; } | |
| .compare-footer a:hover { color: var(--lab-danger); } | |
| .drop-field { | |
| position: fixed; | |
| inset: 18px; | |
| z-index: 80; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| color: var(--lab-paper); | |
| background: rgba(23, 23, 20, 0.94); | |
| border: 4px solid var(--lab-acid); | |
| pointer-events: none; | |
| backdrop-filter: blur(8px); | |
| } | |
| .drop-field span { color: var(--lab-acid); font: 600 var(--lab-xs)/1 var(--lab-mono); letter-spacing: 0.16em; } | |
| .drop-field strong { margin-top: 12px; font: 600 clamp(2rem, 6vw, 5rem)/0.95 var(--lab-display); } | |
| .config-backdrop { | |
| position: fixed; | |
| inset: 0; | |
| z-index: 120; | |
| display: flex; | |
| justify-content: flex-end; | |
| background: rgba(23, 23, 20, 0.62); | |
| backdrop-filter: blur(5px); | |
| } | |
| .config-drawer { | |
| width: min(680px, 100%); | |
| height: 100%; | |
| overflow-y: auto; | |
| padding: 34px; | |
| color: var(--lab-ink); | |
| background: var(--lab-paper); | |
| border-left: 2px solid var(--lab-ink); | |
| box-shadow: -16px 0 0 rgba(23, 23, 20, 0.13); | |
| animation: lab-enter 340ms var(--lab-ease) both; | |
| } | |
| .config-drawer > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 2px solid var(--lab-ink); } | |
| .config-drawer > header span { color: var(--lab-danger); font: 600 var(--lab-xs)/1 var(--lab-mono); letter-spacing: 0.12em; } | |
| .config-drawer h2 { margin: 8px 0 0; font: 600 clamp(2.4rem, 7vw, 4.4rem)/0.9 var(--lab-display); letter-spacing: -0.05em; } | |
| .config-close { width: 48px; min-height: 48px ; display: grid; place-items: center; border: 1px solid var(--lab-ink) ; } | |
| .config-close:hover { color: var(--lab-paper) ; background: var(--lab-ink) ; } | |
| .config-lede { max-width: 530px; margin: 22px 0; color: var(--lab-muted); font-size: var(--lab-sm); line-height: 1.6; } | |
| .config-presets { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 24px; } | |
| .config-presets button { min-height: 36px ; padding: 0 12px ; border: 1px solid var(--lab-rule) ; font-size: 0.68rem ; } | |
| .config-presets button:hover { color: var(--lab-paper) ; background: var(--lab-ink) ; } | |
| .config-models { display: grid; gap: 10px; } | |
| .config-model { --model-accent: var(--lab-signal); position: relative; display: grid; grid-template-columns: 1fr auto; gap: 15px; padding: 16px; background: rgba(255, 255, 255, 0.26); border: 1px solid var(--lab-rule); } | |
| .config-model::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: transparent; } | |
| .config-model.is-enabled::before { background: var(--model-accent); } | |
| .config-toggle { grid-column: 1 / -1; display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 10px; cursor: pointer; } | |
| .config-toggle input { position: absolute; opacity: 0; pointer-events: none; } | |
| .config-toggle > span { position: relative; width: 38px; height: 21px; background: #bbb7a9; border: 1px solid var(--lab-ink); } | |
| .config-toggle > span::after { content: ""; position: absolute; left: 3px; top: 3px; width: 13px; height: 13px; background: var(--lab-paper); border: 1px solid var(--lab-ink); transition: transform var(--lab-fast); } | |
| .config-toggle input:checked + span { background: var(--model-accent); } | |
| .config-toggle input:checked + span::after { transform: translateX(17px); } | |
| .config-toggle input:focus-visible + span { outline: 3px solid var(--lab-focus); outline-offset: 3px; } | |
| .config-toggle strong { font: 600 1.18rem/1 var(--lab-display); } | |
| .config-toggle small { color: var(--lab-muted); font: 500 0.57rem/1 var(--lab-mono); text-transform: uppercase; } | |
| .endpoint-field { min-width: 0; display: grid; gap: 5px; } | |
| .endpoint-field > span { color: var(--lab-muted); font: 500 0.55rem/1 var(--lab-mono); text-transform: uppercase; } | |
| .endpoint-field input { min-width: 0; width: 100%; height: 37px; padding: 0 9px; color: var(--lab-ink); background: var(--lab-paper); border: 1px solid var(--lab-rule); border-radius: 0; font: 400 0.68rem/1 var(--lab-mono); } | |
| .endpoint-health { align-self: end; display: flex; align-items: center; gap: 6px; min-width: 72px; height: 37px; color: var(--lab-muted); font: 500 0.56rem/1 var(--lab-mono); text-transform: uppercase; } | |
| .endpoint-health i { width: 7px; height: 7px; background: var(--lab-warning); } | |
| .endpoint-health.is-online i { background: var(--lab-success); } | |
| .endpoint-health.is-offline i { background: var(--lab-danger); } | |
| .config-note { display: grid; grid-template-columns: 130px 1fr; gap: 14px; margin: 22px 0; padding: 15px 0; border-top: 1px solid var(--lab-rule); border-bottom: 1px solid var(--lab-rule); font-size: var(--lab-xs); line-height: 1.5; } | |
| .config-note span { color: var(--lab-muted); } | |
| .config-note code { color: var(--lab-ink); font-family: var(--lab-mono); } | |
| .config-done { width: 100%; min-height: 58px ; color: var(--lab-paper) ; background: var(--lab-ink) ; font-weight: 700 ; } | |
| .config-done:hover:not(:disabled) { color: var(--lab-ink) ; background: var(--lab-acid) ; } | |
| @media (min-width: 1600px) { | |
| .model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } | |
| .source-actions { grid-template-columns: 0.65fr 1.8fr 0.7fr; } | |
| } | |
| @media (max-width: 1180px) { | |
| .compare-masthead { min-height: 390px; grid-template-columns: 160px 1fr; } | |
| .compare-config-button { grid-column: 1; grid-row: 2; justify-self: start; align-self: end; } | |
| .compare-intro { grid-column: 2; grid-row: 1 / 3; } | |
| .signal-rail { grid-template-columns: 90px 1fr 80px; } | |
| .signal-track { padding-left: 20px; padding-right: 20px; } | |
| .source-actions { grid-template-columns: 0.8fr 1.4fr; } | |
| .run-button { grid-column: 1 / -1; min-height: 88px; border-top: 1px solid var(--lab-ink) ; border-left: 0 ; } | |
| .transport-console { grid-template-columns: 58px 105px 1fr minmax(220px, auto); } | |
| .listen-switch { grid-column: 1 / -1; justify-content: flex-start; padding: 4px 0; } | |
| } | |
| @media (max-width: 760px) { | |
| .compare-masthead, | |
| .compare-main, | |
| .compare-footer { width: min(100% - 28px, 1880px); } | |
| .compare-masthead { min-height: auto; grid-template-columns: 1fr auto; gap: 24px; padding: 22px 0 32px; } | |
| .compare-wordmark { grid-column: 1; } | |
| .compare-config-button { grid-column: 2; grid-row: 1; width: 48px; height: 48px; min-height: 48px; padding: 0 ; display: grid; place-items: center; border: 1px solid var(--lab-ink) ; } | |
| .compare-config-button:hover { padding: 0 ; } | |
| .compare-config-button > .config-button-label { display: none; } | |
| .compare-config-button > svg { width: 19px; height: 19px; } | |
| .compare-config-button > .config-button-count { position: absolute; margin: -34px 0 0 36px; width: 21px; height: 21px; font-size: 0.58rem; } | |
| .compare-intro { grid-column: 1 / -1; grid-row: 2; padding-top: 22px; } | |
| .compare-intro h1 { font-size: clamp(3.5rem, 18vw, 6.8rem); line-height: 0.82; } | |
| .compare-intro > p:last-child { width: 100%; margin-top: 30px; } | |
| .preset-strip { overflow-x: auto; } | |
| .preset-label { position: sticky; left: 0; z-index: 1; padding: 0 14px; background: var(--lab-paper); } | |
| .preset-button { min-width: 126px; } | |
| .signal-rail { grid-template-columns: 68px minmax(0, 1fr); min-height: 118px; } | |
| .signal-output { display: none; } | |
| .signal-origin { padding: 10px; } | |
| .signal-track { grid-auto-flow: column; grid-auto-columns: 145px; grid-template-columns: none; padding: 15px; } | |
| .source-console, | |
| .outputs-section { padding: 54px 0; } | |
| .source-console-head, | |
| .outputs-heading { grid-template-columns: 1fr; gap: 16px; } | |
| .source-console-head > p, | |
| .outputs-heading > p { justify-self: start; } | |
| .source-actions { grid-template-columns: 1fr; box-shadow: 5px 5px 0 rgba(23, 23, 20, 0.15); } | |
| .upload-plate { min-height: 104px; border-right: 0 ; border-bottom: 1px solid var(--lab-ink) ; } | |
| .selected-source { min-height: 112px; padding: 22px; } | |
| .run-button { grid-column: auto; min-height: 86px; } | |
| .crate-heading { align-items: flex-start; flex-direction: column; } | |
| .crate-heading > small { text-align: left; } | |
| .crate-scroll { grid-auto-columns: minmax(205px, 78vw); } | |
| .record-sleeve { min-height: 220px; } | |
| .transport-console { top: 6px; grid-template-columns: 52px 1fr; gap: 11px; padding: 8px; } | |
| .transport-play { width: 50px; height: 50px; min-height: 50px ; } | |
| .transport-clock { text-align: right; } | |
| .transport-seek, | |
| .transport-mix, | |
| .listen-switch { grid-column: 1 / -1; } | |
| .transport-mix { padding: 5px; } | |
| .listen-switch { justify-content: flex-start; } | |
| .model-grid { grid-template-columns: 1fr; } | |
| .model-panel-head { min-height: 130px; } | |
| .model-panel h3 { font-size: 1.8rem; } | |
| .roll-frame, | |
| .roll-frame canvas { min-height: 340px; height: 340px; } | |
| .compare-footer { grid-template-columns: 1fr; gap: 14px; padding: 38px 0; } | |
| .compare-footer p { margin: 0; } | |
| .compare-footer a { width: fit-content; } | |
| .config-drawer { padding: 22px 16px 32px; } | |
| } | |
| @media (max-width: 460px) { | |
| .compare-masthead, | |
| .compare-main, | |
| .compare-footer { width: min(100% - 20px, 1880px); } | |
| .compare-intro h1 { font-size: clamp(3rem, 17vw, 4.9rem); } | |
| .compare-intro > p:last-child { font-size: 0.86rem; } | |
| .signal-origin { display: none; } | |
| .signal-rail { grid-template-columns: 1fr; } | |
| .source-console-head h2, | |
| .outputs-heading h2 { font-size: 2.6rem; } | |
| .selected-source > strong { font-size: 1.5rem; } | |
| .model-panel-head { flex-direction: column; } | |
| .model-metrics { width: 100%; grid-template-columns: 1fr auto auto; text-align: left; } | |
| .model-state { grid-column: auto; justify-content: flex-start; } | |
| .model-metrics > strong { text-align: right; } | |
| .roll-frame, | |
| .roll-frame canvas { min-height: 300px; height: 300px; } | |
| .config-model { grid-template-columns: 1fr; } | |
| .endpoint-health { align-self: start; height: auto; } | |
| .config-note { grid-template-columns: 1fr; } | |
| } | |