/* BMY CORE 1.3.1 — unified Leaflet route-map component */
[data-cruising-chart]{--bmy-map-bg:#08243b;--bmy-map-panel:rgba(7,28,47,.86);--bmy-map-ray:#75ddff;--bmy-map-text:#eefbff;position:relative}
[data-cruising-chart] .bmy-cruising-map{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 70% 18%,rgba(95,186,233,.10),transparent 31%),linear-gradient(145deg,#08243b 0%,#0a2942 58%,#06192d 100%);cursor:grab}
[data-cruising-chart] .bmy-cruising-map:active{cursor:grabbing}
[data-cruising-chart] .bmy-cruising-map .leaflet-container{width:100%;height:100%;background:transparent;font-family:var(--ui-sans)}
[data-cruising-chart] .bmy-cruising-map .leaflet-tile-pane{filter:grayscale(.88) invert(.91) sepia(.32) hue-rotate(171deg) saturate(1.58) brightness(.78) contrast(1.04);opacity:.9}
[data-cruising-chart] .bmy-cruising-map .leaflet-control-attribution{margin:0 8px 34px 0!important;padding:4px 7px!important;border:1px solid rgba(255,255,255,.08);background:rgba(7,28,47,.74)!important;color:rgba(255,255,255,.42)!important;font-size:9px!important;backdrop-filter:blur(8px)}
[data-cruising-chart] .bmy-cruising-map .leaflet-control-attribution a{color:rgba(210,245,255,.68)!important}
[data-cruising-chart] .bmy-cruising-map .leaflet-control-container{position:relative;z-index:700}
[data-cruising-chart] .bmy-cruising-map .leaflet-interactive{outline:none}
[data-cruising-chart] .bmy-route-core{stroke-dasharray:10 11;animation:bmy-unified-route-flow 1.2s linear infinite}
[data-cruising-chart] .bmy-route-halo{filter:drop-shadow(0 0 7px rgba(39,201,255,.55))}
@keyframes bmy-unified-route-flow{to{stroke-dashoffset:-21}}
[data-cruising-chart] .bmy-leaflet-marker{background:transparent!important;border:0!important}
[data-cruising-chart] .bmy-charter-point{position:relative;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:rgba(5,22,39,.94);color:#fff;box-shadow:0 0 0 1px rgba(131,226,255,.72),0 0 0 5px rgba(48,198,255,.10),0 8px 22px rgba(0,0,0,.30);cursor:pointer}
[data-cruising-chart] .bmy-charter-point span{display:grid;place-items:center;width:100%;height:100%;font-size:9px;font-weight:700}
[data-cruising-chart] .bmy-charter-point b{position:absolute;left:35px;top:50%;transform:translateY(-50%);padding:5px 7px;background:rgba(7,28,47,.86);border:1px solid rgba(255,255,255,.09);color:#eefbff;font-size:10px;font-weight:500;white-space:nowrap;pointer-events:none;backdrop-filter:blur(8px)}
[data-cruising-chart] .bmy-charter-point.is-start{background:#dffaff;color:#06172a;box-shadow:0 0 0 1px #fff,0 0 22px rgba(46,203,255,.72)}
[data-cruising-chart] .bmy-charter-point.is-start b:before{content:'Departure · ';color:#4ed0ff}
[data-cruising-chart] .cruising-chart-controls{position:absolute;z-index:8;top:18px;right:18px;display:flex;align-items:center;background:rgba(7,28,47,.86);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 38px rgba(0,8,15,.19);backdrop-filter:blur(18px)}
[data-cruising-chart] .cruising-chart-controls button,[data-cruising-chart] .cruising-chart-controls a{display:grid;place-items:center;width:39px;height:39px;border:0;border-right:1px solid rgba(255,255,255,.11);background:transparent;color:rgba(255,255,255,.82);font:500 16px/1 var(--ui-sans);cursor:pointer;transition:background .2s ease,color .2s ease}
[data-cruising-chart] .cruising-chart-controls>*:last-child{border-right:0}
[data-cruising-chart] .cruising-chart-controls button:hover,[data-cruising-chart] .cruising-chart-controls a:hover{background:rgba(85,210,255,.12);color:#fff}
[data-cruising-chart] .cruising-chart-gesture{position:absolute;z-index:6;left:18px;bottom:34px;padding:7px 9px;background:rgba(7,28,47,.72);color:rgba(255,255,255,.62);font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.11em;pointer-events:none;backdrop-filter:blur(8px)}
[data-cruising-chart] .cruising-chart-stage-foot{position:absolute;z-index:6;left:0;right:0;bottom:0;height:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 12px;background:rgba(7,28,47,.86);color:rgba(255,255,255,.56);font-size:9px;text-transform:uppercase;letter-spacing:.09em;pointer-events:none}
[data-cruising-chart].chart-map-warning .bmy-cruising-map:after{content:'Map tiles unavailable · check connection';position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%);padding:10px 14px;border:1px solid rgba(130,220,255,.25);background:rgba(7,28,47,.9);color:#dff8ff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
@media(max-width:700px){[data-cruising-chart] .bmy-charter-point b{display:none}[data-cruising-chart] .cruising-chart-gesture{display:none}[data-cruising-chart] .cruising-chart-controls{top:12px;right:12px}[data-cruising-chart] .cruising-chart-controls button,[data-cruising-chart] .cruising-chart-controls a{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){[data-cruising-chart] .bmy-route-core{animation:none}}

/* BMY CORE 1.6.0 — chart visual intelligence pass */
[data-cruising-chart] .bmy-cruising-map{background:radial-gradient(circle at 72% 14%,rgba(76,176,224,.11),transparent 32%),linear-gradient(145deg,#09243a 0%,#0a2941 58%,#071a2d 100%)}
[data-cruising-chart] .bmy-cruising-map .leaflet-tile-pane{filter:grayscale(.94) invert(.90) sepia(.25) hue-rotate(169deg) saturate(1.42) brightness(.80) contrast(.96);opacity:.88}
[data-cruising-chart] .bmy-route-halo{filter:drop-shadow(0 0 8px rgba(43,202,255,.46));opacity:.9}
[data-cruising-chart] .bmy-charter-point{width:27px;height:27px;background:rgba(4,21,35,.94);box-shadow:0 0 0 1px rgba(125,224,255,.76),0 0 0 4px rgba(50,197,244,.07),0 7px 20px rgba(0,0,0,.22)}
[data-cruising-chart] .bmy-charter-point span{font-size:9px;letter-spacing:.02em}
[data-cruising-chart] .bmy-charter-point b{left:34px;padding:5px 7px;background:rgba(5,22,38,.86);border-color:rgba(255,255,255,.075);font-size:10px;opacity:0;visibility:hidden;transform:translate(4px,-50%);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
[data-cruising-chart][data-map-zoom-tier="regional"] .bmy-charter-point.is-start b,
[data-cruising-chart][data-map-zoom-tier="regional"] .bmy-charter-point.is-end b,
[data-cruising-chart][data-map-zoom-tier="local"] .bmy-charter-point.is-start b,
[data-cruising-chart][data-map-zoom-tier="local"] .bmy-charter-point.is-end b,
[data-cruising-chart][data-map-zoom-tier="local"] .bmy-charter-point:hover b,
[data-cruising-chart][data-map-zoom-tier="local"] .bmy-charter-point:focus b,
[data-cruising-chart][data-map-zoom-tier="close"] .bmy-charter-point b{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}
[data-cruising-chart][data-map-zoom-tier="regional"] .bmy-charter-point:not(.is-start):not(.is-end){transform:scale(.88)}
[data-cruising-chart] .cruising-chart-controls{background:rgba(5,22,38,.78);border-color:rgba(255,255,255,.11);box-shadow:0 16px 42px rgba(0,8,15,.16)}
[data-cruising-chart] .cruising-chart-gesture,[data-cruising-chart] .cruising-chart-stage-foot{background:rgba(5,22,38,.70)}
@media(prefers-reduced-motion:reduce){[data-cruising-chart] .bmy-charter-point b{transition:none!important}}

/* BMY CORE 1.8.0 — BMY Coast Intelligence Layer */
[data-cruising-chart] .bmy-charter-point.has-intelligence{box-shadow:0 0 0 1px rgba(140,230,255,.86),0 0 0 5px rgba(68,204,255,.09),0 0 22px rgba(62,196,239,.20)}
[data-cruising-chart] .bmy-intel-signal{position:absolute;right:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:#baf2ff;box-shadow:0 0 0 3px rgba(72,205,247,.13),0 0 12px rgba(87,216,255,.65)}
[data-cruising-chart][data-map-zoom-tier="regional"] .bmy-charter-point.has-intelligence:not(.is-start):not(.is-end) .bmy-intel-signal{opacity:.68}
[data-cruising-chart] .bmy-coast-intelligence-card{position:absolute;z-index:780;left:20px;bottom:44px;width:min(390px,calc(100% - 40px));max-height:calc(100% - 80px);overflow:auto;background:rgba(5,22,37,.94);border:1px solid rgba(156,227,255,.20);color:#edfaff;box-shadow:0 28px 72px rgba(0,8,17,.38);backdrop-filter:blur(20px) saturate(125%)}
[data-cruising-chart] .bmy-coast-intelligence-card[hidden]{display:none}
[data-cruising-chart] .bmy-coast-intelligence-card figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:#0b273d}
[data-cruising-chart] .bmy-coast-intelligence-card figure img{display:block;width:100%;height:100%;object-fit:cover}
[data-cruising-chart] .bmy-coast-intel-body{padding:18px 19px 19px}
[data-cruising-chart] .bmy-coast-intel-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}
[data-cruising-chart] .bmy-coast-intel-top>span{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#79d8fb}
[data-cruising-chart] .bmy-coast-intel-top button{width:30px;height:30px;border:1px solid rgba(255,255,255,.13);background:transparent;color:#fff;font-size:18px;line-height:1;cursor:pointer}
[data-cruising-chart] .bmy-coast-intel-route{margin:0 0 8px;color:rgba(226,247,255,.45);font-size:10px;text-transform:uppercase;letter-spacing:.10em}
[data-cruising-chart] .bmy-coast-intel-body h3{margin:0;font:400 31px/1 var(--ui-display);letter-spacing:-.035em;color:#fff}
[data-cruising-chart] .bmy-coast-intel-summary{margin:11px 0 0;color:rgba(233,249,255,.70);font-size:13px;line-height:1.62}
[data-cruising-chart] .bmy-coast-intel-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
[data-cruising-chart] .bmy-coast-intel-tags span{padding:6px 8px;border:1px solid rgba(144,218,246,.15);background:rgba(112,211,246,.055);color:#ccefff;font-size:10px;letter-spacing:.02em}
[data-cruising-chart] .bmy-coast-intel-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:15px;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
[data-cruising-chart] .bmy-coast-intel-meta span{display:grid;gap:4px;padding:10px 10px 10px 0;border-right:1px solid rgba(255,255,255,.08)}
[data-cruising-chart] .bmy-coast-intel-meta span:last-child{border-right:0;padding-left:10px}
[data-cruising-chart] .bmy-coast-intel-meta small,[data-cruising-chart] .bmy-coast-intel-why small{color:rgba(220,244,253,.42);font-size:9px;text-transform:uppercase;letter-spacing:.11em}
[data-cruising-chart] .bmy-coast-intel-meta b{font-size:11px;font-weight:560;line-height:1.35;color:#f3fbff}
[data-cruising-chart] .bmy-coast-intel-why{margin-top:15px}
[data-cruising-chart] .bmy-coast-intel-why p{margin:6px 0 0;color:rgba(233,249,255,.74);font-size:12px;line-height:1.58}
[data-cruising-chart] .bmy-coast-intel-body>a{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:13px;border-top:1px solid rgba(255,255,255,.10);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
[data-cruising-chart] .bmy-coast-intel-body>a b{color:#75ddff;font-weight:600}
[data-cruising-chart][data-chart-mode="itinerary-card"] .bmy-coast-intelligence-card{left:12px;bottom:12px;width:min(330px,calc(100% - 24px));max-height:calc(100% - 24px)}
[data-cruising-chart][data-chart-mode="itinerary-card"] .bmy-coast-intelligence-card figure{display:none}
[data-cruising-chart][data-chart-mode="itinerary-card"] .bmy-coast-intel-body{padding:14px}
[data-cruising-chart][data-chart-mode="itinerary-card"] .bmy-coast-intel-body h3{font-size:24px}
@media(max-width:700px){[data-cruising-chart] .bmy-coast-intelligence-card{left:10px;right:10px;bottom:36px;width:auto;max-height:60%;}[data-cruising-chart] .bmy-coast-intelligence-card figure{aspect-ratio:2/1}[data-cruising-chart] .bmy-coast-intel-body h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){[data-cruising-chart] .bmy-intel-signal{box-shadow:0 0 0 2px rgba(72,205,247,.13)}}
[data-cruising-chart] .bmy-coast-layer-marker{background:transparent!important;border:0!important}
[data-cruising-chart] .bmy-coast-layer-point{position:relative;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:rgba(9,40,60,.70);box-shadow:0 0 0 1px rgba(117,221,255,.35);cursor:pointer;opacity:0;transform:scale(.72);transition:opacity .18s ease,transform .18s ease}
[data-cruising-chart] .bmy-coast-layer-point i{position:absolute;inset:6px;border-radius:50%;background:#83e1ff;box-shadow:0 0 10px rgba(92,218,255,.75)}
[data-cruising-chart] .bmy-coast-layer-point b{position:absolute;left:25px;top:50%;transform:translate(4px,-50%);padding:4px 6px;background:rgba(5,22,38,.82);border:1px solid rgba(255,255,255,.08);color:#e8f9ff;font-size:10px;font-weight:550;white-space:nowrap;opacity:0;visibility:hidden;transition:.18s ease}
[data-cruising-chart][data-map-zoom-tier="local"] .bmy-coast-layer-point,[data-cruising-chart][data-map-zoom-tier="close"] .bmy-coast-layer-point{opacity:.9;transform:scale(1)}
[data-cruising-chart][data-map-zoom-tier="local"] .bmy-coast-layer-point:hover b,[data-cruising-chart][data-map-zoom-tier="local"] .bmy-coast-layer-point:focus b,[data-cruising-chart][data-map-zoom-tier="close"] .bmy-coast-layer-point b{opacity:1;visibility:visible;transform:translate(0,-50%)}

/* BMY CORE 3.2.5 — Coast Intelligence card media scaling across embedded charts */
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intelligence-card{left:16px;bottom:16px;width:min(352px,calc(100% - 32px));max-height:calc(100% - 32px);display:flex;flex-direction:column;overflow:hidden}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intelligence-card figure{flex:0 0 112px;aspect-ratio:auto;overflow:hidden}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intelligence-card figure img{width:100%;height:100%;object-fit:cover}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-body{padding:12px 14px 14px;overflow:auto;scrollbar-width:thin}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-top{margin-bottom:7px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-top>span{font-size:8px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-route{margin-bottom:5px;font-size:8px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-body h3{font-size:25px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-summary{margin-top:7px;font-size:10px;line-height:1.5}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-tags{gap:4px;margin-top:9px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-tags span{padding:5px 6px;font-size:7px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-meta{margin-top:9px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-meta span{padding:7px 7px 7px 0}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-meta span:last-child{padding-left:7px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-meta small,[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-why small{font-size:7px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-meta b{font-size:9px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-why{margin-top:9px}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-why p{margin-top:4px;font-size:9px;line-height:1.48}
[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-body>a{margin-top:9px;padding-top:9px;font-size:8px}
[data-cruising-chart][data-chart-mode="itinerary-card"] .bmy-coast-intelligence-card{display:flex;flex-direction:column;overflow:hidden}
[data-cruising-chart][data-chart-mode="itinerary-card"] .bmy-coast-intelligence-card figure{display:block;flex:0 0 82px;aspect-ratio:auto}
[data-cruising-chart][data-chart-mode="itinerary-card"] .bmy-coast-intelligence-card figure img{width:100%;height:100%;object-fit:cover}
[data-cruising-chart][data-chart-mode="itinerary-card"] .bmy-coast-intel-body{overflow:auto}
@media(max-width:700px){[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intelligence-card{left:10px;right:10px;bottom:10px;width:auto;max-height:calc(100% - 20px)}[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intelligence-card figure{flex-basis:94px}[data-cruising-chart][data-chart-mode="detail-hero"] .bmy-coast-intel-body{padding:11px 12px}}
