diff --git a/web-static/manifest-assets/screenshot-wide-mobile.png b/web-static/manifest-assets/screenshot-wide-mobile.png new file mode 100644 index 0000000..ad9f830 Binary files /dev/null and b/web-static/manifest-assets/screenshot-wide-mobile.png differ diff --git a/web-static/site.webmanifest b/web-static/site.webmanifest index 3afe79b..e236474 100644 --- a/web-static/site.webmanifest +++ b/web-static/site.webmanifest @@ -49,6 +49,13 @@ "form_factor": "wide", "label": "Reader desktop feed view" }, + { + "src": "/manifest-assets/screenshot-wide-mobile.png?v=1", + "sizes": "1440x1120", + "type": "image/png", + "form_factor": "wide", + "label": "Reader mobile feed view" + }, { "src": "/manifest-assets/screenshot-mobile.png?v=2", "sizes": "430x932", diff --git a/web-static/static/style.css b/web-static/static/style.css index 245f0f3..fbebede 100644 --- a/web-static/static/style.css +++ b/web-static/static/style.css @@ -194,12 +194,29 @@ button { .filter-button:hover, .icon-button:hover, .view-more:hover, -.search-clear:hover, +.search-clear:hover { + color: var(--text); + background: color-mix(in srgb, var(--accent) 10%, var(--surface)); + border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); +} + .item-title a:hover { color: var(--text); border-color: color-mix(in srgb, var(--accent) 36%, var(--border)); } +.filter-button.is-active:hover { + border-color: color-mix(in srgb, var(--accent) 60%, var(--border)); +} + +.filter-button:focus-visible, +.icon-button:focus-visible, +.view-more:focus-visible, +.search-clear:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; +} + .filter-button.is-active { color: var(--text); background: var(--accent-soft); @@ -240,9 +257,15 @@ button { } .pill-button:hover { + background: color-mix(in srgb, var(--accent) 22%, var(--accent-soft)); border-color: color-mix(in srgb, var(--accent) 60%, var(--border)); } +.pill-button:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; +} + .pill-button .theme-icon { color: var(--accent); } @@ -504,6 +527,13 @@ button { border: 1px solid var(--border); border-radius: 0.95rem; background: var(--surface); + cursor: pointer; + transition: 140ms ease; +} + +.config-option:hover { + background: color-mix(in srgb, var(--accent) 10%, var(--surface)); + border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); } .config-option input { @@ -595,6 +625,10 @@ button { background: color-mix(in srgb, var(--accent-soft) 52%, var(--surface)); } +.config-option--choice:has(input:checked):hover { + border-color: color-mix(in srgb, var(--accent) 60%, var(--border)); +} + .config-option--choice:has(input:checked) .config-option-icon { color: var(--accent); } @@ -644,6 +678,12 @@ body.is-dialog-open { background: var(--surface); color: var(--text); cursor: pointer; + transition: 140ms ease; +} + +.dialog-button:hover { + background: color-mix(in srgb, var(--accent) 10%, var(--surface)); + border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); } .dialog-button-primary { @@ -651,6 +691,11 @@ body.is-dialog-open { border-color: color-mix(in srgb, var(--accent) 44%, var(--border)); } +.dialog-button-primary:hover { + background: color-mix(in srgb, var(--accent) 22%, var(--accent-soft)); + border-color: color-mix(in srgb, var(--accent) 60%, var(--border)); +} + .toast { position: fixed; top: calc(env(safe-area-inset-top) + 0.9rem);