/* Five separate maps keep all sixty encounters readable. */
.world-zones{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.wz-jump{min-width:0;padding:11px 8px;font-size:15px}.wz-jump small{font-size:12px}
.world-stage{background-size:1600px 1000px;background-repeat:no-repeat}
.world-stage.map-meadow{background-image:url('assets/exploration-map.png')}
.world-stage.map-forest,.world-stage.map-ice,.world-stage.map-harbor,.world-stage.map-stars{background-image:url('assets/regions-four.png');background-size:3200px 2000px}
.map-forest{background-position:left top}.map-ice{background-position:right top}.map-harbor{background-position:left bottom}.map-stars{background-position:right bottom}
.world-viewport[data-region="forest"] .world-weather{box-shadow:inset 0 0 70px #102e4140}
.world-viewport[data-region="ice"] .world-weather{box-shadow:inset 0 0 70px #193c5a50}
.world-viewport[data-region="stars"] .world-weather{box-shadow:inset 0 0 70px #38315650}
.world-viewport[data-region="ice"] .world-region,.world-viewport[data-region="stars"] .world-region{background:#293956e8;color:white}
.world-hero-art.hero-art.directional-hero{background-size:400% 800%;animation:none}
.party-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
.party-slot .spirit.large{width:90px;height:90px}.party-slot{padding:8px;min-height:145px}
.level-badge{display:inline-grid;grid-template-columns:auto auto;gap:3px 10px;align-items:center;background:#fff0cd;border:1px solid #e9cb87;color:#79603a;border-radius:13px;padding:8px 12px;font-size:12px;min-width:110px}
.level-badge b{font-size:18px}.level-badge i{height:4px;border-radius:4px;background:linear-gradient(to right,#e6a752 var(--progress),#dfd6bd var(--progress));grid-column:1/-1}
.chance-strip{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff3e4;border:1px solid #eddbc4;border-radius:15px;margin:10px 0}
.chance-strip strong{color:#eb845c;font-size:24px;letter-spacing:3px}.chance-strip .used{color:#d7d1c7}.chance-strip small{font-size:13px;letter-spacing:0;color:#675e52}
.failed-panel .spirit{display:block;margin:0 auto}.failed-panel h1{font-size:28px}
.done-score>.level-badge{display:inline-grid}.done-score>.level-badge b{font-size:26px}
.friend-grid{max-height:60vh;overflow:auto;align-content:start}.friend-grid .friend-tile{min-width:0}
@media(max-width:640px){.world-zones{display:flex;overflow-x:auto;padding:3px 3px 8px;scrollbar-width:thin}.wz-jump{flex:0 0 112px}.level-badge{padding:5px 7px;min-width:78px;gap:2px 5px}.level-badge b{font-size:15px}.level-badge span{font-size:10px}.header-right{gap:6px}.party-slot .spirit.large{width:70px;height:70px}.party-slot b{font-size:12px}.party-slots{gap:6px}.chance-strip{padding:8px 10px}.chance-strip strong{font-size:22px}.chance-strip small{font-size:12px}}

.collection-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.collection-tabs button{font-size:12px;padding:8px}.collection-tabs [aria-pressed="true"]{background:#e2efd7;border-color:#85a974}.encounter-rule{font-size:12px;color:#6b7480;margin:0 0 14px}.wc-name{white-space:nowrap}
.puzzle-diagram{max-width:460px;margin:10px auto}.puzzle-diagram svg{width:100%;max-height:185px}.puzzle-diagram path,.puzzle-diagram polygon,.puzzle-diagram rect,.puzzle-diagram polyline{fill:#e6efd9;stroke:#66908a;stroke-width:2}.puzzle-diagram text{fill:#354c5c;font:14px Pretendard,sans-serif}.puzzle-diagram .dashed{fill:none;stroke-dasharray:5 4}.tile-stages,.dock-diagram,.flag-palette{display:flex;justify-content:center;gap:12px;margin:14px 0}.tile-stages>div,.dock-diagram>span,.flag-palette>div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;background:#edf3f2;border-radius:12px}.tile-stages span{color:#6eabb8}.dock-diagram i{font-size:32px;font-style:normal}.dock-diagram small{font-size:11px}.flag-palette>div{flex-direction:row}.flag-palette i{width:26px;height:26px;border:1px solid #869696;border-radius:5px}@media(max-width:600px){.dock-diagram{gap:4px}.dock-diagram>span{padding:8px 4px}.flag-palette{flex-wrap:wrap}.puzzle-diagram text{font-size:14px}}

.puzzle-diagram polyline{fill:none}.failed-learning{text-align:left;max-width:450px;margin:18px auto;padding:12px;background:#f4efe2;border-radius:12px}.failed-learning summary{cursor:pointer;font-weight:bold}
@media(min-width:801px){
 .puzzle-panel:has(>.puzzle-diagram){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 20px;align-items:start}
 .puzzle-panel:has(>.puzzle-diagram)>:is(.step-nav,.step-label,.task-title,.task-desc,.feedback,.hint-body,.actionbar){grid-column:1/-1}
 .puzzle-panel:has(>.puzzle-diagram)>.puzzle-diagram{grid-column:1;grid-row:5;width:100%}
 .puzzle-panel:has(>.puzzle-diagram)>:is(.reference,.reference-group){grid-column:1;grid-row:6}
 .puzzle-panel:has(>.puzzle-diagram)>:is(.answer-fields,.choices){grid-column:2;grid-row:5/span 2}
}
@media(max-height:850px){
 body:has(.active-collection) header{padding-top:8px;padding-bottom:8px}
 .collection-strip{padding-top:5px;padding-bottom:5px;margin-bottom:5px}
 .active-collection .activity-head{padding-top:5px;padding-bottom:7px}
 .active-collection .journey{padding-bottom:6px}
 .active-collection .chance-strip{margin:6px 0;padding:5px 12px}
 .active-collection .puzzle-panel{padding-top:14px}
 .active-collection .step-nav{margin-bottom:5px}
 .active-collection .puzzle-diagram svg{max-height:155px}
}
.spirit{background-image:var(--atlas,url("assets/collection-creatures.png"))}.friend-tile .spirit{background-image:none}.friend-tile .spirit::after{background-image:var(--atlas,url("assets/collection-creatures.png"))}.party-roster .spirit::after{width:min(var(--size),70px);height:min(var(--size),70px)}
