ui: refine typographic hierarchy, remove card borders, and add opacity hover states

This commit is contained in:
2026-04-09 12:48:04 +02:00
parent b53a2c5751
commit 944f981fbe

View File

@@ -9,6 +9,8 @@
--link-hover: #dddddd; --link-hover: #dddddd;
--link-active: #aaaaaa; --link-active: #aaaaaa;
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
/* fluid typography scale */ /* fluid typography scale */
--text-xs: clamp(0.625rem, 0.55rem + 0.25vw, 0.75rem); --text-xs: clamp(0.625rem, 0.55rem + 0.25vw, 0.75rem);
/* 10-12px */ /* 10-12px */
@@ -225,8 +227,12 @@ header {
width: var(--search-thumb); width: var(--search-thumb);
aspect-ratio: 2/3; aspect-ratio: 2/3;
object-fit: cover; object-fit: cover;
border: 1px solid var(--border);
flex-shrink: 0; flex-shrink: 0;
transition: opacity 0.2s ease;
}
.search-result-item:hover .search-result-thumb {
opacity: 0.5;
} }
.search-result-no-image { .search-result-no-image {
@@ -266,8 +272,11 @@ header {
} }
.search-result-type { .search-result-type {
font-size: var(--text-sm); font-size: var(--text-xs);
color: var(--text-muted); color: var(--text-muted);
font-family: var(--font-mono);
text-transform: uppercase;
letter-spacing: 0.05em;
} }
.search-result-view-all { .search-result-view-all {
@@ -341,11 +350,12 @@ a:visited {
aspect-ratio: 2/3; aspect-ratio: 2/3;
object-fit: cover; object-fit: cover;
background: var(--surface); background: var(--surface);
border: 1px solid var(--border); transition: opacity 0.2s ease;
} }
.catalog-thumb:hover { .catalog-item:hover .catalog-thumb,
border-color: var(--link); .catalog-item a:hover .catalog-thumb {
opacity: 0.5;
} }
.no-image { .no-image {
@@ -364,6 +374,7 @@ a:visited {
.catalog-title { .catalog-title {
font-size: var(--text-base); font-size: var(--text-base);
font-weight: 600;
color: var(--text); color: var(--text);
display: -webkit-box; display: -webkit-box;
line-clamp: 2; line-clamp: 2;
@@ -766,8 +777,10 @@ a.htmx-request {
.info-tag { .info-tag {
padding: var(--space-xs) var(--space-sm); padding: var(--space-xs) var(--space-sm);
background: var(--surface-hover); background: var(--surface-hover);
border: 1px solid var(--border); font-family: var(--font-mono);
font-size: var(--text-sm); text-transform: uppercase;
letter-spacing: 0.05em;
font-size: var(--text-xs);
color: var(--text-muted); color: var(--text-muted);
} }
@@ -825,17 +838,18 @@ a.htmx-request {
.relation-card.current .relation-thumb { .relation-card.current .relation-thumb {
border: 2px solid var(--link); border: 2px solid var(--link);
opacity: 1;
} }
.relation-thumb { .relation-thumb {
width: 100%; width: 100%;
aspect-ratio: 2/3; aspect-ratio: 2/3;
object-fit: cover; object-fit: cover;
border: 1px solid var(--border); transition: opacity 0.2s ease;
} }
.relation-card:hover .relation-thumb { .relation-card:hover .relation-thumb {
border-color: var(--link); opacity: 0.5;
} }
.relation-title { .relation-title {
@@ -899,8 +913,10 @@ a.htmx-request {
.sidebar-tag { .sidebar-tag {
padding: var(--space-xs) var(--space-sm); padding: var(--space-xs) var(--space-sm);
background: var(--surface-hover); background: var(--surface-hover);
border: 1px solid var(--border); font-family: var(--font-mono);
font-size: var(--text-sm); font-size: var(--text-xs);
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text); color: var(--text);
} }
@@ -1203,9 +1219,8 @@ a.htmx-request {
.schedule-card { .schedule-card {
background: var(--surface); background: var(--surface);
border: 1px solid var(--border);
overflow: hidden; overflow: hidden;
transition: border-color 0.15s, transform 0.15s; transition: transform 0.15s;
text-decoration: none; text-decoration: none;
color: var(--text); color: var(--text);
display: flex; display: flex;
@@ -1213,7 +1228,6 @@ a.htmx-request {
} }
.schedule-card:hover { .schedule-card:hover {
border-color: var(--link);
transform: translateY(-2px); transform: translateY(-2px);
text-decoration: none; text-decoration: none;
color: var(--text); color: var(--text);
@@ -1223,6 +1237,11 @@ a.htmx-request {
aspect-ratio: 2/3; aspect-ratio: 2/3;
background: var(--bg); background: var(--bg);
overflow: hidden; overflow: hidden;
transition: opacity 0.2s ease;
}
.schedule-card:hover .schedule-card-image {
opacity: 0.5;
} }
.schedule-card-image img { .schedule-card-image img {
@@ -1257,6 +1276,9 @@ a.htmx-request {
font-size: var(--text-xs); font-size: var(--text-xs);
color: var(--text-muted); color: var(--text-muted);
margin-top: auto; margin-top: auto;
font-family: var(--font-mono);
text-transform: uppercase;
letter-spacing: 0.05em;
} }
.schedule-card-meta span { .schedule-card-meta span {
@@ -1274,6 +1296,7 @@ a.htmx-request {
color: var(--link); color: var(--link);
font-weight: 600; font-weight: 600;
margin-top: var(--space-xs); margin-top: var(--space-xs);
font-family: var(--font-mono);
} }
.no-anime { .no-anime {
@@ -1322,15 +1345,32 @@ a.htmx-request {
.notification-card { .notification-card {
background: var(--surface); background: var(--surface);
border: 1px solid var(--border);
overflow: hidden; overflow: hidden;
transition: border-color 0.15s, transform 0.15s; transition: transform 0.15s;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
text-decoration: none; text-decoration: none;
color: var(--text); color: var(--text);
} }
.notification-card:hover {
transform: translateY(-2px);
text-decoration: none;
color: var(--text);
}
.notification-image {
aspect-ratio: 2/3;
background: var(--bg);
overflow: hidden;
display: block;
transition: opacity 0.2s ease;
}
.notification-card:hover .notification-image {
opacity: 0.5;
}
.notification-card:hover { .notification-card:hover {
border-color: var(--link); border-color: var(--link);
transform: translateY(-2px); transform: translateY(-2px);