diff --git a/style.css b/style.css index d77e0da..ab6f1e2 100644 --- a/style.css +++ b/style.css @@ -1,5 +1,144 @@ /* .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; + line-height: 1.4; + cursor: pointer; +} + +button.ripper-btn:hover:not(:disabled) { + background: #0b5aa0; + border-color: #0b5aa0; +} + +button.ripper-btn:disabled { + opacity: 0.7; + cursor: default; +} + +.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-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 { + 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;