/* Mission page only: state map + Little Library carousel */
.map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.map-head h2{margin:0}
.map-pct{background:var(--butter);border:3px solid var(--ink);border-radius:14px;box-shadow:5px 5px 0 var(--ink);padding:6px 16px;text-align:center;transform:rotate(2deg)}
.map-pct b{display:block;font-family:Epilogue,sans-serif;font-size:34px;line-height:1;color:var(--orangeD)}
.map-pct span{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.map-card{padding:22px}
.map-wrap{position:relative}
#us-map{display:block;width:100%;height:auto}
#us-map path.st{fill:#E9E4CF;stroke:#fff;stroke-width:1.5;transition:fill .15s}
#us-map path.st:hover{fill:#D6CFB1}
#us-map path.completed{fill:var(--teal);cursor:pointer}
#us-map path.completed:hover,#us-map path.completed:focus{fill:var(--orange);outline:none}
#us-map path.completed:focus-visible{stroke:var(--ink);stroke-width:4}
.map-tip{position:absolute;z-index:5;pointer-events:none;display:flex;gap:10px;align-items:center;background:#fff;border:3px solid var(--ink);border-radius:10px;box-shadow:4px 4px 0 var(--ink);padding:8px 12px;max-width:260px}
.map-tip[hidden]{display:none}
.map-tip img[hidden]{display:none!important}
.map-tip img{width:56px;height:56px;object-fit:cover;border-radius:6px;border:2px solid var(--ink)}
.map-tip b{display:block;font-size:16px}.map-tip span{font-size:14px;color:var(--muted)}
.map-legend{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0 10px;font-weight:800}
.map-legend span{display:inline-flex;align-items:center;gap:8px}
.dot{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid var(--ink)}
.dot.done{background:var(--teal)}.dot.todo{background:#E9E4CF}
.map-card .meter b{display:block}
.map-pop{position:fixed;inset:0;z-index:100;background:rgba(30,27,75,.7);display:flex;align-items:center;justify-content:center;padding:20px}
.map-pop[hidden]{display:none}
.map-pop-card{width:100%;max-width:420px;max-height:calc(100vh - 40px);overflow:auto;text-align:center;transform:rotate(-1deg)}
.map-pop-card img{width:100%;max-height:50vh;object-fit:cover;border:3px solid var(--ink);border-radius:10px}
.map-pop-card img[hidden]{display:none!important}
.map-pop-x{position:absolute;top:6px;right:8px;background:none;border:0;color:#D62828;font-size:44px;line-height:1;font-weight:900;cursor:pointer;padding:0 6px}
.map-pop-x:focus-visible{outline:3px solid var(--ink)}
.pop-badge{display:inline-block;margin-top:12px;background:var(--teal);color:#fff;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:3px 12px}
.pop-city{font-weight:800;color:var(--orangeD);margin:4px 0}
/* carousel keeps the tilted yellow photo look */
.ll-car{position:relative;display:flex;align-items:center;gap:10px}
.ll-track{list-style:none;margin:0;padding:18px 6px;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding-inline:6px;scrollbar-width:none;flex:1;min-width:0;-webkit-overflow-scrolling:touch}
.ll-track::-webkit-scrollbar{display:none}
.ll-track:focus-visible{outline:4px solid var(--ink);outline-offset:2px;border-radius:8px}
.ll-track li{flex:0 0 calc((100% - 5*18px)/6);scroll-snap-align:start}
.ll-track img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:3px solid #fff;border-radius:8px;box-shadow:4px 4px 0 rgba(30,27,75,.35)}
.ll-track li:nth-child(odd) img{transform:rotate(-2deg)}.ll-track li:nth-child(even) img{transform:rotate(2deg)}
.ll-btn{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:3px solid var(--ink);background:#fff;color:var(--ink);font-size:30px;font-weight:900;line-height:1;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}
.ll-btn:disabled{opacity:.35;cursor:default;box-shadow:none}
.ll-btn:focus-visible{outline:3px solid var(--orangeD);outline-offset:2px}
.ll-car.no-scroll .ll-btn{visibility:hidden}
@media (max-width:900px){.ll-track li{flex-basis:calc((100% - 2*18px)/3)}}
@media (max-width:560px){.ll-track{gap:12px}.ll-track li{flex-basis:calc((100% - 12px)/2)}.ll-btn{width:38px;height:38px;font-size:24px}.ll-car{gap:4px}.map-card{padding:12px}.map-pct b{font-size:26px}}
@media (prefers-reduced-motion:reduce){.ll-track{scroll-behavior:auto}#us-map path.st{transition:none}.map-pop-card{transform:none}}
