/* 追跡迷宮 */
#game-root{--g3d-title:'Shippori Mincho B1','Zen Kaku Gothic New',serif}

/* タイトル: 難易度 */
.mz-diff{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:560px;margin:0 auto}
.mz-diff button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px 9px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(14,16,20,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f1ece2;cursor:pointer;font:inherit;transition:background .2s,border-color .2s,transform .1s}
.mz-diff button:hover{background:rgba(40,44,52,.7)}
.mz-diff button:active{transform:scale(.97)}
.mz-diff button[aria-checked="true"]{border-color:var(--accent);background:rgba(224,83,61,.18);box-shadow:0 0 0 1px var(--accent) inset}
.mz-diff b{font-size:15px;font-weight:900;letter-spacing:.08em}
.mz-diff small{font-size:11px;opacity:.72}
.mz-diff em{font-style:normal;font-size:11.5px;opacity:.9;font-variant-numeric:tabular-nums;margin-top:2px}
.mz-records{margin:10px 0 0;font-size:12.5px;opacity:.78}
.mz-records b{color:var(--accent);font-size:14px}

/* 右上: 番人の警戒 */
.mz-aware{display:flex;align-items:center;gap:10px;padding:7px 12px 7px 9px;border-radius:14px;background:rgba(8,10,13,.55);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .3s,background .3s}
.mz-eye{width:44px;height:25px;overflow:hidden;flex:none}
.mz-eye__white{fill:#d9d3c4;opacity:.9}
.mz-eye__iris{fill:#4a5a52}
.mz-eye__pupil{fill:#050505}
.mz-eye__lid{fill:#1a1c20;transition:transform .25s ease}
.mz-aware__text{display:flex;flex-direction:column;gap:4px;min-width:108px}
.mz-aware__text b{font-size:12.5px;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.mz-aware__bar{display:block;height:4px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden}
.mz-aware__bar i{display:block;height:100%;width:0;background:#d9d3c4;border-radius:9px;transition:width .15s linear}
.mz-aware[data-state="suspicious"]{border-color:rgba(232,176,74,.55)}
.mz-aware[data-state="suspicious"] .mz-aware__bar i,.mz-aware[data-state="suspicious"] .mz-eye__iris{background:#e8b04a;fill:#e8b04a}
.mz-aware[data-state="search"]{border-color:rgba(236,128,60,.7)}
.mz-aware[data-state="search"] .mz-aware__bar i{background:#ec803c}
.mz-aware[data-state="search"] .mz-eye__iris{fill:#ec803c}
.mz-aware[data-state="spotted"]{border-color:#e0533d;background:rgba(60,10,8,.62);animation:mz-throb .7s ease-in-out infinite}
.mz-aware[data-state="spotted"] .mz-aware__bar i{background:#e0533d}
.mz-aware[data-state="spotted"] .mz-eye__iris{fill:#e0533d}
@keyframes mz-throb{50%{box-shadow:0 0 22px -2px rgba(224,83,61,.75)}}
.mz-noise{display:flex;align-items:flex-end;gap:3px;padding:5px 10px;border-radius:10px;background:rgba(8,10,13,.45);font-size:11px;font-weight:700;letter-spacing:.08em}
.mz-noise span{margin-right:5px;opacity:.75;align-self:center}
.mz-noise i{display:block;width:5px;border-radius:2px;background:rgba(255,255,255,.18)}
.mz-noise i:nth-of-type(1){height:6px}.mz-noise i:nth-of-type(2){height:10px}.mz-noise i:nth-of-type(3){height:14px}
.mz-noise i.is-on{background:#d9d3c4}
.mz-noise i.is-loud{background:#e8894a}

/* 地図（羊皮紙） */
.mz-map{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,86vw,calc(100svh - 150px));pointer-events:none;animation:mz-map-in .25s ease both}
.mz-map__paper{position:relative;padding:12px 12px 10px;border-radius:6px;background:#3a2b19;box-shadow:0 20px 60px -10px rgba(0,0,0,.8),0 0 0 1px rgba(0,0,0,.4);transform:rotate(-1.2deg)}
.mz-map__title{margin:0 0 6px;text-align:center;font-family:'Shippori Mincho B1',serif;font-size:15px;letter-spacing:.14em;color:#e9d9b4}
.mz-map canvas{display:block;width:100%;height:auto;border-radius:3px}
.mz-map__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:8px 0 0;font-size:11.5px;color:#e9d9b4;opacity:.9}
.mz-lg::before{content:'';display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50%;vertical-align:-1px}
.mz-lg--you::before{background:#c0321f;border-radius:1px;transform:rotate(45deg)}
.mz-lg--seal::before{background:#9cc8ff}
.mz-lg--gate::before{background:#7a1e14;border-radius:4px 4px 0 0}
.mz-lg--chalk::before{background:#fff}
.mz-map__hint{margin:4px 0 0;text-align:center;font-size:11.5px;color:#e9d9b4;opacity:.75}
@keyframes mz-map-in{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}

@media (max-width:640px){
  .mz-diff{gap:6px}
  .mz-diff button{padding:8px 4px}
  .mz-diff small{font-size:10px}
  .mz-aware{padding:5px 9px 5px 7px;gap:7px}
  .mz-eye{width:34px;height:20px}
  .mz-aware__text{min-width:88px}
  .mz-aware__text b{font-size:11.5px}
}
@media (max-height:480px) and (orientation:landscape){
  .mz-diff button{padding:6px 4px}
  .mz-diff small{display:none}
  .mz-records{display:none}
  .mz-map{width:min(420px,60vw,calc(100svh - 70px))}
  .mz-map__legend,.mz-map__hint{display:none}
}

/* タッチ操作時: 字幕をボタンの上へ、通知を数値の下へ */
@media (pointer:coarse){
  #game-root .g3d-subtitle{bottom:calc(264px + env(safe-area-inset-bottom));max-width:min(92vw,560px);font-size:14px}
}
@media (pointer:coarse) and (orientation:landscape){
  #game-root .g3d-subtitle{bottom:calc(176px + env(safe-area-inset-bottom));max-width:52vw}
}
@media (max-width:640px){
  #game-root .g3d-toast{top:calc(186px + env(safe-area-inset-top));max-width:94vw;font-size:12.5px;padding:7px 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* ---- 2026-10-06 チェックでの手直し ---- */
/* スマホ縦: 下の中央の「息」のゲージが「調べる」ボタンの下に半分隠れていた → 左下（スティックの下）へ */
@media (pointer:coarse) and (orientation:portrait){ #game-root .g3d-meters{left:calc(14px + env(safe-area-inset-left));transform:none;width:min(40vw,170px)} }
