/* Phase 8.9 map-only refinements. Geometry and battle styles stay in their original files. */
.home89 .map89-section{padding:16px 12px}
.home89 .map89-board{width:min(100%,744px)}
.home89 .map89-region{width:172px;min-width:0;min-height:0;padding:8px 10px;gap:2px;line-height:1.3;border-radius:18px;background:#fffef7;box-shadow:0 4px 0 #3d746229;isolation:isolate}
.home89 .map89-face{position:relative;display:block;flex:none;width:76px;height:76px;border:3px solid #fff;border-radius:50%;background:linear-gradient(145deg,#fdf6cd,#dcf3e8);box-shadow:0 0 0 2px #79ad9d;margin:0 auto 4px}
.home89 .map89-face img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.home89 .map89-crown{position:absolute;right:-9px;top:-9px;width:28px;height:25px;filter:drop-shadow(0 1px 1px #fff);overflow:visible}
.home89 .map89-region strong{font-size:21px;line-height:1.25;white-space:nowrap}
.home89 .map89-master-name{display:block;color:#285b60;font-size:17px;font-weight:700;line-height:1.35;white-space:nowrap}
.home89 .map89-region small{font-size:13px;line-height:1.3;margin:0;color:#526d64}
.home89 .map89-region:hover{background:#fff2b0}
.home89 .map89-region.is-complete{background:#fff2bc;border-color:#b79228}
.home89 .map89-common{max-width:744px;margin:auto;gap:12px;padding:12px 18px}
.home89 .map89-common .map89-region{width:260px;min-width:0;display:grid;grid-template-columns:68px minmax(0,1fr);column-gap:12px;text-align:left}
.home89 .map89-common .map89-face{grid-row:1/4;width:64px;height:64px;margin:0}
.home89 .map89-common .map89-region strong{font-size:19px}
.home89 .map89-common .map89-master-name::before{content:'MASTER：';font-size:12px;display:block;font-weight:400}
.home89 .map89-legend{text-align:center;font-size:14px;color:#68531e;margin:8px 0 12px}
@media(max-width:600px){
 .home89 .map89-section{padding:14px 6px}
 .home89 .map89-region{width:104px;padding:3px;gap:0;border-radius:12px}
 .home89 .map89-face{width:36px;height:36px;border-width:2px;margin-bottom:1px;box-shadow:0 0 0 1px #79ad9d}
 .home89 .map89-board .map89-crown{width:20px;height:18px;right:-7px;top:-5px}
 .home89 .map89-region strong{font-size:16px;line-height:1.2}
 .home89 .map89-master-name{font-size:13px;line-height:1.2;letter-spacing:0}
 .home89 .map89-board .map89-region small{display:none}
 .home89 .map89-common{padding:10px;gap:8px}
 .home89 .map89-common .map89-region{width:100%;max-width:300px;padding:8px 12px}
 .home89 .map89-common .map89-face{width:64px;height:64px}
 .home89 .map89-common .map89-master-name{font-size:16px}
}

/* Mystery cards and a transient, click-through guide anchored to the region itself. */
.home89 .map89-common .map89-region{position:relative}
.home89 .map89-face img.map89-mystery{background:#172952;object-fit:contain}
.home89 .map89-region .training89-guide{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);z-index:5;pointer-events:none;background:#ffe171;color:#30230c;border:2px solid #b67a0e;border-radius:12px;padding:7px 12px;box-shadow:0 3px 10px #5a3a1b44;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.3;animation:training89-guide-fade 1.8s ease both}
.home89 .training89-guide::after{content:'';position:absolute;left:calc(50% - 6px);bottom:-7px;width:10px;height:10px;transform:rotate(45deg);background:#ffe171;border-right:2px solid #b67a0e;border-bottom:2px solid #b67a0e}
@keyframes training89-guide-fade{0%{opacity:0}10%,85%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.home89 .map89-region .training89-guide{animation:none}}
