Build & Push Docker Image / build-and-push (push) Failing after 11s
Tonemark is a SvelteKit PWA for transcribing YouTube videos, audio and video files, and microphone recordings using a local Whisper backend. Features: - Dark glassmorphic UI with electric-lime accent (5 switchable themes) - Rail nav (desktop) / tab bar (mobile) layout - Drop zone, YouTube URL input, and live audio recording inputs - Audio mode waveform cards (none / standard / aggressive / auto) - Real-time transcription progress with animated waveform - Job queue with SSE streaming updates - Push notifications on job completion - PWA with native SvelteKit service worker - SRT / TXT / MD / JSON transcript downloads Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
76 lines
3.0 KiB
CSS
76 lines
3.0 KiB
CSS
@import 'tailwindcss';
|
|
|
|
/* ── Tonemark design tokens ─────────────────────────────────── */
|
|
:root {
|
|
--accent: #cdf24e;
|
|
--accent-rgb: 205,242,78;
|
|
--accent-glow: rgba(205,242,78,0.06);
|
|
--accent-dim: rgba(205, 242, 78, 0.12);
|
|
--accent-border: rgba(205, 242, 78, 0.3);
|
|
--bg: #0c0d10;
|
|
--surface: rgba(255, 255, 255, 0.025);
|
|
--surface-hover: rgba(255, 255, 255, 0.04);
|
|
--border: rgba(255, 255, 255, 0.06);
|
|
--text: #e8e9ec;
|
|
--text-muted: rgba(232, 233, 236, 0.5);
|
|
--text-dim: rgba(232, 233, 236, 0.4);
|
|
--font-ui: 'Inter', system-ui, -apple-system, sans-serif;
|
|
--font-mono: 'JetBrains Mono', 'SF Mono', ui-monospace, monospace;
|
|
--radius-sm: 8px;
|
|
--radius-md: 12px;
|
|
--radius-lg: 16px;
|
|
--rail-width: 200px;
|
|
}
|
|
|
|
/* ── Base ───────────────────────────────────────────────────── */
|
|
*, *::before, *::after { box-sizing: border-box; }
|
|
|
|
html, body {
|
|
margin: 0;
|
|
padding: 0;
|
|
background: var(--bg);
|
|
color: var(--text);
|
|
font-family: var(--font-ui);
|
|
letter-spacing: -0.01em;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
body {
|
|
background:
|
|
radial-gradient(120% 80% at 90% -10%, var(--accent-glow), transparent 60%),
|
|
var(--bg);
|
|
}
|
|
|
|
/* ── Glass surface ──────────────────────────────────────────── */
|
|
.glass {
|
|
background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-lg);
|
|
backdrop-filter: blur(20px);
|
|
box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset, 0 24px 48px -24px rgba(0,0,0,0.5);
|
|
}
|
|
|
|
/* ── Mono label ─────────────────────────────────────────────── */
|
|
.mono { font-family: var(--font-mono); }
|
|
.label {
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.08em;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
/* ── Scrollbar ──────────────────────────────────────────────── */
|
|
::-webkit-scrollbar { width: 4px; }
|
|
::-webkit-scrollbar-track { background: transparent; }
|
|
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 2px; }
|
|
|
|
/* ── Focus ring ─────────────────────────────────────────────── */
|
|
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
|
|
/* ── Animations ─────────────────────────────────────────────── */
|
|
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
|
|
@keyframes blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } }
|
|
@keyframes spin { to { transform: rotate(360deg); } }
|
|
|