/* 2026-09-24: 見た地形だけを、各エリアの背景と同じ石・苔・光色で描く。 */
.map-wrap .map > .mcell { border-radius: 1px; }
.map-wrap .map > .mcell.v-plain:not(.is-current),
.map-wrap .map > .mcell.v-hidden_candidate:not(.is-current),
.map-wrap .map > .mcell.v-hidden_room:not(.is-current) {
  background: linear-gradient(var(--map-floor-glaze), var(--map-floor-glaze)), var(--map-tile) center/100% 100%;
  box-shadow: inset 0 1px 0 #ffffff18, inset 0 -2px 2px #0006;
}
.map-wrap .map > .mcell.v-plain::before,
.map-wrap .map > .mcell.v-hidden_candidate::before { content: none; }
.map-wrap .map > .mcell.v-wall,
.map-wrap .map > .mcell.s-wall {
  background: var(--map-wall) var(--map-rock) center/100% 100%;
  box-shadow: inset 0 -3px 2px #0008;
  image-rendering: pixelated;
}
.map-wrap .map > .mcell.s-floor { background: var(--map-ghost-floor); box-shadow: inset 0 0 9px #0008; }
.map-wrap .map > .mcell:not([class*="v-"]):not([class*="s-"]) { background: #0a1010; box-shadow:none; }
.map-wrap .map > .mcell.v-treasure { background:var(--map-floor); box-shadow:inset 0 0 0 1px #b39855; }
.map-wrap .map > .mcell.is-past { filter:brightness(.65) saturate(.65); }
.map-wrap .map > .mcell.is-current { border-radius:4px; }
.map-wrap.theme-normal_01_gate { --map-floor:#77705a; --map-floor-glaze:#77705a66; --map-wall:#403c2d; --map-ghost-floor:#403c2d; --map-tile:url("img/tiles/tile_gate.png"); --map-rock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23403c2d%22/%3E%3Cpath%20d%3D%22M1%201H19V14H1ZM21%201H31V14H21ZM1%2016H10V31H1ZM12%2016H31V31H12Z%22%20fill%3D%22%2377705a%22/%3E%3Cpath%20d%3D%22M2%202H18M22%202H30M2%2017H9M13%2017H30%22%20stroke%3D%22%23afa281%22/%3E%3Cpath%20d%3D%22M3%2011h6M23%2025h5M16%2020v5%22%20stroke%3D%22%236b624b%22/%3E%3C/svg%3E"); }
.map-wrap.theme-normal_02_ruins { --map-floor:#657280; --map-floor-glaze:#65728066; --map-wall:#2e3741; --map-ghost-floor:#2e3741; --map-tile:url("img/tiles/tile_ruins.png"); --map-rock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%232e3741%22/%3E%3Cpath%20d%3D%22M1%201H19V14H1ZM21%201H31V14H21ZM1%2016H10V31H1ZM12%2016H31V31H12Z%22%20fill%3D%22%23657280%22/%3E%3Cpath%20d%3D%22M2%202H18M22%202H30M2%2017H9M13%2017H30%22%20stroke%3D%22%238d98a0%22/%3E%3Cpath%20d%3D%22M3%2011h6M23%2025h5M16%2020v5%22%20stroke%3D%22%23475464%22/%3E%3C/svg%3E"); }
.map-wrap.theme-danger_01_hollow { --map-floor:#657052; --map-floor-glaze:#65705266; --map-wall:#293326; --map-ghost-floor:#293326; --map-tile:url("img/tiles/tile_hollow.png"); --map-rock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23293326%22/%3E%3Cpath%20d%3D%22M1%206L7%201H24L31%208V23L23%2031H7L1%2025Z%22%20fill%3D%22%23657052%22/%3E%3Cpath%20d%3D%22M3%207L8%203H23L28%208M8%203L13%2014%2027%2010%22%20fill%3D%22none%22%20stroke%3D%22%239aa182%22/%3E%3Cpath%20d%3D%22M13%2014L11%2029M13%2014L25%2021%2023%2028%22%20fill%3D%22none%22%20stroke%3D%22%23293326%22%20stroke-width%3D%222%22/%3E%3Cpath%20d%3D%22M3%2021h5v4H4M22%203h3v4h-4%22%20fill%3D%22%234b5940%22/%3E%3C/svg%3E"); }
.map-wrap.theme-normal_03_kiln { --map-floor:#93573e; --map-floor-glaze:#9b4f2988; --map-wall:#4d2820; --map-ghost-floor:#4d2820; --map-tile:url("img/tiles/tile_gate.png"); --map-rock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%234d2820%22/%3E%3Cpath%20d%3D%22M1%201H19V14H1ZM21%201H31V14H21ZM1%2016H10V31H1ZM12%2016H31V31H12Z%22%20fill%3D%22%2393573e%22/%3E%3Cpath%20d%3D%22M2%202H18M22%202H30M2%2017H9M13%2017H30%22%20stroke%3D%22%23be8a61%22/%3E%3Cpath%20d%3D%22M3%2011h6M23%2025h5M16%2020v5%22%20stroke%3D%22%23733c2d%22/%3E%3C/svg%3E"); }
.map-wrap.theme-normal_04_watchline { --map-floor:#9c8a62; --map-floor-glaze:#9c8a6266; --map-wall:#494132; --map-ghost-floor:#494132; --map-tile:url("img/tiles/tile_gate.png"); --map-rock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23494132%22/%3E%3Cpath%20d%3D%22M1%201H19V14H1ZM21%201H31V14H21ZM1%2016H10V31H1ZM12%2016H31V31H12Z%22%20fill%3D%22%239c8a62%22/%3E%3Cpath%20d%3D%22M2%202H18M22%202H30M2%2017H9M13%2017H30%22%20stroke%3D%22%23c7b38b%22/%3E%3Cpath%20d%3D%22M3%2011h6M23%2025h5M16%2020v5%22%20stroke%3D%22%237c7856%22/%3E%3C/svg%3E"); }
.map-wrap.theme-danger_02_springs { --map-floor:#5f786f; --map-floor-glaze:#386f70bb; --map-wall:#273c37; --map-ghost-floor:#273c37; --map-tile:url("img/tiles/tile_hollow.png"); --map-rock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23273c37%22/%3E%3Cpath%20d%3D%22M1%206L7%201H24L31%208V23L23%2031H7L1%2025Z%22%20fill%3D%22%235f786f%22/%3E%3Cpath%20d%3D%22M3%207L8%203H23L28%208M8%203L13%2014%2027%2010%22%20fill%3D%22none%22%20stroke%3D%22%238da79b%22/%3E%3Cpath%20d%3D%22M13%2014L11%2029M13%2014L25%2021%2023%2028%22%20fill%3D%22none%22%20stroke%3D%22%23273c37%22%20stroke-width%3D%222%22/%3E%3Cpath%20d%3D%22M3%2021h5v4H4M22%203h3v4h-4%22%20fill%3D%22%23456e61%22/%3E%3C/svg%3E"); }
.map-wrap.theme-danger_03_bulwark { --map-floor:#62717a; --map-floor-glaze:#62717a66; --map-wall:#27323c; --map-ghost-floor:#27323c; --map-tile:url("img/tiles/tile_ruins.png"); --map-rock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%2327323c%22/%3E%3Cpath%20d%3D%22M1%201H19V14H1ZM21%201H31V14H21ZM1%2016H10V31H1ZM12%2016H31V31H12Z%22%20fill%3D%22%2362717a%22/%3E%3Cpath%20d%3D%22M2%202H18M22%202H30M2%2017H9M13%2017H30%22%20stroke%3D%22%238e9ba3%22/%3E%3Cpath%20d%3D%22M3%2011h6M23%2025h5M16%2020v5%22%20stroke%3D%22%23495960%22/%3E%3C/svg%3E"); }

/* アルテミスは各階の納品タイルを探索画面から設定する。 */
.map-wrap.theme-artemis { --map-floor:#677a79; --map-floor-glaze:#677a7933; --map-wall:#273b3d; --map-ghost-floor:#344749; }

/* 41×33の地図にも、移動先を見渡せる高さを確保する。 */
@media(min-width:701px) {
  .expedition-layout:has(.theme-artemis) { grid-template-rows:minmax(420px,auto) minmax(270px,auto); }
  .expedition-map-zone > .map-wrap.theme-artemis { display:flex; flex:1; flex-direction:column; min-height:260px; }
  .expedition-map-zone .theme-artemis .map-scroll { min-height:220px; }
}

.map-sealed-door { position:absolute; right:0; top:0; z-index:4; padding:1px 2px; color:#f0dcae; background:#26363be8; font-size:10px; line-height:1.1; border:1px solid #a18c65; }

/* 海殿：通れる床は明るい石、水面と岩は異なる不透明な材質で表示する。 */
.map-wrap.theme-poseidon {
  --map-floor:#b7a577; --map-floor-e:#d3c199; --map-floor-glaze:#b7a57700;
  --map-wall:#283b3b; --map-wall-e:#6b7b70; --map-ghost-floor:#877d60;
  --map-rock:url('img/tiles/poseidon/rock.svg');
}
.map-wrap.theme-poseidon .map > .mcell.v-plain:not(.is-current),
.map-wrap.theme-poseidon .map > .mcell.v-treasure:not(.is-current),
.map-wrap.theme-poseidon .map > .mcell.s-floor {
  background:var(--map-floor) var(--map-tile) center/100% 100%;
  color:#433e2b; box-shadow:inset 0 0 0 1px #d6c7a1,inset 0 -2px 0 #776d50;
}
.map-wrap.theme-poseidon .map > .mcell.s-floor { background-image:linear-gradient(#263e3c35,#263e3c35),var(--map-tile); }
.map-wrap.theme-poseidon .map > .mcell.sea-water {
  background:#215e6b url('img/tiles/poseidon/water.svg') center/100% 100%;
  box-shadow:inset 0 0 0 1px #1a4b58; image-rendering:auto;
}
.map-wrap.theme-poseidon .map > .mcell.sea-rock {
  background:#283b3b url('img/tiles/poseidon/rock.svg') center/100% 100%;
  box-shadow:inset 0 0 0 1px #283b3b; image-rendering:auto;
}

.map-wrap.theme-weekday_training { --map-floor:#77705a; --map-floor-glaze:#77705a66; --map-wall:#403c2d; --map-ghost-floor:#403c2d; }
