/* สถานะตัวละคร (C) — เลย์เอาต์แบบดูผู้เล่นอื่น */
.game-status-root {
    position: absolute;
    inset: 0;
    z-index: 55;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right))
        max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.18s ease;
}

.game-status-root.open {
    pointer-events: auto;
    opacity: 1;
}

.game-status-backdrop {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 40%, rgba(20, 28, 36, 0.72) 0%, rgba(0, 0, 0, 0.78) 70%);
}

.game-status-sheet {
    position: relative;
    width: min(96%, 420px);
    max-height: min(92%, 680px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 10px;
    background: linear-gradient(180deg, #3a2e24 0%, #1e1612 38%, #120e0a 100%);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
    --inv-slot-size: 46px;
    --inv-slot-gap: 5px;
    pointer-events: auto;
}

@media (min-width: 420px) {
    .game-status-sheet {
        --inv-slot-size: 52px;
    }
}

.game-status-head-text {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.game-status-head-text .player-inspect-title {
    margin: 0;
}

.status-points-banner {
    margin: 0;
    padding: 4px 8px;
    font-size: var(--text-xs);
    text-align: left;
    color: #b0a090;
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid #4a3728;
    border-radius: 4px;
    line-height: 1.35;
}

.status-points-banner.has-points {
    color: #c8e6c9;
    border-color: #2e7d32;
    background: rgba(46, 125, 50, 0.18);
}

.game-status-vitals {
    grid-template-columns: repeat(3, 1fr);
}

.game-status-vitals .player-inspect-vital.has-points b {
    color: #c8e6c9;
}

.game-status-alloc-hint {
    margin: -2px 0 6px;
    font-size: 10px;
    color: #a89a8c;
    line-height: 1.35;
}

.player-inspect-stat--alloc {
    align-items: center;
}

.player-inspect-stat-right {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    min-width: 0;
}

.player-inspect-stat--alloc .player-inspect-stat-val {
    display: inline-flex;
    align-items: baseline;
    gap: 1px;
}

.status-stat-plus {
    min-width: 28px;
    min-height: 28px;
    padding: 0 4px;
    font-size: var(--text-md);
    line-height: 1;
    flex-shrink: 0;
}

.status-stat-plus:disabled {
    opacity: 0.35;
}

.status-equip-bonus,
.status-bonus-pos {
    font-size: inherit;
    font-weight: bold;
    color: #66bb6a;
}

.status-equip-penalty,
.status-bonus-neg {
    font-size: inherit;
    font-weight: bold;
    color: #ef5350;
}

.status-primary-net {
    color: #efebe9;
    font-weight: bold;
}

.status-primary-alloc {
    color: #ffeb3b;
    font-weight: bold;
}

.status-weapon-asp,
.status-mount-move {
    color: #ffeb3b;
    font-weight: bold;
}

.game-status-sheet .player-inspect-tabs .status-tab {
    min-height: var(--touch-min);
    font-size: var(--text-sm);
    flex: 1;
}

.status-tab.is-active {
    background: var(--px-gold, #c9a227);
    color: #1a1410;
    border-color: #8d6e63;
}

.game-status-root > .item-detail-root {
    position: absolute;
    inset: 0;
    z-index: 20;
}
