/* .ripper-link { text-decoration: underline } */ button.ripper-btn { margin-inline: 0.35rem; padding: 0.2rem 0.65rem; border: 1px solid #0f6cbd; border-radius: 999px; background: #0f6cbd; color: #fff; font: inherit; font-size: 0.85em; font-weight: bold; line-height: 1.1; cursor: pointer; } button.ripper-btn:hover:not(:disabled) { background: #0b5aa0; border-color: #0b5aa0; } button.ripper-btn:disabled { opacity: 0.7; cursor: default; } #download-button { background-color: yellow; border: 2px solid #aaa; font-weight: bold; color: #333; } .ripper-progress-dialog { width: min(40rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 1.25rem; border: 1px solid #cbd5e1; border-radius: 0.75rem; box-shadow: 0 1rem 2.5rem rgb(15 23 42 / 0.18); color: #0f172a; } .ripper-progress-dialog::backdrop { background: rgb(15 23 42 / 0.45); } .ripper-progress-dialog > h2 { margin: 0 0 0.75rem; font-size: 1.25rem; } .ripper-progress-status { margin: 0 0 1rem; color: #334155; } .ripper-progress-list { margin: 0; padding: 0; list-style: none; border: 1px solid #e2e8f0; border-radius: 0.5rem; overflow: auto; max-height: 20rem; } .ripper-hidden { display: none; } .ripper-progress-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.7rem 0.9rem; border-top: 1px solid #e2e8f0; } .ripper-progress-item:first-child { border-top: 0; } .ripper-progress-name { overflow-wrap: anywhere; } .ripper-progress-counter { flex: 0 0 auto; min-width: 3.5rem; text-align: right; font-variant-numeric: tabular-nums; color: #475569; } .ripper-progress-item.done { background: #f0fdf4; } .ripper-progress-item.done .ripper-progress-counter { color: #166534; } .ripper-progress-item.failed { background: #fef2f2; } .ripper-progress-item.failed .ripper-progress-counter { color: #b91c1c; } .ripper-progress-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 0.75rem; margin-top: 1rem; } .ripper-progress-summary > p { margin: 0; padding: 0.65rem 0.8rem; border-radius: 0.5rem; background: #f8fafc; color: #334155; font-variant-numeric: tabular-nums; } .ripper-progress-actions { display: flex; justify-content: flex-end; margin-top: 1rem; } .ripper-progress-actions > button { margin-left: 0.5rem; padding: 0.5rem 0.9rem; border: 1px solid #cbd5e1; border-radius: 0.5rem; background: #fff; color: #0f172a; font: inherit; cursor: pointer; } .ripper-progress-actions > button:hover:not(:disabled) { background: #f8fafc; } .ripper-progress-actions > button:disabled { opacity: 0.6; cursor: default; } /* from https://stackoverflow.com/questions/67605723/triple-dot-css-animation-on-a-loading-screen */ .loading { font-weight: bold; display: inline-block; font-family: monospace; clip-path: inset(0 3ch 0 0); animation: l 1s steps(4, jump-none) infinite; } @keyframes l { to { clip-path: inset(0) } }