/* Cover screen matched to the supplied 720 × 1280 reference. */

.app-shell.menu-active {
  background-color: #b2a4d5;
}

html:has(#cover-view:not([hidden])),
body:has(#cover-view:not([hidden])) {
  background:
    radial-gradient(ellipse at 4% 24%, rgba(198, 239, 237, .95) 0, rgba(225, 248, 246, .71) 26%, transparent 54%),
    radial-gradient(ellipse at 100% 38%, rgba(214, 193, 247, .91) 0, rgba(229, 216, 249, .65) 30%, transparent 59%),
    linear-gradient(147deg, #f5fbfa 0%, #fbfbfd 50%, #e9e0f8 100%);
}

.app-shell:has(#cover-view:not([hidden])) {
  position: relative;
  width: min(100%, 360px);
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  padding: 0 26px 18px;
  background:
    radial-gradient(ellipse at -5% 32%, rgba(194, 238, 237, .94) 0, rgba(227, 248, 245, .70) 31%, transparent 59%),
    radial-gradient(ellipse at 111% 38%, rgba(209, 183, 246, .92) 0, rgba(228, 213, 249, .68) 31%, transparent 61%),
    radial-gradient(ellipse at 18% 100%, rgba(236, 246, 243, .98) 0, rgba(244, 244, 248, .78) 42%, transparent 71%),
    linear-gradient(145deg, #f3fbfa 0%, #fbfbfc 47%, #e4d9f5 100%);
  box-shadow: 0 18px 58px rgba(82, 73, 127, .12);
}

#cover-view {
  position: relative;
  z-index: 0;
  width: 100%;
  min-height: 622px;
  padding-top: 53px;
  gap: 0;
  align-items: stretch;
  justify-content: flex-start;
  text-align: left;
}

#cover-view::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -18px;
  left: -62px;
  width: 208px;
  height: 185px;
  opacity: .28;
  filter: blur(2px);
  transform: rotate(-8deg);
  background:
    linear-gradient(66deg, transparent 47%, rgba(112, 185, 183, .50) 49%, rgba(112, 185, 183, .50) 51%, transparent 53%) 12px 18px / 114px 160px no-repeat,
    linear-gradient(18deg, transparent 47%, rgba(112, 185, 183, .39) 49%, rgba(112, 185, 183, .39) 51%, transparent 53%) 35px 4px / 128px 78px no-repeat,
    linear-gradient(36deg, transparent 47%, rgba(112, 185, 183, .37) 49%, rgba(112, 185, 183, .37) 51%, transparent 53%) 26px 31px / 147px 83px no-repeat,
    linear-gradient(53deg, transparent 47%, rgba(112, 185, 183, .35) 49%, rgba(112, 185, 183, .35) 51%, transparent 53%) 18px 53px / 156px 77px no-repeat,
    linear-gradient(76deg, transparent 47%, rgba(112, 185, 183, .31) 49%, rgba(112, 185, 183, .31) 51%, transparent 53%) 2px 75px / 156px 70px no-repeat;
}

.cover-title {
  position: relative;
  transform: translateX(.5px);
  width: 100%;
  height: 45px;
  margin: 0;
  color: #000;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 600;
  line-height: .96;
  letter-spacing: -.04em;
  white-space: nowrap;
  text-align: center;
  text-transform: uppercase;
}

.cover-title::before,
.cover-title::after {
  content: none;
}

.cover-story {
  width: 100%;
  display: grid;
  grid-template-rows: 115px 95px 66px 58px 59px;
  gap: 24px;
}

.cover-feature,
.cover-point {
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 11px;
  color: #000;
  background: rgba(255, 255, 255, .68);
  box-shadow:
    8px 9px 18px rgba(78, 62, 137, .18),
    0 2px 6px rgba(81, 76, 125, .07),
    inset 0 1px 0 rgba(255, 255, 255, .78);
  backdrop-filter: blur(13px) saturate(112%);
  -webkit-backdrop-filter: blur(13px) saturate(112%);
}

.cover-feature {
  display: block;
  padding: 12px 12px 12px 56px;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.39;
  letter-spacing: .003em;
  text-align: left;
}

.cover-feature--lavender {
  background: linear-gradient(135deg, rgba(240, 252, 251, .75), rgba(223, 244, 246, .63));
}

.cover-feature--mint {
  padding-top: 16px;
  background: linear-gradient(135deg, rgba(248, 246, 254, .79), rgba(232, 220, 250, .65));
}

.cover-feature__accent {
  color: #000;
  font-family: "Roboto Condensed", "Arial Narrow", sans-serif;
  font-size: inherit;
  font-weight: 400;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.cover-feature__accent--violet,
.cover-point span {
  color: #000;
}

.cover-point {
  display: block;
  padding: 15px 11px 10px 56px;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: .002em;
  text-align: left;
}

.cover-point__line {
  white-space: nowrap;
  letter-spacing: -.06em;
}

.cover-point--mint {
  padding-top: 12px;
  background: linear-gradient(135deg, rgba(241, 252, 251, .76), rgba(219, 243, 245, .63));
}

.cover-point--lavender {
  padding-top: 12px;
  background: linear-gradient(135deg, rgba(250, 248, 254, .79), rgba(237, 226, 251, .66));
}

#cover-start-button.cover-start {
  position: relative;
  width: 150px;
  height: 44px;
  min-height: 44px;
  margin: 24px auto 0;
  border: 1px solid rgba(229, 198, 132, .78);
  border-radius: 999px;
  padding: 0 12px;
  color: #000;
  background: #55CBD0;
  box-shadow:
    0 0 5px rgba(209, 183, 246, .92),
    0 0 10px rgba(228, 213, 249, .68),
    0 9px 15px rgba(39, 137, 143, .35),
    inset 0 1px 5px rgba(255, 255, 255, .35);
  font-family: "Roboto Condensed", "Arial Narrow", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 39px;
  letter-spacing: .01em;
  text-align: center;
  text-transform: uppercase;
}

#cover-start-button.cover-start::before,
#cover-start-button.cover-start::after {
  content: none;
}

#cover-start-button.cover-start:hover {
  background: #55CBD0;
}

#cover-start-button.cover-start:focus-visible {
  outline: 2px solid #7d4ca7;
  outline-offset: 3px;
}

@media (min-width: 361px) {
  .app-shell:has(#cover-view:not([hidden])) {
    width: min(100%, 390px);
    padding-right: 28px;
    padding-left: 28px;
  }

  #cover-view {
    min-height: 674px;
    padding-top: 57px;
  }

  .cover-title {
    height: 45px;
    font-size: 30px;
  }

  .cover-story {
    grid-template-rows: 125px 103px 72px 63px 64px;
    gap: 24px;
  }

  .cover-feature {
    padding-top: 13px;
    padding-left: 61px;
    font-size: 15px;
  }

  .cover-feature--mint { padding-top: 18px; }

  .cover-feature__accent { font-size: inherit; }

  .cover-point {
    padding-top: 16px;
    padding-left: 61px;
    font-size: 15px;
  }

  .cover-point--mint,
  .cover-point--lavender { padding-top: 13px; }

  #cover-start-button.cover-start {
    width: 150px;
    height: 44px;
    min-height: 44px;
    margin-top: 24px;
    font-size: 17px;
    line-height: 42px;
  }
}

@media (max-height: 639px) and (max-width: 360px) {
  .app-shell:has(#cover-view:not([hidden])) { overflow-y: auto; }
}
