/* Shared authenticated child header and footer. Generated into every protected child page. */

header.public-child-header {
  position: sticky;
  top: 0;
  z-index: 120;
  width: 100%;
  min-height: 88px;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #f0dce9;
  border-radius: 0;
  background: rgba(255,255,255,.985);
  box-shadow: 0 8px 24px rgba(73,35,94,.07);
  backdrop-filter: blur(16px);
  font-family: 'Quicksand', system-ui, sans-serif;
}

header.public-child-header > .child-product-nav {
  width: min(1480px, calc(100% - 64px));
  min-height: 88px;
  height: 88px;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(240px,1fr) max-content minmax(240px,1fr);
  align-items: center;
  gap: 22px;
}

header.public-child-header .child-product-brand {
  min-width: 0;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-self: start;
  max-width: 100%;
  gap: 12px;
  margin: 0;
  padding: 0;
  color: #d52f75;
  text-decoration: none;
  white-space: nowrap;
}

header.public-child-header .child-product-brand img {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  margin: 0;
  object-fit: contain;
  border-radius: 0;
  filter: none;
}

header.public-child-header .child-brand-name {
  margin: 0;
  font-family: 'Pacifico', cursive;
  font-size: 26.5px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #d52f75;
}

header.public-child-header .child-product-links {
  min-width: 0;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  width: max-content;
  max-width: 100%;
  gap: 12px;
  margin: 0;
  padding: 0;
  overflow: visible;
}

header.public-child-header .child-nav-tab,
header.public-child-header .child-header-action {
  position: relative;
  min-height: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #665078;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
  transform: none;
}

header.public-child-header .child-nav-tab::after {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0;
  height: 4px;
  border-radius: 999px;
  background: transparent;
}

header.public-child-header .child-nav-tab:hover,
header.public-child-header .child-header-action:hover {
  background: #fff4f9;
  color: #b82968;
}

header.public-child-header .child-nav-tab i { font-size: 21px; }
header.public-child-header .emerald-nav i { color: #36b978; }
header.public-child-header .sapphire-nav i { color: #246acb; }
header.public-child-header .ruby-nav i { color: #ed1762; }
header.public-child-header .palace-nav i { color: #8c4bb5; }
header.public-child-header .emerald-nav.active::after { background: #36b978; }
header.public-child-header .sapphire-nav.active::after { background: #246acb; }
header.public-child-header .ruby-nav.active::after { background: #ed1762; }
header.public-child-header .palace-nav.active::after { background: #8c4bb5; }

header.public-child-header .child-header-actions {
  width: 232px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  gap: 8px;
  margin: 0;
  padding: 0;
}

header.public-child-header .child-help-button {
  width: 82px;
  min-width: 82px;
  padding: 0 12px;
  border: 1px solid #ead7e7;
  border-radius: 16px;
  background: #fff;
  color: #714d83;
}

header.public-child-header .child-help-button:hover {
  border-color: #d992b5;
  background: #fff4f9;
  color: #b82968;
}

header.public-child-header .child-sign-out-button {
  width: 142px;
  min-width: 142px;
  padding: 0 16px;
  border: 2px solid #e8abd0;
  border-radius: 17px;
  background: #fffafd;
  color: #aa3565;
  box-shadow: 0 10px 24px rgba(233,30,99,.08);
}

header.public-child-header .child-sign-out-button:hover {
  border-color: #d77ca8;
  background: #fff2f8;
}

header.public-child-header .child-header-action:disabled {
  cursor: wait;
  opacity: .7;
}

@media (max-width: 1180px) {
  header.public-child-header > .child-product-nav {
    width: min(96vw, 1120px);
    grid-template-columns: minmax(190px,1fr) max-content minmax(190px,1fr);
    gap: 10px;
  }
  header.public-child-header .child-brand-name { font-size: 22px; }
  header.public-child-header .child-product-brand img { width: 50px; height: 50px; flex-basis: 50px; }
  header.public-child-header .child-product-links { gap: 2px; }
  header.public-child-header .child-nav-tab { padding-inline: 8px; font-size: 14px; }
  header.public-child-header .child-header-actions { width: 188px; }
  header.public-child-header .child-help-button { width: 54px; min-width: 54px; padding: 0; }
  header.public-child-header .child-help-button span { display: none; }
  header.public-child-header .child-sign-out-button { width: 126px; min-width: 126px; }
}

@media (max-width: 900px) {
  header.public-child-header { min-height: 132px; }
  header.public-child-header > .child-product-nav {
    height: 132px;
    min-height: 132px;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas: 'brand actions' 'nav nav';
    grid-template-rows: 72px 52px;
    gap: 0 12px;
    padding: 4px 0;
  }
  header.public-child-header .child-product-brand { grid-area: brand; }
  header.public-child-header .child-product-links {
    grid-area: nav;
    height: 52px;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }
  header.public-child-header .child-product-links::-webkit-scrollbar { display: none; }
  header.public-child-header .child-header-actions { grid-area: actions; }
  header.public-child-header .child-nav-tab { flex: 0 0 auto; }
}

@media (max-width: 620px) {
  header.public-child-header > .child-product-nav { width: 94vw; }
  header.public-child-header .child-product-brand img { width: 44px; height: 44px; flex-basis: 44px; }
  header.public-child-header .child-brand-name { font-size: 19px; }
  header.public-child-header .child-help-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
  }
  header.public-child-header .child-help-button span { display: none; }
  header.public-child-header .child-sign-out-button {
    width: 46px;
    min-width: 46px;
    height: 44px;
    padding: 0;
  }
  header.public-child-header .child-sign-out-button span { display: none; }
  header.public-child-header .child-nav-tab { height: 42px; min-height: 42px; font-size: 11px; padding: 8px 9px; }
  header.public-child-header .child-nav-tab i { font-size: 18px; }
}

.child-site-footer {
  margin-top: 52px;
  border-top: 1px solid #ead8e7;
  background: linear-gradient(135deg, #44235b 0%, #6e3479 58%, #8e3e79 100%);
  color: #fff;
}

.child-footer-inner {
  min-height: 126px;
  display: grid;
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding-top: 24px;
  padding-bottom: 24px;
}

.child-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  text-decoration: none;
}

.child-footer-brand img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.child-footer-brand strong,
.child-footer-brand small {
  display: block;
}

.child-footer-brand strong {
  font-family: 'Pacifico', cursive;
  font-size: 20px;
  font-weight: 400;
}

.child-footer-brand small {
  margin-top: 3px;
  color: #f5ddea;
  font-size: 11px;
  font-weight: 700;
}

.child-footer-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px 18px;
  flex-wrap: wrap;
}

.child-footer-links a {
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.child-footer-links a:hover,
.child-footer-links a:focus-visible {
  color: #ffd7e9;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.child-footer-copyright {
  margin: 0;
  color: #f5ddea;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .child-nav-only-header .child-product-nav {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
  }
  .child-product-brand .child-brand-name { font-size: 22px; }
  .child-product-links .child-nav-tab,
  .child-header-actions .child-header-action { padding-inline: 8px; }
}

@media (max-width: 980px) {
  .child-nav-only-header .child-product-nav {
    grid-template-columns: auto auto;
    grid-template-areas:
      'brand actions'
      'nav nav';
    gap: 4px 12px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .child-product-brand { grid-area: brand; }
  .child-product-links {
    grid-area: nav;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .child-product-links::-webkit-scrollbar { display: none; }
  .child-header-actions { grid-area: actions; }
  .child-product-links .child-nav-tab { flex: 0 0 auto; }
}

@media (max-width: 620px) {
  .child-nav-only-header .child-product-nav {
    width: min(96vw, 1160px);
  }
  .child-product-brand img {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  .child-product-brand .child-brand-name { font-size: 18px; }
  .child-header-actions .child-header-action {
    width: 42px;
    min-height: 42px;
    padding: 0;
  }
  .child-header-actions .child-header-action span { display: none; }
  .child-product-links .child-nav-tab {
    min-height: 42px;
    padding: 8px 9px;
    font-size: 11px;
  }
  .child-product-links .child-nav-tab i { font-size: 18px; }
  .child-footer-inner {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 18px;
    text-align: center;
  }
  .child-footer-links { justify-content: center; }
  .child-footer-copyright { white-space: normal; }
}

@media (max-width: 420px) {
  .child-product-brand .child-brand-name { display: none; }
  .child-product-links .child-nav-tab span { display: none; }
  .child-product-links .child-nav-tab {
    width: 42px;
    padding: 0;
  }
}

/* Shared pre-login header: the authenticated palace header without Palace or Sign out. */
header.public-child-header > .child-product-nav {
  grid-template-columns: 340px minmax(0, 1fr) 284px;
}

header.public-child-header .public-login-actions {
  width: 284px;
  justify-content: flex-end;
  gap: 0;
}

header.public-child-header .public-login-tabs {
  width: 278px;
  height: 46px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  overflow: hidden;
  border: 2px solid #e8abd0;
  border-radius: 16px;
  background: #fffafd;
  box-shadow: 0 10px 24px rgba(233,30,99,.08);
}

header.public-child-header .public-login-tab {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 11px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #a93667;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}

header.public-child-header .public-login-tab + .public-login-tab {
  border-left: 1px solid #efc7db;
}

header.public-child-header .public-login-tab i {
  font-size: 14px;
}

header.public-child-header .parent-login-tab:hover,
header.public-child-header .parent-login-tab:focus-visible {
  background: #fff1f7;
  color: #942957;
}

header.public-child-header .child-login-tab {
  background: linear-gradient(135deg, #d9276e, #e45a91);
  color: #fff;
}

header.public-child-header .child-login-tab:hover,
header.public-child-header .child-login-tab:focus-visible {
  background: linear-gradient(135deg, #c91f63, #dc4b84);
  color: #fff;
}

@media (max-width: 1180px) {
  header.public-child-header > .child-product-nav {
    grid-template-columns: 250px minmax(0, 1fr) 240px;
  }
  header.public-child-header .public-login-actions { width: 240px; }
  header.public-child-header .public-login-tabs { width: 234px; }
  header.public-child-header .public-login-tab { padding-inline: 8px; font-size: 11px; }
}

@media (max-width: 900px) {
  header.public-child-header .public-login-actions {
    width: auto;
  }
  header.public-child-header .public-login-tabs {
    width: 98px;
    height: 44px;
  }
  header.public-child-header .public-login-tab {
    width: 48px;
    padding: 0;
  }
  header.public-child-header .public-login-tab span { display: none; }
  header.public-child-header .public-login-tab i { font-size: 16px; }
}
@media (min-width: 1301px) {
  header.public-child-header > .child-product-nav {
    grid-template-columns: minmax(300px, 1fr) minmax(650px, 720px) minmax(300px, 1fr);
    gap: 18px;
  }
  header.public-child-header .child-product-brand img {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
  }
  header.public-child-header .child-brand-name { font-size: 22px; }
  header.public-child-header .child-product-links {
    width: 100%;
    gap: 3px;
  }
  header.public-child-header .child-nav-tab {
    flex: 1 1 auto;
    padding: 10px 8px;
    font-size: 14px;
  }
  header.public-child-header .child-nav-tab i { font-size: 19px; }
  header.public-child-header .child-header-actions {
    width: 142px;
    justify-self: end;
  }
}

@media (min-width: 1181px) and (max-width: 1300px) {
  header.public-child-header > .child-product-nav {
    width: min(98vw, 1240px);
    grid-template-columns: minmax(230px,1fr) minmax(570px,620px) minmax(230px,1fr);
    gap: 8px;
  }
  header.public-child-header .child-product-brand img {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  header.public-child-header .child-brand-name { font-size: 18px; }
  header.public-child-header .child-product-links { width: 100%; gap: 0; }
  header.public-child-header .child-nav-tab { flex: 1 1 auto; padding-inline: 5px; font-size: 12px; }
  header.public-child-header .child-nav-tab i { font-size: 17px; }
}
html { scrollbar-gutter: stable; }
header.public-child-header {
  min-height: 88px;
  contain: layout paint;
}
header.public-child-header > .child-product-nav {
  grid-template-columns: 310px minmax(510px, 1fr) 284px;
}
header.public-child-header .child-product-brand {
  width: 310px;
  max-width: 310px;
}
header.public-child-header .child-brand-name {
  width: 232px;
  max-width: 232px;
  font-size: 22px;
  overflow: hidden;
}
header.public-child-header .child-product-links {
  display: grid;
  grid-template-columns: 160px 205px 130px;
  justify-content: center;
  gap: 4px;
}
header.public-child-header .child-nav-tab {
  width: 100%;
  padding-inline: 7px;
  font-size: 14px;
  transition: background-color .15s ease, color .15s ease;
}
header.public-child-header .child-nav-tab i {
  animation: none;
  opacity: 1;
}
header.public-child-header .public-login-tabs,
header.public-child-header .public-login-tab {
  transition: none;
}

@media (max-width: 1180px) {
  header.public-child-header > .child-product-nav {
    grid-template-columns: 250px minmax(0,1fr) 240px;
  }
  header.public-child-header .child-product-brand { width: 250px; max-width: 250px; }
  header.public-child-header .child-brand-name { width: 180px; max-width: 180px; }
  header.public-child-header .child-product-links {
    display: flex;
    grid-template-columns: none;
  }
}
@media (min-width: 1301px) {
  header.public-child-header > .child-product-nav {
    width: calc(100% - 64px); max-width: none;
    grid-template-columns: minmax(360px,1fr) minmax(850px,960px) minmax(360px,1fr);
    gap: 24px;
  }
  header.public-child-header .child-product-brand img { width:56px; height:56px; flex-basis:56px; }
  header.public-child-header .child-brand-name { font-size:26px; }
  header.public-child-header .child-product-links { width:100%; gap:8px; }
  header.public-child-header .child-nav-tab { flex:1 1 auto; padding:10px 12px; font-size:20px; }
  header.public-child-header .child-nav-tab i { font-size:22px; }
  header.public-child-header .child-header-actions { width:160px; justify-self:end; justify-content:flex-end; }
  header.public-child-header .child-sign-out-button { width:150px; min-width:150px; }
}
@media (min-width: 1181px) and (max-width: 1300px) {
  header.public-child-header > .child-product-nav {
    width:calc(100% - 36px); max-width:none;
    grid-template-columns:minmax(260px,1fr) minmax(650px,720px) minmax(260px,1fr); gap:10px;
  }
  header.public-child-header .child-brand-name { font-size:22px; }
  header.public-child-header .child-nav-tab { font-size:15px; padding-inline:7px; }
  header.public-child-header .child-nav-tab i { font-size:18px; }
  header.public-child-header .child-header-actions { justify-self:end; }
}
header.public-child-header .child-product-brand img {
  width: 62px;
  height: 62px;
  flex-basis: 62px;
}
header.public-child-header .child-nav-tab { font-size: 18px; }
header.public-child-header .child-product-links { justify-self: center; }
@media (min-width: 1301px) {
  header.public-child-header > .child-product-nav {
    grid-template-columns: minmax(390px,1fr) minmax(900px,1010px) minmax(390px,1fr);
  }
  header.public-child-header .child-product-brand img { width:62px; height:62px; flex-basis:62px; }
  header.public-child-header .child-nav-tab { font-size:22px; gap:10px; }
  header.public-child-header .child-nav-tab i { font-size:23px; }
  header.public-child-header .child-header-actions { justify-self:end; }
}
@media (min-width: 1181px) and (max-width: 1300px) {
  header.public-child-header .child-product-brand img { width:56px; height:56px; flex-basis:56px; }
  header.public-child-header .child-nav-tab { font-size:17px; }
}
@media (max-width: 1180px) {
  header.public-child-header .child-product-brand img { width:55px; height:55px; flex-basis:55px; }
  header.public-child-header .child-nav-tab { font-size:15px; }
}
@media (max-width: 620px) {
  header.public-child-header .child-product-brand img { width:48px; height:48px; flex-basis:48px; }
  header.public-child-header .child-nav-tab { font-size:12px; }
}

/* The public shell uses the same premium crystal proportions without layout shifts. */
header.public-child-header .child-product-brand img { width:62px; height:62px; flex-basis:62px; }
header.public-child-header .child-product-brand { min-width:0; }
header.public-child-header .child-product-links { justify-self:center; }
.gem-collect-modal{position:fixed;inset:0;z-index:420;display:grid;place-items:center;padding:22px;background:rgba(48,27,61,.26);opacity:0;transition:opacity .18s ease;backdrop-filter:blur(7px)}
.gem-collect-modal.show{opacity:1}.gem-collect-modal[hidden]{display:none}
.gem-collect-card{position:relative;width:min(480px,92vw);overflow:hidden;display:grid;justify-items:center;gap:16px;padding:30px 28px 26px;border:2px solid rgba(255,255,255,.9);border-radius:30px;background:linear-gradient(160deg,rgba(255,255,255,.99),rgba(255,248,253,.98));text-align:center;box-shadow:0 30px 80px rgba(58,32,72,.26)}
.gem-collect-card::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 15%,rgba(255,223,126,.24),transparent 24%),radial-gradient(circle at 82% 20%,rgba(209,175,232,.24),transparent 28%)}
.gem-collect-glow{position:absolute;width:190px;height:190px;top:-60px;left:50%;transform:translateX(-50%);border-radius:50%;filter:blur(22px);opacity:.22;background:#f6c74d}
.gem-collect-icon{position:relative;z-index:1;width:92px;height:92px;display:grid;place-items:center;border-radius:28px;background:#fff;box-shadow:0 15px 32px rgba(78,47,94,.14);font-size:49px}.gem-collect-icon.currency-emerald{color:#36a76a;background:linear-gradient(145deg,#f5fff9,#e6faee)}.gem-collect-icon.currency-sapphire{color:#3975db;background:linear-gradient(145deg,#f7faff,#e8f1ff)}.gem-collect-icon.currency-ruby{color:#db316b;background:linear-gradient(145deg,#fff8fb,#ffe9f0)}.gem-collect-icon.currency-diamond{color:#2c82d8;background:linear-gradient(145deg,#f8fcff,#e4f2ff)}
.gem-collect-copy{position:relative;z-index:1}.gem-collect-kicker{display:block;margin-bottom:5px;color:#b78630;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.gem-collect-copy h2{margin:0 0 7px;color:#39214d;font-size:30px}.gem-collect-copy p{margin:0;color:#715f7c;font-size:16px;line-height:1.55;font-weight:650}
.gem-collect-button{position:relative;z-index:1;min-width:180px;min-height:48px;border:0;border-radius:16px;background:linear-gradient(135deg,#8b4caf,#e14f93);color:#fff;font:inherit;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 13px 27px rgba(162,68,150,.22)}.gem-collect-button:disabled{opacity:.55;cursor:wait}
.gem-flight-token{display:grid;place-items:center;border-radius:28px;box-shadow:0 13px 30px rgba(67,40,78,.2)}.gem-flight-token i{font-size:48px}.gem-flight-token.currency-emerald{color:#36a76a;background:#e8f9ef}.gem-flight-token.currency-sapphire{color:#3975db;background:#e8f1ff}.gem-flight-token.currency-ruby{color:#db316b;background:#ffe9f0}.gem-flight-token.currency-diamond{color:#2c82d8;background:#e4f2ff}
@media(max-width:620px){.gem-collect-card{padding:24px 20px 22px;border-radius:24px}.gem-collect-icon{width:76px;height:76px;font-size:40px}.gem-collect-copy h2{font-size:26px}.gem-collect-copy p{font-size:15px}.gem-collect-button{width:100%}}
@media (min-width:1301px){header.public-child-header .child-brand-name{font-size:32px}}
@media (min-width:1181px) and (max-width:1300px){header.public-child-header .child-brand-name{font-size:28px}}
@media(max-width:900px){header.public-child-header .child-header-actions{display:flex;justify-content:flex-end;gap:8px}}
@media(max-width:620px){header.public-child-header .child-brand-name{font-size:21px}}

/* Public world navigation uses the exact same premium gem artwork as the protected child header. */
header.public-child-header .public-world-gem{display:block;flex:0 0 31px;width:31px;height:31px;object-fit:contain;background:none;filter:drop-shadow(0 3px 5px rgba(65,38,82,.12))}


/* Shared authenticated-child progress strip — one source for Dashboard, Palace and all three worlds. */
.shared-child-progress-strip{border-bottom:1px solid #ecdce9;background:rgba(255,251,254,.96)}
.shared-child-progress-strip-inner{width:min(1120px,92vw);margin-inline:auto;display:grid;grid-template-columns:minmax(410px,.95fr) minmax(520px,1.45fr) 122px;align-items:stretch;gap:14px;padding-block:11px}
.shared-gems-earned-card{min-width:0;min-height:80px;display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid #ead9e8;border-radius:21px;background:linear-gradient(145deg,#fff,#fff9fc);box-shadow:0 9px 24px rgba(75,34,91,.05)}
.shared-gems-earned-title{padding:8px 14px 4px;color:#745383;font-size:11px;font-weight:900;letter-spacing:.055em;text-align:center}
.shared-gems-earned-values{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(66px,1fr));align-items:center}
.shared-earned-gem{position:relative;min-width:0;min-height:54px;display:grid;grid-template-columns:36px auto;align-items:center;justify-content:center;gap:7px;padding:4px 7px 9px}
.shared-earned-gem+.shared-earned-gem::before{content:'';position:absolute;left:0;top:10%;bottom:22%;width:1px;background:#eee1eb}
.shared-earned-gem-icon{width:34px;height:34px;filter:drop-shadow(0 5px 8px rgba(63,38,83,.13))}
.shared-earned-gem.diamond .shared-earned-gem-icon{width:37.4px;height:37.4px;transform:translateY(-3px)}
.shared-earned-gem strong{font-size:21px;line-height:1;color:#45265f}.shared-earned-gem.emerald strong{color:#2b8e58}.shared-earned-gem.sapphire strong{color:#376cc8}.shared-earned-gem.ruby strong{color:#c83268}
.shared-collection-progress{min-width:0;min-height:80px;display:flex;flex-direction:column;justify-content:center;padding:12px 18px;border:1px solid #ead9e8;border-radius:21px;background:linear-gradient(180deg,#fff,#fff9fc);box-shadow:0 9px 24px rgba(75,34,91,.05)}
.shared-collection-progress-copy{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.shared-collection-progress-copy>strong{color:#6c4187;font-size:18px;font-weight:850}.shared-collection-progress-copy>strong::before{content:'♕';margin-right:8px;color:#c68d37;font-size:16px}
.shared-collection-progress-track{height:12px;overflow:hidden;border:1px solid #e8dbe9;border-radius:999px;background:linear-gradient(180deg,#f8f1f8,#ede0ef)}
.shared-collection-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b756ac 0%,#d52f75 55%,#efb54b 100%);box-shadow:0 2px 8px rgba(183,76,148,.18);transition:width .25s ease}
.shared-progress-help-slot{display:flex;align-items:stretch;justify-content:flex-end;min-height:80px}
.shared-progress-help{width:122px;min-height:80px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border:1px solid #e0c48d;border-radius:22px;background:linear-gradient(145deg,#fffdf8,#fff7fb);color:#ad7614;font:400 24px/1 'Pacifico',cursive;box-shadow:inset 0 0 0 3px rgba(255,255,255,.82),0 10px 24px rgba(117,81,37,.08);cursor:pointer}
.shared-progress-help:hover{border-color:#c99a39;background:linear-gradient(145deg,#fffefb,#fff3f8);color:#8d5d0e}
@media(max-width:980px){.shared-child-progress-strip-inner{grid-template-columns:1fr 1fr}.shared-progress-help-slot{grid-column:2;justify-content:flex-end}.shared-progress-help{width:100%}.shared-collection-progress{grid-column:1/-1;grid-row:2}}
@media(max-width:620px){.shared-child-progress-strip-inner{width:min(94vw,1120px);grid-template-columns:1fr;gap:9px;padding-block:9px}.shared-gems-earned-card,.shared-collection-progress,.shared-progress-help-slot,.shared-progress-help{min-height:62px}.shared-gems-earned-values{grid-template-columns:repeat(4,1fr)}.shared-earned-gem{grid-template-columns:30px auto;gap:4px;padding-inline:3px}.shared-earned-gem-icon{width:28px;height:28px}.shared-earned-gem.diamond .shared-earned-gem-icon{width:30.8px;height:30.8px}.shared-earned-gem strong{font-size:18px}.shared-collection-progress{grid-column:auto;grid-row:auto}.shared-progress-help-slot{grid-column:auto}.shared-progress-help{width:100%}}
