.rail { position: sticky; top: 0px; height: 100dvh; } .rail-collapsed .rail { display: none; } .page-top { height: auto; padding: 0px 0px 20px; border: 0px; } .header-left { display: flex; align-items: center; gap: 18px; } #rail-toggle { font-size: 25px; min-width: 52px; min-height: 52px; background: transparent; } .page-heading > div:first-child:not(.map-actions) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); } .page-heading > .subtle { display: none; } .page-heading { justify-content: flex-end; margin-bottom: 16px; } .page-heading:has(> div:only-child), #home > .page-heading, #drive > .page-heading { margin-bottom: 14px; } #home > .page-heading { display: none; } main { padding: 22px 26px; } .page-top .header-right { gap: 16px; } .view-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; } .view-toolbar a { display: inline-flex; align-items: center; min-height: 48px; color: var(--accent); font-size: 14px; } .cluster { padding: 18px 12px 0px; } .gauges { max-width: none; gap: 0px; } .cluster-top { padding: 0px 12px; margin-bottom: 14px; } .cluster-bottom { padding: 16px 12px; font-size: 13px; } .drive-links { display: flex; justify-content: space-between; gap: 15px; align-items: center; } .drive-links a { min-height: 52px; } .detail-grid { display: grid; gap: 16px; } .detail-grid .card { padding: 26px; } .detail-grid h2 { font-size: 18px; } .detail-grid strong { font-weight: 500; } .detail-grid p { color: var(--muted); } .details-notice { color: var(--muted); line-height: 1.7; } .player-view-link { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; margin-top: 15px; color: var(--accent); font-size: 14px; } .embed-frame { border: 1px solid var(--border); border-radius: 16px; width: 100%; min-height: 500px; background: var(--surface); } .embed-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .embed-controls input { flex: 1 1 0%; min-width: 180px; min-height: 48px; } .embed-controls button, .embed-controls a { min-height: 48px; } .embed-notice { font-size: 13px; color: var(--muted); line-height: 1.6; } .embedded-card { padding: 24px; } .embedded-card iframe { display: block; } .embedded-card iframe[data-provider="spotify"] { min-height: 352px; } .embedded-card iframe[data-provider="youtube-music"], .embedded-card iframe[data-provider="youtube"] { aspect-ratio: 16 / 9; min-height: 220px; } @media (min-width: 900px) and (min-height: 950px) { .home-grid { grid-template-columns: 1fr 1fr; } .clock-card { min-height: 355px; } .weather-card { min-height: 355px; } .home-grid .vehicle-card, .home-grid .music-card { min-height: 265px; } .clock-card > time { font-size: 100px; } .application-open { min-height: 230px; } .cluster { margin-top: 12px; } .player-grid { grid-template-columns: 1fr 1fr; } .album-art.large { width: 230px; } .library { min-height: 620px; } } @media (max-width: 759px) { main { padding: 15px; } .page-top { gap: 8px; min-height: 54px; padding-bottom: 12px; } .page-top .header-left { gap: 7px; } .page-top .header-right { gap: 5px; } .page-top .badge { font-size: 7px; max-width: 100px; white-space: normal; } .page-top .header-right time { font-size: 12px; } #rail-toggle { min-width: 44px; padding: 5px; } .gauges { grid-template-columns: 1fr 1fr; } .gear { grid-area: 2 / 1 / auto / -1; display: flex; gap: 14px; } .gear strong { font-size: 32px; } .detail-grid { grid-template-columns: 1fr; } .drive-links { flex-wrap: wrap; } .cluster-bottom { font-size: 10px; } .view-toolbar { flex-wrap: wrap; } } @media (max-height: 650px) and (min-width: 760px) { .page-top { margin-bottom: 8px; padding-bottom: 6px; } .gauge svg { max-height: 260px; } .cluster-top { margin-bottom: 0px; } .cluster-bottom { padding: 10px; font-size: 11px; } .rail nav a { min-height: 55px; } } @media (min-width: 1000px) and (min-height: 651px) { .gauge svg { max-height: 440px; } } .drive-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; } .drive-actions .profile-label { margin: 0px; } .drive-actions select { min-height: 48px; } .immersive-player { max-width: 920px; margin: auto; padding: 20px 28px 28px; text-align: center; background: radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 70%); } .immersive-stage { position: relative; width: 100%; max-width: 780px; aspect-ratio: 600 / 430; margin: auto; } .music-orbit { position: absolute; inset: 0px; width: 100%; height: 100%; pointer-events: none; } .orbit-track, #track-arc { fill: none; stroke: var(--border); stroke-width: 7; stroke-linecap: round; } #track-arc { stroke: var(--accent); stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 0.2s linear; } .immersive-caption { position: absolute; top: 43%; left: 12%; right: 12%; } .immersive-caption h2 { font-size: clamp(18px, 2.4vw, 30px); line-height: 1.25; margin: 0px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; } .immersive-caption p { font-size: 13px; color: var(--muted); margin: 12px 0px 0px; } .immersive-controls { position: absolute; top: 68%; left: 0px; right: 0px; display: flex; align-items: center; justify-content: center; gap: 18px; } .immersive-player button { display: inline-flex; align-items: center; justify-content: center; min-width: 54px; min-height: 54px; padding: 12px; border-radius: 16px; } .immersive-player button svg { width: 25px; height: 25px; flex-shrink: 0; } .immersive-controls #immersive-play { width: 82px; height: 82px; border-radius: 50%; background: var(--accent); color: var(--ink); box-shadow: 0 4px 26px color-mix(in srgb,var(--accent) 18%,transparent); } #immersive-play svg { width: 32px; height: 32px; } .immersive-times { position: absolute; left: 4%; right: 4%; bottom: 5%; display: flex; justify-content: space-between; font-size: 16px; font-variant-numeric: tabular-nums; color: var(--muted); } .immersive-player input[type="range"] { height: 44px; min-width: 0px; width: 100%; margin: 0px; accent-color: var(--accent); cursor: pointer; } .immersive-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 680px; margin: auto; } .immersive-secondary { display: flex; gap: 10px; } .immersive-player button[aria-pressed="true"] { color: var(--accent); border-color: var(--accent); background: color-mix(in srgb,var(--accent) 12%,var(--surface)); } .immersive-volume { display: flex; align-items: center; gap: 12px; width: 340px; max-width: 100%; } .immersive-volume input { flex: 1 1 0%; } .immersive-volume output { min-width: 48px; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; } @media (max-width: 600px) { .immersive-player { padding: 12px; } .immersive-stage { min-height: 300px; } .immersive-caption { top: 39%; left: 8%; right: 8%; } .immersive-caption p { font-size: 11px; margin-top: 8px; } .immersive-controls { top: 65%; gap: 12px; } .immersive-controls #immersive-play { width: 66px; height: 66px; } .immersive-times { bottom: 1%; font-size: 13px; } .immersive-bottom { flex-wrap: wrap; justify-content: center; gap: 12px; } .immersive-volume { width: 100%; } } @media (max-height: 700px) and (min-width: 760px) { .immersive-player { max-width: 820px; padding: 8px 24px 12px; } .immersive-stage { max-width: 440px; } .immersive-caption h2 { font-size: 18px; } .immersive-caption p { font-size: 11px; margin-top: 6px; } .immersive-controls { top: 67%; gap: 14px; } .immersive-controls #immersive-play { width: 58px; height: 58px; } .immersive-times { bottom: 0px; } .immersive-bottom { gap: 16px; } } @media (prefers-reduced-motion: reduce) { #track-arc { transition: none; } } html, body { height: 100%; overflow: hidden; } .shell { height: 100dvh; min-height: 0px; } .workspace { height: 100%; min-height: 0px; } main { height: 100%; min-height: 0px; display: flex; flex-direction: column; padding: 12px 22px; margin: 0px auto; } .page-top { flex-shrink: 0; min-height: 52px; padding: 0px; margin-bottom: 10px; } .view:not([hidden]) { flex: 1 1 0%; min-height: 0px; display: flex; flex-direction: column; gap: 12px; } .view > .page-heading { flex-shrink: 0; margin: 0px; } .view > .page-heading:has(> div:only-child) { display: none; } .view-toolbar { margin: 0px; flex-shrink: 0; } .rail { min-height: 0px; padding-top: 12px; padding-bottom: 12px; gap: 8px; } .rail nav { gap: 6px; } .rail nav a { min-height: 52px; } .rail-collapsed .page-top { min-height: 44px; height: 44px; margin-bottom: 4px; } .rail-collapsed .header-right .badge, .rail-collapsed .header-temp { display: none; } .rail-collapsed #rail-toggle { min-height: 44px; height: 44px; } .rail-collapsed main { padding-top: 6px; } #settings footer { padding: 12px 0px; flex-wrap: wrap; margin: 14px 0px; } #settings footer > span:last-child { display: none; } .home-grid { flex: 1 1 0%; min-height: 0px; grid-template-rows: 1.1fr 1fr; } .home-grid > .card { min-height: 0px !important; } .clock-card > time { font-size: clamp(52px, 9vh, 100px); } .weather-main { margin: 8px 0px; } .home-grid .card { padding: 18px; } .home-grid .album-art { width: 90px; } .home-grid .music-card { gap: 14px; } #drive .cluster { flex: 1 1 0%; min-height: 0px; display: flex; flex-direction: column; margin: 0px; } .gauges { flex: 1 1 0%; min-height: 0px; width: 100%; } .gauge { height: 100%; min-height: 0px; } .gauge svg { height: 100%; width: 100%; aspect-ratio: auto; max-height: none !important; } .cluster-top, .cluster-bottom { flex-shrink: 0; } .cluster-bottom { margin-top: 4px; padding: 10px; } .drive-links { flex-shrink: 0; flex-wrap: wrap; } .drive-links a { display: inline-flex; align-items: center; } .drive-actions { gap: 12px; } #now-playing .immersive-player { flex: 1 1 0%; min-height: 0px; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px 24px 18px; gap: 8px; } #now-playing .immersive-stage { flex: 1 1 0%; min-height: 0px; width: 100%; max-width: min(780px, 139.5dvh - 320.85px); margin: 0px; aspect-ratio: 600 / 430; max-height: 559px; } #now-playing .immersive-bottom { flex-shrink: 0; width: 100%; margin: 0px; z-index: 1; } .immersive-stage::before { content: ""; position: absolute; inset: 20% 15% 10%; border-radius: 50%; background: radial-gradient(ellipse,color-mix(in srgb,var(--accent) 17%,transparent),transparent 70%); pointer-events: none; animation: 7s ease-in-out 0s infinite normal none paused music-halo; } .playing .immersive-stage::before { animation-play-state: running; } @keyframes music-halo { 50% { opacity: 1; transform: scale(1.06); } } @media (prefers-reduced-motion: reduce) { .immersive-stage::before { animation: auto ease 0s 1 normal none running none; } } .player-grid { flex: 1 1 0%; min-height: 0px; } .player-grid > .card { min-height: 0px !important; } .player { display: flex; flex-direction: column; justify-content: center; align-items: center; } .player > * { flex-shrink: 0; } .player .album-art.large { width: min(170px, 20vh); margin-bottom: 10px; } .player h2 { font-size: 22px; margin: 0px; } .player p { margin: 8px 0px; } .player audio { height: 44px; } .library { display: flex; flex-direction: column; } #playlist { flex: 1 1 0%; min-height: 0px; max-height: none; overflow: hidden; margin: 10px 0px; } .collection-pages { display: flex; justify-content: center; align-items: center; gap: 16px; flex-shrink: 0; min-height: 48px; } .collection-pages span { font-size: 12px; color: var(--muted); } .collection-pages button { min-width: 48px; } .detail-grid { flex: 1 1 0%; min-height: 0px; grid-template-columns: repeat(4, minmax(0px, 1fr)); grid-template-rows: repeat(2, minmax(0px, 1fr)); gap: 12px; } .detail-grid .card { padding: 16px; } .detail-grid strong { font-size: 30px; } .detail-grid p { font-size: 12px; } .details-notice { margin: 0px; font-size: 11px; } #applications-grid { flex: 1 1 0%; min-height: 0px; grid-template-columns: repeat(3, minmax(0px, 1fr)); } .catalog-heading { margin: 0px; } .application-open { height: 100%; padding: 16px; } .application-open > .icon { margin-bottom: 10px; } .application-open p { min-height: 0px; margin-bottom: 8px; } #apps > .subtle { margin: 0px; } .journey-grid { flex: 1 1 0%; min-height: 0px; } .map-column { display: flex; flex-direction: column; min-height: 0px; } #map-canvas { flex: 1 1 0%; min-height: 100px; height: auto !important; } .journey-panel { min-height: 0px; overflow: auto; } .embedded-card { flex: 1 1 0%; min-height: 0px; display: flex; flex-direction: column; } .embed-controls { margin-bottom: 8px; } #embed-container { flex: 1 1 0%; min-height: 0px; } #embed-container iframe { height: 100%; min-height: 0px; } .stream-card { margin: auto 0px; } @media (max-height: 750px) { .home-grid .clock-card, .home-grid .weather-card { padding: 14px; } .home-grid .weather-card > p { margin-bottom: 6px; } .home-grid .music-card h2 { font-size: 17px; } .home-grid .vehicle-card h2 { display: none; } .home-grid .clock-bottom { bottom: 14px; } .home-grid .weather-bottom { padding-top: 8px; } .home-grid .weather-main strong { font-size: 40px; } .home-grid .weather-sun { font-size: 40px; } .cluster-top { margin: 0px; } .view:not([hidden]) { gap: 8px; } .player .album-art.large { width: 80px; } .player p { font-size: 11px; } .detail-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); } .detail-grid h2 { font-size: 15px; } .detail-grid strong { font-size: 25px; } .detail-grid p { font-size: 11px; line-height: 1.4; } .detail-grid .card { padding: 12px; } .application-open p { display: none; } .application-open > .icon { width: 36px; height: 36px; font-size: 23px; } .application-open h2 { font-size: 16px; } .application-open { padding: 12px; } .application-kind { font-size: 9px; } .catalog-heading { display: none; } } @media (max-width: 759px) { main { padding: 8px; } .home-grid { grid-template-rows: 1fr 1fr; } .home-grid .card { padding: 14px; } .player-grid { grid-template-columns: 1fr; grid-template-rows: auto minmax(0px, 1fr); } .player .album-art.large, .player .eyebrow, .player #audio-message { display: none; } .player { padding: 12px; } .player h2 { font-size: 17px; } .player-view-link { margin-top: 0px; } .player p { margin: 4px 0px; } .gear { padding: 0px; } .detail-grid { grid-template-columns: 1fr 1fr; } .details-notice { font-size: 10px; } .drive-links > a:last-child { font-size: 11px; min-height: 44px; } .drive-actions { gap: 6px; } .drive-actions .pill { padding: 10px; font-size: 10px; } .profile-label { gap: 4px; } #applications-grid { grid-template-columns: 1fr 1fr; } .application-open h2 { font-size: 15px; } .application-open p { display: none; } .application-open { padding: 12px; } #now-playing .immersive-stage { max-width: 100%; flex: 0 1 auto; min-height: 280px; } #now-playing .immersive-bottom { gap: 8px; } .immersive-caption h2 { font-size: 18px; } .journey-grid { grid-template-columns: 1fr; } .journey-panel { max-height: 40vh; } } main { width: 100%; } dialog[open] { flex-direction: column; overflow: hidden; max-height: calc(100dvh - 24px); } .journey-panel { display: flex; flex-direction: column; overflow: hidden; max-height: none; } .panel-content { flex: 1 1 0%; min-height: 0px; overflow: hidden; } .panel-pages { flex-shrink: 0; margin-top: 8px; } .panel-content > form { margin: 0px; } .rail nav a span:last-child { font-size: 11px; } @media (max-width: 759px) { .journey-grid { grid-template-rows: minmax(120px, 1fr) minmax(220px, 1fr); } .journey-panel { max-height: none; } .rail nav a span:last-child { font-size: 9px; } } dialog[open] { display: block; overflow: auto; overscroll-behavior: contain; } #apps { overflow-y: auto; overscroll-behavior: contain; } #applications-grid { flex: 0 0 auto; grid-auto-rows: auto; } .application-open { min-height: 180px !important; } #apps > .page-heading { position: sticky; top: 0px; z-index: 2; background: var(--bg); padding-bottom: 8px; } .page-top .header-left { height: 44px; display: flex; align-items: center; } #rail-toggle, .rail-collapsed #rail-toggle { display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0px; line-height: 1; font-size: 24px; flex-shrink: 0; } .rail-collapsed .page-top { gap: 12px; align-items: center; } .rail-collapsed .header-right { height: 44px; gap: 12px; } .rail-collapsed #fullscreen { height: 44px; min-height: 44px; padding: 0px 8px; } .immersive-stage::before { inset: 5% -8% -5%; background: radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 32%,transparent) 0%,color-mix(in srgb,var(--accent) 13%,transparent) 38%,transparent 70%); opacity: 0.8; } .immersive-player { isolation: isolate; } @keyframes music-halo { 50% { opacity: 1; transform: scale(1.09); } } .gauge text { font-size: 15px; font-weight: 600; } .gauge .dial-value { font-size: 49px; font-weight: 600; letter-spacing: -1px; } .gauge .dial-label { font-size: 11px; font-weight: 500; letter-spacing: 0.6px; } .gauge .major { stroke-width: 2.3; } .dial-light { fill: none; stroke: transparent; stroke-width: 2.5; pointer-events: none; } .luminous-dials .dial-light { stroke: var(--accent); filter: drop-shadow(0 0 4px var(--accent)); } .luminous-dials .gauge .major, .luminous-dials .gauge .tick { stroke: var(--accent); } .luminous-dials .gauge text { fill: var(--accent); } .luminous-dials .gauge .dial-value { fill: var(--text); } .luminous-dials .dial-rim { stroke: color-mix(in srgb,var(--accent) 30%,var(--border)); } .luminous-dials .gauge svg { background: radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 6%,transparent),transparent 65%); } .gauges { grid-template-columns: minmax(0px, 1fr) 100px minmax(0px, 1fr); } .gear strong { font-size: 82px; font-weight: 500; } .gear .eyebrow { font-size: 12px; } .gear > span { font-size: 10px; } .gauge .dial-number { font-size: 16px; } .digital-track, .digital-progress { display: none; fill: none; stroke-width: 9; stroke-linecap: round; } .digital-dials .digital-track { display: block; stroke: color-mix(in srgb,var(--accent) 13%,var(--surface)); } .digital-dials .digital-progress { display: block; stroke: var(--accent); stroke-dasharray: 100; stroke-dashoffset: 100; filter: drop-shadow(0 0 5px var(--accent)); transition: stroke-dashoffset 0.45s linear; } .digital-dials .needle, .digital-dials .needle-hub, .digital-dials .tick, .digital-dials .dial-number, .digital-dials .dial-rim, .digital-dials .dial-light { display: none; } .digital-dials .gauge .dial-value { transform: translateY(-40px); fill: var(--text); font-weight: 500; letter-spacing: -2px; } .digital-dials .gauge .dial-label { font-size: 12px; fill: var(--accent); } .digital-dials .gauge svg { background: radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 14%,transparent),transparent 64%); } .digital-dials .gear strong { color: var(--accent); text-shadow: 0 0 22px color-mix(in srgb,var(--accent) 45%,transparent); } @media (max-height: 750px) { .gear strong { font-size: 62px; } } @media (max-width: 759px) { .gauges { grid-template-columns: minmax(0px, 1fr) 44px minmax(0px, 1fr); } .gear { grid-area: 1 / 2; display: block; } .gauge:last-child { grid-area: 1 / 3; } .gear strong { font-size: 40px; } .gear .eyebrow { font-size: 8px; } .gear > span { font-size: 7px; } } @media (prefers-reduced-motion: reduce) { .digital-progress, .aux-needle { transition: none !important; } } .digital-unit { display: none; } .digital-dials .digital-unit { display: block; } .digital-dials .analog-unit { display: none; } .luminous-dials .tick:not(.major) { display: none; } .page-top .header-temp, .rail-collapsed .page-top .header-temp { display: inline-block; white-space: nowrap; } @media (max-width: 759px) { .page-top .header-temp { font-size: 12px; } .page-top .header-temp small { display: none; } .page-top .header-right .badge { display: none; } } .digital-dials .gauge .dial-number { display: block; fill: var(--accent); font-size: 16px; } .digital-dials .gauge .tick.major, .digital-dials .gauge .tick.intermediate, .luminous-dials .gauge .tick.intermediate { display: block; stroke: var(--accent); } .gauge .tick.intermediate { stroke-width: 1.6; } .digital-dials .gauge .dial-value { font-size: 46px; } .rpm-red-zone { fill: none; stroke: url("#rpm-red-zone"); stroke-width: 7; stroke-linecap: round; pointer-events: none; } .digital-dials .rpm-red-zone, .luminous-dials .rpm-red-zone { filter: drop-shadow(rgba(239, 83, 89, 0.467) 0px 0px 3px); } .gauge .tick.quarter { display: none; } .gear strong { border: 1px solid color-mix(in srgb,var(--accent) 45%,var(--border)); border-radius: 14px; background: var(--surface2); line-height: 1.1; padding: 10px 4px; min-width: 0px; } .gear .eyebrow { margin-bottom: 10px; } @media (max-width: 759px) { .gear strong { border-radius: 9px; padding: 7px 2px; } } #settings .theme-grid { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.35fr); gap: 14px; } .color-setting { display: flex; align-items: flex-end; gap: 8px; min-width: 0px; } .color-setting label { flex: 1 1 0%; min-width: 0px; } .color-setting select { width: 100%; } #settings #custom-color { flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; padding: 8px; border: 1px solid var(--border); border-radius: 50%; background: var(--surface2); cursor: pointer; } #custom-color::-webkit-color-swatch-wrapper { padding: 0px; } #custom-color::-webkit-color-swatch { border: 0px; border-radius: 50%; } .digital-dials #speed-gauge svg, .luminous-dials #speed-gauge svg { background: radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 5%,transparent),transparent 64%); } .digital-dials #drive .cluster { justify-content: center; } .digital-dials .gauges { flex: 0 1 auto; } .digital-dials .cluster-bottom { margin-top: 16px; } .digital-levels { display: none; } .digital-dials .digital-levels { display: block; } .digital-dials .gauges { flex: 1 1 0%; height: auto; min-height: 0px; } .digital-levels .level-icon { color: var(--accent); } .digital-levels.red-zone .level-icon { color: rgb(237, 107, 96); } .gauge .digital-levels .level-end { fill: var(--muted); font-weight: 500; } .gauge .digital-levels .level-value { font-size: 23px; fill: var(--text); font-weight: 600; } .digital-dials .gear { align-self: center; } .analog-levels { display: block; } .digital-dials .analog-levels { display: none; } .analog-levels .mini-track { fill: none; stroke: var(--muted); stroke-width: 2.5; } .analog-levels .mini-red { fill: none; stroke: rgb(237, 107, 96); stroke-width: 4; stroke-linecap: round; } .analog-levels .mini-ticks { fill: none; stroke: var(--text); stroke-width: 1.5; } .analog-levels .mini-needle { stroke: var(--accent); stroke-width: 3; stroke-linecap: round; transition: transform 0.45s linear; } .gauge .analog-levels .mini-end { font-size: 11px; fill: var(--text); } .analog-levels .level-icon { color: var(--accent); } .analog-levels.red-zone .level-icon { color: rgb(237, 107, 96); } .gauge .analog-levels .level-value { font-size: 23px; fill: var(--text); } body:not(.digital-dials) .gauge .dial-value { transform: translateY(-23px); font-size: 43px; } body:not(.digital-dials) .gauge .dial-label:last-of-type { transform: translateY(-22px); } body:not(.digital-dials) .dial-rim { display: none; } .luminous-dials .analog-levels .mini-track, .luminous-dials .analog-levels .mini-ticks { stroke: var(--accent); } .luminous-dials .mini-track, .luminous-dials .mini-needle { filter: drop-shadow(0 0 3px var(--accent)); } @media (prefers-reduced-motion: reduce) { .mini-needle { transition: none !important; } } body:not(.digital-dials):not(.luminous-dials) .dial-light { stroke: var(--border); stroke-width: 1.5; } .analog-levels .mini-needle { transform-origin: 150px 308px; } .mini-hub { fill: var(--accent); } #drive .gauges { position: relative; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); } #drive #speed-gauge { grid-area: 1 / 1; } #drive #rpm-gauge { grid-area: 1 / 2; } #drive .gear { position: absolute; z-index: 1; left: 50%; transform: translateX(-50%); width: 86px; display: block; padding: 0px; grid-area: auto; } #drive .gear strong { font-size: 58px; padding: 5px 4px; } #drive .gear .eyebrow { font-size: 10px; margin-bottom: 6px; } @media (max-height: 750px) { #drive .gear { top: 0px; width: 66px; } #drive .gear strong { font-size: 42px; } #drive .gear .eyebrow { font-size: 9px; } } @media (max-width: 759px) { #drive .gauges { column-gap: 6px; } #drive .gear { top: 0px; width: 52px; } #drive .gear strong { font-size: 34px; } #drive .gear .eyebrow { font-size: 8px; } } body:not(.digital-dials) .analog-levels { transform: translateY(-24px); } .digital-dials .analog-separator { display: none; } .analog-levels .level-icon { paint-order: stroke; stroke: currentcolor; } #drive .cluster { padding-left: 4px; padding-right: 4px; padding-top: 8px; } #drive .gauges { column-gap: 0px; overflow: visible; } #drive .gauge { overflow: visible; } #drive .gauge > svg { overflow: visible; } #drive .gear { top: 0px; } .analog-separator { stroke: color-mix(in srgb,var(--accent) 65%,var(--muted)); stroke-width: 2; } body:not(.digital-dials):not(.luminous-dials) .analog-separator { stroke: var(--border); filter: none; } .luminous-dials .analog-separator { stroke: var(--accent); filter: drop-shadow(0 0 4px var(--accent)); } .analog-separator { fill: none; stroke-linecap: butt; stroke-linejoin: miter; } .digital-dials .digital-levels .danger-segment.filled { filter: drop-shadow(rgba(237, 107, 96, 0.376) 0px 0px 3px); } .gauge .digital-levels .level-end { font-size: 11px; } .digital-dials .digital-levels .danger-segment { fill: color-mix(in srgb,#ed6b60 40%,var(--surface)); stroke: none; } .digital-dials .digital-levels .danger-segment.filled { fill: rgb(237, 107, 96); stroke: none; } .level-arc-track, .level-arc-progress, .level-arc-red { fill: none; stroke-width: 6; stroke-linecap: round; } .level-arc-track { stroke: var(--border); } .level-arc-progress { stroke: var(--accent); stroke-dasharray: 100; stroke-dashoffset: 100; filter: drop-shadow(0 0 3px var(--accent)); transition: stroke-dashoffset 0.4s linear; } .level-arc-red { stroke: rgb(237, 107, 96); stroke-width: 3; } .digital-levels.red-zone .level-arc-red { filter: drop-shadow(rgb(237, 107, 96) 0px 0px 3px); } @media (prefers-reduced-motion: reduce) { .level-arc-progress { transition: none; } } .digital-levels .level-tick { fill: none; stroke: var(--text); stroke-width: 1.2; stroke-linecap: butt; } .digital-dials .digital-levels { transform: translateY(-14px); } .digital-levels .level-arc-track { display: none; } .digital-levels .level-arc-progress { transition: none; } body:not(.digital-dials):not(.luminous-dials) .analog-separator { stroke-width: 1; } .luminous-dials .analog-separator { stroke-width: 1.6; } .digital-levels[data-digital-level="coolantCelsius"] .level-arc-red { display: none; } .digital-levels[data-digital-level="coolantCelsius"].last-level .level-arc-progress { stroke: rgb(237, 107, 96); filter: drop-shadow(rgb(237, 107, 96) 0px 0px 3px); } .digital-levels[data-digital-level="fuelPercent"].reserve-level .level-arc-progress { stroke: rgb(237, 107, 96); filter: drop-shadow(rgb(237, 107, 96) 0px 0px 3px); } .digital-levels[data-digital-level="fuelPercent"] .level-arc-red { display: none; }