.player-navigation { max-width: 452px; margin: 0 auto; }
.player-navigation .btn { margin: 0; font-size: 14px; }
.player-navigation #btnHome { flex: none; }
.spot-name, .clue-name, .cd-title, .sum-item .si-name { overflow-wrap: anywhere; }
.spot-name { display: block; }
.sheet, .modal-inner, .dlg { max-height: 90dvh; }
.page-login, .login-inner { min-height: 100dvh; }
.login-title { overflow-wrap: anywhere; }
.panel-h, .adm-top { flex-wrap: wrap; }
.adm-top-l { min-width: 0; }
.adm-top-l > div { min-width: 0; }
.adm-top-l b { overflow-wrap: anywhere; }
.toast { max-width: calc(100vw - 32px); }
button:focus-visible, a:focus-visible { outline: 2px solid #C8A15A; outline-offset: 3px; }

@media (min-width: 768px) {
  .app { box-shadow: 0 0 40px rgba(27, 38, 55, .08); }
}

@media (max-width: 560px) {
  .adm-tabs {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 50;
    display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0;
    padding: 0 3px env(safe-area-inset-bottom, 0px); border-top: 1px solid var(--line);
    box-shadow: 0 -2px 10px rgba(27, 38, 55, .06);
  }
  .atab { height: 56px; padding: 0 2px; font-size: 11px; }
  .adm-body { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  .adm-top { padding: 12px 14px; }
  .adm-top-l { flex: 1; }
  .adm-top-r { flex: none; }
  .adm-top-r .adm-link { font-size: 11px; }
  .ph-right { flex-wrap: wrap; max-width: 100%; }
  .ph-right .sel { min-width: 0; max-width: 100%; }
  .panel-h { padding: 12px; }
  .adm-top-l b { font-size: 13px; }
  .toast { bottom: 80px; }
}

@media (max-width: 360px) {
  .login-inner { padding-left: 14px; padding-right: 14px; }
  .code-boxes { gap: 5px; }
  .spot-card, .clue-card { gap: 8px; padding: 12px 10px; }
  .clue-badge { width: 36px; height: 36px; }
  .clue-side { min-width: 64px; }
  .clue-side .btn { padding: 0 9px; }
  .clue-name, .spot-name { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
