.cruise-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.cruise-tabs .btn{min-height:48px;font-size:16px}
.cruise-tabs .btn[aria-selected=true]{background:#000080;color:#fff}
.pack-pane{background:#c0c0c0;border:2px solid #808080;padding:10px;margin:0 0 16px}
.pack-guide p{font:15px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif}
.pack-group{background:#fff;border:2px solid #000080;padding:8px;margin:0 0 8px}
.pack-group h3{margin:0 0 6px;color:#111827}
.pack-group label{display:flex;gap:8px;align-items:center;min-height:44px;font-size:16px}
.pack-count{font:700 14px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}
.site-header{padding-top:env(safe-area-inset-top)}
.site-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.site-footer a{color:var(--accent)}
.fleet-status{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px;scroll-margin-top:calc(var(--nav-h, 56px) + 10px)}
.fleet-status .live-pill{flex:1 1 auto;min-width:0}
.fleet-status #liveStatus{overflow:visible;text-overflow:clip;white-space:normal}
.ship-hint{margin:8px 0 0;color:var(--ink-muted,#334155);font-size:.9rem}
.refresh-icon{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.refresh-icon svg{width:22px;height:22px;display:block}
.about-data{width:100%;margin:0 0 16px;border:1px solid var(--line,#e2e8f0);border-radius:12px;background:var(--paper,#fff);color:var(--ink,#0f172a)}
.about-data summary{min-height:44px;display:flex;align-items:center;padding:0 12px;font:650 15px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.about-data .cruise-note{margin:0;border:0;border-radius:0 0 12px 12px;background:transparent;color:var(--ink,#0f172a)}
.live-pill{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-height:44px;margin:0;color:var(--ink,#111827);font:700 15px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.live-dot{width:12px;height:12px;border-radius:50%;background:#15803d;box-shadow:0 0 0 0 rgba(21,128,61,.7);animation:live-pulse 1.4s ease-out infinite;flex:none}
.live-pill.is-paused .live-dot{background:#a16207;animation:none}
html[data-theme] .live-pill{color:var(--ink,#111827)}
@keyframes live-pulse{70%{box-shadow:0 0 0 8px rgba(21,128,61,0)}100%{box-shadow:0 0 0 0 rgba(21,128,61,0)}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}
.freshness-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.freshness-row .cruise-note{margin:0;flex:1 1 220px}
.freshness-row .btn{flex:0 0 auto;min-height:44px}
.cruise-note{background:#ffffcc;color:#111827;border:3px ridge #dfdfdf;padding:10px 12px;margin:0 0 14px}
.radar-kicker{margin:0;font:600 13px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.04em;color:var(--muted,#334155);text-transform:uppercase}
.ship-map{margin:0 0 16px;padding:12px;background:var(--paper,#fff);color:var(--ink,#0f172a);border:1px solid var(--line,#e2e8f0);border-radius:16px;box-shadow:0 8px 24px -12px rgba(15,23,42,.35)}
.hero h1,#mapTitle{scroll-margin-top:calc(var(--nav-h, 64px) + 10px)}
.ship-map h2{margin:0 0 10px;font:600 1.15rem Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink,#0f172a)}
#map{height:min(62dvh,560px);min-height:300px;border:0;overflow:hidden;margin:0;background:var(--chip,#f1f5f9);position:relative;z-index:0;border-radius:12px}
#map .leaflet-tile,
#map img.leaflet-tile{
  mix-blend-mode:normal !important;
  box-sizing:content-box !important;
  border:0 !important;
  outline:0 !important;
  padding:0 !important
}
html[data-theme] .ship-map{background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-theme] .ship-map h2{background:transparent;color:var(--ink)}
.leaflet-control-attribution{font-size:11px;max-width:58%;margin-bottom:2px !important}
#map .leaflet-bottom.leaflet-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:0 6px 4px 0}
#map .leaflet-bottom.leaflet-right .leaflet-control{float:none;clear:none;margin:0}
#map .leaflet-control-zoom{order:1;border:0;box-shadow:0 1px 3px rgba(15,23,42,.28)}
#map .leaflet-control-attribution{order:2}
#map .leaflet-control-zoom a{
  width:36px !important;height:36px !important;min-height:36px !important;
  line-height:34px !important;font-size:18px !important
}
.toolbar input,.toolbar select{font-size:16px}
.toolbar .btn{min-height:44px}
.result-count{margin:-8px 0 12px;color:var(--muted);font-size:.9rem}
.ship-list{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.ship{display:block;width:100%;text-align:left;background:#fff;border:3px ridge #dfdfdf;padding:14px 16px;box-shadow:none;cursor:pointer;font:inherit;color:#111827;min-height:44px}
.ship.is-selected{border-style:inset}
.ship-name{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif;font-weight:700;font-size:1.2rem;display:block}
.ship .cat{display:block;margin-top:2px}
.ship-line,.ship .meta{display:block;margin-top:3px}
.ship .is-stale{color:#8a4b12}
#map,.ship-marker,.leaflet-container{filter:none;animation:none}
.credits{color:var(--muted);font-size:.88rem;margin:0 0 28px}
.credits h2{font-size:1.15rem;color:var(--ink);margin:0 0 6px}
.credits ul{padding-left:1.1rem}
.credits a{color:var(--accent)}
.leaflet-popup.ship-callout{max-width:240px}
.leaflet-popup.ship-callout .leaflet-popup-content-wrapper{background:var(--paper,#fff);color:var(--ink,#0f172a);border-radius:12px;border:1px solid var(--line,#e2e8f0);box-shadow:0 8px 20px rgba(15,23,42,.16)}
.leaflet-popup.ship-callout .leaflet-popup-tip{background:var(--paper,#fff);border:1px solid var(--line,#e2e8f0)}
.leaflet-popup.ship-callout .leaflet-popup-content{margin:8px 10px 10px;width:auto !important;max-width:220px;font:14px/1.35 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink,#0f172a)}
.leaflet-popup.ship-callout a.leaflet-popup-close-button{color:var(--ink,#0f172a);width:28px;height:28px;font:700 18px/28px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:0;text-align:center}
.popup-title{display:block;margin:0 28px 4px 0;color:var(--ink,#0f172a);font-size:14px;font-weight:700}
.popup-row{margin:2px 0;font-size:14px;overflow-wrap:anywhere}
.popup-row b{color:var(--ink,#0f172a)}
.popup-note{margin-top:4px;color:var(--muted,#334155);font-size:13px}
.popup-more{min-height:36px;margin-top:6px;padding:0 8px;border:0;background:transparent;color:var(--link,#1d4ed8);font:700 14px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:underline}
.popup-extra[hidden]{display:none}
.popup-pick{display:flex;align-items:center;width:100%;min-height:44px;margin:4px 0 0;padding:6px 8px;text-align:left;border:1px solid var(--line,#cbd5e1);border-radius:8px;background:var(--chip,#f8fafc);color:var(--ink,#0f172a);font:600 14px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[data-theme="dark"] .popup-pick,html[data-theme="harbor"] .popup-pick{background:#1e293b;color:#f8fafc;border-color:#64748b}
.countdown{background:#061806;color:#86efac;border:3px ridge #39ff14;padding:12px;margin:0 0 14px}
.countdown h2{margin:0 0 8px;color:#ffcc33;font:700 16px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif}
.count-lcd{font:700 28px/1.2 "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;letter-spacing:.08em;background:#020;color:#86efac;border:2px inset #0a0;padding:10px 8px;text-align:center;text-shadow:0 0 8px #39ff14}
.countdown.is-empty .count-lcd{display:none}
.countdown.is-empty #countCaption{margin:0 0 10px;font:600 16px/1.4 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#d7ff9a}
.count-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:8px}
.count-form label{display:flex;flex-direction:column;gap:4px;font:700 13px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif;color:#d7ff9a}
.count-form input,.count-form select{background:#fff;color:#111827;min-height:44px;font-size:16px;padding:6px}
.leaflet-overlay-pane svg path.leaflet-interactive{pointer-events:none}
.deals{background:#ffffcc;color:#111827;border:4px ridge #000080;padding:12px;margin:0 0 16px}
.deals-kicker{margin:0;font:700 12px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;letter-spacing:.08em;color:#111827;text-transform:uppercase}
.deals h2{margin:4px 0 6px;color:#111827;font:700 22px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif}
.deals-lead,.deals-fresh,.deals-note,.deals-count{margin:0 0 8px}
.deals-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:0 0 8px}
.deals-filters label{display:flex;flex-direction:column;gap:4px;font:700 13px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif;color:#111827}
.deals-filters select,.deals-filters input{background:#fff;color:#111827;min-height:44px;font-size:16px;padding:6px;border:2px inset #808080}
.deals-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:2px solid #000080;background:#fff}
.deals-table{width:100%;min-width:720px;border-collapse:collapse;font:14px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif}
.deals-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.deals-table th{background:#000080;color:#fff;text-align:left;padding:8px;font:700 13px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif}
.deals-table td{border-top:1px solid #99b;padding:8px;vertical-align:top}
.deals-table tr.is-value{background:#e8ffe8}
.deal-ship{font:700 15px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif;color:#111827}
.deal-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.deal-badge{display:inline-block;padding:1px 6px;border:2px solid #000;font:700 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif;box-shadow:2px 2px 0 #000}
.deal-badge.is-value{background:#39ff14;color:#111827}
.deal-badge.is-hot{background:#ff3300;color:#fff}
.deal-price{font:700 16px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;color:#111827}
.deal-actions{display:flex;flex-direction:column;gap:6px;min-width:168px}
.deal-actions .btn,.deal-actions a.btn{min-height:44px;text-align:center;text-decoration:none}
.deals-note a{color:var(--link,#1d4ed8)}
.deals-more{display:block;width:100%;min-height:44px;margin:10px 0 0}
.deals-count{color:var(--ink,#0f172a);font-weight:650}
@media(max-width:768px){
 .deals h2{font-size:18px}
 .deals-filters label{flex:1 1 140px}
 .deals-table{min-width:0}
 .deals-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .deals-table thead{display:none}
 .deals-table,.deals-table tbody,.deals-table tr,.deals-table td{display:block;width:auto}
 .deals-table tr{margin:8px;border:2px solid #000080;background:#fff}
 .deals-table td{border-top:0;padding:6px 8px}
 .deals-table td::before{content:attr(data-label);display:block;font:700 12px -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Verdana, Roboto, Helvetica, Arial, sans-serif;color:#111827}
 .deal-actions{min-width:0}
}
@media(max-width:720px){
 .hero,.ship-map{scroll-margin-top:calc(var(--nav-h, 64px) + 8px)}
 .hero{padding:28px 0 12px}
 #map{height:min(36svh,340px);min-height:240px}
}
