feat(android): add native display and embedded announcements

This commit is contained in:
2026-08-12 19:21:47 +08:00
parent e4e3e6a735
commit 50ac5bddc4
69 changed files with 4574 additions and 800 deletions

View File

@@ -6661,6 +6661,107 @@ body:has(.visitor-page--mobile) {
}
}
/* High-density display devices can expose a short CSS viewport even when the
physical panel is 1080p. Compact only that landscape fullscreen layout. */
@media (max-height: 600px) and (min-aspect-ratio: 3 / 2) {
.screen-tile:is(:fullscreen, .screen-tile--standalone) {
grid-template-rows: auto minmax(128px, .8fr) minmax(0, 1.65fr);
gap: 8px;
padding-bottom: 10px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) > .screen-tile__header {
gap: 16px;
padding: 8px 24px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__logo {
width: 48px;
height: 32px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__clock {
gap: 10px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__clock time {
font-size: 2rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__clock span {
font-size: .72rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__project h2 {
font-size: 1.3rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) > .screen-tile__current,
.screen-tile:is(:fullscreen, .screen-tile--standalone) > .screen-tile__forecast {
margin-inline: 24px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) > .screen-tile__current {
gap: 6px;
padding: 22px 16px 10px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) > .screen-tile__current > strong {
font-size: 3.2rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__current > small {
top: 8px;
left: 12px;
font-size: .72rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__current-metrics {
gap: 8px;
padding-top: 4px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__current-metrics .screen-tile__metric {
min-height: 38px;
padding: 4px 6px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__current-metrics .screen-tile__metric > span {
font-size: .65rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__current-metrics .screen-tile__metric > strong {
font-size: .85rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) > .screen-tile__forecast {
grid-template-rows: auto minmax(0, 1fr);
padding: 8px 16px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__forecast-list-heading {
margin-top: 0;
font-size: .72rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__forecast ol {
gap: 4px;
margin-top: 4px;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__forecast li {
min-height: 0;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__forecast li strong {
font-size: 1.3rem;
}
.screen-tile:is(:fullscreen, .screen-tile--standalone) .screen-tile__forecast li span {
font-size: 1.05rem;
}
}
.single-display-screen {
min-height: 100dvh;
overflow: hidden;