/* Bestiarium v4.44.0 - healer rescue and active combat healing. */
.bestiarium-pvp-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483400;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
    background: rgba(17, 10, 5, .84);
    color: #392617;
}
.bestiarium-pvp-overlay *, .bestiarium-pvp-overlay *::before, .bestiarium-pvp-overlay *::after { box-sizing: border-box; }
.bestiarium-pvp-modal {
    position: relative;
    width: min(780px, 100%);
    max-height: min(900px, calc(100vh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    max-height: min(900px, calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 30px;
    border: 3px double #9a6824;
    border-radius: 7px;
    background: #f4e3b5;
    box-shadow: 0 22px 70px rgba(0, 0, 0, .62), inset 0 0 0 1px rgba(255, 250, 226, .8);
    font-family: 'EB Garamond', Garamond, serif;
}
.bestiarium-pvp-modal h2, .bestiarium-pvp-modal h3, .bestiarium-pvp-arena h2 { letter-spacing: 0; }
.bestiarium-pvp-modal h2 { margin: 4px 48px 10px 0; color: #6d1818; font: 700 29px Cinzel, serif; }
.bestiarium-pvp-modal h3 { margin: 0 0 10px; color: #49301c; font: 700 19px Cinzel, serif; }
.bst-pvp-close, .bst-pvp-minimize {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 238, 194, .32);
    border-radius: 5px;
    background: #382315;
    color: #ffefc7;
    font: 700 28px/1 Arial, sans-serif;
    cursor: pointer;
    touch-action: manipulation;
}
.bst-pvp-close { position: absolute; top: 15px; right: 15px; z-index: 3; }
.bst-pvp-kicker { display: block; margin-bottom: 4px; color: #846225; font: 700 13px Cinzel, serif; text-transform: uppercase; }
.bst-pvp-setup-head p { max-width: 660px; margin: 0; font-size: 18px; line-height: 1.45; }
.bst-pvp-mode-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 22px 0 16px; }
.bst-pvp-mode-switch label { position: relative; display: block; cursor: pointer; }
.bst-pvp-mode-switch input { position: absolute; opacity: 0; pointer-events: none; }
.bst-pvp-mode-switch label > span { display: grid; gap: 3px; min-height: 76px; padding: 13px 15px; border: 2px solid #ad8c52; border-radius: 6px; background: #fff5d8; }
.bst-pvp-mode-switch strong { font: 700 17px Cinzel, serif; }
.bst-pvp-mode-switch small { font-size: 15px; line-height: 1.25; }
.bst-pvp-mode-switch input:checked + span { border-color: #2f6b67; box-shadow: inset 0 0 0 2px rgba(47, 107, 103, .22); }
.bst-pvp-mode-switch .is-lethal input:checked + span { border-color: #9f2929; background: #f8dfcf; box-shadow: inset 0 0 0 2px rgba(159, 41, 41, .18); }
.bst-pvp-stake { display: grid; grid-template-columns: minmax(0, 1fr) 140px; gap: 5px 12px; align-items: center; margin: 14px 0 22px; font-size: 17px; }
.bst-pvp-stake > span { font-weight: 700; }
.bst-pvp-stake input { width: 100%; min-height: 44px; padding: 7px 10px; border: 1px solid #a77a34; border-radius: 4px; background: #fffaf0; color: #352313; font-size: 18px; }
.bst-pvp-stake small { grid-column: 1 / -1; color: #70593d; }
.bst-pvp-picker-section { margin: 16px 0; padding-top: 15px; border-top: 1px solid rgba(145, 99, 34, .38); }
.bst-pvp-helper-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-height: 310px; overflow-y: auto; padding: 2px; }
.bst-pvp-helper-choice { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr) 28px; gap: 10px; align-items: center; min-width: 0; padding: 9px; border: 1px solid #bea06b; border-radius: 5px; background: #fff5d8; cursor: pointer; }
.bst-pvp-helper-choice input { position: absolute; opacity: 0; }
.bst-pvp-helper-choice.is-selected { border-color: #27736c; background: #e0eee5; box-shadow: inset 0 0 0 1px #27736c; }
.bst-pvp-helper-image, .bst-pvp-unit-image { width: 56px; height: 56px; border: 2px solid #9d7131; border-radius: 50%; object-fit: cover; background: #3d2a1b; color: #fff0c5; }
span.bst-pvp-helper-image, span.bst-pvp-unit-image { display: inline-flex; align-items: center; justify-content: center; font: 700 22px Cinzel, serif; }
.bst-pvp-helper-copy { min-width: 0; display: grid; gap: 2px; }
.bst-pvp-helper-copy strong, .bst-pvp-helper-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bst-pvp-helper-stats { display: flex; flex-wrap: wrap; gap: 3px 8px; margin-top: 3px; color: #65482a; font-size: 13px; }
.bst-pvp-helper-specialties, .bst-pvp-unit-effects, .bst-pvp-target-effects { display: flex; flex-wrap: wrap; gap: 2px 4px; }
.bst-pvp-helper-specialties { margin-top: 3px; }
.bst-pvp-helper-specialties > span, .bst-pvp-unit-effects > span, .bst-pvp-target-effects > span { padding: 1px 4px; border: 1px solid; border-radius: 3px; font: 700 9px/1.35 Arial, sans-serif; white-space: nowrap; }
.bst-pvp-helper-specialties .is-bonus, .bst-pvp-unit-effects .is-bonus, .bst-pvp-target-effects .is-bonus { border-color: #568b6c; background: #dfeee3; color: #24583a; }
.bst-pvp-helper-specialties .is-curse, .bst-pvp-unit-effects .is-curse, .bst-pvp-target-effects .is-curse { border-color: #895b9b; background: #eadcf0; color: #542463; }
.bst-pvp-checkmark { color: #27736c; font-size: 22px; opacity: 0; }
.is-selected .bst-pvp-checkmark { opacity: 1; }
.bst-pvp-selection-count { margin: 6px 2px 0; color: #70593d; text-align: right; }
.bst-pvp-warning, .bst-pvp-mode-badge { margin: 14px 0; padding: 11px 13px; border-left: 4px solid #2f6b67; background: #e2eee4; line-height: 1.4; }
.bst-pvp-warning.is-lethal, .bst-pvp-mode-badge.is-lethal { border-color: #9f2929; background: #f3d8c6; }
.bst-pvp-mode-badge { display: grid; gap: 2px; }
.bst-pvp-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.bst-pvp-error { min-height: 22px; margin: 10px 0; color: #9b1f1f; font-weight: 700; }
.bst-pvp-empty { grid-column: 1 / -1; margin: 8px 0; color: #715b41; font-style: italic; }
.bst-pvp-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bst-pvp-preview-helper { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 9px; min-width: 0; padding: 8px; border: 1px solid #bea06b; background: #fff5d8; }
.bst-pvp-preview-helper > span { min-width: 0; display: grid; gap: 2px; }
.bst-pvp-inbox-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 62px; padding: 10px 0; border-bottom: 1px solid rgba(145, 99, 34, .3); }
.bst-pvp-inbox-row > span { min-width: 0; display: grid; gap: 2px; }
.bst-pvp-inbox-row small { color: #70593d; }
.bst-pvp-open-active { width: 100%; margin-top: 18px; }
.bst-pvp-sent, .bestiarium-pvp-overlay.is-result .bestiarium-pvp-modal { text-align: center; }
.bst-pvp-sent > span, .bst-pvp-result-icon { color: #27736c; font-size: 58px; line-height: 1; }
.bestiarium-pvp-overlay.is-loss .bst-pvp-result-icon { color: #8e2a28; }
.bst-pvp-result-pot { font-size: 24px; font-weight: 700; }
.bst-pvp-safe-result { padding: 10px; border: 1px solid #6b9a82; background: #e2eee4; }
.bst-pvp-casualties { max-width: 560px; margin: 14px auto; padding: 0; list-style: none; text-align: left; }
.bst-pvp-casualties li { padding: 7px 10px; border-bottom: 1px solid rgba(145, 99, 34, .28); }
.bst-pvp-casualties .is-fallen { color: #8e2222; }
.bst-pvp-casualties .is-rescued { color: #246257; }

.bestiarium-pvp-overlay.is-arena { padding: max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)); background: rgba(10, 7, 5, .95); }
.bestiarium-pvp-arena { width: min(1480px, 100%); height: min(940px, calc(100vh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom))); height: min(940px, calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom))); min-height: 520px; display: grid; grid-template-rows: auto auto minmax(240px, 1fr) auto; overflow: hidden; border: 3px solid #a77428; border-radius: 7px; background: #ead49b; box-shadow: 0 24px 80px rgba(0, 0, 0, .76), inset 0 0 0 1px #fff0c3; font-family: 'EB Garamond', Garamond, serif; }
.bst-pvp-arena-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; padding: 10px 16px; background: #382315; color: #ffefc7; }
.bst-pvp-arena-head h2 { margin: 2px 0 0; color: inherit; font: 700 23px Cinzel, serif; }
.bst-pvp-arena-head .bst-pvp-kicker { color: #d8b269; }
.is-lethal .bst-pvp-arena-head { background: #501b1b; }
.bst-pvp-arena-meta { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; font: 700 18px Cinzel, serif; }
.bst-pvp-arena-meta > span { min-width: 72px; padding: 7px 9px; border: 1px solid rgba(255, 239, 199, .3); border-radius: 4px; text-align: center; }
.bst-pvp-teams { display: grid; grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1fr); gap: 8px; align-items: stretch; padding: 8px 10px; border-bottom: 1px solid #a9854e; background: #f3e3b8; }
.bst-pvp-team { min-width: 0; }
.bst-pvp-team-title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 2px 5px; }
.bst-pvp-team-title span { color: #76562c; font-size: 13px; text-transform: uppercase; }
.bst-pvp-team-title strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #382315; font: 700 15px Cinzel, serif; }
.bst-pvp-versus { align-self: center; color: #8f2626; text-align: center; font: 700 18px Cinzel, serif; }
.bst-pvp-roster { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 5px; }
.bst-pvp-unit { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 7px; min-width: 0; padding: 5px; border: 1px solid #b7955e; border-radius: 4px; background: #fff5d8; }
.bst-pvp-team.is-own .bst-pvp-unit { border-color: #658f83; background: #edf3e8; }
.bst-pvp-unit.is-fallen { filter: grayscale(1); opacity: .55; }
.bst-pvp-unit-image { width: 44px; height: 44px; }
.bst-pvp-unit-copy { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: start; column-gap: 5px; }
.bst-pvp-unit-copy > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.bst-pvp-unit-copy > small { color: #76562c; font-size: 11px; }
.bst-pvp-unit-copy > em { color: #5c4227; font-size: 11px; font-style: normal; }
.bst-pvp-hp { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 3px; background: #cfb985; }
.bst-pvp-hp span { display: block; height: 100%; background: #a62626; transition: width 180ms ease; }
.bst-pvp-unit-stats { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 1px 5px; color: #62482c; font-size: 10px; }
.bst-pvp-unit-effects { grid-column: 1 / -1; min-height: 0; }
.bst-pvp-stage-wrap { position: relative; min-height: 0; overflow: hidden; background: #25180f; }
.bst-pvp-stage { position: absolute; inset: 0; overflow: hidden; touch-action: none; user-select: none; background-color: #2b2119; background-image: linear-gradient(rgba(234, 212, 155, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(234, 212, 155, .07) 1px, transparent 1px); background-size: 44px 44px; }
.bst-pvp-stage::after { content: ''; position: absolute; inset: 9%; border: 1px solid rgba(237, 205, 130, .18); border-radius: 50%; pointer-events: none; }
.bst-pvp-stage-note { position: absolute; z-index: 6; left: 50%; top: 8px; max-width: calc(100% - 120px); transform: translateX(-50%); padding: 6px 11px; border-radius: 4px; background: rgba(245, 228, 184, .92); color: #382315; font-weight: 700; text-align: center; pointer-events: none; }
.bst-pvp-stage-note.is-warning { background: rgba(137, 35, 33, .94); color: #fff0cf; }
.bst-pvp-target { position: absolute; z-index: 3; display: block; padding: 0; border: 3px solid #c9983c; border-radius: 50%; background: #f4e3b5; box-shadow: 0 4px 14px rgba(0, 0, 0, .58), 0 0 0 4px rgba(255, 230, 169, .16); cursor: crosshair; touch-action: none; transition: width 100ms ease, height 100ms ease, border-color 120ms ease; }
.bst-pvp-target:hover, .bst-pvp-target:focus-visible { border-color: #fff0a8; outline: 3px solid rgba(255, 240, 168, .38); }
.bst-pvp-target:disabled { cursor: wait; opacity: .72; }
.bst-pvp-target-image { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; pointer-events: none; }
span.bst-pvp-target-image { display: flex; align-items: center; justify-content: center; background: #5d3c24; color: #ffedbd; font: 700 25px Cinzel, serif; }
.bst-pvp-target-name { position: absolute; left: 50%; bottom: -22px; max-width: 132px; transform: translateX(-50%); overflow: hidden; padding: 2px 5px; border-radius: 3px; background: rgba(23, 13, 7, .88); color: #fff1cb; font-size: 11px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }
.bst-pvp-target-hp { position: absolute; left: 8%; right: 8%; bottom: 4px; height: 6px; overflow: hidden; border-radius: 3px; background: rgba(31, 16, 9, .72); pointer-events: none; }
.bst-pvp-target-hp i { display: block; height: 100%; background: #d23631; }
.bst-pvp-target-effects { position: absolute; z-index: 5; left: 50%; top: -15px; width: max-content; max-width: 170px; transform: translateX(-50%); justify-content: center; pointer-events: none; }
.bst-pvp-target-effects > span { box-shadow: 0 1px 4px rgba(0, 0, 0, .55); }
.bst-pvp-fx { position: absolute; z-index: 8; inset: 0; pointer-events: none; }
.bst-pvp-damage { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); color: #ffe087; font: 700 42px Cinzel, serif; text-shadow: 0 3px 0 #641b16, 0 5px 14px #000; animation: bst-pvp-damage 900ms ease-out forwards; }
.bst-pvp-damage.is-critical { color: #fff2a3; font-size: 54px; }
.bst-pvp-damage.is-miss { color: #d8d0c2; font-size: 30px; }
@keyframes bst-pvp-damage { from { opacity: 1; transform: translate(-50%, -30%) scale(.82); } to { opacity: 0; transform: translate(-50%, -115%) scale(1.12); } }
.bst-pvp-arena-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 82px; padding: 8px 12px; border-top: 1px solid #9f7b43; background: #f3e3b8; }
.bst-pvp-combat-log { max-height: 80px; overflow-y: auto; padding-right: 4px; }
.bst-pvp-combat-log p { margin: 2px 0; font-size: 13px; line-height: 1.25; }
.bst-pvp-combat-log .is-defeat { color: #941f1f; font-weight: 700; }
.bst-pvp-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 8px; max-width: 290px; color: #62482c; font-size: 11px; }
.bst-pvp-minimized { position: fixed; z-index: 2147483390; right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 8px 14px; border: 2px solid #c28c34; border-radius: 6px; background: #4a251d; color: #fff0c8; box-shadow: 0 8px 26px rgba(0, 0, 0, .48); font-family: Cinzel, serif; cursor: pointer; }
.bst-pvp-minimized > span { font-size: 24px; }

@media (max-width: 760px) {
    .bestiarium-pvp-overlay:not(.is-arena) { align-items: flex-start; padding: max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)); overflow-y: auto; }
    .bestiarium-pvp-modal { width: 100%; max-height: none; min-height: min(100%, 520px); padding: 22px 14px 18px; }
    .bestiarium-pvp-modal h2 { font-size: 23px; }
    .bst-pvp-close { top: 8px; right: 8px; }
    .bst-pvp-mode-switch, .bst-pvp-helper-picker, .bst-pvp-preview-grid { grid-template-columns: 1fr; }
    .bst-pvp-helper-picker { max-height: 44vh; max-height: 44dvh; }
    .bst-pvp-stake { grid-template-columns: minmax(0, 1fr) 110px; }
    .bst-pvp-actions .bestiarium-btn { flex: 1 1 145px; min-height: 46px; }
    .bestiarium-pvp-overlay.is-arena { padding: 0; }
    .bestiarium-pvp-arena { width: 100vw; width: 100dvw; height: 100vh; height: 100dvh; min-height: 0; border: 0; border-radius: 0; grid-template-rows: auto auto minmax(220px, 1fr) auto; }
    .bst-pvp-arena-head { min-height: calc(58px + env(safe-area-inset-top)); padding: max(6px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) 6px max(8px, env(safe-area-inset-left)); gap: 6px; }
    .bst-pvp-arena-head h2 { max-width: 52vw; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
    .bst-pvp-arena-head .bst-pvp-kicker { font-size: 10px; }
    .bst-pvp-arena-meta { gap: 4px; font-size: 13px; }
    .bst-pvp-arena-meta > span { min-width: 48px; padding: 5px 4px; }
    .bst-pvp-minimize { width: 38px; height: 38px; }
    .bst-pvp-teams { grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); gap: 3px; padding: 5px; }
    .bst-pvp-team-title { display: grid; gap: 0; }
    .bst-pvp-team-title strong { font-size: 11px; }
    .bst-pvp-team-title span { font-size: 9px; }
    .bst-pvp-versus { font-size: 11px; }
    .bst-pvp-roster { display: flex; max-height: 112px; overflow-x: auto; overflow-y: hidden; gap: 4px; padding-bottom: 2px; scroll-snap-type: x proximity; }
    .bst-pvp-unit { flex: 0 0 118px; grid-template-columns: 34px minmax(0, 1fr); padding: 3px; scroll-snap-align: start; }
    .bst-pvp-unit-image { width: 34px; height: 34px; }
    .bst-pvp-unit-copy > strong { font-size: 11px; }
    .bst-pvp-unit-copy > small, .bst-pvp-unit-copy > em { font-size: 9px; }
    .bst-pvp-unit-stats { font-size: 8px; gap: 0 3px; }
    .bst-pvp-unit-effects > span, .bst-pvp-target-effects > span { padding: 1px 3px; font-size: 7px; }
    .bst-pvp-stage-note { top: 5px; max-width: calc(100% - 20px); padding: 4px 7px; font-size: 11px; }
    .bst-pvp-target-name { display: none; }
    .bst-pvp-arena-bottom { grid-template-columns: 1fr; gap: 3px; min-height: 64px; padding: 5px max(7px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(7px, env(safe-area-inset-left)); }
    .bst-pvp-combat-log { max-height: 48px; }
    .bst-pvp-combat-log p { font-size: 10px; }
    .bst-pvp-legend { max-width: none; justify-content: flex-start; font-size: 8px; }
    .bst-pvp-damage { font-size: 34px; }
}
@media (max-width: 390px), (max-height: 650px) {
    .bestiarium-pvp-arena { grid-template-rows: auto auto minmax(180px, 1fr) auto; }
    .bst-pvp-roster { max-height: 82px; }
    .bst-pvp-unit { flex-basis: 104px; grid-template-columns: 28px minmax(0, 1fr); }
    .bst-pvp-unit-image { width: 28px; height: 28px; }
    .bst-pvp-unit-stats { display: none; }
    .bst-pvp-unit-effects { flex-wrap: nowrap; overflow: hidden; }
    .bst-pvp-arena-bottom { min-height: 54px; }
    .bst-pvp-legend { display: none; }
}

/* v4.42.0: synchronized lobby, helper orders, support effects, statistics and history. */
.bst-pvp-lobby-panel { display: none; position: absolute; inset: 0; z-index: 4; align-items: center; justify-content: center; padding: 48px 18px 18px; overflow-y: auto; background: #2b2119; }
.is-lobby .bst-pvp-lobby-panel { display: flex; }
.is-lobby .bst-pvp-stage { display: none; }
.bst-pvp-lobby-card { width: min(680px, 100%); padding: 22px; border: 2px solid #bd8b39; border-radius: 7px; background: #f4e3b5; box-shadow: 0 12px 42px rgba(0,0,0,.48); text-align: center; }
.bst-pvp-lobby-card h3 { margin: 2px 0 16px; color: #5e1c1b; font: 700 23px Cinzel, serif; letter-spacing: 0; }
.bst-pvp-ready-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 12px 0 18px; }
.bst-pvp-ready-grid > div { display: grid; gap: 4px; min-width: 0; padding: 12px; border: 1px solid #b89b67; border-radius: 5px; background: #fff5d8; }
.bst-pvp-ready-grid strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bst-pvp-ready-grid span { color: #8d2725; font-weight: 700; }
.bst-pvp-ready-grid .is-ready { border-color: #37766a; background: #e0eee5; }
.bst-pvp-ready-grid .is-ready span { color: #286459; }
.bst-pvp-ready-btn { min-width: min(320px,100%); min-height: 48px; }
.bst-pvp-start-countdown { margin: 4px auto; color: #8f2626; font: 700 72px/1 Cinzel,serif; font-variant-numeric: tabular-nums; }
.bst-pvp-lobby-hint { margin: 14px 0 0; color: #70593d; font-size: 14px; }
.bst-pvp-helper-order { grid-column: 1/-1; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 5px; padding-top: 4px; border-top: 1px dashed rgba(101,72,42,.3); }
.bst-pvp-helper-order > span { color: #65482a; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.bst-pvp-helper-order select { width: 100%; min-width: 0; height: 27px; padding: 1px 22px 1px 5px; border: 1px solid #9c7b49; border-radius: 3px; background: #fffaf0; color: #392617; font-size: 11px; }
.bst-pvp-helper-order small { grid-column: 1 / -1; color: #2f6657; font-size: 9px; line-height: 1.2; }
.bst-pvp-arena-summary { display: grid; gap: 5px; justify-items: end; }
.bst-pvp-live-stats { display: grid; grid-template-columns: repeat(4,minmax(62px,1fr)); gap: 4px; }
.bst-pvp-live-stats > div { display: grid; gap: 1px; min-width: 0; padding: 4px 6px; border: 1px solid rgba(145,99,34,.35); border-radius: 3px; background: #fff5d8; text-align: center; }
.bst-pvp-live-stats span { overflow: hidden; color: #70593d; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.bst-pvp-live-stats strong { font: 700 13px Cinzel,serif; }
.bst-pvp-result-stats { max-width: 680px; margin: 16px auto; overflow: hidden; border: 1px solid #b7955e; border-radius: 5px; background: #fff5d8; text-align: left; }
.bst-pvp-stats-head,.bst-pvp-stats-row { display: grid; grid-template-columns: minmax(70px,1fr) minmax(150px,1.7fr) minmax(70px,1fr); align-items: center; gap: 8px; padding: 8px 10px; }
.bst-pvp-stats-head { background: #4b3020; color: #fff0c8; text-align: center; }
.bst-pvp-stats-head strong { font-family: Cinzel,serif; }
.bst-pvp-stats-row { border-top: 1px dashed rgba(145,99,34,.3); }
.bst-pvp-stats-row span { color: #70593d; text-align: center; }
.bst-pvp-stats-row strong:first-child { text-align: left; }
.bst-pvp-stats-row strong:last-child { text-align: right; }
.bst-pvp-ranking-points { display: inline-block; margin: 4px 0 8px; padding: 6px 12px; border: 1px solid #997027; border-radius: 4px; background: #fff1c7; color: #5c3519; font: 700 16px Cinzel,serif; }
.bst-pvp-history-button { width: 100%; margin-top: 14px; }
.bst-pvp-history-more { width: 100%; margin-top: 10px; }
.bst-pvp-history-list { display: grid; gap: 7px; margin-top: 14px; }
.bst-pvp-history-row { display: grid; grid-template-columns: 78px minmax(0,1fr) auto; gap: 11px; align-items: center; width: 100%; min-height: 68px; padding: 9px 11px; border: 1px solid #b7955e; border-radius: 5px; background: #fff5d8; color: #392617; text-align: left; cursor: pointer; }
.bst-pvp-history-row:hover,.bst-pvp-history-row:focus-visible { border-color: #5c8277; outline: 2px solid rgba(55,118,106,.25); }
.bst-pvp-history-row > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.bst-pvp-history-row > span:nth-child(2) strong,.bst-pvp-history-row > span:nth-child(2) small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bst-pvp-history-outcome { padding: 5px 7px; border-radius: 3px; background: #8c742f; color: #fff8df; font-weight: 700; text-align: center; }
.bst-pvp-history-row.is-win .bst-pvp-history-outcome { background: #2e7566; }
.bst-pvp-history-row.is-loss .bst-pvp-history-outcome { background: #922e2b; }
.bst-pvp-history-numbers { display: grid; gap: 2px; color: #70593d; text-align: right; }
.bst-pvp-history-numbers strong { color: #49301c; }

@media (max-width:760px) {
    .is-lobby .bestiarium-pvp-arena { grid-template-rows: auto minmax(150px,auto) minmax(260px,1fr) auto; }
    .bst-pvp-lobby-panel { align-items: flex-start; padding: 42px 8px 8px; }
    .bst-pvp-lobby-card { padding: 14px 10px; }
    .bst-pvp-lobby-card h3 { font-size: 18px; }
    .bst-pvp-start-countdown { font-size: 52px; }
    .bst-pvp-team.is-own .bst-pvp-roster { max-height: 148px; }
    .bst-pvp-team.is-own .bst-pvp-unit { flex-basis: 142px; }
    .bst-pvp-helper-order { grid-template-columns: 1fr; gap: 2px; }
    .bst-pvp-helper-order select { height: 30px; font-size: 12px; }
    .bst-pvp-arena-bottom { grid-template-columns: minmax(0,1fr); }
    .bst-pvp-arena-summary { justify-items: stretch; }
    .bst-pvp-live-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .bst-pvp-live-stats > div { padding: 3px 2px; }
    .bst-pvp-live-stats span { font-size: 8px; }
    .bst-pvp-stats-head,.bst-pvp-stats-row { grid-template-columns: minmax(52px,1fr) minmax(110px,1.5fr) minmax(52px,1fr); gap: 4px; padding: 7px 6px; font-size: 12px; }
    .bst-pvp-history-row { grid-template-columns: 64px minmax(0,1fr); gap: 7px; }
    .bst-pvp-history-numbers { grid-column: 2; grid-template-columns: auto auto; justify-content: space-between; text-align: left; }
}
@media (max-width:390px),(max-height:650px) {
    .bst-pvp-live-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bst-pvp-start-countdown { font-size: 42px; }
    .bst-pvp-ready-grid { gap: 5px; }
    .bst-pvp-ready-grid > div { padding: 8px 5px; font-size: 11px; }
    .bst-pvp-team.is-own .bst-pvp-roster { max-height: 96px; }
    .bst-pvp-helper-order > span { display: none; }
    .is-lobby .bestiarium-pvp-arena { grid-template-rows: auto minmax(96px,auto) minmax(180px,1fr) auto; }
    .bst-pvp-lobby-card { padding: 9px 7px; }
    .bst-pvp-lobby-hint { margin-top: 7px; font-size: 11px; }
}
/* v4.43.0: armory team pools and guild-war registration. */
.is-team-pool .bestiarium-pvp-modal { width: min(980px,100%); }
.bst-team-pool-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:14px 0; }
.bst-team-pool-summary > span { display:grid; gap:2px; min-width:0; padding:10px; border:1px solid #b7955e; border-radius:5px; background:#fff5d8; text-align:center; }
.bst-team-pool-summary strong { overflow:hidden; color:#4a2f1c; font:700 17px Cinzel,serif; text-overflow:ellipsis; white-space:nowrap; }
.bst-team-pool-summary small { color:#70593d; font-size:11px; }
.bst-team-side-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:14px 0; }
.bst-team-side-grid > section { min-width:0; padding:10px; border:2px solid #b7955e; border-radius:6px; background:#fff5d8; }
.bst-team-side-grid > section.is-selected { border-color:#2f7569; box-shadow:inset 0 0 0 2px rgba(47,117,105,.15); }
.bst-team-side-grid > section > header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.bst-team-side-grid > section > header strong { min-width:0; overflow:hidden; color:#4a2f1c; font:700 16px Cinzel,serif; text-overflow:ellipsis; white-space:nowrap; }
.bst-team-side-grid > section > header span { flex:0 0 auto; color:#70593d; font-weight:700; }
.bst-team-side-grid > section > .bestiarium-btn { width:100%; margin-top:8px; }
.bst-team-pool-roster { display:grid; gap:4px; max-height:190px; overflow-y:auto; }
.bst-team-pool-member { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; padding:6px 8px; border:1px solid rgba(145,99,34,.3); border-radius:4px; background:#f5e6bf; }
.bst-team-pool-member strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bst-team-pool-member span { flex:0 0 auto; color:#70593d; font-size:11px; }
.bst-team-war-banner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:12px; margin:14px 0 4px; padding:14px; border:2px solid #8d2927; border-radius:6px; background:#f1d5c5; text-align:center; }
.bst-team-war-banner strong { min-width:0; overflow:hidden; color:#591c1b; font:700 18px Cinzel,serif; text-overflow:ellipsis; white-space:nowrap; }
.bst-team-war-banner span { color:#8d2927; font:700 16px Cinzel,serif; }
.bst-team-war-time { margin:4px 0 12px; color:#70593d; font-weight:700; text-align:center; }
.bst-team-war-select { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; margin:10px 0; }
.bst-team-war-select span { font-weight:700; }
.bst-team-war-select select { width:100%; min-height:42px; padding:7px 9px; border:1px solid #9c7438; border-radius:4px; background:#fffaf0; color:#392617; }
.bestiarium-pvp-arena .bst-pvp-roster { max-height:190px; overflow-y:auto; }

@media (max-width:760px) {
    .bst-team-side-grid { grid-template-columns:1fr; }
    .bst-team-pool-summary { grid-template-columns:1fr; gap:5px; }
    .bst-team-pool-summary > span { grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:7px 9px; text-align:left; }
    .bst-team-pool-summary small { text-align:right; }
    .bst-team-war-banner { gap:6px; padding:10px 6px; }
    .bst-team-war-banner strong { font-size:13px; white-space:normal; }
    .bst-team-war-select { grid-template-columns:1fr; gap:4px; }
    .bestiarium-pvp-arena .bst-pvp-roster { max-height:148px; overflow-x:auto; overflow-y:hidden; }
}