/* Title-only physical set. The other game screens keep the approved stage theme. */
body.stage-theme:has(.title-tableau) {
  background: #79b4bd url('/stage/title-set.webp') center / 100% 100% no-repeat fixed;
}
.stage-theme .app-shell:has(.title-tableau) { width: 100%; max-width: none; margin: 0; padding: 0; }
.stage-theme .title-ad-layout:has(.title-tableau) { min-height: 100dvh; }
.stage-theme .title-tableau { width: 100%; min-height: max(660px, 100dvh); margin: 0; overflow: visible; }
.stage-theme .title-tableau .title-content {
  position: absolute; inset: 5% 15% 14%; width: auto; height: auto; min-height: 0;
  display: flex; flex-direction: column; align-items: center; gap: 0; padding: 0; transform: none;
}
.stage-theme .title-tableau .title-logo {
  position: relative; flex: 1; min-height: 0; width: 100%; margin: 0;
  display: grid; place-items: center; line-height: 1;
}
.stage-theme .title-tableau .title-logo-image {
  position: absolute; inset: 0; margin: auto; width: min(900px, 100%); height: 100%; max-height: 100%;
  object-fit: contain; filter: drop-shadow(0 7px 3px #32262130);
}
.stage-theme .title-tableau .player-card {
  display: flex; flex-direction: column; align-items: center;
  width: min(1040px, 100%); gap: 12px; transform: none;
}
.stage-theme .title-tableau .title-name-plaque {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  flex: none; width: min(440px, 82%); aspect-ratio: 3;
  background: url('/stage/title-name-paper.webp') center / contain no-repeat;
  filter: drop-shadow(1px 4px 1px #4f39282e);
  gap: 3px; padding: 0; color: #342820;
}
.stage-theme .title-name-plaque > span { width: 81%; font-size: 13px; font-weight: 800; text-align: left; }
.stage-theme .title-tableau .title-name-plaque .name-input {
  width: 82%; height: 34px; min-height: 34px; max-height: 34px;
  padding: 2px 9px; border: 1px solid #9e886449; border-radius: 2px;
  background: #fffaf2b3; box-shadow: inset 0 1px 2px #69513314;
  font-size: 19px; text-align: center; color: #30251d;
}
.stage-theme .title-tableau .menu-grid { width: 75%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.stage-theme .title-tableau .menu-row { display: contents; }
.stage-theme .title-tableau .menu-btn {
  width: 100%; height: auto; min-height: 0; aspect-ratio: 1.5;
  display: flex; flex-direction: column-reverse; justify-content: center;
  padding: 12% 7%; gap: 12px; border: 0; border-radius: 14px;
  background: transparent url('/stage/title-button-cream.webp') center / contain no-repeat !important;
  box-shadow: none; filter: drop-shadow(0 6px 2px #4d362a55);
  color: #30241b; text-shadow: none; transition: transform 120ms ease, filter 120ms ease;
}
.stage-theme .title-tableau .menu-btn-primary { background-image: url('/stage/title-button-orange.webp') !important; }
.stage-theme .title-tableau .btn-label { font-size: 22px; font-weight: 900; line-height: 1.25; text-align: center; white-space: normal; }
.stage-theme .title-tableau .menu-btn { min-width:0;padding:12px 14px;gap:6px; }
.stage-theme .title-tableau .btn-label { min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto;flex-shrink:0; }
html:not([lang="ja"]) .stage-theme .title-tableau .btn-label { font-family:system-ui,sans-serif;font-size:18px;line-height:1.2; }
.stage-theme .title-tableau .icon-circle { width: 60px; height: 42px; border: 0; border-radius: 0; box-shadow: none; background: none; color: #39291e; }
.stage-theme .title-tableau .icon-circle svg { width: 41px; height: 41px; stroke-width: 2.8; }
.stage-theme .title-tableau .title-button-mascot { display: block; width: 72px; height: 38px; max-width: none; object-fit: contain; }
.stage-theme .title-tableau .menu-btn:active { transform: translateY(4px); box-shadow: none; filter: drop-shadow(0 2px 1px #4d362a55); }
@media (hover: hover) and (pointer: fine) {
  .stage-theme .title-tableau .menu-btn:hover { transform: translateY(-3px); box-shadow: none; filter: drop-shadow(0 8px 3px #4d362a55) brightness(1.04); }
  .stage-theme .title-tableau .menu-btn:active { transform: translateY(4px); }
}
.stage-theme .title-tableau .title-navigation,
.stage-theme .title-tableau .title-navigation-actions { display: contents; }
.stage-theme .title-tableau .title-language-control {
  position: absolute; top: 18px; right: 25px; z-index: 2;
  min-height: 44px; padding: 0 10px; border: 0; background: #fff7e8e6;
}
.stage-theme .title-tableau #worksButton,
.stage-theme .title-tableau #soundToggle {
  position: absolute; bottom: 50px; z-index: 2; height: 62px;
  border: 0; border-radius: 3px; box-shadow: none;
  background: transparent url('/stage/title-name-paper.webp') center / 100% 100% no-repeat !important;
  filter: drop-shadow(1px 3px 1px #4f392833); font-size: 18px;
}
.stage-theme .title-tableau #worksButton { left: 32px; width: 218px; padding: 0 16px; }
.stage-theme .title-tableau #soundToggle { right: 32px; width: 72px; }
.stage-theme .title-tableau .title-subtitle {
  position: absolute; top: 15%; left: 4.8%; width: 9%; height: 15%;
  margin: 0; display: flex; align-items: center; justify-content: center;
  font-size: 19px; line-height: 1.6; font-weight: 800; text-align: center;
  transform: rotate(-12deg); color: #443025;
}
.stage-theme .title-subtitle > span { min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto; }
html:not([lang="ja"]) .stage-theme .title-tableau .title-subtitle { padding:5px;font-family:system-ui,sans-serif;font-size:13px;line-height:1.3; }
.stage-theme .title-easel-label {
  position: absolute; top: 45%; right: 3.1%; width: 9%; text-align: center;
  color: #473226; font-size: 19px; font-weight: 900; line-height: 1.3; transform: rotate(-2deg);
}
.stage-theme .title-easel-label small { display: block; margin-top: 14px; font-size: 11px; }
.stage-theme .title-tableau .title-footer { bottom: 12px; left: 12px; right: 12px; gap: 4px; }
.stage-theme .title-tableau .title-version { display: none; }
.stage-theme .title-tableau .title-footer-link { color: #55473c; }
.stage-theme .title-tableau .title-help-link { font-size:12px;line-height:1.4;text-decoration:underline;text-underline-offset:3px; }

@media (max-width: 1100px) {
  body.stage-theme:has(.title-tableau) { background-size: cover; }
  .stage-theme .title-tableau .title-content { left: 6%; right: 6%; }
  .stage-theme .title-tableau .title-subtitle, .stage-theme .title-easel-label { display: none; }
  .stage-theme .title-tableau .btn-label { font-size: 18px; }
  .stage-theme .title-tableau .title-version { display: block; }
  .stage-theme .title-tableau .title-footer { bottom: 8px; }
}
@media (max-width: 700px) {
  .stage-theme .title-tableau { min-height: max(620px, 100dvh); }
  .stage-theme .title-tableau .title-content { inset: 67px 14px 138px; }
  .stage-theme .title-tableau .title-logo-image { width: 100%; height: 100%; max-height: 230px; }
  .stage-theme .title-tableau .player-card { gap: 6px; }
  .stage-theme .title-tableau .title-name-plaque { width: min(340px, 100%); }
  .stage-theme .title-name-plaque > span { font-size: 11px; }
  .stage-theme .title-tableau .title-name-plaque .name-input { height: 30px; min-height: 30px; max-height: 30px; font-size: 16px; }
  .stage-theme .title-tableau .menu-grid { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 9px; }
  .stage-theme .title-tableau #soloPlay { grid-column: 1 / -1; width: calc((100% - 9px) / 2); justify-self: center; }
  .stage-theme .title-tableau .menu-btn { aspect-ratio:auto;height:94px;padding:8px 12px;gap:4px;background-size:100% 100% !important; }
  .stage-theme .title-tableau .btn-label { font-size: 16px; }
  html:not([lang="ja"]) .stage-theme .title-tableau .btn-label { font-size:14px; }
  .stage-theme .title-tableau .icon-circle { width: 50px; height: 29px; }
  .stage-theme .title-tableau .icon-circle svg { width: 29px; height: 29px; }
  .stage-theme .title-tableau .title-button-mascot { width: 57px; height: 27px; }
  .stage-theme .title-tableau .title-language-control { top: 10px; right: 14px; min-height: 38px; }
  .stage-theme .title-tableau #worksButton, .stage-theme .title-tableau #soundToggle { bottom: 66px; height: 48px; font-size: 14px; }
  .stage-theme .title-tableau #worksButton { left: 14px; width: 166px; }
  .stage-theme .title-tableau #soundToggle { right: 14px; width: 57px; }
  .stage-theme .title-tableau .title-footer-link { font-size: 10px; }
}
@media (max-height: 700px) and (min-width: 701px) {
  .stage-theme .title-tableau { min-height: 600px; }
  .stage-theme .title-tableau .title-content { inset: 35px 17% 100px; }
  .stage-theme .title-tableau .title-logo-image { max-height: 210px; }
  .stage-theme .title-tableau .title-name-plaque { width: 320px; }
  .stage-theme .title-tableau .btn-label { font-size: 17px; }
  .stage-theme .title-tableau .menu-btn { gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .stage-theme .title-tableau .menu-btn { transition: none; }
}
