/* Private staged home styles. Scope all changes to the new component. */
.rm-login-home {
  --rm-home-font: Arial, sans-serif;
  --rm-home-gold: #dab45e;
  position: absolute;
  inset: 0;
  isolation: isolate;
  z-index: 3;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: 24px 28px 26px;
  border: 1px solid #275274;
  background:
    radial-gradient(ellipse at 50% 50%, #14395788 0, #06122200 58%),
    linear-gradient(135deg, #0e2741, #061222 52%, #020710);
  box-shadow: inset 0 0 80px #02071099;
  color: #dee8f0;
  font-family: var(--rm-home-font);
  text-align: center;
  overflow: hidden;
}
.rm-login-home[hidden] { display: none; }
.rm-login-home::before, .rm-login-home::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid #27527477;
  z-index: -1;
  pointer-events: none;
}
.rm-login-home::after {
  inset: 19px;
  border: 0;
  background:
    linear-gradient(#dab45e, #dab45e) top left / 32px 2px,
    linear-gradient(#dab45e, #dab45e) top left / 2px 32px,
    linear-gradient(#dab45e, #dab45e) top right / 32px 2px,
    linear-gradient(#dab45e, #dab45e) top right / 2px 32px,
    linear-gradient(#dab45e, #dab45e) bottom left / 32px 2px,
    linear-gradient(#dab45e, #dab45e) bottom left / 2px 32px,
    linear-gradient(#dab45e, #dab45e) bottom right / 32px 2px,
    linear-gradient(#dab45e, #dab45e) bottom right / 2px 32px;
  background-repeat: no-repeat;
}
.rm-home-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; z-index: 1; }
.rm-home-version { color: #97aec2; font-size: 11px; white-space: nowrap; }
.rm-locale-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 5px; }
.rm-locale-buttons button {
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid #275274;
  border-radius: 6px;
  background: #061222cc;
  color: #97aec2;
  cursor: pointer;
  font: 13px Arial, "Noto Sans SC", "Noto Sans KR", "Noto Sans JP", "Microsoft YaHei", "Malgun Gothic", "Yu Gothic", sans-serif;
  white-space: nowrap;
}
.rm-locale-buttons button[aria-pressed="true"] { border-color: #dab45e; color: #ffe5ae; background: #173651; }
.rm-login-home button:hover { filter: brightness(1.2); }
.rm-login-home button:focus-visible { outline: 2px solid #ffe5ae; outline-offset: 4px; }
.rm-home-hero { align-self: center; min-height: 0; }
.rm-home-brand {
  margin: 6px 0 0;
  font: 600 clamp(44px, 6vw, 78px) / 1.1 Georgia, "Times New Roman", serif;
  letter-spacing: -.035em;
  color: #ffe5ae;
  background: linear-gradient(#ffe5ae 15%, #dab45e 60%, #ad8138);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 8px #020710);
}
.rm-home-subbrand { margin: 8px 0 0; padding-left: .65em; font: 12px / 1.2 Arial, sans-serif; letter-spacing: .65em; color: #dab45e; }
.rm-home-tagline { margin: 17px 0 6px; color: #97aec2; font-size: 13px; line-height: 1.5; }
.rm-home-sun {
  display: block;
  width: min(100%, 635px);
  height: auto;
  margin: 0 auto;
  mix-blend-mode: screen;
  pointer-events: none;
}
.rm-home-footer { display: grid; justify-items: center; gap: 16px; z-index: 1; }
.rm-home-actions { display: flex; justify-content: center; gap: 14px; width: min(100%, 470px); }
.rm-home-action {
  flex: 1;
  min-width: 0;
  min-height: 49px;
  padding: 12px 20px;
  border: 1px solid #457ea2;
  border-radius: 7px;
  background: linear-gradient(#173651, #0a1d33);
  color: #dee8f0;
  font: 600 16px / 1.35 var(--rm-home-font);
  cursor: pointer;
  box-shadow: inset 0 1px 0 #457ea266, 0 3px 12px #02071055;
}
.rm-home-primary { border-color: #dab45e; background: linear-gradient(#f0d48b, #dab45e); color: #061222; box-shadow: inset 0 1px 0 #fff1bf, 0 3px 16px #dab45e20; }
.rm-home-website { border: 0; padding: 3px 9px; background: transparent; color: #97aec2; font: 13px / 1.4 var(--rm-home-font); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
@media (max-width: 580px) {
  .rm-login-home { padding: 22px 24px 25px; }
  .rm-home-header { flex-direction: column; gap: 8px; }
  .rm-home-version { order: 2; }
  .rm-home-brand { font-size: clamp(38px, 10vw, 58px); }
  .rm-home-tagline { margin: 13px 0 4px; font-size: 12px; }
  .rm-home-actions { gap: 9px; }
  .rm-home-action { padding: 10px 11px; font-size: 14px; }
  .rm-home-footer { gap: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .rm-login-home button { transition: none; }
}
#rmLandingHome { position: relative; width: min(960px, 100%); height: min(720px, calc(100dvh - 48px)); min-height: 540px; }
@media (max-width: 580px) { #rmLandingHome { min-height: 565px; height: calc(100dvh - 24px); } }
