/* Shared boat / crew profile modal for race maps */
.boat-modal{
  position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;
  padding:16px;background:rgba(2,8,16,.72);backdrop-filter:blur(8px);
}
.boat-modal.open{display:flex;}
.boat-modal-card{
  width:min(560px,100%);max-height:min(88vh,820px);overflow:auto;
  border-radius:20px;border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,#0c1826,#071018);padding:20px 20px 16px;
  box-shadow:0 24px 60px rgba(0,0,0,.5);color:#f5f8ff;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
.boat-modal-card h2{margin:0 0 6px;font-size:1.35rem;}
.boat-modal-card .muted{color:rgba(221,230,248,.72);}
.boat-modal-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px;}
.boat-modal-meta span{
  padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:700;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(234,242,255,.9);
}
.boat-modal h3{margin:16px 0 8px;font-size:1rem;}
.boat-modal .crew-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.boat-modal .crew-list li{
  display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.95rem;
}
.boat-modal .crew-list .role{color:#5eead4;font-weight:700;text-transform:capitalize;font-size:.85rem;}
.boat-modal .boat-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:8px;}
.boat-modal .boat-gallery a{display:block;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);aspect-ratio:1;}
.boat-modal .boat-gallery img{width:100%;height:100%;object-fit:cover;display:block;}
.boat-modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.boat-modal-actions button{
  padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);
  background:rgba(79,195,255,.22);color:#fff;cursor:pointer;font-weight:700;font:inherit;
}
.boat-modal-actions button:hover{background:rgba(79,195,255,.38);}
.board .row{cursor:pointer;}
.board .row:hover{background:rgba(79,195,255,.08);}
.panel .boat.clickable,.boat.clickable{cursor:pointer;}
