.ship-ticker-dock{z-index:9999;width:100%;max-width:100%;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);pointer-events:none;box-sizing:border-box;margin:0;position:fixed;bottom:0;left:0;right:0}.ship-ticker-dock>.ship-ticker{pointer-events:auto}.ship-ticker{color:#fff;background-color:#0a101f;border-top:2px solid #1f3a5f;border-bottom:2px solid #1f3a5f;width:100%;height:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;position:relative;overflow:hidden}.ship-ticker-content{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;padding:8px 0;position:relative;overflow:hidden}.ship-ticker-content.is-dragging{cursor:grabbing}.ship-ticker-scroll{white-space:nowrap;backface-visibility:hidden;width:max-content;display:flex;transform:translate(0,0)}.ship-ticker-scroll.is-css-marquee{animation:ship-ticker-marquee var(--ship-ticker-duration,360s)linear infinite;will-change:transform}.ship-ticker-scroll.is-dragging-track{will-change:transform;animation:none!important}@keyframes ship-ticker-marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ship-ticker-scroll.is-css-marquee{animation:none}}.ship-ticker-item{box-sizing:border-box;width:640px;min-width:640px;color:inherit;contain:layout style;background-color:#0c1524;border-right:1px solid #1f3a5f;flex-shrink:0;padding:10px 15px;text-decoration:none;transition:background-color .3s}.ship-ticker-item:hover{background-color:#152238}.ship-ticker-item-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.ship-ticker-item[aria-disabled=true]{cursor:default}.ship-ticker-cruise-placeholder{min-height:1.3em;display:inline-block}.ship-ticker-item-link:hover{background-color:#152238}.ship-ticker-item-header{grid-template-rows:auto auto;grid-template-columns:48px minmax(0,1fr) minmax(180px,1.8fr) auto;align-items:center;gap:2px 14px;display:grid}.ship-ticker-col-photo{grid-area:1/1/3;align-self:center;padding-bottom:6px;padding-right:10px}.ship-ticker-photo-wrap{flex-shrink:0;position:relative}.ship-ticker-direction-badge{z-index:2;box-sizing:border-box;color:#93c5fd;filter:drop-shadow(0 2px 6px #00000080);pointer-events:none;background:#0c1524;border:1.5px solid #1f3a5f;border-radius:50%;width:28px;height:28px;padding:3px;display:block;position:absolute;bottom:-8px;right:-8px}.ship-ticker-col-ship-name{color:#a8c7e9;white-space:nowrap;text-overflow:ellipsis;grid-area:1/2;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.ship-ticker-ship-link{color:inherit;cursor:pointer;text-decoration:none}.ship-ticker-ship-link:hover{color:#dbeafe;text-underline-offset:3px;text-decoration:underline}.ship-ticker-col-location{color:#8ba3c2;white-space:nowrap;text-overflow:ellipsis;grid-area:1/3;min-width:180px;font-size:12px;overflow:hidden}.ship-ticker-position-line{align-items:center;gap:5px;min-width:0;display:flex;overflow:hidden}.ship-ticker-position-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ship-ticker-direction-icon{color:#93c5fd;flex-shrink:0;width:100%;height:100%;display:block}.ship-ticker-col-meta{text-align:right;grid-area:1/4/3;align-self:center;min-width:88px}.ship-ticker-col-cruise{color:#8ba3c2;white-space:nowrap;text-overflow:ellipsis;grid-area:2/2/auto/4;min-width:0;font-size:11px;line-height:1.3;overflow:hidden}.ship-ticker-thumbnail{color:#a8c7e9;background-color:#1f3a5f;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.ship-ticker-thumbnail img{object-fit:cover;width:100%;height:100%}.ship-ticker-stale-update{color:#6d8cb3;white-space:nowrap;margin-bottom:4px;font-size:11px}.ship-ticker-status{justify-content:flex-end;align-items:center;display:flex}.ship-ticker-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:6px;display:inline-block}.ship-ticker-status-dot.status-docked{background-color:#22c55e}.ship-ticker-status-dot.status-at-sea{background-color:#3b82f6}.ship-ticker-status-dot.status-approaching{background-color:#eab308}.ship-ticker-status-dot.status-departed{background-color:#a855f7}.ship-ticker-status-text{color:#8ba3c2;white-space:nowrap;font-size:11px;font-weight:600}.ship-ticker-cruise-link{color:#93c5fd}.ship-ticker-item-link:hover .ship-ticker-cruise-link{color:#bfdbfe;text-underline-offset:2px;text-decoration:underline}.ship-ticker-loading,.ship-ticker-error,.ship-ticker-empty{text-align:center;padding:20px}.ship-ticker-loading-text{color:#8ba3c2;animation:1.5s infinite ship-ticker-pulse}.ship-ticker-error-text{color:#ef4444}.ship-ticker-empty-text{color:#8ba3c2}@keyframes ship-ticker-pulse{0%,to{opacity:1}50%{opacity:.5}}:root{--ship-ticker-mobile-item-height:88px}.ship-ticker-mobile-viewport{height:var(--ship-ticker-mobile-item-height);overflow:hidden}.ship-ticker-mobile-track{will-change:transform;flex-direction:column;display:flex}.ship-ticker-mobile-track.is-sliding{animation:.42s ease-in-out forwards ship-ticker-mobile-slide}@keyframes ship-ticker-mobile-slide{0%{transform:translateY(0)}to{transform:translateY(calc(-1*var(--ship-ticker-mobile-item-height)))}}.ship-ticker-item-mobile{width:100%;min-width:0;height:var(--ship-ticker-mobile-item-height);padding:8px max(10px,env(safe-area-inset-left,0px))8px max(10px,env(safe-area-inset-right,0px));box-sizing:border-box;border-right:none;flex-shrink:0}.ship-ticker-mobile-body{align-items:stretch;gap:10px;min-width:0;height:100%;display:flex}.ship-ticker-mobile-photo{flex-shrink:0;align-items:center;padding-bottom:4px;padding-right:10px;display:flex}.ship-ticker-item-mobile .ship-ticker-thumbnail{width:40px;height:40px}.ship-ticker-mobile-main{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;display:flex}.ship-ticker-mobile-top{align-items:center;gap:8px;min-width:0;display:flex}.ship-ticker-mobile-name{color:#a8c7e9;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:700;line-height:1.15;overflow:hidden}.ship-ticker-mobile-position{color:#8ba3c2;min-width:0;font-size:11px;line-height:1.2}.ship-ticker-mobile-top .ship-ticker-status{flex-shrink:0}.ship-ticker-mobile-top .ship-ticker-status-dot{margin-right:0}.ship-ticker-flip-viewport{height:1.125rem;position:relative;overflow:hidden}.ship-ticker-flip-track{will-change:transform;flex-direction:column;display:flex}.ship-ticker-flip-track.is-sliding{animation:.42s ease-in-out forwards ship-ticker-flip-slide}.ship-ticker-flip-line{color:#8ba3c2;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;height:1.125rem;font-size:11px;line-height:1.125rem;overflow:hidden}.ship-ticker-mobile-flip .ship-ticker-flip-line{color:#93c5fd}@keyframes ship-ticker-flip-slide{0%{transform:translateY(0)}to{transform:translateY(-1.125rem)}}@media (min-width:769px){.ship-ticker-content{touch-action:none}}@media (max-width:768px){.ship-ticker-dock{width:100%;max-width:100%;position:fixed;bottom:0;left:0;right:0}.ship-ticker{border-bottom:none;border-left:none;border-right:none;border-radius:0;width:100%;max-width:100%}.ship-ticker-content{touch-action:pan-y;padding:0}.ship-ticker-item-mobile{overflow:hidden}.ship-ticker-scroll{animation:none;display:block}}
