/* Map-first navigation: one compact step, same position at every depth. */
#app.map-journey #discovery-tray{width:230px!important;max-width:calc(100% - var(--discovery-left,100px) - 12px)!important;max-height:calc(100% - var(--discovery-top,116px) - 80px);overflow:auto;scrollbar-width:thin;}
.map-step-back,.map-detail-back{display:block;width:100%;min-height:44px;padding:10px 12px!important;border:1px solid #bac4aa!important;border-radius:10px;background:#fffaf0!important;color:#202b22!important;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:left;cursor:pointer;margin-bottom:8px}
.map-step{padding:14px;background:#fffaf0f2;color:#202b22;border:1px solid #ded8c5;border-radius:14px;box-shadow:0 5px 18px #25332312}
.map-step h2{font-size:18px;margin:0 0 8px;line-height:1.3}.map-step p{font-size:14px;line-height:1.5;margin:0 0 12px;color:#465344}.map-step-options{display:grid;gap:6px}.map-step-options button{padding:11px;min-height:44px;border:1px solid #cbd1bf;border-radius:9px;background:#f7f7ed;color:#202b22;font:inherit;font-size:14px;text-align:left;cursor:pointer}.map-step-options button:hover{background:#e5ecd5}.map-step-copy,.map-step-copy *{color:#202b22!important;font-size:14px;line-height:1.5}.map-step-copy a{display:block;margin:10px 0;text-decoration:underline}.map-step-copy .person-role{font-size:12px}
#app.map-journey:not(.journey-details) :is(#people-drawer,#government-drawer,#today-drawer,#business-tools){visibility:hidden!important;opacity:0!important;pointer-events:none!important}
#app.map-journey.journey-details :is(#people-drawer,#government-drawer,#today-drawer,#business-tools){left:var(--discovery-left,100px)!important;right:auto!important;top:var(--discovery-top,116px)!important;bottom:auto!important;width:320px!important;max-width:calc(100% - var(--discovery-left,100px) - 12px)!important;max-height:calc(100% - var(--discovery-top,116px) - 24px)!important;padding:14px!important;display:block!important;background:#fffaf0!important;color:#202b22!important;overflow:auto!important}
#app.map-journey #government-drawer :is(.civic-navigation,.mobile-topic-back,.mobile-topic-close,.civic-topic-title,.mobile-sheet-handle),#app.map-journey .discovery-back{display:none!important}
#app.map-journey #government-drawer .civic-content{display:block!important;padding:0!important;overflow:visible!important}#app.map-journey .government-pane:not(.active){display:none!important}
#app.map-journey.journey-details :is(#people-drawer,#government-drawer,#today-drawer,#business-tools) :is(p,h2,h3,span,a,button){color:#202b22}
.representative-pin{background:#fffaf0;color:#24382b;border:1px solid #899d78;border-radius:10px;padding:6px;box-shadow:0 3px 12px #132b2630;font-size:12px;max-width:155px}.representative-pin strong{display:block;padding:2px 5px}.representative-pin button{display:block;border:0;background:transparent;color:#24382b;text-align:left;min-height:36px;font-size:12px;cursor:pointer;padding:4px}.representative-pin button:hover{background:#e5ecd5;border-radius:5px}.map-step button:focus-visible,.representative-pin button:focus-visible{outline:2px solid #476c4d;outline-offset:2px}
@media(max-width:700px){#app.map-journey #discovery-tray{width:180px!important;max-height:calc(100% - var(--discovery-top,116px) - 75px)}.map-step{padding:10px}.map-step h2{font-size:16px}.representative-pin{max-width:120px}.representative-pin button{min-height:44px}#app.map-journey .map-detail-back{display:block!important}}

.city-hall-discovery{min-height:44px;padding:8px 12px;border:1px solid #758863;border-radius:12px;background:#fffaf0;color:#283d2d;box-shadow:0 3px 12px #273c3022;font-size:14px;font-weight:600;cursor:pointer}.city-hall-discovery:hover{background:#e5ecd5}.city-hall-discovery:focus-visible{outline:3px solid #476c4d}

.ward-tour-progress{font-size:12px;letter-spacing:.04em;color:#56654f;margin:8px 0 0}.ward-tour-source{font-size:12px;line-height:1.4;color:#56654f}.ward-discovery-pin{font-size:14px;max-width:200px;text-align:left;white-space:normal}.map-step-options button:first-child{font-weight:600}

.ward-population-fact{pointer-events:none;min-width:145px;background:rgba(255,250,238,.88)}.ward-population-fact strong{font-size:28px}.ward-population-fact span,.ward-population-fact small{display:block;margin-top:5px}.ward-population-fact small{font-size:12px;color:#576753}.city-hall-discovery.tour-hall-focus{box-shadow:0 0 0 5px rgba(233,183,80,.4),0 5px 20px #334d3926;border-color:#bd8c32}

/* Only the explicitly selected detail panel may occupy the reading surface. */
#app.map-journey.journey-details :is(#people-drawer,#government-drawer,#today-drawer,#business-tools):not(.journey-active-detail){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
#app.map-journey.journey-details .journey-active-detail{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.ward-tour-resume{position:absolute;z-index:15;left:var(--discovery-left,100px);bottom:80px;max-width:calc(100% - var(--discovery-left,100px) - 16px);min-height:44px;padding:9px 12px;background:#fffaf0;color:#283d2d;border:1px solid #a8b69b;border-radius:12px;box-shadow:0 3px 12px #273c3022;font:600 13px inherit;cursor:pointer}.ward-tour-resume[hidden]{display:none}

/* Selection takes precedence over the navigation and previous floating cards. */
#app.map-reading-card .representative-pin{visibility:hidden!important;pointer-events:none!important}
.mobile-map-menu{display:none}
@media(max-width:700px){
 #app.map-journey aside{display:none!important}
 #app.map-journey{--discovery-left:12px!important;--discovery-top:110px!important}
 #app.map-journey #discovery-tray{left:12px!important;top:110px!important;width:min(250px,calc(100% - 24px))!important;max-width:calc(100% - 24px)!important;max-height:calc(100% - 190px)!important}
 #app.map-journey .mobile-map-menu{display:block;position:absolute;z-index:16;top:62px;left:12px;min-height:40px;padding:8px 12px;border:1px solid #bac4aa;border-radius:10px;background:#fffaf0;color:#283d2d;font:600 14px system-ui}
 #app.map-journey.journey-details .journey-active-detail{left:12px!important;top:110px!important;max-width:calc(100% - 24px)!important;width:280px!important}
 #app.map-reading-card .city-hall-discovery{visibility:hidden;pointer-events:none}
}

.map-choice-pager{display:none}
@media(max-width:700px){
 #app.map-journey{--discovery-left:10px!important;--discovery-top:110px!important}
 #app.map-journey #discovery-tray{left:10px!important;right:10px!important;top:auto!important;bottom:64px!important;width:auto!important;max-width:none!important;max-height:36%!important;overflow:auto!important;border-radius:12px}
 #app.map-journey .map-step-back{min-height:40px;width:auto;max-width:100%;padding:7px 10px!important;margin:0 0 4px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #app.map-journey .map-step{padding:10px 12px;background:rgba(255,250,240,.95)}
 #app.map-journey .map-step h2{font-size:16px;line-height:1.25;margin:0 0 6px}
 #app.map-journey .map-step p{font-size:14px;line-height:1.35;margin:0 0 8px}
 #app.map-journey .map-choice-menu>p{display:none}
 #app.map-journey .map-step-options{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 0}
 #app.map-journey .map-step-options::-webkit-scrollbar{display:none}
 #app.map-journey .map-step-options button{flex:1 0 auto;max-width:175px;min-height:44px;padding:8px 10px;font-size:14px;scroll-snap-align:start;white-space:normal}
 #app.map-journey .map-choice-menu .map-step-options button{flex:0 0 43%;min-height:52px}
 #app.map-journey .map-choice-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px}
 #app.map-journey .map-choice-pager button{width:44px;height:36px;border:0;background:transparent;color:#36533d;font-size:24px}
 #app.map-journey .map-choice-pager span{font-size:12px;color:#53634d}
 #app.map-journey .map-tour-stop .ward-tour-source{display:none}
 #app.map-journey .map-tour-stop .ward-tour-progress{font-size:12px;margin:0 0 6px}
 #app.map-journey .map-step-copy p{font-size:14px}
 #app.map-journey .mobile-map-menu{min-height:40px;padding:6px 10px;font-size:13px}
 #app.map-journey .ward-tour-resume{left:auto;right:10px;top:62px;bottom:auto;max-width:65%;font-size:12px}
 #app.map-journey.journey-details .journey-active-detail{left:10px!important;right:10px!important;top:auto!important;bottom:64px!important;width:auto!important;max-width:none!important;max-height:36%!important}
}

/* Council is explored through map icons, not a second list of wards. */
.ward-council-icon{display:flex;align-items:center;justify-content:center;min-width:46px;height:46px;border:2px solid #81986d;border-radius:50%;background:#fffaf0;color:#304b35;font:600 17px system-ui;box-shadow:0 3px 10px #253b3228;cursor:pointer}.ward-council-icon:hover{background:#e5ecd5}.ward-council-icon:focus-visible{outline:3px solid #315d47;outline-offset:3px}
#app.map-council #discovery-tray .map-step{display:none}
#app.map-council #discovery-tray{max-height:52px!important}
#app.map-council .city-hall-discovery{visibility:hidden;pointer-events:none}
@media(max-width:700px){#app.map-council #discovery-tray{top:110px!important;bottom:auto!important;width:auto!important;right:auto!important;max-width:calc(100% - 20px)!important}#app.map-council .map-step-back{margin:0}}

/* A place sits above its card, in the center of the remaining map. */
#app.map-place-focus #discovery-tray{left:50%!important;right:auto!important;top:auto!important;bottom:64px!important;transform:translateX(-50%)!important;width:380px!important;max-width:calc(100% - 24px)!important;max-height:36%!important}
.discovery-place-label{padding:7px 10px;background:#fffaf0;color:#2c4232;border:1px solid #a7b28c;border-radius:10px;font-size:14px;box-shadow:0 3px 12px #283f2520;pointer-events:none}
#app.map-place-focus .map-step-options{display:flex;gap:6px;overflow-x:auto}
#app.map-place-focus .map-step-options button{flex:1;min-width:130px}
@media(max-width:700px){#app.map-place-focus #discovery-tray{width:calc(100% - 20px)!important}.discovery-place-label{max-width:180px}}
