/* ゲーム内データのガイド（inc/game-db.php・game-db.php）。idb-* は main.css の一覧用の部品を流用 */
.idp h2.sm{margin:1.6em 0 .6em;padding-bottom:6px;border-bottom:1px solid var(--line)}
.idp-head{display:flex;gap:16px;align-items:center;margin:4px 0 12px}
.idp-head h1{font-size:22px;font-weight:900;line-height:1.3}
.idp-icon{width:96px;height:96px;flex:none;border-radius:10px;background:#2b3138;object-fit:contain}
.idp-lead{font-size:14px;line-height:1.9}
.idp-table th{min-width:7em;padding:4px 16px 4px 0}
.idp-table td{padding:4px 0}
.idp-recipe{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0}
.idp-recipe ul{list-style:none;margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 18px}
.idp-recipe a,.idp .idb-note a{color:var(--blue);border-bottom:1px dotted var(--blue)}
.idp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 12px}
.idp-row{display:flex;gap:10px;align-items:center;padding:6px 4px;border-radius:6px;min-width:0}
.idp-row:hover{background:var(--blue-l)}
.idp-row b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idp-row .idb-en{display:none}
.idp-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:14px}
.idp-cat{border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:flex;justify-content:space-between;align-items:baseline}
.idp-cat:hover{border-color:var(--blue);background:var(--blue-l)}
.idp-cat span{font-size:12px;color:var(--sub)}
.idp-src{margin-top:2em}
@media (max-width:767px){.idp-icon{width:64px;height:64px}.idp-head h1{font-size:18px}}
.idp-chg{border-top:1px solid var(--line);padding:6px 0}
.idp-chg ul{list-style:none;margin:0 0 4px 50px;font-size:12px}
.idp-chg s{color:var(--sub)}
.idp-upd{background:var(--blue-l);border-radius:8px;padding:10px 14px;margin:12px 0}
.idp-upd .idp-chg{border-top:0;padding:0}
.idp-upd .idp-row{display:none}
.idp-upd .idp-chg ul{margin-left:0}
.idp-h3{font-size:13px;font-weight:700;color:var(--blue);margin:1em 0 .3em}
.idp-get{list-style:none;margin:0;padding:0;font-size:13px}
.idp-get li{padding:6px 0;border-top:1px solid var(--line);line-height:1.7}
.idp-get li:first-child{border-top:0}
.idp-more summary{cursor:pointer;font-size:12px;color:var(--blue);margin:6px 0}

.idp-tree{border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:13px}
.idp-tree-root{font-weight:900;margin-bottom:4px}
.idp-tree ul{list-style:none;margin:0 0 0 14px;padding:0}
.idp-tree li{position:relative;padding:4px 0 4px 24px;line-height:28px}
.idp-tree li::before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:2px solid #c3ccd6}
.idp-tree li:last-child::before{bottom:auto;height:18px}
.idp-tree li::after{content:"";position:absolute;left:0;top:18px;width:18px;border-top:2px solid #c3ccd6}
.idp-tree li img{display:inline-block;width:28px!important;height:28px!important;max-width:28px;vertical-align:middle;border-radius:4px;background:#2b3138;object-fit:contain}
.idp-tree .idb-at{margin-left:6px}
.idp-tree a{color:var(--blue);border-bottom:1px dotted var(--blue)}
.idp-raw{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.idp-raw a{color:var(--blue);border-bottom:1px dotted var(--blue)}

.idp-calc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 10px;font-size:13px}
.idp-calc input{width:6em;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:15px;font-weight:700}
.idp-calc span{color:var(--sub);font-size:12px}
.gdb-search{margin:12px 0}
.gdb-search input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:16px}
.gdb-search .idp-list{margin-top:10px}
.gdb-jump{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px;font-size:13px}
.gdb-jump a{padding:4px 10px;border:1px solid var(--line);border-radius:99px;text-decoration:none}
.gdb-jump a:hover{border-color:var(--blue);background:var(--blue-l)}
.idp h2.sm,.card h2.sm[id]{scroll-margin-top:76px}
.idp-bar{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.idp-bar a{font-size:13px;font-weight:700;border:1px solid var(--blue);color:var(--blue);border-radius:8px;padding:6px 14px}
.idp-bar a:first-child{background:var(--blue);color:#fff}
.idp-bar a:hover{opacity:.85}
.esh-map{position:relative;width:100%;margin:12px 0;border-radius:8px;overflow:hidden;background:#2a2230}
.esh-map img{display:block;width:100%;height:100%}
.esh-map-l{position:absolute;transform:translate(-50%,-50%);padding:3px 8px;border-radius:99px;background:rgba(0,0,0,.62);color:#fff;font-size:clamp(10px,2.2vw,15px);font-weight:700;white-space:nowrap;pointer-events:none}
.esh-map-t i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.esh-map-l{text-align:center;line-height:1.25;border-radius:10px}
.esh-map-l small{display:block;font-size:.82em;font-weight:600;opacity:.9}
.esh-map-t tr:target{outline:2px solid var(--accent,#2b6cb0);outline-offset:-2px}
.esh-map-t tr{scroll-margin-top:80px}
/* Enshrouded マップ（Leaflet） */
.esh-lwrap{display:grid;grid-template-columns:1fr 250px;gap:12px;margin:12px 0}
#esh-lmap{height:min(78vh,760px);border-radius:8px;background:#3b2c37;z-index:0}
.esh-lpanel{font-size:13px;max-height:min(78vh,760px);overflow:auto}
.esh-lpanel input[type=search]{width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid #ccd;border-radius:6px;font-size:14px;margin-bottom:8px}
.esh-lg{margin-bottom:10px}
.esh-lg b{display:block;font-size:12px;color:#667;margin-bottom:3px}
.esh-lg label{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;line-height:1.3}
.esh-lg label i{flex:none;width:11px;height:11px;border-radius:50%;border:1px solid #333}
.esh-lg small{color:#889;margin-left:auto}
.esh-lnote{font-weight:700;color:#c0245e;min-height:1em;margin:4px 0}
@media (max-width:760px){.esh-lwrap{grid-template-columns:1fr}#esh-lmap{height:70vh}.esh-lpanel{max-height:none;columns:2;column-gap:14px}.esh-lpanel input[type=search]{column-span:all}.esh-lg{break-inside:avoid}}
.esh-rl span{display:inline-block;transform:translate(-50%,-50%);padding:3px 9px;border-radius:10px;background:rgba(0,0,0,.62);color:#fff;font-size:13px;font-weight:700;white-space:nowrap;text-align:center;line-height:1.25}
.esh-rl small{display:block;font-size:11px;font-weight:600;opacity:.9}
.esh-lv{display:inline-block;padding:0 6px;border-radius:4px;background:#2b6cb0;color:#fff;font-size:11px;font-weight:700}
.esh-lvf{display:flex;align-items:center;gap:4px;margin:2px 0 4px}.esh-lvf input{width:52px;padding:3px 5px;border:1px solid #ccd;border-radius:5px;font-size:13px}
/* ウィッチャー3 の地図（/witcher3/map/、inc/witcher3-map.php） */
#w3-lmap{height:min(78vh,760px);border-radius:8px;background:#1e2226;z-index:0}
.w3-worlds{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.w3-worlds button{border:1px solid var(--line,#dde);background:var(--card,#fff);color:inherit;border-radius:99px;padding:5px 12px;font-size:13px;cursor:pointer}
.w3-worlds button.on{background:var(--blue,#2b6cb0);border-color:var(--blue,#2b6cb0);color:#fff;font-weight:700}
@media (max-width:760px){#w3-lmap{height:70vh}}
.esh-lg label img.w3-ic{flex:none;width:20px;height:20px;object-fit:contain;padding:2px;box-sizing:border-box;background:#2a2d31;border-radius:4px}
/* ゲームの地図の印は白い絵なので、明るい地形でも見えるよう暗い縁取りを付ける */
.leaflet-marker-icon.w3pin{filter:drop-shadow(0 0 1.2px #000) drop-shadow(0 0 1.2px #000) drop-shadow(0 1px 2px rgba(0,0,0,.6))}
#w3-lmap.w3z-m .leaflet-marker-icon.w3pin{width:18px!important;height:18px!important;margin-left:-9px!important;margin-top:-9px!important}
#w3-lmap.w3z-s .leaflet-marker-icon.w3pin{width:12px!important;height:12px!important;margin-left:-6px!important;margin-top:-6px!important}
.w3-all{display:flex;gap:6px;margin:0 0 10px}
.w3-all button{flex:1;border:1px solid var(--line,#dde);background:var(--card,#fff);color:inherit;border-radius:6px;padding:5px 0;font-size:12px;cursor:pointer}
.w3-all button:hover{border-color:var(--blue,#2b6cb0);color:var(--blue,#2b6cb0)}
@media (max-width:760px){.w3-all{column-span:all}}
