1441 lines
19 KiB
CSS
1441 lines
19 KiB
CSS
:root {
|
|
color-scheme: dark;
|
|
--bg: #101313;
|
|
--surface: #191d1d;
|
|
--surface2: #202626;
|
|
--border: #303737;
|
|
--text: #f0f3ed;
|
|
--muted: #9aa7a4;
|
|
--accent: #d2ef92;
|
|
--ink: #182015;
|
|
--shadow: 0 12px 36px #0002;
|
|
font-family: Inter, "Segoe UI", sans-serif;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
margin: 0px;
|
|
background: var(--bg);
|
|
color: var(--text);
|
|
}
|
|
|
|
button, input, select {
|
|
font: inherit;
|
|
}
|
|
|
|
button, a, input, select {
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
|
|
button, a {
|
|
touch-action: manipulation;
|
|
}
|
|
|
|
button, select {
|
|
cursor: pointer;
|
|
}
|
|
|
|
a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
button {
|
|
color: var(--text);
|
|
background: var(--surface2);
|
|
border: 1px solid var(--border);
|
|
border-radius: 12px;
|
|
min-height: 44px;
|
|
padding: 10px 15px;
|
|
}
|
|
|
|
button:hover, a.pill:hover {
|
|
filter: brightness(1.15);
|
|
}
|
|
|
|
:focus-visible {
|
|
outline: 3px solid var(--accent);
|
|
outline-offset: 4px;
|
|
}
|
|
|
|
[hidden] {
|
|
display: none !important;
|
|
}
|
|
|
|
.shell {
|
|
display: flex;
|
|
min-height: 100dvh;
|
|
}
|
|
|
|
.rail {
|
|
width: 106px;
|
|
flex-shrink: 0;
|
|
border-right: 1px solid var(--border);
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
padding: 22px 10px;
|
|
gap: 35px;
|
|
background: rgb(20, 24, 24);
|
|
}
|
|
|
|
.rail nav {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 14px;
|
|
width: 100%;
|
|
margin: auto 0px;
|
|
}
|
|
|
|
.rail nav a, .settings-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
min-height: 78px;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
border-radius: 15px;
|
|
color: var(--muted);
|
|
border: 1px solid transparent;
|
|
background: none;
|
|
width: 100%;
|
|
}
|
|
|
|
.rail nav a:hover {
|
|
background: var(--surface2);
|
|
}
|
|
|
|
.rail nav a.active {
|
|
background: var(--accent);
|
|
color: var(--ink);
|
|
}
|
|
|
|
.icon {
|
|
font-size: 27px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.workspace {
|
|
flex: 1 1 0%;
|
|
min-width: 0px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
header {
|
|
height: 85px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0px 36px;
|
|
border-bottom: 1px solid var(--border);
|
|
gap: 18px;
|
|
}
|
|
|
|
.header-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 24px;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.header-right time {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.header-temp {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.header-temp small {
|
|
font-size: 9px;
|
|
color: var(--muted);
|
|
}
|
|
|
|
.badge, .label {
|
|
font-size: 9px;
|
|
font-weight: 650;
|
|
letter-spacing: 1px;
|
|
border: 1px solid var(--border);
|
|
border-radius: 6px;
|
|
padding: 6px 9px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.badge {
|
|
color: var(--accent);
|
|
}
|
|
|
|
.badge.error {
|
|
color: rgb(255, 179, 151);
|
|
}
|
|
|
|
.header-right button {
|
|
background: none;
|
|
font-size: 25px;
|
|
border: 0px;
|
|
padding: 4px 10px;
|
|
}
|
|
|
|
main {
|
|
padding: 28px 36px;
|
|
flex: 1 1 0%;
|
|
}
|
|
|
|
.page-heading {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-bottom: 24px;
|
|
gap: 15px;
|
|
}
|
|
|
|
.eyebrow {
|
|
font-size: 10px;
|
|
letter-spacing: 1.8px;
|
|
color: var(--muted);
|
|
font-weight: 600;
|
|
margin: 0px 0px 10px;
|
|
}
|
|
|
|
h1 {
|
|
font-weight: 500;
|
|
font-size: 29px;
|
|
letter-spacing: -1px;
|
|
margin: 0px;
|
|
}
|
|
|
|
h2 {
|
|
font-size: 21px;
|
|
font-weight: 500;
|
|
margin: 0px 0px 10px;
|
|
}
|
|
|
|
h3 {
|
|
font-weight: 500;
|
|
}
|
|
|
|
p {
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.subtle {
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.accent {
|
|
color: var(--accent);
|
|
}
|
|
|
|
.card {
|
|
border: 1px solid var(--border);
|
|
border-radius: 19px;
|
|
background: var(--surface);
|
|
padding: 24px;
|
|
overflow: hidden;
|
|
box-shadow: var(--shadow);
|
|
}
|
|
|
|
.card-top {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
}
|
|
|
|
.card-top .eyebrow {
|
|
margin: 0px;
|
|
}
|
|
|
|
.tiny-dot {
|
|
display: inline-block;
|
|
width: 6px;
|
|
height: 6px;
|
|
border-radius: 50%;
|
|
background: var(--accent);
|
|
box-shadow: rgba(210, 239, 146, 0.25) 0px 0px 12px;
|
|
}
|
|
|
|
.home-grid {
|
|
display: grid;
|
|
grid-template-columns: 1.45fr 1fr;
|
|
gap: 18px;
|
|
}
|
|
|
|
.clock-card {
|
|
min-height: 310px;
|
|
position: relative;
|
|
background: rgb(34, 46, 43);
|
|
}
|
|
|
|
.clock-card > time {
|
|
position: relative;
|
|
z-index: 2;
|
|
display: block;
|
|
font-size: clamp(60px, 8vw, 108px);
|
|
font-weight: 300;
|
|
letter-spacing: -6px;
|
|
margin-top: 16px;
|
|
line-height: 1.1;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.clock-card > p {
|
|
position: relative;
|
|
z-index: 2;
|
|
color: rgb(189, 201, 192);
|
|
font-size: 14px;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.clock-bottom {
|
|
position: absolute;
|
|
bottom: 22px;
|
|
left: 24px;
|
|
right: 24px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
font-size: 10px;
|
|
color: rgb(187, 202, 188);
|
|
z-index: 2;
|
|
}
|
|
|
|
.clock-bottom span:last-child {
|
|
font-size: 8px;
|
|
letter-spacing: 1px;
|
|
}
|
|
|
|
.horizon {
|
|
position: absolute;
|
|
right: 0px;
|
|
bottom: 0px;
|
|
width: 70%;
|
|
height: 85%;
|
|
overflow: hidden;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
.sun {
|
|
width: 83px;
|
|
height: 83px;
|
|
border-radius: 50%;
|
|
background: rgb(201, 219, 154);
|
|
position: absolute;
|
|
right: 15%;
|
|
top: 20%;
|
|
box-shadow: rgba(210, 239, 146, 0.19) 0px 0px 80px;
|
|
}
|
|
|
|
.mountain {
|
|
position: absolute;
|
|
width: 130%;
|
|
height: 80%;
|
|
background: rgb(52, 77, 65);
|
|
clip-path: polygon(0px 100%, 40% 4%, 100% 100%);
|
|
bottom: -15%;
|
|
right: -30%;
|
|
transform: rotate(-6deg);
|
|
}
|
|
|
|
.mountain.two {
|
|
right: -47%;
|
|
bottom: -30%;
|
|
background: rgb(23, 43, 40);
|
|
transform: rotate(20deg);
|
|
}
|
|
|
|
.road {
|
|
position: absolute;
|
|
bottom: -20px;
|
|
left: 0px;
|
|
width: 100%;
|
|
height: 65%;
|
|
background: rgb(117, 131, 114);
|
|
clip-path: polygon(67% 10%, 69% 10%, 42% 65%, 65% 100%, 49% 100%, 37% 65%);
|
|
}
|
|
|
|
.weather-card {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.weather-main {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 24px;
|
|
margin: 18px 0px 10px;
|
|
}
|
|
|
|
.weather-sun {
|
|
color: var(--accent);
|
|
font-size: 65px;
|
|
}
|
|
|
|
.weather-main strong {
|
|
font-size: 67px;
|
|
line-height: 1;
|
|
font-weight: 300;
|
|
}
|
|
|
|
.weather-main strong span {
|
|
color: var(--muted);
|
|
}
|
|
|
|
.weather-card p {
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
margin-top: 0px;
|
|
}
|
|
|
|
.weather-bottom {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding-top: 20px;
|
|
border-top: 1px solid var(--border);
|
|
margin-top: auto;
|
|
gap: 8px;
|
|
font-size: 10px;
|
|
color: var(--muted);
|
|
}
|
|
|
|
.weather-bottom b {
|
|
color: var(--text);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.vehicle-card h2 {
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.vehicle-stats {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.vehicle-stats strong {
|
|
display: block;
|
|
font-size: 30px;
|
|
font-weight: 400;
|
|
}
|
|
|
|
.vehicle-stats div > span {
|
|
font-size: 11px;
|
|
color: var(--muted);
|
|
}
|
|
|
|
small {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.fuel-track {
|
|
height: 5px;
|
|
background: var(--border);
|
|
border-radius: 5px;
|
|
margin: 16px 0px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.fuel-track span {
|
|
height: 100%;
|
|
width: 0px;
|
|
background: var(--accent);
|
|
display: block;
|
|
transition: width 0.4s;
|
|
}
|
|
|
|
.text-link {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
font-size: 12px;
|
|
padding: 5px 0px;
|
|
min-height: 34px;
|
|
}
|
|
|
|
.text-link span {
|
|
color: var(--accent);
|
|
}
|
|
|
|
.music-card {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 22px;
|
|
}
|
|
|
|
.music-card h2 {
|
|
font-size: 21px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.music-card p:not(.eyebrow) {
|
|
font-size: 12px;
|
|
color: var(--muted);
|
|
}
|
|
|
|
.album-art {
|
|
position: relative;
|
|
aspect-ratio: 1 / 1;
|
|
width: 125px;
|
|
flex-shrink: 0;
|
|
border-radius: 12px;
|
|
background: linear-gradient(140deg, rgb(164, 183, 147), rgb(56, 84, 74));
|
|
overflow: hidden;
|
|
display: grid;
|
|
place-items: center;
|
|
}
|
|
|
|
.record {
|
|
width: 80%;
|
|
height: 80%;
|
|
border-radius: 50%;
|
|
background: repeating-radial-gradient(circle, rgb(20, 34, 31) 0px, rgb(20, 34, 31) 2px, rgb(47, 66, 59) 3px, rgb(24, 40, 33) 4px);
|
|
box-shadow: rgba(0, 0, 0, 0.333) 8px 12px 20px;
|
|
position: relative;
|
|
}
|
|
|
|
.record::after {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 36%;
|
|
background: var(--accent);
|
|
border: 10px solid rgb(110, 138, 98);
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.album-art > span {
|
|
position: absolute;
|
|
bottom: 10px;
|
|
left: 10px;
|
|
font-size: 8px;
|
|
letter-spacing: 2px;
|
|
color: rgb(233, 240, 221);
|
|
}
|
|
|
|
.pill {
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: 12px;
|
|
border: 0px;
|
|
background: var(--accent);
|
|
color: var(--ink);
|
|
border-radius: 10px;
|
|
padding: 13px 18px;
|
|
min-height: 44px;
|
|
font-size: 12px;
|
|
font-weight: 650;
|
|
}
|
|
|
|
.profile-label {
|
|
color: var(--muted);
|
|
font-size: 11px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
select, input[type="url"] {
|
|
background: var(--surface2);
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
min-height: 44px;
|
|
color: var(--text);
|
|
padding: 10px;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.cluster {
|
|
padding: 18px 24px 0px;
|
|
}
|
|
|
|
.cluster-top, .cluster-bottom {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
font-size: 10px;
|
|
letter-spacing: 1px;
|
|
gap: 8px;
|
|
}
|
|
|
|
.gauges {
|
|
display: grid;
|
|
grid-template-columns: minmax(0px, 1fr) 80px minmax(0px, 1fr);
|
|
align-items: center;
|
|
max-width: 950px;
|
|
margin: 0px auto;
|
|
}
|
|
|
|
.gauge svg {
|
|
display: block;
|
|
width: 100%;
|
|
max-height: 330px;
|
|
}
|
|
|
|
.gauge .tick {
|
|
stroke: var(--muted);
|
|
stroke-width: 1;
|
|
}
|
|
|
|
.gauge .major {
|
|
stroke: var(--text);
|
|
stroke-width: 2;
|
|
}
|
|
|
|
.gauge text {
|
|
fill: var(--muted);
|
|
font-family: inherit;
|
|
font-size: 12px;
|
|
text-anchor: middle;
|
|
}
|
|
|
|
.gauge .dial-value {
|
|
fill: var(--text);
|
|
font-size: 39px;
|
|
font-weight: 500;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.gauge .dial-label {
|
|
font-size: 10px;
|
|
letter-spacing: 2px;
|
|
}
|
|
|
|
.needle {
|
|
stroke: var(--accent);
|
|
stroke-width: 3;
|
|
stroke-linecap: round;
|
|
transition: transform 0.45s linear;
|
|
}
|
|
|
|
.gear {
|
|
text-align: center;
|
|
}
|
|
|
|
.gear strong {
|
|
font-size: 52px;
|
|
font-weight: 300;
|
|
display: block;
|
|
}
|
|
|
|
.gear > span {
|
|
font-size: 8px;
|
|
color: var(--accent);
|
|
letter-spacing: 2px;
|
|
}
|
|
|
|
.cluster-bottom {
|
|
border-top: 1px solid var(--border);
|
|
padding: 16px 0px;
|
|
color: var(--muted);
|
|
letter-spacing: 0px;
|
|
}
|
|
|
|
.cluster-bottom b {
|
|
color: var(--text);
|
|
margin-left: 8px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.player-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1.2fr;
|
|
gap: 18px;
|
|
}
|
|
|
|
.player {
|
|
text-align: center;
|
|
}
|
|
|
|
.album-art.large {
|
|
width: 180px;
|
|
margin: 0px auto 24px;
|
|
}
|
|
|
|
.player audio {
|
|
width: 100%;
|
|
margin: 14px 0px;
|
|
}
|
|
|
|
.player h2 {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.player p {
|
|
font-size: 12px;
|
|
color: var(--muted);
|
|
}
|
|
|
|
.player-actions {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.file-picker {
|
|
cursor: pointer;
|
|
position: relative;
|
|
}
|
|
|
|
.file-picker input {
|
|
position: absolute;
|
|
inset: 0px;
|
|
opacity: 0;
|
|
width: 100%;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.file-picker:focus-within {
|
|
outline: 3px solid var(--accent);
|
|
outline-offset: 3px;
|
|
}
|
|
|
|
#playlist {
|
|
list-style: none;
|
|
padding: 0px;
|
|
max-height: 440px;
|
|
overflow: auto;
|
|
}
|
|
|
|
#playlist button {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 14px;
|
|
text-align: left;
|
|
margin-bottom: 7px;
|
|
background: transparent;
|
|
border-color: transparent;
|
|
}
|
|
|
|
#playlist button span {
|
|
color: var(--muted);
|
|
font-size: 11px;
|
|
}
|
|
|
|
#playlist button b {
|
|
font-size: 13px;
|
|
font-weight: 400;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
#playlist button.selected {
|
|
background: var(--surface2);
|
|
border-color: var(--accent);
|
|
}
|
|
|
|
#empty-library {
|
|
text-align: center;
|
|
padding: 65px 8px;
|
|
color: var(--muted);
|
|
}
|
|
|
|
#empty-library > span {
|
|
font-size: 55px;
|
|
color: var(--accent);
|
|
}
|
|
|
|
#empty-library p {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.stream-card {
|
|
text-align: center;
|
|
padding: 45px 25px;
|
|
}
|
|
|
|
.stream-symbol {
|
|
font-size: 80px;
|
|
color: var(--accent);
|
|
display: block;
|
|
}
|
|
|
|
.stream-card h2 {
|
|
font-size: 28px;
|
|
}
|
|
|
|
.stream-card > p {
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
}
|
|
|
|
.stream-card .pill {
|
|
margin: 15px 4px;
|
|
}
|
|
|
|
.stream-card .subtle {
|
|
font-size: 11px;
|
|
}
|
|
|
|
footer {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 18px 36px;
|
|
font-size: 8px;
|
|
letter-spacing: 1px;
|
|
border-top: 1px solid var(--border);
|
|
color: var(--muted);
|
|
}
|
|
|
|
footer .subtle {
|
|
font-size: 8px;
|
|
}
|
|
|
|
footer .tiny-dot {
|
|
margin-right: 7px;
|
|
}
|
|
|
|
dialog {
|
|
background: var(--surface);
|
|
color: var(--text);
|
|
border: 1px solid var(--border);
|
|
border-radius: 20px;
|
|
width: min(500px, 100% - 32px);
|
|
padding: 25px;
|
|
max-height: 90dvh;
|
|
}
|
|
|
|
dialog::backdrop {
|
|
background: rgba(0, 0, 0, 0.667);
|
|
backdrop-filter: blur(5px);
|
|
}
|
|
|
|
dialog label {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
margin-top: 22px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
dialog p {
|
|
font-size: 12px;
|
|
color: var(--muted);
|
|
}
|
|
|
|
#toast {
|
|
position: fixed;
|
|
bottom: 35px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
background: var(--accent);
|
|
color: var(--ink);
|
|
padding: 14px 20px;
|
|
border-radius: 10px;
|
|
z-index: 10;
|
|
max-width: 90vw;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.stale [data-value] {
|
|
color: var(--muted);
|
|
}
|
|
|
|
body.light {
|
|
color-scheme: light;
|
|
--bg: #edf0e8;
|
|
--surface: #fff;
|
|
--surface2: #edf1e8;
|
|
--border: #d7dfd2;
|
|
--text: #202c25;
|
|
--muted: #59685c;
|
|
--accent: #567a2e;
|
|
--ink: #fff;
|
|
--shadow: 0 12px 36px #253d1710;
|
|
}
|
|
|
|
body.light .rail {
|
|
background: rgb(228, 234, 221);
|
|
}
|
|
|
|
body.light .clock-card {
|
|
color: rgb(240, 243, 237);
|
|
}
|
|
|
|
body.light .clock-card .eyebrow {
|
|
color: rgb(197, 208, 200);
|
|
}
|
|
|
|
body.light .rail nav a.active {
|
|
color: rgb(255, 255, 255);
|
|
}
|
|
|
|
@media (min-width: 1600px) {
|
|
main {
|
|
max-width: 1550px;
|
|
width: 100%;
|
|
margin: auto;
|
|
}
|
|
|
|
.home-grid {
|
|
grid-template-columns: 1.45fr 1fr;
|
|
}
|
|
|
|
.clock-card {
|
|
min-height: 370px;
|
|
}
|
|
|
|
.card {
|
|
padding: 30px;
|
|
}
|
|
|
|
.music-card {
|
|
gap: 35px;
|
|
}
|
|
|
|
.album-art {
|
|
width: 165px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 1100px) {
|
|
header {
|
|
padding: 0px 24px;
|
|
height: 70px;
|
|
}
|
|
|
|
.header-right {
|
|
gap: 16px;
|
|
}
|
|
|
|
main {
|
|
padding: 22px 24px;
|
|
}
|
|
|
|
.rail {
|
|
width: 88px;
|
|
}
|
|
|
|
.home-grid {
|
|
gap: 14px;
|
|
}
|
|
|
|
.card {
|
|
padding: 20px;
|
|
}
|
|
|
|
.clock-card {
|
|
min-height: 280px;
|
|
}
|
|
|
|
.music-card {
|
|
gap: 14px;
|
|
}
|
|
|
|
.album-art {
|
|
width: 95px;
|
|
}
|
|
|
|
.music-card h2 {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.music-card .eyebrow {
|
|
font-size: 8px;
|
|
}
|
|
|
|
.music-card .pill {
|
|
padding: 12px;
|
|
}
|
|
|
|
.clock-bottom span:last-child {
|
|
display: none;
|
|
}
|
|
|
|
footer {
|
|
padding: 15px 24px;
|
|
}
|
|
|
|
.page-heading > .subtle {
|
|
display: none;
|
|
}
|
|
|
|
.gauge svg {
|
|
max-height: 270px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 650px) and (min-width: 760px) {
|
|
.rail {
|
|
padding-top: 12px;
|
|
gap: 10px;
|
|
}
|
|
|
|
.rail nav {
|
|
gap: 6px;
|
|
}
|
|
|
|
.rail nav a {
|
|
min-height: 64px;
|
|
}
|
|
|
|
header {
|
|
height: 58px;
|
|
}
|
|
|
|
main {
|
|
padding: 15px 22px;
|
|
}
|
|
|
|
.page-heading {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 24px;
|
|
}
|
|
|
|
.eyebrow {
|
|
font-size: 9px;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.clock-card {
|
|
min-height: 230px;
|
|
}
|
|
|
|
.clock-card > time {
|
|
font-size: 72px;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.weather-main {
|
|
margin: 8px 0px;
|
|
}
|
|
|
|
.weather-main strong {
|
|
font-size: 50px;
|
|
}
|
|
|
|
.weather-sun {
|
|
font-size: 46px;
|
|
}
|
|
|
|
.weather-bottom {
|
|
padding-top: 12px;
|
|
}
|
|
|
|
.card {
|
|
padding: 16px;
|
|
}
|
|
|
|
.vehicle-card h2 {
|
|
margin-top: 12px;
|
|
}
|
|
|
|
.vehicle-stats {
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.vehicle-stats strong {
|
|
font-size: 24px;
|
|
}
|
|
|
|
.fuel-track {
|
|
margin: 12px 0px;
|
|
}
|
|
|
|
.music-card h2 {
|
|
font-size: 17px;
|
|
}
|
|
|
|
.clock-bottom {
|
|
bottom: 15px;
|
|
left: 16px;
|
|
}
|
|
|
|
.gauge svg {
|
|
max-height: 220px;
|
|
}
|
|
|
|
.cluster-bottom {
|
|
padding: 10px 0px;
|
|
}
|
|
|
|
footer {
|
|
padding: 10px 22px;
|
|
}
|
|
|
|
.album-art.large {
|
|
width: 120px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.player audio {
|
|
margin: 4px 0px;
|
|
}
|
|
|
|
.stream-card {
|
|
padding: 20px;
|
|
}
|
|
|
|
.stream-symbol {
|
|
font-size: 55px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 759px) {
|
|
.rail {
|
|
width: 72px;
|
|
padding: 15px 6px;
|
|
}
|
|
|
|
.rail nav a {
|
|
font-size: 9px;
|
|
min-height: 68px;
|
|
}
|
|
|
|
.icon {
|
|
font-size: 23px;
|
|
}
|
|
|
|
.settings-button {
|
|
font-size: 9px;
|
|
}
|
|
|
|
header {
|
|
padding: 0px 16px;
|
|
gap: 10px;
|
|
}
|
|
|
|
.header-right {
|
|
gap: 8px;
|
|
}
|
|
|
|
.header-temp {
|
|
display: none;
|
|
}
|
|
|
|
.header-right time {
|
|
font-size: 13px;
|
|
}
|
|
|
|
.badge {
|
|
font-size: 7px;
|
|
padding: 5px;
|
|
}
|
|
|
|
main {
|
|
padding: 20px 16px;
|
|
}
|
|
|
|
.page-heading {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 25px;
|
|
}
|
|
|
|
.home-grid, .player-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.clock-card {
|
|
min-height: 275px;
|
|
}
|
|
|
|
.weather-card {
|
|
min-height: 240px;
|
|
}
|
|
|
|
.music-card {
|
|
min-height: 190px;
|
|
}
|
|
|
|
.gauges {
|
|
grid-template-columns: 1fr 1fr;
|
|
position: relative;
|
|
}
|
|
|
|
.gear {
|
|
grid-area: 2 / 1 / auto / -1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 12px;
|
|
padding-bottom: 15px;
|
|
}
|
|
|
|
.gear strong {
|
|
font-size: 28px;
|
|
}
|
|
|
|
.gear p {
|
|
margin: 0px;
|
|
}
|
|
|
|
.gauge svg {
|
|
max-height: none;
|
|
}
|
|
|
|
.cluster {
|
|
padding: 12px 8px 0px;
|
|
}
|
|
|
|
.cluster-top {
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.cluster-top > .label {
|
|
font-size: 7px;
|
|
}
|
|
|
|
.cluster-bottom {
|
|
font-size: 9px;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
}
|
|
|
|
.page-heading {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.profile-label {
|
|
margin-top: 4px;
|
|
}
|
|
|
|
footer {
|
|
padding: 15px;
|
|
font-size: 7px;
|
|
letter-spacing: 0px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
footer > span:last-child {
|
|
display: none;
|
|
}
|
|
|
|
.stream-card h2 {
|
|
font-size: 24px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 760px) {
|
|
.vehicle-card h2 {
|
|
margin-top: 12px;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.vehicle-stats {
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.home-grid .vehicle-card {
|
|
padding-top: 18px;
|
|
padding-bottom: 18px;
|
|
}
|
|
|
|
.home-grid .vehicle-card .fuel-track {
|
|
margin: 12px 0px;
|
|
}
|
|
|
|
.home-grid .vehicle-card .text-link {
|
|
min-height: 28px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 650px) and (min-width: 760px) {
|
|
.home-grid .vehicle-card h2 {
|
|
display: none;
|
|
}
|
|
|
|
.home-grid .vehicle-card {
|
|
padding: 14px 16px;
|
|
}
|
|
|
|
.home-grid .vehicle-stats {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.home-grid .vehicle-card .fuel-track {
|
|
margin: 10px 0px;
|
|
}
|
|
|
|
.clock-card {
|
|
min-height: 205px;
|
|
}
|
|
|
|
.weather-card h2 {
|
|
font-size: 18px;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.weather-card p {
|
|
font-size: 11px;
|
|
line-height: 1.3;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.weather-main {
|
|
margin: 8px 0px;
|
|
}
|
|
|
|
.weather-bottom {
|
|
padding-top: 10px;
|
|
}
|
|
|
|
.gauge svg {
|
|
max-height: 185px;
|
|
}
|
|
|
|
.cluster-bottom {
|
|
padding: 8px 0px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 520px) and (min-width: 760px) {
|
|
header {
|
|
height: 48px;
|
|
}
|
|
|
|
main {
|
|
padding: 12px 18px;
|
|
}
|
|
|
|
.page-heading {
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.page-heading .eyebrow {
|
|
display: none;
|
|
}
|
|
|
|
.page-heading h1 {
|
|
font-size: 22px;
|
|
}
|
|
|
|
.home-grid {
|
|
gap: 10px;
|
|
}
|
|
|
|
.clock-card {
|
|
min-height: 160px;
|
|
}
|
|
|
|
.clock-card > time {
|
|
font-size: 58px;
|
|
}
|
|
|
|
.clock-card > p {
|
|
font-size: 11px;
|
|
}
|
|
|
|
.clock-bottom {
|
|
font-size: 8px;
|
|
}
|
|
|
|
.weather-main {
|
|
margin: 5px 0px;
|
|
}
|
|
|
|
.weather-main strong {
|
|
font-size: 38px;
|
|
}
|
|
|
|
.weather-sun {
|
|
font-size: 35px;
|
|
}
|
|
|
|
.weather-card h2 {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.weather-card > p {
|
|
display: none;
|
|
}
|
|
|
|
.weather-bottom {
|
|
padding-top: 8px;
|
|
font-size: 8px;
|
|
}
|
|
|
|
.home-grid .vehicle-card {
|
|
padding: 10px 14px;
|
|
}
|
|
|
|
.vehicle-stats strong {
|
|
font-size: 20px;
|
|
}
|
|
|
|
.music-card .eyebrow {
|
|
display: none;
|
|
}
|
|
|
|
.music-card h2 {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.music-card p:not(.eyebrow) {
|
|
margin: 5px 0px;
|
|
font-size: 10px;
|
|
}
|
|
|
|
.album-art {
|
|
width: 70px;
|
|
}
|
|
|
|
.music-card .pill {
|
|
padding: 10px;
|
|
font-size: 10px;
|
|
}
|
|
|
|
.gauge svg {
|
|
max-height: 145px;
|
|
}
|
|
|
|
.cluster-top {
|
|
font-size: 8px;
|
|
}
|
|
|
|
.cluster-top .label {
|
|
font-size: 7px;
|
|
}
|
|
|
|
.profile-label select {
|
|
min-height: 40px;
|
|
}
|
|
|
|
footer {
|
|
padding: 8px 18px;
|
|
}
|
|
|
|
.rail nav a {
|
|
min-height: 59px;
|
|
}
|
|
|
|
.rail nav {
|
|
gap: 5px;
|
|
}
|
|
|
|
.rail {
|
|
gap: 5px;
|
|
}
|
|
|
|
.settings-button {
|
|
min-height: 50px;
|
|
}
|
|
}
|
|
|
|
@media (min-height: 651px) and (max-height: 850px) and (min-width: 1101px) {
|
|
.clock-card {
|
|
min-height: 270px;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
*, ::before, ::after {
|
|
transition: none !important;
|
|
scroll-behavior: auto !important;
|
|
}
|
|
}
|