/* Approved composition: stone tower on the left, live controls on the right. */
body #menu {
  position: absolute; inset: 0; padding: 0; overflow: auto;
  justify-content: center; background: #07100b;
}
body #menu[hidden] { display: none; }
body #menu::before, body #menu::after { content: none; }
.menu-scene {
  position: relative; flex: 0 0 auto; width: min(100%, 66.666dvh);
  aspect-ratio: 2 / 3; container-type: inline-size;
  background: url('/obrazky/menu-svatyna.jpg') center / 100% 100% no-repeat;
}
body #menu #erb, body #menu #menupodtitul { display: none; }
body #menu h1 {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); margin: 0;
}
body #menubest {
  position: absolute; right: 5%; top: 33%; width: 41%; margin: 0;
  color: #e6d49c; font-size: clamp(10px, 1.8cqw, 15px); text-shadow: 0 2px 4px #000;
}
.menu-controls { position: absolute; top: 36%; right: 5%; width: 41%; }
body #rezimy, body #vedlajsie {
  display: flex; flex-direction: column; gap: 1.5cqw; width: 100%; max-width: none;
  margin: 0; padding: 0; border: none; border-radius: 0; background: none; box-shadow: none;
}
body #rezimy::before { content: none; }
body #vedlajsie { margin-top: 1.5cqw; }
body #menu button {
  margin: 0; border: 0; border-radius: 0; text-align: left;
  color: #dcc88d; background: linear-gradient(135deg, #a49152, #343b26 35%, #76643e);
  min-height: 44px; padding: 2.8cqw 2.5cqw; gap: 2cqw;
}
body #menu button::before { background: linear-gradient(135deg, #223421ed, #0a110ef5 85%); }
body #menu button svg { width: 4.2cqw; height: 4.2cqw; color: #c5ad65; }
body #menu button span {
  color: #d9bf76; font-size: clamp(12px, 2.4cqw, 23px); letter-spacing: 0; line-height: 1.2;
}
body #menu button i {
  color: #c5c6a1; font-size: clamp(10px, 2cqw, 19px); line-height: 1.4; margin-top: 1cqw;
}
body #menu #play { background: linear-gradient(135deg, #f5dc83, #a7d947, #5c782c); }
body #menu #play::before { background: linear-gradient(135deg, #304827f2, #111e0fec); }
body #menu #play span { color: #f0dc85; }
body #menu #playversus { opacity: .72; }
body #vedlajsie button { flex-direction: row; justify-content: flex-start; }
body #vedlajsie button span { font-size: clamp(10px, 1.85cqw, 18px); }
body #menu button:hover:not(:disabled) { filter: brightness(1.2); }
body #menu button:focus-visible { outline: 3px solid #efffbb; outline-offset: -5px; }
body #panel.rune-panel #pups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
body #pups .sell-tower { border-color: #c3935c; color: #f3ce95; }
body #panel.rune-panel #pups button { min-width: 0; min-height: 44px; padding: 8px; font-size: 12px; }
