:root { color-scheme: light dark; --fg: light-dark(#000, #fff); --bg-alt: light-dark(#dfdfdf, #333); --progress-width: 0%; } body { display: flex; flex-direction: column; gap: 1rem; margin: 1rem auto; max-width: 900px; padding: 0 1rem; font-size: 1rem; font-family: sans-serif; color: var(--fg); } h1 { font-size: 2.5rem; margin: 0; } form { display: flex; gap: 1rem; flex-wrap: wrap; } ::file-selector-button, button { cursor: pointer; border: 1px solid var(--fg); border-radius: 8px; background: var(--bg-alt); padding: 0.4rem; } @keyframes loading { to { background-position: -20% 0; } } [role="progressbar"] { border-radius: 999px; height: 10px; border: 1px solid var(--fg); position: relative; background: linear-gradient( to right, var(--bg-alt) 42%, light-dark(#bbb, #888) 50%, var(--bg-alt) 58% ); background-size: 200%; background-position: 120% 0; animation: loading 1.4s ease-in-out infinite; } [role="progressbar"]::after { content: ""; position: absolute; inset: 0; width: var(--progress-width); background: light-dark(#65aaf4, #65aaf4); transition: width 0.3s; } [role="progressbar"]:not([aria-valuemax]) { display: none; } output { display: block; height: 200px; overflow-y: scroll; white-space: pre-wrap; font-family: monospace; font-size: 0.8rem; padding: 0.4rem; background: var(--bg-alt); border: 1px solid var(--fg); border-radius: 8px; } output:empty { display: none; } time { font-weight: 700; } ul { padding-left: 1rem; }