/* Frontier atlas and battle gestures, sized for a phone first. */
.battle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.battle-bar .battle-flee{width:auto;min-width:78px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#15343d;color:#d1ddd1;border-color:#577477;font-size:11px;padding:6px 12px}
.battle-flee .game-icon{width:15px;height:15px}
.battle-bar>[data-bact="switch"]{grid-column:span 2}
.caught-badge{display:inline-flex;align-items:center;gap:5px;color:#b6f3d8;font-size:10px;font-weight:600;line-height:1.4}
.caught-badge[hidden]{display:none}.caught-badge .game-icon{width:15px;height:15px}
.battle-readout{gap:5px}.battle-readout .battle-toolbar{font-size:11px}
.flee-confirm .modal-actions{display:grid;grid-template-columns:minmax(0,1fr)}
.flee-confirm .modal-actions button:last-child{background:#17323d;color:#cedbd2;border-color:#5f7376}
.frontier-atlas{width:min(680px,100%);text-align:left}
.frontier-atlas h3{margin:10px 0 12px}.frontier-atlas .atlas-summary{display:flex;flex-wrap:wrap;gap:4px 7px;align-items:center;font-size:11px;line-height:1.7;margin:0 0 9px}
.atlas-summary b{color:#ebd6a2;margin-left:6px}.atlas-summary b:first-child{margin-left:0}
.frontier-atlas .atlas-instruction{font-size:12px;line-height:1.55;margin:0 0 15px}
.atlas-map{display:block;width:100%;height:auto;background:#0d2831;border:1px solid #839c8170;border-radius:13px;image-rendering:pixelated;margin:0 0 16px}
.atlas-regions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.atlas-region{min-width:0;background:linear-gradient(130deg,#26494e,#15353e);border:1px solid #72958b55;border-left:3px solid var(--region-color);padding:15px;border-radius:15px}
.atlas-region.is-locked{background:#112d36;border-left-color:#62757b}
.atlas-region header{display:flex;align-items:center;gap:10px;min-width:0}
.atlas-region header>div{flex:1;min-width:0}.atlas-region header>.game-icon{flex:none;width:17px;height:17px;color:var(--region-color)}
.atlas-number{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--region-color);color:var(--region-color);border-radius:50%;font-size:12px;font-weight:700}
.atlas-region h4{font-family:Georgia,serif;font-size:21px;font-weight:400;line-height:1.2;color:#f6e8cd;margin:0 0 3px;overflow-wrap:normal}
.atlas-region header div>span{display:block;font-size:10px;line-height:1.45;color:#c1d5ca}
.frontier-atlas .atlas-habitat{font-size:10px;line-height:1.5;margin:12px 0 8px;color:#aacabd}
.atlas-species{display:flex;gap:7px;justify-content:space-between;padding:8px 0 13px}
.atlas-species>span{display:flex;flex:1;min-width:0;align-items:center;flex-direction:column;gap:4px;text-align:center;color:#d7e5d8;font-size:10px;line-height:1.3}
.atlas-species img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 3px 4px #041b25)}
.atlas-species .game-icon{width:11px;height:11px;margin-left:3px;color:#a3efd2}
.atlas-route-actions{display:flex;flex-wrap:wrap;gap:8px}
.atlas-route-actions .btn{flex:1 1 110px;min-width:0;min-height:44px;white-space:normal;line-height:1.4;font-size:11px;padding:10px;border-radius:11px}
.atlas-route-actions .atlas-vista{background:#103039;box-shadow:none;color:#ccded1}
.frontier-atlas .ruin-journal{margin-top:18px}.frontier-atlas .technique-card strong{line-height:1.5;gap:5px}
.waystone-emblem{margin:15px auto;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;color:#aaf0d7;border:1px solid #b8e5b878;background:radial-gradient(#3d7977,#183f49);box-shadow:0 0 30px #94eac417}
.waystone-emblem .game-icon{width:40px;height:40px}.modal .frontier-unlock{background:#143b40;border:1px solid #8eba9366;border-radius:13px;padding:13px;color:#bdf0d6;font-size:12px;line-height:1.6}
@media(min-width:620px){.atlas-regions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-height:540px) and (orientation:landscape){.battle-bar{grid-template-columns:repeat(8,minmax(0,1fr))}.battle-bar>[data-bact="switch"]{grid-column:auto}.battle-readout{display:grid;grid-template-columns:140px 1fr 1fr;align-items:center;gap:5px 12px}.battle-readout .battle-toolbar{grid-row:span 2;flex-wrap:wrap;gap:2px}.battle-toolbar .battle-flee{min-height:44px}.battle-readout #battle-feedback{grid-column:2/-1;font-size:9px}.caught-badge{font-size:9px}.battle-readout>div{font-size:9px}}
@media(prefers-reduced-motion:reduce){.waystone-emblem{box-shadow:none}}

.frontier-atlas>.modal-actions{position:sticky;bottom:-20px;z-index:2;background:linear-gradient(#15373ff2,#15373f 30%);padding:12px 0 18px;margin-bottom:-18px;box-shadow:0 -8px 14px #14363f88}
.frontier-atlas .atlas-summary>span{white-space:nowrap}

/* The travel scene owns input until the party has fully reappeared. */
.crawl-wrap.is-teleporting > :not(canvas):not(.teleport-status){opacity:0!important;pointer-events:none!important}
.teleport-status{position:absolute;bottom:12%;left:8%;right:8%;z-index:25;text-align:center;color:#d3f5ff;font:600 14px system-ui;letter-spacing:.04em;text-shadow:0 2px 8px #001523;pointer-events:none}
