/* ============================================================
   SHADOWSKINGS — DUNGEON & PRISONERS
   MMO JAIL / CRUCIFIED HEROES PANEL
   ============================================================ */


/* ============================================================
   MAIN PANEL
   ============================================================ */

.jail-panel {
    position: relative;
    overflow: hidden;

    padding: 22px;

    font-size: 13px;
    color: #ddd7cf;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(84, 16, 20, 0.15),
            transparent 38%
        ),
        linear-gradient(
            180deg,
            rgba(16, 15, 18, 0.97),
            rgba(8, 8, 10, 0.98)
        );

    border: 1px solid rgba(117, 90, 82, 0.55);
    border-radius: 8px;

    box-shadow:
        inset 0 0 40px rgba(0, 0, 0, 0.8),
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 0 18px rgba(0, 0, 0, 0.75);
}


.jail-panel::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        repeating-linear-gradient(
            0deg,
            transparent 0,
            transparent 3px,
            rgba(255, 255, 255, 0.008) 4px
        );

    opacity: 0.8;
}


.jail-panel::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    box-shadow:
        inset 0 0 90px rgba(0, 0, 0, 0.7);
}


.jail-panel > * {
    position: relative;
    z-index: 1;
}


/* ============================================================
   THRONE ROOM NAVIGATION
   DUNGEON / IRON GATE STYLE
   ============================================================ */

.jail-panel-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 100%;

    margin-bottom: 12px;
}


.jail-throne-room-button {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 145px;
    min-height: 38px;

    box-sizing: border-box;

    padding: 7px 16px;

    overflow: hidden;

    cursor: pointer;

    border:
        1px solid rgba(124, 101, 85, 0.72);

    border-radius: 3px;

    background:
        linear-gradient(
            180deg,
            rgba(58, 53, 50, 0.98),
            rgba(29, 27, 28, 0.99)
        );

    color: #cfc3b8;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1.1px;

    text-align: center;

    white-space: nowrap;

    text-shadow:
        0 1px 2px #000;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.045),
        inset 0 -8px 15px rgba(0, 0, 0, 0.22),
        0 2px 5px rgba(0, 0, 0, 0.45);

    transition:
        transform 0.14s ease,
        border-color 0.14s ease,
        color 0.14s ease,
        background 0.14s ease,
        box-shadow 0.14s ease;

    touch-action: manipulation;
}


.jail-throne-room-button::before {
    content: "";

    position: absolute;

    top: 0;
    left: 8px;
    right: 8px;

    height: 1px;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(183, 151, 125, 0.38),
            transparent
        );
}


.jail-throne-room-button::after {
    content: "";

    position: absolute;

    left: 15%;
    right: 15%;
    bottom: 0;

    height: 1px;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(122, 47, 48, 0.65),
            transparent
        );

    opacity: 0.7;
}


@media (hover: hover) and (pointer: fine) {

    .jail-throne-room-button:hover {
        transform:
            translateY(-1px);

        color:
            #eee3d8;

        border-color:
            rgba(157, 126, 103, 0.9);

        background:
            linear-gradient(
                180deg,
                rgba(76, 66, 60, 0.98),
                rgba(37, 32, 32, 0.99)
            );

        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.055),
            inset 0 -8px 15px rgba(0, 0, 0, 0.28),
            0 3px 8px rgba(0, 0, 0, 0.55),
            0 0 8px rgba(111, 56, 45, 0.18);
    }
}


.jail-throne-room-button:active {
    transform:
        translateY(1px);

    background:
        linear-gradient(
            180deg,
            rgba(35, 31, 30, 0.99),
            rgba(50, 43, 40, 0.99)
        );

    box-shadow:
        inset 0 2px 7px rgba(0, 0, 0, 0.65);
}


.jail-throne-room-button:focus-visible {
    outline:
        2px solid rgba(166, 132, 105, 0.8);

    outline-offset: 2px;
}


.jail-throne-room-icon {
    display: none;
}


/* ============================================================
   TITLE BLOCK
   ============================================================ */

.jail-title-block {
    text-align: center;

    padding:
        4px
        10px
        20px;

    margin-bottom: 18px;

    border-bottom:
        1px solid rgba(120, 91, 78, 0.3);
}


.jail-title-ornament {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    margin-bottom: 7px;
}


.jail-title-ornament span {
    width: 65px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(138, 101, 82, 0.7)
        );
}


.jail-title-ornament span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(138, 101, 82, 0.7),
            transparent
        );
}


.jail-title-icon {
    display: none;
}


.jail-main-title {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;
    font-weight: 700;

    letter-spacing: 2px;
    text-transform: uppercase;

    color: #eee4d8;

    text-shadow:
        0 2px 2px #000,
        0 0 10px rgba(111, 56, 45, 0.45);
}


.jail-main-subtitle {
    max-width: 650px;

    margin:
        7px
        auto
        0;

    font-size: 12px;
    line-height: 1.5;

    color: #958d88;
}


/* ============================================================
   DUNGEON OVERVIEW
   ============================================================ */

.jail-overview {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-bottom: 24px;
}


.jail-overview-card {
    position: relative;
    overflow: hidden;

    min-height: 72px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 10px;

    background:
        linear-gradient(
            180deg,
            rgba(38, 35, 35, 0.72),
            rgba(20, 19, 20, 0.82)
        );

    border:
        1px solid rgba(112, 100, 92, 0.38);

    border-radius: 5px;

    box-shadow:
        inset 0 0 15px rgba(0, 0, 0, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.025);
}


.jail-overview-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 15%;
    right: 15%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(161, 136, 118, 0.45),
            transparent
        );
}


.jail-overview-card-condemned {
    background:
        linear-gradient(
            180deg,
            rgba(55, 20, 22, 0.55),
            rgba(22, 12, 14, 0.85)
        );

    border-color:
        rgba(122, 47, 48, 0.55);
}


.jail-overview-label {
    margin-bottom: 4px;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.3px;
    text-transform: uppercase;

    color: #817a75;
}


.jail-overview-value {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 24px;
    font-weight: 700;

    color: #d7cec4;

    text-shadow:
        0 2px 2px #000;
}


.jail-overview-card-condemned
.jail-overview-value {
    color: #bb6c6d;

    text-shadow:
        0 0 8px rgba(126, 32, 35, 0.4);
}


/* ============================================================
   SECTION
   ============================================================ */

.jail-section {
    margin-bottom: 20px;
}


.jail-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 12px;

    padding:
        0
        3px
        9px;

    border-bottom:
        1px solid rgba(108, 92, 82, 0.35);
}


.jail-section-title-wrap {
    min-width: 0;

    display: flex;
    align-items: center;

    gap: 10px;
}


.jail-section-icon {
    display: none;
}


.jail-section-title {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;

    color: #ddd4ca;
}


.jail-section-description {
    margin-top: 2px;

    font-size: 11px;

    color: #77716d;
}


.jail-section-badge {
    flex: 0 0 auto;

    padding:
        5px
        9px;

    border:
        1px solid rgba(105, 91, 81, 0.45);

    border-radius: 3px;

    background:
        rgba(27, 25, 25, 0.85);

    color: #a69c94;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1px;
}


/* ============================================================
   PRISONER LIST
   ============================================================ */

.jail-list {
    display: flex;
    flex-direction: column;

    gap: 10px;
}


/* ============================================================
   PRISONER ENTRY
   ============================================================ */

.jail-entry {
    position: relative;
    overflow: hidden;

    padding: 0;

    border:
        1px solid rgba(105, 88, 78, 0.48);

    border-radius: 5px;

    background:
        linear-gradient(
            135deg,
            rgba(38, 35, 35, 0.88),
            rgba(20, 19, 20, 0.94)
        );

    box-shadow:
        inset 0 0 20px rgba(0, 0, 0, 0.5),
        0 3px 8px rgba(0, 0, 0, 0.25);

    transition:
        border-color 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease;
}


.jail-entry::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 3px;

    background:
        linear-gradient(
            180deg,
            #8e7868,
            #40352f
        );

    opacity: 0.75;
}


@media (hover: hover) and (pointer: fine) {

    .jail-entry:hover {
        transform:
            translateY(-1px);

        border-color:
            rgba(141, 112, 95, 0.7);

        box-shadow:
            inset 0 0 20px rgba(0, 0, 0, 0.55),
            0 4px 12px rgba(0, 0, 0, 0.35);
    }
}


/* ============================================================
   PRISONER HEADER
   ============================================================ */

.jail-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding:
        12px
        14px
        9px
        17px;

    border-bottom:
        1px solid rgba(96, 82, 74, 0.25);
}


.jail-name {
    min-width: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;
    font-weight: 700;

    color: #eee6dc;

    letter-spacing: 0.4px;

    text-shadow:
        0 2px 2px #000;
}


.jail-rank {
    flex: 0 0 auto;

    padding:
        4px
        8px;

    border:
        1px solid rgba(126, 102, 84, 0.45);

    border-radius: 3px;

    background:
        rgba(64, 50, 42, 0.38);

    color: #c3ad9c;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}


/* ============================================================
   PRISONER DETAILS
   ============================================================ */

.jail-desc {
    padding:
        10px
        14px
        8px
        17px;

    color: #aaa19a;

    font-size: 12px;
    line-height: 1.45;
}


.jail-desc-label {
    margin-right: 4px;

    color: #746e69;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.6px;
    text-transform: uppercase;
}


.jail-meta {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 8px;

    padding:
        0
        14px
        11px
        17px;
}


.jail-meta-item {
    min-width: 0;

    padding:
        7px
        9px;

    border:
        1px solid rgba(92, 80, 73, 0.25);

    border-radius: 3px;

    background:
        rgba(9, 9, 10, 0.35);
}


.jail-meta-label {
    display: block;

    margin-bottom: 2px;

    color: #6f6965;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}


.jail-meta-value {
    display: block;

    overflow: hidden;
    text-overflow: ellipsis;

    color: #bbb2aa;

    font-size: 11px;

    white-space: nowrap;
}


/* ============================================================
   ACTION AREA
   ============================================================ */

.jail-actions {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 7px;

    padding:
        10px
        14px
        12px
        17px;

    background:
        rgba(4, 4, 5, 0.28);

    border-top:
        1px solid rgba(89, 74, 68, 0.22);
}


.jail-actions button {
    min-height: 36px;

    padding:
        7px
        10px;

    cursor: pointer;

    border-radius: 3px;

    border:
        1px solid rgba(110, 95, 84, 0.48);

    background:
        linear-gradient(
            180deg,
            rgba(52, 48, 46, 0.95),
            rgba(29, 27, 27, 0.98)
        );

    color: #c5bbb2;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.8px;
    text-transform: uppercase;

    text-shadow:
        0 1px 2px #000;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035);

    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease;
}


.jail-actions button:focus-visible {
    outline:
        2px solid rgba(190, 160, 135, 0.75);

    outline-offset: 2px;
}


@media (hover: hover) and (pointer: fine) {

    .jail-actions button:hover {
        color: #eee7df;

        border-color:
            rgba(150, 125, 106, 0.75);

        background:
            linear-gradient(
                180deg,
                rgba(73, 64, 59, 0.95),
                rgba(38, 34, 33, 0.98)
            );
    }
}


/* ============================================================
   RELEASE
   ============================================================ */

.jail-action-release {
    color: #aeb6aa !important;

    border-color:
        rgba(91, 113, 88, 0.4) !important;
}


@media (hover: hover) and (pointer: fine) {

    .jail-action-release:hover {
        color: #d4e1cf !important;

        border-color:
            rgba(110, 147, 103, 0.7) !important;

        background:
            linear-gradient(
                180deg,
                rgba(45, 65, 44, 0.75),
                rgba(25, 35, 25, 0.95)
            ) !important;
    }
}


/* ============================================================
   NEGOTIATE
   ============================================================ */

.jail-action-negotiate {
    color: #c4bba6 !important;

    border-color:
        rgba(134, 113, 77, 0.45) !important;
}


@media (hover: hover) and (pointer: fine) {

    .jail-action-negotiate:hover {
        color: #eee0bc !important;

        border-color:
            rgba(169, 139, 81, 0.72) !important;

        background:
            linear-gradient(
                180deg,
                rgba(76, 61, 34, 0.8),
                rgba(37, 30, 20, 0.96)
            ) !important;
    }
}


/* ============================================================
   CRUCIFY
   ============================================================ */

.jail-action-crucify {
    color: #c28b8c !important;

    border-color:
        rgba(131, 48, 51, 0.58) !important;

    background:
        linear-gradient(
            180deg,
            rgba(67, 28, 30, 0.82),
            rgba(32, 16, 18, 0.98)
        ) !important;
}


@media (hover: hover) and (pointer: fine) {

    .jail-action-crucify:hover {
        color: #ffd7d7 !important;

        border-color:
            rgba(174, 61, 65, 0.9) !important;

        background:
            linear-gradient(
                180deg,
                rgba(103, 31, 35, 0.94),
                rgba(48, 17, 20, 0.98)
            ) !important;

        box-shadow:
            0 0 10px rgba(116, 24, 28, 0.25);
    }
}


/* ============================================================
   EMPTY DUNGEON
   ============================================================ */

.jail-empty {
    position: relative;

    padding:
        32px
        18px;

    text-align: center;

    border:
        1px dashed rgba(102, 88, 79, 0.35);

    border-radius: 5px;

    background:
        rgba(13, 13, 14, 0.45);

    color: #756f6b;
}


.jail-empty-icon {
    display: none;
}


.jail-empty-title {
    margin-bottom: 4px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    color: #aaa099;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}


.jail-empty-text {
    font-size: 11px;
    line-height: 1.5;

    color: #706a66;
}


/* ============================================================
   CONDEMNED DIVIDER
   ============================================================ */

.jail-condemned-divider {
    display: flex;
    align-items: center;

    gap: 12px;

    margin:
        24px
        0;
}


.jail-condemned-divider span {
    flex: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(111, 40, 42, 0.65)
        );
}


.jail-condemned-divider span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(111, 40, 42, 0.65),
            transparent
        );
}


.jail-condemned-divider-mark {
    width: 9px;
    height: 9px;

    flex: 0 0 9px;

    border:
        1px solid rgba(160, 76, 79, 0.85);

    background:
        rgba(91, 30, 33, 0.85);

    transform:
        rotate(45deg);

    box-shadow:
        0 0 8px rgba(112, 29, 33, 0.5);

    font-size: 0;
    color: transparent;
}


/* ============================================================
   THE CRUCIFIED
   ============================================================ */

.jail-crucified-section {
    position: relative;
}


.jail-crucified-icon {
    display: none;
}


.jail-crucified-title {
    color: #c88989;
}


.jail-crucified-badge {
    color: #b87173;

    border-color:
        rgba(119, 44, 47, 0.55);

    background:
        rgba(50, 17, 20, 0.5);
}


.jail-crucified-list {
    display: flex;
    flex-direction: column;

    gap: 9px;
}


/* ============================================================
   CRUCIFIED HERO RECORD
   ============================================================ */

.jail-crucified-entry {
    position: relative;
    overflow: hidden;

    display: grid;

    grid-template-columns:
        minmax(160px, 1.2fr)
        minmax(120px, 1fr)
        minmax(110px, 0.8fr);

    gap: 10px;

    align-items: center;

    padding:
        11px
        14px
        11px
        17px;

    border:
        1px solid rgba(112, 42, 45, 0.42);

    border-radius: 4px;

    background:
        linear-gradient(
            90deg,
            rgba(54, 19, 21, 0.5),
            rgba(22, 13, 15, 0.78)
        );

    box-shadow:
        inset 0 0 18px rgba(0, 0, 0, 0.5);
}


.jail-crucified-entry::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 3px;

    background:
        #71383b;
}


.jail-crucified-identity {
    min-width: 0;
}


.jail-crucified-name {
    overflow: hidden;
    text-overflow: ellipsis;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    color: #d1a0a0;

    font-size: 14px;
    font-weight: 700;

    white-space: nowrap;
}


.jail-crucified-rank {
    margin-top: 2px;

    color: #7f6665;

    font-size: 10px;

    letter-spacing: 0.6px;
    text-transform: uppercase;
}


.jail-crucified-detail {
    min-width: 0;
}


.jail-crucified-detail-label {
    display: block;

    margin-bottom: 2px;

    color: #714f50;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}


.jail-crucified-detail-value {
    display: block;

    overflow: hidden;
    text-overflow: ellipsis;

    color: #a98c8c;

    font-size: 10px;

    white-space: nowrap;
}


/* ============================================================
   EMPTY CRUCIFIED LIST
   ============================================================ */

.jail-crucified-empty {
    padding:
        24px
        16px;

    text-align: center;

    border:
        1px dashed rgba(104, 42, 45, 0.32);

    border-radius: 4px;

    background:
        rgba(35, 12, 14, 0.25);

    color: #725658;

    font-size: 11px;
    line-height: 1.5;
}


/* ============================================================
   FOOTER
   ============================================================ */

.jail-footer {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-top: 26px;

    opacity: 0.7;
}


.jail-footer-line {
    flex: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(104, 84, 73, 0.45)
        );
}


.jail-footer-line:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(104, 84, 73, 0.45),
            transparent
        );
}


.jail-footer-message {
    flex: 0 1 auto;

    text-align: center;

    color: #766d67;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 9px;
    font-style: italic;

    letter-spacing: 0.8px;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 800px) {

    .jail-panel {
        padding: 16px;
    }


    .jail-main-title {
        font-size: 19px;
    }


    .jail-crucified-entry {
        grid-template-columns:
            minmax(140px, 1.2fr)
            minmax(100px, 1fr);
    }


    .jail-crucified-entry
    .jail-crucified-detail:last-child {
        grid-column:
            1 / -1;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 600px) {

    .jail-panel {
        padding: 12px;

        font-size: 12px;
    }


    /* --------------------------------------------------------
       THRONE ROOM
       -------------------------------------------------------- */

    .jail-panel-nav {
        margin-bottom: 12px;
    }


    .jail-throne-room-button {
        width: 100%;

        min-width: 0;
        min-height: 40px;

        padding:
            7px
            10px;

        font-size: 10px;
    }


    /* --------------------------------------------------------
       TITLE
       -------------------------------------------------------- */

    .jail-title-block {
        padding:
            2px
            4px
            15px;

        margin-bottom: 14px;
    }


    .jail-title-ornament span {
        width: 36px;
    }


    .jail-main-title {
        font-size: 17px;

        letter-spacing: 1.3px;
    }


    .jail-main-subtitle {
        font-size: 11px;
    }


    /* --------------------------------------------------------
       OVERVIEW
       -------------------------------------------------------- */

    .jail-overview {
        gap: 6px;

        margin-bottom: 19px;
    }


    .jail-overview-card {
        min-height: 62px;

        padding:
            7px
            4px;
    }


    .jail-overview-label {
        font-size: 8px;

        letter-spacing: 0.6px;

        text-align: center;
    }


    .jail-overview-value {
        font-size: 20px;
    }


    /* --------------------------------------------------------
       SECTION HEADER
       -------------------------------------------------------- */

    .jail-section-heading {
        align-items: flex-start;

        gap: 8px;
    }


    .jail-section-title {
        font-size: 14px;
    }


    .jail-section-description {
        font-size: 10px;
    }


    .jail-section-badge {
        padding:
            4px
            6px;

        font-size: 8px;
    }


    /* --------------------------------------------------------
       PRISONERS
       -------------------------------------------------------- */

    .jail-header {
        align-items: flex-start;

        padding:
            11px
            11px
            8px
            14px;
    }


    .jail-name {
        font-size: 14px;
    }


    .jail-rank {
        padding:
            3px
            6px;

        font-size: 8px;
    }


    .jail-desc {
        padding:
            9px
            11px
            7px
            14px;

        font-size: 11px;
    }


    .jail-meta {
        grid-template-columns:
            1fr;

        gap: 5px;

        padding:
            0
            11px
            10px
            14px;
    }


    /* --------------------------------------------------------
       ACTIONS
       -------------------------------------------------------- */

    .jail-actions {
        grid-template-columns:
            1fr;

        gap: 6px;

        padding:
            9px
            11px
            11px
            14px;
    }


    .jail-actions button {
        min-height: 42px;

        font-size: 11px;
    }


    /* --------------------------------------------------------
       CRUCIFIED
       -------------------------------------------------------- */

    .jail-condemned-divider {
        margin:
            20px
            0;
    }


    .jail-crucified-entry {
        grid-template-columns:
            1fr;

        gap: 7px;

        padding:
            11px
            11px
            11px
            14px;
    }


    .jail-crucified-entry
    .jail-crucified-detail:last-child {
        grid-column:
            auto;
    }


    .jail-crucified-name {
        font-size: 13px;
    }


    /* --------------------------------------------------------
       FOOTER
       -------------------------------------------------------- */

    .jail-footer-message {
        font-size: 8px;

        letter-spacing: 0.4px;
    }
}


/* ============================================================
   VERY SMALL MOBILE
   ============================================================ */

@media (max-width: 380px) {

    .jail-overview {
        grid-template-columns:
            1fr;
    }


    .jail-overview-card {
        min-height: 52px;
    }


    .jail-section-heading {
        flex-direction: column;
    }


    .jail-section-badge {
        margin-left: 0;
    }
}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .jail-panel *,
    .jail-panel *::before,
    .jail-panel *::after {
        transition-duration:
            0.001ms !important;

        animation-duration:
            0.001ms !important;

        animation-iteration-count:
            1 !important;
    }
}

/* ============================================================
   SHADOWSKINGS â€” PRISONER NEGOTIATIONS
   ============================================================ */

.jail-negotiation-overlay {
    position: fixed;
    inset: 0;
    z-index: 10050;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background:
        rgba(4, 3, 6, 0.86);

    backdrop-filter:
        blur(5px);
}


.jail-negotiation-overlay[hidden] {
    display: none !important;
}


body.jail-negotiation-open {
    overflow: hidden;
}


.jail-negotiation-modal {
    position: relative;

    width: min(
        560px,
        calc(100vw - 32px)
    );

    max-height:
        calc(100vh - 40px);

    overflow-y: auto;

    padding:
        28px
        30px
        26px;

    border:
        1px solid
        rgba(154, 116, 62, 0.78);

    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.85),
        0 18px 60px rgba(0, 0, 0, 0.75),
        inset 0 0 35px rgba(91, 59, 26, 0.10);

    background:
        linear-gradient(
            180deg,
            rgba(24, 19, 27, 0.99),
            rgba(11, 9, 14, 0.995)
        );

    color:
        #ded4c2;
}


.jail-negotiation-modal::before {
    content: "";

    position: absolute;
    inset: 7px;

    pointer-events: none;

    border:
        1px solid
        rgba(154, 116, 62, 0.18);
}


.jail-negotiation-close {
    position: absolute;
    z-index: 2;

    top: 10px;
    right: 13px;

    width: 34px;
    height: 34px;

    border: 0;
    background: transparent;

    color:
        #8f8172;

    font-size: 28px;
    line-height: 30px;

    cursor: pointer;
}


.jail-negotiation-close:hover {
    color:
        #d7bc88;
}


.jail-negotiation-crown {
    margin-bottom: 4px;

    text-align: center;

    color:
        #9d7a42;

    font-size: 25px;
}


.jail-negotiation-title {
    text-align: center;

    color:
        #e3d3b1;

    font-size: 22px;
    font-weight: 700;

    letter-spacing: 2.1px;

    text-transform: uppercase;
}


.jail-negotiation-subtitle {
    margin-top: 5px;

    text-align: center;

    color:
        #81766c;

    font-size: 10px;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


.jail-negotiation-divider {
    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    gap: 10px;

    margin:
        19px
        0;
}


.jail-negotiation-divider span {
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(151, 111, 59, 0.65)
        );
}


.jail-negotiation-divider span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(151, 111, 59, 0.65),
            transparent
        );
}


.jail-negotiation-divider div {
    color:
        #80643d;

    font-size: 9px;
}


.jail-negotiation-captive {
    padding:
        14px
        16px;

    border:
        1px solid
        rgba(125, 95, 55, 0.25);

    background:
        rgba(255, 255, 255, 0.018);

    text-align: center;
}


.jail-negotiation-caption,
.jail-negotiation-section-title {
    color:
        #806f5e;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1.6px;

    text-transform: uppercase;
}


.jail-negotiation-prisoner-name {
    margin-top: 5px;

    color:
        #e0d4c0;

    font-size: 18px;
    font-weight: 700;
}


.jail-negotiation-prisoner-kingdom {
    margin-top: 3px;

    color:
        #938475;

    font-size: 11px;
}


.jail-negotiation-section-title {
    margin:
        22px
        0
        10px;

    text-align: center;
}


.jail-negotiation-resource-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;
}


.jail-negotiation-field {
    display: flex;
    flex-direction: column;

    gap: 7px;
}


.jail-negotiation-field span {
    color:
        #b89a68;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.jail-negotiation-field input {
    width: 100%;

    box-sizing: border-box;

    padding:
        11px
        12px;

    border:
        1px solid
        rgba(137, 104, 60, 0.45);

    outline: none;

    background:
        rgba(0, 0, 0, 0.30);

    color:
        #e7dcc9;

    font: inherit;

    font-size: 15px;
}


.jail-negotiation-field input:focus {
    border-color:
        rgba(185, 143, 79, 0.85);

    box-shadow:
        0 0 0 1px
        rgba(185, 143, 79, 0.15);
}


.jail-negotiation-exchange {
    margin-top: 18px;

    padding-top: 15px;

    border-top:
        1px solid
        rgba(128, 96, 54, 0.18);
}


.jail-negotiation-exchange-title {
    margin-bottom: 7px;

    color:
        #877666;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1.3px;

    text-transform: uppercase;
}


.jail-negotiation-exchange-disabled {
    padding:
        10px
        12px;

    border:
        1px dashed
        rgba(111, 91, 68, 0.28);

    color:
        #655d56;

    background:
        rgba(0, 0, 0, 0.16);

    font-size: 10px;

    text-align: center;

    text-transform: uppercase;

    letter-spacing: 0.8px;
}


.jail-negotiation-message {
    min-height: 18px;

    margin-top: 14px;

    text-align: center;

    color:
        #9c8d7b;

    font-size: 11px;
}


.jail-negotiation-message[data-type="error"] {
    color:
        #bd716a;
}


.jail-negotiation-message[data-type="success"] {
    color:
        #8eb48b;
}


.jail-negotiation-message[data-type="working"] {
    color:
        #bca477;
}


.jail-negotiation-actions {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 10px;

    margin-top: 16px;
}


.jail-negotiation-button {
    min-height: 42px;

    border:
        1px solid
        rgba(129, 101, 64, 0.42);

    cursor: pointer;

    font: inherit;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    transition:
        border-color 120ms ease,
        background 120ms ease,
        color 120ms ease;
}


.jail-negotiation-button-cancel {
    background:
        rgba(255, 255, 255, 0.025);

    color:
        #897d72;
}


.jail-negotiation-button-send {
    background:
        linear-gradient(
            180deg,
            rgba(109, 76, 37, 0.70),
            rgba(69, 45, 22, 0.80)
        );

    color:
        #ead8b4;
}


.jail-negotiation-button:hover:not(:disabled) {
    border-color:
        rgba(183, 139, 76, 0.85);

    color:
        #f0dfbd;
}


.jail-negotiation-button:disabled {
    opacity: 0.55;
    cursor: wait;
}


@media (max-width: 520px) {

    .jail-negotiation-overlay {
        padding: 10px;
    }


    .jail-negotiation-modal {
        width:
            calc(100vw - 20px);

        padding:
            24px
            18px
            20px;
    }


    .jail-negotiation-title {
        font-size: 17px;
    }


    .jail-negotiation-resource-grid {
        grid-template-columns:
            1fr;
    }


    .jail-negotiation-actions {
        grid-template-columns:
            1fr;
    }
}


/* ============================================================
   SHADOWSKINGS â€” NEGOTIATION RESPONSE CENTER
   ============================================================ */

.jail-overview-card-negotiations {
    cursor: pointer;
    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

.jail-overview-card-negotiations:hover,
.jail-overview-card-negotiations:focus-visible {
    border-color: rgba(154, 116, 62, 0.82);
    box-shadow:
        inset 0 0 15px rgba(0, 0, 0, 0.65),
        0 0 16px rgba(154, 116, 62, 0.16);
    outline: none;
}

.jail-overview-card-negotiations:active {
    transform: translateY(1px);
}

.jail-negotiation-center-overlay {
    position: fixed;
    inset: 0;
    z-index: 10060;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background: rgba(4, 3, 6, 0.88);

    backdrop-filter: blur(5px);
}

.jail-negotiation-center-overlay[hidden] {
    display: none !important;
}

body.jail-negotiation-center-open {
    overflow: hidden;
}

.jail-negotiation-center {
    position: relative;

    width: min(
        780px,
        calc(100vw - 32px)
    );

    max-height:
        calc(100vh - 40px);

    overflow-y: auto;

    padding:
        28px
        30px
        30px;

    color: #ded4c2;

    background:
        linear-gradient(
            180deg,
            rgba(31, 27, 28, 0.98),
            rgba(12, 11, 14, 0.99)
        );

    border:
        1px solid
        rgba(154, 116, 62, 0.78);

    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.82),
        inset 0 0 30px rgba(0, 0, 0, 0.48);
}

.jail-negotiation-center::before {
    content: "";

    position: absolute;
    inset: 7px;

    pointer-events: none;

    border:
        1px solid
        rgba(154, 116, 62, 0.18);
}

.jail-negotiation-center-close {
    position: absolute;
    z-index: 2;

    top: 10px;
    right: 13px;

    width: 34px;
    height: 34px;

    padding: 0;

    border: 0;
    background: transparent;

    color: #b7a78d;

    font-size: 27px;
    line-height: 1;

    cursor: pointer;
}

.jail-negotiation-center-close:hover {
    color: #e2c995;
}

.jail-negotiation-center-crown {
    margin-bottom: 4px;

    color: #a9824e;

    font-size: 27px;
    text-align: center;

    text-shadow:
        0 0 12px rgba(154, 116, 62, 0.28);
}

.jail-negotiation-center-title {
    color: #e3d5ba;

    font-size: 22px;
    font-weight: 700;

    letter-spacing: 1.8px;
    text-align: center;
    text-transform: uppercase;
}

.jail-negotiation-center-subtitle {
    margin-top: 5px;

    color: #8f8373;

    font-size: 10px;

    letter-spacing: 1.4px;
    text-align: center;
    text-transform: uppercase;
}

.jail-negotiation-center-divider {
    display: grid;
    grid-template-columns:
        1fr
        auto
        1fr;
    align-items: center;
    gap: 12px;

    margin:
        18px
        0
        20px;

    color: #8d6d43;
}

.jail-negotiation-center-divider span {
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(154, 116, 62, 0.52)
        );
}

.jail-negotiation-center-divider span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(154, 116, 62, 0.52),
            transparent
        );
}

.jail-negotiation-center-message {
    min-height: 20px;

    margin-bottom: 8px;

    color: #a89c8a;

    font-size: 12px;
    text-align: center;
}

.jail-negotiation-center-message[data-type="error"] {
    color: #c97878;
}

.jail-negotiation-center-message[data-type="success"] {
    color: #9db98f;
}

.jail-negotiation-center-message[data-type="working"] {
    color: #c5ad7b;
}

.jail-negotiation-center-section {
    position: relative;

    margin-top: 18px;
    padding: 16px;

    background:
        linear-gradient(
            180deg,
            rgba(39, 35, 34, 0.68),
            rgba(19, 18, 20, 0.82)
        );

    border:
        1px solid
        rgba(120, 100, 76, 0.34);
}

.jail-negotiation-center-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    margin-bottom: 14px;
}

.jail-negotiation-center-section-title {
    color: #d9c7a5;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.jail-negotiation-center-section-description {
    margin-top: 3px;

    color: #81776a;

    font-size: 11px;
}

.jail-negotiation-center-badge {
    min-width: 34px;

    padding:
        5px
        9px;

    color: #cbb486;

    background:
        rgba(12, 11, 13, 0.62);

    border:
        1px solid
        rgba(154, 116, 62, 0.34);

    font-size: 11px;
    font-weight: 700;

    text-align: center;
}

.jail-negotiation-center-list {
    display: grid;
    gap: 10px;
}

.jail-negotiation-center-empty {
    padding:
        18px
        12px;

    color: #756e65;

    border:
        1px dashed
        rgba(120, 100, 76, 0.24);

    font-size: 12px;
    text-align: center;
}

.jail-negotiation-response-card {
    padding: 14px;

    background:
        linear-gradient(
            180deg,
            rgba(23, 22, 24, 0.94),
            rgba(13, 12, 15, 0.96)
        );

    border:
        1px solid
        rgba(112, 92, 70, 0.36);

    box-shadow:
        inset 0 0 15px rgba(0, 0, 0, 0.35);
}

.jail-negotiation-response-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.jail-negotiation-response-name {
    color: #ddd0b7;

    font-size: 15px;
    font-weight: 700;
}

.jail-negotiation-response-kingdom {
    margin-top: 2px;

    color: #83796d;

    font-size: 10px;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.jail-negotiation-response-status {
    padding:
        4px
        7px;

    color: #bca476;

    background:
        rgba(154, 116, 62, 0.08);

    border:
        1px solid
        rgba(154, 116, 62, 0.26);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.jail-negotiation-response-terms {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(110px, 1fr)
        );
    gap: 8px;

    margin-top: 12px;
}

.jail-negotiation-response-term {
    padding:
        8px
        10px;

    background:
        rgba(0, 0, 0, 0.22);

    border:
        1px solid
        rgba(255, 255, 255, 0.045);
}

.jail-negotiation-response-term span {
    display: block;

    margin-bottom: 3px;

    color: #756d63;

    font-size: 9px;

    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.jail-negotiation-response-term strong {
    color: #d1c2a8;

    font-size: 14px;
    font-weight: 700;
}

.jail-negotiation-response-actions,
.jail-negotiation-counter-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;

    margin-top: 12px;
}

.jail-negotiation-response-button {
    min-height: 32px;

    padding:
        6px
        12px;

    border:
        1px solid
        rgba(125, 105, 82, 0.48);

    background:
        linear-gradient(
            180deg,
            rgba(53, 47, 43, 0.82),
            rgba(27, 25, 27, 0.9)
        );

    color: #c9bda8;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.6px;
    text-transform: uppercase;

    cursor: pointer;
}

.jail-negotiation-response-button:hover {
    border-color:
        rgba(164, 130, 82, 0.76);

    color: #ead7b3;
}

.jail-negotiation-response-button-accept {
    border-color:
        rgba(91, 128, 76, 0.58);

    color: #adc59f;
}

.jail-negotiation-response-button-reject {
    border-color:
        rgba(133, 64, 66, 0.58);

    color: #c78c8d;
}

.jail-negotiation-response-button-counter {
    border-color:
        rgba(154, 116, 62, 0.62);

    color: #d0b37e;
}

.jail-negotiation-counter-editor {
    padding: 14px;

    background:
        rgba(12, 11, 14, 0.72);

    border:
        1px solid
        rgba(154, 116, 62, 0.4);
}

.jail-negotiation-counter-title {
    margin-bottom: 12px;

    color: #d8c7a8;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.jail-negotiation-counter-fields {
    display: grid;
    grid-template-columns:
        repeat(2, 1fr);
    gap: 10px;
}

.jail-negotiation-counter-field span {
    display: block;

    margin-bottom: 5px;

    color: #8c8172;

    font-size: 9px;

    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.jail-negotiation-counter-field input {
    width: 100%;
    box-sizing: border-box;

    padding:
        9px
        10px;

    color: #ded2bd;

    background:
        rgba(5, 5, 7, 0.72);

    border:
        1px solid
        rgba(123, 102, 77, 0.44);

    outline: none;
}

.jail-negotiation-counter-field input:focus {
    border-color:
        rgba(165, 130, 80, 0.8);
}

@media (max-width: 620px) {

    .jail-negotiation-center-overlay {
        padding: 10px;
    }

    .jail-negotiation-center {
        width:
            calc(100vw - 20px);

        padding:
            24px
            16px
            20px;
    }

    .jail-negotiation-center-section {
        padding: 12px;
    }

    .jail-negotiation-center-section-heading {
        align-items: flex-start;
    }

    .jail-negotiation-counter-fields {
        grid-template-columns:
            1fr;
    }

    .jail-negotiation-response-actions,
    .jail-negotiation-counter-actions {
        justify-content: stretch;
    }

    .jail-negotiation-response-button {
        flex:
            1 1 auto;
    }
}


