.clock-town-page #entirePage {
  position: relative;
  overflow-x: clip;
}

.clock-town-page #page-header {
  min-height: 150px;
}

.clock-town-page #page-header .logo {
  top: 0;
  left: 0;
  z-index: 2;
}

.clock-town-main {
  position: relative;
  /* Reuse the header's empty lower area without resizing its logo or navigation. */
  margin-top: -60px;
  padding: 0 12px 12px;
}

.clock-town-main .compPageTitle {
  position: relative;
  top: auto;
  margin: 0 0 4px;
  font-size: 26px;
  line-height: 1.2;
}

#clock-town-stage {
  position: relative;
  width: 100%;
  height: 715px;
}

#clock-town-frame {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  border: 0;
  border-radius: 12px;
  transform-origin: top center;
  transform: translateX(-50%);
}

#clock-town-mobile-nav { display: none; }
#clock-town-stage[aria-busy="true"] #clock-town-frame { visibility: hidden; }
#clock-town-loader {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px;
  text-align: center;
  color: #35564e;
  background: #eaf5ed;
  border-radius: 12px;
  font-size: 22px;
}
#clock-town-loader[hidden], #clock-town-retry[hidden] { display: none; }
#clock-town-loading-label { margin: 0; }
.clock-town-spinner {
  width: 52px;
  height: 52px;
  border: 5px solid #c4e0d4;
  border-top-color: #328a71;
  border-radius: 50%;
  animation: clock-town-spin 1s linear infinite;
}
#clock-town-retry {
  min-height: 44px;
  padding: 8px 24px;
  border: 0;
  border-radius: 10px;
  background: #328a71;
  color: white;
  cursor: pointer;
  font: inherit;
}
#clock-town-loader.is-error .clock-town-spinner { display: none; }
@keyframes clock-town-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .clock-town-spinner { animation: none; }
}
.clock-town-mobile #clock-town-mobile-nav { display: block; }
.clock-town-mobile #page-header,
.clock-town-mobile #blueHeadBg,
.clock-town-mobile .compPageTitle { display: none; }
.clock-town-mobile { margin: 0; overflow: hidden; }
.clock-town-mobile .clock-town-main { margin-top: 0; padding: 0; }
.clock-town-mobile #clock-town-frame {
  left: 0;
  width: 100%;
  border-radius: 0;
  transform: none;
}
.clock-town-mobile .m4k-mobile-menu { max-height: calc(100dvh - 48px); overflow-y: auto; }
.clock-town-landscape #clock-town-mobile-nav { height: 0; }

#clock-town-fullscreen {
  position: absolute;
  z-index: 3;
  top: 4px;
  right: 56px;
  width: 40px;
  height: 40px;
  padding: 6px;
  border: 2px solid rgb(255 255 255 / 80%);
  border-radius: 8px;
  color: white;
  background: #315d82;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
}
#clock-town-fullscreen svg { display: block; width: 100%; height: 100%; }
#clock-town-fullscreen .fullscreen-exit,
#clock-town-fullscreen[aria-pressed=true] .fullscreen-enter { display: none; }
#clock-town-fullscreen[aria-pressed=true] .fullscreen-exit { display: block; }
.clock-town-mobile .m4k-mobile-logo img { max-width: calc(100vw - 112px); }
