/* V53 marine framing. No scene, targeting, hit-box, ownership or payment changes. */
:where(#pvp-panel,#team-panel,#contacts-panel,#contracts-board,#vip-panel),#modalContent:has(#arena-match,.training-coach){
 --feature-card:linear-gradient(150deg,#294b73,#172f50);
 --feature-button:linear-gradient(#355d86,#23476b 50%,#1a3658);
 --feature-mint:linear-gradient(#d9ffdc,#94e8c8 48%,#65bfb4);
 --feature-rim:#9bbdd5a6;
 --feature-shadow:inset 0 1px 1px #d9f4ff4d,inset 0 -2px 0 #071b3a88,0 3px 0 #081d3c88,0 7px 15px #041a3033;
 --feature-raised:inset 0 1px #d1f1ff55,inset 0 -2px #071c3880,0 3px 0 #0a2140,0 5px 9px #041a3033;
 --feature-mint-raised:inset 0 2px #f2ffe8,0 3px 0 #245668,0 5px 9px #041a3033;
 --coast-card:var(--feature-card);--coast-card-shadow:var(--feature-shadow);
}
#modal:has(#pvp-panel,#team-panel,#contacts-panel,#contracts-board,#vip-panel,#arena-match,.training-coach){--coast-enamel:linear-gradient(150deg,#28496f,#162f50 55%,#10263f);border-color:#9cbbd0a8}
/* Shared card rules already consume --coast-card for arena tickets/intent,
   team lobby, contact person/active and VIP offer; no duplicate face rules needed. */
#pvp-panel .pvp-stats>div,#pvp-panel .pvp-wait,#pvp-panel .pvp-result,
#team-panel .team-party,
#contacts-panel .contacts-request,#contacts-panel .contacts-objective,#contacts-panel .contacts-finish,
#contracts-board .contracts-hero,#contracts-board .contract-card,#contracts-board .contracts-weekly{
 background:var(--feature-card);box-shadow:var(--feature-shadow);
}
#pvp-panel .pvp-stats>div,#pvp-panel .pvp-wait,#team-panel .team-party,
#contacts-panel .contacts-request,#contacts-panel .contacts-objective,#contacts-panel .contacts-finish,
#contracts-board .contract-card{border-color:var(--feature-rim)}
#contacts-panel .contacts-person,#contacts-panel .contacts-active,#team-panel .team-lobby,#vip-panel .vip-offer{border-color:var(--feature-rim)}
#contacts-panel .contacts-card-copy h3,#contacts-panel .contacts-request h3,#contracts-board .contract-card h4{color:#f3f4e9}
#contacts-panel .contacts-card-copy p,#contacts-panel .contacts-objective p{color:#c2d7e7}
/* Entry and information actions: not surrender, payment, target or HP controls. */
#modalContent:has(.training-coach) #arena-start,
#pvp-panel #pvp-queue,#pvp-panel #pvp-create,
#contacts-panel .contacts-active .primary,#contacts-panel .contacts-request .primary{
 --coast-paper:var(--feature-mint);--coast-raised:var(--feature-mint-raised);--coast-ink:#123548;
}
#team-panel #team-queue,#team-panel #team-account{background:var(--feature-mint)!important;color:#123548!important;border-color:#d9ffe5;box-shadow:var(--feature-mint-raised)}
#contracts-board .contract-card .claim,#contracts-board #contracts-weekly-claim{background:var(--feature-mint);border-color:#d9ffe5;color:#123548;box-shadow:var(--feature-mint-raised)}
#vip-panel .vip-tabs button{background:var(--feature-button);border-color:var(--feature-rim);box-shadow:var(--feature-raised);color:#d6e5f1}
#vip-panel .vip-tabs button[aria-pressed=true]{background:var(--feature-mint);border-color:#d9ffe5;box-shadow:var(--feature-mint-raised);color:#123548}
/* Action colors encode choice, not HP or winner state. Existing words/key hints
   remain intact; none is presented as the always-correct action. */
#arena-match [data-fight="attack"],#pvp-panel [data-pvp-move="attack"],#team-panel [data-team-move="attack"]{--move-face:linear-gradient(#865840,#734634);--move-ink:#fff2db;--move-rim:#e7b18d}
#arena-match [data-fight="guard"],#pvp-panel [data-pvp-move="guard"],#team-panel [data-team-move="guard"]{--move-face:linear-gradient(#326780,#24536f);--move-ink:#ecf9ff;--move-rim:#9cd4e6}
#arena-match [data-fight="counter"],#pvp-panel [data-pvp-move="counter"],#team-panel [data-team-move="counter"]{--move-face:linear-gradient(#65577b,#51476c);--move-ink:#fff1ff;--move-rim:#c9b5e1}
#arena-match [data-fight],#pvp-panel [data-pvp-move]{--coast-button:var(--move-face);--coast-text:var(--move-ink);--coast-dark-raised:var(--feature-raised);border-top:2px solid var(--move-rim)}
/* Team actions have literal important faces in their original feature sheet. */
#team-panel .team-actions [data-team-move]{background:var(--move-face)!important;color:var(--move-ink)!important;border-top:2px solid var(--move-rim);box-shadow:var(--feature-raised)}
#arena-match [data-fight] small,#pvp-panel [data-pvp-move] small{color:#e4e9ed}
/* New chrome does not animate active combat or introduce perpetual effects. */
#contracts-board .contract-card .claim:focus-visible,#contracts-board #contracts-weekly-claim:focus-visible,#vip-panel .vip-tabs button:focus-visible{outline:3px solid #f5df9d;outline-offset:3px}
