.card {
    border-radius: 12px;
}

#mapViewport {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}

#mapWrapper {
    position: relative;
}

#mapImage {
    width: 100%;
    display: block;
}

#markerLayer {
    position: absolute;
    inset: 0;
}

.map-marker {
    position: absolute;

    width: 24px;
    height: 24px;

    transform: translate(-50%, -50%);

    background-size: contain;
    background-repeat: no-repeat;

    cursor: pointer;
}

.marker-cave {
    background-image:
        url('/img/icons/CaveEntranceIcon.webp');
}

.marker-artifact {
    background-image:
        url('/img/icons/artifact.webp');
}

.marker-hover:hover {
    filter:
        drop-shadow(0 0 8px #00ff99);
}

#caveList {
    max-height: 700px;
    overflow-y: auto;
}

.cave-entry {
    padding: 10px;
    border-bottom: 1px solid #444;
    cursor: pointer;
}

.cave-entry:hover {
    background: rgba(255,255,255,0.08);
}

.detail-image {
    width: 100%;
    border-radius: 12px;
    margin-top: 15px;
}

.artifact-image {
    width: 220px;
    max-width: 100%;
    border-radius: 12px;
}

#mapViewport {

    position: relative;

    overflow: hidden;

    border-radius: 12px;
}

#mapWrapper {

    position: relative;
}

#mapImage {

    width: 100%;

    display: block;
}

.map-marker {

    position: absolute;

    width: 22px;
    height: 22px;

    transform: translate(-50%, -50%);

    background-size: contain;
    background-repeat: no-repeat;

    cursor: pointer;

    z-index: 10;
}

.cave-row {

    padding: 10px;

    border-bottom:
        1px solid rgba(255,255,255,0.1);

    cursor: pointer;

    transition: 0.2s;
}

.cave-row:hover {

    background:
        rgba(255,255,255,0.08);
}

.detail-image,
.artifact-image {

    width: 100%;

    border-radius: 10px;

    margin-top: 12px;
}

.note-card {

    background:
        rgba(255,255,255,0.05);

    border:
        1px solid rgba(255,255,255,0.08);

    border-radius: 10px;

    padding: 12px;

    margin-bottom: 12px;
}

.note-image {

    width: 100%;

    border-radius: 8px;

    margin-top: 8px;
}