/* The map is a canvas. Controls and place details are separate, compact layers. */
.atlas-panel{position:relative;isolation:isolate;overflow:hidden;height:clamp(480px,72svh,760px);background:#ead8b0}
.atlas-panel .action-sync-notice{position:absolute;inset:0;max-width:none;display:grid;place-items:center;padding:20px;background:#eee9d947}
.atlas-panel .action-sync-card{width:min(100%,300px);flex-direction:column;text-align:center;padding:20px}
.atlas-panel [data-action-wait]{display:grid;justify-items:center;gap:12px}
.atlas-panel .action-sync-card .combat-wait-spinner{width:28px;height:28px;margin:0;border-width:3px}
.atlas-header{position:absolute;z-index:6;top:14px;left:14px;right:14px;display:flex;align-items:center;gap:10px;pointer-events:none}
.atlas-header .btn,.atlas-tabs{pointer-events:auto}
.atlas-panel .btn{min-height:44px;border:1px solid #897c5b55;background:#faf5e6ed;box-shadow:0 2px 8px #493f2420;color:#464c39;border-radius:9px;font:12px/1.25 system-ui,sans-serif;padding:10px 14px}
.atlas-header>.btn{width:44px;font-size:28px;padding:0}
.atlas-tabs{display:flex;gap:2px;padding:3px;border:1px solid #897c5b55;border-radius:11px;background:#faf5e6ed;box-shadow:0 2px 8px #493f2418}
.atlas-tabs .btn{border:0;box-shadow:none;background:transparent;min-height:44px;padding:8px 16px;border-radius:7px}
.atlas-tabs .btn[aria-pressed=true]{background:#52634b;color:#fffaec}
.atlas-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(ellipse at 25% 30%,#f5e7c9,transparent 70%),radial-gradient(ellipse at 85% 75%,#dfc39380,transparent 65%),#ead8b0}
.atlas-viewport:active{cursor:grabbing}.atlas-viewport:focus-visible{outline:2px solid #906a3d;outline-offset:-3px}
.atlas-plane{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none}
.atlas-fallback,.atlas-background,.atlas-routes{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.atlas-background{background:#ead8b0}
.atlas-plane.has-art .atlas-fallback{visibility:hidden}.atlas-paper{fill:#f2edde}.atlas-river{stroke:#aec6c7;stroke-width:45;fill:none;stroke-linejoin:round}
.atlas-route{fill:none;stroke:#92816a;stroke-width:3;stroke-dasharray:7 7;stroke-linecap:round;stroke-linejoin:round}.atlas-route.chosen{stroke:#934c36;stroke-width:4;stroke-dasharray:none}
.atlas-plane.has-art .atlas-route:not(.chosen){opacity:0}
.atlas-overlay{position:absolute;object-fit:contain}.atlas-routes{z-index:1}
.atlas-marker{position:absolute;transform:translate(-50%,-22px);display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:none;color:#393c30;cursor:pointer;z-index:3;font:12px/1.25 system-ui,sans-serif;touch-action:none}
.atlas-dot{display:grid;place-items:center;width:10px;height:10px;border:2px solid #f9f1dc;border-radius:50%;background:#5d6047;box-shadow:0 0 0 1px #59563e80,0 1px 4px #493b2340}
.atlas-label{position:absolute;left:0;top:44px;width:max-content;max-width:122px;display:block;padding:2px 4px;border-radius:5px;white-space:normal;text-align:center;background:#f3e7cbbc;box-shadow:0 0 8px 3px #f3e7cb65;text-shadow:0 1px #fff5db}
.atlas-marker.current .atlas-dot{background:#385e3d;box-shadow:0 0 0 4px #52724b35,0 0 0 1px #385e3d}.atlas-marker.current .atlas-label{font-weight:650;color:#34492f}
.atlas-marker.selected .atlas-dot{background:#9b4d32;box-shadow:0 0 0 5px #aa60333a,0 0 0 1px #9b4d32}.atlas-marker.selected .atlas-label{color:#753e2d;font-weight:650}.atlas-marker.selected,.atlas-marker:focus-visible{z-index:5}
.schematic .atlas-dot{width:30px;height:30px;border:1px solid #93947a;background:#faf6e7}.schematic .atlas-dot .icon{width:17px;height:17px}.schematic .atlas-marker.current .atlas-dot{color:#fff;background:#52634b}.schematic .atlas-label{background:#f2eddedb}
.atlas-reserve{position:absolute;transform:translate(-50%,-50%);max-width:130px;pointer-events:none;color:#81734f;font:italic 12px/1.5 Georgia,serif;text-align:center;letter-spacing:.5px;z-index:2;opacity:.7}
.atlas-player{position:absolute;width:11px;height:11px;border:2px solid #fff8e5;border-radius:50%;background:#a14632;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #a1463233;z-index:4;pointer-events:none}.atlas-player[hidden]{display:none}
.atlas-tools{position:absolute;right:14px;bottom:80px;z-index:6;display:grid;background:#faf5e6ed;border:1px solid #897c5b55;border-radius:10px;box-shadow:0 2px 8px #493f2418;overflow:hidden}
.atlas-tools .btn{width:44px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;display:grid;place-items:center;font-size:24px}.atlas-tools .btn+.btn{border-top:1px solid #897c5b33}.atlas-tools .icon{width:19px;height:19px}
.atlas-dock{position:absolute;bottom:16px;left:14px;right:14px;display:flex;justify-content:space-between;gap:8px;z-index:6}
.atlas-dock .btn{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:10px 11px}.atlas-dock .icon{width:18px;height:18px}
.atlas-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.atlas-travel{position:absolute;top:76px;left:14px;right:14px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;background:#faf5e6ed;font:11px/1.5 system-ui,sans-serif}
.map-card,.atlas-list{position:absolute;bottom:0;left:0;right:0;z-index:7;max-height:55%;overflow:auto;overscroll-behavior:contain;padding:18px 20px;background:#faf6e9;box-shadow:0 -6px 28px #493f2426;border-top:1px solid #a99c7880;border-radius:18px 18px 0 0}
.map-card:before,.atlas-list:before{content:"";display:block;width:32px;height:3px;margin:-9px auto 9px;border-radius:3px;background:#c6bea8}
.map-card p{font:13px/1.55 system-ui,sans-serif;margin:9px 0}.map-card .spread,.atlas-list .spread{gap:10px}.map-card .spread .btn,.atlas-list .spread .btn{width:44px;flex-shrink:0;padding:0;border:0;box-shadow:none;background:none;font-size:24px}
.map-card h3,.atlas-list h3{font:normal 21px/1.2 Georgia,serif;margin:0}.map-card .map-place-status{color:#747561;font-size:11px}.map-card .map-reason{color:#875b36}.map-card .actions{display:flex;gap:8px}.map-card .actions .btn{flex:1;background:#52634b;color:#fff8e7;border:0}.map-card .actions .btn:disabled{opacity:.5}
.atlas-list[hidden]{display:none}.atlas-list-items{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:6px}
.atlas-list-item{display:flex;align-items:center;gap:12px;text-align:left;min-height:60px;padding:10px 0;border:0;border-bottom:1px solid #c8c1ad70;background:none;color:#414937;cursor:pointer;font:12px/1.4 system-ui,sans-serif}.atlas-list-item>.icon{width:22px;height:22px;flex-shrink:0;color:#777c63}.atlas-list-item>span:first-of-type{flex:1}.atlas-list-item small{display:block;font-size:10px;color:#757a66;margin-top:3px}.atlas-list-item[aria-pressed=true]{color:#986637}
.has-sheet .atlas-tools,.has-sheet .atlas-dock{visibility:hidden}.atlas-panel button:focus-visible{outline:3px solid #a16c37;outline-offset:2px}
@media(max-width:640px){
  .in-map{overflow:hidden}.in-map #app{height:100svh;height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(56px + max(env(safe-area-inset-bottom),var(--safe-bottom)))}
  .in-map .topbar,.in-map .footer{display:none}.in-map .mobile-hud{flex-shrink:0;padding-top:calc(10px + var(--safe-top))}
  .in-map .shell{align-items:stretch;flex:1;min-height:0;display:flex;width:100%;max-width:none;margin:0;padding:0}.in-map .main{flex:1;min-height:0;display:flex}.in-map .atlas-panel{flex:1;min-width:0;height:auto;border:0;box-shadow:none}
  .atlas-header{top:12px;left:12px;right:12px;gap:8px}.atlas-tabs{flex:1}.atlas-tabs .btn{flex:1;padding:8px 10px}.atlas-tools{right:12px}.atlas-dock{left:12px;right:12px}
  .atlas-reserve{display:none}
  .atlas-dock{gap:6px}.atlas-dock .btn{font-size:11px;padding:10px 8px}.atlas-dock .icon{width:16px;height:16px}.atlas-tools .btn:disabled{opacity:.4}
  .atlas-list-items{grid-template-columns:1fr}.map-card,.atlas-list{padding:16px;max-height:57%}.map-card h3,.atlas-list h3{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.atlas-panel *{scroll-behavior:auto}}
