/* Shared account and battle presentation. */
.collectionTools{margin:16px 0;padding:16px;border:1px solid #58716f;border-radius:12px;background:#10242be8}.collectionQuick{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.collectionQuick label{display:flex;align-items:center;gap:8px;font-size:14px}.collectionQuick button,.savedTeams button{min-height:42px}.collectionQuick select,.savedTeams input,.savedTeams select{background:#091921;color:#eef2e9;border:1px solid #65807e;border-radius:6px;padding:9px;font:inherit;max-width:100%}.savedTeams{margin-top:14px}.savedTeams summary{cursor:pointer;color:#e5cb99}.savedTeams p{color:#c5d4d0;line-height:1.55;font-size:14px}.savedTeamList{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}.savedTeamList article{padding:12px;border:1px solid #596d6c;border-radius:8px}.savedTeamList small{display:block;margin:8px 0;color:#c3d5ce}.savedTeamList button{margin:3px}.savedTeams form>label,.teamSelectors label{display:grid;gap:6px}.teamSelectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.heroComparison{overflow:auto}.heroComparison table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}.heroComparison caption{padding:10px;text-align:left;color:#b8cdcb}.heroComparison th,.heroComparison td{padding:9px 12px;border-bottom:1px solid #4b686766;text-align:left}.heroComparison thead{color:#ead4a7}.heroNextStep{display:grid;gap:6px;padding:12px;margin-top:12px;border-left:3px solid #d4be88;background:#21383d}.heroNextStep small{color:#bfd5d0}
.progressRoadmap{display:grid;grid-template-columns:minmax(200px,1fr) 1.4fr;gap:20px;padding:20px;margin:20px 0;border:1px solid #8b815e;border-radius:12px;background:linear-gradient(120deg,#1c3239,#10222c)}.progressRoadmap h3{margin:8px 0;color:#ecd5a3;font:25px Georgia,serif}.progressRoadmap p{line-height:1.6;color:#d0ded8}.progressRoadmap progress{display:block;width:100%;height:8px;margin:12px 0;accent-color:#d0b577}.modeMilestones{display:grid;gap:8px}.modeMilestones article{padding:10px 12px;border:1px solid #5e777566;border-radius:8px}.modeMilestones small{display:block;margin-top:6px;line-height:1.5;color:#bfd3ce}.modeMilestones .earned{border-color:#7bb896;color:#b6dfc6}.arenaOptionBody .modeRewardPreview{font-size:12px;color:#e6c985;border-left:2px solid #a99568;padding-left:9px}
.operationView{max-width:1140px;margin:0 auto;padding:20px 16px 80px;color:#e6eeea;font-family:system-ui,sans-serif}.operationView[hidden]{display:none!important}.operationHeading{display:flex;justify-content:space-between;align-items:center;gap:16px}.operationHeading h1{font:clamp(26px,4vw,38px)/1.2 Georgia,serif;color:#f0d39b}.operationObjective,.operationCommands,.operationCamp,.operationResult{border:1px solid #617776;border-radius:12px;background:#10232eef;padding:16px;margin:14px 0}.operationObjective p{line-height:1.6;font-size:14px;color:#ceddd8;margin-bottom:0}.operationTrack{display:flex;justify-content:space-between;gap:10px}.operationTrack span{border:1px solid #6b7975;border-radius:9px;padding:8px 14px;text-align:center;flex:1}.operationTrack small{display:block;font-size:11px}.operationTrack .current{border-color:#e7c482;color:#ffe0a2;background:#6d57294d}.operationTrack .done,.convoyTrack .done{color:#b2ddbf}.convoyTrack{position:relative;display:flex;justify-content:space-between;padding:34px 4px 9px;border-bottom:3px solid #a69568;margin-bottom:14px;isolation:isolate}.convoyMarker{position:absolute;top:0;left:clamp(8px,var(--progress),calc(100% - 22px));font-size:26px;color:#e9c77b;transition:left .6s ease}.convoyTrack>span:not(.convoyMarker){font-size:12px}.operationHealth{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}.operationHealth progress{height:9px;flex:1;accent-color:#85c7a6}.fortressParts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fortressParts button{display:grid;gap:7px;padding:12px;color:#eee2c8;background:#21333d;border:1px solid #758b83;border-radius:10px;min-width:0}.fortressParts progress{width:100%;height:7px;accent-color:#d2b37a}.fortressParts [aria-pressed=true]{outline:2px solid #e5c386}.fortressParts .destroyed{opacity:.55;filter:grayscale(1)}
.operationBattle{background:linear-gradient(#09131c44,#09131ca8),var(--operation-scene) center/cover;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:end;min-height:320px;border-radius:12px;padding:60px 16px 20px;border:1px solid #8b795a}.operationTeam{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.operationUnit{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px;background:#0a18279c;border:1px solid #72878270;border-radius:9px;min-width:0;color:#f3ecdb;text-align:center}.operationUnit img{height:145px;width:100%;object-fit:cover;object-position:top;border-radius:6px}.operationUnit.cutout img{object-fit:contain}.operationUnit strong{font-size:12px;overflow-wrap:anywhere}.operationUnit small{font-size:10px;color:#d0dfd6}.operationUnit progress{width:100%;height:5px;accent-color:#8bcba6}.operationUnit[aria-pressed=true]{outline:2px solid #e6ca91;outline-offset:2px}.operationUnit.fallen{filter:grayscale(1);opacity:.35}.operationTeam.enemy .operationUnit.cutout img{transform:scaleX(-1)}.operationVersus{align-self:center;color:#e4cf9f;font:bold 15px Georgia,serif}.operationButtons{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.operationButtons button{min-height:44px;padding:9px 14px;flex:1;color:#f0e2c2;background:#233b44;border:1px solid #a58c5d;border-radius:7px;font-size:14px}.operationButtons button:disabled{opacity:.45;cursor:default}.operationCommands>p{margin:0 0 8px;color:#f4d49d}.operationCommands>small{color:#c6d8d2}.operationJournal{margin:18px 0;line-height:1.6}.operationJournal summary{cursor:pointer;color:#d8c295}.operationJournal p{font-size:13px;border-bottom:1px solid #65817a33;padding-bottom:8px}.operationRewardHint{font-size:12px;color:#d6c399;line-height:1.6}.operationRoster{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.operationRoster button{display:grid;gap:6px;min-width:0;background:#102733;color:#e9e9d6;border:1px solid #5e807e;border-radius:8px;padding:8px}.operationRoster img{height:135px;width:100%;object-fit:cover;object-position:top}.operationRoster [aria-pressed=true]{outline:2px solid #edd195}.operationRoster small{font-size:12px}.operationMode .onlineMobileNav{display:none}.operationResult h2{font:28px Georgia,serif;color:#edd0a1}.operationResult [data-reward]{padding:12px;border-left:3px solid #b7cd8f;background:#2f4a403d}
@media(max-width:700px){.progressRoadmap{grid-template-columns:1fr;padding:16px}.teamSelectors{grid-template-columns:1fr}.collectionQuick{align-items:stretch;flex-direction:column}.collectionQuick select{flex:1;min-width:0}.operationView{padding:10px 8px 40px}.operationHeading h1{font-size:25px}.operationHeading button{font-size:12px;padding:9px}.operationBattle{padding:35px 7px 12px;gap:6px;min-height:230px;grid-template-columns:1fr 1fr}.operationVersus{display:none}.operationTeam{gap:4px}.operationUnit{padding:3px;border-radius:5px}.operationUnit img{height:95px}.operationUnit strong{font-size:10px}.operationUnit small{font-size:9px}.operationRoster{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.operationRoster img{height:115px}.operationTrack{gap:4px}.operationTrack span{padding:6px 3px;font-size:13px}.operationTrack small{font-size:9px}.fortressParts{gap:6px}.fortressParts button{padding:8px 4px;font-size:12px}.operationButtons button{flex-basis:40%;font-size:13px}.operationObjective,.operationCommands,.operationCamp{padding:12px}.savedTeamList{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.convoyMarker{transition:none}}
.highContrast :is(.operationObjective,.operationCommands,.operationCamp,.operationResult,.collectionTools,.progressRoadmap){background:#071319;border-color:#e5d9b8;color:white}

/* Lectura de las acciones con los recursos existentes. */
.operationBattle{position:relative;isolation:isolate}
.operationUnit{position:relative}
.operationActionNotice{min-height:1.5em;color:#f1dba4;font-size:.9rem;line-height:1.4}
.operationDamage{position:absolute;z-index:8;left:50%;top:25%;transform:translateX(-50%);color:#fff0d1;text-shadow:0 2px 4px #000;font-size:1.3rem;pointer-events:none;animation:operationDamageRise .7s ease-out both}
@keyframes operationDamageRise{from{opacity:0;translate:0 10px}30%{opacity:1}to{opacity:0;translate:0 -32px}}
@media(prefers-reduced-motion:reduce){.operationDamage{animation:none}}
