.sdtdx-card{--g:#2c6653;--gd:#1f6a4f;--gl:#3f8a6e;--ink:#26332e;--muted:#6d7d76;--line:#d9e3de;position:relative;overflow:hidden;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px -18px rgba(31,106,79,.5);padding:15px 16px 16px;font-family:system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink)}
.sdtdx-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--gl),var(--g))}
/* 2カラム: 左=生存ステータス(バニラ準拠) / 右=既存 */
.sdtdx-card2{display:grid;grid-template-columns:minmax(150px,.82fr) 1.55fr;gap:15px;align-items:stretch}
.sdtdx-vitals{background:linear-gradient(160deg,#f6faf8,#eef4f1);border:1px solid var(--line);border-radius:11px;padding:11px 12px;display:flex;flex-direction:column;gap:8px}
.sdtdx-vh{font-size:11.5px;font-weight:800;color:var(--gd);letter-spacing:.03em;margin-bottom:1px}
.sdtdx-acct{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--ink);font-weight:700;margin:2px 0 4px;font-variant-numeric:tabular-nums;flex-wrap:wrap}
.sdtdx-acct b{color:var(--gd)}
.sdtdx-xp{display:inline-flex;align-items:center;gap:5px;cursor:help}
.sdtdx-xpbar{display:inline-block;width:54px;height:6px;border-radius:4px;background:#dfe6e1;border:1px solid var(--line,#c9d3cc);overflow:hidden;vertical-align:middle}
.sdtdx-xpbar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#e8b53a,#f6d36b);transition:width .4s}
.sdtdx-xp small{color:var(--gm,#7a877f);font-weight:600;font-size:10px}
.sdtdx-v{display:flex;align-items:center;gap:7px}
.sdtdx-v .i{width:17px;text-align:center;font-size:12.5px;flex:0 0 auto}
.sdtdx-v .b{flex:1;height:9px;background:#dde7e2;border-radius:6px;overflow:hidden;border:1px solid #cddad3}
.sdtdx-v .b>i{display:block;height:100%;width:0;border-radius:6px;transition:width .5s ease}
.sdtdx-v .n{font-size:10.5px;color:var(--ink);font-weight:700;min-width:52px;text-align:right;font-variant-numeric:tabular-nums}
.sdtdx-v .n small{color:#9aa8a1;font-weight:600}
.sdtdx-v[data-k=stam] .b>i{background:linear-gradient(90deg,#e6cf5a,#caa62b)}
.sdtdx-v[data-k=hp] .b>i{background:linear-gradient(90deg,#e56b6b,#cc3b3b)}
.sdtdx-v[data-k=food] .b>i{background:linear-gradient(90deg,#e79a45,#c47320)}
.sdtdx-v[data-k=water] .b>i{background:linear-gradient(90deg,#57a8e0,#2b7fc9)}
.sdtdx-prov{display:flex;align-items:center;gap:5px;margin-top:3px;flex-wrap:wrap}
.sdtdx-prov .pl{font-size:10.5px;color:var(--ink);font-weight:700;margin-right:2px}
.sdtdx-prov .pl b{color:var(--gd)}
.sdtdx-pb{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 8px;font-size:10.5px;font-weight:700;color:var(--gd);cursor:pointer;font-family:inherit;transition:border-color .12s,background .12s}
.sdtdx-pb:hover{border-color:var(--gl);background:#f3f7f5}
.sdtdx-pb:active{transform:translateY(1px)}
.sdtdx-pb:disabled{opacity:.45;cursor:not-allowed}
.sdtdx-vnote{font-size:9.5px;color:#9aa8a1;line-height:1.4;margin-top:1px}
.sdtdx-clock{margin-left:auto;font-size:11px;font-weight:800;color:#2c3b45;background:#eef2f0;border:1px solid var(--line);border-radius:7px;padding:3px 8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.sdtdx-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}
.sdtdx-card2 .sdtdx-col-main{min-width:0;display:flex;flex-direction:column}
.sdtdx-card2 .sdtdx-cta{margin-top:auto}
@media(max-width:600px){.sdtdx-card2{grid-template-columns:1fr;gap:12px}
/* CTA: 「探索を始める」を全幅、下段のステータス3ボタンは均等幅で折り返し(はみ出しクリップ防止) */
.sdtdx-cta .sdtdx-play{flex:1 1 100%}
.sdtdx-cta .sdtdx-status{flex:1 1 auto;text-align:center;justify-content:center;padding:9px 8px}}
.sdtdx-card-top{display:flex;align-items:center;gap:10px}
.sdtdx-mini{--n:5;flex:0 0 auto;display:grid;grid-template-columns:repeat(5,9px);grid-auto-rows:9px;gap:2px;padding:6px;border-radius:9px;background:#12100a}
.sdtdx-mini i{border-radius:2px;background:#231b10;display:block}
.sdtdx-mini i.f{background:#2a2113}.sdtdx-mini i.p{background:#e08a2b;box-shadow:0 0 5px 1px rgba(224,138,43,.8)}.sdtdx-mini i.z{background:#cf4139}.sdtdx-mini i.c{background:#caa24a}
.sdtdx-card-head h3{margin:0;font-size:16px;font-weight:800}
.sdtdx-dev{font-size:10px;font-weight:700;color:#b07d2a;background:#f6efe0;border:1px solid #e6d6ac;border-radius:5px;padding:1px 6px;vertical-align:middle;margin-left:4px}
.sdtdx-badge{display:inline-flex;align-items:center;gap:5px;margin-top:3px;font-size:11px;font-weight:800;color:var(--gd);background:#e6f2ec;border:1px solid #c9e5d7;border-radius:999px;padding:2px 8px}
.sdtdx-lp{width:6px;height:6px;border-radius:50%;background:var(--g);box-shadow:0 0 0 3px rgba(44,102,83,.18)}
.sdtdx-desc{margin:11px 0 13px;font-size:12.5px;line-height:1.55;color:var(--muted)}
.sdtdx-desc b{color:var(--ink);font-weight:700}
.sdtdx-cta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sdtdx-play{flex:1;border:0;cursor:pointer;font-family:inherit;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(180deg,var(--gl),var(--g));border-radius:10px;padding:11px 14px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 16px -8px rgba(31,106,79,.7);transition:transform .06s,filter .15s}
.sdtdx-play:hover{filter:brightness(1.06)}.sdtdx-play:active{transform:translateY(1px)}
.sdtdx-status{border:1px solid var(--line);background:#f3f7f5;border-radius:10px;padding:9px 11px;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap;font-weight:700;text-decoration:none}
.sdtdx-status:hover{border-color:var(--gl);color:var(--gd)}
.sdtdx-foot{margin-top:10px;font-size:11px;color:#9aa8a1;display:flex;align-items:center;gap:6px}
/* /rp/ 用 探索クレジットカード(サイト明テーマ) */
.sdtdx-status-card{background:linear-gradient(135deg,#fff,#f4f8f6);border:1px solid #d9e3de;border-left:4px solid #2c6653;border-radius:12px;padding:13px 15px;margin:14px 0;font-family:system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#26332e}
.sdtdx-sc-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.sdtdx-sc-head b{font-weight:800}
.sdtdx-sc-ico{font-size:18px}
.sdtdx-sc-note{font-size:11px;color:#8a97a5;margin-left:2px}
.sdtdx-sc-row{display:flex;align-items:center;gap:16px;margin-top:9px;flex-wrap:wrap}
.sdtdx-sc-bal{font-size:26px;font-weight:800;color:#1f6a4f;line-height:1;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:5px}
.sdtdx-sc-bal small{font-size:11px;font-weight:700;color:#8a97a5}
.sdtdx-sc-today{font-size:12.5px;color:#6d7d76}.sdtdx-sc-today b{color:#26332e;font-variant-numeric:tabular-nums}
.sdtdx-sc-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.sdtdx-sc-btn{border:0;cursor:pointer;font-family:inherit;font-weight:800;font-size:13px;color:#fff;background:linear-gradient(180deg,#3f8a6e,#2c6653);border-radius:9px;padding:9px 16px;box-shadow:0 5px 14px -7px rgba(31,106,79,.7);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.sdtdx-sc-btn:hover{filter:brightness(1.06)}.sdtdx-sc-btn:active{transform:translateY(1px)}
.sdtdx-sc-btn:disabled{opacity:.5;cursor:default;filter:none}
.sdtdx-sc-btn.ghost{background:#eef4f1;color:#1f6a4f;border:1px solid #cfe0d8;box-shadow:none}
.sdtdx-sc-btn.ghost:hover{background:#e4efe9}
.sdtdx-sc-msg{margin-top:10px;font-size:12.5px;border-radius:8px;padding:8px 11px}
.sdtdx-sc-msg.ok{background:#e6f2ec;color:#1f6a4f;border:1px solid #c9e5d7}
.sdtdx-sc-msg.err{background:#fdecea;color:#b23b32;border:1px solid #f3c9c4}
/* ===== modal ===== */
.sdtdx-ov{--d-panel:#1c160e;--d-panel2:#241d12;--d-raise:#2c2417;--d-ink:#ece0c8;--d-muted:#9c8f72;--d-faint:#6f6450;--amber:#e08a2b;--blood:#cf4139;--moss:#8bb14b;--steel:#6f8ba0;--d-line:rgba(236,224,200,.10);--d-line2:rgba(236,224,200,.055);--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:16px;background:rgba(8,6,3,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.sdtdx-ov[hidden]{display:none}
.sdtdx-modal{position:relative;width:100%;max-width:760px;max-height:94vh;overflow:auto;font-family:var(--mono);color:var(--d-ink);border:1px solid var(--d-line);border-radius:16px;background:linear-gradient(180deg,var(--d-panel),#181209);box-shadow:0 40px 90px -30px #000}
.sdtdx-bagpanel{position:absolute;left:50%;bottom:78px;transform:translateX(-50%);width:min(470px,93%);max-height:64%;overflow:auto;z-index:5;background:linear-gradient(180deg,#221b11,#171009);border:1px solid var(--d-line);border-radius:12px;box-shadow:0 20px 50px -18px #000}
.sdtdx-bagpanel[hidden]{display:none}
.sdtdx-bag-h{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--d-line);background:#221b11;font-size:14px;font-weight:700}
.sdtdx-bag-h small{font-weight:400;font-size:11px;color:var(--d-muted)}
.sdtdx-bag-x{margin-left:auto;border:1px solid var(--d-line);background:var(--d-panel2);color:var(--d-ink);cursor:pointer;width:26px;height:26px;border-radius:7px;font-size:13px}
.sdtdx-bag-x:hover{border-color:var(--amber)}
.sdtdx-bag-list{padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.sdtdx-bag-item{display:flex;align-items:center;gap:9px;font-size:13px;padding:6px 9px;background:var(--d-panel2);border:1px solid var(--d-line2);border-radius:8px}
.sdtdx-bag-item .ic{font-size:15px}
.sdtdx-bag-item .nm{flex:1;color:var(--d-ink);word-break:break-all}
.sdtdx-bag-item .ct{color:var(--d-muted);font-weight:700;font-variant-numeric:tabular-nums}
.sdtdx-bag-item .vl{color:var(--moss);font-weight:700;font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.sdtdx-bag-total{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;margin-top:4px;border-top:1px solid var(--d-line);font-size:12px;color:var(--d-muted)}
.sdtdx-bag-total b{color:var(--moss);font-size:14px}
.sdtdx-bag-empty{color:var(--d-muted);font-size:12.5px;text-align:center;padding:12px}
.sdtdx-mtop{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--d-line);background:linear-gradient(180deg,rgba(224,138,43,.07),transparent)}
.sdtdx-t{font-weight:700;font-size:15px}.sdtdx-t em{color:var(--amber);font-style:normal}
.sdtdx-meta{margin-left:auto;font-size:12px;color:var(--d-muted);display:flex;gap:12px}.sdtdx-meta b{color:var(--d-ink)}
.sdtdx-x{border:1px solid var(--d-line);background:var(--d-panel2);color:var(--d-ink);cursor:pointer;width:32px;height:32px;border-radius:8px;font-size:16px;line-height:1}
.sdtdx-x:hover{border-color:var(--amber)}
.sdtdx-mbody{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(190px,.9fr)}
@media (max-width:600px){.sdtdx-mbody{grid-template-columns:1fr}}
.sdtdx-gw{padding:16px;border-right:1px solid var(--d-line)}
@media (max-width:600px){.sdtdx-gw{border-right:0;border-bottom:1px solid var(--d-line)}}
.sdtdx-grid{--n:11;position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:3px;aspect-ratio:1/1;user-select:none}
.sdtdx-cell{position:relative;border-radius:5px;display:grid;place-items:center;font-size:clamp(10px,2.2vw,18px);background:var(--d-panel2);box-shadow:inset 0 0 0 1px var(--d-line2);transition:transform .08s,box-shadow .12s}
.sdtdx-cell.floor{background:repeating-linear-gradient(45deg,#211a10,#211a10 6px,#1f1810 6px,#1f1810 12px)}
.sdtdx-cell.wall{background:linear-gradient(180deg,var(--d-raise),#1a140b);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 -2px 3px rgba(0,0,0,.5)}
.sdtdx-cell.exit{background:radial-gradient(circle,rgba(139,177,75,.35),transparent 70%);box-shadow:inset 0 0 0 1px rgba(139,177,75,.5)}
.sdtdx-cell.reach{cursor:pointer}.sdtdx-cell.reach:hover{box-shadow:inset 0 0 0 1px var(--amber);transform:translateY(-1px)}
.sdtdx-player{pointer-events:none;position:absolute;inset:0;display:grid;place-items:center;z-index:3;transition:transform .12s cubic-bezier(.3,.8,.3,1);pointer-events:none}
.sdtdx-player .g{filter:drop-shadow(0 0 6px rgba(224,138,43,.9))}
.sdtdx-player::after{content:"";position:absolute;width:76%;height:76%;border-radius:50%;border:1px solid rgba(224,138,43,.55);animation:sdtdx-pulse 2.4s ease-in-out infinite}
@keyframes sdtdx-pulse{0%,100%{transform:scale(.7);opacity:.25}50%{transform:scale(1);opacity:.8}}
@media (prefers-reduced-motion:reduce){.sdtdx-player::after{animation:none}}
.sdtdx-side{padding:16px;display:flex;flex-direction:column;gap:14px}
.sdtdx-ph{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--d-muted);display:flex;gap:8px;align-items:center}
.sdtdx-ph::after{content:"";flex:1;height:1px;background:var(--d-line)}
.sdtdx-m .sdtdx-lab{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}
.sdtdx-lab span{color:var(--d-muted)}.sdtdx-lab b{font-variant-numeric:tabular-nums}
.sdtdx-bar{height:9px;border-radius:999px;background:#120d07;box-shadow:inset 0 0 0 1px var(--d-line2);overflow:hidden;margin-bottom:9px}
.sdtdx-bar>i{display:block;height:100%;border-radius:999px;transition:width .35s}
.sdtdx-bar.hp>i{background:linear-gradient(90deg,#8f2b25,var(--blood))}
.sdtdx-bar.st>i{background:linear-gradient(90deg,#5e7d32,var(--moss))}
.sdtdx-bar.fd>i{background:linear-gradient(90deg,#a5641f,#e0913a)}
.sdtdx-bar.wt>i{background:linear-gradient(90deg,#2b6f9e,#57a8e0)}
/* ツールベルト(実ゲーム準拠hotbar: 10スロット固定・ドラッグ入れ替え・武器装備) */
.sdtdx-toolbelt{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;align-items:center;padding:2px 16px 6px;min-height:20px}
.sdtdx-toolbelt .tb-slot{position:relative;width:46px;height:46px;border:1px solid var(--d-line2);background:linear-gradient(180deg,#1a130b,#120c06);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .06s,border-color .12s,box-shadow .12s}
.sdtdx-toolbelt .tb-slot.filled{cursor:pointer}
.sdtdx-toolbelt .tb-slot.filled:hover{border-color:var(--amber);transform:translateY(-2px)}
.sdtdx-toolbelt .tb-slot.empty{opacity:.5}
.sdtdx-toolbelt .tb-slot.empty .tb-n{font-size:11px;color:var(--d-faint);font-family:var(--mono)}
.sdtdx-toolbelt .tb-slot.weapon{box-shadow:inset 0 -3px 0 -1px #b06a2a}
.sdtdx-toolbelt .tb-slot.armor{box-shadow:inset 0 -3px 0 -1px #5a7a9e}
.sdtdx-toolbelt .tb-slot.consumable{box-shadow:inset 0 -3px 0 -1px #4a8f5a}
.sdtdx-toolbelt .tb-slot.active{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber) inset,0 0 10px -2px var(--amber)}
.sdtdx-toolbelt .tb-slot.tb-over{border-color:#7fd0ff;box-shadow:0 0 0 2px #7fd0ff inset}
.sdtdx-toolbelt .tb-ct{position:absolute;right:2px;bottom:1px;font-size:9px;color:#fff;font-family:var(--mono);text-shadow:0 1px 2px #000}
.sdtdx-toolbelt .tb-b{position:absolute;right:1px;top:1px;font-size:9px;font-weight:800;font-family:var(--mono);text-shadow:0 1px 2px #000}
.tb-b.atk{color:#ffb877}.tb-b.def{color:#9fcaf0}
/* インベントリパネル(ツールベルト+バックパック グリッド) */
.sdtdx-inv-h{font-size:11px;color:var(--d-muted);font-weight:700;margin:9px 0 5px}
.sdtdx-inv-grid{display:grid;gap:4px;grid-template-columns:repeat(9,1fr)}
.sdtdx-inv-grid.tb{grid-template-columns:repeat(10,1fr)}
.sdtdx-inv-grid.bp{grid-template-columns:repeat(9,1fr)}
@media(max-width:600px){.sdtdx-inv-grid.bp{grid-template-columns:repeat(6,1fr)}.sdtdx-inv-grid.tb{grid-template-columns:repeat(5,1fr)}}
.sdtdx-inv-grid .tb-slot{position:relative;aspect-ratio:1;border:1px solid var(--d-line2);background:linear-gradient(180deg,#1a130b,#120c06);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px;transition:border-color .12s,box-shadow .12s}
.sdtdx-inv-grid .tb-slot.filled{cursor:pointer}
.sdtdx-inv-grid .tb-slot.filled:hover{border-color:var(--amber)}
.sdtdx-inv-grid .tb-slot.empty{opacity:.4}
.sdtdx-inv-grid .tb-slot.weapon{box-shadow:inset 0 -3px 0 -1px #b06a2a}
.sdtdx-inv-grid .tb-slot.armor{box-shadow:inset 0 -3px 0 -1px #5a7a9e}
.sdtdx-inv-grid .tb-slot.consumable{box-shadow:inset 0 -3px 0 -1px #4a8f5a}
.sdtdx-inv-grid .tb-slot.active{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber) inset}
.sdtdx-inv-grid .tb-slot.tb-over{border-color:#7fd0ff;box-shadow:0 0 0 2px #7fd0ff inset}
.sdtdx-inv-grid .tb-ct{position:absolute;right:2px;bottom:1px;font-size:9px;color:#fff;font-family:var(--mono);text-shadow:0 1px 2px #000}
.sdtdx-inv-grid .tb-b{position:absolute;right:1px;top:1px;font-size:9px;font-weight:800;color:#ffd479;font-family:var(--mono);text-shadow:0 1px 2px #000}
.sdtdx-inv-note{font-size:10px;color:var(--d-faint);line-height:1.5;margin-top:8px}
.sdtdx-inv-note.nudge{color:#e0b060;margin-top:6px}
.sdtdx-inv-note.nudge a{color:var(--amber);font-weight:700}
/* カード上ツールベルト＋持ち物ボタン */
.sdtdx-card-inv{display:flex;align-items:center;gap:8px;margin:8px 0 12px}
.sdtdx-toolbelt.sdtdx-card-tb{flex:1;min-width:0;justify-content:flex-start;padding:0;min-height:0;flex-wrap:nowrap;overflow-x:auto;gap:4px}
.sdtdx-card-tb .tb-slot{width:38px;height:38px;flex:0 0 auto;font-size:16px}
.sdtdx-invbtn{flex:0 0 auto;border:1px solid var(--line);background:#f3f7f5;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700;color:var(--gd);cursor:pointer;white-space:nowrap;font-family:inherit}
.sdtdx-basebar{display:flex;align-items:center;gap:8px;margin:-4px 0 12px;font-size:11.5px;color:var(--gd);flex-wrap:wrap}
.sdtdx-basebar .bb-lab{font-weight:700;white-space:nowrap}
.sdtdx-basebar .bb-val{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.sdtdx-basebar .bb-loc{color:var(--gm,#6b7a72);white-space:nowrap}
.sdtdx-dpbar{flex:1;min-width:80px;max-width:180px;height:8px;border-radius:5px;background:#e2e8e4;overflow:hidden;border:1px solid var(--line)}
.sdtdx-dpbar>i{display:block;height:100%;width:0;background:#6db54a;transition:width .3s}
.sdtdx-dpbar>i.mid{background:#d8a63a}
.sdtdx-dpbar>i.low{background:#c9503a}
.sdtdx-basebar .sdtdx-pb:disabled{opacity:.45;cursor:default}
.sdtdx-invbtn:hover{border-color:var(--gl)}
/* カードから開く独立インベントリモーダル */
.sdtdx-inv-ov{--d-panel:#1c160e;--d-panel2:#241d12;--d-ink:#ece0c8;--d-muted:#9c8f72;--d-faint:#6f6450;--amber:#e08a2b;--moss:#8bb14b;--d-line:rgba(236,224,200,.10);--d-line2:rgba(236,224,200,.055);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(8,6,3,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.sdtdx-inv-ov[hidden]{display:none}
.sdtdx-inv-modal{width:min(560px,100%);max-height:88vh;overflow:auto;background:linear-gradient(180deg,#1c160e,#140e07);border:1px solid var(--d-line);border-radius:14px;color:var(--d-ink);font-family:var(--mono);box-shadow:0 30px 70px -20px #000}
.sdtdx-inv-mtop{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--d-line);position:sticky;top:0;background:#1c160e;z-index:1}
.sdtdx-inv-mtop b{font-size:15px}
.sdtdx-inv-hint{font-size:10.5px;color:var(--d-muted);font-weight:400}
.sdtdx-inv-mtop .sdtdx-x{margin-left:auto}
/* トレーダー */
.sdtdx-tr-coin{margin-left:auto;font-size:13px;font-weight:800;color:#ffd479;font-variant-numeric:tabular-nums}
.sdtdx-inv-mtop .sdtdx-tr-coin + .sdtdx-x{margin-left:10px}
.sdtdx-tr-list{padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.sdtdx-tr-item{display:flex;align-items:center;gap:10px;background:#161b22;border:1px solid #242b34;border-radius:9px;padding:8px 11px}
.sdtdx-tr-item .ic{font-size:18px;width:24px;text-align:center}
.sdtdx-tr-item .nm{flex:1;font-size:13px;color:var(--d-ink)}
.sdtdx-tr-item .nm small{display:block;color:var(--d-muted);font-size:10.5px}
.sdtdx-tr-item .pr{font-size:13px;font-weight:800;color:#ffd479;white-space:nowrap}
.sdtdx-tr-buy{border:1px solid #33404e;background:linear-gradient(180deg,#2c6cb0,#245a94);color:#fff;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}
.sdtdx-tr-buy:hover{filter:brightness(1.08)}
.sdtdx-tr-buy:disabled{opacity:.4;cursor:not-allowed;background:#2a313b}
.sdtdx-tr-note{font-size:10.5px;color:var(--d-faint);padding:4px 2px}
.sdtdx-tr-tabs{display:flex;align-items:center;gap:6px;padding:8px 14px 0}
.sdtdx-tr-tab{border:1px solid var(--d-line);background:var(--d-panel2);color:var(--d-muted);border-radius:8px 8px 0 0;padding:7px 14px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
.sdtdx-tr-tab.active{background:#161b22;color:var(--d-ink);border-bottom-color:#161b22}
.sdtdx-tr-refresh{margin-left:auto;border:1px solid #33404e;background:#1a2029;color:#cfe3ff;border-radius:8px;padding:7px 11px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit}
.sdtdx-tr-refresh:hover{border-color:#7fb0e0}
.sdtdx-tr-refresh.spin{pointer-events:none}
.sdtdx-tr-refresh.spin{animation:sdtdx-trspin .6s linear}
@keyframes sdtdx-trspin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.sdtdx-tr-list{transition:opacity .18s}
.sdtdx-tr-list.fade{opacity:0}
.sdtdx-tr-item .sell{color:#8ee6a5}
@media(max-width:600px){.sdtdx-inv-ov{padding:0}.sdtdx-inv-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0}}
.sdtdx-combat{display:flex;gap:9px}
.sdtdx-stat{flex:1;background:var(--d-panel2);border:1px solid var(--d-line);border-radius:9px;padding:8px 10px}
.sdtdx-stat .k{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)}
.sdtdx-stat .v{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}
.sdtdx-stat.atk .v{color:var(--amber)}.sdtdx-stat.def .v{color:var(--steel)}
.sdtdx-log{background:#100b06;border:1px solid var(--d-line);border-radius:9px;padding:10px 11px;font-size:12px;color:var(--d-muted);min-height:70px}
.sdtdx-log .l{padding:2px 0}.sdtdx-log .l.now{color:var(--d-ink)}
.sdtdx-ctl{padding:14px 16px 18px;border-top:1px solid var(--d-line);display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.sdtdx-dpad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,42px);gap:6px}
.sdtdx-db{border:1px solid var(--d-line);background:linear-gradient(180deg,var(--d-raise),#181109);color:var(--d-ink);font-family:var(--mono);font-size:16px;border-radius:9px;cursor:pointer;display:grid;place-items:center;transition:transform .06s,border-color .12s}
.sdtdx-db:hover{border-color:var(--amber)}.sdtdx-db:active{transform:translateY(1px)}
.sdtdx-acts{display:flex;gap:9px;margin-left:auto;flex-wrap:wrap}
.sdtdx-ab{border:1px solid var(--d-line);background:var(--d-panel2);color:var(--d-ink);font-family:var(--mono);font-size:13px;padding:10px 14px;border-radius:9px;cursor:pointer;transition:border-color .12s,transform .06s}
.sdtdx-ab:hover{border-color:var(--amber)}.sdtdx-ab:active{transform:translateY(1px)}
.sdtdx-ab.pri{background:linear-gradient(180deg,#b96e1f,#8f5316);border-color:#c9853a;color:#1a1206;font-weight:700}
.sdtdx-hint{padding:0 16px 14px;font-size:11px;color:var(--d-faint);text-align:center}
.sdtdx-kbd{border:1px solid var(--d-line);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:10px;color:var(--d-muted)}
/* 場所/難易度 選択パネル */
.sdtdx-modal.selecting .sdtdx-mbody,.sdtdx-modal.selecting .sdtdx-ctl,.sdtdx-modal.selecting .sdtdx-hint,.sdtdx-modal.selecting .sdtdx-toolbelt{display:none}
.sdtdx-select{padding:18px}
.sdtdx-sel-h{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted);margin-bottom:10px}
.sdtdx-poi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px}
.sdtdx-poi{text-align:left;border:1px solid var(--d-line);background:var(--d-panel2);color:var(--d-ink);border-radius:10px;padding:11px 12px;cursor:pointer;font-family:var(--mono);transition:border-color .12s,transform .06s}
.sdtdx-poi:hover{border-color:var(--amber)}.sdtdx-poi:active{transform:translateY(1px)}
.sdtdx-poi.sel{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber);background:#2a2113}
.sdtdx-poi .nm{font-size:14px;font-weight:700}
.sdtdx-poi .ds{font-size:11px;color:var(--d-muted);margin-top:3px;line-height:1.4}
.sdtdx-tier-row{display:flex;gap:8px;flex-wrap:wrap}
.sdtdx-tier{border:1px solid var(--d-line);background:var(--d-panel2);color:var(--d-ink);border-radius:9px;padding:9px 16px;cursor:pointer;font-family:var(--mono);font-size:13px;font-weight:700}
.sdtdx-tier:hover{border-color:var(--amber)}
.sdtdx-tier.sel{background:linear-gradient(180deg,#b96e1f,#8f5316);border-color:#c9853a;color:#1a1206}
.sdtdx-sel-go{margin-top:16px;width:100%;border:0;cursor:pointer;font-family:var(--mono);font-weight:700;font-size:14px;color:#1a1206;background:linear-gradient(180deg,#d9822b,#b96e1f);border-radius:10px;padding:13px}
.sdtdx-sel-go:hover{filter:brightness(1.06)}.sdtdx-sel-go:active{transform:translateY(1px)}
/* ワールドマップ層 */
.sdtdx-modal.selecting .sdtdx-world[hidden]{display:none}
.sdtdx-world{padding:18px}
.sdtdx-wgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;max-width:420px;margin:0 auto}
.sdtdx-wcell{position:relative;aspect-ratio:1;border:1px solid var(--d-line);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--mono);color:#f4ecdf;transition:transform .06s,box-shadow .12s;overflow:hidden}
.sdtdx-wcell:hover{box-shadow:inset 0 0 0 2px var(--amber);transform:translateY(-1px)}
.sdtdx-wcell.current{box-shadow:inset 0 0 0 2px var(--moss),0 0 10px -1px var(--moss)}
.sdtdx-here{display:inline-block;font-size:10px;font-weight:800;color:#0d1a12;background:var(--moss);border-radius:5px;padding:1px 6px;vertical-align:middle;margin-left:4px}
.sdtdx-wcell .em{font-size:17px;line-height:1}
.sdtdx-wcell .dg{font-size:9px;letter-spacing:.05em;opacity:.9}
.sdtdx-wcell .pc{position:absolute;top:2px;right:4px;font-size:9px;color:#fff;opacity:.75}
.sdtdx-wcell[data-biome=snow]{background:linear-gradient(160deg,#3a4b63,#2a3547)}
.sdtdx-wcell[data-biome=desert]{background:linear-gradient(160deg,#8a6f39,#6b552b)}
.sdtdx-wcell[data-biome=pine_forest]{background:linear-gradient(160deg,#2f5a3b,#22422c)}
.sdtdx-wcell[data-biome=wasteland]{background:linear-gradient(160deg,#6b5a2e,#4a3f22)}
.sdtdx-wcell[data-biome=burnt_forest]{background:linear-gradient(160deg,#5a3630,#412622)}
.sdtdx-wlegend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 4px;font-size:11px;color:var(--d-muted)}
.sdtdx-wlegend span{display:inline-flex;align-items:center;gap:4px}
.sdtdx-wlegend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.sdtdx-wquick{display:block;margin:10px auto 0;background:none;border:0;color:var(--d-faint);font-size:11px;cursor:pointer;text-decoration:underline}
.sdtdx-wback{background:none;border:0;color:var(--amber);font-size:12px;cursor:pointer;padding:0;margin-bottom:10px}
.sdtdx-region-head{font-size:15px;font-weight:700;color:var(--d-ink);margin-bottom:4px}
.sdtdx-region-head small{display:block;font-size:11px;color:var(--d-muted);font-weight:400;margin-top:3px}
.sdtdx-poi-list{display:flex;flex-direction:column;gap:6px;max-height:44vh;overflow:auto;margin-top:10px}
.sdtdx-poi-item{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--d-line);background:var(--d-panel2);color:var(--d-ink);border-radius:9px;padding:9px 11px;cursor:pointer;font-family:var(--mono);transition:border-color .12s}
.sdtdx-poi-item:hover{border-color:var(--amber)}
.sdtdx-poi-item .pt{flex:1}
.sdtdx-poi-item .pn{font-size:13px;font-weight:700}
.sdtdx-poi-item .pm{font-size:10px;color:var(--d-muted);margin-top:2px}
.sdtdx-poi-item .st{color:var(--amber);font-size:12px;white-space:nowrap}
.sdtdx-roam-go{display:block;width:100%;margin-top:12px;border:0;cursor:pointer;font-family:var(--mono);font-weight:700;font-size:13px;color:#0d1a12;background:linear-gradient(180deg,#7fe3a0,#39c07a);border-radius:10px;padding:12px}
.sdtdx-roam-go.alt{margin-top:8px;color:#fff;background:linear-gradient(180deg,#3c86c8,#2b6cb0)}
.sdtdx-roam-go:hover{filter:brightness(1.05)}.sdtdx-roam-go:active{transform:translateY(1px)}
.sdtdx-trader-note{margin-top:8px;font-size:11.5px;color:#cfe3ff;background:rgba(60,134,200,.12);border:1px solid rgba(60,134,200,.4);border-radius:9px;padding:8px 11px;line-height:1.5}
/* リージョン踏破(overworld) */
.sdtdx-modal.roaming .sdtdx-mbody,.sdtdx-modal.roaming .sdtdx-ctl,.sdtdx-modal.roaming .sdtdx-hint,.sdtdx-modal.roaming .sdtdx-select,.sdtdx-modal.roaming .sdtdx-world,.sdtdx-modal.roaming .sdtdx-toolbelt{display:none}
.sdtdx-region{padding:0}
/* ★踏破もPOIと同じ2カラム(グリッド左+ステータスパネル右) */
.sdtdx-rbody{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(190px,.9fr)}
@media (max-width:600px){.sdtdx-rbody{grid-template-columns:1fr}}
#sdtdx-roam .sdtdx-rctl{padding:12px 16px}
#sdtdx-roam .sdtdx-toolbelt{padding:0 16px 12px}
.sdtdx-modal.roaming #sdtdx-rtoolbelt{display:flex}
.sdtdx-rtop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.sdtdx-rhead{font-size:13px;font-weight:700;color:var(--d-ink)}
.sdtdx-rmeta{display:flex;gap:12px;font-size:12px;color:var(--d-muted)}
.sdtdx-rmeta b{color:var(--d-ink)}
.sdtdx-rmeta span.low,.sdtdx-rmeta span.low b{color:#ff6a6a;font-weight:800}
.sdtdx-rgw{display:flex;justify-content:center;align-items:flex-start}
.sdtdx-rgrid{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;width:min(100%,396px);aspect-ratio:1;background:#0c0906;padding:4px;border-radius:10px;border:1px solid var(--d-line)}
.sdtdx-rcell{cursor:pointer;position:relative;border-radius:3px;background:#17110a;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;overflow:hidden}
.sdtdx-rcell.res{background:#14201a}
.sdtdx-rcell.home{background:#1c2436;box-shadow:inset 0 0 0 1px #3a4a6b}
.sdtdx-rcell.trader{background:#132033;box-shadow:inset 0 0 0 2px #3c86c8}
.sdtdx-rcell.pl{background:#2a2113;box-shadow:inset 0 0 0 2px var(--amber)}
.sdtdx-rcell.mybase{background:#20301c;box-shadow:inset 0 0 0 2px #6db54a}
.sdtdx-rcell.zombie{background:#241a24;box-shadow:inset 0 0 0 2px #7a5aa0}.sdtdx-rcell.zombie .sdi{color:#c7a3e0}
.sdtdx-rcell.zombie.feral{background:#3a1414;box-shadow:inset 0 0 0 2px #d24a4a}.sdtdx-rcell.zombie.feral .sdi{color:#ff8a7a}
.sdtdx-rgrid.night{background:#0a0d16;box-shadow:inset 0 0 40px -6px #001,0 0 0 1px #1a2740}
.sdtdx-rgrid.bloodmoon{background:#140406;box-shadow:inset 0 0 46px -4px #300,0 0 0 1px #5a1a1a}
.sdtdx-night{color:#e08aa0;font-weight:700;font-size:11px;margin-left:4px}
.sdtdx-night.blood{color:#ff6a6a;text-shadow:0 0 8px rgba(210,40,40,.6)}
.sdtdx-scream{color:#ffcf5a;font-weight:700;font-size:11px;margin-left:4px}
.sdtdx-rcell.zombie.screamer{box-shadow:inset 0 0 0 2px #e8b53a;animation:sdtdxScream 1.1s ease-in-out infinite}
.sdtdx-rcell.zombie.screamer .z-scr{position:absolute;right:0;top:-1px;font-size:8px;line-height:1}
@keyframes sdtdxScream{0%,100%{box-shadow:inset 0 0 0 2px #e8b53a}50%{box-shadow:inset 0 0 0 2px #ffe08a,0 0 8px -1px rgba(232,181,58,.7)}}
.sdtdx-acts .sdtdx-ab.trade{background:var(--d-panel2);border-color:#3c86c8;color:#cfe3ff}
.sdtdx-acts .sdtdx-ab.base{background:var(--d-panel2);border-color:#6db54a;color:#d6f0c5}
.sdtdx-acts .sdtdx-ab.rest{background:var(--d-panel2);border-color:#c9853a;color:#f0d6b0}
.sdtdx-acts .sdtdx-ab.rest:disabled{opacity:.4;cursor:default}
.sdtdx-rmeta span.rest,.sdtdx-rmeta span.rest b{color:#7fe3a0}
.sdtdx-rcell.hostile{outline:1px solid #b04a4a}
.sdtdx-rlog{min-height:20px;margin:9px 0 4px;font-size:12px;color:var(--d-muted);text-align:center}
.sdtdx-rctl{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}
.sdtdx-fab{position:fixed;right:18px;bottom:18px;z-index:99998;width:52px;height:52px;border-radius:50%;border:1px solid #c9853a;background:linear-gradient(180deg,#b96e1f,#8f5316);color:#1a1206;font-size:22px;cursor:pointer;box-shadow:0 10px 24px -8px rgba(0,0,0,.6)}
.sdtdx-fab:hover{filter:brightness(1.08)}
:root[data-theme] .sdtdx-modal,.sdtdx-modal{color-scheme:dark}
/* ===== スマホ: モーダル全画面・グリッド/ステータスは内部スクロール・操作系は最下部固定 ===== */
@media (max-width:600px){
  /* ★モバイル: モーダル全体をページスクロール可能に(移動ボタン/アクション/ツールベルトまで確実に届く)。
     旧: 100dvh固定flex+内部スクロールはURLバー等の端末差で下部コントロールに届かない場合があったため廃止。 */
  .sdtdx-ov{padding:0;display:block;place-items:unset;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .sdtdx-modal{max-width:100%;width:100%;height:auto;min-height:100dvh;max-height:none;border-radius:0;overflow:visible;display:block}
  .sdtdx-mtop{position:sticky;top:0;z-index:6;padding:9px 12px;gap:8px;background:linear-gradient(180deg,var(--d-panel),#1a130a)}
  .sdtdx-t{font-size:13.5px}
  .sdtdx-meta{gap:8px;font-size:11px;flex-wrap:wrap;justify-content:flex-end}
  /* 盤面/ステータス/選択/踏破: 内部スクロールをやめ内容の高さに(モーダルが伸び、全体でスクロール) */
  .sdtdx-mbody,.sdtdx-select,.sdtdx-world,.sdtdx-modal.roaming #sdtdx-roam,#sdtdx-roam .sdtdx-rgw{flex:none;min-height:0;max-height:none;overflow:visible}
  .sdtdx-gw{padding:10px}
  .sdtdx-side{padding:8px 12px;gap:7px}
  .sdtdx-bar{height:8px;margin-bottom:6px}
  .sdtdx-log{min-height:40px;max-height:120px;overflow:auto}
  /* 操作系はページ内の自然位置に(スクロールで届く) */
  .sdtdx-ctl,#sdtdx-roam .sdtdx-rctl{gap:12px;padding:8px 12px;justify-content:space-between;border-top:1px solid var(--d-line);background:var(--d-panel)}
  .sdtdx-dpad{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px);gap:5px}
  .sdtdx-acts{gap:6px;margin-left:0}
  .sdtdx-ab{padding:9px 10px;font-size:12px}
  .sdtdx-toolbelt{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:2px 10px 4px;gap:4px;-webkit-overflow-scrolling:touch}
  .sdtdx-toolbelt .tb-slot{width:42px;height:42px;flex:0 0 auto}
  .sdtdx-hint{padding:0 12px 8px}
}
