/* V15.9 World Explorer Edition */
.world-explorer-spotlight { margin-top: 24px; }
.world-spotlight-grid { display:grid; grid-template-columns: 0.95fr 1.05fr; gap:18px; align-items:stretch; }
.world-spotlight-card, .world-panel, .dashboard-card, .story-choice, .journey-shell, .zone-panel {
  background: rgba(255,255,255,0.92); border-radius: 24px; border:1px solid rgba(37,95,137,0.14);
  box-shadow: 0 12px 24px rgba(25,74,120,0.08); padding: 22px;
}
.world-mini-map, .world-map-canvas {
  position:relative; min-height: 320px; border-radius: 28px; overflow:hidden;
  background: linear-gradient(180deg, rgba(196,234,255,0.98), rgba(229,247,255,0.98));
  border: 1px solid rgba(37,95,137,0.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
}
.world-mini-map::before, .world-map-canvas::before {
  content:''; position:absolute; inset:0; background:
    radial-gradient(circle at 18% 24%, rgba(255,255,255,0.95) 0 42px, transparent 43px),
    radial-gradient(circle at 28% 21%, rgba(255,255,255,0.95) 0 30px, transparent 31px),
    radial-gradient(circle at 76% 16%, rgba(255,255,255,0.95) 0 48px, transparent 49px),
    radial-gradient(circle at 84% 19%, rgba(255,255,255,0.95) 0 32px, transparent 33px),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.18));
  pointer-events:none;
}
.map-zone {
  position:absolute; display:flex; align-items:center; justify-content:center; text-align:center;
  text-decoration:none; color:#123c60; font-weight:800; line-height:1.2; padding:14px 16px;
  border-radius:20px; background: rgba(255,255,255,0.9); border:1px solid rgba(37,95,137,0.15);
  box-shadow: 0 10px 20px rgba(25,74,120,0.08); transition: transform .2s ease, box-shadow .2s ease;
}
.map-zone:hover, .map-zone:focus { transform: translateY(-3px) scale(1.02); box-shadow:0 14px 28px rgba(25,74,120,0.14); }
.zone-training { left:6%; top:50%; width:24%; min-height:96px; }
.zone-clouds { left:34%; top:22%; width:28%; min-height:92px; }
.zone-storm { right:6%; top:18%; width:24%; min-height:102px; background: linear-gradient(180deg, rgba(50,58,96,0.95), rgba(87,101,150,0.95)); color:#fff; }
.zone-tower { left:42%; bottom:13%; width:19%; min-height:106px; }
.zone-runway { right:10%; bottom:14%; width:24%; min-height:86px; }
.world-layout, .zone-grid, .dashboard-grid, .knowledge-grid, .story-grid { display:grid; gap:18px; }
.world-layout { grid-template-columns: 1.05fr 0.95fr; }
.zone-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.dashboard-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.knowledge-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.story-grid { grid-template-columns: 1.15fr 0.85fr; align-items:start; }
.world-stat-strip { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px; margin-top:18px; }
.world-stat { background:#fff; border-radius:18px; padding:14px; border:1px solid rgba(37,95,137,0.12); }
.world-stat strong { display:block; color:#123c60; font-size:1.15rem; }
.zone-panel h4, .dashboard-card h4, .story-choice h4 { margin-bottom:10px; }
.zone-panel p, .dashboard-card p, .story-choice p { color:#416781; }
.dashboard-meter { display:flex; align-items:end; gap:10px; min-height:120px; margin-top:18px; }
.dashboard-meter span { display:block; flex:1; border-radius:16px 16px 8px 8px; background:linear-gradient(180deg, rgba(57,133,221,0.9), rgba(20,96,170,0.95)); min-height:36px; }
.dashboard-term { margin-top:12px; font-weight:700; color:#1d5c89; }
.story-choice-list { display:grid; gap:12px; margin-top:18px; }
.story-choice button { width:100%; text-align:left; border:none; background:#fff; cursor:pointer; }
.story-result { min-height:180px; display:grid; align-content:start; gap:12px; }
.story-result-badge { display:inline-flex; width:max-content; padding:10px 14px; border-radius:999px; background:rgba(255,138,43,0.14); color:#a65711; font-weight:800; }
.choice-feedback { padding:14px 16px; border-radius:18px; background:rgba(37,95,137,0.08); border:1px solid rgba(37,95,137,0.12); }
.journey-modal { position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(8,18,36,0.58); }
.journey-modal.is-open { display:flex; }
.journey-shell { position:relative; width:min(640px, 100%); }
.journey-close { position:absolute; right:16px; top:14px; border:none; background:none; font-size:1.8rem; cursor:pointer; color:#1a4b76; }
.journey-label { display:grid; gap:8px; margin-top:16px; }
.journey-label input { padding:12px 14px; border-radius:14px; border:1px solid rgba(37,95,137,0.15); font:inherit; }
.journey-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.journey-tips { margin:18px 0 0; padding-left:18px; color:#416781; }
.world-tip { margin-top:14px; padding:14px 16px; border-radius:18px; background:rgba(37,95,137,0.08); color:#255f89; font-weight:700; }
.zone-jump-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.zone-jump-links a { text-decoration:none; font-weight:700; color:#255f89; background:#fff; border-radius:999px; padding:10px 14px; border:1px solid rgba(37,95,137,0.12); }
@media (max-width: 1000px) {
  .world-spotlight-grid, .world-layout, .story-grid, .dashboard-grid, .knowledge-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .zone-grid { grid-template-columns: 1fr; }
  .world-stat-strip { grid-template-columns: 1fr; }
  .map-zone { position:static; width:auto !important; min-height:unset; margin:12px; }
  .world-mini-map, .world-map-canvas { display:grid; padding:16px; }
}
