/* Drive 6: a single viewport, shared sizing system, two distinct interface modes. */
:root {--font-body:18px;--font-small:15px;--font-heading:22px;--font-title:28px;--font-icon-label:17px;--font-weight:500;--tap:48px;--ui-gap:12px;--shell-pad:8px;--dock-width:76px;--dock-size:48px;--app-icon:76px;--app-columns:4;--app-rows:2;--preferred-icon:76px;--radius:20px;--player-rail:280px;--home-bottom:0px}
html,body {width:100%;height:100%;min-height:0;margin:0;overflow:hidden;overscroll-behavior:none}
body {--bg:#080b10;--panel:#161b24;--panel2:#272e39;--text:#f8faff;--muted:#b5bdc9;--line:rgba(255,255,255,0.125);--accent:#0a84ff;font-size:var(--font-body);font-weight:var(--font-weight);background:#06080c;color:var(--text)}
body[data-theme=light] {--bg:#ecf0f6;--panel:#ffffff;--panel2:#e0e6ef;--text:#111b29;--muted:#4d5c70;--line:rgba(21,42,69,0.141);--accent:#0766d8;color-scheme:light}
#carplay {display:flex;flex-direction:row;width:100%;height:var(--drive-height,100vh);min-height:0;padding:var(--shell-pad);grid-gap:8px;gap:8px;overflow:hidden;background:var(--wallpaper)}
#carplay.dock-right {flex-direction:row-reverse}
#carplay .main {min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}
#carplay .interface-toolbar,#carplay .topbar,#carplay .bottom-hint {display:none!important}
#carplay #workspace {flex:1;min-height:0;min-width:0;position:relative;overflow:hidden;border-radius:var(--radius);background:transparent}
#carplay .view {top:0;right:0;bottom:0;left:0;min-width:0;min-height:0;max-width:100%;overflow-x:hidden;overflow-y:auto;border-radius:var(--radius);background:var(--bg);color:var(--text);overscroll-behavior:contain;scrollbar-width:thin;scroll-padding:16px}
#carplay .view:not(.apps-view):not(.widgets-view) {background:var(--bg)}
#carplay .padded-view,#carplay .music-view,#carplay .calendar-view,#carplay .weather-view {padding:var(--ui-gap)}
#carplay .view h1,#carplay .view-heading h1,#carplay .screen-toolbar h1 {font-size:var(--font-title);line-height:1.18;letter-spacing:-.5px;font-weight:650}
#carplay .view h2,#carplay .section-title h2 {font-size:var(--font-heading);line-height:1.25}
#carplay .view h3 {font-size:var(--font-body);line-height:1.4}
#carplay .view p,#carplay .view input,#carplay .view select,#carplay .view button,#carplay .view a {font-size:var(--font-body)}
#carplay .view small,#carplay .view .hint,#carplay .view .muted,#carplay .view .mode-help,#carplay .view .catalog-datestamp,#carplay .view .version {font-size:var(--font-small);line-height:1.45}
#carplay .view-heading,#carplay .screen-toolbar {min-height:var(--tap);grid-gap:var(--ui-gap);gap:var(--ui-gap);flex-wrap:wrap;align-items:center;margin-bottom:var(--ui-gap)}
#carplay button,#carplay a,#carplay input,#carplay select {touch-action:manipulation}
#carplay .pill,#carplay .primary,#carplay .text-button,#carplay .setting-row,#carplay .tabs button,#carplay .video-topics button,#carplay .playlist-controls button {min-height:var(--tap);font-size:var(--font-body)}
#carplay .icon-button {width:var(--tap);height:var(--tap);min-width:var(--tap);min-height:var(--tap)}
#carplay .pill {background:var(--panel2);border:1px solid var(--line);box-shadow:none;color:var(--text);border-radius:30px;padding:8px 16px}
#carplay .primary {background:var(--accent);color:white;border-radius:30px;padding:10px 18px;box-shadow:none}
#carplay .tabs {display:flex;flex-wrap:wrap;grid-gap:4px;gap:4px;border-radius:16px;padding:4px;background:var(--panel);border:1px solid var(--line)}
#carplay .tabs button {flex:1;min-width:0;padding:8px 12px;color:var(--muted);border-radius:12px;white-space:normal}
#carplay .tabs button.active {background:var(--panel2);color:var(--text);box-shadow:none}
#carplay input:not([type=range]):not([type=checkbox]),#carplay select {min-height:var(--tap);max-width:100%;background:var(--panel2);color:var(--text);font-size:var(--font-body);border:1px solid var(--line);border-radius:14px}
#carplay button:focus-visible,#carplay a:focus-visible,#carplay input:focus-visible,#carplay select:focus-visible {outline:3px solid #58b7ff;outline-offset:2px}
#carplay .settings-columns,#carplay .calendar-layout {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--ui-gap);gap:var(--ui-gap)}
#carplay .settings-columns>div,#carplay .track-row>span,#carplay .spotify-result>div {min-width:0}
#carplay .settings-group,#carplay .place-card,#carplay .month-panel,#carplay .agenda-panel,#carplay .offline-now {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;overflow:hidden}
#carplay .setting-row {grid-gap:12px;gap:12px;padding:12px 16px;align-items:center;min-width:0;flex-wrap:wrap;line-height:1.3;border-color:var(--line)}
#carplay .setting-row>span {flex:1;min-width:120px}
#carplay .setting-row select {max-width:100%}
#carplay .track-row,#carplay .spotify-result {min-height:calc(var(--tap) + 20px);max-width:100%;padding:10px;grid-gap:12px;gap:12px;border-radius:14px;overflow:hidden}
#carplay .track-row strong,#carplay .spotify-result strong {font-size:var(--font-body);line-height:1.3}
#carplay .track-row small,#carplay .spotify-result small {font-size:var(--font-small)}
#carplay .track-row img {width:var(--tap);height:var(--tap);border-radius:10px}
#carplay .track-row.current {background:var(--panel2)}
#carplay .catalog-filters,#carplay .music-cards,#carplay .video-topics,#carplay .drive-playlists,#carplay .spotify-presets {max-width:100%;min-width:0;grid-gap:var(--ui-gap);gap:var(--ui-gap);overflow-x:auto;overscroll-behavior-x:contain}
#carplay .catalog-pagination,#carplay .extra-pager,#carplay .playlist-controls {display:flex;grid-gap:8px;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}
#carplay .mode-options {display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;padding:8px}
#carplay .mode-option {min-height:calc(var(--tap) + 24px);width:100%;background:var(--panel2);color:var(--text);border:2px solid transparent;border-radius:16px;text-align:left;padding:12px;grid-gap:12px;gap:12px}
#carplay .mode-option[aria-pressed=true] {border-color:var(--accent);background:var(--panel2)}
#carplay .mode-option strong {font-size:var(--font-body)}
#carplay .mode-option small {font-size:var(--font-small);color:var(--muted)}
#carplay .interface-setting {display:none}
/* CarPlay side dock. Three app shortcuts when the physical space allows them. */
#carplay .dock,#carplay.dock-right .dock {position:relative;top:auto;right:auto;bottom:auto;left:auto;order:0;display:flex;flex-direction:column;align-items:center;flex:0 0 var(--dock-width);width:var(--dock-width);height:100%;min-height:0;margin:0;padding:6px 4px;grid-gap:4px;gap:4px;border-radius:22px;border:1px solid rgba(255,255,255,0.133);background:rgba(12,22,42,0.722);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,0.086);}
#carplay .dock-status {order:0;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;grid-gap:1px;gap:1px;min-height:38px}
#carplay .dock-status time {font-size:22px;line-height:24px;font-weight:650;letter-spacing:-.5px}
#carplay .dock-status .icon {width:15px;height:15px}
#carplay .dock-apps {order:1;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;grid-gap:8px;gap:8px;min-height:0;padding:0;overflow:hidden}
#carplay .dock-app,#carplay .dock-app+.dock-app {width:var(--dock-size);height:var(--dock-size);min-width:44px;min-height:44px;flex:none;margin:0;padding:0;border-radius:24%;display:flex;align-items:center;justify-content:center}
#carplay .dock .app-icon {height:var(--dock-size);width:var(--dock-size);border-radius:24%;box-shadow:none;flex:none}
#carplay .dock-app[aria-current=page]:after {display:none}
#carplay .dock-home,#carplay .dock-fullscreen,#carplay #dock-tools {order:3;display:flex;align-items:center;justify-content:center;width:var(--dock-tap,var(--tap));min-width:var(--dock-tap,var(--tap));height:var(--dock-tap,var(--tap));min-height:var(--dock-tap,var(--tap));flex:none;border-radius:16px;padding:0;margin:0;background:transparent;font-size:26px;color:inherit}
#carplay #dock-tools {order:2}
#carplay .dock-home {order:4;background:rgba(255,255,255,0.094)}
#carplay .dock-home .icon {width:29px;height:29px}
#carplay .dock-fullscreen>.icon {width:24px;height:24px}
#carplay .dock-fullscreen>span,#carplay #quick-theme,#carplay #dock-app-launcher,#carplay #android-widgets {display:none!important}
/* Launcher: real pagination, not a wide strip that scrolls off the headunit. */
#carplay #apps-view {display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;padding:12px;background:transparent;overflow:hidden;color:#fff}
#carplay #apps-view:before,#carplay #apps-view:after,#carplay #widgets-view:before,#carplay #widgets-view:after {display:none}
#carplay #app-grid {display:grid;grid-template-columns:repeat(var(--app-columns),minmax(0,1fr));grid-template-rows:repeat(var(--app-rows),minmax(0,1fr));grid-gap:var(--ui-gap);gap:var(--ui-gap);min-height:0;min-width:0;max-width:none;width:100%;flex:1;align-items:center;justify-items:center;align-content:center;margin:0;padding:0}
#carplay #app-grid .app-tile {display:flex;flex-direction:column;justify-content:center;align-items:center;grid-gap:8px;gap:8px;min-width:0;min-height:0;width:100%;height:100%;padding:4px;margin:0;overflow:hidden;background:none;border:0;box-shadow:none}
#carplay #app-grid .app-icon {width:var(--app-icon);height:var(--app-icon);min-width:0;flex:none;border-radius:24%;box-shadow:0 3px 7px rgba(0,0,0,0.200)}
#carplay #app-grid .app-tile>span:last-child {font-size:var(--font-icon-label);font-weight:var(--font-weight);line-height:1.3;letter-spacing:-.2px;color:inherit;text-align:center;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere;max-height:2.6em;overflow:hidden;text-shadow:0 1px 3px rgba(0,0,0,0.333)}
#carplay .launcher-pages {position:relative;top:auto;right:auto;bottom:auto;left:auto;transform:none;display:flex!important;align-items:center;justify-content:center;grid-gap:12px;gap:12px;min-height:var(--tap);height:var(--tap);flex:none;margin:8px auto 0;padding:0 6px;border:0;box-shadow:none;background:transparent}
#carplay .launcher-pages [data-launch-page] {display:none}
#carplay #launcher-page-status {order:1;font-size:var(--font-small);font-variant-numeric:tabular-nums;min-width:60px;text-align:center}
#carplay #apps-previous {order:0}
#carplay #apps-next {order:2}
#carplay .launcher-pages>button {height:var(--tap);min-height:var(--tap);width:var(--tap);min-width:var(--tap);font-size:28px;background:rgba(255,255,255,0.082);border-radius:50%;padding:0}
/* Widgets stay within the viewport. Fewer columns are used at larger text sizes. */
#carplay #widgets-view {display:flex;flex-direction:column;padding:0 8px;overflow:hidden;background:transparent;color:#fff;bottom:calc(var(--tap) + 8px)}
#carplay .widget-toolbar {padding:8px 6px;flex:none;min-height:var(--tap);margin:0;grid-gap:8px;gap:8px;flex-wrap:nowrap}
#carplay .widget-toolbar>div {min-width:0}
#carplay .widget-toolbar h1 {font-size:var(--font-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#carplay .widget-greeting {display:none}
#carplay .widget-toolbar .pill {font-size:var(--font-small);padding:8px 12px;white-space:nowrap;flex:none}
#carplay #widget-stacks {display:grid;grid-template-columns:repeat(var(--widget-columns,3),minmax(0,1fr));min-width:0;min-height:0;flex:1;width:100%;max-width:1200px;margin:0 auto;grid-gap:var(--ui-gap);gap:var(--ui-gap);padding:var(--ui-gap) 0;overflow:hidden;align-items:stretch}
#carplay #widget-stacks .widget-stack {display:flex;flex-direction:column;flex:none;width:100%;height:100%;min-height:0;min-width:0;max-height:none;max-width:none;padding:0 0 24px;margin:0;position:relative;background:transparent;border:0;box-shadow:none;border-radius:24px;overflow:hidden}
#carplay #widget-stacks .widget-content {display:block;min-height:0;min-width:0;width:100%;height:auto;flex:1;padding:16px 18px 38px;border:1px solid rgba(255,255,255,0.169);border-radius:24px;box-shadow:inset 0 1px 1px rgba(255,255,255,0.133);text-align:left;overflow:hidden;font-size:var(--font-body)}
#carplay #widget-stacks .widget-content h2 {font-size:var(--font-heading);line-height:1.25}
#carplay #widget-stacks .widget-subtitle,#carplay #widget-stacks .widget-place-detail,#carplay #widget-stacks .weather-range {font-size:var(--font-small);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#carplay #widget-stacks .widget-day,#carplay #widget-stacks .weather-value {font-size:56px;line-height:1.05;letter-spacing:-2px;margin:4px 0;font-weight:500}
#carplay #widget-stacks .widget-week {grid-gap:2px;gap:2px;width:100%}
#carplay #widget-stacks .home-orb {width:56px;height:56px;margin:12px 0}
#carplay #widget-stacks .widget-caption {font-size:var(--font-small);line-height:24px;min-height:24px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#carplay #widget-stacks .stack-next {bottom:28px;right:8px;width:44px;height:44px;min-width:44px;min-height:44px;background:rgba(0,0,0,0.133);box-shadow:none;border:0}
#carplay #widget-stacks .widget-stack-nav {bottom:43px;left:16px}
#carplay .widget-footer {display:none}
#carplay #widget-pages {flex:none;display:flex;justify-content:center;grid-gap:8px;gap:8px;min-height:var(--tap);margin:0;padding:0 0 6px}
#carplay #widget-pages>button {flex:1;max-width:180px;min-width:0;min-height:var(--tap);border-radius:30px;font-size:var(--font-small);background:rgba(255,255,255,0.071)}
#carplay #widget-pages>button[aria-pressed=true] {background:rgba(255,255,255,0.208);color:#fff}
#carplay #home-pager {left:8px;right:8px;bottom:0;height:var(--tap);min-height:var(--tap);max-width:480px;display:flex;margin:0 auto;padding:0;grid-gap:4px;gap:4px;border:0;border-radius:30px;background:rgba(7,18,35,0.722);box-shadow:none}
#carplay #home-pager>button {flex:1;min-height:var(--tap);min-width:0;height:var(--tap);padding:4px;font-size:var(--font-small);border-radius:30px}
#carplay #home-pager #page-previous,#carplay #home-pager #page-next {flex:0 0 var(--tap)}
body:not([data-view=widgets]) #carplay #home-pager {display:none!important}
/* Dashboard: a retained map and two separately bounded cards. */
#carplay .card,#carplay .map-panel {border-radius:var(--radius);border:1px solid var(--line);box-shadow:none}
body[data-view=dashboard] #carplay #map-panel {position:absolute;top:0;right:auto;bottom:0;left:0;width:calc(65% - var(--ui-gap));height:auto;min-height:0}
body[data-view=dashboard] #carplay #journey-card {position:absolute;top:0;right:0;bottom:auto;left:auto;width:35%;height:calc(42% - var(--ui-gap))!important;min-height:0;padding:12px;background:var(--panel);color:var(--text)}
body[data-view=dashboard] #carplay #dashboard-audio {position:absolute;top:42%;right:0;bottom:0;left:auto;width:35%;height:auto;min-height:0;padding:12px;background:var(--panel);color:var(--text);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
#carplay .journey-title,#carplay .dashboard-audio-heading {font-size:var(--font-small);line-height:1.3;color:var(--muted);min-height:32px}
#carplay .destination-button {grid-gap:10px;gap:10px;padding:8px 0;min-height:var(--tap)}
#carplay .destination-button strong {font-size:var(--font-heading)}
#carplay .destination-button small {font-size:var(--font-small)}
#carplay .nearby,#carplay .dashboard-agenda,#carplay .dashboard-audio-status {display:none}
#carplay .dashboard-track {grid-gap:10px;gap:10px;min-height:0;margin:6px 0;overflow:hidden}
#carplay .dashboard-track>img {width:var(--tap);height:var(--tap);border-radius:12px;flex:none}
#carplay .dashboard-track h2 {font-size:var(--font-body);line-height:1.3;max-height:2.6em;overflow:hidden}
#carplay .dashboard-track p {font-size:var(--font-small);line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#carplay .dashboard-audio-heading>button {min-height:44px;padding:4px 8px;color:var(--accent);font-size:var(--font-small)}
#carplay .dashboard-audio-controls {display:flex;justify-content:space-between;align-items:center;grid-gap:4px;gap:4px;margin:0}
#carplay .dashboard-audio-controls>button {width:var(--tap);height:var(--tap);min-height:44px;min-width:44px;border-radius:50%;margin:0;flex-shrink:1}
#carplay #dashboard-audio-play {background:var(--text);color:var(--panel);width:calc(var(--tap) + 8px);border-radius:50%}
body[data-view=maps] #carplay #map-panel {position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0}
#carplay #map-panel iframe {display:block;max-width:100%;border:0}
#carplay .map-search {left:12px;right:12px;top:12px;border-radius:18px;background:var(--panel);color:var(--text)}
#carplay .map-search form {min-height:var(--tap)}
#carplay .map-search input {font-size:var(--font-body);background:transparent;border:0;color:var(--text)}
#carplay .map-search button,#carplay .map-caption a {font-size:var(--font-small);color:var(--accent)}
#carplay .map-tools {top:calc(var(--tap) + 24px);right:12px;background:var(--panel);color:var(--text)}
#carplay .map-caption {left:12px;right:12px;bottom:12px;background:var(--panel);color:var(--text);padding:10px;border-radius:18px;grid-gap:8px;gap:8px}
#carplay .map-label {font-size:var(--font-small);min-width:0;flex:1}
#carplay .map-caption a {flex:none}
#carplay .locate-button {right:12px;bottom:78px;background:var(--panel);color:var(--text)}
#carplay .map-help {left:12px;right:auto;bottom:76px;font-size:14px;max-width:calc(100% - 80px);min-height:44px}
#carplay #route-card {position:absolute;top:12px;right:12px;bottom:auto;left:auto;max-height:calc(100% - 24px);width:520px;max-width:calc(100% - 24px);overflow:auto;background:var(--panel);color:var(--text);padding:16px;z-index:12}
/* Standard Now Playing. The provider and lyrics variants retain their own grids. */
body[data-view=nowplaying] #carplay #player-card {position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%;min-height:0;background:var(--panel);color:var(--text);border:0;border-radius:var(--radius);padding:12px!important;box-shadow:none;overflow-y:auto;overflow-x:hidden;--np-text:var(--text);--np-muted:var(--muted);--np-line:var(--line);--np-soft:var(--panel2)}
body[data-view=nowplaying] #carplay #player-card:not([data-video-mode=video]):not([data-video-mode=karaoke]) {display:grid!important;grid-template-columns:minmax(200px,.95fr) minmax(0,1.05fr);grid-template-rows:var(--tap) minmax(80px,1fr) 44px calc(var(--tap) + 16px) 44px;grid-template-areas:'header header' 'media meta' 'media progress' 'media transport' 'media actions';grid-gap:8px 20px;gap:8px 20px}
body[data-view=nowplaying] #carplay #player-card #mini-player-bar {display:flex;grid-area:header;height:var(--tap);min-height:var(--tap);grid-gap:6px;gap:6px;margin:0;padding:0;border:0;overflow:hidden}
body[data-view=nowplaying] #carplay #mini-open-player {flex:1;min-width:0;max-width:none;min-height:44px;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-small);white-space:nowrap}
body[data-view=nowplaying] #carplay #player-card .np-heading {display:none}
body[data-view=nowplaying] #carplay #player-card #player-queue-button,body[data-view=nowplaying] #carplay #player-card .np-video-tool {min-height:44px;font-size:var(--font-small);padding:6px 10px;flex:none}
body[data-view=nowplaying] #carplay #player-card #close-mini-player {width:44px;min-width:44px;height:44px;min-height:44px;flex:none}
body[data-view=nowplaying] #carplay #player-card:not([data-video-mode=video]):not([data-video-mode=karaoke]) #video-wrap {grid-area:media;min-width:200px;width:100%;height:200px;min-height:200px;max-height:200px;align-self:center;margin:0;border-radius:18px;box-shadow:none;background:#000}
body[data-view=nowplaying] #carplay #player-card .track-meta {grid-area:meta;min-width:0;min-height:0;margin:0;padding:0;align-self:center;overflow:hidden}
body[data-view=nowplaying] #carplay #track-title {font-size:var(--font-title);line-height:1.2;white-space:normal;max-height:2.4em;overflow:hidden;letter-spacing:-.5px}
body[data-view=nowplaying] #carplay #track-artist {font-size:var(--font-small);line-height:1.4;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}
body[data-view=nowplaying] #carplay #player-card .np-kicker {display:none}
body[data-view=nowplaying] #carplay #player-card #save-track {width:44px;min-width:44px;height:44px}
body[data-view=nowplaying] #carplay #player-card .progress {grid-area:progress;min-width:0;min-height:44px;height:44px;padding:0}
body[data-view=nowplaying] #carplay #player-card #seek {height:24px;min-height:24px}
body[data-view=nowplaying] #carplay .progress>div {font-size:14px;color:var(--muted)}
body[data-view=nowplaying] #carplay #np-seek-hint {display:none}
body[data-view=nowplaying] #carplay #player-card .transport {grid-area:transport;display:flex;align-items:center;justify-content:space-between;grid-gap:2px;gap:2px;min-width:0;min-height:calc(var(--tap) + 16px);height:calc(var(--tap) + 16px);margin:0}
body[data-view=nowplaying] #carplay #player-card .transport .icon-button {width:44px;min-width:44px;height:var(--tap);min-height:44px;flex:0 0 44px;padding:0}
body[data-view=nowplaying] #carplay #player-card .transport .play-button {width:calc(var(--tap) + 16px);min-width:calc(var(--tap) + 16px);height:calc(var(--tap) + 16px);flex:none;margin:0;border-radius:50%;background:var(--text);color:var(--panel)}
body[data-view=nowplaying] #carplay #player-card .transport .icon {width:26px;height:26px}
body[data-view=nowplaying] #carplay .np-actions {grid-area:actions;display:flex;grid-gap:8px;gap:8px;height:44px;min-width:0}
body[data-view=nowplaying] #carplay .np-actions>button {min-height:44px;min-width:0;font-size:var(--font-small);padding:6px;flex:1}
body[data-view=nowplaying] #carplay #np-next-up,body[data-view=nowplaying] #carplay #player-status {display:none!important}
body[data-view=nowplaying] #carplay #np-queue:not([hidden]) {grid-column:2;grid-row:2/6;position:relative;min-height:0;max-height:none;width:100%;overflow:hidden;background:var(--panel2);color:var(--text);border:1px solid var(--line)}
body[data-view=nowplaying] #carplay #player-card.queue-open .track-meta,body[data-view=nowplaying] #carplay #player-card.queue-open .progress,body[data-view=nowplaying] #carplay #player-card.queue-open .transport,body[data-view=nowplaying] #carplay #player-card.queue-open .np-actions {visibility:hidden}
body[data-view=nowplaying] #carplay #volume-panel:not([hidden]) {position:absolute;right:12px;left:auto;bottom:62px;width:calc(52% - 24px);max-width:calc(100% - 24px);z-index:5;background:var(--panel2);color:var(--text);border:1px solid var(--line)}
body[data-view=nowplaying] #carplay #youtube-fallback:not([hidden]) {grid-column:2;grid-row:2;z-index:3;background:var(--panel2);color:var(--accent);border-radius:16px;padding:10px;font-size:var(--font-small)}
/* Music browsing and continued playback share one retained video rail. */
body[data-view=music] #carplay #music-view {right:0}
body[data-view=music]:not(.music-player-visible) #carplay #player-card {display:none}
body[data-view=music].music-player-visible #carplay #music-view {right:calc(var(--player-rail) + var(--ui-gap))}
body[data-view=music].music-player-visible #carplay #player-card{position:absolute!important;left:auto!important;right:0;top:0!important;bottom:0;width:var(--player-rail);height:100%;min-height:0;display:flex;flex-direction:column;padding:8px;overflow-y:auto;overflow-x:hidden;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius)}
body[data-view=music].music-player-visible #carplay #video-wrap{width:100%;height:200px;min-height:200px;max-height:200px;flex:0 0 200px;margin:4px 0;border-radius:16px}
body[data-view=music].music-player-visible #carplay #mini-player-bar{display:flex;flex:0 0 44px;min-height:44px;height:44px;margin:0;padding:0;grid-gap:4px;gap:4px}
body[data-view=music] #carplay #mini-open-player{flex:1;min-width:0;font-size:var(--font-small);min-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-view=music] #carplay #close-mini-player{min-width:44px;width:44px;height:44px;min-height:44px}
body[data-view=music] #carplay .track-meta{padding:4px 0;min-height:44px}
body[data-view=music] #carplay #track-title {font-size:var(--font-body);line-height:1.2}
body[data-view=music] #carplay #track-artist {font-size:var(--font-small)}
body[data-view=music] #carplay #player-card .progress,body[data-view=music] #carplay #player-card .np-actions,body[data-view=music] #carplay #player-status,body[data-view=music] #carplay #player-queue-button,body[data-view=music] #carplay #player-card .np-heading {display:none!important}
body[data-view=music] #carplay #player-card .transport{display:flex;flex:0 0 var(--tap);min-height:var(--tap);height:var(--tap);align-items:center;justify-content:space-around;grid-gap:4px;gap:4px;margin:6px 0 0}
body[data-view=music] #carplay #player-card .transport button{width:var(--tap);height:var(--tap);min-width:44px;min-height:44px;border-radius:50%;margin:0;padding:0}
body[data-view=music] #carplay #shuffle,body[data-view=music] #carplay #repeat{display:none!important}
/* Material 3 palette, circular icons and bottom taskbar for Android Auto. */
html[data-interface=android-auto] {font-family:Roboto,'Google Sans','Noto Sans',Arial,sans-serif;--radius:28px;--aa-base:#0d1619;--aa-surface:#1a272c;--aa-raised:#293b40;--aa-text:#edf7f7;--aa-muted:#bacbcd;--aa-accent:#b6e9cb;--aa-on-accent:#123526;--aa-outline:rgba(170,198,195,0.169);--aa-secondary:#c7ead5}
html[data-interface=android-auto] body {--bg:var(--aa-base);--panel:var(--aa-surface);--panel2:var(--aa-raised);--text:var(--aa-text);--muted:var(--aa-muted);--line:var(--aa-outline);--accent:var(--aa-accent)}
html[data-interface=android-auto] body[data-theme=light] {--aa-base:#e9f2ef;--aa-surface:#f9fcfa;--aa-raised:#dce9e4;--aa-text:#152923;--aa-muted:#486157;--aa-accent:#246347;--aa-on-accent:#fff;--aa-outline:rgba(46,87,64,0.169)}
html[data-interface=android-auto] #carplay,html[data-interface=android-auto] #carplay.dock-right {flex-direction:column-reverse;background:var(--bg);grid-gap:8px;gap:8px}
html[data-interface=android-auto] #carplay .dock,html[data-interface=android-auto] #carplay.dock-right .dock {display:flex;flex-direction:row;align-items:center;flex:0 0 calc(var(--tap) + 12px);width:100%;height:calc(var(--tap) + 12px);min-height:calc(var(--tap) + 12px);grid-gap:8px;gap:8px;padding:4px 8px;margin:0;background:var(--bg);border:0;border-radius:0;box-shadow:none;color:var(--text)}
html[data-interface=android-auto] #carplay .dock-home {order:0;background:var(--accent);color:var(--aa-on-accent);border-radius:50%;margin:0}
html[data-interface=android-auto] #carplay .dock-apps {order:1;flex:1;flex-direction:row;justify-content:flex-start;grid-gap:8px;gap:8px}
html[data-interface=android-auto] #carplay .dock .app-icon,html[data-interface=android-auto] #carplay .dock-app {border-radius:50%;box-shadow:none}
html[data-interface=android-auto] #carplay #android-widgets {order:2;display:flex!important;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;width:var(--tap);height:var(--tap);margin:0;background:var(--panel2);color:var(--text);border-radius:50%}
html[data-interface=android-auto] #carplay #dock-tools {order:3;border-radius:50%}
html[data-interface=android-auto] #carplay .dock-fullscreen {order:4;border-radius:50%}
html[data-interface=android-auto] #carplay .dock-status {order:5;flex-direction:column;margin:0 0 0 auto;min-width:54px;min-height:40px;grid-gap:0;gap:0}
html[data-interface=android-auto] #carplay .dock-status time {font-size:20px;line-height:23px}
html[data-interface=android-auto] #carplay #apps-view,html[data-interface=android-auto] #carplay #widgets-view {background:var(--bg);color:var(--text)}
html[data-interface=android-auto] #carplay #app-grid .app-icon {border-radius:50%;box-shadow:none}
html[data-interface=android-auto] #carplay #app-grid .app-tile>span:last-child {text-shadow:none;letter-spacing:0}
html[data-interface=android-auto] #carplay .launcher-pages>button {background:var(--panel2)}
html[data-interface=android-auto] #carplay .primary {color:var(--aa-on-accent)}
html[data-interface=android-auto] #carplay .tabs button.active {background:var(--accent);color:var(--aa-on-accent);border-radius:30px}
html[data-interface=android-auto] #carplay #widgets-view {bottom:0}
html[data-interface=android-auto] #carplay #home-pager {display:none!important}
html[data-interface=android-auto] #carplay #widget-pages>button {background:var(--panel2);color:var(--text)}
html[data-interface=android-auto] #carplay #widget-pages>button[aria-pressed=true] {background:var(--accent);color:var(--aa-on-accent)}
html[data-interface=android-auto] #carplay #widget-stacks .widget-content {box-shadow:none;border:0;border-radius:28px}
html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay #map-panel {top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}
html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay #journey-card {top:12px;right:12px;width:32%;height:calc(42% - 20px)!important;background:var(--panel);z-index:3;border:0}
html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay #dashboard-audio {top:42%;bottom:12px;right:12px;width:32%;background:var(--panel);z-index:3;border:0}
html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay .map-search {right:calc(32% + 24px)}
html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay .map-caption {right:calc(32% + 24px)}
html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay .map-tools {left:12px;right:auto}
html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay .locate-button {left:12px;right:auto}
html[data-interface=android-auto] body[data-view=nowplaying] #carplay #player-card .transport .play-button {background:var(--accent);color:var(--aa-on-accent);border-radius:24px}
/* Display controls are always usable without leaving the current settings page. */
#carplay #display-settings {margin:0 0 24px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
#carplay .display-heading {display:flex;align-items:center;justify-content:space-between;grid-gap:12px;gap:12px;flex-wrap:wrap}
#carplay #display-profile,#carplay .display-note {font-size:var(--font-small);line-height:1.5;color:var(--muted);margin-top:6px}
#carplay .display-presets {display:flex;grid-gap:8px;gap:8px;margin:16px 0}
#carplay .display-presets button {flex:1;min-width:0;min-height:var(--tap);border-radius:16px;background:var(--panel2);font-size:var(--font-body);padding:8px}
#carplay .display-presets button[aria-pressed=true] {background:var(--accent);color:white}
html[data-interface=android-auto] #carplay .display-presets button[aria-pressed=true] {color:var(--aa-on-accent)}
#carplay .display-sliders {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 24px;gap:12px 24px}
#carplay .display-sliders label {display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px 12px;gap:4px 12px;align-items:center;font-size:var(--font-body);line-height:1.4;min-width:0;padding:8px 0}
#carplay .display-sliders output {font-size:var(--font-small);font-variant-numeric:tabular-nums;color:var(--accent)}
#carplay .display-sliders input {grid-column:1/3;width:100%;height:44px;min-height:44px;margin:0;padding:0;accent-color:var(--accent)}
#carplay .display-toggles {display:flex;flex-wrap:wrap;grid-gap:8px 24px;gap:8px 24px;margin:12px 0}
#carplay .display-toggles label {display:flex;align-items:center;justify-content:space-between;grid-gap:16px;gap:16px;min-height:var(--tap);font-size:var(--font-body);flex:1 1 180px}
#carplay .display-toggles input {width:44px;height:30px;accent-color:var(--accent);flex:none}
#carplay .display-preview {display:flex;align-items:center;grid-gap:var(--ui-gap);gap:var(--ui-gap);padding:16px;border-radius:18px;background:var(--panel2);margin:16px 0}
#carplay .display-preview .app-icon {width:var(--preferred-icon);height:var(--preferred-icon);max-width:120px;max-height:120px;flex:none}
#carplay .display-preview>div {min-width:0}
#carplay .display-preview strong {display:block;font-size:var(--font-heading);line-height:1.3}
#carplay .display-preview>div>span {display:block;font-size:var(--font-body);line-height:1.4;margin-top:6px;color:var(--muted)}
.quick-control-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}
.quick-control-grid button {display:flex;align-items:center;grid-gap:10px;gap:10px;min-height:64px;padding:12px;font-size:var(--font-body);white-space:normal}
/* Readable exceptions for very short displays and portrait browsers. */
html[data-player-compact=true] body[data-view=nowplaying] #carplay #player-card:not([data-video-mode=video]):not([data-video-mode=karaoke]) {grid-template-rows:44px minmax(80px,1fr) 44px 64px;grid-template-areas:'header header' 'media meta' 'media progress' 'media transport';padding:6px 10px!important;grid-gap:6px 14px;gap:6px 14px}
html[data-player-compact=true] body[data-view=nowplaying] #carplay #player-card .np-actions {display:none}
html[data-player-compact=true] body[data-view=nowplaying] #carplay #player-card #mini-player-bar {min-height:44px;height:44px}
html[data-player-compact=true] body[data-view=nowplaying] #carplay #player-card .transport {height:64px;min-height:64px}
html[data-player-compact=true] body[data-view=nowplaying] #carplay #player-card .transport .play-button {width:60px;height:60px;min-width:60px}
html[data-player-compact=true] body[data-view=nowplaying] #carplay #np-queue:not([hidden]) {grid-row:2/5}
html[data-short-screen=true] #carplay #widget-stacks .widget-week,html[data-short-screen=true] #carplay #widget-stacks .widget-subtitle {display:none}
html[data-short-screen=true] #carplay #widget-stacks .widget-content {padding:10px 12px 38px}
html[data-short-screen=true] #carplay #widget-stacks .home-orb {height:38px;width:38px;margin:6px 0}
html[data-short-screen=true] #carplay #widget-stacks .widget-day,html[data-short-screen=true] #carplay #widget-stacks .weather-value {font-size:46px}
html[data-short-screen=true] #carplay .dashboard-track>img {display:none}
html[data-large-text=true] #carplay .settings-columns,html[data-large-text=true] #carplay .calendar-layout {grid-template-columns:minmax(0,1fr)}
html[data-large-text=true] #carplay .widget-week {display:none}
@media(max-width:800px) {
 #carplay .settings-columns,#carplay .calendar-layout,#carplay .display-sliders {grid-template-columns:minmax(0,1fr)}
 #carplay .display-heading #display-reset {font-size:var(--font-small)}
 #carplay .map-caption a {display:none}
}
@media(max-width:599px),(orientation:portrait) {
 #carplay {grid-gap:4px;gap:4px}
 #carplay .dock,#carplay.dock-right .dock {flex-basis:64px;width:64px;padding:4px 0}
 #carplay .dock-status time {font-size:18px}
 #carplay .dock .app-icon,#carplay .dock-app {width:44px;height:44px}
 html[data-interface=android-auto] #carplay .dock,html[data-interface=android-auto] #carplay.dock-right .dock {width:100%;flex-basis:60px;height:60px;min-height:60px;grid-gap:3px;gap:3px;padding:2px}
 html[data-interface=android-auto] #carplay #android-widgets {display:none!important}
 html[data-interface=android-auto] #carplay .dock-status {min-width:44px}
 html[data-interface=android-auto] #carplay .dock-status time {font-size:16px}
 html[data-interface=android-auto] #carplay .dock-home,html[data-interface=android-auto] #carplay .dock-fullscreen,html[data-interface=android-auto] #carplay #dock-tools {width:44px;min-width:44px;height:48px;min-height:48px}
 #carplay #widgets-view {padding:0 4px}
 #carplay .widget-toolbar {flex-wrap:wrap}
 #carplay #home-pager>button {font-size:14px}
 #carplay #home-pager #page-previous,#carplay #home-pager #page-next {display:none}
 #carplay #widget-stacks {padding:8px 0}
 body[data-view=dashboard] #carplay #map-panel {top:0;right:0;bottom:45%;left:0;width:100%;height:auto}
 body[data-view=dashboard] #carplay #journey-card {display:none}
 body[data-view=dashboard] #carplay #dashboard-audio {top:calc(55% + 8px);right:0;bottom:0;left:0;width:100%}
 html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay #dashboard-audio {top:auto;right:8px;bottom:8px;left:8px;width:auto;height:40%;}
 html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay .map-search,html[data-interface=android-auto] body[data-view=dashboard]:not(.has-mini-player) #carplay .map-caption {right:12px}
 body[data-view=nowplaying] #carplay #player-card:not([data-video-mode=video]):not([data-video-mode=karaoke]) {display:flex!important;flex-direction:column;grid-gap:12px;gap:12px;padding:10px!important;overflow-y:auto}
 body[data-view=nowplaying] #carplay #player-card .track-meta,body[data-view=nowplaying] #carplay #player-card .progress,body[data-view=nowplaying] #carplay #player-card .transport {flex:none;min-height:44px}
 body[data-view=nowplaying] #carplay #player-card:not([data-video-mode=video]):not([data-video-mode=karaoke]) #video-wrap {flex:0 0 200px;height:200px;min-width:200px}
 body[data-view=nowplaying] #carplay #np-queue:not([hidden]) {flex:0 0 300px;width:100%;min-height:300px}
 body[data-view=nowplaying] #carplay #player-card #player-queue-button {display:none}
 body[data-view=nowplaying] #carplay #player-card .np-video-tool {font-size:14px;padding:4px 6px}
 body[data-view=music].music-player-visible #carplay #music-view{right:0;bottom:260px}
 body[data-view=music].music-player-visible #carplay #player-card{top:auto!important;right:0!important;bottom:0!important;left:0!important;width:100%;height:252px;min-height:252px;display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:40px 200px;grid-gap:0 6px;gap:0 6px;padding:6px}
 body[data-view=music].music-player-visible #carplay #mini-player-bar{grid-column:1/3;grid-row:1;height:40px;min-height:40px}
 body[data-view=music].music-player-visible #carplay #video-wrap{grid-column:1;grid-row:2;width:200px;height:200px;margin:0}
 body[data-view=music].music-player-visible #carplay #player-card .transport{grid-column:2;grid-row:2;flex-direction:column;display:flex;justify-content:center;height:auto;min-height:0;margin:0}
 body[data-view=music].music-player-visible #carplay #player-card .track-meta {display:none}
 .quick-control-grid {grid-template-columns:minmax(0,1fr)}
}
html[data-high-contrast=true] body {--muted:var(--text);--line:currentColor}
html[data-high-contrast=true] #carplay .dock {background:#000;color:#fff;}
html[data-high-contrast=true] #carplay .view:not(.apps-view):not(.widgets-view),html[data-high-contrast=true] #carplay .settings-group {border:1px solid var(--text)}
html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce) {#carplay *,#carplay *:before,#carplay *:after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact controls remain available in the dock's music menu. */
html[data-player-compact=true] body[data-view=nowplaying] #carplay #player-card .transport {grid-gap:2px;gap:2px}
html[data-player-compact=true] body[data-view=nowplaying] #carplay #player-card .transport>button:not(.play-button) {width:44px;min-width:44px;height:44px;min-height:44px}
html[data-short-screen=true] #carplay #widgets-view {bottom:0}
html[data-short-screen=true] #carplay .widget-toolbar,html[data-short-screen=true] #carplay #home-pager {display:none!important}
.modal {font-size:var(--font-body);color:var(--text);background:var(--panel);max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}
.modal h2 {font-size:var(--font-heading)}
.modal p,.modal button,.modal input,.modal select,.modal label {font-size:var(--font-body)}
.modal button,.modal input,.modal select {min-height:var(--tap)}
.modal .icon-button {min-width:var(--tap);width:var(--tap);height:var(--tap)}
.modal .quick-volume {display:flex;flex-wrap:wrap;align-items:center;grid-gap:12px;gap:12px;margin-top:20px}
.modal .quick-volume input {flex:1;min-width:120px;height:44px;accent-color:var(--accent)}
.modal .quick-volume output {min-width:3em;font-variant-numeric:tabular-nums}
.quick-control-grid button[aria-pressed=true] {background:var(--accent);color:var(--bg)}
body[data-view=nowplaying] #carplay #player-card[data-video-mode=video] #mini-player-bar,body[data-view=nowplaying] #carplay #player-card[data-video-mode=karaoke] #mini-player-bar {height:44px;min-height:44px}
html[data-bold-text=true] #carplay button,html[data-bold-text=true] #carplay input,html[data-bold-text=true] #carplay p,html[data-bold-text=true] #carplay small,html[data-bold-text=true] #carplay label,html[data-bold-text=true] .modal {font-weight:700}
[hidden] {display:none!important}
/* Shared Chrome 73 baseline. These rules are used by every device. */
#carplay {display:grid;grid-template-columns:var(--dock-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:'dock main';grid-gap:8px;position:fixed;left:0;top:0;width:100%;height:var(--drive-height,100vh);min-height:0;max-height:none;padding:var(--shell-pad)}
#carplay.dock-right {grid-template-columns:minmax(0,1fr) var(--dock-width);grid-template-areas:'main dock'}
#carplay .main {grid-area:main;position:relative;display:block;min-width:0;min-height:0;width:100%;height:100%;margin:0;padding:0}
#carplay #workspace {position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;min-width:0;min-height:0}
#carplay .dock,#carplay.dock-right .dock {grid-area:dock;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:38px minmax(0,1fr) var(--dock-tap) var(--dock-tap) var(--dock-tap);grid-template-areas:'status' 'apps' 'tools' 'fullscreen' 'home';grid-gap:4px;align-items:center;justify-items:center;position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;height:100%;min-height:0;padding:6px 4px;margin:0;z-index:30;background:#122039;overflow:hidden}
#carplay .dock-status {grid-area:status;min-height:0;min-width:0;margin:0}
#carplay .dock-apps {grid-area:apps;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;min-width:0;gap:0!important;grid-gap:0!important;overflow:hidden}
#carplay .dock-apps .dock-app {margin:0;flex:none}
#carplay .dock-apps .dock-app+.dock-app {margin-top:8px}
#carplay #dock-tools {grid-area:tools}
#carplay #fullscreen {grid-area:fullscreen;position:relative;z-index:40;pointer-events:auto;touch-action:manipulation}
#carplay #fullscreen .icon {pointer-events:none}
#carplay #home-button {grid-area:home}
#carplay .dock-home,#carplay .dock-fullscreen,#carplay #dock-tools {width:var(--dock-tap);height:var(--dock-tap);min-width:var(--dock-tap);min-height:var(--dock-tap);margin:0}
html[data-interface=android-auto] #carplay,html[data-interface=android-auto] #carplay.dock-right {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--dock-height);grid-template-areas:'main' 'dock';grid-gap:8px}
html[data-interface=android-auto] #carplay .dock,html[data-interface=android-auto] #carplay.dock-right .dock {grid-template-columns:var(--bar-tap) minmax(0,1fr) var(--bar-tap) var(--bar-tap) var(--bar-tap) 54px;grid-template-rows:minmax(0,1fr);grid-template-areas:'home apps widgets tools fullscreen status';grid-gap:6px;width:100%;height:100%;min-height:0;padding:4px;background:var(--bg)}
html[data-interface=android-auto] #carplay #android-widgets {grid-area:widgets;min-width:var(--bar-tap);min-height:var(--bar-tap);width:var(--bar-tap);height:var(--bar-tap)}
html[data-interface=android-auto] #carplay .dock-apps {flex-direction:row;justify-content:flex-start}
html[data-interface=android-auto] #carplay .dock-apps .dock-app+.dock-app {margin-top:0;margin-left:8px}
html[data-interface=android-auto] #carplay .dock-status {margin:0;min-width:0;width:54px}
/* Launcher slots always remain inside a single page. */
#carplay #apps-view {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--tap);grid-gap:8px;padding:12px;overflow:hidden}
#carplay #app-grid {grid-row:1;grid-column:1;min-width:0;min-height:0;max-width:none;width:100%;height:100%;margin:0;padding:0;grid-gap:var(--ui-gap)}
#carplay #app-grid .app-tile {gap:0!important;grid-gap:0!important;min-width:0;min-height:0;max-width:100%;height:100%;padding:4px}
#carplay #app-grid .app-icon {margin:0 0 8px}
#carplay #app-grid .app-tile>span:last-child {margin:0;word-wrap:break-word;line-height:1.3}
#carplay .launcher-pages {grid-row:2;grid-column:1;position:relative;top:auto;left:auto;right:auto;bottom:auto;transform:none;width:100%;height:var(--tap);margin:0;display:grid!important;grid-template-columns:var(--tap) 64px var(--tap);grid-template-areas:'previous label next';grid-gap:12px;justify-content:center;align-items:center;padding:0}
#carplay #apps-previous {grid-area:previous}
#carplay #launcher-page-status {grid-area:label}
#carplay #apps-next {grid-area:next}
/* Flex spacing is expressed as margins, including on current browsers. */
#carplay .view-heading,#carplay .screen-toolbar,#carplay .section-title,#carplay .setting-row,#carplay .track-row,#carplay .spotify-result,#carplay .destination-button,#carplay .map-search form,#carplay .map-caption,#carplay .dashboard-track,#carplay .pill,#carplay .music-now-playing,#carplay .mode-option,#carplay .display-heading,#carplay .display-preview,#carplay .display-toggles,#carplay .service-search,#carplay .route-input-row,#carplay .service-footer,#carplay .service-tabs,#carplay .catalog-pagination,#carplay .playlist-controls,#carplay .extra-pager,#carplay .np-queue-heading,#carplay .np-queue-track,#carplay .np-queue-pages,#carplay .caption-sizes,#carplay .lyric-font-controls,#carplay .lyric-footer,#carplay .karaoke-heading,#carplay .karaoke-file-row,.quick-control-grid button {gap:0!important;grid-gap:0!important}
#carplay .view-heading>*,#carplay .screen-toolbar>*,#carplay .section-title>* {margin-right:8px}
#carplay .view-heading>:last-child,#carplay .screen-toolbar>:last-child,#carplay .section-title>:last-child {margin-right:0}
#carplay .track-row>img,#carplay .spotify-result-icon,#carplay .destination-button>.circle-icon,#carplay .dashboard-track>img,#carplay .mode-option>.icon,#carplay .display-preview>.app-icon {margin-right:12px}
#carplay .track-row>.icon,#carplay .track-row>button,#carplay .np-queue-track>span+span {margin-left:10px}
#carplay .pill>.icon,.quick-control-grid button>.icon,#carplay .music-now-playing>.icon:first-child {margin-right:8px}
#carplay .setting-row>span,#carplay .display-toggles label>span {margin-right:12px}
#carplay .service-search>button,#carplay .route-input-row>button,#carplay .service-footer>*,#carplay .service-tabs>button+button,#carplay .caption-sizes>button+button,#carplay .lyric-font-controls>button+button {margin-left:8px}
#carplay .np-queue-heading>*,#carplay .np-queue-pages>*,#carplay .lyric-footer>* {margin-right:6px}
#carplay .display-presets {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px}
#carplay .display-toggles label {margin-right:18px;margin-bottom:8px}
#carplay #widget-pages {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px}
#carplay #widget-pages>button {max-width:none}
#carplay #home-pager {display:grid;grid-template-columns:44px repeat(3,minmax(0,1fr)) 44px;grid-gap:4px}
/* YouTube Music keeps browsing and the retained video in separate regions. */
#carplay #music-view {position:absolute;left:0;top:0;bottom:0;right:0;width:auto;height:auto;min-width:0;min-height:0;max-width:none;margin:0;overflow-y:auto;overflow-x:hidden}
#carplay #music-view .view-heading {display:grid;grid-template-columns:minmax(0,1fr) auto var(--tap);grid-gap:8px!important;align-items:center;margin-bottom:12px}
#carplay #music-view .view-heading>* {margin:0;min-width:0}
#carplay #music-view .view-heading h1 {font-size:var(--font-heading);line-height:1.25;white-space:normal;word-wrap:break-word}
#carplay #music-view .account-button {font-size:var(--font-small);padding:6px 10px}
#carplay #music-view .account-button .icon {display:none}
#carplay #music-view .tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;padding:4px;margin-bottom:12px}
#carplay #music-view .tabs button {min-width:0;white-space:normal;word-wrap:break-word;padding:8px 4px;font-size:var(--font-small)}
#carplay #music-view .collection-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;width:100%;margin:0 0 12px;overflow:visible}
#carplay #music-view .collection-filters>button {display:block;min-width:0;min-height:64px;width:100%;margin:0;padding:12px;text-align:left}
#carplay #music-view .collection-filters strong,#carplay #music-view .collection-filters small {display:block;white-space:normal;word-wrap:break-word;margin:0}
#carplay #music-view .collection-filters small {margin-top:6px;font-size:var(--font-small)}
#carplay #music-cards,#carplay #drive-playlists {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;max-width:100%;width:100%;overflow:visible}
#carplay #music-cards .music-card,#carplay #drive-playlists>button {width:100%;min-width:0;max-width:none;margin:0}
#carplay #music-view .official-music-bar {display:block;margin:12px 0;line-height:1.4}
#carplay #music-view .official-music-bar span {display:block;font-size:var(--font-small);margin-top:4px}
#carplay #music-view .catalog-search {min-width:0;width:100%;margin:12px 0}
#carplay #music-view .catalog-search input {width:100%;min-width:0}
#carplay #music-view .track-row {display:grid;grid-template-columns:var(--tap) minmax(0,1fr) 32px;grid-gap:10px!important;padding:10px 4px}
#carplay #music-view .track-row>img,#carplay #music-view .track-row>.icon {margin:0}
html[data-music-narrow=true] #carplay #music-view .tabs {grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-music-narrow=true] #carplay #music-view .view-heading {grid-template-columns:minmax(0,1fr) var(--tap)}
html[data-music-narrow=true] #carplay #music-view .account-button {grid-row:2;grid-column:1/3;justify-self:start}
html[data-music-narrow=true] #carplay #music-view #music-search-button {grid-column:2;grid-row:1}
html[data-music-narrow=true] #carplay #music-view .section-title {flex-wrap:wrap}
/* No anonymous flex gaps in the playback header or transport. */
body[data-view=nowplaying] #carplay #player-card #mini-player-bar {display:grid;grid-template-columns:minmax(0,1fr) auto auto auto 44px;grid-gap:6px;align-items:center;min-width:0}
body[data-view=nowplaying] #carplay #player-card #mini-player-bar>button {margin:0;min-width:0}
body[data-view=nowplaying] #carplay #mini-open-player {width:100%;max-width:100%;text-align:left}
body[data-view=nowplaying] #carplay #player-card .track-meta {grid-gap:0!important;gap:0!important}
body[data-view=nowplaying] #carplay #player-card #save-track {margin-left:10px;flex:none}
body[data-view=nowplaying] #carplay #player-card .transport {grid-gap:0!important;gap:0!important;justify-content:space-between}
body[data-view=nowplaying] #carplay .np-actions {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px}
body[data-view=nowplaying] #carplay .np-actions>button {width:100%;margin:0}
body[data-view=music].music-player-visible #carplay #player-card{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 200px minmax(44px,1fr) var(--tap);grid-gap:6px;padding:8px;overflow-x:hidden;overflow-y:auto}
body[data-view=music].music-player-visible #carplay #mini-player-bar{grid-column:1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-gap:4px}
body[data-view=music].music-player-visible #carplay #video-wrap{grid-column:1;grid-row:2;margin:0;width:100%;height:200px;min-height:200px;max-height:200px}
body[data-view=music].music-player-visible #carplay #player-card .track-meta {grid-column:1;grid-row:3;min-height:0;padding:0;overflow:hidden}
body[data-view=music].music-player-visible #carplay #player-card .transport{grid-column:1;grid-row:4;margin:0;gap:0!important;grid-gap:0!important}
html[data-music-tiny=true] body[data-view=music].music-player-visible #carplay #player-card{grid-template-rows:44px 200px;grid-gap:4px}
html[data-music-tiny=true] body[data-view=music].music-player-visible #carplay #player-card .track-meta,html[data-music-tiny=true] body[data-view=music].music-player-visible #carplay #player-card .transport {display:none!important}
@media(max-width:599px),(orientation:portrait) {
 html[data-interface=android-auto] #carplay .dock,html[data-interface=android-auto] #carplay.dock-right .dock {grid-template-columns:44px minmax(0,1fr) 44px 44px 48px;grid-template-areas:'home apps tools fullscreen status';grid-gap:4px}
 #carplay #home-pager {grid-template-columns:repeat(3,minmax(0,1fr))}
 body[data-view=nowplaying] #carplay #player-card #mini-player-bar {grid-template-columns:minmax(0,1fr) auto auto 44px}
 body[data-view=nowplaying] #carplay #player-card:not([data-video-mode=video]):not([data-video-mode=karaoke]) {display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 200px minmax(72px,auto) 44px 64px 44px;grid-template-areas:'header' 'media' 'meta' 'progress' 'transport' 'actions';grid-gap:12px;align-content:start}
 body[data-view=nowplaying] #carplay #np-queue:not([hidden]) {grid-column:1;grid-row:3/7;min-height:280px}
 body[data-view=music].music-player-visible #carplay #player-card{grid-template-columns:200px minmax(0,1fr);grid-template-rows:40px 200px;grid-gap:0 6px;padding:6px}
 body[data-view=music].music-player-visible #carplay #mini-player-bar{grid-column:1/3;grid-row:1}
 body[data-view=music].music-player-visible #carplay #video-wrap{grid-column:1;grid-row:2;width:200px}
 body[data-view=music].music-player-visible #carplay #player-card .transport{grid-column:2;grid-row:2;display:flex!important;flex-direction:column;justify-content:center;height:200px}
 body[data-view=music].music-player-visible #carplay #player-card .transport>button+button{margin-top:8px}
}
#carplay button:focus,#carplay a:focus,#carplay input:focus,#carplay select:focus {outline:2px solid #73b9ff;outline-offset:1px}
#carplay [hidden],#carplay #player-card[hidden],#carplay #karaoke-panel[hidden],#carplay #widget-pages[hidden],#carplay #widget-stacks .widget-stack[hidden] {display:none!important}

/* Widget cards: explicit rows and vertical content, shared by Chrome 73 and phones. */
#carplay #widgets-view {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:'heading' 'cards' 'pages';grid-gap:8px;padding:0 8px}
#carplay #widgets-view .widget-toolbar {grid-area:heading;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px!important;min-height:calc(var(--tap) + 16px);margin:0;padding:8px 0}
#carplay #widgets-view .widget-toolbar>* {min-width:0;margin:0}
#carplay #widget-stacks {grid-area:cards;grid-template-rows:minmax(0,1fr);align-content:stretch;align-items:center;justify-items:center;justify-content:stretch;height:100%;padding:0;overflow:hidden}
#carplay #widget-stacks .widget-stack {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 24px;grid-gap:0;height:100%;max-height:360px;min-width:0;max-width:380px;margin:0;padding:0;overflow:hidden}
#carplay #widget-stacks .widget-content {grid-row:1;grid-column:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-width:0;min-height:0;width:100%;height:100%;padding:16px 16px 52px;gap:0;grid-gap:0}
#carplay #widget-stacks .widget-content>* {flex-shrink:0;min-width:0;max-width:100%}
#carplay #widget-stacks .widget-weekday,#carplay #widget-stacks .widget-day,#carplay #widget-stacks .weather-condition,#carplay #widget-stacks .weather-range,#carplay #widget-stacks .widget-subtitle,#carplay #widget-stacks .widget-place-detail {display:block}
#carplay #widget-stacks .widget-location {gap:0;grid-gap:0;line-height:1.3}
#carplay #widget-stacks .widget-location>.icon {margin-right:6px}
#carplay #widget-stacks .weather-top {height:76px;min-height:0;margin:6px 0}
#carplay #widget-stacks .weather-illustration {width:64px;height:64px;transform:none}
#carplay #widget-stacks .weather-condition {font-size:var(--font-body);line-height:1.3;margin:0 0 4px}
#carplay #widget-stacks .weather-divider {margin:10px 0 8px}
#carplay #widget-stacks .weather-details {gap:0;grid-gap:0}
#carplay #widget-stacks .weather-details>span+span {margin-left:8px}
#carplay #widget-stacks .widget-week {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:2px;margin:8px 0 12px}
#carplay #widget-stacks .widget-week>span {gap:0;grid-gap:0;min-width:0}
#carplay #widget-stacks .widget-week b {margin-top:4px;width:26px;height:26px;max-width:100%}
#carplay #widget-stacks .widget-event {min-height:0;margin-top:auto}
#carplay #widget-stacks .widget-clock {align-items:center;text-align:center}
#carplay #widget-stacks .clock-city,#carplay #widget-stacks .clock-date {display:block;line-height:1.3;font-size:var(--font-small);margin:0;text-align:center}
#carplay #widget-stacks .analog-clock {width:var(--widget-clock-size,120px);height:var(--widget-clock-size,120px);min-width:var(--widget-clock-size,120px);min-height:var(--widget-clock-size,120px);margin:6px auto}
#carplay #widget-stacks .clock-number {font-size:var(--widget-clock-label,14px)}
#carplay #widget-stacks .widget-digital {width:100%;font-size:var(--font-heading);line-height:1.2;text-align:center;margin:0 0 4px}
#carplay #widget-stacks .widget-caption {grid-row:2;position:static;width:100%;height:24px;margin:0;text-align:center}
#carplay #widget-stacks .widget-stack-nav {left:16px;right:64px;bottom:48px;justify-content:flex-start;gap:0;grid-gap:0;height:4px}
#carplay #widget-stacks .widget-stack-nav i {display:block;flex:none;width:4px;height:4px;margin:0}
#carplay #widget-stacks .widget-stack-nav i+i {margin-left:4px}
#carplay #widget-pages {grid-area:pages;grid-template-columns:repeat(var(--widget-page-count,3),minmax(0,1fr));justify-self:center;width:100%;max-width:480px;height:var(--tap);min-height:var(--tap);padding:0;margin:0}
html[data-widget-dense=true] #carplay #widget-stacks .weather-details,html[data-widget-dense=true] #carplay #widget-stacks .weather-divider,html[data-widget-dense=true] #carplay #widget-stacks .widget-week {display:none}
html[data-widget-dense=true] #carplay #widget-stacks .widget-content {padding:12px 14px 52px}
html[data-widget-dense=true] #carplay #widget-stacks .home-orb {width:44px;height:44px;margin:6px 0}
html[data-widget-dense=true] #carplay #widget-stacks .weather-top {height:62px;margin:4px 0}
html[data-widget-tiny=true] #carplay #widget-stacks .clock-date,html[data-widget-tiny=true] #carplay #widget-stacks .widget-subtitle {display:none}
html[data-widget-tiny=true] #carplay #widget-stacks .widget-day,html[data-widget-tiny=true] #carplay #widget-stacks .weather-value {font-size:42px;margin:3px 0}
/* Center the CarPlay clock and connection symbol on the same dock axis. */
html[data-interface=carplay] #carplay .dock,html[data-interface=carplay] #carplay.dock-right .dock {grid-template-rows:48px minmax(0,1fr) var(--dock-tap) var(--dock-tap) var(--dock-tap)}
html[data-interface=carplay] #carplay .dock-status {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:24px 16px;grid-gap:4px;gap:4px;justify-items:center;align-items:center;justify-self:stretch;align-self:center;width:100%;height:44px;min-height:44px;margin:0;padding:0}
html[data-interface=carplay] #carplay .dock-status time {display:block;width:100%;height:24px;line-height:24px;font-size:20px;letter-spacing:0;text-align:center;white-space:nowrap;margin:0;padding:0;font-variant-numeric:tabular-nums}
html[data-interface=carplay] #carplay .dock-status #connection {display:block;width:16px;height:16px;line-height:0;margin:0;padding:0;justify-self:center;align-self:center}
html[data-interface=carplay] #carplay .dock-status #connection .icon {display:block;width:16px;height:16px;margin:0}
@media(max-width:599px),(orientation:portrait) {#carplay #home-pager {grid-template-columns:repeat(3,minmax(0,1fr))}}
#carplay .weather-location-form {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-gap:12px;align-items:end;padding:0 var(--ui-gap)}
#carplay .weather-location-form label {display:block;min-width:0;font-size:var(--font-small)}
#carplay .weather-location-form label>span {display:block;margin-bottom:6px}
#carplay .weather-location-form input {display:block;min-width:0;width:100%}
#carplay .weather-location-status {padding:10px var(--ui-gap);font-size:var(--font-small);color:var(--muted)}
#carplay .weather-location-results {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;margin:0 var(--ui-gap) 12px}
#carplay .weather-location-results button {min-height:64px;min-width:0;padding:12px;text-align:left;background:var(--panel2);border-radius:14px}
#carplay .weather-location-results strong,#carplay .weather-location-results span {display:block;overflow:hidden;text-overflow:ellipsis}
#carplay .weather-location-results span {margin-top:4px;font-size:var(--font-small);color:var(--muted)}
@media(max-width:800px) {#carplay .weather-location-form {grid-template-columns:repeat(2,minmax(0,1fr))}#carplay .weather-location-form>button {grid-column:1/3}}
@media(max-width:599px),(orientation:portrait) {#carplay .weather-location-form,#carplay .weather-location-results {grid-template-columns:minmax(0,1fr)}#carplay .weather-location-form>button {grid-column:1}}
#carplay .music-format-control {display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;align-items:center;margin:0 0 16px;font-size:var(--font-small)}
#carplay .music-format-control select {width:100%;min-width:0}
#carplay #drive-playlists {display:block}
#carplay .playlist-section {margin:0 0 24px}
#carplay .playlist-section h3 {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0 0 10px;line-height:1.4}
#carplay .playlist-section h3 small {font-size:var(--font-small);color:var(--muted);margin-left:8px}
#carplay .playlist-section-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px}
#carplay .playlist-section-grid .drive-playlist {width:100%;min-width:0;min-height:96px;margin:0;padding:14px;text-align:left}
#carplay .playlist-section-grid .drive-playlist strong,#carplay .playlist-section-grid .drive-playlist small {display:block;white-space:normal;word-wrap:break-word}
#carplay .playlist-section-grid .drive-playlist small {margin-top:8px;font-size:var(--font-small)}
/* Drive 6.4: a compact floating player leaves the workspace at full width. */
#carplay #mini-drag,#carplay #music-player-open {display:none}
body.has-mini-player #carplay #workspace>.view {right:0}
body.has-mini-player #carplay #player-card {position:absolute!important;top:var(--mini-y,0px)!important;left:var(--mini-x,0px)!important;right:auto!important;bottom:auto!important;width:var(--mini-width,280px)!important;height:var(--mini-height,312px)!important;min-height:0;max-height:none;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 200px 44px;grid-gap:4px;padding:6px!important;overflow:hidden;z-index:80;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 28px rgba(0,0,0,.35);transition:none!important;transform:none!important}
body.has-mini-player #carplay #player-card[data-mini-compact=true] {grid-template-rows:44px 200px}
body.has-mini-player #carplay #player-card #mini-player-bar {display:grid;grid-column:1;grid-row:1;grid-template-columns:44px minmax(0,1fr) 44px;grid-gap:4px;height:44px;min-height:44px;margin:0;padding:0;border:0}
body.has-mini-player #carplay #mini-drag {display:block;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;border-radius:12px;background:var(--panel2);color:var(--muted);font-size:28px;line-height:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}
body.has-mini-player #carplay #mini-drag:active {cursor:grabbing}
body.has-mini-player #carplay #mini-open-player {display:block;min-width:0;width:100%;min-height:44px;height:44px;padding:4px;font-size:14px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.has-mini-player #carplay #close-mini-player {width:44px;min-width:44px;min-height:44px;height:44px;margin:0;padding:0;font-size:26px;border-radius:50%}
body.has-mini-player #carplay #player-card #video-wrap {grid-column:1;grid-row:2;align-self:start;width:100%;height:200px;min-width:200px;min-height:200px;max-height:200px;margin:0;border-radius:12px;background:#000}
body.has-mini-player #carplay #player-card .transport {display:grid!important;grid-column:1;grid-row:3;grid-template-columns:44px 52px 44px;grid-template-rows:44px;justify-content:center;grid-gap:18px!important;height:44px;min-height:44px;margin:0;padding:0}
body.has-mini-player #carplay #player-card .transport>button {width:44px;min-width:44px;height:44px;min-height:44px;margin:0!important;padding:0;border-radius:50%}
body.has-mini-player #carplay #player-card .transport>.play-button {width:52px;background:var(--text);color:var(--panel)}
body.has-mini-player #carplay #player-card .transport .icon {width:24px;height:24px}
body.has-mini-player #carplay #player-card[data-mini-compact=true] .transport,body.has-mini-player #carplay #player-card .track-meta,body.has-mini-player #carplay #player-card .progress,body.has-mini-player #carplay #player-card .np-actions,body.has-mini-player #carplay #player-status,body.has-mini-player #carplay #player-queue-button,body.has-mini-player #carplay .np-heading,body.has-mini-player #carplay #shuffle,body.has-mini-player #carplay #repeat {display:none!important}
body.has-mini-player #carplay #player-card.is-dragging #video-wrap:after {content:'';position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:transparent}
body.has-mini-player #carplay #map-panel {top:0;right:0;bottom:0;left:0;width:100%;height:100%}
body.has-mini-player #carplay #home-pager {right:8px;bottom:0}
/* Bounded Music card: metadata, progress and transport have fixed rows. */
body[data-view=music].music-player-visible #carplay #player-card {top:0!important;bottom:auto!important;left:auto!important;right:0!important;width:var(--player-rail)!important;height:414px;max-height:100%;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 200px 48px 36px 44px;grid-gap:6px;padding:8px!important;align-content:start;overflow:hidden;box-shadow:none}
body[data-view=music].music-player-visible #carplay #mini-player-bar {grid-column:1;grid-row:1;grid-template-columns:minmax(0,1fr) 44px;min-height:44px;height:44px}
body[data-view=music].music-player-visible #carplay #mini-open-player {display:none}
body[data-view=music].music-player-visible #carplay #music-player-open {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;min-width:0;min-height:44px;height:44px;text-align:left;padding:0 4px;font-size:14px;overflow:hidden}
#carplay #music-player-open strong {display:block;max-width:100%;font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#carplay #music-player-open span {display:block;font-size:12px;line-height:18px;color:var(--muted);font-variant-numeric:tabular-nums}
body[data-view=music].music-player-visible #carplay #video-wrap {grid-row:2;grid-column:1;width:100%;height:200px;min-width:200px;min-height:200px;margin:0}
body[data-view=music].music-player-visible #carplay #player-card .track-meta {display:flex;grid-row:3;grid-column:1;height:48px;min-height:0;align-items:center;overflow:hidden;padding:0}
body[data-view=music] #carplay .track-meta>div {min-width:0;flex:1}
body[data-view=music] #carplay #track-title {font-size:var(--font-body);line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
body[data-view=music] #carplay #track-artist {font-size:var(--font-small);line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
body[data-view=music] #carplay .track-meta .np-kicker {display:none}
body[data-view=music] #carplay #save-track {width:44px;height:44px;min-width:44px;min-height:44px;flex:none;margin-left:8px}
body[data-view=music].music-player-visible #carplay #player-card .progress {display:block!important;grid-column:1;grid-row:4;height:36px;min-height:0;margin:0;padding:0}
body[data-view=music] #carplay #seek {display:block;width:100%;height:18px;min-height:18px;padding:0;margin:0}
body[data-view=music] #carplay .progress>div {font-size:12px;line-height:18px;margin:0}
body[data-view=music] #carplay #np-seek-hint {display:none}
body[data-view=music].music-player-visible #carplay #player-card .transport {display:grid;grid-column:1;grid-row:5;grid-template-columns:44px 52px 44px;grid-template-rows:44px;grid-gap:16px!important;justify-content:center;height:44px;min-height:44px;margin:0}
body[data-view=music].music-player-visible #carplay #player-card .transport>button {width:44px;min-width:44px;height:44px;min-height:44px;margin:0!important}
body[data-view=music].music-player-visible #carplay #player-card .transport>.play-button {width:52px;background:var(--text);color:var(--panel)}
html[data-music-tiny=true] body[data-view=music].music-player-visible #carplay #player-card {height:266px;grid-template-rows:44px 200px;grid-gap:4px;padding:8px!important}
html[data-music-tiny=true] body[data-view=music].music-player-visible #carplay #player-card .progress {display:none!important}
@media(max-width:599px),(orientation:portrait) {
 body[data-view=music].music-player-visible #carplay #music-view {bottom:270px;right:0}
 body[data-view=music].music-player-visible #carplay #player-card {top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:266px;grid-template-rows:44px 200px;grid-template-columns:minmax(0,1fr);grid-gap:4px;padding:8px!important}
 body[data-view=music].music-player-visible #carplay #player-card .track-meta,body[data-view=music].music-player-visible #carplay #player-card .progress,body[data-view=music].music-player-visible #carplay #player-card .transport {display:none!important}
}
/* Clear card hierarchy in both themes, without unsupported blur effects. */
html[data-interface=carplay] #carplay #widget-stacks .widget-content {border-radius:26px;border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px 1px rgba(255,255,255,.16),0 4px 12px rgba(0,0,0,.12)}
html[data-interface=carplay] #carplay #widget-stacks .widget-calendar,html[data-interface=carplay] #carplay #widget-stacks .widget-date {background:linear-gradient(145deg,#fcfdff,#e5eaf4);color:#172234}
html[data-interface=carplay] #carplay #widget-stacks .widget-weekday {color:#cb3843;letter-spacing:.7px}
html[data-interface=carplay] #carplay #widget-stacks .widget-weather {background:linear-gradient(150deg,#285b92,#112849);color:#fff}
html[data-interface=carplay] #carplay #widget-stacks .widget-clock {background:linear-gradient(150deg,#20283b,#101623);color:#fff}
html[data-interface=carplay] #carplay #widget-stacks .widget-places {background:linear-gradient(145deg,#e5efe8,#c5d9cc);color:#172e24}
#carplay #widget-stacks .widget-weekday,#carplay #widget-stacks .widget-location,#carplay #widget-stacks .clock-city {font-size:var(--font-small);font-weight:600}
#carplay #widget-stacks .widget-location {display:flex;align-items:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#carplay #widget-stacks .widget-location>.icon {flex:none}
#carplay #widget-stacks .widget-event {width:100%;border-top:1px solid rgba(100,117,140,.18);padding-top:10px}
#carplay #widget-stacks .widget-event strong {display:block;font-size:var(--font-body);line-height:1.25;max-height:2.5em;overflow:hidden}
#carplay #widget-stacks .widget-subtitle,#carplay #widget-stacks .widget-place-detail {line-height:1.35;opacity:.75;max-height:2.7em;overflow:hidden}
#carplay #widget-stacks .widget-content h2 {font-size:var(--font-heading);line-height:1.25;margin:4px 0 8px}
#carplay #widget-stacks .stack-next {right:10px;bottom:30px;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:rgba(128,143,162,.18);border:1px solid rgba(128,143,162,.22)}
#carplay #widget-stacks .stack-next .icon {width:20px;height:20px}
#carplay #widget-stacks .widget-caption {font-size:12px;line-height:24px;font-weight:600;opacity:.82}
html[data-interface=android-auto] #carplay #widget-stacks .widget-content {border-radius:30px;background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:none}
html[data-interface=android-auto] #carplay #widget-stacks .widget-weather {background:#223d45;color:#ebf7fa}
html[data-interface=android-auto] #carplay #widget-stacks .widget-calendar {background:#d9eddd;color:#142d23}
html[data-interface=android-auto] #carplay #widget-stacks .widget-places {background:#334a3e;color:#e7f4eb}
html[data-interface=android-auto] #carplay #widget-stacks .widget-day,html[data-interface=android-auto] #carplay #widget-stacks .weather-value {font-weight:500;letter-spacing:-2px}
html[data-interface=android-auto] #carplay #widget-stacks .home-orb {border-radius:50%;background:#c8e9d4;color:#143b27;box-shadow:none}
html[data-interface=android-auto] #carplay #widget-stacks .widget-week .is-today b {background:#21553d;color:white}
html[data-interface=android-auto] #carplay #widget-stacks .stack-next {background:var(--accent);color:var(--aa-on-accent);border:0}
html[data-interface=android-auto] body.has-mini-player #carplay #player-card .transport>.play-button,html[data-interface=android-auto] body[data-view=music] #carplay #player-card .transport>.play-button {background:var(--accent);color:var(--aa-on-accent)}
html[data-widget-tiny=true] #carplay #widget-stacks .widget-event {padding-top:4px}
html[data-high-contrast=true] #carplay #widget-stacks .widget-content {border:2px solid currentColor}

html[data-music-compact=true] body[data-view=music].music-player-visible #carplay #player-card {height:360px;grid-template-rows:44px 200px 36px 44px}
html[data-music-compact=true] body[data-view=music].music-player-visible #carplay #player-card .track-meta {display:none}
html[data-music-compact=true] body[data-view=music].music-player-visible #carplay #player-card .progress {grid-row:3}
html[data-music-compact=true] body[data-view=music].music-player-visible #carplay #player-card .transport {grid-row:4}
/* Drive 6.5 widget pages: bounded cards and reachable controls in both themes. */
#carplay #widget-pages {grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);grid-gap:8px;width:100%;max-width:480px;align-items:center}
#carplay #widget-pages>button {font-size:var(--font-small);min-width:0;min-height:44px;padding:6px 8px}
#carplay #widget-page-label {display:block;text-align:center;font-size:14px;font-variant-numeric:tabular-nums;color:inherit}
#carplay #widget-stacks .widget-interactive {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:24px minmax(0,1fr) 44px;grid-gap:8px;padding:14px 14px 52px;align-items:stretch;overflow:hidden;background:linear-gradient(145deg,#27384f,#152337);color:#fff;text-align:left}
#carplay #widget-stacks .widget-label {display:flex;align-items:center;min-width:0;max-width:100%;height:24px;font-size:var(--font-small);line-height:24px;font-weight:600;overflow:hidden;white-space:nowrap}
#carplay #widget-stacks .widget-label>.icon {width:20px;height:20px;flex:none;margin-right:8px}
#carplay #widget-stacks .widget-label>span {overflow:hidden;text-overflow:ellipsis}
#carplay #widget-stacks .widget-body {min-height:0;min-width:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
#carplay #widget-stacks .widget-main-title {display:block;font-size:var(--font-heading);line-height:1.2;max-height:2.4em;overflow:hidden;font-weight:600;word-wrap:break-word}
#carplay #widget-stacks .widget-detail {display:block;font-size:var(--font-small);line-height:1.35;opacity:.76;margin-top:6px;max-height:2.7em;overflow:hidden}
#carplay #widget-stacks .widget-actions {display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:8px;height:44px;min-height:44px;width:100%}
#carplay #widget-stacks .widget-actions>button {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;height:44px;border-radius:22px;padding:4px;background:rgba(255,255,255,.13);color:inherit;font-size:14px;font-weight:600;overflow:hidden}
#carplay #widget-stacks .widget-actions>button:disabled {opacity:.38}
#carplay #widget-stacks .widget-actions .icon {width:24px;height:24px;flex:none}
#carplay #widget-stacks .widget-open-track,#carplay #widget-stacks .widget-list-item {display:block;text-align:left;min-width:0;width:100%;padding:0;background:transparent;color:inherit}
#carplay #widget-stacks .widget-list-item {min-height:44px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.12)}
#carplay #widget-stacks .widget-list-item .widget-main-title {font-size:var(--font-body);white-space:nowrap;text-overflow:ellipsis}
#carplay #widget-stacks .widget-timer-value {font-size:52px;line-height:1.1;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-1px}
#carplay #widget-stacks .widget-stack-nav {align-items:center;height:16px;bottom:43px;color:inherit}
#carplay #widget-stacks .widget-stack-nav>span {font-size:12px;line-height:16px;margin-right:8px;opacity:.7}
#carplay #widget-stacks .widget-caption {font-size:14px}
html[data-interface=carplay] #carplay #widget-stacks .widget-music,html[data-interface=carplay] #carplay #widget-stacks .widget-karaoke {background:linear-gradient(145deg,#642c53,#2a2043)}
html[data-interface=carplay] #carplay #widget-stacks .widget-quran {background:linear-gradient(145deg,#225b56,#10332f)}
html[data-interface=carplay] #carplay #widget-stacks .widget-timer {background:linear-gradient(145deg,#513d26,#29251f)}
html[data-interface=carplay] #carplay #widget-stacks .widget-favorites {background:linear-gradient(145deg,#65404d,#352839)}
html[data-interface=carplay] body[data-theme=light] #carplay #widget-stacks .widget-interactive {color:#142237;background:linear-gradient(145deg,#ffffff,#dde5f2)}
html[data-interface=carplay] body[data-theme=light] #carplay #widget-stacks .widget-actions>button {background:rgba(20,50,85,.1)}
html[data-interface=android-auto] #carplay #widget-stacks .widget-interactive {background:var(--panel);color:var(--text);border-radius:30px;box-shadow:none}
html[data-interface=android-auto] #carplay #widget-stacks .widget-actions>button {background:var(--accent);color:var(--aa-on-accent);border-radius:24px}
html[data-interface=android-auto] #carplay #widget-stacks .widget-quran {background:#183d36;color:#d9f4e6}
html[data-interface=android-auto] #carplay #widget-stacks .widget-karaoke {background:#333249;color:#ece9ff}
html[data-widget-tiny=true] #carplay #widget-stacks .widget-interactive {padding:10px 12px 52px;grid-gap:4px}
html[data-widget-tiny=true] #carplay #widget-stacks .widget-main-title {font-size:var(--font-body);line-height:1.2;max-height:1.2em;white-space:nowrap;text-overflow:ellipsis}
html[data-widget-tiny=true] #carplay #widget-stacks .widget-detail {display:none}
html[data-widget-tiny=true] #carplay #widget-stacks .widget-list-item+.widget-list-item {display:none}
html[data-widget-tiny=true] #carplay #widget-stacks .widget-timer-value {font-size:32px}
.widget-editor-row {display:grid;grid-template-columns:24px minmax(0,1fr) 44px;grid-gap:8px;align-items:center;margin-bottom:8px}
.widget-editor-row>label {margin:0;padding:0;text-align:center;font-size:14px}
.widget-editor-row>select {min-width:0;width:100%}
.widget-editor-row>button {width:44px;min-width:44px;height:44px;border-radius:12px;background:var(--panel2);color:var(--text);font-size:24px}
.widget-editor-actions {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8px;margin-top:12px}
