#mapSelect {position:fixed;inset:0;z-index:101;background:#0b1023f7;color:#f5ead2;display:none;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;}
#mapSelect.on {display:flex;}
.mapSelectPanel {width:min(850px,95vw);max-height:94vh;overflow:auto;text-align:center;}
.mapSelectCards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0;}
.mapSelectCard {display:flex;flex-direction:column;font:inherit;color:inherit;background:#161c32;border:2px solid #675836;border-radius:12px;padding:12px;cursor:pointer;text-align:left;}
.mapSelectCard[aria-pressed=true] {border-color:#efd98f;box-shadow:0 0 18px #c9a22750;}
.mapSelectCard img {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:6px;}
.mapSelectCard strong {display:block;font:700 clamp(20px,2vw,28px)/1.6 'Yu Mincho',serif;}
.mapSelectCard span,.mapSelectCard small {display:block;font-size:14px;line-height:1.6;margin:6px 0;}
#routeTv {position:fixed;inset:0;z-index:29;pointer-events:none;}
#routeTv svg {width:100%;height:100%;}
#routeTvTitle {position:fixed;right:2vw;top:2vh;max-width:65vw;background:#091324ef;color:#fff1b3;border:1px solid #dbbf6c;border-radius:8px;padding:10px 18px;font:700 clamp(15px,2vw,26px)/1.4 sans-serif;}
.routeOptions {display:flex;gap:8px;flex-wrap:wrap;}
.routeOption {font:700 16px sans-serif;min-width:48px;min-height:44px;background:#202a44;color:#ffe6a0;border:2px solid #8a7949;border-radius:6px;}
.routeOption[aria-pressed=true] {background:#d4b64c;color:#131529;}
.routeDetail {overflow:auto;min-height:0;flex:1;font:14px/1.5 sans-serif;}
.routeDetail>div {padding:5px 0;border-bottom:1px solid #ffffff30;}
.routeDetail small {display:block;opacity:.8;margin-top:8px;}
#mapOv.routePicking #mapOvSide {width:40vw;min-height:0;gap:1dvh;}
#mapOv.routePicking #mapOvMap {min-width:0;}
body[data-map-id=twin_gate_cavern] #miniMap {grid-template-columns:repeat(7,1fr);aspect-ratio:7/9;}
body[data-map-id=twin_gate_cavern] #mapOvMap {aspect-ratio:7/9;}
#mapOv.routePicking #mapOvMap {aspect-ratio:1;}
.sealIc.has {color:#ffe79a;}
.sealIc:not(.has) {opacity:.65;}
@media(max-width:520px) and (orientation:portrait){.mapSelectCards{grid-template-columns:1fr;}.mapSelectCard img{max-height:150px;}}
@media(prefers-reduced-motion:reduce){.mmT.pickable{animation:none!important;}}
#mapOv.routePicking #mmModeSw { display:none; }
#cavernGateNotice{position:fixed;right:24px;bottom:24px;z-index:30;padding:12px 20px;border:1px solid #efd98f;border-radius:8px;background:#10162eee;color:#fff0bb;font-size:18px;pointer-events:none}
