/* 0917v2：桌面採企劃指定4:3舞台，使用等比鏡頭；窄直式保留可讀性。 */
body { display:grid; place-items:center; }
#app { width:min(100vw, calc(100dvh * 4 / 3)); height:min(100dvh, 75vw); box-shadow:0 0 0 1px #c8baa0,0 0 40px #65513d22; }
.intro { width:100%; }
.portrait img, .dice-portrait img { image-rendering:pixelated; }
.level-key { display:inline-block; border:2px solid; background:#fff9ee; padding:0 3px; color:#302e27; }
.level-key.lv1 { border-color:#CC561E; }
.level-key.lv2 { border-color:#FF8C00; }
.level-key.lv3 { border-color:#FFD400; }
#mapLegend { line-height:20px; }
.score strong { white-space:nowrap; }
@media(min-width:701px) and (max-height:800px) {
  .topline { flex-wrap:wrap; gap:5px; }
  .topline > b { font-size:16px; }
  #season { font-size:13px; }
  .score .portrait { width:30px; height:30px; }
  .score .person-text b { font-size:14px; }
  .score .person-text small { font-size:11px; }
  .score strong { font-size:21px; }
  #choices button { font-size:16px; padding:7px 10px; }
  .action-dock { gap:12px; }
  #infoBody { padding:8px 3px; }
  #infoBody h2 { font-size:21px; margin-bottom:6px; }
  #infoBody p { margin-bottom:6px; line-height:1.4; }
  #infoBody .data-row { padding:4px 0; font-size:15px; }
}
@media(max-width:700px) {
  #app { width:100vw; height:100dvh; }
  .wallet strong { font-size:22px; }
  #choices button { font-size:14px; }
  #choices small { font-size:11px; }
  .map-legend { font-size:10px; }
}
