/* ========================================================================== 
   EVE Combat UI — consolidated v40
   This file intentionally owns ALL current combat-HUD layout/animation rules.
   Older v31-v39 combat override blocks were removed from style.css.
   ========================================================================== */

/* ---------- Full-screen combat canvas ---------- */
#game-container.combat-mode #hud-layer,
#choice-container.eve-combat-panel .eve-combat-header,
#choice-container.eve-combat-panel .eve-combat-footer,
#choice-container.eve-combat-panel .eve-combat-analysis-panel,
#choice-container.eve-combat-panel .eve-combat-prototype-message,
#choice-container.eve-combat-panel .eve-combat-ground-line {
    display: none !important;
}

#game-container.combat-mode #background-layer {
    filter: saturate(.88) brightness(.68) contrast(1.05) !important;
}

#choice-container.eve-combat-panel,
#choice-container.eve-combat-panel > .eve-combat-shell,
#choice-container.eve-combat-panel .eve-combat-stage {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

#choice-container.eve-combat-panel { z-index: 5 !important; }

/* ---------- Area label ---------- */
#choice-container.eve-combat-panel .eve-combat-area-readout {
    position: absolute !important;
    left: 30px !important;
    top: 22px !important;
    z-index: 12 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    color: #f2f8ff !important;
    text-shadow: 0 3px 14px rgba(0,0,0,.75) !important;
    pointer-events: none !important;
}
#choice-container.eve-combat-panel .eve-combat-area-readout > span {
    color: #7cd9ff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .18em !important;
}
#choice-container.eve-combat-panel .eve-combat-area-readout > strong {
    font-size: 27px !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
}

/* ---------- EVE staging ---------- */
#game-container.combat-mode #character-layer {
    left: 14px !important;
    bottom: 116px !important;
    width: 456px !important;
    height: 768px !important;
    aspect-ratio: 912 / 1536 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: visible !important;
    transform: none !important;
    isolation: isolate !important;
    z-index: 4 !important;
}
#game-container.combat-mode #character-sprite {
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: translateY(24px) !important;
    transform-origin: center bottom !important;
    filter:
        drop-shadow(18px 24px 18px rgba(0,0,0,.52))
        drop-shadow(0 30px 40px rgba(0,0,0,.66)) !important;
}
#game-container.combat-mode #character-layer::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 1px;
    width: 230px;
    height: 34px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(0,0,0,.48), rgba(0,0,0,0) 72%);
    filter: blur(3px);
    z-index: -1;
}
#game-container.combat-mode #character-layer::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 80px;
    width: 320px;
    height: 520px;
    transform: translateX(-50%) scale(.94);
    border: 2px solid transparent;
    border-radius: 48% 48% 42% 42%;
    opacity: 0;
    z-index: 6;
    pointer-events: none;
}

/* ---------- Side divider ---------- */
#choice-container.eve-combat-panel .eve-combat-divider {
    position: absolute !important;
    left: 454px !important;
    top: 116px !important;
    bottom: 118px !important;
    width: 1px !important;
    background: linear-gradient(180deg, transparent, rgba(113,200,240,.18), transparent) !important;
    box-shadow: 0 0 14px rgba(92,184,225,.10) !important;
    pointer-events: none !important;
}

/* ---------- Shared HP/status panels ---------- */
#choice-container.eve-combat-panel .eve-combat-eve-info,
#choice-container.eve-combat-panel .eve-combat-enemy-info {
    position: absolute !important;
    bottom: 18px !important;
    height: 116px !important;
    min-height: 116px !important;
    max-height: 116px !important;
    box-sizing: border-box !important;
    padding: 15px 18px 13px !important;
    color: #eef8ff !important;
    background:
        linear-gradient(145deg, rgba(8,25,39,.93), rgba(3,12,22,.90)),
        radial-gradient(circle at 10% 0%, rgba(89,200,255,.10), transparent 42%) !important;
    border: 1px solid rgba(110,202,242,.35) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.34), inset 0 0 28px rgba(80,190,235,.035) !important;
    clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px) !important;
    z-index: 8 !important;
}
#choice-container.eve-combat-panel .eve-combat-eve-info::before,
#choice-container.eve-combat-panel .eve-combat-enemy-info::before {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(115,205,245,.10);
    clip-path: inherit;
    pointer-events: none;
}
#choice-container.eve-combat-panel .eve-combat-eve-info {
    left: 50px !important;
    width: 360px !important;
    border-left: 3px solid rgba(83,211,255,.72) !important;
}
#choice-container.eve-combat-panel .eve-combat-status-head {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 9px !important;
}
#choice-container.eve-combat-panel .eve-combat-status-head strong {
    font-size: 16px !important;
    font-weight: 1000 !important;
    letter-spacing: .04em !important;
}
#choice-container.eve-combat-panel .eve-combat-status-head span {
    color: rgba(219,235,244,.80) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}
#choice-container.eve-combat-panel .eve-combat-eve-hp,
#choice-container.eve-combat-panel .eve-combat-enemy-hp {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 10px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.075) !important;
    border: 1px solid rgba(175,220,240,.16) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 2px 5px rgba(0,0,0,.35) !important;
}
#choice-container.eve-combat-panel .eve-combat-eve-hp > span,
#choice-container.eve-combat-panel .eve-combat-enemy-hp > span {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
}
#choice-container.eve-combat-panel .eve-combat-eve-hp > span {
    background: linear-gradient(90deg, #45c6ef, #96edff) !important;
    box-shadow: 0 0 10px rgba(94,218,255,.38) !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-hp > span {
    background: linear-gradient(90deg, #e65767, #ff9a78) !important;
    box-shadow: 0 0 10px rgba(255,100,100,.30) !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-hp.is-unknown > span { width: 0 !important; }

#choice-container.eve-combat-panel .eve-combat-status-icons {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    min-height: 28px !important;
    margin-top: 10px !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-status-icons { justify-content: center !important; }
#choice-container.eve-combat-panel .eve-combat-status-slot,
#choice-container.eve-combat-panel .eve-combat-status-icon {
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    background: rgba(4,14,24,.60) !important;
    border: 1px solid rgba(120,200,235,.18) !important;
    clip-path: polygon(25% 4%, 75% 4%, 98% 50%, 75% 96%, 25% 96%, 2% 50%) !important;
    box-shadow: inset 0 0 10px rgba(80,185,230,.025) !important;
}

/* ---------- Enemy staging ---------- */
#choice-container.eve-combat-panel .eve-combat-enemy-zone {
    position: absolute !important;
    left: 470px !important;
    right: 431px !important;
    top: 28px !important;
    bottom: 0 !important;
    display: block !important;
    overflow: visible !important;
    pointer-events: none !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-slot {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    transform-origin: center bottom !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-art,
#choice-container.eve-combat-panel .eve-combat-enemy-art.has-image {
    position: absolute !important;
    left: 50% !important;
    bottom: 158px !important;
    width: 630px !important;
    height: 750px !important;
    max-width: 82% !important;
    max-height: calc(100% - 194px) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 2 !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-zone.is-elite .eve-combat-enemy-art,
#choice-container.eve-combat-panel .eve-combat-enemy-zone.is-elite .eve-combat-enemy-art.has-image {
    width: 680px !important;
    height: 780px !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-zone.is-boss .eve-combat-enemy-art,
#choice-container.eve-combat-panel .eve-combat-enemy-zone.is-boss .eve-combat-enemy-art.has-image {
    width: 740px !important;
    height: 820px !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    position: relative !important;
    z-index: 2 !important;
    filter: drop-shadow(0 26px 34px rgba(0,0,0,.48)) !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-art::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -12px;
    width: 60%;
    height: 38px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(0,0,0,.46), rgba(0,0,0,0) 74%);
    filter: blur(3px);
}
#choice-container.eve-combat-panel .eve-combat-enemy-info {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 430px !important;
    border-color: rgba(235,101,112,.34) !important;
    border-left: 3px solid rgba(238,86,98,.70) !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-zone.is-elite .eve-combat-enemy-info {
    width: 560px !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-zone.is-boss .eve-combat-enemy-info {
    width: 680px !important;
}

/* Future 2/3 enemy layout scaffold */
#choice-container.eve-combat-panel .enemy-count-2 .slot-0 { left:-20% !important; width:70% !important; transform:scale(.82) !important; }
#choice-container.eve-combat-panel .enemy-count-2 .slot-1 { left:50% !important; width:70% !important; transform:scale(.82) !important; }
#choice-container.eve-combat-panel .enemy-count-3 .slot-0 { left:22% !important; width:56% !important; transform:scale(.76) !important; z-index:3 !important; }
#choice-container.eve-combat-panel .enemy-count-3 .slot-1 { left:-4% !important; width:52% !important; transform:scale(.66) !important; z-index:2 !important; }
#choice-container.eve-combat-panel .enemy-count-3 .slot-2 { left:52% !important; width:52% !important; transform:scale(.66) !important; z-index:2 !important; }

/* ---------- Enemy intent ---------- */
#choice-container.eve-combat-panel .eve-combat-intent-panel {
    position: absolute !important;
    top: 22px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    z-index: 6 !important;
}
#choice-container.eve-combat-panel .eve-combat-intent-row {
    min-width: 136px !important;
    min-height: 34px !important;
    padding: 6px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    color: #eef8ff !important;
    background: linear-gradient(90deg, rgba(7,22,35,.76), rgba(10,30,45,.66)) !important;
    border: 1px solid rgba(115,198,236,.24) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.25) !important;
}
#choice-container.eve-combat-panel .eve-combat-intent-label {
    color: rgba(142,211,243,.60) !important;
    font-size: 9px !important;
    font-weight: 1000 !important;
    letter-spacing: .13em !important;
}
#choice-container.eve-combat-panel .eve-combat-intent-row.is-next {
    opacity: .48 !important;
    transform: scale(.94) !important;
}
#choice-container.eve-combat-panel .eve-combat-pattern-value {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}
#choice-container.eve-combat-panel .eve-combat-pattern-icon {
    min-width: 20px !important;
    text-align: center !important;
    font-size: 1.08rem !important;
}
#choice-container.eve-combat-panel .eve-combat-pattern-icon.is-attack { color:#ff6b6b !important; }
#choice-container.eve-combat-panel .eve-combat-pattern-icon.is-charge { color:#ffbd62 !important; }
#choice-container.eve-combat-panel .eve-combat-pattern-icon.is-drain { color:#7bd6ff !important; }
#choice-container.eve-combat-panel .eve-combat-pattern-icon.is-debuff { color:#d98dff !important; }

/* ========================================================================== 
   Tactical command rail
   Header is TWO DISTINCT ROWS:
   1. full-width title row
   2. small TURN box + long OUTPUT box
   ========================================================================== */
#choice-container.eve-combat-panel .eve-combat-command-zone {
    position: absolute !important;
    top: 66px !important;
    right: 24px !important;
    bottom: 66px !important;
    width: 375px !important;
    min-width: 375px !important;
    max-width: 375px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-rows: 158px minmax(0,1fr) 112px !important;
    color: #eef8ff !important;
    background:
        linear-gradient(180deg, rgba(8,28,44,.96), rgba(3,12,22,.95)),
        radial-gradient(circle at 50% -10%, rgba(70,184,235,.12), transparent 42%) !important;
    border: 1px solid rgba(105,198,240,.36) !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,.42), inset 0 0 35px rgba(65,177,225,.035) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px) !important;
    z-index: 12 !important;
}
#choice-container.eve-combat-panel .eve-combat-command-zone::before {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px solid rgba(112,199,240,.09);
    clip-path: inherit;
    pointer-events: none;
    z-index: 1;
}

#choice-container.eve-combat-panel .eve-combat-command-head {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 158px !important;
    min-height: 158px !important;
    max-height: 158px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: 40px 82px !important;
    row-gap: 12px !important;
    align-content: start !important;
    padding: 14px 14px 14px !important;
    margin: 0 !important;
    background: linear-gradient(180deg, rgba(30,73,98,.17), rgba(0,0,0,0)) !important;
    border-bottom: 1px solid rgba(115,196,232,.13) !important;
}

#choice-container.eve-combat-panel .eve-combat-command-title {
    position: relative !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: max-content minmax(0,1fr) !important;
    align-items: center !important;
    column-gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
#choice-container.eve-combat-panel .eve-combat-command-title::after {
    display: none !important;
    content: none !important;
}
#choice-container.eve-combat-panel .eve-combat-command-title > strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #eaf9ff !important;
    font-size: 15px !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    letter-spacing: .055em !important;
    text-shadow: 0 0 12px rgba(91,190,232,.16) !important;
}
#choice-container.eve-combat-panel .eve-combat-command-title-rule {
    display: block !important;
    width: 100% !important;
    height: 1px !important;
    min-width: 0 !important;
    margin: 0 !important;
    background: linear-gradient(90deg, rgba(104,205,246,.46), rgba(104,205,246,.16), transparent) !important;
}

/* exact second header row: small TURN, long OUTPUT */
#choice-container.eve-combat-panel .eve-combat-command-readouts {
    position: relative !important;
    width: 100% !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 88px minmax(0,1fr) !important;
    grid-template-rows: 82px !important;
    column-gap: 10px !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
}
#choice-container.eve-combat-panel .eve-combat-turn-readout,
#choice-container.eve-combat-panel .eve-combat-output-readout {
    position: relative !important;
    width: 100% !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    background: linear-gradient(145deg, rgba(28,62,82,.42), rgba(9,28,42,.34)) !important;
    border: 1px solid rgba(126,198,229,.18) !important;
    border-radius: 11px !important;
    box-shadow: inset 0 0 18px rgba(75,174,218,.025) !important;
}
#choice-container.eve-combat-panel .eve-combat-turn-readout {
    display: grid !important;
    grid-template-rows: 18px minmax(0,1fr) !important;
    align-items: center !important;
    justify-items: center !important;
}
#choice-container.eve-combat-panel .eve-combat-turn-readout > span {
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(181,220,238,.60) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 18px !important;
    letter-spacing: .13em !important;
}
#choice-container.eve-combat-panel .eve-combat-turn-readout > strong {
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffe07b !important;
    font-size: 24px !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums !important;
}
#choice-container.eve-combat-panel .eve-combat-output-readout {
    display: grid !important;
    grid-template-rows: 24px 12px !important;
    align-content: center !important;
    row-gap: 9px !important;
}
#choice-container.eve-combat-panel .eve-combat-output-title {
    width: 100% !important;
    height: 24px !important;
    display: grid !important;
    grid-template-columns: 1fr max-content !important;
    align-items: center !important;
    column-gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}
#choice-container.eve-combat-panel .eve-combat-output-title > span {
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(181,220,238,.60) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 24px !important;
    letter-spacing: .13em !important;
}
#choice-container.eve-combat-panel .eve-combat-output-title > strong {
    justify-self: end !important;
    min-width: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffe07b !important;
    font-size: 20px !important;
    font-weight: 1000 !important;
    line-height: 24px !important;
    text-align: right !important;
    font-variant-numeric: tabular-nums !important;
}
#choice-container.eve-combat-panel .eve-combat-output-cells {
    width: 100% !important;
    height: 12px !important;
    display: grid !important;
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    align-items: center !important;
    column-gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}
#choice-container.eve-combat-panel .eve-combat-output-cell {
    width: 100% !important;
    height: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,212,108,.10) !important;
    box-shadow: inset 0 1px 4px rgba(0,0,0,.40) !important;
}
#choice-container.eve-combat-panel .eve-combat-output-cell.is-filled {
    background: linear-gradient(90deg,#e8b94e,#ffe690) !important;
    border-color: rgba(255,224,126,.70) !important;
    box-shadow: 0 0 10px rgba(255,202,75,.35) !important;
}

/* ---------- Scrollable command body ---------- */
#choice-container.eve-combat-panel .eve-combat-command-scroll {
    position: relative !important;
    z-index: 2 !important;
    min-height: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    pointer-events: auto !important;
    padding: 12px 12px 10px 14px !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(90,190,232,.38) rgba(255,255,255,.025) !important;
}
#choice-container.eve-combat-panel .eve-combat-command-scroll::-webkit-scrollbar { width: 6px; }
#choice-container.eve-combat-panel .eve-combat-command-scroll::-webkit-scrollbar-track { background:rgba(255,255,255,.025); border-radius:999px; }
#choice-container.eve-combat-panel .eve-combat-command-scroll::-webkit-scrollbar-thumb { background:linear-gradient(180deg,rgba(99,204,246,.58),rgba(79,147,183,.35)); border-radius:999px; }

#choice-container.eve-combat-panel .eve-combat-command-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
    padding: 11px !important;
    background: rgba(255,255,255,.018) !important;
    border: 1px solid rgba(118,190,225,.075) !important;
    border-radius: 13px !important;
}
#choice-container.eve-combat-panel .eve-combat-command-section.is-module { margin-bottom:0 !important; }
#choice-container.eve-combat-panel .eve-combat-section-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 20px !important;
    color: #89d8fb !important;
    font-size: 10px !important;
    font-weight: 1000 !important;
    letter-spacing: .10em !important;
}
#choice-container.eve-combat-panel .eve-combat-section-title::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    margin-left: 2px;
    background: linear-gradient(90deg,rgba(96,192,234,.28),transparent);
}
#choice-container.eve-combat-panel .eve-combat-section-title small {
    order: 3;
    color: rgba(205,225,235,.48) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
}

/* ---------- Command cards ---------- */
#choice-container.eve-combat-panel .eve-combat-command {
    appearance: none !important;
    -webkit-appearance: none !important;
    font: inherit !important;
    text-decoration: none !important;
    cursor: pointer !important;
    position: relative !important;
    width: 100% !important;
    min-height: 68px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 10px 13px !important;
    color: #edf8fd !important;
    text-align: left !important;
    background: linear-gradient(110deg,rgba(28,65,88,.72),rgba(10,29,44,.76)) !important;
    border: 1px solid rgba(111,195,232,.20) !important;
    border-radius: 11px !important;
    box-shadow: inset 0 0 18px rgba(74,177,222,.025) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    transition: transform .14s ease, border-color .14s ease, background .14s ease, opacity .14s ease !important;
}
#choice-container.eve-combat-panel .eve-combat-command:hover:not(:disabled) {
    transform: translateX(-2px) !important;
    border-color: rgba(121,210,247,.50) !important;
    background: linear-gradient(110deg,rgba(38,81,108,.86),rgba(13,36,54,.88)) !important;
}
#choice-container.eve-combat-panel .eve-combat-command:disabled {
    opacity: .34 !important;
    filter: saturate(.42) !important;
    cursor: default !important;
}
#choice-container.eve-combat-panel .eve-combat-command.is-empty-module {
    opacity: .48 !important;
    background: rgba(8,25,38,.42) !important;
    border-style: dashed !important;
}
#choice-container.eve-combat-panel .eve-combat-command-section.is-module > .eve-combat-command {
    flex: 0 0 72px !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
}

#choice-container.eve-combat-panel .eve-command-icon {
    position: relative !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(117,201,239,.22) !important;
    border-radius: 9px !important;
    background: linear-gradient(145deg,rgba(57,112,140,.36),rgba(10,33,49,.28)) !important;
    box-shadow: inset 0 0 12px rgba(99,201,244,.04) !important;
    overflow: hidden !important;
}
#choice-container.eve-combat-panel .eve-command-icon::before,
#choice-container.eve-combat-panel .eve-command-icon::after {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    pointer-events: none;
}
/* Basic attack: a compact blade, drawn only with CSS. */
#choice-container.eve-combat-panel .eve-combat-command.is-attack .eve-command-icon::before {
    width: 19px;
    height: 3px;
    left: 9px;
    top: 16px;
    border-radius: 2px;
    background: #e4f8ff;
    transform: rotate(-43deg);
    transform-origin: center;
    box-shadow: 0 0 7px rgba(130,218,255,.28);
}
#choice-container.eve-combat-panel .eve-combat-command.is-attack .eve-command-icon::after {
    width: 8px;
    height: 8px;
    left: 7px;
    top: 20px;
    border-left: 2px solid #e4f8ff;
    border-bottom: 2px solid #e4f8ff;
    transform: rotate(-43deg);
}
/* Defend: stable shield silhouette, no text glyph dependency. */
#choice-container.eve-combat-panel .eve-combat-command.is-defend .eve-command-icon::before {
    width: 17px;
    height: 19px;
    left: 9px;
    top: 8px;
    border: 2px solid #e4f8ff;
    background: rgba(180,232,255,.035);
    clip-path: polygon(50% 0,100% 20%,88% 74%,50% 100%,12% 74%,0 20%);
    filter: drop-shadow(0 0 4px rgba(130,218,255,.18));
}
#choice-container.eve-combat-panel .eve-combat-command.is-defend .eve-command-icon::after {
    width: 2px;
    height: 9px;
    left: 17px;
    top: 13px;
    border-radius: 2px;
    background: rgba(228,248,255,.55);
}
/* Spread shot: three diverging energy lanes drawn as gradients. */
#choice-container.eve-combat-panel .eve-combat-command.is-spread .eve-command-icon::before {
    width: 23px;
    height: 18px;
    left: 6px;
    top: 9px;
    background:
        linear-gradient(22deg, transparent 45%, #e4f8ff 46%, #e4f8ff 54%, transparent 55%),
        linear-gradient(0deg, transparent 45%, #e4f8ff 46%, #e4f8ff 54%, transparent 55%),
        linear-gradient(-22deg, transparent 45%, #e4f8ff 46%, #e4f8ff 54%, transparent 55%);
    filter: drop-shadow(0 0 4px rgba(130,218,255,.20));
}
#choice-container.eve-combat-panel .eve-combat-command.is-spread .eve-command-icon::after {
    width: 5px;
    height: 5px;
    left: 5px;
    top: 15px;
    border-radius: 50%;
    background: #e4f8ff;
    box-shadow: 0 0 5px rgba(130,218,255,.30);
}
/* Focus shot: crosshair built from borders and gradients, no ◎ glyph. */
#choice-container.eve-combat-panel .eve-combat-command.is-focused .eve-command-icon::before {
    width: 20px;
    height: 20px;
    left: 7px;
    top: 7px;
    border: 2px solid #e4f8ff;
    border-radius: 50%;
    background:
        linear-gradient(90deg, transparent 46%, rgba(228,248,255,.70) 47%, rgba(228,248,255,.70) 53%, transparent 54%),
        linear-gradient(0deg, transparent 46%, rgba(228,248,255,.70) 47%, rgba(228,248,255,.70) 53%, transparent 54%);
    filter: drop-shadow(0 0 4px rgba(130,218,255,.20));
}
#choice-container.eve-combat-panel .eve-combat-command.is-focused .eve-command-icon::after {
    width: 5px;
    height: 5px;
    left: 15px;
    top: 15px;
    border-radius: 50%;
    background: #e4f8ff;
}
/* Empty slot: CSS plus mark instead of a font character. */
#choice-container.eve-combat-panel .eve-combat-command.is-empty-module .eve-command-icon::before {
    width: 16px;
    height: 2px;
    left: 9px;
    top: 16px;
    border-radius: 2px;
    background: rgba(188,221,236,.28);
}
#choice-container.eve-combat-panel .eve-combat-command.is-empty-module .eve-command-icon::after {
    width: 2px;
    height: 16px;
    left: 16px;
    top: 9px;
    border-radius: 2px;
    background: rgba(188,221,236,.28);
}
#choice-container.eve-combat-panel .eve-command-copy {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
#choice-container.eve-combat-panel .eve-command-name {
    color: #f0f9fd !important;
    font-size: 14px !important;
    font-weight: 1000 !important;
    line-height: 1.15 !important;
}
#choice-container.eve-combat-panel .eve-command-desc {
    color: rgba(204,226,236,.64) !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
}
#choice-container.eve-combat-panel .eve-command-cost {
    min-width: 30px !important;
    padding: 5px 7px !important;
    color: #ffe17e !important;
    background: rgba(72,55,17,.35) !important;
    border: 1px solid rgba(255,217,111,.20) !important;
    border-radius: 999px !important;
    text-align: center !important;
    font-size: 11px !important;
    font-weight: 1000 !important;
}

/* ---------- Fixed footer / End Turn ---------- */
#choice-container.eve-combat-panel .eve-combat-command-footer {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 38px 58px !important;
    gap: 6px !important;
    padding: 8px 14px 14px !important;
    background: linear-gradient(180deg,rgba(4,14,23,.72),rgba(3,11,19,.94)) !important;
    border-top: 1px solid rgba(112,195,232,.10) !important;
}
#choice-container.eve-combat-panel .eve-combat-turn-state {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    color: rgba(205,227,236,.70) !important;
}
#choice-container.eve-combat-panel .eve-combat-turn-state > span {
    color: #82d9ff !important;
    font-size: 10px !important;
    font-weight: 1000 !important;
    letter-spacing: .06em !important;
}
#choice-container.eve-combat-panel .eve-combat-turn-state > small {
    font-size: 9px !important;
    line-height: 1.2 !important;
}
#choice-container.eve-combat-panel .eve-combat-end-turn {
    width: 100% !important;
    height: 58px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1px !important;
    color: #effaff !important;
    background: linear-gradient(180deg,rgba(30,102,137,.76),rgba(13,63,91,.82)) !important;
    border: 1px solid rgba(103,205,247,.50) !important;
    border-radius: 10px !important;
    box-shadow: inset 0 0 18px rgba(90,205,249,.06) !important;
    cursor: pointer !important;
}
#choice-container.eve-combat-panel .eve-combat-end-turn > span { font-size:16px !important; font-weight:1000 !important; }
#choice-container.eve-combat-panel .eve-combat-end-turn > small { color:rgba(161,218,242,.72) !important; font-size:8px !important; font-weight:900 !important; letter-spacing:.15em !important; }
#choice-container.eve-combat-panel .eve-combat-end-turn:disabled { opacity:.36 !important; cursor:default !important; filter:saturate(.45) !important; }
#choice-container.eve-combat-panel .eve-combat-end-turn:not(:disabled):hover { background:linear-gradient(180deg,rgba(39,126,167,.90),rgba(16,78,111,.90)) !important; box-shadow:0 0 20px rgba(82,194,241,.12), inset 0 0 18px rgba(90,205,249,.08) !important; }

#choice-container.eve-combat-panel .eve-combat-stage.is-resolving .eve-combat-command-zone { pointer-events:none !important; }

/* ---------- Damage/status float numbers ---------- */
#choice-container.eve-combat-panel .eve-combat-floating-number {
    position: absolute !important;
    z-index: 40 !important;
    transform: translate(-50%,-50%) !important;
    font-size: 36px !important;
    font-weight: 1000 !important;
    letter-spacing: .02em !important;
    text-shadow: 0 3px 10px rgba(0,0,0,.92), 0 0 18px rgba(255,255,255,.06) !important;
    pointer-events: none !important;
    animation: eve-combat-float-v40 1.18s cubic-bezier(.16,.72,.22,1) forwards !important;
}
#choice-container.eve-combat-panel .eve-combat-floating-number.is-damage,
#choice-container.eve-combat-panel .eve-combat-floating-number.is-damage-eve { color:#ff7b72 !important; }
#choice-container.eve-combat-panel .eve-combat-floating-number.is-damage-heavy { color:#ffd0a2 !important; font-size:50px !important; text-shadow:0 0 14px rgba(255,120,84,.42),0 3px 8px rgba(0,0,0,.92) !important; }
#choice-container.eve-combat-panel .eve-combat-floating-number.is-output { color:#ffd66f !important; font-size:20px !important; }
#choice-container.eve-combat-panel .eve-combat-floating-number.is-output-spend { color:#d7a7ff !important; font-size:20px !important; }
#choice-container.eve-combat-panel .eve-combat-floating-number.is-status { color:#d990ff !important; font-size:20px !important; }
#choice-container.eve-combat-panel .eve-combat-floating-number.is-charge { color:#ffbf61 !important; }
@keyframes eve-combat-float-v40 {
    0% { opacity:0; transform:translate(-50%,-18%) scale(.82); }
    14% { opacity:1; transform:translate(-50%,-42%) scale(1.16); }
    72% { opacity:1; transform:translate(-50%,-96%) scale(1.02); }
    100% { opacity:0; transform:translate(-50%,-160%) scale(.94); }
}

/* ---------- Combat motion / hit feedback ---------- */
#game-container.combat-mode #character-layer.is-combat-lunge { animation:eve-combat-eve-lunge-v40 .42s cubic-bezier(.2,.72,.2,1) !important; }
#game-container.combat-mode #character-layer.is-combat-charge { animation:eve-combat-eve-charge-v40 .64s ease-out !important; }
#game-container.combat-mode #character-layer.is-combat-eve-hit { animation:eve-combat-eve-hit-v40 .34s ease-out !important; }
#game-container.combat-mode #character-layer.is-combat-guarding::after {
    opacity:1 !important;
    border-color:rgba(100,211,255,.68) !important;
    background:radial-gradient(ellipse at center,rgba(94,204,255,.10),rgba(94,204,255,.035) 55%,rgba(94,204,255,0) 72%) !important;
    box-shadow:inset 0 0 34px rgba(93,209,255,.10),0 0 22px rgba(93,209,255,.16) !important;
    animation:eve-combat-guard-breathe-v40 .78s ease-in-out infinite alternate !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-art.is-combat-hit-light { animation:eve-combat-enemy-hit-light-v40 .34s ease-out !important; }
#choice-container.eve-combat-panel .eve-combat-enemy-art.is-combat-hit-heavy { animation:eve-combat-enemy-hit-heavy-v40 .48s ease-out !important; }
#choice-container.eve-combat-panel .eve-combat-enemy-art.is-combat-enemy-strike { animation:eve-combat-enemy-strike-v40 .34s cubic-bezier(.2,.72,.2,1) !important; }
#choice-container.eve-combat-panel .eve-combat-enemy-art.is-combat-enemy-cast { animation:eve-combat-enemy-cast-v40 .48s ease-in-out !important; }
#choice-container.eve-combat-panel .eve-combat-enemy-art.is-combat-enemy-charge { animation:eve-combat-enemy-charge-v53 1.50s ease-in-out !important; }

#choice-container.eve-combat-panel .eve-combat-stage.is-basic-shot::after,
#choice-container.eve-combat-panel .eve-combat-stage.is-focused-shot::after,
#choice-container.eve-combat-panel .eve-combat-stage.is-spread-shot::after {
    content:"";
    position:absolute;
    left:27%; top:49%; width:37%; height:4px;
    transform-origin:left center;
    background:linear-gradient(90deg,rgba(166,230,255,0),rgba(166,230,255,.95),rgba(166,230,255,0));
    filter:blur(.3px) drop-shadow(0 0 8px rgba(101,205,255,.70));
    opacity:0; z-index:18; pointer-events:none;
    animation:eve-combat-shot-line-v40 .28s ease-out forwards;
}
#choice-container.eve-combat-panel .eve-combat-stage.is-focused-shot::after {
    height:8px;
    background:linear-gradient(90deg,rgba(255,199,95,0),rgba(255,225,142,1),rgba(255,137,91,0));
    filter:blur(.4px) drop-shadow(0 0 13px rgba(255,191,89,.82));
    animation-duration:.42s;
}
#choice-container.eve-combat-panel .eve-combat-stage.is-spread-shot::after { height:6px; box-shadow:0 -12px 0 rgba(153,226,255,.36),0 12px 0 rgba(153,226,255,.36); }

@keyframes eve-combat-eve-lunge-v40 { 0%{transform:translateX(0)} 42%{transform:translateX(34px)} 100%{transform:translateX(0)} }
@keyframes eve-combat-eve-charge-v40 { 0%{filter:drop-shadow(0 24px 34px rgba(0,0,0,.46))} 45%{filter:brightness(1.18) drop-shadow(0 0 22px rgba(255,216,112,.30))} 100%{filter:drop-shadow(0 24px 34px rgba(0,0,0,.46))} }
@keyframes eve-combat-eve-hit-v40 { 0%{transform:translateX(0);filter:brightness(1)} 24%{transform:translateX(-13px);filter:brightness(1.65)} 52%{transform:translateX(8px)} 100%{transform:translateX(0);filter:brightness(1)} }
@keyframes eve-combat-guard-breathe-v40 { from{transform:translateX(-50%) scale(.94);opacity:.55} to{transform:translateX(-50%) scale(1);opacity:.92} }
@keyframes eve-combat-enemy-hit-light-v40 { 0%{transform:translateX(-50%);filter:brightness(1)} 26%{transform:translateX(calc(-50% + 12px));filter:brightness(1.55)} 58%{transform:translateX(calc(-50% - 7px))} 100%{transform:translateX(-50%);filter:brightness(1)} }
@keyframes eve-combat-enemy-hit-heavy-v40 { 0%{transform:translateX(-50%) scale(1);filter:brightness(1)} 22%{transform:translateX(calc(-50% + 20px)) scale(1.025);filter:brightness(1.85)} 48%{transform:translateX(calc(-50% - 12px)) scale(.985)} 70%{transform:translateX(calc(-50% + 5px))} 100%{transform:translateX(-50%) scale(1);filter:brightness(1)} }
@keyframes eve-combat-enemy-strike-v40 { 0%{transform:translateX(-50%)} 42%{transform:translateX(calc(-50% - 30px))} 100%{transform:translateX(-50%)} }
@keyframes eve-combat-enemy-cast-v40 { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.28) drop-shadow(0 0 20px rgba(196,117,255,.28))} }
@keyframes eve-combat-enemy-charge-v53 {
    0%   { filter:brightness(1) saturate(1); }
    18%  { filter:brightness(1.18) saturate(1.06) drop-shadow(0 0 12px rgba(255,157,56,.20)); }
    38%  { filter:brightness(1.34) saturate(1.14) drop-shadow(0 0 28px rgba(255,174,80,.42)); }
    58%  { filter:brightness(1.20) saturate(1.08) drop-shadow(0 0 18px rgba(255,131,45,.30)); }
    78%  { filter:brightness(1.38) saturate(1.16) drop-shadow(0 0 34px rgba(255,188,92,.48)); }
    100% { filter:brightness(1) saturate(1); }
}
@keyframes eve-combat-shot-line-v40 { 0%{opacity:0;transform:scaleX(.1)} 22%{opacity:1} 100%{opacity:0;transform:scaleX(1)} }

/* output pulse */
#choice-container.eve-combat-panel .eve-combat-output-readout.is-output-gain { animation:eve-output-gain-v40 .42s ease-out !important; }
#choice-container.eve-combat-panel .eve-combat-output-readout.is-output-spend,
#choice-container.eve-combat-panel .eve-combat-output-readout.is-output-drain { animation:eve-output-spend-v40 .42s ease-out !important; }
@keyframes eve-output-gain-v40 { 0%,100%{box-shadow:inset 0 0 18px rgba(75,174,218,.025)} 50%{box-shadow:inset 0 0 24px rgba(255,211,96,.10),0 0 16px rgba(255,211,96,.10)} }
@keyframes eve-output-spend-v40 { 0%,100%{box-shadow:inset 0 0 18px rgba(75,174,218,.025)} 50%{box-shadow:inset 0 0 24px rgba(193,132,255,.10),0 0 16px rgba(193,132,255,.08)} }

/* Fixed 1920x1080 combat HUD. The game-wide resizeGame() scale is the sole viewport adaptation layer. */


/* ========================================================================== 
   v43 — surgical corrections only. v41 combat layout is the immutable baseline.
   No responsive rules. No global UI rules.
   ========================================================================== */

/* Remove the command-wait text block and occupy the footer with END TURN only. */
#choice-container.eve-combat-panel .eve-combat-command-zone {
    grid-template-rows: 158px minmax(0,1fr) 82px !important;
}
#choice-container.eve-combat-panel .eve-combat-command-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    padding: 10px 14px 12px !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg,rgba(4,14,23,.72),rgba(3,11,19,.94)) !important;
    border-top: 1px solid rgba(112,195,232,.10) !important;
}
#choice-container.eve-combat-panel .eve-combat-turn-state {
    display: none !important;
}
#choice-container.eve-combat-panel .eve-combat-end-turn {
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Depth belongs BEHIND the art, never over it. EVE's shadow is in the character
   layer itself, below the sprite. */
#game-container.combat-mode #character-layer::before {
    left: 50% !important;
    bottom: -36px !important;
    width: 470px !important;
    height: 720px !important;
    transform: translateX(-50%) !important;
    border-radius: 50% !important;
    background:
        radial-gradient(ellipse at 58% 52%, rgba(0,0,0,.66) 0%, rgba(0,0,0,.42) 35%, rgba(0,0,0,.22) 56%, rgba(0,0,0,.08) 69%, transparent 81%),
        radial-gradient(ellipse at 54% 98%, rgba(0,0,0,.68) 0%, rgba(0,0,0,.34) 28%, transparent 55%) !important;
    filter: blur(14px) !important;
    opacity: .95 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Enemy backdrop is attached to the enemy SLOT with z-index below enemy art. */
#choice-container.eve-combat-panel .eve-combat-enemy-slot::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 12% !important;
    bottom: 120px !important;
    width: 78% !important;
    transform: translateX(-50%) !important;
    border-radius: 50% !important;
    background: radial-gradient(ellipse at 50% 52%, rgba(0,0,0,.31) 0%, rgba(0,0,0,.17) 40%, rgba(0,0,0,.07) 60%, transparent 79%) !important;
    filter: blur(11px) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-art,
#choice-container.eve-combat-panel .eve-combat-enemy-info,
#choice-container.eve-combat-panel .eve-combat-intent-panel {
    position: absolute !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-art { z-index: 2 !important; }
#choice-container.eve-combat-panel .eve-combat-enemy-info,
#choice-container.eve-combat-panel .eve-combat-intent-panel { z-index: 6 !important; }


/* v48: image skill icons. 1:1 art fills the rounded slot and is clipped by it. */
#choice-container.eve-combat-panel .eve-command-icon {
    overflow: hidden !important;
    border-radius: 9px !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-clip: padding-box !important;
}
#choice-container.eve-combat-panel .eve-combat-command.is-attack .eve-command-icon { background-image: url('assets/ui/combat/icons/combat_attack.png') !important; }
#choice-container.eve-combat-panel .eve-combat-command.is-defend .eve-command-icon { background-image: url('assets/ui/combat/icons/combat_defend.png') !important; }
#choice-container.eve-combat-panel .eve-combat-command.is-spread .eve-command-icon { background-image: url('assets/ui/combat/icons/combat_spread_shot.png') !important; }
#choice-container.eve-combat-panel .eve-combat-command.is-focused .eve-command-icon { background-image: url('assets/ui/combat/icons/combat_focused_shot.png') !important; }
#choice-container.eve-combat-panel .eve-combat-command.is-attack .eve-command-icon::before,
#choice-container.eve-combat-panel .eve-combat-command.is-attack .eve-command-icon::after,
#choice-container.eve-combat-panel .eve-combat-command.is-defend .eve-command-icon::before,
#choice-container.eve-combat-panel .eve-combat-command.is-defend .eve-command-icon::after,
#choice-container.eve-combat-panel .eve-combat-command.is-spread .eve-command-icon::before,
#choice-container.eve-combat-panel .eve-combat-command.is-spread .eve-command-icon::after,
#choice-container.eve-combat-panel .eve-combat-command.is-focused .eve-command-icon::before,
#choice-container.eve-combat-panel .eve-combat-command.is-focused .eve-command-icon::after { display: none !important; }

/* ========================================================================== 
   v52 — code-only combat VFX pass
   External art is not required for these effects. Fixed 1920x1080 combat HUD.
   ========================================================================== */

/* HP changes land on impact and glide instead of snapping. */
#choice-container.eve-combat-panel .eve-combat-eve-hp > span,
#choice-container.eve-combat-panel .eve-combat-enemy-hp > span {
    transition: width .46s cubic-bezier(.18,.72,.18,1) !important;
    will-change: width !important;
}
#choice-container.eve-combat-panel .eve-combat-eve-info.is-hp-hit,
#choice-container.eve-combat-panel .eve-combat-enemy-info.is-hp-hit {
    animation: eve-combat-hp-panel-hit-v52 .46s ease-out !important;
}
@keyframes eve-combat-hp-panel-hit-v52 {
    0%,100% { box-shadow:0 16px 38px rgba(0,0,0,.34), inset 0 0 28px rgba(80,190,235,.035); }
    42% { box-shadow:0 16px 38px rgba(0,0,0,.38), 0 0 20px rgba(255,105,105,.18), inset 0 0 24px rgba(255,110,110,.075); }
}

/* More readable hit numbers: large face, black outline, short pop + linger. */
#choice-container.eve-combat-panel .eve-combat-floating-number {
    font-family: "Arial Black", "Noto Sans KR", system-ui, sans-serif !important;
    font-size: 44px !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    -webkit-text-stroke: 2.5px rgba(6,8,12,.92) !important;
    paint-order: stroke fill !important;
    text-shadow: 0 4px 9px rgba(0,0,0,.90), 0 0 16px currentColor !important;
    animation: eve-combat-float-v52 1.28s cubic-bezier(.14,.74,.2,1) forwards !important;
}
#choice-container.eve-combat-panel .eve-combat-floating-number.is-damage {
    color:#fff0d8 !important;
    font-size:46px !important;
}
#choice-container.eve-combat-panel .eve-combat-floating-number.is-damage-heavy {
    color:#fff4e6 !important;
    font-size:62px !important;
    -webkit-text-stroke:3px rgba(31,8,4,.96) !important;
    text-shadow:0 4px 10px rgba(0,0,0,.94),0 0 15px rgba(255,116,72,.72),0 0 34px rgba(255,174,96,.40) !important;
}
#choice-container.eve-combat-panel .eve-combat-floating-number.is-damage-eve {
    color:#ff807b !important;
    font-size:48px !important;
}
#choice-container.eve-combat-panel .eve-combat-floating-number.is-damage-eve-heavy {
    color:#ff665f !important;
    font-size:58px !important;
    -webkit-text-stroke:3px rgba(24,3,4,.96) !important;
}
#choice-container.eve-combat-panel .eve-combat-floating-number.is-guard {
    color:#9feaff !important;
    font-size:24px !important;
    letter-spacing:.09em !important;
    -webkit-text-stroke:1.5px rgba(4,19,29,.94) !important;
}
#choice-container.eve-combat-panel .eve-combat-floating-number.is-output,
#choice-container.eve-combat-panel .eve-combat-floating-number.is-output-spend,
#choice-container.eve-combat-panel .eve-combat-floating-number.is-status,
#choice-container.eve-combat-panel .eve-combat-floating-number.is-charge {
    -webkit-text-stroke:1.4px rgba(5,9,15,.90) !important;
}
#choice-container.eve-combat-panel .eve-combat-floating-number.is-charge {
    color:#ffc66d !important;
    font-size:36px !important;
    font-weight:1000 !important;
    letter-spacing:.11em !important;
    -webkit-text-stroke:2px rgba(35,13,3,.96) !important;
    text-shadow:0 5px 12px rgba(0,0,0,.94),0 0 16px rgba(255,157,63,.88),0 0 36px rgba(255,191,91,.46) !important;
    animation:eve-combat-charge-float-v53 1.50s cubic-bezier(.16,.72,.22,1) forwards !important;
}
@keyframes eve-combat-charge-float-v53 {
    0%   { opacity:0; transform:translate(-50%,-30%) scale(.72); }
    10%  { opacity:1; transform:translate(-50%,-48%) scale(1.22); }
    22%  { opacity:1; transform:translate(-50%,-58%) scale(1); }
    78%  { opacity:1; transform:translate(-50%,-72%) scale(1); }
    100% { opacity:0; transform:translate(-50%,-90%) scale(.94); }
}
@keyframes eve-combat-float-v52 {
    0% { opacity:0; transform:translate(-50%,-20%) scale(.55); }
    10% { opacity:1; transform:translate(-50%,-42%) scale(1.28); }
    22% { transform:translate(-50%,-58%) scale(.98); }
    70% { opacity:1; transform:translate(-50%,-102%) scale(1); }
    100% { opacity:0; transform:translate(-50%,-162%) scale(.90); }
}

/* Dedicated transparent VFX layer. The command panel remains above/untouched. */
#choice-container.eve-combat-panel .eve-combat-fx {
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    right:420px !important;
    bottom:0 !important;
    z-index:24 !important;
    overflow:visible !important;
    pointer-events:none !important;
    contain:layout style !important;
}
#choice-container.eve-combat-panel .eve-combat-fx > span {
    position:absolute;
    display:block;
    pointer-events:none;
    box-sizing:border-box;
}

/* Muzzle pulse */
#choice-container.eve-combat-panel .eve-vfx-muzzle {
    width:50px;
    height:50px;
    margin:-25px 0 0 -25px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.98) 0 10%,rgba(132,226,255,.88) 14%,rgba(60,185,255,.30) 42%,transparent 70%);
    box-shadow:0 0 18px rgba(90,211,255,.84),0 0 40px rgba(46,154,255,.34);
    animation:eve-vfx-muzzle-v52 .34s ease-out forwards;
}
#choice-container.eve-combat-panel .eve-vfx-muzzle.is-focused {
    width:86px;
    height:86px;
    margin:-43px 0 0 -43px;
    background:radial-gradient(circle,rgba(255,255,255,1) 0 8%,rgba(170,239,255,.95) 13%,rgba(117,170,255,.38) 38%,transparent 68%);
    box-shadow:0 0 22px rgba(153,232,255,.95),0 0 54px rgba(104,129,255,.44);
}
@keyframes eve-vfx-muzzle-v52 {
    0% { opacity:0; transform:scale(.25); }
    28% { opacity:1; transform:scale(1.25); }
    100% { opacity:0; transform:scale(.72); }
}

/* Basic/spread energy projectiles. Motion path is supplied by JS. */
#choice-container.eve-combat-panel .eve-vfx-projectile {
    width:74px;
    height:10px;
    transform-origin:center right;
    border-radius:999px;
    background:linear-gradient(90deg,transparent 0%,rgba(78,195,255,.18) 12%,rgba(125,225,255,.70) 54%,rgba(255,255,255,1) 100%);
    box-shadow:0 0 8px rgba(121,222,255,.78),0 0 20px rgba(65,170,255,.44);
    filter:drop-shadow(0 0 7px rgba(95,211,255,.72));
}
#choice-container.eve-combat-panel .eve-vfx-projectile::after {
    content:"";
    position:absolute;
    right:-5px;
    top:50%;
    width:14px;
    height:14px;
    transform:translateY(-50%);
    border-radius:50%;
    background:#f7fdff;
    box-shadow:0 0 12px #8de8ff,0 0 28px rgba(93,194,255,.84);
}
#choice-container.eve-combat-panel .eve-vfx-projectile.is-spread {
    width:60px;
    height:7px;
    opacity:.94;
}

/* Impact ring + sparks */
#choice-container.eve-combat-panel .eve-vfx-impact-ring {
    width:28px;
    height:28px;
    margin:-14px 0 0 -14px;
    border:3px solid rgba(174,239,255,.96);
    border-radius:50%;
    box-shadow:0 0 12px rgba(120,225,255,.92),inset 0 0 12px rgba(150,235,255,.42);
    animation:eve-vfx-impact-ring-v52 .46s ease-out forwards;
}
#choice-container.eve-combat-panel .eve-vfx-impact-ring.is-heavy {
    width:54px;
    height:54px;
    margin:-27px 0 0 -27px;
    border-width:5px;
    border-color:rgba(238,250,255,1);
    box-shadow:0 0 18px rgba(132,225,255,1),0 0 44px rgba(109,124,255,.60),inset 0 0 18px rgba(255,255,255,.68);
    animation-duration:.62s;
}
#choice-container.eve-combat-panel .eve-vfx-impact-ring.is-eve,
#choice-container.eve-combat-panel .eve-vfx-impact-ring.is-heavy-eve {
    border-color:rgba(255,130,120,.92);
    box-shadow:0 0 18px rgba(255,104,96,.78),inset 0 0 13px rgba(255,196,178,.38);
}
#choice-container.eve-combat-panel .eve-vfx-impact-ring.is-guard {
    border-color:rgba(126,231,255,1);
    box-shadow:0 0 19px rgba(82,210,255,.92),0 0 42px rgba(65,166,255,.48),inset 0 0 18px rgba(155,240,255,.50);
}
@keyframes eve-vfx-impact-ring-v52 {
    0% { opacity:1; transform:scale(.28); }
    52% { opacity:.95; transform:scale(1.42); }
    100% { opacity:0; transform:scale(2.30); }
}
#choice-container.eve-combat-panel .eve-vfx-spark {
    width:34px;
    height:3px;
    margin:-1px 0 0 -2px;
    border-radius:999px;
    transform-origin:left center;
    background:linear-gradient(90deg,#fff,rgba(118,229,255,.88),transparent);
    box-shadow:0 0 8px rgba(96,217,255,.78);
    animation:eve-vfx-spark-v52 .48s ease-out forwards;
}
#choice-container.eve-combat-panel .eve-vfx-spark.is-heavy { width:52px; height:4px; animation-duration:.62s; }
#choice-container.eve-combat-panel .eve-vfx-spark.is-eve,
#choice-container.eve-combat-panel .eve-vfx-spark.is-heavy-eve {
    background:linear-gradient(90deg,#fff,rgba(255,112,99,.86),transparent);
    box-shadow:0 0 8px rgba(255,92,82,.72);
}
#choice-container.eve-combat-panel .eve-vfx-spark.is-guard {
    background:linear-gradient(90deg,#fff,rgba(111,228,255,.95),transparent);
}
@keyframes eve-vfx-spark-v52 {
    0% { opacity:1; transform:rotate(var(--spark-r)) translate(0,0) scaleX(.25); }
    50% { opacity:1; }
    100% { opacity:0; transform:rotate(var(--spark-r)) translate(var(--spark-x),var(--spark-y)) scaleX(1); }
}

/* Focused-shot charge, converging particles and layered beam. */
#choice-container.eve-combat-panel .eve-vfx-focus-charge {
    width:82px;
    height:82px;
    margin:-41px 0 0 -41px;
    border:2px solid rgba(148,231,255,.86);
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.94) 0 7%,rgba(121,224,255,.32) 20%,rgba(96,120,255,.14) 48%,transparent 70%);
    box-shadow:0 0 16px rgba(133,226,255,.78),0 0 42px rgba(100,117,255,.38),inset 0 0 23px rgba(147,232,255,.24);
    animation:eve-vfx-focus-charge-v52 .40s ease-in forwards;
}
#choice-container.eve-combat-panel .eve-vfx-focus-charge::before,
#choice-container.eve-combat-panel .eve-vfx-focus-charge::after {
    content:"";
    position:absolute;
    inset:-12px;
    border:1px solid rgba(142,222,255,.54);
    border-radius:50%;
    animation:eve-vfx-focus-ring-v52 .40s linear infinite;
}
#choice-container.eve-combat-panel .eve-vfx-focus-charge::after { inset:-24px; opacity:.42; animation-direction:reverse; }
#choice-container.eve-combat-panel .eve-vfx-focus-particle {
    width:7px;
    height:7px;
    margin:-3px 0 0 -3px;
    border-radius:50%;
    background:#eefdff;
    box-shadow:0 0 9px rgba(111,226,255,.94);
    animation:eve-vfx-focus-particle-v52 .48s ease-in forwards;
}
#choice-container.eve-combat-panel .eve-vfx-focus-beam {
    height:18px;
    transform-origin:left center;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(115,194,255,.15),rgba(220,248,255,.96) 30%,#fff 50%,rgba(181,235,255,.96) 70%,rgba(100,132,255,.14));
    box-shadow:0 0 10px rgba(183,239,255,.94),0 0 28px rgba(91,188,255,.78),0 0 58px rgba(94,112,255,.46);
}
#choice-container.eve-combat-panel .eve-vfx-focus-beam::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:4px;
    transform:translateY(-50%);
    border-radius:999px;
    background:#fff;
    box-shadow:0 0 8px #fff,0 0 16px rgba(155,236,255,.92);
}
@keyframes eve-vfx-focus-charge-v52 { 0%{opacity:0;transform:scale(1.5)} 35%{opacity:1} 100%{opacity:1;transform:scale(.72)} }
@keyframes eve-vfx-focus-ring-v52 { to{transform:rotate(360deg)} }
@keyframes eve-vfx-focus-particle-v52 {
    0% { opacity:0; transform:translate(var(--focus-x),var(--focus-y)) scale(.4); }
    18% { opacity:1; }
    100% { opacity:0; transform:translate(0,0) scale(1.3); }
}
#choice-container.eve-combat-panel .eve-vfx-screen-flash {
    left:0 !important;
    top:0 !important;
    width:100% !important;
    height:100% !important;
    background:rgba(190,239,255,.24);
    mix-blend-mode:screen;
    animation:eve-vfx-screen-flash-v52 .34s ease-out forwards;
}
@keyframes eve-vfx-screen-flash-v52 { 0%{opacity:0} 20%{opacity:1} 100%{opacity:0} }

/* Enemy generic attack streak — enough to make the hit timing readable without art. */
#choice-container.eve-combat-panel .eve-vfx-enemy-slash {
    width:76px;
    height:12px;
    border-radius:999px;
    transform-origin:left center;
    background:linear-gradient(90deg,transparent,rgba(255,112,105,.66),rgba(255,242,230,.98));
    box-shadow:0 0 12px rgba(255,102,91,.68),0 0 28px rgba(255,82,73,.28);
}
#choice-container.eve-combat-panel .eve-vfx-enemy-slash.is-heavy { width:102px; height:17px; }

/* Shield: filled translucent energy barrier + mesh, with deploy and impact pulses. */
#game-container.combat-mode #character-layer.is-combat-guarding::after {
    bottom:58px !important;
    width:352px !important;
    height:566px !important;
    opacity:.94 !important;
    border:3px solid rgba(164,239,255,.94) !important;
    border-radius:50% 50% 46% 46% !important;
    background:
        radial-gradient(ellipse at 35% 24%,rgba(245,254,255,.28) 0 3%,rgba(165,241,255,.13) 9%,transparent 24%),
        radial-gradient(ellipse at 50% 47%,rgba(139,231,255,.22) 0%,rgba(91,199,255,.13) 38%,rgba(68,153,255,.075) 62%,transparent 82%),
        repeating-linear-gradient(60deg,rgba(160,236,255,.075) 0 1px,transparent 1px 34px),
        repeating-linear-gradient(-60deg,rgba(160,236,255,.065) 0 1px,transparent 1px 34px),
        repeating-linear-gradient(0deg,rgba(160,236,255,.045) 0 1px,transparent 1px 30px) !important;
    box-shadow:
        inset 22px 0 42px rgba(139,235,255,.10),
        inset -22px 0 42px rgba(69,150,255,.09),
        inset 0 0 72px rgba(112,225,255,.20),
        0 0 14px rgba(176,243,255,.72),
        0 0 36px rgba(78,205,255,.40),
        0 0 78px rgba(55,132,255,.23) !important;
    backdrop-filter:none !important;
    filter:drop-shadow(0 0 13px rgba(126,225,255,.38)) !important;
    animation:eve-combat-guard-breathe-v53 1.08s ease-in-out infinite alternate !important;
}
#game-container.combat-mode #character-layer.is-combat-guard-enter::after {
    animation:eve-combat-guard-enter-v53 .52s cubic-bezier(.13,.78,.16,1) forwards !important;
}
#game-container.combat-mode #character-layer.is-combat-guard-hit::after {
    animation:eve-combat-guard-hit-v53 .40s ease-out forwards !important;
}
@keyframes eve-combat-guard-breathe-v53 {
    from { transform:translateX(-50%) scale(.976); opacity:.76; filter:brightness(.96) drop-shadow(0 0 8px rgba(116,220,255,.26)); }
    to   { transform:translateX(-50%) scale(1); opacity:.96; filter:brightness(1.10) drop-shadow(0 0 18px rgba(116,220,255,.48)); }
}
@keyframes eve-combat-guard-enter-v53 {
    0%   { transform:translateX(-50%) scale(.62,.82); opacity:0; filter:brightness(1.8) blur(2px); }
    38%  { opacity:.82; }
    68%  { transform:translateX(-50%) scale(1.035,1.015); opacity:1; filter:brightness(1.32) blur(0); }
    100% { transform:translateX(-50%) scale(1); opacity:.94; filter:brightness(1); }
}
@keyframes eve-combat-guard-hit-v53 {
    0%   { transform:translateX(-50%) scale(1); opacity:.94; filter:brightness(1); }
    22%  { transform:translateX(-50%) scale(1.045,1.025); opacity:1; filter:brightness(2.45); box-shadow:inset 0 0 90px rgba(214,254,255,.52),0 0 42px rgba(133,238,255,.88),0 0 96px rgba(67,151,255,.42); }
    52%  { transform:translateX(-50%) scale(.992,1.006); opacity:.98; filter:brightness(1.32); }
    100% { transform:translateX(-50%) scale(1); opacity:.94; filter:brightness(1); }
}

/* One-shot deploy bloom makes the barrier materialize as a surface rather than a line. */
#choice-container.eve-combat-panel .eve-vfx-shield-deploy {
    width:358px;
    height:574px;
    margin:-287px 0 0 -179px;
    border-radius:50% 50% 46% 46%;
    border:3px solid rgba(194,248,255,.98);
    background:
        radial-gradient(ellipse at 38% 28%,rgba(255,255,255,.42),rgba(171,242,255,.16) 12%,transparent 30%),
        radial-gradient(ellipse at center,rgba(138,231,255,.28),rgba(83,180,255,.11) 56%,transparent 80%);
    box-shadow:inset 0 0 82px rgba(154,240,255,.30),0 0 22px rgba(177,245,255,.88),0 0 64px rgba(74,192,255,.52),0 0 112px rgba(70,116,255,.22);
    mix-blend-mode:screen;
    animation:eve-vfx-shield-deploy-v53 .56s cubic-bezier(.12,.77,.17,1) forwards;
}
#choice-container.eve-combat-panel .eve-vfx-shield-deploy::before,
#choice-container.eve-combat-panel .eve-vfx-shield-deploy::after {
    content:"";
    position:absolute;
    inset:9%;
    border-radius:inherit;
    border:1px solid rgba(210,250,255,.62);
    box-shadow:inset 0 0 32px rgba(147,235,255,.20);
}
#choice-container.eve-combat-panel .eve-vfx-shield-deploy::after { inset:18%; opacity:.48; }
@keyframes eve-vfx-shield-deploy-v53 {
    0%   { opacity:0; transform:scale(.58,.78); filter:brightness(2.2) blur(3px); }
    38%  { opacity:1; }
    70%  { transform:scale(1.045,1.018); filter:brightness(1.45) blur(0); }
    100% { opacity:0; transform:scale(1); filter:brightness(1); }
}

/* Stronger, very brief hit flash while retaining the existing standing-art position. */
#game-container.combat-mode #character-layer.is-combat-eve-hit {
    animation:eve-combat-eve-hit-v52 .36s ease-out !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-art.is-combat-hit-light {
    animation:eve-combat-enemy-hit-light-v52 .36s ease-out !important;
}
#choice-container.eve-combat-panel .eve-combat-enemy-art.is-combat-hit-heavy {
    animation:eve-combat-enemy-hit-heavy-v52 .50s ease-out !important;
}
@keyframes eve-combat-eve-hit-v52 {
    0% { transform:translateX(0); filter:brightness(1) saturate(1); }
    18% { transform:translateX(-14px); filter:brightness(2.05) saturate(.55) sepia(.15); }
    42% { transform:translateX(9px); filter:brightness(1.15) saturate(1.2); }
    68% { transform:translateX(-4px); }
    100% { transform:translateX(0); filter:brightness(1) saturate(1); }
}
@keyframes eve-combat-enemy-hit-light-v52 {
    0% { transform:translateX(-50%); filter:brightness(1) saturate(1); }
    20% { transform:translateX(calc(-50% + 14px)); filter:brightness(2.15) saturate(.55); }
    48% { transform:translateX(calc(-50% - 8px)); filter:brightness(1.12) saturate(1.2); }
    100% { transform:translateX(-50%); filter:brightness(1) saturate(1); }
}
@keyframes eve-combat-enemy-hit-heavy-v52 {
    0% { transform:translateX(-50%) scale(1); filter:brightness(1) saturate(1); }
    18% { transform:translateX(calc(-50% + 22px)) scale(1.035); filter:brightness(2.55) saturate(.45); }
    42% { transform:translateX(calc(-50% - 14px)) scale(.985); filter:brightness(1.15) saturate(1.25); }
    68% { transform:translateX(calc(-50% + 6px)) scale(1.01); }
    100% { transform:translateX(-50%) scale(1); filter:brightness(1) saturate(1); }
}

/* OUTPUT cells visibly light / extinguish as the numeric state changes. */
#choice-container.eve-combat-panel .eve-combat-output-cell {
    transition:background-color .20s ease,box-shadow .24s ease,border-color .20s ease,transform .20s ease !important;
}
#choice-container.eve-combat-panel .eve-combat-output-cell.is-filled {
    transform:scale(1.04) !important;
}
