/* =====================================================================
 *  globe-engine.css — стили для 3D-глобуса и игровых модалок
 *  Версия: 3.0 · 2026-07-30
 * ===================================================================== */

:root {
    --rus:#ff4757; --afr:#2ed573; --euro:#3aa0ff; --amer:#ffa502;
    --asia:#a55eea; --ksa:#26d0ce;
    --danger:#ff5252; --warn:#f1c40f; --success:#2ecc71; --info:#3aa0ff;
    --gold:#ffd700; --bronze:#cd7f32; --silver:#c0c0c0;
    --bg-panel:rgba(18,24,42,0.92);
    --border:rgba(255,255,255,0.08);
    --border-glow:rgba(58,160,255,0.25);
    --text:#e8eaf0; --text-dim:#9aa3b5; --text-mute:#6b7385;
}

/* ===== LAYOUT ===== */
.layout{display:grid;grid-template-columns:280px 1fr 320px;gap:16px;padding:16px;position:relative;z-index:50}
@media(max-width:1280px){.layout{grid-template-columns:240px 1fr 280px}}
@media(max-width:1024px){.layout{grid-template-columns:1fr}}
.col{display:flex;flex-direction:column;gap:16px}

/* ===== GLOBE STAGE ===== */
.globe-stage{position:relative;background:radial-gradient(ellipse at center,rgba(58,160,255,0.15) 0%,transparent 60%),var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:20px;overflow:hidden;aspect-ratio:1.2/1;min-height:460px}
#globe-canvas{display:block;width:100%;height:100%;cursor:grab}
#globe-canvas:active{cursor:grabbing}
.globe-hud{position:absolute;pointer-events:none;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.1em}
.globe-hud--tl{top:14px;left:14px}
.globe-hud--tr{top:14px;right:14px;text-align:right}
.globe-hud--bl{bottom:14px;left:14px}
.globe-hud--br{bottom:14px;right:14px;text-align:right}
.globe-hud strong{color:#fff}
.globe-tooltip{position:absolute;pointer-events:none;background:rgba(0,0,0,0.92);border:1px solid;border-radius:8px;padding:10px 14px;font-size:12px;color:#fff;min-width:200px;z-index:1000;opacity:0;transition:opacity 0.15s ease;backdrop-filter:blur(8px)}
.globe-tooltip.visible{opacity:1}
.globe-tooltip__name{font-weight:800;font-size:14px;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.globe-tooltip__row{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-dim);margin-top:2px}
.globe-tooltip__row strong{color:#fff}

/* ===== PROFILE ===== */
.profile-card{padding:18px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden}
.profile-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;position:relative}
.profile-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--rus),#8b0000);display:flex;align-items:center;justify-content:center;font-size:28px;border:2px solid var(--rus);box-shadow:0 0 20px rgba(255,71,87,0.4);position:relative;flex-shrink:0}
.profile-avatar::after{content:attr(data-level);position:absolute;bottom:-4px;right:-4px;width:22px;height:22px;background:#1a1f2e;border:2px solid var(--amer);border-radius:50%;color:var(--amer);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace}
.profile-name{font-size:16px;font-weight:800;color:#fff}
.profile-tier{display:inline-block;margin-top:3px;padding:2px 8px;background:linear-gradient(90deg,var(--amer),#ff6348);color:#1a1f2e;font-size:10px;font-weight:800;border-radius:3px;letter-spacing:0.05em;text-transform:uppercase}
.profile-section{margin-bottom:14px}
.profile-section__title{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:8px}

/* ===== PANELS ===== */
.panel{background:var(--bg-panel);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px;padding:16px}
.panel__title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text);margin-bottom:12px;text-transform:uppercase;letter-spacing:0.05em}
.panel__title::before{content:'';width:4px;height:14px;background:var(--info);border-radius:2px}
.panel__title--danger::before{background:var(--danger)}
.panel__title--warn::before{background:var(--warn)}
.panel__title--success::before{background:var(--success)}

/* ===== CONTINENT CARDS ===== */
.continent-card{
    display:flex;align-items:center;gap:11px;
    padding:9px 10px 9px 9px;
    background:linear-gradient(135deg,rgba(255,255,255,0.025),rgba(255,255,255,0.01));
    border:1px solid var(--border);
    border-left:3px solid var(--c-color,var(--info));
    border-radius:9px;
    margin-bottom:7px;
    cursor:pointer;
    transition:background .2s ease,transform .2s ease,border-color .2s ease,box-shadow .25s ease;
    position:relative;
    overflow:hidden;
    animation:cc-in .4s cubic-bezier(0.2,0.8,0.4,1) both;
    animation-delay:calc(var(--idx,0) * 55ms);
}
@keyframes cc-in{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
.continent-card::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg,var(--c-color,transparent) 0%,transparent 35%);
    opacity:0;transition:opacity .25s ease;pointer-events:none;
}
.continent-card:hover{
    background:linear-gradient(135deg,rgba(255,255,255,0.07),rgba(255,255,255,0.02));
    transform:translateX(2px);
    box-shadow:0 4px 14px rgba(0,0,0,0.35),0 0 0 1px var(--c-color,transparent);
}
.continent-card:hover::before{opacity:0.08}
.continent-card.selected{
    background:linear-gradient(135deg,rgba(241,196,15,0.10),rgba(241,196,15,0.02));
    border-color:var(--warn);
    box-shadow:0 0 0 1px rgba(241,196,15,0.35),0 4px 14px rgba(241,196,15,0.15);
}
.continent-card.role-attacker{box-shadow:0 0 0 1px var(--danger),0 4px 14px rgba(255,82,82,0.18)}
.continent-card.role-defender{box-shadow:0 0 0 1px var(--info),0 4px 14px rgba(58,160,255,0.18)}
.continent-card.role-attacker.role-defender{box-shadow:0 0 0 1px var(--warn),0 4px 14px rgba(241,196,15,0.2)}

/* Image wrap: 44x44 square, colored border, hover scale */
.continent-card__img-wrap{
    --c-color:var(--info);
    position:relative;
    width:46px;height:46px;flex-shrink:0;
    border-radius:8px;
    overflow:hidden;
    border:2px solid var(--c-color);
    background:linear-gradient(135deg,rgba(0,0,0,0.45),rgba(0,0,0,0.15));
    box-shadow:0 0 0 1px rgba(0,0,0,0.4),0 0 12px -2px var(--c-color);
    transition:transform .25s ease,box-shadow .25s ease;
}
.continent-card__img{
    display:block;width:100%;height:100%;
    object-fit:cover;
    transition:transform .35s cubic-bezier(0.2,0.8,0.4,1),filter .25s ease;
    filter:saturate(1.05) contrast(1.02);
}
.continent-card:hover .continent-card__img-wrap{
    transform:scale(1.06);
    box-shadow:0 0 0 1px rgba(0,0,0,0.4),0 0 18px -1px var(--c-color);
}
.continent-card:hover .continent-card__img{transform:scale(1.12)}
.continent-card.selected .continent-card__img-wrap{
    box-shadow:0 0 0 2px var(--warn),0 0 16px -2px var(--c-color);
}
/* Flag badge over image bottom-right */
.continent-card__flag{
    position:absolute;bottom:-1px;right:-1px;
    font-size:13px;line-height:1;
    padding:2px 3px;
    background:rgba(0,0,0,0.78);
    backdrop-filter:blur(4px);
    border-top-left-radius:6px;
    pointer-events:none;
    text-shadow:0 1px 2px rgba(0,0,0,0.9);
}
.continent-card__img-wrap--placeholder{
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--c-color),rgba(0,0,0,0.4));
}
.continent-card__img-wrap--placeholder .continent-card__flag{
    position:static;font-size:24px;background:none;border-radius:0;padding:0;
}

/* Body: name + meta */
.continent-card__body{flex:1;min-width:0;cursor:pointer}
.continent-card__name{
    font-weight:700;font-size:13px;color:var(--text);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    letter-spacing:0.01em;
}
.continent-card__meta{
    font-size:10px;color:var(--text-dim);
    font-family:'JetBrains Mono',monospace;
    margin-top:3px;
    display:flex;align-items:center;gap:5px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.continent-card__dot{color:var(--text-mute);opacity:0.7}

/* Arrow link */
.continent-card__arrow{
    flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    width:26px;height:26px;
    border-radius:6px;
    text-decoration:none;
    color:var(--text-dim);
    font-size:16px;font-weight:700;
    background:rgba(255,255,255,0.04);
    border:1px solid var(--border);
    transition:all .2s ease;
}
.continent-card__arrow:hover{
    color:#fff;
    background:var(--c-color,var(--info));
    border-color:var(--c-color,var(--info));
    transform:translateX(2px);
    box-shadow:0 0 12px -2px var(--c-color,var(--info));
}

/* ===== EVENT ROWS ===== */
.event-row{padding:8px 10px;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:6px;margin-bottom:6px;font-size:12px}
.event-row--danger{border-left-color:var(--danger);background:rgba(231,76,60,0.05)}
.event-row--warn{border-left-color:var(--warn)}
.event-row--success{border-left-color:var(--success)}
.event-row__head{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.event-row__time{margin-left:auto;font-size:10px;color:var(--text-mute);font-family:'JetBrains Mono',monospace}

/* ===== ACTIVE EVENTS PANEL ===== */
.panel--events{display:flex;flex-direction:column;max-height:calc(100vh - 220px);min-height:380px}
.panel__title-meta{margin-left:auto;font-size:10px;font-family:'JetBrains Mono',monospace;color:var(--text-dim);font-weight:500;letter-spacing:0;text-transform:none}
.panel__title-meta span{color:var(--warn)}

.ae-summary{display:flex;gap:10px;padding:8px 10px;background:rgba(0,0,0,0.25);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;font-size:11px;font-family:'JetBrains Mono',monospace;flex-shrink:0}
.ae-summary__item{display:flex;align-items:center;gap:5px;color:var(--text-dim)}
.ae-summary__dot{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 6px currentColor}
.ae-summary__dot--success{background:var(--success);color:var(--success)}
.ae-summary__dot--warn{background:var(--warn);color:var(--warn)}
.ae-summary__dot--danger{background:var(--danger);color:var(--danger);animation:pulse-dot 1.2s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.6;transform:scale(1.3)}}

.active-events-feed{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:4px;margin-right:-4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) transparent}
.active-events-feed::-webkit-scrollbar{width:6px}
.active-events-feed::-webkit-scrollbar-track{background:transparent}
.active-events-feed::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:3px}
.active-events-feed::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.25)}

.ae-empty{text-align:center;padding:32px 12px;color:var(--text-mute);font-size:13px;font-style:italic}

/* === EVENT CARD === */
.ae-card{
    --c-color:var(--info);
    position:relative;
    padding:9px 10px 9px 11px;
    background:linear-gradient(135deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));
    border:1px solid var(--border);
    border-left:3px solid var(--c-color);
    border-radius:8px;
    margin-bottom:7px;
    cursor:pointer;
    transition:background .2s ease,transform .2s ease,box-shadow .25s ease;
    animation:ae-slide-in .35s cubic-bezier(0.2,0.8,0.4,1) both;
}
@keyframes ae-slide-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
.ae-card:hover{
    background:linear-gradient(135deg,rgba(255,255,255,0.07),rgba(255,255,255,0.02));
    transform:translateX(-2px);
    box-shadow:0 4px 14px rgba(0,0,0,0.35),0 0 0 1px var(--c-color);
}
.ae-card--danger{border-left-color:var(--danger);background:linear-gradient(135deg,rgba(255,82,82,0.08),rgba(255,82,82,0.01))}
.ae-card--danger:hover{box-shadow:0 4px 14px rgba(255,82,82,0.25),0 0 0 1px var(--danger)}
.ae-card--warn{border-left-color:var(--warn)}
.ae-card--success{border-left-color:var(--success);background:linear-gradient(135deg,rgba(46,204,113,0.06),rgba(46,204,113,0.01))}

.ae-card__head{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.ae-card__icon{font-size:15px;line-height:1;flex-shrink:0}
.ae-card__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}
.ae-card__name{font-size:11px;font-weight:700;color:var(--text);letter-spacing:0.02em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ae-card__time{font-size:9px;color:var(--text-mute);font-family:'JetBrains Mono',monospace;flex-shrink:0}
.ae-card__title{font-size:12px;color:var(--text);line-height:1.35;word-wrap:break-word}

.ae-card__deltas{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.ae-delta{
    display:inline-flex;align-items:center;gap:3px;
    padding:2px 6px;
    font-size:10px;font-weight:700;
    font-family:'JetBrains Mono',monospace;
    border-radius:4px;
    border:1px solid;
    line-height:1.4;
}
.ae-delta--pos{color:var(--success);background:rgba(46,204,113,0.10);border-color:rgba(46,204,113,0.35)}
.ae-delta--neg{color:var(--danger);background:rgba(255,82,82,0.10);border-color:rgba(255,82,82,0.35)}

@media(max-width:720px){
    .panel--events{max-height:none;min-height:auto}
    .ae-card{padding:12px 12px 12px 13px}
    .ae-card__icon{font-size:18px}
    .ae-card__name{font-size:13px}
    .ae-card__title{font-size:14px}
    .ae-delta{font-size:11px;padding:3px 7px}
}

/* ===== AI ANCHOR — ИИ-диктор мира (телевидение будущего) ===== */
.ai-anchor{
    padding:14px;background:var(--bg-panel);
    border:1px solid var(--border-glow);border-radius:12px;
    position:relative;overflow:hidden;margin-bottom:16px;
}
.ai-anchor::before{
    content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:2px;
    background:linear-gradient(90deg,transparent,var(--info),transparent);
    animation:scan 3s ease-in-out infinite;
}
@keyframes scan{0%,100%{transform:translateX(-100%)}50%{transform:translateX(100%)}}

.ai-anchor__head{display:flex;align-items:center;gap:11px;margin-bottom:11px;position:relative;z-index:2}
.ai-anchor__avatar{
    width:46px;height:46px;border-radius:50%;
    background:linear-gradient(135deg,var(--info),#1a3a8b);
    display:flex;align-items:center;justify-content:center;
    border:2px solid var(--info);
    box-shadow:0 0 15px rgba(58,160,255,0.5);
    position:relative;flex-shrink:0;
}
.ai-anchor__avatar::after{
    content:'';position:absolute;inset:-4px;
    border:1px solid var(--info);border-radius:50%;
    opacity:0.5;animation:ring 2s ease-out infinite;
}
@keyframes ring{0%{transform:scale(1);opacity:0.5}100%{transform:scale(1.5);opacity:0}}
.ai-anchor__avatar-icon{font-size:22px;line-height:1;filter:drop-shadow(0 0 4px rgba(255,255,255,0.5))}

.ai-anchor__head-text{flex:1;min-width:0}
.ai-anchor__title{font-size:13px;font-weight:700;color:#fff;letter-spacing:0.01em}
.ai-anchor__sub{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-dim);margin-top:2px;font-family:'JetBrains Mono',monospace}
.ai-anchor__live{
    color:var(--danger);font-weight:800;letter-spacing:0.06em;
    animation:live-blink 1.5s ease-in-out infinite;
}
@keyframes live-blink{0%,100%{opacity:1}50%{opacity:0.4}}
.ai-anchor__time{margin-left:auto;color:var(--text-mute)}

.ai-anchor__msg{
    padding:11px 13px;background:rgba(58,160,255,0.06);
    border-left:3px solid var(--info);border-radius:0 8px 8px 0;
    font-size:12.5px;color:var(--text);line-height:1.6;
    margin-bottom:11px;min-height:60px;
    transition:opacity .25s ease, transform .25s ease;
}

.ai-anchor__footer{display:flex;gap:8px}
.ai-anchor__btn{
    flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:7px 10px;border-radius:6px;
    background:rgba(255,255,255,0.04);border:1px solid var(--border);
    color:var(--text-dim);font-size:11px;font-weight:600;
    text-decoration:none;cursor:pointer;
    transition:all .15s ease;
}
.ai-anchor__btn:hover{
    background:rgba(58,160,255,0.12);
    border-color:var(--info);color:var(--info);
    transform:translateY(-1px);
}
.ai-anchor__btn--tts:hover{background:rgba(46,204,113,0.12);border-color:var(--success);color:var(--success)}
.ai-anchor__btn--link:hover{background:rgba(241,196,15,0.12);border-color:var(--warn);color:var(--warn)}
.ai-anchor__btn--speaking{
    background:rgba(255,82,82,0.15);border-color:var(--danger);color:var(--danger);
    animation:speaking-pulse 1s ease-in-out infinite;
}
@keyframes speaking-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,82,82,0.4)}50%{box-shadow:0 0 0 6px rgba(255,82,82,0)}}
.ai-anchor__btn-icon{font-size:14px;line-height:1}

@media(max-width:720px){
    .ai-anchor__msg{font-size:13px}
    .ai-anchor__btn{padding:9px 12px;font-size:12px}
}

/* ===== BATTLE SLOTS ===== */
.battle-slot{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(255,255,255,0.03);border:1px dashed var(--border);border-radius:8px;min-height:56px;margin-bottom:8px}
.battle-slot--filled{border-style:solid;border-color:var(--border-glow)}
.battle-slot__label{font-size:10px;text-transform:uppercase;color:var(--text-mute);letter-spacing:0.08em;flex-shrink:0;width:70px}
.battle-slot__content{flex:1;display:flex;align-items:center;gap:10px}
.battle-slot__empty{color:var(--text-mute);font-style:italic;font-size:12px}
.battle-role-buttons{display:flex;gap:6px;margin-top:8px}
.battle-role-buttons .btn{flex:1}
.battle-progress-wrap{margin-top:10px;padding:12px;background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:8px}
.battle-progress-head{display:flex;justify-content:space-between;font-size:11px;color:var(--text-dim);margin-bottom:6px;font-family:'JetBrains Mono',monospace}
.battle-progress-bar{height:8px;background:rgba(255,255,255,0.06);border-radius:4px;overflow:hidden;display:flex}
.battle-progress-bar__att{background:var(--danger);transition:width 0.3s ease}
.battle-progress-bar__def{background:var(--info);transition:width 0.3s ease}
.battle-log{margin-top:8px;max-height:100px;overflow-y:auto;font-size:11px;color:var(--text-dim);font-family:'JetBrains Mono',monospace}

/* ===== BUTTONS ===== */
.btn--gold{background:linear-gradient(135deg,rgba(255,215,0,0.15),rgba(255,165,2,0.1));border-color:rgba(255,215,0,0.4);color:var(--gold)}
.btn--sm{padding:5px 10px;font-size:11px}

/* ===== TOAST ===== */
.toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:380px}
.toast{background:var(--bg-panel);backdrop-filter:blur(12px);border:1px solid var(--border-glow);border-left:4px solid var(--info);padding:12px 16px;border-radius:8px;font-size:13px;color:var(--text);min-width:280px;box-shadow:0 8px 24px rgba(0,0,0,0.5);animation:toast-in 0.3s cubic-bezier(0.2,0.8,0.4,1) both;pointer-events:auto}
.toast--success{border-left-color:var(--success)}
.toast--warn{border-left-color:var(--warn)}
.toast--danger{border-left-color:var(--danger)}
.toast--gold{border-left-color:var(--gold)}
@keyframes toast-in{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}

/* ===== RESPONSIVE ===== */
@media(max-width:720px){
    .topbar{flex-direction:column;gap:10px}
    .topbar__nav{justify-content:center;flex-direction:row;flex-wrap:wrap;gap:6px}
    .topbar__nav .btn{padding:6px 10px;font-size:12px;min-height:44px}
    .lw-total,.lw-tick-label{display:none}
    .globe-stage{min-height:380px;aspect-ratio:1/1;padding:8px}
    .layout{padding:8px;gap:8px}
    .profile-avatar{width:64px;height:64px;font-size:32px}
    .profile-name{font-size:18px}
    .continent-card{padding:14px 14px 14px 13px;min-height:72px;animation:none}
    .continent-card__img-wrap{width:58px;height:58px;border-radius:10px}
    .continent-card__flag{font-size:15px;padding:3px 4px}
    .continent-card__name{font-size:16px}
    .continent-card__meta{font-size:12px;gap:6px}
    .continent-card__arrow{width:34px;height:34px;font-size:20px}
    .event-row{padding:12px;font-size:14px}
    .btn{padding:12px 16px;font-size:14px;min-height:44px}
    .toast-container{right:8px;left:8px;top:70px}
    .toast{min-width:0;max-width:none}
}
@media(max-width:400px){
    .globe-stage{min-height:320px;padding:6px}
    .globe-hud{font-size:9px}
}

/* ===== FOOTER — профессиональный с колонками ===== */
.footer{
    margin-top:24px;
    background:linear-gradient(180deg,rgba(10,14,28,0.6) 0%,rgba(8,12,24,0.95) 100%);
    backdrop-filter:blur(12px);
    border-top:1px solid var(--border);
    color:var(--text-dim);
    user-select:none;
    position:relative;
    overflow:hidden;
}
.footer::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,var(--info),transparent);
    opacity:0.4;
}
.footer__inner{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.2fr;
    gap:32px;
    max-width:1400px;margin:0 auto;
    padding:36px 24px 24px;
}
.footer__col{display:flex;flex-direction:column;gap:8px}
.footer__col--about{gap:10px}

.footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.footer__logo{font-size:32px;line-height:1;filter:drop-shadow(0 0 8px rgba(58,160,255,0.4))}
.footer__brand-name{font-size:18px;font-weight:800;color:#fff;letter-spacing:0.01em}

.footer__about-text{font-size:12px;line-height:1.6;color:var(--text-dim);margin-bottom:8px}

.footer__contact{
    display:inline-flex;align-items:center;gap:7px;
    font-size:12px;color:var(--text-dim);
    text-decoration:none;
    padding:3px 0;
    transition:color .15s ease;
}
.footer__contact:hover{color:var(--info)}
.footer__contact span:first-child{font-size:14px;width:18px;text-align:center}

.footer__col-title{
    font-size:11px;font-weight:700;color:#fff;
    text-transform:uppercase;letter-spacing:0.08em;
    margin:0 0 10px;
    padding-bottom:8px;border-bottom:1px solid var(--border);
}

.footer__links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.footer__link{
    display:inline-flex;align-items:center;gap:8px;
    font-size:12px;color:var(--text-dim);
    text-decoration:none;
    padding:4px 0;
    transition:color .15s ease,transform .15s ease;
}
.footer__link:hover{color:var(--info);transform:translateX(2px)}
.footer__link-icon{font-size:13px;width:18px;text-align:center;opacity:0.8}

.footer__feedback-hint{font-size:11px;color:var(--text-mute);line-height:1.5;margin-bottom:6px}
.footer__feedback-btn{margin-top:4px;align-self:flex-start}

.footer__bottom{
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:8px;
    max-width:1400px;margin:0 auto;
    padding:14px 24px;
    border-top:1px solid var(--border);
    font-size:11px;color:var(--text-mute);
    cursor:pointer;
    transition:background .2s ease,color .2s ease;
}
.footer__bottom:hover{background:rgba(58,160,255,0.04);color:var(--text)}
.footer__hint{
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    color:var(--text-mute);
    opacity:0.7;
    transition:opacity .2s ease,color .2s ease;
    letter-spacing:0.05em;
}
.footer__bottom:hover .footer__hint{opacity:1;color:var(--warn)}

/* Flash-сообщение при кликах */
.footer__secret-flash{
    position:fixed;bottom:24px;left:50%;
    transform:translateX(-50%) translateY(20px);
    background:linear-gradient(135deg,var(--info),#1a3a8b);
    color:#fff;padding:8px 18px;border-radius:6px;
    font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;
    letter-spacing:0.04em;opacity:0;
    transition:opacity .25s ease,transform .25s ease;
    pointer-events:none;z-index:10000;
    box-shadow:0 4px 20px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.1) inset;
}
.footer__secret-flash.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== ФОРМА ОБРАТНОЙ СВЯЗИ ===== */
.form-row{margin-bottom:14px}
.form-row label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:5px;font-weight:600}
.form-row .admin-input,
.form-row input,.form-row select,.form-row textarea{
    width:100%;padding:8px 10px;
    background:rgba(0,0,0,0.3);
    border:1px solid var(--border);
    border-radius:6px;
    color:var(--text);font-size:13px;
    font-family:'Inter',sans-serif;
    transition:border-color .15s ease,box-shadow .15s ease;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
    outline:none;border-color:var(--info);
    box-shadow:0 0 0 3px rgba(58,160,255,0.15);
}
.form-row textarea{resize:vertical;min-height:80px;font-family:'Inter',sans-serif}
.form-hint{font-size:10px;color:var(--text-mute);margin-top:4px;text-align:right;font-family:'JetBrains Mono',monospace}
.form-status{font-size:12px;padding:8px 10px;border-radius:6px;margin-top:8px;display:none}
.form-status.show{display:block}
.form-status--success{background:rgba(46,204,113,0.1);color:var(--success);border:1px solid rgba(46,204,113,0.3)}
.form-status--error{background:rgba(255,82,82,0.1);color:var(--danger);border:1px solid rgba(255,82,82,0.3)}

@media(max-width:1024px){
    .footer__inner{grid-template-columns:1fr 1fr;gap:24px}
}
@media(max-width:720px){
    .footer__inner{grid-template-columns:1fr;gap:20px;padding:24px 16px 16px}
    .footer__col-title{font-size:12px}
    .footer__bottom{padding:12px 16px;font-size:11px;flex-direction:column;text-align:center}
    .footer__hint{font-size:10px}
    .footer__logo{font-size:28px}
    .footer__brand-name{font-size:16px}
}

/* ===== НОВОСТИ КОНТИНЕНТОВ — 6 колонок × 3 новости ===== */
.panel--continents-news{padding:16px 16px 14px}
.panel--continents-news .panel__title-meta{margin-left:auto;font-size:10px;color:var(--text-mute);font-weight:400;letter-spacing:0;text-transform:none;font-family:'JetBrains Mono',monospace}

.cn-empty{padding:32px 16px;text-align:center;color:var(--text-mute);font-size:13px;font-style:italic}

.cn-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:10px;
    margin-top:8px;
}

/* Карточка колонки континента */
.cn-col{
    --c-color:var(--info);
    background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));
    border:1px solid var(--border);
    border-top:3px solid var(--c-color);
    border-radius:8px;
    overflow:hidden;
    transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease;
    display:flex;flex-direction:column;
}
.cn-col:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(0,0,0,0.35),0 0 0 1px var(--c-color);
}

/* Шапка колонки */
.cn-col__head{
    display:flex;align-items:center;gap:7px;
    padding:8px 10px;
    background:rgba(0,0,0,0.25);
    border-bottom:1px solid var(--border);
}
.cn-col__dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--c-color);
    box-shadow:0 0 6px var(--c-color);
    flex-shrink:0;
}
.cn-col__name{
    font-size:11px;font-weight:700;color:#fff;
    text-transform:uppercase;letter-spacing:0.05em;
    flex:1;min-width:0;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    text-shadow:0 0 8px var(--c-color);
}
.cn-col__link{
    flex-shrink:0;
    width:20px;height:20px;
    display:flex;align-items:center;justify-content:center;
    color:var(--text-mute);text-decoration:none;
    font-size:14px;font-weight:700;
    border-radius:4px;
    transition:all .15s ease;
}
.cn-col__link:hover{
    color:#fff;background:var(--c-color);
    box-shadow:0 0 8px -2px var(--c-color);
}

/* Список новостей */
.cn-col__list{
    list-style:none;padding:0;margin:0;
    flex:1;
    display:flex;flex-direction:column;
}
.cn-item{border-bottom:1px solid rgba(255,255,255,0.04)}
.cn-item:last-child{border-bottom:none}
.cn-item__link{
    display:flex;flex-direction:column;gap:3px;
    padding:8px 10px;
    text-decoration:none;
    transition:background .15s ease;
    height:100%;
}
.cn-item__link:hover{background:rgba(255,255,255,0.05)}
.cn-item__time{
    font-size:9px;
    color:var(--text-mute);
    font-family:'JetBrains Mono',monospace;
    letter-spacing:0.03em;
}
.cn-item__title{
    font-size:11px;
    color:var(--text-dim);
    line-height:1.4;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    transition:color .15s ease;
}
.cn-item__link:hover .cn-item__title{color:#fff}

/* === АДАПТИВНОСТЬ === */
@media(max-width:1280px){
    .cn-grid{grid-template-columns:repeat(3,1fr);gap:12px}
}
@media(max-width:768px){
    .cn-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .cn-item__title{font-size:12px;-webkit-line-clamp:2}
}
@media(max-width:480px){
    .cn-grid{grid-template-columns:1fr;gap:8px}
    .cn-col__name{font-size:12px}
    .cn-item__title{font-size:13px}
}

/* =====================================================================
 *  CHAMPION CARD + PvP ARENA + CINEMATIC BATTLE
 * ===================================================================== */

/* ===== КАРТОЧКА ЧЕМПИОНА ===== */
.champ-card{
    --c-color:var(--info);
    background:linear-gradient(135deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));
    border:1px solid var(--border);
    border-top:3px solid var(--c-color);
    border-radius:10px;
    padding:14px;
    margin-bottom:16px;
    position:relative;
    overflow:hidden;
}
.champ-card::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(circle at top right,var(--c-color) 0%,transparent 60%);
    opacity:0.08;pointer-events:none;
}

.champ-card__head{display:flex;gap:12px;margin-bottom:12px;position:relative}
.champ-card__avatar{
    width:56px;height:56px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    border:2px solid var(--c-color);
    box-shadow:0 0 16px -2px var(--c-color);
    position:relative;flex-shrink:0;
}
.champ-card__avatar-icon{font-size:28px;line-height:1}
.champ-card__lvl{
    position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);
    background:#1a1f2e;color:#fff;font-size:9px;font-weight:800;
    padding:1px 6px;border-radius:3px;border:1px solid var(--c-color);
    font-family:'JetBrains Mono',monospace;letter-spacing:0.05em;
    white-space:nowrap;
}

.champ-card__title{flex:1;min-width:0}
.champ-card__name{
    font-size:15px;font-weight:800;color:#fff;
    margin-bottom:1px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    letter-spacing:0.01em;
}
.champ-card__type{
    font-size:11px;font-weight:700;text-transform:uppercase;
    letter-spacing:0.06em;text-shadow:0 0 8px currentColor;
    margin-bottom:3px;
}
.champ-card__power{font-size:11px;color:var(--text-dim);margin-bottom:4px}
.champ-card__power strong{color:#fff}
.champ-card__winrate{display:flex;gap:8px;font-size:10px;color:var(--text-mute);font-family:'JetBrains Mono',monospace}
.champ-card__win{color:var(--success)}
.champ-card__lose{color:var(--danger)}
.champ-card__wr{color:var(--warn);margin-left:auto;font-weight:700}

.champ-card__stats{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.champ-stat{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}
.champ-stat__head{display:flex;align-items:center;gap:5px;grid-column:1}
.champ-stat__icon{font-size:12px;width:14px;text-align:center}
.champ-stat__label{font-size:11px;color:var(--text-dim);flex:1}
.champ-stat__val{font-size:11px;font-weight:700;color:#fff;font-family:'JetBrains Mono',monospace;min-width:20px;text-align:right}
.champ-stat__bar{
    grid-column:1;height:5px;background:rgba(0,0,0,0.4);
    border-radius:3px;overflow:hidden;
}
.champ-stat__fill{
    height:100%;border-radius:3px;
    box-shadow:0 0 6px currentColor;
    transition:width .4s cubic-bezier(0.2,0.8,0.4,1);
}
.champ-stat__up{
    grid-column:2;grid-row:1/3;
    width:30px;height:26px;
    background:rgba(46,204,113,0.12);
    border:1px solid rgba(46,204,113,0.35);
    color:var(--success);
    border-radius:5px;cursor:pointer;
    font-size:11px;font-weight:700;
    transition:all .15s ease;
}
.champ-stat__up:hover:not(:disabled){
    background:rgba(46,204,113,0.25);
    transform:scale(1.08);
    box-shadow:0 0 8px -2px var(--success);
}
.champ-stat__up:disabled{opacity:0.3;cursor:not-allowed}

.champ-card__footer{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:10px;border-top:1px solid var(--border);
}
.champ-card__points{font-size:11px;color:var(--text-dim);font-family:'JetBrains Mono',monospace}
.champ-card__points strong{color:var(--warn);font-size:13px}

.champ-card--empty{padding:16px}

/* ===== PvP АРЕНА (модалка) ===== */
.pvp-rating-pill{
    margin-left:auto;background:rgba(241,196,15,0.12);
    border:1px solid rgba(241,196,15,0.35);
    color:var(--warn);padding:4px 10px;border-radius:6px;
    font-size:12px;font-family:'JetBrains Mono',monospace;
}
.pvp-rating-pill strong{color:#fff;font-size:14px;margin-left:4px}

.pvp-arena-hint{font-size:12px;color:var(--text-dim);margin-bottom:14px;text-align:center;line-height:1.5}

.pvp-opponents{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.pvp-opp-card{
    --c-color:var(--info);
    background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));
    border:1px solid var(--border);
    border-top:3px solid var(--c-color);
    border-radius:8px;padding:12px;cursor:pointer;
    transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease;
    display:flex;flex-direction:column;align-items:center;text-align:center;
}
.pvp-opp-card:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0,0,0,0.4),0 0 0 1px var(--c-color);
}
.pvp-opp-card__avatar{
    width:50px;height:50px;border-radius:50%;
    background:radial-gradient(circle,var(--c-color)33,transparent 70%);
    border:2px solid var(--c-color);
    display:flex;align-items:center;justify-content:center;
    font-size:24px;margin-bottom:6px;
    box-shadow:0 0 12px -2px var(--c-color);
}
.pvp-opp-card__name{font-size:11px;font-weight:700;color:#fff;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.pvp-opp-card__type{font-size:9px;color:var(--c-color);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:6px}
.pvp-opp-card__stats{font-size:9px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:6px;line-height:1.5}
.pvp-opp-card__diff{
    display:inline-block;padding:2px 8px;border-radius:4px;
    font-size:10px;font-weight:700;text-transform:uppercase;
    margin-bottom:6px;
}
.pvp-opp-card__diff--0{background:rgba(46,204,113,0.15);color:var(--success)}
.pvp-opp-card__diff--1{background:rgba(241,196,15,0.15);color:var(--warn)}
.pvp-opp-card__diff--2{background:rgba(255,82,82,0.15);color:var(--danger)}
.pvp-opp-card__reward{font-size:9px;color:var(--text-mute);font-family:'JetBrains Mono',monospace}
.pvp-opp-card__reward strong{color:var(--gold)}

/* Бейдж реальности: 👤 реальный игрок / 🤖 бот */
.pvp-opp-card__realty-wrap{position:absolute;top:6px;right:6px;z-index:2}
.pvp-opp-card__realty{
    display:inline-flex;align-items:center;justify-content:center;
    width:22px;height:22px;border-radius:50%;
    font-size:12px;line-height:1;
    border:1.5px solid;
    background:rgba(0,0,0,0.5);
    backdrop-filter:blur(4px);
}
.pvp-opp-card__realty--real{
    color:var(--success);
    border-color:var(--success);
    box-shadow:0 0 8px -1px var(--success);
}
.pvp-opp-card__realty--bot{
    color:var(--text-mute);
    border-color:var(--text-mute);
}
.pvp-opp-card{position:relative}

/* ===== ШАГ 2: VS + ВЫБОР БОНУСА ===== */
.pvp-vs{
    display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;
    margin-bottom:18px;padding:14px;
    background:rgba(0,0,0,0.25);border-radius:10px;
}
.pvp-vs__side{
    display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;
}
.pvp-vs__avatar{
    width:48px;height:48px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;font-size:24px;
    border:2px solid var(--info);
    box-shadow:0 0 12px -2px currentColor;
}
.pvp-vs__name{font-size:11px;font-weight:700;color:#fff}
.pvp-vs__type{font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.05em}
.pvp-vs__power{font-size:11px;color:var(--warn);font-family:'JetBrains Mono',monospace}
.pvp-vs__vs{
    font-size:20px;font-weight:900;color:var(--danger);
    text-shadow:0 0 12px var(--danger);
    font-family:'JetBrains Mono',monospace;
    animation:pvp-vs-pulse 1.4s ease-in-out infinite;
}
@keyframes pvp-vs-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}

.pvp-bonus-hint{font-size:12px;color:var(--text-dim);text-align:center;margin-bottom:10px}
.pvp-bonus-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.pvp-bonus-card{
    background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));
    border:1px solid var(--border);
    border-radius:8px;padding:14px 10px;
    cursor:pointer;text-align:center;
    transition:all .2s ease;
    display:flex;flex-direction:column;align-items:center;gap:4px;
}
.pvp-bonus-card:hover{transform:translateY(-2px);background:rgba(255,255,255,0.08);box-shadow:0 6px 16px rgba(0,0,0,0.3)}
.pvp-bonus-card.selected{
    border-color:var(--warn);
    background:linear-gradient(180deg,rgba(241,196,15,0.12),rgba(241,196,15,0.02));
    box-shadow:0 0 0 1px var(--warn),0 0 16px -2px var(--warn);
}
.pvp-bonus-card__icon{font-size:32px;line-height:1}
.pvp-bonus-card__name{font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:0.04em}
.pvp-bonus-card__desc{font-size:10px;color:var(--text-dim);line-height:1.4}
.pvp-bonus-card--none{opacity:0.6;border-style:dashed}

/* ===== Рулетка бонусов PvP ===== */
.pvp-roulette{
    position:relative;
    margin:14px auto 8px;
    padding:18px 0 8px;
    max-width:560px;
    background:linear-gradient(180deg,rgba(0,0,0,0.4),rgba(0,0,0,0.2));
    border-radius:12px;
    border:1px solid var(--border);
    overflow:hidden;
}
.pvp-roulette__pointer{
    position:absolute;
    top:2px;left:50%;
    transform:translateX(-50%);
    color:var(--warn);
    font-size:18px;
    text-shadow:0 0 8px var(--warn);
    z-index:3;
    animation:pvpRoulettePointerPulse 0.8s ease-in-out infinite;
}
@keyframes pvpRoulettePointerPulse{
    0%,100%{transform:translateX(-50%) translateY(0)}
    50%{transform:translateX(-50%) translateY(3px)}
}
.pvp-roulette__track{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    padding:0 12px;
}
.pvp-roulette__card{
    background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));
    border:2px solid var(--border);
    border-radius:8px;
    padding:14px 6px;
    text-align:center;
    transition:all .12s ease;
    position:relative;
    opacity:0.5;
}
.pvp-roulette__card--active{
    opacity:1;
    transform:scale(1.08) translateY(-4px);
    border-color:var(--warn);
    background:linear-gradient(180deg,rgba(241,196,15,0.18),rgba(241,196,15,0.04));
    box-shadow:0 0 24px -4px var(--warn),0 0 0 2px var(--warn);
}
.pvp-roulette__card--winner{
    opacity:1;
    transform:scale(1.15) translateY(-6px);
    border-color:#4dffa6;
    background:linear-gradient(180deg,rgba(77,255,166,0.22),rgba(77,255,166,0.05));
    box-shadow:0 0 32px -2px #4dffa6,0 0 0 3px #4dffa6;
    animation:pvpRouletteWinner 0.6s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes pvpRouletteWinner{
    0%{transform:scale(0.8) rotate(-5deg);opacity:0}
    60%{transform:scale(1.25) rotate(2deg)}
    100%{transform:scale(1.15) rotate(0)}
}
.pvp-roulette__card-icon{font-size:28px;line-height:1;margin-bottom:4px}
.pvp-roulette__card-name{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:0.04em}

.pvp-roulette__result{
    margin:12px auto;
    max-width:560px;
    padding:14px 20px;
    background:linear-gradient(180deg,rgba(0,0,0,0.5),rgba(0,0,0,0.3));
    border:1px solid var(--border);
    border-radius:10px;
    text-align:center;
}
@keyframes pvpRoulettePop{
    0%{transform:scale(0.6);opacity:0}
    60%{transform:scale(1.1)}
    100%{transform:scale(1);opacity:1}
}
.pvp-roulette__result-icon{font-size:36px;line-height:1;margin-bottom:4px}
.pvp-roulette__result-text{font-size:13px}

/* ===== Визуальные эффекты бонусов в битве =====
   ВСЕ эффекты позиционируются относительно .pvp-fighter__avatar,
   а не всего бойца. Это гарантирует, что щит/аура будут вокруг
   аватара, а не сбоку. */
.pvp-fighter__avatar{
    position:relative;
    overflow:visible !important;
}

/* === ⚔️ АТАКА — огненная аура с искрами === */
.pvp-fighter--bonus-attack .pvp-fighter__avatar{
    border-color:#ff6b6b !important;
    color:#ff6b6b !important;
    box-shadow:0 0 32px -2px #ff6b6b,0 0 64px -10px #ff6b6b !important;
    animation:pvpBonusAttackPulse 1s ease-in-out infinite;
}
@keyframes pvpBonusAttackPulse{
    0%,100%{box-shadow:0 0 28px -2px #ff6b6b,0 0 56px -12px #ff6b6b}
    50%{box-shadow:0 0 44px 4px #ff6b6b,0 0 84px -4px #ff6b6b}
}
.pvp-bonus-aura{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:160%;height:160%;
    pointer-events:none;
    z-index:0;
    border-radius:50%;
}
.pvp-bonus-aura > svg{
    position:absolute;
    inset:0;
    width:100%;height:100%;
    animation:pvpAuraRotate 4s linear infinite;
}
.pvp-bonus-aura--attack{
    mix-blend-mode:screen;
}
.pvp-bonus-aura__ring{
    position:absolute;
    top:50%;left:50%;
    border-radius:50%;
    border:2px solid rgba(255,107,107,0.7);
    pointer-events:none;
}
.pvp-bonus-aura__ring--1{
    width:120%;height:120%;
    transform:translate(-50%,-50%);
    animation:pvpAuraRing 1.6s ease-out infinite;
}
.pvp-bonus-aura__ring--2{
    width:120%;height:120%;
    transform:translate(-50%,-50%);
    animation:pvpAuraRing 1.6s ease-out infinite;
    animation-delay:0.8s;
}
.pvp-bonus-aura__ring--gold{
    border-color:rgba(255,212,59,0.75);
}
.pvp-bonus-aura__spark{
    position:absolute;
    width:6px;height:6px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 12px 2px #ff6b6b,0 0 24px 4px #ff6b6b;
    pointer-events:none;
}
.pvp-bonus-aura__spark--1{top:5%;left:50%;animation:pvpSparkFall 1.4s ease-in infinite}
.pvp-bonus-aura__spark--2{top:50%;right:5%;animation:pvpSparkFall 1.4s ease-in infinite;animation-delay:0.35s}
.pvp-bonus-aura__spark--3{bottom:5%;left:50%;animation:pvpSparkFall 1.4s ease-in infinite;animation-delay:0.7s}
.pvp-bonus-aura__spark--4{top:50%;left:5%;animation:pvpSparkFall 1.4s ease-in infinite;animation-delay:1.05s}
@keyframes pvpSparkFall{
    0%{transform:scale(0);opacity:0}
    20%{transform:scale(1.4);opacity:1}
    100%{transform:scale(0.4);opacity:0}
}

/* === 🛡️ ЗАЩИТА — гексагональный магический щит с рунами === */
.pvp-fighter--bonus-defense .pvp-fighter__avatar{
    border-color:#4dabf7 !important;
    color:#4dabf7 !important;
    box-shadow:0 0 28px -2px #4dabf7 !important;
}
.pvp-bonus-shield{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:155%;height:155%;
    pointer-events:none;
    z-index:1;
    border-radius:50%;
    animation:pvpShieldPulse 2.4s ease-in-out infinite;
}
@keyframes pvpShieldPulse{
    0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.95}
    50%{transform:translate(-50%,-50%) scale(1.04);opacity:1}
}
.pvp-bonus-shield > svg{
    position:absolute;
    inset:0;
    width:100%;height:100%;
    overflow:visible;
}
.pvp-bonus-shield > svg polygon:first-of-type{
    animation:pvpHexRotate 8s linear infinite;
    transform-origin:50% 50%;
}
.pvp-bonus-shield > svg polygon:last-of-type{
    animation:pvpHexRotate 12s linear infinite reverse;
    transform-origin:50% 50%;
}
@keyframes pvpHexRotate{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}
.pvp-bonus-shield__rune{
    position:absolute;
    color:#4dabf7;
    font-size:13px;
    text-shadow:0 0 8px #4dabf7,0 0 16px #4dabf7;
    animation:pvpRunePulse 1.8s ease-in-out infinite;
    pointer-events:none;
}
/* 6 рун по углам гексагона */
.pvp-bonus-shield__rune--1{top:5%;left:50%;transform:translateX(-50%)}
.pvp-bonus-shield__rune--2{top:25%;right:8%}
.pvp-bonus-shield__rune--3{bottom:25%;right:8%}
.pvp-bonus-shield__rune--4{bottom:5%;left:50%;transform:translateX(-50%)}
.pvp-bonus-shield__rune--5{bottom:25%;left:8%}
.pvp-bonus-shield__rune--6{top:25%;left:8%}
@keyframes pvpRunePulse{
    0%,100%{opacity:0.4;transform:scale(0.85)}
    50%{opacity:1;transform:scale(1.1)}
}
/* Учитываем transform: translateX(-50%) для рун 1 и 4 */
.pvp-bonus-shield__rune--1{animation:pvpRunePulseTop 1.8s ease-in-out infinite}
.pvp-bonus-shield__rune--4{animation:pvpRunePulseTop 1.8s ease-in-out infinite;animation-delay:0.9s}
@keyframes pvpRunePulseTop{
    0%,100%{opacity:0.4;transform:translateX(-50%) scale(0.85)}
    50%{opacity:1;transform:translateX(-50%) scale(1.1)}
}

/* === ✨ ВЫСШИЕ СИЛЫ — аура + щит + крест + частицы === */
.pvp-fighter--bonus-divine .pvp-fighter__avatar{
    border-color:#ffd43b !important;
    color:#ffd43b !important;
    box-shadow:0 0 40px -2px #ffd43b,0 0 80px -8px #ffd43b !important;
    animation:pvpBonusDivinePulse 0.9s ease-in-out infinite;
}
@keyframes pvpBonusDivinePulse{
    0%,100%{box-shadow:0 0 32px -2px #ffd43b,0 0 64px -10px #ffd43b}
    50%{box-shadow:0 0 56px 4px #ffd43b,0 0 104px -4px #ffd43b}
}
.pvp-bonus-aura--divine{
    mix-blend-mode:screen;
    width:170%;height:170%;
}
.pvp-bonus-aura--divine > svg{
    animation:pvpAuraRotate 3s linear infinite;
}
.pvp-bonus-shield--divine{
    width:170%;height:170%;
}
.pvp-bonus-shield--divine > svg polygon{
    stroke:rgba(255,212,59,0.85) !important;
}

/* Крест с лучами над аватаром */
.pvp-bonus-cross{
    position:absolute;
    top:-38px;left:50%;
    transform:translateX(-50%);
    width:46px;height:56px;
    pointer-events:none;
    z-index:5;
    animation:pvpCrossFloat 2.2s ease-in-out infinite;
}
@keyframes pvpCrossFloat{
    0%,100%{transform:translateX(-50%) translateY(0)}
    50%{transform:translateX(-50%) translateY(-6px)}
}
.pvp-bonus-cross__beam{
    position:absolute;
    background:linear-gradient(180deg,#fff,#ffd43b,#fff);
    box-shadow:0 0 14px #ffd43b,0 0 28px #ffd43b,0 0 42px rgba(255,212,59,0.6);
    border-radius:3px;
}
.pvp-bonus-cross__beam--v{
    top:0;left:50%;
    transform:translateX(-50%);
    width:7px;height:56px;
}
.pvp-bonus-cross__beam--h{
    top:18px;left:50%;
    transform:translateX(-50%);
    width:26px;height:7px;
}
.pvp-bonus-cross__glow{
    position:absolute;
    top:24px;left:50%;
    transform:translate(-50%,-50%);
    width:36px;height:36px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,212,59,0.9) 0%,rgba(255,212,59,0.3) 50%,transparent 80%);
    box-shadow:0 0 30px #ffd43b;
    z-index:-1;
    animation:pvpCrossGlowPulse 1.5s ease-in-out infinite;
}
@keyframes pvpCrossGlowPulse{
    0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.7}
    50%{transform:translate(-50%,-50%) scale(1.4);opacity:1}
}
.pvp-bonus-cross__rays{
    position:absolute;
    top:24px;left:50%;
    transform:translate(-50%,-50%);
    width:120px;height:120px;
    background:conic-gradient(
        from 0deg,
        transparent 0deg,
        rgba(255,212,59,0.4) 10deg,
        transparent 20deg,
        transparent 70deg,
        rgba(255,212,59,0.4) 80deg,
        transparent 90deg,
        transparent 160deg,
        rgba(255,212,59,0.4) 170deg,
        transparent 180deg,
        transparent 250deg,
        rgba(255,212,59,0.4) 260deg,
        transparent 270deg,
        transparent 360deg
    );
    border-radius:50%;
    animation:pvpCrossRays 4s linear infinite;
    pointer-events:none;
    z-index:-2;
    filter:blur(2px);
}
@keyframes pvpCrossRays{
    from{transform:translate(-50%,-50%) rotate(0deg)}
    to{transform:translate(-50%,-50%) rotate(360deg)}
}

/* Частицы света, поднимающиеся вверх */
.pvp-bonus-particles{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:2;
    overflow:visible;
}
.pvp-bonus-particles__dot{
    position:absolute;
    bottom:0;
    width:4px;height:4px;
    border-radius:50%;
    background:#ffd43b;
    box-shadow:0 0 8px #ffd43b,0 0 16px rgba(255,212,59,0.6);
    animation:pvpParticleRise 2.2s ease-out infinite;
}
@keyframes pvpParticleRise{
    0%{transform:translateY(0) scale(0);opacity:0}
    20%{transform:translateY(-12px) scale(1);opacity:1}
    100%{transform:translateY(-90px) scale(0.3);opacity:0}
}

/* Общие keyframes */
@keyframes pvpAuraRotate{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}
@keyframes pvpAuraRing{
    0%{transform:translate(-50%,-50%) scale(0.7);opacity:0.9}
    100%{transform:translate(-50%,-50%) scale(1.3);opacity:0}
}

/* ===== PvP БИТВА — premium cinematic ===== */
/* Контейнер: глубокий тёмный фон + боковые амбиент-свечения (зелёное/красное) + золотая кайма */
.pvp-battle-content{
    background:
        radial-gradient(ellipse at 18% 0%, rgba(46,204,113,0.10), transparent 55%),
        radial-gradient(ellipse at 82% 0%, rgba(255,82,82,0.10), transparent 55%),
        radial-gradient(ellipse at 50% 100%, rgba(255,212,59,0.06), transparent 60%),
        linear-gradient(180deg, #0a0e1c 0%, #0d1226 100%);
    border:1px solid rgba(255,212,59,0.18);
    box-shadow:
        0 30px 80px -20px rgba(0,0,0,0.85),
        0 0 0 1px rgba(255,212,59,0.05),
        inset 0 1px 0 rgba(255,255,255,0.04);
}
.pvp-battle-head{
    border-bottom:1px solid rgba(255,212,59,0.15);
    background:linear-gradient(180deg, rgba(255,212,59,0.06), transparent);
}
.pvp-battle-head h2{
    text-shadow:0 0 18px rgba(255,212,59,0.45);
    letter-spacing:0.04em;
}
.pvp-battle-body{padding:0}

/* === АРЕНА === */
.pvp-arena{
    position:relative;
    display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:0;
    padding:28px 24px 20px;
    min-height:340px;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center 90%, rgba(255,212,59,0.05), transparent 50%),
        linear-gradient(180deg, #060912 0%, #0b1024 60%, #050810 100%);
    border-bottom:1px solid rgba(255,212,59,0.1);
}
/* Тонкий золотой горизонт-линия (пол) */
.pvp-arena::before{
    content:'';position:absolute;
    left:0;right:0;bottom:32px;height:1px;
    background:linear-gradient(90deg, transparent, rgba(255,212,59,0.25) 30%, rgba(255,212,59,0.4) 50%, rgba(255,212,59,0.25) 70%, transparent);
    z-index:1;pointer-events:none;
}
/* Центральное свечение под бойцами */
.pvp-arena::after{
    content:'';position:absolute;
    left:50%;top:55%;transform:translate(-50%,-50%);
    width:60%;height:50%;
    background:radial-gradient(ellipse, rgba(255,212,59,0.08), transparent 70%);
    pointer-events:none;z-index:0;
}

/* Декоративный фон арены: виньетка + пол + частицы + критический флэш */
.pvp-arena__bg{position:absolute;inset:0;pointer-events:none;z-index:0}
.pvp-arena__vignette{
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse at center, transparent 35%, rgba(0,0,0,0.55) 100%),
        linear-gradient(90deg, rgba(46,204,113,0.06) 0%, transparent 25%, transparent 75%, rgba(255,82,82,0.06) 100%);
}
.pvp-arena__floor{
    position:absolute;left:0;right:0;bottom:0;height:50%;
    background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.45) 100%);
}
.pvp-arena__particles{position:absolute;inset:0;overflow:hidden}
.pvp-arena__particles span{
    position:absolute;bottom:0;
    width:3px;height:3px;border-radius:50%;
    background:#ffd43b;
    box-shadow:0 0 6px #ffd43b, 0 0 12px rgba(255,212,59,0.6);
    opacity:0;
    animation:pvpArenaParticle 7s ease-in infinite;
}
.pvp-arena__particles span:nth-child(1){left:8%;animation-delay:0s}
.pvp-arena__particles span:nth-child(2){left:20%;animation-delay:1.2s}
.pvp-arena__particles span:nth-child(3){left:34%;animation-delay:2.4s}
.pvp-arena__particles span:nth-child(4){left:47%;animation-delay:3.6s}
.pvp-arena__particles span:nth-child(5){left:60%;animation-delay:0.6s}
.pvp-arena__particles span:nth-child(6){left:72%;animation-delay:1.8s}
.pvp-arena__particles span:nth-child(7){left:85%;animation-delay:3s}
.pvp-arena__particles span:nth-child(8){left:93%;animation-delay:4.2s}
@keyframes pvpArenaParticle{
    0%{transform:translateY(0) scale(0);opacity:0}
    10%{opacity:0.9;transform:translateY(-10px) scale(1)}
    90%{opacity:0.5}
    100%{transform:translateY(-220px) scale(0.3);opacity:0}
}
.pvp-arena__flash{
    position:absolute;inset:0;
    background:radial-gradient(circle at center, rgba(255,255,255,0.55), transparent 60%);
    opacity:0;pointer-events:none;mix-blend-mode:screen;
}
.pvp-arena__flash.fire{animation:pvpArenaFlash .55s ease-out}
@keyframes pvpArenaFlash{
    0%{opacity:0}
    15%{opacity:0.95}
    100%{opacity:0}
}

/* === БОЙЦЫ === */
.pvp-fighter{
    display:flex;flex-direction:column;align-items:center;gap:8px;
    position:relative;z-index:3;
    padding:6px 8px;
}
.pvp-fighter--me{color:#2ecc71}
.pvp-fighter--opp{color:#ff5252}

/* Платформа под аватаром + glow-ореол */
.pvp-fighter__plate{
    position:relative;
    width:96px;height:96px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:4px;
}
.pvp-fighter__glow{
    position:absolute;inset:-22%;
    border-radius:50%;
    background:radial-gradient(circle, currentColor 0%, transparent 60%);
    opacity:0.22;filter:blur(14px);
    z-index:0;
    animation:pvpGlowBreathe 3s ease-in-out infinite;
}
@keyframes pvpGlowBreathe{
    0%,100%{opacity:0.18;transform:scale(0.95)}
    50%{opacity:0.38;transform:scale(1.08)}
}

.pvp-fighter__avatar{
    position:relative;z-index:2;
    width:88px;height:88px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:46px;line-height:1;
    background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,0.18), transparent 60%),
        radial-gradient(circle, rgba(0,0,0,0.4), rgba(0,0,0,0.7));
    border:3px solid currentColor;
    box-shadow:
        0 0 0 2px rgba(0,0,0,0.6),
        0 0 28px -2px currentColor,
        0 0 56px -10px currentColor,
        inset 0 4px 12px rgba(0,0,0,0.6);
    transition:transform .15s ease, box-shadow .2s ease;
    overflow:visible !important; /* чтобы бонус-аура/щит выходили за пределы */
}
.pvp-fighter--me .pvp-fighter__avatar{
    border-color:#2ecc71;
    box-shadow:
        0 0 0 2px rgba(0,0,0,0.6),
        0 0 28px -2px #2ecc71,
        0 0 56px -10px #2ecc71,
        inset 0 4px 12px rgba(0,0,0,0.6);
}
.pvp-fighter--opp .pvp-fighter__avatar{
    border-color:#ff5252;
    box-shadow:
        0 0 0 2px rgba(0,0,0,0.6),
        0 0 28px -2px #ff5252,
        0 0 56px -10px #ff5252,
        inset 0 4px 12px rgba(0,0,0,0.6);
}

/* Анимация удара: тряска + вспышка яркости + расходящееся кольцо */
.pvp-fighter.hit .pvp-fighter__avatar{animation:pvp-hit .45s cubic-bezier(0.36,0,0.66,-0.56)}
.pvp-fighter--opp.hit .pvp-fighter__avatar{animation-name:pvp-hit-opp}
@keyframes pvp-hit{
    0%{transform:translateX(0) scale(1);filter:brightness(1)}
    15%{transform:translateX(-10px) scale(1.08);filter:brightness(2.2) drop-shadow(0 0 12px #fff)}
    30%{transform:translateX(8px) scale(0.94);filter:brightness(1.6)}
    50%{transform:translateX(-5px) scale(1.04);filter:brightness(1.3)}
    70%{transform:translateX(3px) scale(0.98);filter:brightness(1.1)}
    100%{transform:translateX(0) scale(1);filter:brightness(1)}
}
@keyframes pvp-hit-opp{
    0%{transform:translateX(0) scale(1);filter:brightness(1)}
    15%{transform:translateX(10px) scale(1.08);filter:brightness(2.2) drop-shadow(0 0 12px #fff)}
    30%{transform:translateX(-8px) scale(0.94);filter:brightness(1.6)}
    50%{transform:translateX(5px) scale(1.04);filter:brightness(1.3)}
    70%{transform:translateX(-3px) scale(0.98);filter:brightness(1.1)}
    100%{transform:translateX(0) scale(1);filter:brightness(1)}
}
.pvp-fighter.hit::before{
    content:'';position:absolute;
    top:48px;left:50%;transform:translate(-50%,-50%);
    width:120px;height:120px;border-radius:50%;
    border:3px solid currentColor;
    opacity:0;pointer-events:none;z-index:5;
    animation:pvpHitRing .6s ease-out;
}
@keyframes pvpHitRing{
    0%{transform:translate(-50%,-50%) scale(0.2);opacity:1;border-width:4px}
    100%{transform:translate(-50%,-50%) scale(1.8);opacity:0;border-width:1px}
}

.pvp-fighter__name{
    font-size:13px;font-weight:800;color:#fff;
    text-align:center;letter-spacing:0.04em;
    text-shadow:0 0 10px rgba(0,0,0,0.8), 0 1px 0 rgba(0,0,0,0.6);
}
.pvp-fighter__type{
    font-size:10px;color:var(--text-dim);
    text-transform:uppercase;letter-spacing:0.08em;
    text-align:center;line-height:1.4;font-weight:600;
}
.pvp-fighter__stats{
    display:flex;flex-direction:column;align-items:center;gap:5px;
    width:100%;margin-top:4px;
}

/* === HP-БАР с динамическим градиентом (зелёный → жёлтый → красный) ===
   JS устанавливает CSS-переменную --hp (0..100) на .pvp-hp-fill.
   background-size масштабируется так, что при 100% HP виден весь градиент,
   при низком HP — только красный участок слева. */
.pvp-hp-bar{
    width:100%;max-width:160px;height:16px;
    background:linear-gradient(180deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.5) 100%);
    border-radius:8px;overflow:hidden;
    border:1px solid rgba(255,212,59,0.25);
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,0.8),
        inset 0 0 0 1px rgba(0,0,0,0.4),
        0 1px 0 rgba(255,255,255,0.04);
    position:relative;
}
.pvp-hp-bar::before{
    content:'';position:absolute;
    top:1px;left:2px;right:2px;height:5px;
    background:linear-gradient(180deg, rgba(255,255,255,0.18), transparent);
    border-radius:6px 6px 0 0;
    pointer-events:none;z-index:2;
}
.pvp-hp-fill{
    height:100%;position:relative;
    transition:width .5s cubic-bezier(0.2,0.8,0.4,1);
    background:linear-gradient(90deg,
        #ff4757 0%,
        #ff7a45 18%,
        #ffa502 36%,
        #f1c40f 54%,
        #7bed9f 76%,
        #2ecc71 100%);
    background-size:calc(10000% / var(--hp,100)) 100%;
    background-repeat:no-repeat;
    background-position:left center;
    box-shadow:0 0 10px rgba(46,204,113,0.4);
}
.pvp-hp-fill--opp{
    box-shadow:0 0 10px rgba(255,82,82,0.4);
}
/* Бегущий блик по HP-бару */
.pvp-hp-fill::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.32) 50%, transparent 100%);
    background-size:50% 100%;background-repeat:no-repeat;
    animation:pvpHpSheen 2.4s linear infinite;
    pointer-events:none;
}
@keyframes pvpHpSheen{
    0%{background-position:-50% 0}
    100%{background-position:150% 0}
}
.pvp-hp-text{
    font-size:11px;color:var(--text-dim);
    font-family:'JetBrains Mono',monospace;
    font-weight:600;letter-spacing:0.05em;
}
.pvp-hp-text strong{
    color:#fff;font-weight:800;
    text-shadow:0 0 8px rgba(255,255,255,0.3);
}

/* Предмет под HP (заполняется из JS, по умолчанию скрыт) */
.pvp-fighter__item{
    display:none;
    font-size:10px;color:#a55eea;
    margin-top:2px;text-align:center;
    padding:3px 8px;max-width:160px;
    background:linear-gradient(180deg, rgba(165,94,234,0.18), rgba(165,94,234,0.06));
    border:1px solid rgba(165,94,234,0.35);
    border-radius:4px;
    font-weight:600;letter-spacing:0.02em;
    text-shadow:0 0 6px rgba(165,94,234,0.5);
    box-shadow:0 0 12px -4px rgba(165,94,234,0.4);
}
.pvp-fighter--opp .pvp-fighter__item{
    color:#ff8080;
    background:linear-gradient(180deg, rgba(255,128,128,0.18), rgba(255,128,128,0.06));
    border-color:rgba(255,128,128,0.35);
    text-shadow:0 0 6px rgba(255,128,128,0.5);
    box-shadow:0 0 12px -4px rgba(255,128,128,0.4);
}

/* === ЦЕНТР АРЕНЫ === */
.pvp-arena-center{
    display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
    gap:10px;position:relative;z-index:3;
    padding:0 8px;
}
.pvp-round-num{
    font-size:11px;font-weight:800;color:#ffd43b;
    text-transform:uppercase;letter-spacing:0.18em;
    font-family:'JetBrains Mono',monospace;
    padding:5px 16px;
    border:1px solid rgba(255,212,59,0.4);
    border-radius:20px;
    background:linear-gradient(180deg, rgba(255,212,59,0.15), rgba(255,212,59,0.04));
    box-shadow:0 0 12px -2px rgba(255,212,59,0.4), inset 0 1px 0 rgba(255,255,255,0.1);
    text-shadow:0 0 8px rgba(255,212,59,0.6);
}
.pvp-round-event{
    display:flex;flex-direction:column;align-items:center;gap:6px;
    padding:14px 18px;border-radius:12px;
    min-width:200px;text-align:center;
    background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(255,212,59,0.25);
    box-shadow:0 8px 24px -8px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.08);
    animation:pvp-event-in .4s cubic-bezier(0.2,0.8,0.4,1);
}
@keyframes pvp-event-in{
    0%{opacity:0;transform:scale(0.8) translateY(-6px)}
    60%{opacity:1;transform:scale(1.04) translateY(0)}
    100%{opacity:1;transform:scale(1) translateY(0)}
}
.pvp-round-event__icon{
    font-size:36px;line-height:1;
    filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 0 20px rgba(255,212,59,0.5));
    animation:pvpEventIconPulse 1.5s ease-in-out infinite;
}
@keyframes pvpEventIconPulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.12)}
}
.pvp-round-event__text{
    font-size:12px;color:#fff;font-weight:700;line-height:1.4;
    letter-spacing:0.02em;
    text-shadow:0 0 8px rgba(0,0,0,0.8);
}
.pvp-vs-badge{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    font-size:120px;font-weight:900;
    color:rgba(255,212,59,0.05);
    font-family:'JetBrains Mono',monospace;
    letter-spacing:-0.05em;
    pointer-events:none;z-index:0;
    text-shadow:0 0 40px rgba(255,212,59,0.1);
}
.pvp-battle-log{
    width:100%;max-height:90px;overflow-y:auto;
    font-size:11px;color:var(--text-mute);
    font-family:'JetBrains Mono',monospace;
    padding:8px 10px;line-height:1.6;
    background:linear-gradient(180deg, rgba(0,0,0,0.5), rgba(0,0,0,0.3));
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,0.06);
    border-radius:8px;
    box-shadow:inset 0 1px 2px rgba(0,0,0,0.6);
}
.pvp-battle-log::-webkit-scrollbar{width:4px}
.pvp-battle-log::-webkit-scrollbar-thumb{background:rgba(255,212,59,0.3);border-radius:2px}
.pvp-battle-log__line{
    padding:2px 0;
    animation:pvpLogLineIn .35s ease-out;
}
@keyframes pvpLogLineIn{
    0%{opacity:0;transform:translateX(-8px)}
    100%{opacity:1;transform:translateX(0)}
}
.pvp-battle-log__line--me{color:#7bed9f;text-shadow:0 0 6px rgba(46,204,113,0.3)}
.pvp-battle-log__line--opp{color:#ff8a8a;text-shadow:0 0 6px rgba(255,82,82,0.3)}
.pvp-battle-log__line--event{color:#ffe082;text-shadow:0 0 6px rgba(255,212,59,0.3);font-weight:600}

/* === ПРОГРЕСС РАУНДОВ === */
.pvp-rounds-progress{
    display:flex;justify-content:center;align-items:center;
    gap:10px;padding:18px 20px 14px;
    background:linear-gradient(180deg, rgba(0,0,0,0.3), transparent);
    position:relative;
}
.pvp-rounds-progress::before,
.pvp-rounds-progress::after{
    content:'';flex:0 0 60px;height:1px;
}
.pvp-rounds-progress::before{background:linear-gradient(90deg, transparent, rgba(255,212,59,0.2))}
.pvp-rounds-progress::after{background:linear-gradient(90deg, rgba(255,212,59,0.2), transparent)}
.pvp-rounds-progress__dot{
    width:28px;height:8px;border-radius:4px;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.08);
    transition:all .35s cubic-bezier(0.2,0.8,0.4,1);
    position:relative;
}
.pvp-rounds-progress__dot.active{
    background:linear-gradient(90deg, #ffd43b, #ffa502);
    border-color:#ffd43b;
    box-shadow:0 0 12px rgba(255,212,59,0.7), 0 0 24px rgba(255,212,59,0.3);
    transform:scaleY(1.3);
    animation:pvpDotActivePulse 1s ease-in-out infinite;
}
@keyframes pvpDotActivePulse{
    0%,100%{box-shadow:0 0 12px rgba(255,212,59,0.7), 0 0 24px rgba(255,212,59,0.3)}
    50%{box-shadow:0 0 18px rgba(255,212,59,1), 0 0 36px rgba(255,212,59,0.5)}
}
.pvp-rounds-progress__dot.win{
    background:linear-gradient(90deg, #2ecc71, #7bed9f);
    border-color:#2ecc71;
    box-shadow:0 0 12px rgba(46,204,113,0.7);
}
.pvp-rounds-progress__dot.lose{
    background:linear-gradient(90deg, #ff5252, #ff8a8a);
    border-color:#ff5252;
    box-shadow:0 0 12px rgba(255,82,82,0.7);
}

/* === РЕЗУЛЬТАТ БОЯ === */
.pvp-result{
    position:relative;
    padding:36px 24px 28px;
    text-align:center;overflow:hidden;
    background:
        radial-gradient(ellipse at center top, rgba(255,212,59,0.06), transparent 60%),
        linear-gradient(180deg, rgba(0,0,0,0.3), transparent);
}
/* Вращающийся лучевой flare за титулом */
.pvp-result__flare{
    position:absolute;
    top:-50%;left:50%;transform:translateX(-50%);
    width:140%;height:200%;
    background:conic-gradient(
        from 0deg at 50% 50%,
        transparent 0deg, rgba(255,212,59,0.06) 30deg, transparent 60deg,
        transparent 150deg, rgba(255,212,59,0.06) 180deg, transparent 210deg,
        transparent 300deg, rgba(255,212,59,0.06) 330deg, transparent 360deg);
    animation:pvpFlareRotate 18s linear infinite;
    pointer-events:none;z-index:0;
}
@keyframes pvpFlareRotate{
    from{transform:translateX(-50%) rotate(0)}
    to{transform:translateX(-50%) rotate(360deg)}
}
.pvp-result__title{
    position:relative;z-index:1;
    font-size:44px;font-weight:900;margin-bottom:14px;
    letter-spacing:0.05em;
    animation:pvp-result-in .7s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes pvp-result-in{
    0%{opacity:0;transform:scale(0.3) translateY(20px);filter:blur(8px)}
    60%{opacity:1;transform:scale(1.08) translateY(0);filter:blur(0)}
    100%{opacity:1;transform:scale(1)}
}
.pvp-result__title--win{
    background:linear-gradient(180deg, #fff7d6 0%, #ffd43b 50%, #c9971f 100%);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:#ffd43b;
    text-shadow:0 0 36px rgba(255,212,59,0.6), 0 4px 0 rgba(0,0,0,0.5);
    filter:drop-shadow(0 0 18px rgba(255,212,59,0.7));
    animation:pvp-result-in .7s cubic-bezier(0.34,1.56,0.64,1), pvpWinShine 2.2s ease-in-out infinite;
}
@keyframes pvpWinShine{
    0%,100%{filter:drop-shadow(0 0 18px rgba(255,212,59,0.7))}
    50%{filter:drop-shadow(0 0 36px rgba(255,212,59,1))}
}
.pvp-result__title--lose{
    color:#ff5252;
    text-shadow:0 0 18px rgba(255,82,82,0.9), 0 0 36px rgba(255,82,82,0.5), 0 4px 0 rgba(0,0,0,0.6);
}
.pvp-result__rewards{
    position:relative;z-index:1;
    display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
    font-size:12px;color:var(--text);margin-bottom:8px;
}
.pvp-result__reward{
    display:inline-flex;align-items:center;gap:5px;
    padding:7px 13px;border-radius:6px;font-weight:600;
    background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
    border:1px solid rgba(255,212,59,0.2);
    box-shadow:0 4px 12px -4px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.06);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    animation:pvpRewardIn .4s ease-out backwards;
}
.pvp-result__reward:nth-child(1){animation-delay:.1s}
.pvp-result__reward:nth-child(2){animation-delay:.2s}
.pvp-result__reward:nth-child(3){animation-delay:.3s}
.pvp-result__reward:nth-child(4){animation-delay:.4s}
.pvp-result__reward:nth-child(5){animation-delay:.5s}
.pvp-result__reward:nth-child(6){animation-delay:.6s}
@keyframes pvpRewardIn{
    0%{opacity:0;transform:translateY(10px) scale(0.9)}
    100%{opacity:1;transform:translateY(0) scale(1)}
}
.pvp-result__reward strong{color:var(--gold);font-weight:800}
.pvp-result__reward--rating-up{
    color:#7bed9f;
    border-color:rgba(46,204,113,0.45);
    background:linear-gradient(180deg, rgba(46,204,113,0.12), rgba(46,204,113,0.02));
    box-shadow:0 0 14px -4px rgba(46,204,113,0.5), inset 0 1px 0 rgba(255,255,255,0.08);
}
.pvp-result__reward--rating-down{
    color:#ff8a8a;
    border-color:rgba(255,82,82,0.45);
    background:linear-gradient(180deg, rgba(255,82,82,0.12), rgba(255,82,82,0.02));
    box-shadow:0 0 14px -4px rgba(255,82,82,0.5), inset 0 1px 0 rgba(255,255,255,0.08);
}
.pvp-result__actions{
    position:relative;z-index:1;
    display:flex;gap:10px;margin-top:18px;justify-content:center;
}

/* === АДАПТИВНОСТЬ === */
@media(max-width:768px){
    .pvp-opponents{grid-template-columns:1fr;gap:10px}
    .pvp-bonus-grid{grid-template-columns:1fr}
    .pvp-arena{grid-template-columns:1fr;gap:14px;min-height:auto;padding:18px 12px}
    .pvp-arena-center{order:2;padding:14px 0;border-top:1px solid rgba(255,212,59,0.1);border-bottom:1px solid rgba(255,212,59,0.1)}
    .pvp-fighter--opp{order:3}
    .pvp-vs-badge{font-size:80px}
    .pvp-fighter__plate{width:78px;height:78px}
    .pvp-fighter__avatar{width:70px;height:70px;font-size:36px}
    .pvp-round-event{min-width:auto;width:100%}
    .pvp-battle-log{max-height:70px}
    .pvp-result__title{font-size:32px}
    .pvp-rounds-progress::before,
    .pvp-rounds-progress::after{flex-basis:20px}
}

/* ===== ИНВЕНТАРЬ ЧЕМПИОНА ===== */
.champ-inventory{margin-bottom:12px;padding-top:10px;border-top:1px solid var(--border)}
.champ-inventory__title{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:8px;font-weight:700}
.champ-inventory__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px}
.champ-inv-item{
    --c-color:var(--info);
    position:relative;
    width:40px;height:40px;
    border-radius:6px;
    border:2px solid var(--c-color);
    background:rgba(0,0,0,0.3);
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
    cursor:pointer;
    transition:transform .15s ease,box-shadow .2s ease;
}
.champ-inv-item:hover{transform:scale(1.1);box-shadow:0 0 10px -2px var(--c-color)}
.champ-inv-item img{width:36px;height:36px;object-fit:cover;border-radius:4px}
.champ-inv-item__icon{font-size:20px;line-height:1}
.champ-inv-item--equipped{
    box-shadow:0 0 0 2px var(--success),0 0 8px -2px var(--success);
    border-color:var(--success);
}
.champ-inv-item__badge{
    position:absolute;top:-2px;right:-2px;
    width:14px;height:14px;border-radius:50%;
    background:var(--success);color:#fff;
    font-size:9px;font-weight:800;line-height:14px;text-align:center;
}

/* ===== МАГАЗИН РАРНЫХ ПРЕДМЕТОВ ===== */
.shop-resources{
    display:flex;flex-wrap:wrap;gap:10px;
    padding:10px 14px;background:rgba(0,0,0,0.25);
    border:1px solid var(--border);border-radius:8px;
    margin-bottom:14px;font-size:13px;font-family:'JetBrains Mono',monospace;
}
.shop-res{color:var(--text-dim)}
.shop-res strong{color:#fff;margin-left:3px}
.shop-res--prestige strong{color:var(--gold)}

.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.shop-item{
    --c-color:var(--info);
    background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));
    border:1px solid var(--border);
    border-top:3px solid var(--c-color);
    border-radius:10px;padding:12px;
    display:flex;flex-direction:column;gap:8px;
}
.shop-item__head{display:flex;gap:10px;align-items:flex-start}
.shop-item__img{
    width:95px;height:95px;border-radius:8px;
    border:2px solid var(--c-color);
    object-fit:cover;flex-shrink:0;
    box-shadow:0 0 12px -2px var(--c-color);
}
.shop-item__img--placeholder{
    display:flex;align-items:center;justify-content:center;
    background:radial-gradient(circle,var(--c-color)33,transparent 70%);
    font-size:42px;
}
.shop-item__info{flex:1;min-width:0}
.shop-item__name{font-size:14px;font-weight:800;color:#fff;margin-bottom:3px;line-height:1.2}
.shop-item__rarity{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:2px}
.shop-item__type{font-size:10px;color:var(--text-mute);text-transform:capitalize}
.shop-item__stats{
    font-size:11px;color:var(--warn);font-weight:700;
    padding:5px 8px;background:rgba(241,196,15,0.08);border-radius:4px;
    border-left:2px solid var(--warn);
}
.shop-item__desc{font-size:11px;color:var(--text-dim);line-height:1.4;min-height:30px}
.shop-item__costs{display:flex;flex-wrap:wrap;gap:4px}
.shop-cost{
    display:inline-flex;align-items:center;gap:2px;
    padding:2px 6px;border-radius:4px;
    font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;
    border:1px solid;
}
.shop-cost.ok{color:var(--success);background:rgba(46,204,113,0.1);border-color:rgba(46,204,113,0.3)}
.shop-cost.no{color:var(--danger);background:rgba(255,82,82,0.1);border-color:rgba(255,82,82,0.3)}
.shop-item__action{margin-top:auto}
.shop-item__action .btn{width:100%}

@media(max-width:768px){
    .shop-grid{grid-template-columns:1fr}
    .shop-item__img{width:70px;height:70px;font-size:32px}
}

/* ===== БОЙ С БОССОМ ===== */
.boss-content{background:radial-gradient(ellipse at center,rgba(165,94,234,0.12),transparent 70%),var(--bg-panel,#14121a)}

/* Заставка появления босса */
.boss-intro{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:60px 20px;text-align:center;position:relative;overflow:hidden;
    min-height:400px;
}
.boss-intro__rays{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:600px;height:600px;
    background:conic-gradient(
        from 0deg,
        transparent 0deg,rgba(165,94,234,0.3) 10deg,transparent 20deg,
        transparent 60deg,rgba(165,94,234,0.3) 70deg,transparent 80deg,
        transparent 120deg,rgba(165,94,234,0.3) 130deg,transparent 140deg,
        transparent 180deg,rgba(165,94,234,0.3) 190deg,transparent 200deg,
        transparent 240deg,rgba(165,94,234,0.3) 250deg,transparent 260deg,
        transparent 300deg,rgba(165,94,234,0.3) 310deg,transparent 320deg,
        transparent 360deg
    );
    border-radius:50%;
    pointer-events:none;
    opacity:0;
}
@keyframes bossRays{
    0%{transform:translate(-50%,-50%) scale(0) rotate(0deg);opacity:0}
    50%{opacity:1}
    100%{transform:translate(-50%,-50%) scale(1.5) rotate(180deg);opacity:0.5}
}
.boss-intro__icon{font-size:96px;line-height:1;margin-bottom:16px;text-shadow:0 0 40px currentColor;animation:bossIntroPulse 2s ease-in-out infinite}
@keyframes bossIntroPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.boss-intro__name{font-size:32px;font-weight:900;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:4px;text-shadow:0 0 20px currentColor}
.boss-intro__title{font-size:18px;color:var(--text-dim,#868e96);margin-bottom:20px}
.boss-intro__desc{font-size:14px;color:var(--text-mute,#6c757d);margin-bottom:24px}
.boss-intro__actions{display:flex;gap:12px}

/* Арена боя */
.boss-arena{padding:20px}
.boss-arena__head{text-align:center;margin-bottom:16px}
.boss-arena__head h2{font-size:22px;color:#ffd43b;text-shadow:0 0 12px rgba(255,212,59,0.4)}

.boss-fight-area{
    display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:12px;
    min-height:280px;margin-bottom:16px;
    background:linear-gradient(180deg,rgba(0,0,0,0.4),rgba(0,0,0,0.2));
    border-radius:12px;padding:20px;position:relative;overflow:hidden;
}
.boss-fighter{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:2}
.boss-fighter__avatar{
    width:80px;height:80px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:42px;line-height:1;border:3px solid;
    box-shadow:0 0 24px -4px currentColor;
    background:radial-gradient(circle,rgba(255,255,255,0.1),transparent 70%);
}
.boss-fighter--me .boss-fighter__avatar{border-color:#2ecc71;color:#2ecc71}
.boss-fighter--boss .boss-fighter__avatar{border-color:#a55eea;color:#a55eea}
.boss-fighter__name{font-size:14px;font-weight:700;color:#fff}
.boss-fighter__type{font-size:11px;color:var(--text-dim,#868e96)}

.boss-hp-bar{
    width:100%;max-width:140px;height:16px;
    background:rgba(0,0,0,0.5);border-radius:8px;
    overflow:hidden;position:relative;margin-top:4px;
    border:1px solid rgba(255,255,255,0.1);
}
.boss-hp-fill{
    height:100%;border-radius:8px;
    transition:width 0.4s ease;
}
.boss-hp-fill--me{background:linear-gradient(90deg,#2ecc71,#aaff80)}
.boss-hp-fill--boss{background:linear-gradient(90deg,#ff5252,#ff8080)}
.boss-hp-text{font-size:11px;color:var(--text-dim,#868e96);margin-top:2px}

.boss-center{display:flex;flex-direction:column;gap:8px;overflow:hidden}
.boss-round-event{
    text-align:center;font-size:14px;font-weight:700;
    padding:8px;border-radius:8px;
    background:rgba(255,255,255,0.05);
    min-height:36px;display:flex;align-items:center;justify-content:center;
}
.boss-battle-log{
    flex:1;overflow-y:auto;max-height:200px;
    padding:8px;border-radius:8px;
    background:rgba(0,0,0,0.3);
    font-size:12px;
}
.boss-battle-log::-webkit-scrollbar{width:4px}
.boss-battle-log::-webkit-scrollbar-thumb{background:#ffd43b;border-radius:2px}
.boss-log__line{padding:3px 6px;border-radius:4px;margin-bottom:2px;animation:bossLogIn 0.3s ease}
.boss-log__line--me{color:#4dffa6;background:rgba(46,204,113,0.08)}
.boss-log__line--opp{color:#ff8080;background:rgba(255,82,82,0.08)}
.boss-log__line--event{color:#ffd43b;background:rgba(255,212,59,0.08);font-weight:700}
@keyframes bossLogIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}

.boss-actions{display:flex;gap:10px;justify-content:center;margin-top:12px}
.boss-action-btn{
    flex:1;max-width:200px;padding:12px 16px;
    text-align:center;font-size:14px;font-weight:700;
    border-radius:10px;cursor:pointer;transition:all 0.2s;
    line-height:1.4;
}
.boss-action-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.3)}
.boss-action-btn small{font-size:10px;font-weight:400;opacity:0.7;display:block;margin-top:2px}

.boss-result{text-align:center;padding:30px;margin-top:12px}
.boss-result__title{font-size:36px;font-weight:900;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:12px}
.boss-result__rewards{font-size:16px}

@media(max-width:768px){
    .boss-fight-area{grid-template-columns:1fr;gap:16px}
    .boss-action-btn{font-size:12px;padding:10px}
    .boss-intro__name{font-size:24px}
}

/* ===== БОСС: кинематографичные улучшения ===== */
.boss-log__line--item{color:#a55eea !important;background:rgba(165,94,234,0.12) !important;font-weight:700;border-left:3px solid #a55eea}
.boss-log__line--crit{color:#ff5252 !important;background:rgba(255,82,82,0.15) !important;font-weight:900;font-size:13px;text-shadow:0 0 8px rgba(255,82,82,0.4)}
@keyframes bossEventFlash{0%{transform:scale(0.8);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
.boss-fighter.hit .boss-fighter__avatar{animation:bossHit 0.4s ease-out}
@keyframes bossHit{0%{transform:translateX(0) scale(1)}20%{transform:translateX(-10px) scale(1.05);filter:brightness(2)}40%{transform:translateX(10px) scale(0.95)}60%{transform:translateX(-5px) scale(1.02)}100%{transform:translateX(0) scale(1)}}
.boss-hp-fill{background-size:calc(10000% / var(--hp,100)) 100% !important}
.boss-hp-fill--me{background:linear-gradient(90deg,#ff5252,#ffa502,#ffe082,#aaff80,#2ecc71);background-size:calc(10000% / var(--hp,100)) 100%}
.boss-hp-fill--boss{background:linear-gradient(90deg,#ff5252,#a55eea);background-size:calc(10000% / var(--hp,100)) 100%}
.boss-result__title{font-size:36px;font-weight:900;text-transform:uppercase;letter-spacing:0.08em;animation:bossResultIn 0.6s cubic-bezier(0.34,1.56,0.64,1)}
@keyframes bossResultIn{0%{transform:scale(0.5);opacity:0;filter:blur(10px)}100%{transform:scale(1);opacity:1;filter:blur(0)}}

/* ===== БОСС: premium plate + glow ===== */
.boss-fighter__plate{position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center}
.boss-fighter__glow{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(46,204,113,0.25),transparent 70%);animation:bossGlowPulse 3s ease-in-out infinite;z-index:0}
.boss-fighter__glow--boss{background:radial-gradient(circle,rgba(165,94,234,0.3),transparent 70%)}
@keyframes bossGlowPulse{0%,100%{opacity:0.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
.boss-fighter__plate .boss-fighter__avatar{position:relative;z-index:1}
.boss-result__flare{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;background:conic-gradient(from 0deg,transparent,rgba(255,212,59,0.15),transparent,rgba(255,212,59,0.15),transparent);border-radius:50%;animation:bossFlare 18s linear infinite;pointer-events:none;z-index:0}
@keyframes bossFlare{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.boss-result__actions{margin-top:16px;position:relative;z-index:1}
.boss-result{position:relative;overflow:hidden}

/* ===== Онлайн-виджет ===== */
@keyframes onlinePulse{0%,100%{opacity:1;box-shadow:0 0 4px #2ecc71}50%{opacity:0.5;box-shadow:0 0 8px #2ecc71}}
.online-badge{cursor:default;user-select:none}
