.cp_alexandria_board {
    max-width: 1120px;
    margin: 14px auto 22px;
    font-family: Arial, sans-serif;
    color: #514940;
}

/* obere Statusleiste ruhiger */
.cp_statusbar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-bottom: 10px;
    background: rgba(238,236,230,0.58);
    border: 1px solid rgba(120,110,100,0.16);
}

.cp_statusbar div {
    background: transparent;
    border: 0;
    border-right: 1px solid rgba(120,110,100,0.14);
    padding: 11px 14px;
    box-sizing: border-box;
}

.cp_statusbar div:last-child {
    border-right: 0;
}

.cp_statusbar i {
    margin-right: 6px;
    opacity: .7;
}

.cp_statusbar span {
    display: block;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 7px;
    opacity: .75;
}

.cp_statusbar b {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    text-transform: uppercase;
}

/* ruhigeres Hauptgrid */
.cp_board_grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr;
    grid-template-rows: 145px 145px;
    gap: 8px;
}

/* keine harten linken Balken mehr */
.cp_board_card {
    height: 145px;
    background: rgba(238,236,230,0.58);
    border: 1px solid rgba(120,110,100,0.16);
    padding: 14px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

.cp_large {
    grid-column: 1;
    grid-row: 1 / span 2;
    height: 298px;
}

/* Titel dezenter */
.cp_card_title {
    display: flex;
    gap: 8px;
    align-items: center;
    border-bottom: 1px solid rgba(80,70,60,0.12);
    padding-bottom: 8px;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 9px;
    opacity: .9;
}

.cp_card_title i {
    font-size: 13px;
    opacity: .75;
}

/* Scrollbereiche */
.cp_scroll,
.cp_recent_scroll {
    max-height: 76px;
    overflow: auto;
    padding-right: 7px;
    font-size: 10px;
    line-height: 1.6;
    text-align: justify;
}

.cp_scroll p {
    margin: 0 0 6px;
}

.cp_scroll::-webkit-scrollbar,
.cp_recent_scroll::-webkit-scrollbar,
.cp_place_content::-webkit-scrollbar {
    width: 3px;
}

.cp_scroll::-webkit-scrollbar-thumb,
.cp_recent_scroll::-webkit-scrollbar-thumb,
.cp_place_content::-webkit-scrollbar-thumb {
    background: rgba(81,73,64,0.45);
}

/* Orte */
.cp_places input {
    display: none;
}

.cp_place_nav {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 3px;
    margin-bottom: 10px;
}

.cp_place_nav label {
    background: rgba(255,255,255,0.26);
    border: 1px solid rgba(80,70,60,0.10);
    padding: 6px 3px;
    text-align: center;
    text-transform: uppercase;
    font-size: 7px;
    letter-spacing: 1px;
    cursor: pointer;
}

#cp_place_alex:checked ~ .cp_place_nav label[for="cp_place_alex"],
#cp_place_hilltop:checked ~ .cp_place_nav label[for="cp_place_hilltop"],
#cp_place_kingdom:checked ~ .cp_place_nav label[for="cp_place_kingdom"],
#cp_place_woodbury:checked ~ .cp_place_nav label[for="cp_place_woodbury"],
#cp_place_atlanta:checked ~ .cp_place_nav label[for="cp_place_atlanta"] {
    background: rgba(81,73,64,0.82);
    color: #fff;
}

.cp_place_content {
    height: 195px;
    padding: 14px 16px;
    overflow: auto;
    box-sizing: border-box;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(120,110,100,0.10);
}

.cp_place_page {
    display: none;
    font-size: 11px;
    line-height: 1.7;
}

#cp_place_alex:checked ~ .cp_place_content .cp_place_alex,
#cp_place_hilltop:checked ~ .cp_place_content .cp_place_hilltop,
#cp_place_kingdom:checked ~ .cp_place_content .cp_place_kingdom,
#cp_place_woodbury:checked ~ .cp_place_content .cp_place_woodbury,
#cp_place_atlanta:checked ~ .cp_place_content .cp_place_atlanta {
    display: block;
}

.cp_place_page b {
    display: block;
    text-transform: uppercase;
    font-size: 15px;
    letter-spacing: 4px;
    margin-bottom: 10px;
    font-weight: normal;
}

.cp_place_page p {
    margin: 0 0 12px;
    text-align: justify;
    font-size: 11px;
    line-height: 1.8;
}

.cp_place_page span {
    display: block;
    background: transparent;
    padding: 0;
    text-transform: uppercase;
    font-size: 8px;
    letter-spacing: 2px;
    opacity: .85;
}

/* Recentposts ruhiger */
.cp_recent_list {
    display: grid;
    gap: 4px;
}

.cp_recent_item {
    background: rgba(255,255,255,0.16);
    border: 0;
    border-bottom: 1px solid rgba(80,70,60,0.10);
    padding: 6px 5px;
}

.cp_recent_subject {
    display: block;
    color: #514940 !important;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: .8px;
    font-weight: bold;
    line-height: 1.4;
}

.cp_recent_meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 3px;
    font-size: 8px;
    opacity: .65;
}

.cp_recent_meta span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Wetter */
.cp_weather_card {
    cursor: pointer;
}

.cp_weather_preview {
    height: 74px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: #514940;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: .65;
}

.cp_weather_preview i {
    font-size: 20px;
}

.cp_weather_hover {
    position: absolute;
    inset: 0;
    background: rgba(238,236,230,0.98);
    padding: 14px;
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition: .2s ease;
    z-index: 5;
}

.cp_weather_card:hover .cp_weather_hover {
    opacity: 1;
    pointer-events: auto;
}

.cp_weather_block {
    background: rgba(255,255,255,0.20);
    padding: 7px 9px;
    margin-bottom: 6px;
    font-size: 10px;
}

.cp_weather_block b,
.cp_weather_block span {
    display: block;
}

.cp_weather_block b {
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 3px;
}

.cp_mini_note {
    font-size: 9px;
    line-height: 1.5;
    opacity: .7;
    margin-top: 7px;
}

/* Team ruhiger */
.cp_team_item {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 2px;
    border-bottom: 1px solid rgba(80,70,60,0.10);
}

.cp_team_avatar img {
    width: 30px;
    height: 30px;
    object-fit: cover;
    border-radius: 2px;
    opacity: .85;
}

.cp_team_info {
    font-size: 9px;
    line-height: 1.35;
}

.cp_team_name {
    text-transform: uppercase;
    letter-spacing: .8px;
    font-weight: bold;
    font-size: 9px;
}

.cp_team_char,
.cp_team_last {
    font-size: 8px;
    opacity: .62;
}

.cp_team_last {
    opacity: .48;
}

/* Responsive */
@media (max-width: 900px) {
    .cp_statusbar {
        grid-template-columns: 1fr 1fr;
    }

    .cp_board_grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .cp_large {
        grid-column: span 2;
        grid-row: auto;
        height: 260px;
    }

    .cp_place_content {
        height: 145px;
    }
}

@media (max-width: 650px) {
    .cp_statusbar,
    .cp_board_grid {
        grid-template-columns: 1fr;
    }

    .cp_large {
        grid-column: span 1;
    }

    .cp_board_card,
    .cp_large {
        height: auto;
        min-height: 160px;
    }

    .cp_place_content {
        height: 160px;
    }
}
.cp_herd_card {
    cursor: pointer;
}

.cp_herd_preview {
    height: 74px;
    display: grid;
    place-items: center;
    text-align: center;
    color: #514940;
    opacity: .7;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 10px;
}

.cp_herd_preview i {
    font-size: 20px;
    margin-bottom: 4px;
}

.cp_herd_preview span,
.cp_herd_preview b {
    display: block;
}

.cp_herd_preview b {
    font-size: 9px;
    margin-top: 3px;
    font-weight: normal;
}

.cp_herd_hover {
    position: absolute;
    inset: 0;
    background: rgba(238,236,230,0.98);
    padding: 13px;
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition: .2s ease;
    z-index: 5;
    overflow: auto;
}

.cp_herd_card:hover .cp_herd_hover {
    opacity: 1;
    pointer-events: auto;
}

.cp_herd_entry {
    background: rgba(255,255,255,0.20);
    padding: 7px 9px;
    margin-bottom: 6px;
    font-size: 10px;
    line-height: 1.45;
}

.cp_herd_entry b {
    display: block;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 3px;
}

.cp_herd_entry span {
    display: block;
}
.cp_map {
    position: relative;
    height: 165px;
    background:
        linear-gradient(rgba(238,236,230,0.42), rgba(238,236,230,0.55)),
        url(https://time.hearts-still-beating.de/images/map.png);
    background-size: cover;
    background-position: center;
    border: 1px solid rgba(120,110,100,0.14);
    overflow: hidden;
    filter: grayscale(35%) sepia(25%) contrast(85%) brightness(105%);
}

.cp_map::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(238,236,230,0.18);
    pointer-events: none;
}

.cp_map_point {
    position: absolute;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    color: #514940;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    opacity: .9;
    transition: .2s ease;
}

.cp_map_point i {
    width: 23px;
    height: 23px;
    background: rgba(238,236,230,0.88);
    border: 1px solid rgba(81,73,64,0.35);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: #514940;
}

.cp_map_point span {
    background: rgba(238,236,230,0.78);
    padding: 2px 5px;
    font-size: 7px;
}

.cp_map_point:hover {
    opacity: 1;
    transform: scale(1.08);
}

.cp_map_point.alex {
    top: 56px;
    left: 118px;
}

.cp_map_point.hilltop {
    top: 48px;
    left: 225px;
}

.cp_map_point.kingdom {
    top: 28px;
    right: 105px;
}

.cp_map_point.sanctuary {
    top: 100px;
    right: 95px;
}

.cp_map_point.atlanta {
    bottom: 28px;
    left: 55px;
}