/* MAP-107: presentation restricted to the first-floor helper class. */
.map107-stage .map-heading,.map107-stage .map-legend{display:none!important}
.map107-stage #route-guide>strong,.map107-stage #route-guide>span{display:none!important}
.map107-stage #route-guide{min-height:30px!important;padding:2px 8px!important;margin:0!important;justify-content:flex-end!important}
.map107-frame{display:grid!important;grid-template-columns:minmax(0,1fr) 218px!important;gap:12px!important;min-height:340px!important;padding:0!important;border:0!important;background:none!important;overflow:visible!important}
.map107-frame>.map-corner{display:none!important}
#board#board.map107{display:block!important;position:relative!important;min-width:0!important;width:100%!important;height:100%!important;min-height:340px!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border:0!important;background:#b09262 url('/assets/optimized/map-107/aged-terrain-paper-v6.webp') center/100% 100% no-repeat!important;isolation:isolate;box-shadow:0 3px 13px #0008!important;overflow:hidden!important}
#board.map107>.route-lines{display:none!important}
#board.map107>.cell{display:none!important}
#board#board.map107>.map107-cell{display:flex!important;position:absolute!important;left:var(--map107-x)!important;top:var(--map107-y)!important;transform:translate(-50%,-50%)!important;width:56px!important;height:46px!important;min-height:0!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;align-items:center!important;justify-content:center!important;z-index:2;overflow:visible!important}
#board#board.map107>.map107-landmark{width:86px!important;height:68px!important}
#board.map107 .cell::before,#board.map107 .cell::after,#board.map107 .event-label{display:none!important}
.map107-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.map107-lines path{fill:none;stroke:#473624;stroke-width:1.5;opacity:.58;stroke-linecap:round;vector-effect:non-scaling-stroke}
.map107-lines path.map107-next{stroke:#f5d37b;stroke-width:3;opacity:1}
.map107-art{display:grid;place-items:center;width:33px;height:33px;color:#44321e;pointer-events:none;filter:drop-shadow(1px 1px 0 #ecd09a55)}
.map107-art>svg{width:29px;height:29px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.map107-unknown .map107-art{width:24px;height:24px;opacity:.64;filter:blur(.15px)}
.map107-unknown .map107-art>svg{width:21px;height:21px}
.map107-landmark .map107-art,.map107-landmark .map107-art>svg{width:82px;height:66px}
.map107-art .miniature{stroke:#3c3021;stroke-width:1.15;fill:none}
.map107-art .ground{fill:#483b28;stroke:none;opacity:.17}.map107-art .timber{stroke:#382b1c;stroke-width:2.3}.map107-art .tarp.rust{fill:#75523b}.map107-art .tarp.faded{fill:#938364}.map107-art .tarp.patch{fill:#aa9370;stroke-width:.65}.map107-art .seam{stroke:#3c2e20;stroke-dasharray:2 1;stroke-width:.7}.map107-art .rope{stroke:#5b462e;stroke-width:.8}.map107-art .cloth{fill:#877351}.map107-art .tent-dark{fill:#463c2b}.map107-art .table,.map107-art .shelf{fill:#716147}.map107-art .crate{fill:#827153}.map107-art .bedroll{fill:#8e8162}.map107-art .goods{fill:#a39874}.map107-art .lantern{fill:#796347;stroke:#3d3021}.map107-art .glow{fill:#cfad5e;stroke:none}.map107-art .hanging{stroke-width:1}.map107-art .grit{stroke:#64543a;stroke-width:.9}
#board#board.map107 .route-step-button,#board#board.map107 .map107-observe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:45%!important;background:transparent!important;box-shadow:none!important;color:transparent!important;font-size:0!important;z-index:4;cursor:pointer}
#board.map107 .route-step-button::after{display:none!important}
#board.map107 .map107-cell:has(.route-step-button) .map107-art{color:#61431b;filter:drop-shadow(0 0 3px #ffe096)}
#board#board.map107 .route-step-button:hover,#board#board.map107 .map107-observe:hover,#board#board.map107 button:focus-visible{outline:2px dashed #57401f!important;outline-offset:1px!important;background:#ffe6a81a!important}
#board#board.map107 .pieces{position:absolute!important;top:-5px!important;right:0!important;left:auto!important;bottom:auto!important;display:flex!important;gap:2px!important;pointer-events:none;z-index:5}
#board#board.map107 .piece{position:static!important;width:18px!important;height:18px!important;min-width:18px!important;border:1px solid #543718!important;border-radius:50%!important;background:#c39b53!important;color:#251d11!important;font-size:10px!important;line-height:16px!important;box-shadow:1px 2px 2px #0005!important}
#board#board.map107 .piece[data-map107-player="1"]{background:#6f9990!important;border-color:#294c43!important;color:#152c26!important}
#board#board.map107 .piece.downed{outline:2px solid #7f2525!important;outline-offset:1px!important}
.map107-check{position:absolute;right:7px;bottom:1px;font:italic 23px Georgia,serif;color:#536040;transform:rotate(-14deg);pointer-events:none}
.map107-signal{position:absolute;left:1px;top:0;font-size:12px;color:#786226;pointer-events:none}
.map107-notes{min-width:0;align-self:stretch;overflow:auto;padding:14px 13px;border:1px solid #6c6149;background:linear-gradient(130deg,#302f25,#1d251f);color:#e0d5bc}
.map107-notes h3{font-size:17px;line-height:1.4;margin:0 0 15px;color:#e3c98b}.map107-notes strong{font-size:16px;line-height:1.6}.map107-notes p{font-size:14px;line-height:1.8;margin:12px 0;color:#d0c8b2}
.map107-marginalia{position:absolute;inset:0;pointer-events:none;font:italic 12px Georgia,'STSong',serif;letter-spacing:.18em;color:#5e482c;opacity:.7;z-index:1}.map107-marginalia span{position:absolute}.map107-marginalia .north{left:40%;top:5%}.map107-marginalia .south{left:39%;bottom:5%}.map107-marginalia .west{left:3%;top:47%;writing-mode:vertical-rl}.map107-marginalia .east{right:3%;top:47%;writing-mode:vertical-rl}
@media(max-width:1000px){.map107-frame{grid-template-columns:minmax(0,1fr)!important;min-height:420px!important}.map107-notes{max-height:160px}.map107-stage{overflow:visible!important}#board#board.map107{height:360px!important;min-height:360px!important}.map107-marginalia{font-size:11px}}
@media(prefers-reduced-motion:reduce){#board.map107 *{animation:none!important;transition:none!important}}
/* Original item-target overlays retain precedence and hidden Move buttons stay hidden. */
#board#board.map107 .route-step-button[hidden]{display:none!important}
#board#board.map107.choosing-target .map107-observe{display:none!important}
#board#board.map107 .target-tile-button{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;z-index:7!important;border:2px dashed #fff0a1!important;border-radius:45%!important;background:#d4bb6638!important;color:transparent!important;font-size:0!important}
#board#board.map107 .target-tile-button:focus-visible{outline:2px solid #fff0a1!important;outline-offset:2px!important}

.map107-notes{text-align:left!important}.map107-unknown .map107-art{width:28px;height:28px;opacity:.76;filter:none}.map107-unknown .map107-art>svg{width:26px;height:26px;stroke-width:1.8}
