/* Nalarika Drive 4.7. Native CSS for headunit layouts and dedicated player screens. */
:root {
  --shell-pad: 8px;
  --dock-width: 74px;
  --player-rail: 300px;
  --glass: rgba(38, 46, 66, .78);
  --glass-line: rgba(255, 255, 255, .2);
  --wallpaper: radial-gradient(ellipse at 8% 0%, #197c95 0, transparent 46%), radial-gradient(ellipse at 94% 105%, #313eaa 0, transparent 55%), linear-gradient(125deg, #031826, #0d1638 52%, #122c4a);
}
body {background:#060b14; -webkit-tap-highlight-color:transparent; overscroll-behavior:none}
body[data-wallpaper=sunset] {--wallpaper:radial-gradient(ellipse at 4% 0%, #d68470, transparent 55%),radial-gradient(ellipse at 90% 100%,#3f328d,transparent 60%),linear-gradient(135deg,#645478,#20274c)}
body[data-wallpaper=graphite] {--wallpaper:radial-gradient(ellipse at 12% 2%,#5b687c,transparent 60%),linear-gradient(130deg,#202936,#0b101b)}
button,a,input,select {touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {outline:3px solid #91d2ff;outline-offset:3px}
.carplay,.carplay.dock-right {height:100vh;height:100vh;min-height:360px;padding:var(--shell-pad);overflow:hidden;background:var(--wallpaper)}
.dock,.carplay.dock-right .dock {position:relative;top:auto;flex:0 0 var(--dock-width);width:var(--dock-width);height:auto;margin-right:8px;padding:12px 8px 8px;border-radius:24px;background:linear-gradient(160deg,rgba(178,215,255,0.145),rgba(23,35,53,0.502));border:1px solid var(--glass-line);box-shadow:inset 0 1px 1px rgba(255,255,255,0.271),0 4px 18px rgba(0,0,0,0.133);}
.carplay.dock-right .dock {margin-right:0;margin-left:8px}
.dock-status time {font-size:22px;letter-spacing:-.8px;font-weight:650}
.dock-status {flex:none;grid-gap:2px;gap:2px}
.dock-status .icon {width:18px;height:18px}
.dock-apps {grid-gap:0;gap:0;justify-content:center;min-height:0}
.dock-app+.dock-app {margin-top:16px}
.dock .app-icon {width:48px;height:48px;border-radius:25%;box-shadow:0 3px 7px rgba(0,0,0,0.200),inset 0 1px 1px rgba(255,255,255,0.333)}
.dock-app[aria-current=page]:after {width:3px;height:16px;left:-7px;top:16px}
.dock-fullscreen {width:54px;min-height:44px;height:44px;margin-top:4px;border-radius:17px}
.dock-fullscreen>.icon {height:21px;width:21px}
.dock-fullscreen>span {font-size:9px}
.dock-home {width:54px;height:49px;min-height:44px;border-radius:18px;margin-top:3px;background:rgba(255,255,255,0.051)}
.dock-home:hover {background:rgba(255,255,255,0.125)}
.dock-home>.icon {height:29px;width:29px}
.dock-home>span {font-size:9px;line-height:11px;margin-top:2px}
.main {min-height:0}
.workspace {display:block;min-height:0;border-radius:25px;overflow:hidden;background:transparent}
.view {position:absolute;top:0;right:0;bottom:0;left:0;border-radius:25px;overflow:auto;overscroll-behavior:contain;animation:carplay-enter .16s ease-out}
@keyframes carplay-enter {from{opacity:.8}to{opacity:1}}
.view:not(.apps-view):not(.widgets-view):not(.weather-view):not(.netflix-view) {background:linear-gradient(140deg,rgba(30,37,53,0.961),rgba(20,26,41,0.969))}
.padded-view,.music-view {padding:22px}
.view-heading,.screen-toolbar {grid-gap:12px;gap:12px;flex-wrap:wrap}
h1,.view-heading h1,.screen-toolbar h1 {font-size:27px;font-weight:650;letter-spacing:-.8px}
.view-heading {margin-bottom:17px}
.pill,.primary,.tabs button {min-height:44px;border-radius:24px}
.pill {background:rgba(255,255,255,0.078);border:1px solid rgba(255,255,255,0.133);box-shadow:inset 0 1px 0 rgba(255,255,255,0.071)}
.pill:hover {background:rgba(255,255,255,0.137)}
.primary {box-shadow:inset 0 1px 0 rgba(255,255,255,0.251)}
.tabs {padding:5px;border:1px solid rgba(255,255,255,0.086);border-radius:28px;background:rgba(8,13,25,0.502);grid-gap:3px;gap:3px}
.tabs button {padding:9px 17px}
.tabs button.active {background:rgba(255,255,255,0.145);color:#fff;box-shadow:0 3px 10px rgba(0,0,0,0.133),inset 0 1px 0 rgba(255,255,255,0.133)}
.settings-group,.place-card,.month-panel,.agenda-panel,.offline-now {border:1px solid rgba(255,255,255,0.078);border-radius:22px;background:rgba(255,255,255,0.031);box-shadow:inset 0 1px 0 rgba(255,255,255,0.031)}
.setting-row {min-height:55px}
.track-row {min-height:68px;border-radius:14px}
.track-row.current {background:rgba(255,255,255,0.082)}
.track-row img {border-radius:10px}
.apps-view,.widgets-view,body[data-wallpaper] .apps-view,body[data-wallpaper] .widgets-view {background:transparent;color:#fff;isolation:isolate}
.apps-view:before,.widgets-view:before {width:105%;height:240%;left:-60%;top:-80%;border:1px solid rgba(170,234,255,0.220);box-shadow:inset -35px -20px 90px rgba(80,203,234,0.102),30px 4px 60px rgba(4,16,44,0.251);transform:rotate(-37deg)}
.apps-view:after,.widgets-view:after {content:"";position:absolute;width:120%;height:170%;left:30%;top:22%;border-radius:50%;border:1px solid rgba(131,149,238,0.133);box-shadow:inset 8px 30px 65px rgba(103,127,235,0.071);transform:rotate(-35deg);z-index:-1;pointer-events:none}
#apps-view {display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 24px 70px;min-height:0}
.app-grid {display:flex;flex-wrap:wrap;align-content:center;justify-content:flex-start;grid-gap:0;gap:0;width:100%;max-width:1160px;margin:auto 0}
.app-tile,body.has-mini-player .app-tile {width:25%;flex:0 0 25%;padding:15px 10px;grid-gap:0;gap:0}
.app-tile .app-icon {width:100px;height:100px;border-radius:25%;box-shadow:0 9px 19px rgba(0,0,0,0.200),inset 0 1px 1px rgba(255,255,255,0.400);border:1px solid rgba(255,255,255,0.141)}
.app-tile>span:last-child {font-size:20px;line-height:24px;margin-top:12px;font-weight:500;letter-spacing:-.4px;max-width:100%;text-shadow:0 2px 4px rgba(0,0,0,0.333)}
.app-tile:active .app-icon {transform:scale(.95);filter:brightness(.9)}
.app-tile .app-icon {transition:transform .12s ease,filter .12s ease}
#apps-view .launcher-pages {position:absolute;bottom:14px;left:50%;transform:translateX(-50%);height:42px;min-width:160px;margin:0;background:rgba(23,38,57,0.549);box-shadow:inset 0 1px 0 rgba(255,255,255,0.141),0 4px 18px rgba(0,0,0,0.133);}
.launcher-pages button {min-height:42px}
.launcher-pages [aria-pressed=true] span {box-shadow:0 0 7px rgba(255,255,255,0.267)}
.widget-toolbar {padding:20px 24px 0}
.widget-greeting {font-size:14px;color:rgba(213,231,248,0.651)}
.widget-toolbar h1 {font-size:25px;margin-top:3px}
.widget-toolbar .pill {font-size:14px}
.widget-stacks,body.has-mini-player .widget-stacks {flex-direction:row;align-items:center;justify-content:center;overflow-x:auto;scroll-snap-type:x mandatory;grid-gap:0;gap:0;padding:18px 24px 4px}
.widget-stack,body.has-mini-player .widget-stack {flex:1 0 0;min-width:0;max-width:340px;height:310px;min-height:260px;max-height:380px;padding-bottom:30px;scroll-snap-align:center}
.widget-stack+.widget-stack,body.has-mini-player .widget-stack+.widget-stack {margin-left:20px;margin-top:0}
.widget-content {border-radius:28px;padding:22px 22px 34px;box-shadow:inset 0 1px 1px rgba(255,255,255,0.361),0 10px 24px rgba(0,0,0,0.200);border:1px solid rgba(255,255,255,0.208)}
.widget-weather {background:linear-gradient(145deg,rgba(40,105,168,0.910),rgba(36,71,127,0.929))}
.widget-places {background:linear-gradient(150deg,rgba(69,107,144,0.612),rgba(30,61,87,0.620));}
.widget-calendar {background:linear-gradient(140deg,#ffffff,#e9eef5);color:#111923}
.widget-clock {background:linear-gradient(145deg,rgba(27,36,56,0.910),rgba(16,24,39,0.933))}
.widget-caption {font-size:15px;line-height:22px}
.widget-footer {margin:0 0 18px;font-size:12px;grid-gap:15px;gap:15px}
.widget-footer .text-button {min-height:44px}
.stack-next {width:44px;height:44px;bottom:33px;right:3px}
.widget-stack-nav {bottom:44px}
.weather-value {font-weight:300;letter-spacing:-4px}
.widget-event.has-event {border-left:4px solid #f7a92e;padding-left:12px}
.card,.map-panel {border-radius:25px}
.journey-card,.player-card {background:linear-gradient(140deg,rgba(48,58,80,0.929),rgba(32,41,61,0.918));border:1px solid rgba(255,255,255,0.129);box-shadow:inset 0 1px 0 rgba(255,255,255,0.102)}
.map-search form,.map-tools,.locate-button,.map-caption,.map-help {box-shadow:0 5px 18px rgba(0,0,0,0.133);}
.map-search form {border-radius:25px;border:1px solid rgba(255,255,255,0.400)}
.map-tools {border-radius:25px}
.map-tools button {min-height:48px}
#map-panel {position:absolute;top:0;bottom:0;left:0;height:auto;min-height:200px}
body[data-view=dashboard]:not(.has-persistent-player) #journey-card {height:calc(36% - 6px)}
body[data-view=dashboard]:not(.has-persistent-player) #player-card {top:calc(36% + 6px);min-height:0}
/* The same node, size, position and ancestor remain in place on every internal route. */
body.has-persistent-player #player-card {position:absolute;top:0;right:0;bottom:0;left:auto;top:0!important;left:auto!important;width:var(--player-rail);height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:9px 12px;overflow:auto;z-index:5;animation:none;transform:none}
body.has-persistent-player #player-card .player-back,body.has-persistent-player #player-card .player-heading {display:none}
body.has-persistent-player #mini-player-bar {display:flex;flex:0 0 36px;height:36px;min-height:36px;margin:0 0 5px}
body.has-persistent-player #mini-open-player {font-size:13px;color:#bddcff;min-height:36px;max-width:calc(100% - 42px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.has-persistent-player #close-mini-player {width:40px;height:36px;min-height:36px;border-radius:50%;background:rgba(255,255,255,0.039)}
body.has-persistent-player #video-wrap {position:relative;flex:0 0 200px;width:100%;height:200px;min-height:200px;max-height:200px;margin:0;aspect-ratio:auto;border-radius:12px;overflow:hidden}
body.has-persistent-player #video-wrap>iframe,body.has-persistent-player #youtube-player {position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:200px;min-height:200px;max-height:200px;border:0}
body.has-persistent-player #player-card .track-meta {padding:10px 0 0;margin:0;flex:0 0 auto;min-width:0;width:100%;align-self:auto}
body.has-persistent-player #track-title {font-size:19px;line-height:24px;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.has-persistent-player #track-artist {font-size:13px;line-height:18px;margin-top:2px}
body.has-persistent-player #save-track {display:flex;width:38px;height:40px;flex-shrink:0}
body.has-persistent-player #player-card .progress {display:block;width:100%;flex:0 0 auto;padding:8px 0 0;align-self:auto}
body.has-persistent-player #player-card .progress>div {font-size:12px;line-height:16px;margin-top:2px}
body.has-persistent-player #player-card .transport {display:flex;width:100%;flex:0 0 auto;align-items:center;justify-content:space-between;margin:7px 0 0;align-self:auto;grid-gap:2px;gap:2px}
body.has-persistent-player #player-card .transport .icon-button {width:42px;height:46px;min-height:44px}
body.has-persistent-player #player-card .transport .icon {width:27px;height:27px}
body.has-persistent-player #player-card .play-button {width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,0.929);color:#152139}
body.has-persistent-player #player-card .play-button .icon {width:31px;height:31px}
body.has-persistent-player #player-status {display:block;font-size:11px;line-height:15px;margin:6px 0 0;min-height:15px;flex:0 0 auto}
body.has-persistent-player .view {right:calc(var(--player-rail) + 12px)}
body.has-persistent-player #map-panel {width:calc(100% - var(--player-rail) - 12px)}
body.has-persistent-player #journey-card {position:absolute;left:12px;right:calc(var(--player-rail) + 24px);bottom:42px;top:auto!important;width:auto;height:auto;padding:12px 16px;z-index:2;background:rgba(36,49,73,0.929);}
body.has-persistent-player #journey-card .journey-title,body.has-persistent-player #journey-card .nearby {display:none}
body.has-persistent-player #journey-card .destination-button {margin:0;min-height:48px}
body.has-persistent-player #journey-card .dashboard-agenda {margin-top:8px}
body.has-persistent-player #route-card {left:12px;right:calc(var(--player-rail) + 24px);top:12px;width:auto;max-width:460px;max-height:calc(100% - 24px);overflow:auto}
body.has-persistent-player .music-cards {flex-wrap:nowrap}
body.has-persistent-player .settings-columns,body.has-persistent-player .calendar-layout {grid-template-columns:1fr}
body.has-persistent-player .widget-stack {flex:0 0 240px;min-width:240px}
body.has-persistent-player .widget-stacks {justify-content:flex-start;padding-left:16px;padding-right:16px}
body.has-persistent-player .widget-toolbar h1 {font-size:21px}
body.has-persistent-player .widget-toolbar {padding:16px 16px 0}
body.has-persistent-player .widget-footer>span {display:none}
.modal-backdrop {padding:16px;background:rgba(8,16,32,0.667);}
.modal {max-height:100%;border-radius:28px;background:linear-gradient(145deg,#303c50,#1c2638);box-shadow:inset 0 1px 0 rgba(255,255,255,0.188),0 20px 70px rgba(0,0,0,0.400);border:1px solid rgba(255,255,255,0.169);padding:22px;color:#fff}
.modal .view-heading {align-items:center}
body.has-persistent-player .modal-backdrop {padding:12px;border-radius:25px}
body.has-persistent-player .modal {width:100%;max-height:100%;padding:20px}
body.has-persistent-player .modal h2 {font-size:23px}
body.has-persistent-player .toast {left:calc(var(--dock-width) + 24px);right:calc(var(--player-rail) + 24px);bottom:18px;width:auto;max-width:none;transform:none}
.app-update {position:fixed;top:16px;left:calc(var(--dock-width) + 24px);z-index:18;display:flex;align-items:center;padding:5px 7px 5px 16px;border-radius:25px;border:1px solid rgba(255,255,255,0.251);background:#263850;color:white;box-shadow:0 6px 24px rgba(0,0,0,0.333);font-size:14px}
.app-update button {margin-left:12px;min-height:38px;padding:8px 12px;border-radius:20px;background:rgba(255,255,255,0.090)}
.app-update button:last-child {margin-left:4px;font-size:22px}
body[data-theme=light] .view:not(.apps-view):not(.widgets-view):not(.weather-view):not(.netflix-view) {background:linear-gradient(140deg,#f4f6fa,#e1e8f1)}
body[data-theme=light] .tabs {background:rgba(20,40,70,0.051);border-color:rgba(20,40,70,0.078)}
body[data-theme=light] .tabs button.active {background:#fff;color:#1b2538}
body[data-theme=light] .pill {background:rgba(255,255,255,0.549);border-color:rgba(60,83,117,0.145)}
body[data-theme=light] .settings-group,body[data-theme=light] .place-card,body[data-theme=light] .month-panel,body[data-theme=light] .agenda-panel {background:rgba(255,255,255,0.600);border-color:rgba(60,83,117,0.082)}
body[data-theme=light].has-persistent-player #player-card {background:linear-gradient(145deg,#f8fbff,#dbe4ef);border-color:rgba(255,255,255,0.600)}
body[data-theme=light].has-persistent-player #mini-open-player {color:#2963a1}
body[data-theme=light].has-persistent-player #player-card .play-button {background:#233753;color:white}
body[data-theme=light].has-persistent-player #journey-card {background:rgba(239,245,251,0.929);color:#152139}
@media (min-width:1400px) and (min-height:700px) {
  :root {--player-rail:350px;--dock-width:82px}
  .app-tile .app-icon {width:124px;height:124px}
  .app-tile {padding:23px 12px}
  .app-tile>span:last-child {font-size:24px;line-height:28px}
  .widget-stack {height:370px}
}
@media (min-width:760px) and (max-width:1150px) {
  :root {--player-rail:280px;--dock-width:68px}
  .app-tile .app-icon {width:86px;height:86px}
  .app-tile>span:last-child {font-size:18px}
  body.has-persistent-player #apps-view {padding:14px 8px 62px}
  body.has-persistent-player .app-tile {padding:14px 4px}
  body.has-persistent-player .app-tile .app-icon {width:62px;height:62px}
  body.has-persistent-player .app-tile>span:last-child {font-size:13px;line-height:19px;margin-top:10px}
  body.has-persistent-player .view-heading h1 {font-size:23px}
  body.has-persistent-player .padded-view,body.has-persistent-player .music-view {padding:16px}
  body.has-persistent-player .widget-stack {flex-basis:220px;min-width:220px}
}
@media (max-height:540px) and (min-width:760px) {
  .dock,.carplay.dock-right .dock {padding-top:7px;padding-bottom:5px}
  .dock-status time {font-size:20px}
  .dock-app+.dock-app {margin-top:10px}
  .dock .app-icon {width:44px;height:44px}
  .dock-fullscreen,.dock-home {height:42px;min-height:42px}
  #apps-view {padding-top:8px;padding-bottom:56px}
  .app-tile,.app-tile .app-icon {transition:none}
  .app-tile {padding:12px 8px}
  .app-tile .app-icon {width:78px;height:78px}
  .app-tile>span:last-child {font-size:17px;line-height:21px;margin-top:8px}
  #apps-view .launcher-pages {bottom:8px}
  .widget-toolbar {padding-top:10px}
  .widget-toolbar h1 {font-size:22px}
  .widget-greeting {font-size:12px}
  .widget-stacks {padding-top:8px}
  .widget-stack {height:270px;min-height:250px}
  .widget-content {padding:16px 18px 30px}
  .widget-footer {margin-bottom:5px}
  body.has-persistent-player #player-card {padding:7px 10px}
  body.has-persistent-player #mini-player-bar {flex-basis:32px;height:32px;min-height:32px;margin-bottom:3px}
  body.has-persistent-player #mini-open-player,body.has-persistent-player #close-mini-player {min-height:32px;height:32px}
  body.has-persistent-player #player-card .track-meta {padding-top:6px}
  body.has-persistent-player #track-title {font-size:17px;line-height:21px}
  body.has-persistent-player #player-card .transport {margin-top:3px}
  body.has-persistent-player #player-card .play-button {width:44px;height:44px}
  body.has-persistent-player #player-status {margin-top:2px}
}
/* Narrow displays use a fixed bottom player; app content scrolls above it. */
@media (max-width:759px) {
  :root {--dock-width:58px;--player-bottom:254px}
  .carplay,.carplay.dock-right {min-height:320px;padding:6px}
  .dock,.carplay.dock-right .dock {padding:9px 4px 6px;border-radius:20px;margin-right:6px}
  .carplay.dock-right .dock {margin-right:0;margin-left:6px}
  .dock-status time {font-size:18px}
  .dock .app-icon {width:40px;height:40px}
  .dock-fullscreen,.dock-home {width:46px}
  .workspace {border-radius:20px;overflow:hidden}
  .view {border-radius:20px}
  .app-tile,body.has-mini-player .app-tile {width:50%;flex-basis:50%;padding:15px 7px}
  .app-tile .app-icon,body.has-mini-player .app-tile .app-icon {width:76px;height:76px}
  .app-tile>span:last-child {font-size:15px;line-height:20px;margin-top:8px}
  #apps-view {display:block;padding:12px 8px 60px}
  #apps-view .app-grid {margin:0}
  #apps-view .launcher-pages {position:sticky;left:50%;width:156px;bottom:0;margin-top:6px}
  .padded-view,.music-view {padding:16px 12px}
  .settings-columns,.calendar-layout {grid-template-columns:1fr}
  .widget-stacks,body.has-mini-player .widget-stacks {justify-content:flex-start;padding:12px 15px}
  .widget-stack,body.has-persistent-player .widget-stack,body.has-mini-player .widget-stack {flex:0 0 245px;min-width:245px;height:295px}
  .widget-stack+.widget-stack,body.has-mini-player .widget-stack+.widget-stack {margin-left:15px;margin-top:0}
  .widget-toolbar {padding:15px}
  .widget-toolbar h1 {font-size:21px}
  .widget-footer>span {display:none}
  body:not(.has-persistent-player)[data-view=music] #player-card,body:not(.has-persistent-player)[data-view=nowplaying] #player-card {position:relative;left:auto;right:auto;top:auto!important;bottom:auto;width:100%;padding:14px;min-height:360px}
  body:not(.has-persistent-player)[data-view=music] .workspace,body:not(.has-persistent-player)[data-view=nowplaying] .workspace {overflow:auto}
  body:not(.has-persistent-player)[data-view=music] #music-view,body:not(.has-persistent-player)[data-view=nowplaying] #music-view {position:relative;top:auto;right:auto;bottom:auto;left:auto;}
  body.has-persistent-player .carplay {padding-bottom:6px}
  body.has-persistent-player .view {right:0;bottom:calc(var(--player-bottom) + 12px)}
  body.has-persistent-player #map-panel {width:100%;bottom:calc(var(--player-bottom) + 12px)}
  body.has-persistent-player #player-card {position:fixed;left:6px!important;right:6px;top:auto!important;bottom:6px;width:auto;height:var(--player-bottom);min-height:var(--player-bottom);padding:7px;display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:32px auto auto 1fr;column-gap:10px;row-gap:0;border-radius:20px}
  body.has-persistent-player #mini-player-bar {grid-column:1/3;grid-row:1;height:32px;min-height:32px;margin:0}
  body.has-persistent-player #video-wrap {grid-column:1;grid-row:2/5;width:200px;align-self:center}
  body.has-persistent-player #player-card .track-meta {grid-column:2;grid-row:2;align-self:start;padding-top:7px;max-width:100%}
  body.has-persistent-player #track-title {font-size:15px;line-height:21px}
  body.has-persistent-player #track-artist {font-size:12px;line-height:17px}
  body.has-persistent-player #player-card .progress {grid-column:2;grid-row:3;padding-top:9px}
  body.has-persistent-player #player-card .transport {grid-column:2;grid-row:4;align-self:center;flex-wrap:nowrap;justify-content:space-around;margin:0}
  body.has-persistent-player #player-card .transport .icon-button {width:32px;min-width:28px;height:44px}
  body.has-persistent-player #player-card .play-button {width:38px;height:44px}
  body.has-persistent-player #repeat,body.has-persistent-player #volume-button,body.has-persistent-player #volume-panel,body.has-persistent-player #save-track,body.has-persistent-player #player-status,body.has-persistent-player #youtube-fallback {display:none!important}
  body.has-persistent-player #route-card {right:12px;max-height:calc(100% - var(--player-bottom) - 36px)}
  body.has-persistent-player #journey-card {left:8px;right:8px;bottom:calc(var(--player-bottom) + 50px);padding:9px}
  body.has-persistent-player .toast {left:12px;right:12px;bottom:calc(var(--player-bottom) + 18px)}
  .app-update {left:75px;right:12px;font-size:12px;padding-left:12px}
  .app-update button {margin-left:6px;padding:6px 10px}
}
@media (prefers-reduced-motion:reduce) {.view,.app-tile .app-icon {animation:none;transition:none}}

@media(max-width:359px) {body.has-persistent-player #player-card {column-gap:6px}body.has-persistent-player #player-card .transport .icon-button {width:28px;min-width:28px}body.has-persistent-player #player-card .play-button {width:32px;min-width:32px}}

/* 4.4: normal apps use the whole workspace; playback is an explicit choice. */
:root {--rail:34%;--gap:12px}
.dashboard-audio {position:absolute;right:0;bottom:0;top:calc(47% + 6px);width:var(--rail);padding:16px 18px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#2b3547,#1d2535);border:1px solid rgba(255,255,255,0.094);overflow:hidden}
body[data-view=dashboard]:not(.has-persistent-player) #journey-card {height:calc(47% - 6px);padding:14px 17px;justify-content:space-between}
.dashboard-audio-heading {display:flex;align-items:center;justify-content:space-between;min-height:28px;flex-shrink:0}
.dashboard-audio-heading>span {font-size:12px;letter-spacing:.7px;font-weight:650;color:#b7c8df}
.dashboard-audio-heading>button {min-height:36px;padding:6px 10px;border-radius:18px;background:rgba(255,255,255,0.047);font-size:14px;color:#b8d9ff}
.dashboard-track {display:flex;align-items:center;min-width:0;margin-top:7px}
.dashboard-track>img {width:58px;height:58px;border-radius:15px;flex:none;object-fit:cover;background:#263653}
.dashboard-track>div {min-width:0;margin-left:13px}
.dashboard-track h2 {font-size:21px;line-height:26px;letter-spacing:-.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-track p {font-size:14px;line-height:20px;color:#b8c4d7;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-audio-controls {display:flex;align-items:center;justify-content:center;margin-top:12px;flex-shrink:0}
.dashboard-audio-controls>button {width:62px;height:48px;min-height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.dashboard-audio-controls>button+button {margin-left:14px}
.dashboard-audio-controls .icon {width:30px;height:30px}
#dashboard-audio-play {width:48px;background:#f5f8ff;color:#172335}
.dashboard-audio-status {font-size:12px;line-height:17px;color:#aabbd2;text-align:center;margin-top:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.playback-setting {flex-direction:column;align-items:stretch;padding:16px 18px}
.playback-setting>span {font-size:16px;margin-bottom:12px}
.playback-setting select {width:100%;min-height:44px;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,0.133);font-size:15px}
.playback-note {padding:0 18px 16px;margin:0;font-size:14px;line-height:1.6;color:#bac6d8}
body[data-theme=light] .dashboard-audio {background:linear-gradient(140deg,#f8fbff,#e0e8f2);border-color:rgba(255,255,255,0.502)}
body[data-theme=light] .dashboard-audio-heading>span,body[data-theme=light] .dashboard-track p,body[data-theme=light] .dashboard-audio-status,body[data-theme=light] .playback-note {color:#516079}
body[data-theme=light] .dashboard-audio-heading>button {color:#2163a9;background:rgba(255,255,255,0.533)}
body[data-theme=light] #dashboard-audio-play {background:#223654;color:#fff}
body[data-theme=light] .playback-setting select {background:rgba(255,255,255,0.600)}
/* Calm hierarchy and consistent touch spacing on the full-width pages. */
#apps-view {padding-left:30px;padding-right:30px}
.app-tile>span:last-child {letter-spacing:-.2px;font-size:19px}
.widget-stacks {padding-left:26px;padding-right:26px}
.widget-stack+.widget-stack {margin-left:18px}
.view-heading h1,.screen-toolbar h1 {line-height:1.2}
.settings-columns {grid-gap:24px;gap:24px}
.settings-columns h2 {font-size:17px;letter-spacing:-.2px;margin-top:22px;margin-bottom:12px}
.settings-columns .about-copy {font-size:14px;line-height:1.6}
.settings-columns>div {min-width:0}
.settings-group select {max-width:100%}
#settings-view .version {font-size:12px;white-space:nowrap}
.music-view .view-heading h1 {font-size:23px}
.music-view .tabs {flex-wrap:wrap}
.music-view .tabs button {font-size:15px;padding:9px 13px}
.music-view .section-title {align-items:center;flex-wrap:wrap;grid-gap:8px;gap:8px}
.music-view .section-title h2 {font-size:20px}
.catalog-filters {padding-bottom:6px}
.track-row>span {min-width:0}
.track-row strong {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.has-persistent-player .view-heading {align-items:center}
body.has-persistent-player .view-heading .account-button {margin-left:0}
body.has-persistent-player .video-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
body.has-persistent-player .calendar-tools {flex-wrap:wrap}
@media(min-width:760px) {
  body.has-mini-player {--player-rail:248px}
  body.has-mini-player #player-card {top:auto!important;bottom:0;height:334px;padding:8px 10px;overflow:hidden;border-radius:22px}
  body.has-mini-player #mini-player-bar {height:30px;min-height:30px;flex-basis:30px;margin-bottom:4px}
  body.has-mini-player #mini-open-player,body.has-mini-player #close-mini-player {height:30px;min-height:30px;font-size:13px}
  body.has-mini-player #close-mini-player {font-size:23px}
  body.has-mini-player #player-card .track-meta {padding-top:7px;height:33px;min-height:33px}
  body.has-mini-player #track-title {font-size:15px;line-height:20px}
  body.has-mini-player #track-artist,body.has-mini-player #save-track,body.has-mini-player #player-card .progress,body.has-mini-player #repeat,body.has-mini-player #volume-button,body.has-mini-player #volume-panel,body.has-mini-player #player-status {display:none!important}
  body.has-mini-player #player-card .transport {margin:0;justify-content:center}
  body.has-mini-player #player-card .transport>button+button {margin-left:13px}
  body.has-mini-player #player-card .transport .icon-button {height:44px;width:42px}
  body.has-mini-player #player-card .play-button {width:40px;height:40px}
  body.has-mini-player #player-card .transport .icon {width:25px;height:25px}
}
@media(min-width:760px) and (max-width:1050px) {
  .dashboard-audio {padding:12px 14px}
  .dashboard-track>img {height:48px;width:48px;border-radius:12px}
  .dashboard-track>div {margin-left:10px}
  .dashboard-track h2 {font-size:18px;line-height:23px}
  .dashboard-track p {font-size:13px;line-height:18px}
  .dashboard-audio-controls>button+button {margin-left:5px}
  .dashboard-audio-status {font-size:12px}
  .widget-content {padding-left:18px;padding-right:18px}
  .widget-stack+.widget-stack {margin-left:14px}
  #apps-view {padding-left:15px;padding-right:15px}
}
@media(max-height:540px) and (min-width:760px) {
  .dashboard-audio-heading {min-height:24px}
  .dashboard-audio-heading>button {min-height:28px;padding-top:3px;padding-bottom:3px}
  .dashboard-audio-controls {margin-top:8px}
  .dashboard-audio-status {margin-top:5px}
  body[data-view=dashboard]:not(.has-persistent-player) #journey-card .journey-title {font-size:16px;min-height:24px}
  body[data-view=dashboard]:not(.has-persistent-player) #journey-card .destination-button {margin:3px 0;min-height:45px}
  body[data-view=dashboard]:not(.has-persistent-player) #journey-card .dashboard-agenda {margin-top:4px}
  body[data-view=dashboard]:not(.has-persistent-player) #journey-card .nearby {padding-top:4px}
}
@media(max-width:759px) {
  #apps-view {padding-left:8px;padding-right:8px}
  #apps-view .launcher-pages {left:auto;transform:none;margin:8px auto 0;position:sticky;bottom:0}
  .app-tile>span:last-child {font-size:15px}
  body[data-view=dashboard]:not(.has-persistent-player) .workspace {display:flex;flex-direction:column;overflow:auto;grid-gap:12px;gap:12px}
  body[data-view=dashboard]:not(.has-persistent-player) #map-panel {position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:330px;min-height:330px;flex:none}
  body[data-view=dashboard]:not(.has-persistent-player) #journey-card {position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:auto;min-height:195px;flex:none}
  body[data-view=dashboard]:not(.has-persistent-player) #dashboard-audio {position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:225px;min-height:225px;flex:none}
  .settings-columns {display:block}
  .widget-toolbar {padding:14px}
  .widget-toolbar h1 {font-size:20px}
  .screen-toolbar .pill {font-size:14px;padding:9px 12px}
  body.has-persistent-player #apps-view .launcher-pages {bottom:0}
  body.has-persistent-player .video-grid {grid-template-columns:1fr}
}

/* Dock controls retain accessible names without tiny duplicate labels. */
.dock-home>span,.dock-fullscreen>span {display:none}
.dock-home>.icon {width:32px;height:32px}
.dock-fullscreen>.icon {width:24px;height:24px}
body.has-mini-player #player-card .transport>#previous {margin-left:0}

/* 4.5: explicit player screens, large controls, and a swipeable home deck. */
body:not([data-view=music]):not([data-view=nowplaying]) #player-card {display:none!important}
body:not([data-view=music]):not([data-view=nowplaying]) .view {right:0!important}
.dock-utility {display:flex;align-items:center;justify-content:center;width:48px;min-height:44px;flex:none;padding:8px;border-radius:16px;margin-top:3px;background:rgba(255,255,255,0.043);color:#fff}
.dock-utility>.icon {height:26px;width:26px}
#dock-app-launcher .icon {fill:currentColor;stroke-width:0}
#quick-theme[aria-pressed=true] {background:#eff5ff;color:#24425f}
.dock .dock-apps {min-height:140px}
.dock .dock-app+.dock-app {margin-top:10px}
.dock .dock-home {margin-top:3px;min-height:44px;height:44px}
.home-pager {position:absolute;left:16px;right:16px;bottom:8px;height:48px;max-width:540px;margin:0 auto;z-index:8;display:flex;align-items:center;padding:3px;border-radius:28px;background:rgba(19,35,56,0.851);border:1px solid rgba(255,255,255,0.173);box-shadow:inset 0 1px 0 rgba(255,255,255,0.125)}
.home-pager>button {min-height:42px;min-width:44px;flex:1;border-radius:22px;font-size:16px;font-weight:550;padding:8px 12px;color:#cfdbed}
.home-pager>button[aria-current=page] {background:rgba(255,255,255,0.149);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,0.153)}
.home-pager>#page-previous,.home-pager>#page-next {flex:0 0 44px;padding:9px}
.home-pager .icon {height:22px;width:22px}
#page-previous .icon {transform:rotate(180deg)}
body.home-page .view {bottom:64px}
body.home-page #map-panel {bottom:64px}
body.home-page #dashboard-audio {bottom:64px;top:calc(47% - 24px)}
body.home-page #journey-card {height:calc(47% - 36px)!important}
#apps-view .launcher-pages {display:none}
#apps-view {padding-bottom:16px}
.widget-toolbar h1 {font-size:24px}
.widget-toolbar .pill {min-height:48px}
.widget-stacks {overflow-x:hidden}
.widget-stack {height:300px;min-height:240px}
.widget-content {touch-action:pan-y}
.stack-next {height:48px;width:48px}
.widget-footer {margin-bottom:0}
.widget-footer .text-button {font-size:15px}
.widget-footer>span {font-size:13px}
#player-queue-button {margin-left:auto;margin-right:8px;min-height:40px;padding:7px 13px;font-size:14px}
body.has-persistent-player #mini-open-player {font-size:14px;min-width:0;flex:1}
body.has-persistent-player #close-mini-player {flex:none;min-height:40px;height:40px}
body.has-persistent-player #mini-player-bar {flex-basis:42px;height:42px;min-height:42px}
body[data-view=nowplaying] #player-card {position:absolute;top:0!important;right:0!important;bottom:0!important;left:0!important;top:0!important;left:0!important;width:100%!important;height:100%;display:grid!important;grid-template-columns:minmax(200px,42%) minmax(0,1fr);grid-template-rows:48px minmax(90px,1fr) auto auto 26px;grid-gap:0 28px;gap:0 28px;padding:18px 26px!important;align-content:stretch;background:radial-gradient(ellipse at 0% 100%,#34466a,#1d273c 58%,#182031);overflow:auto}
body[data-view=nowplaying] #mini-player-bar {grid-column:1/3;grid-row:1;align-self:start;margin:0;width:100%}
body[data-view=nowplaying] #mini-open-player {font-size:18px}
body[data-view=nowplaying] #player-queue-button {font-size:16px;min-height:44px;padding:8px 19px}
body[data-view=nowplaying] #video-wrap {grid-column:1;grid-row:2/5;align-self:center;width:100%;height:200px;min-height:200px;max-height:200px;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,0.267)}
body[data-view=nowplaying] #player-card .track-meta {grid-column:2;grid-row:2;align-self:center;padding:5px 0 12px;min-width:0}
body[data-view=nowplaying] #track-title {font-size:28px;line-height:1.2;font-weight:650;letter-spacing:-.6px;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-height:3.6em;overflow:hidden}
body[data-view=nowplaying] #track-artist {font-size:18px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:10px}
body[data-view=nowplaying] #save-track {height:48px;min-width:48px;align-self:flex-start}
body[data-view=nowplaying] #player-card .progress {grid-column:2;grid-row:3;padding-top:0}
body[data-view=nowplaying] #seek {height:44px;min-height:44px;display:block}
body[data-view=nowplaying] #player-card .progress>div {font-size:15px;line-height:20px;margin:0;font-variant-numeric:tabular-nums}
body[data-view=nowplaying] #player-card .transport {grid-column:2;grid-row:4;justify-content:space-between;margin:12px 0 10px;min-height:66px}
body[data-view=nowplaying] #player-card .transport .icon-button {width:52px;height:60px;min-height:48px}
body[data-view=nowplaying] #player-card .transport .icon {width:34px;height:34px}
body[data-view=nowplaying] #player-card .play-button {width:66px;height:66px;min-width:66px;box-shadow:0 7px 16px rgba(0,0,0,0.133)}
body[data-view=nowplaying] #player-card .play-button .icon {height:40px;width:40px}
body[data-view=nowplaying] #player-status {grid-column:1/3;grid-row:5;display:block;text-align:center;font-size:13px;line-height:20px;margin:0}
body[data-view=nowplaying] #volume-panel {position:absolute;right:24px;bottom:16px;width:44%;padding:14px 18px;background:rgba(48,66,93,0.961);border:1px solid rgba(255,255,255,0.173);border-radius:20px;z-index:6}
body[data-view=nowplaying] #youtube-fallback {grid-column:1/3;grid-row:6}
body[data-theme=light][data-view=nowplaying] #player-card {background:radial-gradient(ellipse at 0% 100%,#b5cce9,#e9f0fa 65%)}
body[data-theme=light][data-view=nowplaying] #volume-panel {background:#e9f1ff;color:#14233d}
#song-query {font-size:20px;min-height:48px}
.seamless-search-form {min-height:60px;border-radius:25px}
.seamless-search-form .icon-button,.seamless-search-form .primary {min-width:48px;min-height:48px}
.search-suggestions button {min-height:58px;border-radius:15px}
.search-suggestions strong {font-size:17px}
.search-suggestions small {font-size:14px}
#seamless-results .track-row {min-height:76px;padding-top:10px;padding-bottom:10px}
#seamless-results .track-row strong {font-size:18px}
#seamless-results .track-row small {font-size:14px}
#seamless-results[aria-busy=true] {opacity:.8}
#search-more,#local-search-more,#search-retry {min-height:48px;margin-top:12px;font-size:16px}
#search-status {font-size:15px;line-height:1.5}
#music-voice[aria-pressed=true] {background:#0a84ff;color:white}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:760px) and (max-height:540px) {
  .dock,.carplay.dock-right .dock {padding:5px 5px;grid-gap:0;gap:0}
  .dock-status time {font-size:19px}
  .dock-status .icon {height:15px;width:15px}
  .dock .dock-apps {min-height:126px}
  .dock .dock-app+.dock-app {margin-top:6px}
  .dock .app-icon {width:39px;height:39px}
  .dock-utility,.dock .dock-home,.dock .dock-fullscreen {height:40px;min-height:40px;margin-top:1px}
  .widget-toolbar {padding-top:8px}
  .widget-toolbar h1 {font-size:21px}
  .widget-greeting {display:none}
  .widget-stacks {padding-top:8px;padding-bottom:0}
  .widget-stack {height:245px;min-height:228px}
  .widget-content {padding-top:13px;padding-bottom:26px}
  .widget-footer {margin:0;height:32px;min-height:32px}
  .widget-footer .text-button {min-height:30px}
  .widget-footer>span {display:none}
  .app-tile {padding-top:12px;padding-bottom:12px}
  .app-tile .app-icon {width:72px;height:72px}
  body.home-page #journey-card .journey-title {display:none}
  body.home-page #journey-card .nearby {display:none}
  .dashboard-audio {padding:9px 12px}
  .dashboard-audio-status {display:none}
  .dashboard-track>img {height:42px;width:42px}
  .dashboard-track h2 {font-size:16px;line-height:21px}
  .dashboard-audio-heading {min-height:22px}
  .dashboard-audio-controls {margin-top:6px}
  body[data-view=nowplaying] #player-card {padding:12px 20px!important;column-gap:22px}
  body[data-view=nowplaying] #track-title {font-size:25px}
  body[data-view=nowplaying] #track-artist {font-size:16px}
  body[data-view=nowplaying] #player-card .transport {margin-top:6px;margin-bottom:4px}
}
@media(max-width:759px) {
  .dock .dock-apps {min-height:132px}
  .dock-utility {width:44px}
  .home-pager {left:4px;right:4px;bottom:6px;padding:2px}
  .home-pager>button {font-size:12px;padding:7px 3px;min-width:38px}
  .home-pager>#page-previous,.home-pager>#page-next {flex-basis:34px;min-width:34px;padding:7px}
  body.home-page .view {bottom:62px}
  .widget-stacks {flex-direction:column;padding:12px 14px;overflow:visible;align-items:stretch}
  .widget-stack,body.has-mini-player .widget-stack {flex:none;width:100%;min-width:0;max-width:none;height:280px}
  .widget-stack+.widget-stack {margin:14px 0 0}
  body.home-page #dashboard-audio {top:auto;bottom:auto}
  body.home-page #journey-card {height:auto!important}
  body[data-view=dashboard].home-page .workspace {padding-bottom:66px}
  body[data-view=dashboard] #home-pager {position:fixed;left:78px;right:12px}
  body[data-view=nowplaying] #player-card {position:absolute;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;min-height:0;height:100%;display:flex!important;flex-direction:column;padding:12px!important;border-radius:20px}
  body[data-view=nowplaying] #mini-player-bar {flex:0 0 44px}
  body[data-view=nowplaying] #mini-open-player {font-size:14px}
  body[data-view=nowplaying] #player-queue-button {font-size:14px;padding:7px 12px;margin-right:3px}
  body[data-view=nowplaying] #video-wrap {flex:0 0 200px;align-self:center;margin:8px 0 0}
  body[data-view=nowplaying] #player-card .track-meta {padding-top:12px;flex:0 0 auto}
  body[data-view=nowplaying] #track-title {font-size:22px;-webkit-line-clamp:2}
  body[data-view=nowplaying] #track-artist {font-size:16px;margin-top:5px}
  body[data-view=nowplaying] #player-card .progress {flex:none;padding-top:8px}
  body[data-view=nowplaying] #player-card .transport {flex:none;min-height:60px}
  body[data-view=nowplaying] #player-card .transport .icon-button {width:40px;min-width:36px;height:52px}
  body[data-view=nowplaying] #player-card .play-button {width:56px;min-width:56px;height:56px}
  body[data-view=nowplaying] #save-track,body[data-view=nowplaying] #repeat,body[data-view=nowplaying] #volume-button,body[data-view=nowplaying] #player-status {display:flex!important}
  body[data-view=nowplaying] #volume-panel {width:auto;left:10px;right:10px;bottom:8px}
}
#music-home>.section-title:first-child,.music-cards {display:none}
.collection-filters {display:flex;flex-wrap:nowrap;overflow:visible;margin:10px 0 14px;padding:0}
.collection-filters>button {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1;min-width:0;min-height:80px;padding:12px;border-radius:18px;text-align:left;white-space:normal;background:rgba(255,255,255,0.047);border:1px solid rgba(255,255,255,0.075)}
.collection-filters>button+button {margin-left:8px}
.collection-filters>button strong {font-size:15px;line-height:20px;letter-spacing:-.2px}
.collection-filters>button small {font-size:13px;line-height:18px;margin-top:5px;color:#aec1d9}
.collection-filters>button.active {background:#254974;border-color:rgba(108,175,227,0.400);color:#fff}
.collection-filters>button.active small {color:#c5e4ff}
.catalog-pagination {display:flex;align-items:center;justify-content:space-between;margin:12px 0;grid-gap:10px;gap:10px}
.catalog-pagination>button {min-height:48px;font-size:14px;padding:10px 13px}
.catalog-pagination>span {font-size:13px;line-height:18px;text-align:center;color:var(--muted)}
.catalog-pagination>button:disabled {opacity:.35;cursor:default}
#track-list .track-row {min-height:72px}
#track-list .track-row strong {font-size:17px}
#track-list .track-row small {font-size:14px}
#queue-list .track-row {min-height:72px}
body[data-theme=light] .collection-filters>button {background:rgba(255,255,255,0.600);border-color:rgba(51,78,118,0.094)}
body[data-theme=light] .collection-filters>button small {color:#526b8b}
body[data-theme=light] .collection-filters>button.active {background:#2369aa;color:#fff}
body[data-theme=light] .collection-filters>button.active small {color:#e0efff}
@media(max-width:759px) {.collection-filters {flex-direction:column}.collection-filters>button {min-height:62px;flex-direction:row;align-items:center;justify-content:space-between}.collection-filters>button+button {margin-left:0;margin-top:8px}.collection-filters>button small {margin:0 0 0 8px}.catalog-pagination {grid-gap:5px;gap:5px}.catalog-pagination>button {font-size:13px;padding:9px}}
