:root { --bg: #fafafa; --fg: #1f2328; --muted: #57606a; --accent: #0969da; --accent-hover: #0860c7; --border: #d0d7de; --error-bg: #ffebe9; --error-fg: #82071e; --status-fg: #1f2328; --code-bg: #f6f8fa; --code-fg: #1f2328; } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; background-color: var(--bg); color: var(--fg); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 16px; line-height: 1.5; } .container { max-width: 960px; margin: 0 auto; padding: 2rem 1.5rem 4rem; } h1 { margin: 0 0 0.5rem; font-size: 2rem; font-weight: 600; } h2 { margin: 0 0 0.75rem; font-size: 1.25rem; font-weight: 600; } .lede { margin: 0 0 2rem; color: var(--muted); } .upload-form { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; padding: 1rem; background-color: #ffffff; border: 1px solid var(--border); border-radius: 6px; margin-bottom: 1rem; } .file-label { font-weight: 500; } input[type="file"] { font: inherit; flex: 1 1 240px; min-width: 0; } button { font: inherit; font-weight: 500; padding: 0.5rem 1rem; background-color: var(--accent); color: #ffffff; border: 1px solid var(--accent); border-radius: 6px; cursor: pointer; } button:hover:not(:disabled) { background-color: var(--accent-hover); border-color: var(--accent-hover); } button:disabled { opacity: 0.6; cursor: not-allowed; } .status { margin: 0.5rem 0 0; color: var(--status-fg); min-height: 1.25rem; font-size: 0.95rem; } .error { margin: 0.5rem 0 1rem; padding: 0.75rem 1rem; background-color: var(--error-bg); color: var(--error-fg); border: 1px solid #ffcecb; border-radius: 6px; font-size: 0.95rem; display: none; white-space: pre-wrap; } .error:not(:empty) { display: block; } .result { margin-top: 1.5rem; } .result[hidden] { display: none; } .rows-info { margin: 0 0 0.75rem; color: var(--muted); font-size: 0.95rem; } .table-output { margin: 0; padding: 1rem; background-color: var(--code-bg); color: var(--code-fg); border: 1px solid var(--border); border-radius: 6px; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 0.85rem; line-height: 1.4; overflow-x: auto; overflow-y: visible; white-space: pre; max-width: 100%; } @media (max-width: 600px) { .container { padding: 1.25rem 1rem 3rem; } h1 { font-size: 1.5rem; } .upload-form { flex-direction: column; align-items: stretch; } button { width: 100%; } }