:root { color-scheme: dark; --bg: #10100f; --panel: #1b1a18; --panel-strong: #23211f; --text: #f4f0e8; --muted: #aaa49a; --line: #38342f; --accent: #3ddc97; --accent-strong: #2fbd80; --warning: #f2c14e; --error: #ff6b6b; --shadow: 0 24px 80px rgba(0, 0, 0, 0.45); } * { box-sizing: border-box; } html, body { min-height: 100%; } body { margin: 0; background: radial-gradient(circle at top left, rgba(61, 220, 151, 0.14), transparent 34rem), linear-gradient(135deg, #10100f 0%, #171614 54%, #0c0c0b 100%); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } .shell { display: grid; min-height: 100vh; place-items: center; padding: 28px; } .converter-card { width: min(760px, 100%); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 8px; background: rgba(27, 26, 24, 0.94); box-shadow: var(--shadow); padding: clamp(22px, 4vw, 38px); } .header { margin-bottom: 28px; } .eyebrow { margin: 0 0 8px; color: var(--accent); font-size: 0.76rem; font-weight: 700; letter-spacing: 0; text-transform: uppercase; } h1, h2, p { margin-top: 0; } h1 { margin-bottom: 0; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1; letter-spacing: 0; } .form { display: grid; gap: 18px; } .field { display: grid; gap: 8px; } .field span { color: var(--muted); font-size: 0.88rem; font-weight: 650; } input, select, button { width: 100%; border-radius: 8px; font: inherit; } input, select { border: 1px solid var(--line); background: var(--panel-strong); color: var(--text); min-height: 50px; padding: 0 14px; outline: none; } input:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(61, 220, 151, 0.16); } .controls { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } button, .download-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; border: 0; background: var(--accent); color: #09110d; cursor: pointer; font-weight: 800; text-decoration: none; transition: transform 160ms ease, background 160ms ease, opacity 160ms ease; } button:hover, .download-button:hover { background: var(--accent-strong); transform: translateY(-1px); } button:disabled { cursor: not-allowed; opacity: 0.55; transform: none; } .metadata { display: grid; grid-template-columns: 150px 1fr; gap: 16px; align-items: center; margin-top: 24px; border: 1px solid var(--line); border-radius: 8px; background: rgba(35, 33, 31, 0.72); padding: 12px; } .metadata img { width: 100%; aspect-ratio: 16 / 9; border-radius: 6px; object-fit: cover; background: #0c0c0b; } .metadata h2 { margin-bottom: 8px; font-size: 1rem; line-height: 1.35; } .metadata p { margin-bottom: 4px; color: var(--muted); font-size: 0.92rem; } .status-panel { margin-top: 22px; border-top: 1px solid var(--line); padding-top: 18px; } .status-line { display: flex; align-items: center; gap: 10px; min-height: 28px; color: var(--muted); } .status-dot { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--muted); } .status-dot.active { background: var(--warning); box-shadow: 0 0 0 6px rgba(242, 193, 78, 0.13); } .status-dot.done { background: var(--accent); box-shadow: 0 0 0 6px rgba(61, 220, 151, 0.13); } .status-dot.error { background: var(--error); box-shadow: 0 0 0 6px rgba(255, 107, 107, 0.13); } .error-text { margin: 10px 0 0; color: var(--error); } .download-button { margin-top: 16px; width: 100%; border-radius: 8px; } .hidden { display: none !important; } @media (max-width: 640px) { .shell { padding: 16px; place-items: start center; } .converter-card { margin-top: 18px; } .controls, .metadata { grid-template-columns: 1fr; } }