/* Map composition follows the passenger's LAX–BOS photographs. */
.movies-view .screen-header>.wordmark{display:none}
.map-header{height:6.2cqw;display:flex;padding:.7cqw 2cqw .7cqw 0;gap:1cqw;background:linear-gradient(90deg,#11132df5,#101326ec);z-index:2}
.map-home{width:7cqw;display:grid;place-items:center;flex-shrink:0;align-self:stretch}
.map-home button{display:grid;place-items:center;width:4cqw;height:4cqw}
.map-home .icon{width:2.4cqw;height:2.4cqw;fill:#fff;stroke:#fff}
.map-route-block{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:.75cqw;padding-top:.2cqw}
.map-route-block .progress-rail{height:.25cqw;background:#a6a8be;margin:0 1cqw;box-shadow:0 0 .25cqw #fff7}
.map-route-block .progress-rail:before,.map-route-block .progress-rail:after{content:'';position:absolute;width:.9cqw;height:.9cqw;border-radius:50%;border:.15cqw solid #e8e9f4;background:#c9cbd5;box-shadow:0 0 0 .15cqw #ffffff38;top:50%;transform:translateY(-50%);left:-.4cqw}
.map-route-block .progress-rail:after{left:auto;right:-.4cqw}
.map-route-block .progress-plane{width:3cqw!important;height:3cqw!important;fill:#fff;stroke:#fff;z-index:2}
.map-route-labels{display:flex;justify-content:space-between;align-items:center;gap:1cqw;line-height:1.1;font-size:1.8cqw;white-space:nowrap}
.map-route-labels strong{max-width:32%;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.map-route-labels small{font-size:1.25cqw;font-weight:500;white-space:nowrap}
.map-arrival{width:19cqw;flex-shrink:0;display:flex;gap:.65cqw;align-items:center;justify-content:flex-end;line-height:1.1}
.map-arrival strong{font-size:4cqw;letter-spacing:-.16cqw;white-space:nowrap}
.map-arrival small{font-size:1.3cqw;max-width:4.5cqw;line-height:1.2;text-align:start}
.map-arrival small span{display:block}
.map-toolbar{bottom:1.2cqw;right:1.8cqw;gap:.6cqw}
.map-action{background:#3f00ff;border:0;box-shadow:0 .2cqw .7cqw #12005655;border-radius:50%;width:6cqw;height:6cqw;min-width:6cqw;padding:1.5cqw}
.map-action .icon{width:3cqw;height:3cqw;stroke-width:1.6}
#map-views .icon{fill:#fff;transform:rotate(65deg);stroke-width:1.3}
.map-side-pause{position:absolute;left:0;top:43%;border-radius:0 2.3cqw 2.3cqw 0;background:#3f00ff;width:3.7cqw;height:8.7cqw;padding:1cqw .7cqw;pointer-events:auto;color:#fff}
.map-side-pause .icon{width:2.1cqw;height:3cqw;stroke-width:2}
.map-credits{bottom:.08cqw;right:.5cqw;background:#0006;font-size:.52cqw;max-width:90cqw;line-height:1.1;padding:.1cqw .3cqw}
.map-view-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.map-view-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:10px;min-height:96px;font-size:14px}
.map-view-options .icon{width:28px;height:28px}
.map-idle .map-header,.map-idle .map-side-pause,.map-idle #map-views{opacity:0;pointer-events:none;transition:opacity .6s}
.map-header,.map-side-pause,#map-views{transition:opacity .15s}
.map-idle .map-home button{pointer-events:none}
.map-idle .map-credits{opacity:.45}
.settings-content>.pill{display:flex;align-items:center;justify-content:center;min-width:6cqw;width:7cqw;padding:1cqw}
.settings-content>.pill span{display:none}
@media(max-width:600px){.map-view-options{gap:8px}.map-view-options button{font-size:12px;min-height:80px;padding:12px}}
.icon-plane{stroke:none!important;fill:currentColor;filter:drop-shadow(.4px .8px .6px #00125244)}
.icon-plane path{stroke:none!important}
.route-thumbnail .icon-plane,.airport-codes .icon-plane,#map-views .icon-plane{transform:none}
.map-route-block .progress-plane{transform:translate(-50%,-50%)}
.fullscreen-button{border-radius:.55cqw}
.welcome-tools{gap:.8cqw}
.fullscreen-button[aria-pressed=true]{background:#ffffff26;color:white;outline:1px solid #ffffff7a}
.map-fullscreen{position:absolute;left:1.5cqw;bottom:1.5cqw;pointer-events:auto}
.map-fullscreen .map-action{width:3.7cqw;height:3.7cqw;min-width:3.7cqw;border-radius:.6cqw;padding:.75cqw;background:#2520b9b8}
.map-fullscreen .icon{width:2.2cqw;height:2.2cqw}
.page-fullscreen,.page-fullscreen body{width:100%;height:100%;overflow:hidden;background:#000}
.page-fullscreen #screen{width:100vw;width:100dvw;height:100vh;height:100dvh;aspect-ratio:auto}
.page-fullscreen #screen .map-fullscreen{z-index:25}
.page-fullscreen #screen:fullscreen{width:100vw;height:100dvh}
/* Collection cards use suitable landscape art or complete poster pairs. */
.home-content{grid-template-columns:55% 45%}
.home-feature{flex-basis:24.5cqw}
.home-summary .time-card{width:80%}
.promo-art,.collection-art,.favorites-art,.info-art{height:24.5cqw;flex-shrink:0;overflow:hidden;background:#050d32}
.promo-art{display:flex;align-items:flex-start;justify-content:center;background:#11131a}
.promo-art img{width:100%;height:100%;object-fit:contain;object-position:center top}
.collection-art{display:flex;align-items:center;justify-content:center;gap:.8cqw;padding:1cqw;background:linear-gradient(140deg,#0b236d,#07112a)}
.collection-art img{width:calc(50% - .4cqw);height:100%;object-fit:contain}
.favorites-art{display:grid;place-items:center;background:radial-gradient(circle,#4541ad,#11186a)}
.favorites-art .icon{width:10cqw;height:10cqw;stroke-width:1.1}
.info-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5cqw;background:radial-gradient(ellipse at 30% 10%,#2770b0,#0b1e53)}
.info-art .icon{width:6cqw;height:6cqw}
.info-art strong{font-size:2cqw}.info-art span{font-size:1.7cqw}
.home-feature .route-thumbnail{height:24.5cqw;flex-shrink:0}
.icon-solid{stroke:none;filter:drop-shadow(0 .5px .4px #07227844)}
.icon-solid .icon{stroke:none}
.map-header{height:7.1cqw;gap:1.1cqw;background:linear-gradient(90deg,#161923,#191b24)}
.map-home{width:6cqw}
.map-brand{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;flex:0 0 15cqw;gap:.1cqw;padding-inline-end:1.2cqw}
.map-brand>div{display:flex;align-items:center;justify-content:flex-end;gap:.35cqw}
.map-brand img:first-child{filter:brightness(0) invert(1);width:6.8cqw;height:auto}
.map-brand img:last-child{width:1.1cqw;height:1.1cqw}
.map-brand strong{font-weight:500;letter-spacing:-.1cqw;font-size:2.2cqw;line-height:1}
.map-route-labels{font-size:1.9cqw}
.map-route-labels small{font-size:1.15cqw}
.map-arrival{width:18cqw}
.map-arrival small{max-width:5.8cqw;min-width:4.1cqw}
.map-arrival small span{white-space:nowrap}
.map-fullscreen .icon{stroke-width:1.7}

.home-summary .next-stop{font-size:4.4cqw}
.home-summary .time-card{min-height:15.3cqw;padding-top:3.5cqw;padding-bottom:3.5cqw}
.home-summary .time-card strong{font-size:4.1cqw}

.welcome-heading.greeting-long{font-size:3.3cqw}
.welcome-heading.greeting-extra-long{font-size:2.5cqw}
.home-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-presentation{position:absolute;top:8.2cqw;left:2cqw;display:flex;align-items:center;gap:1cqw;padding:.55cqw .8cqw;background:#071226b8;border-radius:.4cqw;font-size:1.15cqw;color:#f2f5ff;pointer-events:auto;box-shadow:0 .2cqw .7cqw #02061526}
.map-tour-stop{display:flex;align-items:center;gap:.45cqw;padding:.4cqw .7cqw;border-inline-start:1px solid #ffffff40;font-size:1.1cqw}
.map-tour-stop .icon{width:1.25cqw;height:1.25cqw}
.map-world-clocks{position:absolute;bottom:1.7cqw;left:7.2cqw;display:flex;gap:2.1cqw;max-width:66cqw;padding:.8cqw 1.1cqw;background:linear-gradient(110deg,#061127db,#07162da6);border-radius:.4cqw;border:1px solid #ffdf7d22;pointer-events:none}
.map-world-clocks>div{display:grid;grid-template-columns:auto auto;column-gap:.75cqw;align-items:baseline;min-width:12cqw}
.map-world-clocks span{font-size:1cqw;grid-column:1/-1;color:#e5edf9;max-width:28cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-world-clocks strong{font-size:2.15cqw;font-weight:500;line-height:1.25;color:#ffe393}
.map-world-clocks small{font-size:1cqw;color:#e3c477}
.map-view-options button.active{background:#1350ee;border:1px solid #8eafff}
#map-canvas canvas{touch-action:none}

.map-zoom-controls{position:absolute;left:1.5cqw;bottom:6.1cqw;display:flex;flex-direction:column;gap:.35cqw;pointer-events:auto}.map-zoom-button{width:max(36px,3.7cqw);height:max(36px,3.7cqw);display:grid;place-items:center;border:1px solid #ffffff3a;border-radius:.55cqw;background:#1822bce6;box-shadow:0 2px 8px #0003}.map-zoom-button .icon{width:2.1cqw;min-width:18px;height:2.1cqw;min-height:18px}
