/* Панель развития характеристик учебного полигона. */
.training-panel {
    grid-column: 1 / -1;
    width: min(100%, 520px);
    margin: 0 auto;
    padding: 10px;
    border: 1px solid #b9904a42;
    border-radius: 12px;
    background:
        radial-gradient(circle at 50% 0, #d3aa5917, transparent 38%),
        linear-gradient(155deg, #14130f, #0b0d12 64%);
}

.training-wallet {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 9px;
}

.training-wallet > span {
    display: grid;
    gap: 3px;
    padding: 8px 10px;
    border: 1px solid #d3aa5928;
    border-radius: 8px;
    background: #0b0e13cc;
}

.training-wallet small {
    color: #777f8b;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.training-wallet strong {
    color: #f0ddb0;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

.training-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.training-stat-card,
.training-talent-card {
    position: relative;
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 10px;
    color: #d7d9de;
    text-align: left;
    border: 1px solid #ffffff12;
    border-radius: 9px;
    background: #11151b;
}

.training-skills-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.training-skill-card {
    display: grid;
    gap: 7px;
    min-width: 0;
    min-height: 112px;
    padding: 10px;
    color: #d7d9de;
    text-align: left;
    border: 1px solid #ffffff13;
    border-radius: 9px;
    background: #11151b;
}

.training-skill-active {
    border-color: #c9813d55;
    background:
        radial-gradient(circle at 100% 0, #c9813d18, transparent 48%),
        #11151b;
}

.training-skill-passive {
    border-color: #7d58c755;
    background:
        radial-gradient(circle at 100% 0, #7d58c718, transparent 48%),
        #11151b;
}

.training-skill-heading {
    display: grid;
    gap: 4px;
}

.training-skill-heading strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.training-skill-heading b {
    color: #9b855a;
    font-size: 8px;
    letter-spacing: 0.08em;
}

.training-skill-card > small {
    color: #7f8791;
    font-size: 9px;
}

.training-skill-effect {
    color: #b8bbc1;
    font-size: 9px;
    line-height: 1.35;
}

.training-skill-modal-status {
    color: #d3aa59 !important;
}

.training-skill-effect-box {
    display: grid;
    gap: 3px;
    padding: 9px;
    text-align: left;
    border: 1px solid #ffffff0d;
    border-radius: 7px;
    background: #090c11;
}

.training-skill-effect-box small {
    color: #8b93a0;
    font-size: 9px;
    text-transform: uppercase;
}

.training-skill-effect-box p {
    margin: 0 0 5px;
    color: #d4d7dd;
    font-size: 11px;
    line-height: 1.35;
}

.training-skill-maxed {
    color: #d3aa59;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.training-stat-card::before,
.training-talent-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    border-radius: 9px 0 0 9px;
    background: var(--training-glow, #d3aa59);
}

.training-stat-card:not(:disabled):active,
.training-talent-card:not(:disabled):active {
    transform: translateY(1px);
}

.training-stat-card:disabled,
.training-talent-card:disabled {
    cursor: default;
    opacity: 0.58;
}

.training-stat-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.training-stat-heading strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.training-stat-heading b {
    color: #f1d88f;
    font-size: 16px;
    font-variant-numeric: tabular-nums;
}

.training-stat-card small,
.training-talent-card small {
    min-height: 22px;
    color: #7f8791;
    font-size: 9px;
    line-height: 1.25;
}

.training-stat-upgrade {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding-top: 5px;
    border-top: 1px solid #ffffff0b;
}

.training-stat-upgrade i {
    color: #76c995;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.training-stat-upgrade span {
    color: #b8a77d;
    font-size: 9px;
    white-space: nowrap;
}

.training-talent-slot {
    margin-top: 8px;
}

.training-talent-card {
    width: 100%;
    --training-glow: #ab75d4;
}

.training-modal {
    position: fixed;
    z-index: 80;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
    background: #030509c9;
    backdrop-filter: blur(5px);
}

.training-modal[hidden] {
    display: none;
}

.training-confirmation {
    display: grid;
    gap: 6px;
    width: min(100%, 360px);
    padding: 16px;
    text-align: center;
    border: 1px solid #d3aa5955;
    border-radius: 12px;
    background:
        radial-gradient(circle at 50% 0, #d3aa5920, transparent 48%),
        #11141a;
    box-shadow: 0 24px 70px #000000a8;
}

.training-confirmation strong {
    color: #f0ddb0;
}

.training-confirmation span {
    color: #75c995;
    font-weight: 800;
}

.training-confirmation small {
    color: #a99d80;
}

.training-confirmation-warning {
    color: #d36c63;
    font-size: 10px;
    font-style: normal;
}

.training-confirmation-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
}

.training-confirmation-actions button {
    min-height: 38px;
    color: #e7e9ed;
    border: 1px solid #ffffff16;
    border-radius: 7px;
    background: #202630;
}

.training-confirmation-actions button:first-child {
    color: #1a160c;
    border-color: #d3aa59;
    background: #d3aa59;
    font-weight: 800;
}

.training-confirmation-actions button:disabled {
    cursor: default;
    opacity: 0.45;
}

.training-theme .location-copy h1 {
    transform: translateX(70px);
}

.training-theme .location-mark {
    transform: translateY(50px);
}

.training-theme .scene-content {
    padding-top: 12px;
    margin-bottom: -20px;
    transform: translateY(-20px);
}
