/* Home page locked-layout overrides */

body.page-home .hero {
  width: var(--layout-lock-width, 100vw);
  min-width: var(--layout-lock-width, 100vw);
  min-height: var(--layout-lock-height, 100vh);
  grid-template-columns:
    var(--layout-lock-panel-width, var(--panel-width))
    minmax(
      0,
      calc(var(--layout-lock-width, 100vw) - var(--layout-lock-panel-width, var(--panel-width)))
    );
}

body.page-home .hero-main {
  position: absolute;
  inset: 0 0 0 var(--layout-lock-panel-width, var(--panel-width));
  min-width: calc(
    var(--layout-lock-width, 100vw) - var(--layout-lock-panel-width, var(--panel-width))
  );
}

body.page-home .hero-stage {
  top: calc(var(--layout-lock-height, 100vh) / 2);
  width: calc(
    var(--layout-lock-width, 100vw) - var(--layout-lock-panel-width, var(--panel-width))
  );
}

body.page-home.is-ready .hero-stage {
  top: 28px;
}

body.page-home .hero-title {
  max-width: none;
  white-space: nowrap;
  line-height: 0.94;
}

body.page-home .hero-media {
  width: calc(
    var(--layout-lock-width, 100vw) - var(--layout-lock-panel-width, var(--panel-width))
  );
  height: var(--layout-lock-height, 100vh);
  min-height: var(--layout-lock-height, 100vh);
  margin: 0;
  padding: 150px 48px 116px;
}

body.page-home .portrait-scene {
  width: 980px;
  height: 744px;
}

body.page-home .portrait-frame {
  width: 492px;
  height: 690px;
}

body.page-home .scene-formula,
body.page-home .scene-watermark,
body.page-home .rotor-right,
body.page-home .rotor-edge-left,
body.page-home .rotor-edge-right,
body.page-home .arc-lower,
body.page-home .arc-edge-left,
body.page-home .arc-edge-right,
body.page-home .cipher-ribbon,
body.page-home .scene-node,
body.page-home .scene-card,
body.page-home .scene-bracket,
body.page-home .signal-lane,
body.page-home .signal-label,
body.page-home .scene-docket {
  display: revert;
}

body.page-home .rotor-left {
  top: 18%;
  left: 3%;
  width: 240px;
  height: 240px;
}

body.page-home .arc-upper {
  top: 17%;
  left: 18%;
  width: 440px;
  height: 440px;
  transform: rotate(16deg);
}

body.page-home .speech-feed {
  --speech-feed-width: 340px;
  position: absolute;
  top: 100px;
  right: max(
    24px,
    min(
      calc((100% - 980px) / 2 + 660px),
      calc(100% - var(--speech-feed-width) - 20px)
    )
  );
  justify-items: end;
  width: min(var(--speech-feed-width), calc(100% - 20px));
  min-height: 220px;
  gap: 10px;
}

body.page-home .speech-entry::after {
  right: -46px;
  bottom: 4px;
}

body.page-home .speech-bubble {
  padding: 14px 40px 15px 16px;
  font-size: 0.95rem;
}

body.page-home .speech-bubble::after {
  right: -18px;
  bottom: 22px;
}

body.page-home .speech-bubble::before {
  right: -32px;
  bottom: 10px;
}

body.page-home .hero-footer {
  bottom: 4px;
  width: 820px;
}

body.page-home .chat-form {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px 16px;
}

body.page-home .chat-input {
  height: 46px;
  line-height: 46px;
}

body.page-home .chat-submit {
  width: auto;
  min-width: 48px;
  height: 46px;
}
