:root { color-scheme: light; --bg: #f6f5f1; --surface: #ffffff; --ink: #161616; --muted: #696963; --line: #d8d6ce; --accent: #2f7664; --accent-strong: #245d50; --danger: #a43d32; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } * { box-sizing: border-box; } html, body { min-height: 100%; } body { margin: 0; background: var(--bg); color: var(--ink); } button, input { font: inherit; letter-spacing: 0; } .shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; } .archive-box { width: min(680px, 100%); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 12px; box-shadow: 0 18px 42px rgba(28, 25, 19, 0.08); } .input-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; } input { min-width: 0; width: 100%; height: 48px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: #fbfaf7; padding: 0 14px; outline: none; } input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(47, 118, 100, 0.16); } button { height: 48px; min-width: 112px; border: 0; border-radius: 6px; color: #ffffff; background: var(--accent); padding: 0 18px; cursor: pointer; } button:hover { background: var(--accent-strong); } button:disabled { cursor: wait; opacity: 0.72; } .progress-wrap { padding-top: 12px; } .progress-track { height: 6px; overflow: hidden; border-radius: 999px; background: #e7e4dc; } .progress-bar { width: 0%; height: 100%; border-radius: inherit; background: var(--accent); transition: width 220ms ease; } .status-line { min-height: 22px; margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 22px; } .status-line.error { color: var(--danger); } .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); } @media (max-width: 560px) { .shell { align-items: start; padding: 16px; padding-top: 20vh; } .archive-box { padding: 10px; } .input-row { grid-template-columns: 1fr; } button { width: 100%; } }