/*
 * Home composition repair.
 * The prior home stylesheet accumulated several viewport-height systems. This
 * layer gives the hero one content-led composition at every breakpoint.
 */

body[data-page="home"] {
  --rina-home-gutter: clamp(14px, 2.45vw, 36px);
  --rina-home-header: var(--rina-topbar-height, 72px);
  background: #020906;
  overflow-x: clip;
}

body[data-page="home"] .home-shell {
  block-size: auto !important;
  min-block-size: 100dvh !important;
  max-block-size: none !important;
  padding-block-end: 0 !important;
  overflow: visible !important;
}

body[data-page="home"] .home-main,
body[data-page="home"] .home-scroll-section--realm,
body[data-page="home"] .realm-home {
  block-size: auto !important;
  min-block-size: 0 !important;
  max-block-size: none !important;
  overflow: visible !important;
}

body[data-page="home"] .home-scroll-section--realm {
  min-block-size: min(55rem, calc(100dvh - var(--rina-home-header))) !important;
}

body[data-page="home"] .realm-home-bg {
  z-index: 0 !important;
}

body[data-page="home"] .realm-home__layout {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(19rem, 0.86fr) minmax(25rem, 1.32fr) minmax(8.25rem, 0.24fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: clamp(1.25rem, 2.6vw, 3.6rem) !important;
  row-gap: clamp(1rem, 2.2vh, 1.8rem) !important;
  inline-size: min(100%, 1620px) !important;
  block-size: auto !important;
  min-block-size: inherit !important;
  max-block-size: none !important;
  margin-inline: auto !important;
  padding: clamp(1rem, 2.1vw, 2rem) var(--rina-home-gutter) clamp(1.25rem, 2.6vw, 2.6rem) !important;
  overflow: clip !important;
  isolation: isolate;
}

body[data-page="home"] .realm-title-stack {
  display: none !important;
}

body[data-page="home"] .home-hero-send {
  position: relative !important;
  inset: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: center !important;
  inline-size: min(100%, 20rem) !important;
  min-block-size: clamp(4.3rem, 8vh, 5.15rem) !important;
  margin: 0 !important;
  z-index: 5 !important;
}

body[data-page="home"] .realm-hero-copy {
  position: relative !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: center !important;
  inline-size: 100% !important;
  block-size: auto !important;
  min-block-size: 0 !important;
  margin: 0 !important;
  z-index: 5 !important;
}

body[data-page="home"] .realm-notification-panel {
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  align-content: start !important;
  inline-size: 100% !important;
  block-size: auto !important;
  gap: clamp(0.7rem, 1.45vh, 1rem) !important;
}

body[data-page="home"] .home-daily-tasks-slot,
body[data-page="home"] .realm-notification-panel .realm-profile-dock {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  inline-size: 100% !important;
  max-inline-size: none !important;
  min-block-size: 0 !important;
  margin: 0 !important;
}

body[data-page="home"] .realm-notification-panel .realm-profile-dock {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-self: auto !important;
  padding: clamp(0.65rem, 1.3vw, 0.95rem) !important;
}

body[data-page="home"] .realm-rina {
  position: relative !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 1 / -1 !important;
  align-self: end !important;
  justify-self: center !important;
  inline-size: min(100%, 48rem) !important;
  block-size: min(48rem, calc(100dvh - var(--rina-home-header) - 1.5rem)) !important;
  min-block-size: min(32rem, calc(100dvh - var(--rina-home-header) - 1.5rem)) !important;
  max-block-size: none !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 3 !important;
}

body[data-page="home"] .realm-rina__image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  object-fit: contain !important;
  object-position: 50% 100% !important;
  transform: none !important;
  z-index: 1 !important;
}

body[data-page="home"] .realm-rina__image:not(.is-active) {
  opacity: 0 !important;
  pointer-events: none !important;
}

body[data-page="home"] .realm-rina__image.is-active {
  opacity: 1 !important;
}

body[data-page="home"] .realm-portal-arc {
  position: relative !important;
  inset: auto !important;
  grid-column: 3 !important;
  grid-row: 1 / -1 !important;
  align-self: center !important;
  justify-self: end !important;
  inline-size: clamp(9rem, 11vw, 12.5rem) !important;
  block-size: min(38rem, calc(100dvh - var(--rina-home-header) - 2rem)) !important;
  min-block-size: 26rem !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 5 !important;
  --realm-planet-size: clamp(5.1rem, 6.4vw, 7.3rem) !important;
}

body[data-page="home"] .realm-portal__label {
  display: none !important;
}

body[data-page="home"] .home-mobile-shortcuts,
body[data-page="home"] .home-mobile-dock {
  display: none !important;
}

@media (min-width: 981px) {
  html body[data-page="home"] .home-scroll-section--realm,
  html body[data-page="home"] .realm-home {
    min-block-size: calc(100dvh - var(--rina-home-header)) !important;
  }
}

@media (max-width: 1100px) and (min-width: 981px) {
  body[data-page="home"] .home-scroll-section--realm .realm-home__layout {
    grid-template-columns: minmax(17rem, 0.9fr) minmax(22rem, 1.15fr) minmax(7.5rem, 0.2fr) !important;
    column-gap: 1rem !important;
  }

  body[data-page="home"] .realm-rina {
    inline-size: min(100%, 41rem) !important;
  }

  body[data-page="home"] .realm-portal-arc {
    inline-size: 9rem !important;
    --realm-planet-size: clamp(4.5rem, 6.5vw, 5.9rem) !important;
  }
}

@media (max-width: 980px) {
  html {
    block-size: auto !important;
    min-block-size: 100% !important;
    max-block-size: none !important;
    overflow-y: auto !important;
  }

  html body[data-page="home"] {
    block-size: auto !important;
    max-block-size: none !important;
    min-block-size: 100% !important;
    overflow-y: auto !important;
  }

  html body[data-page="home"] .page-shell.home-shell,
  html body[data-page="home"] .home-shell > main.home-main,
  html body[data-page="home"] .home-shell > main.home-main > .home-scroll-section--realm,
  html body[data-page="home"] .home-shell > main.home-main > .home-scroll-section--realm.realm-home {
    block-size: auto !important;
    min-block-size: 0 !important;
    max-block-size: none !important;
    overflow: visible !important;
  }

  html body[data-page="home"] .home-scroll-section--realm .realm-home__layout {
    display: grid !important;
  }

  body[data-page="home"] .home-scroll-section--realm {
    min-block-size: 0 !important;
  }

  html body[data-page="home"] .home-scroll-section--realm .realm-home__layout > .home-hero-send {
    display: grid !important;
    place-items: center !important;
  }

  html body[data-page="home"] .home-scroll-section--realm .realm-home__layout > .realm-rina {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html body[data-page="home"] .home-scroll-section--realm .realm-home__layout {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "send rina"
      "sidebar rina"
      "portal portal" !important;
    align-items: stretch !important;
    inline-size: min(100%, 920px) !important;
    min-block-size: min(100dvh - var(--rina-home-header), 54rem) !important;
    padding: clamp(1rem, 2.1vw, 2rem) var(--rina-home-gutter) clamp(1.25rem, 2.6vw, 2.6rem) !important;
  }

  body[data-page="home"] .home-hero-send {
    grid-area: send !important;
    align-self: start !important;
  }

  body[data-page="home"] .realm-hero-copy {
    grid-area: sidebar !important;
    align-self: center !important;
  }

  body[data-page="home"] .realm-rina {
    grid-area: rina !important;
    inline-size: min(100%, 37rem) !important;
    block-size: clamp(27rem, 60vw, 38rem) !important;
    min-block-size: 0 !important;
  }

  body[data-page="home"] .realm-portal-arc {
    grid-area: portal !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.55rem !important;
    align-items: start !important;
    justify-items: center !important;
    inline-size: 100% !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    padding: 0.65rem !important;
    border: 1px solid rgba(143, 255, 182, 0.18) !important;
    border-radius: 16px !important;
    background: rgba(1, 13, 9, 0.76) !important;
    box-shadow: inset 0 1px 0 rgba(235, 255, 240, 0.04), 0 18px 38px rgba(0, 0, 0, 0.22) !important;
    transform: none !important;
    --realm-planet-size: 3.35rem !important;
  }

  body[data-page="home"] .realm-portal-arc::before,
  body[data-page="home"] .realm-portal::before,
  body[data-page="home"] .realm-portal::after {
    display: none !important;
  }

  body[data-page="home"] .realm-portal,
  body[data-page="home"] .realm-portal:nth-of-type(n) {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-rows: var(--realm-planet-size) auto !important;
    gap: 0.25rem !important;
    inline-size: 100% !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    transform: none !important;
  }

  body[data-page="home"] .realm-portal__orb {
    inline-size: var(--realm-planet-size) !important;
    block-size: var(--realm-planet-size) !important;
  }

  body[data-page="home"] .realm-portal__label {
    display: block !important;
    color: rgba(233, 255, 240, 0.82) !important;
    font: 800 0.64rem/1.1 var(--font-ui, sans-serif) !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  body[data-page="home"] .home-task-list .home-task-card:nth-child(n) {
    display: grid !important;
  }
}

@media (max-width: 600px) {
  body[data-page="home"] .home-shell {
    min-block-size: 100svh !important;
  }

  html body[data-page="home"] .home-scroll-section--realm .realm-home__layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto !important;
    grid-template-areas:
      "send"
      "rina"
      "sidebar"
      "portal" !important;
    gap: 0.9rem !important;
    min-block-size: 0 !important;
    padding: 0.8rem var(--rina-home-gutter) calc(1.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  body[data-page="home"] .home-hero-send {
    justify-self: stretch !important;
    inline-size: 100% !important;
    min-block-size: 4.25rem !important;
  }

  body[data-page="home"] .realm-rina {
    inline-size: min(100%, 30rem) !important;
    block-size: clamp(18rem, 93vw, 27rem) !important;
    justify-self: center !important;
  }

  body[data-page="home"] .realm-notification-panel {
    gap: 0.7rem !important;
  }

  body[data-page="home"] .realm-notification-panel .realm-profile-dock {
    order: -1;
    grid-template-columns: 3.25rem minmax(0, 1fr) !important;
    gap: 0.65rem !important;
  }

  body[data-page="home"] .realm-profile-dock .realm-chat-dock__action {
    grid-column: 2 !important;
    justify-self: start !important;
    min-block-size: 2.75rem !important;
  }

  body[data-page="home"] .realm-portal-arc {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.75rem 0.35rem !important;
    --realm-planet-size: 3rem !important;
  }

  body[data-page="home"] .realm-portal__label {
    font-size: 0.59rem !important;
  }
}

@media (max-width: 360px) {
  body[data-page="home"] .realm-rina {
    block-size: clamp(17rem, 90vw, 21rem) !important;
  }

  body[data-page="home"] .realm-portal-arc {
    --realm-planet-size: 2.72rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .realm-rina__image,
  body[data-page="home"] .realm-portal__orb img {
    animation: none !important;
    transition: none !important;
  }
}
