/* Result density v7: compact visual dashboard layered over the existing v6 result styles. */

.teaser-result-v7 { gap: 10px; }

/* Hero: mascot remains a visual anchor, but no longer consumes the whole first viewport. */
.result-profile-v7 {
  padding: 18px;
  border-radius: 30px;
}
.result-profile-v7 .result-profile-topline { margin-bottom: 10px; }
.result-profile-v7 .result-ribbon {
  min-height: 32px;
  padding: 7px 11px;
  font-size: 10px;
}
.result-profile-v7 .result-id-chip {
  padding: 7px 10px;
  font-size: 8px;
}
.result-profile-main-v7 {
  display: grid;
  grid-template-columns: 190px minmax(0,1fr);
  gap: 16px;
  align-items: center;
}
.hero-mascot-frame-v7 {
  position: relative;
  height: 205px;
  min-width: 0;
}
.hero-mascot-frame-v7 .mascot-character {
  position: absolute;
  left: 50%;
  top: 0;
  width: 300px;
  margin: 0;
  transform: translateX(-50%) scale(.62);
  transform-origin: top center;
}
.hero-mascot-frame-v7 .mascot-nameplate { display: none; }
.hero-identity-v7 { min-width: 0; }
.hero-identity-tags-v7 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.hero-identity-tags-v7 span {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(78,52,82,.07);
  color: #795c70;
  font-size: 9px;
  font-weight: 950;
}
.hero-identity-v7 h1 {
  margin: 0 0 7px;
  font-size: clamp(31px,4.3vw,46px);
  line-height: 1.04;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.hero-base-v7 {
  margin: 0;
  color: #6d606d;
  font-size: 11px;
  font-weight: 850;
}
.hero-hashtags-v7 {
  justify-content: flex-start;
  margin: 9px 0 8px;
  gap: 5px;
}
.hero-hashtags-v7 span {
  padding: 5px 7px;
  font-size: 8px;
}
.hero-one-liner-v7 {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 9px 11px;
  border-radius: 15px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(79,55,83,.06);
}
.hero-one-liner-v7 span { font-size: 18px; }
.hero-one-liner-v7 strong {
  color: #4b404d;
  font-size: 12px;
  line-height: 1.4;
}
.hero-summary-grid-v7 {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
  margin-top: 10px;
}
.hero-summary-grid-v7 article {
  min-width: 0;
  padding: 10px 8px;
  text-align: center;
  border-radius: 17px;
  border: 1px solid rgba(72,51,79,.06);
  background: rgba(255,255,255,.76);
}
.hero-summary-grid-v7 article:nth-child(2) { background: rgba(255,248,225,.83); }
.hero-summary-grid-v7 article:nth-child(3) { background: rgba(255,239,245,.82); }
.hero-summary-grid-v7 article > span {
  display: block;
  margin-bottom: 3px;
  font-size: 21px;
  line-height: 1;
}
.hero-summary-grid-v7 small {
  display: block;
  margin-bottom: 3px;
  color: #9b7b90;
  font-size: 9px;
  font-weight: 950;
}
.hero-summary-grid-v7 strong {
  display: block;
  color: #403640;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 900;
}

/* Arousal / relatability: one feature card plus two small visual hits. */
.teaser-aruaru-v7 {
  padding: 20px;
  border-radius: 29px;
}
.teaser-aruaru-v7 h2 {
  margin: 5px 0 12px;
  font-size: clamp(24px,4vw,31px);
  letter-spacing: -.045em;
}
.teaser-aruaru-main-v7 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 19px;
  text-align: center;
  background: linear-gradient(135deg,#3b2946,#6d4a8c);
  color: #fff;
}
.teaser-aruaru-main-v7 > span {
  flex: 0 0 auto;
  font-size: 30px;
}
.teaser-aruaru-main-v7 strong {
  font-size: 14px;
  line-height: 1.4;
}
.teaser-aruaru-mini-grid-v7 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  margin-top: 8px;
}
.teaser-aruaru-card-v7 {
  min-width: 0;
  padding: 12px 10px;
  text-align: center;
  border-radius: 17px;
  border: 1px solid rgba(75,52,80,.07);
  background: rgba(255,255,255,.8);
}
.teaser-aruaru-card-v7 > span {
  display: block;
  margin-bottom: 5px;
  font-size: 23px;
}
.teaser-aruaru-card-v7 p {
  margin: 0;
  color: #4f4451;
  font-size: 11px;
  line-height: 1.42;
  font-weight: 820;
}

/* Quick profile: meaning-dense tiles instead of oversized single-message cards. */
.teaser-profile-v6 { padding: 0; }
.teaser-profile-board-v7 {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  gap: 8px;
}
.profile-mini-grid-v7 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.profile-panel-v7 {
  min-width: 0;
  padding: 13px;
  border-radius: 20px;
  border: 1px solid rgba(70,49,75,.07);
  box-shadow: 0 8px 18px rgba(65,43,70,.045);
}
.profile-strength-v7 { background: linear-gradient(145deg,#fff8ec,#fff); }
.profile-pitfall-v7 { background: linear-gradient(145deg,#fff0f5,#fff); }
.profile-role-v7 { background: linear-gradient(145deg,#f2edff,#fff); }
.profile-label-v7 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 7px;
  text-align: center;
}
.profile-label-v7 span { font-size: 22px; line-height: 1; }
.profile-label-v7 small {
  color: #8b7485;
  font-size: 9px;
  font-weight: 950;
}
.profile-strength-items-v7 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px;
}
.profile-strength-items-v7 strong {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 7px 6px;
  border-radius: 12px;
  text-align: center;
  background: rgba(255,255,255,.72);
  color: #443947;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 900;
}
.profile-mini-grid-v7 .profile-panel-v7 { text-align: center; }
.profile-mini-grid-v7 .profile-panel-v7 > strong {
  display: block;
  margin: 0;
  color: #4b404d;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 900;
}

/* Social mirror: short declarations and visual anchors. */
.teaser-social-v6 { padding: 19px; }
.teaser-section-heading-v7 h2 {
  margin: 5px 0 12px;
  font-size: clamp(23px,4vw,30px);
  letter-spacing: -.045em;
}
.teaser-social-list-v7 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.teaser-social-card-v7 {
  min-width: 0;
  padding: 13px 11px;
  text-align: center;
  border-radius: 18px;
  border: 1px solid rgba(70,49,75,.06);
  background: rgba(255,255,255,.88);
}
.teaser-decision-v7 {
  grid-column: 1 / -1;
  background: linear-gradient(145deg,#fff7dc,#fff);
}
.teaser-social-icon-v7 {
  display: block;
  margin-bottom: 4px;
  font-size: 25px;
  line-height: 1.1;
}
.teaser-social-card-v7 small {
  display: block;
  margin-bottom: 4px;
  color: #a16f91;
  font-size: 9px;
  font-weight: 950;
}
.teaser-social-card-v7 strong {
  display: block;
  color: #493f4b;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 900;
}
.teaser-decision-v7 strong { font-size: 13px; }

/* A full-width one-message block earns its width by centering and featuring the message. */
.teaser-action-v7 {
  padding: 16px 18px;
  border-radius: 23px;
  text-align: center;
  background: linear-gradient(135deg,#33263d,#554064 62%,#70549a);
  color: #fff;
  box-shadow: 0 12px 28px rgba(53,37,62,.12);
}
.teaser-action-label-v7 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-bottom: 7px;
}
.teaser-action-label-v7 span { font-size: 23px; }
.teaser-action-label-v7 small {
  color: #eadbea;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .03em;
}
.teaser-action-v7 > strong {
  display: block;
  margin: 0 auto 9px;
  max-width: 620px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 900;
}
.teaser-action-more-v7 {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.11);
  color: #e7dce8;
  font-size: 9px;
  font-weight: 850;
}

/* Locked value preview remains 2x2 and visibly valuable without exposing detail. */
.locked-value-preview-v6 {
  padding: 20px;
  border-radius: 26px;
}
.locked-preview-lead-v6 {
  margin: -5px 0 12px;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 750;
}
.locked-preview-grid-v6 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.locked-preview-card-v6 {
  min-height: 140px;
  padding: 13px;
  border-radius: 18px;
}
.locked-preview-card-v6 small {
  margin: 5px 0 6px;
  font-size: 9px;
  line-height: 1.3;
}
.locked-visible-line-v6 {
  -webkit-line-clamp: 2;
  font-size: 11px;
  line-height: 1.42;
}
.locked-axis-row-v6 {
  grid-template-columns: 42px 1fr;
  gap: 6px;
  margin: 8px 0;
  font-size: 8px;
}
.unlock-v6 {
  margin-top: -3px !important;
  padding: 22px !important;
}
.unlock-v6 h2 { margin-bottom: 8px; }
.unlock-v6 > p:not(.microcopy) { margin-bottom: 15px; }

@media (max-width: 720px) {
  .teaser-result-v7 { gap: 8px; }

  .result-profile-v7 {
    padding: 13px;
    border-radius: 25px;
  }
  .result-profile-v7 .result-profile-topline { margin-bottom: 7px; }
  .result-profile-main-v7 {
    grid-template-columns: 108px minmax(0,1fr);
    gap: 9px;
  }
  .hero-mascot-frame-v7 { height: 138px; }
  .hero-mascot-frame-v7 .mascot-character {
    transform: translateX(-50%) scale(.43);
  }
  .hero-identity-tags-v7 { gap: 4px; margin-bottom: 5px; }
  .hero-identity-tags-v7 span {
    padding: 4px 6px;
    font-size: 8px;
  }
  .hero-identity-v7 h1 {
    margin-bottom: 5px;
    font-size: clamp(23px,7vw,29px);
    line-height: 1.03;
  }
  .hero-base-v7 { font-size: 10px; }
  .hero-hashtags-v7 { margin: 6px 0 5px; gap: 3px; }
  .hero-hashtags-v7 span {
    padding: 4px 5px;
    font-size: 8px;
  }
  .hero-one-liner-v7 {
    gap: 5px;
    padding: 7px 8px;
    border-radius: 12px;
  }
  .hero-one-liner-v7 span { font-size: 14px; }
  .hero-one-liner-v7 strong {
    font-size: 10.5px;
    line-height: 1.32;
  }
  .hero-summary-grid-v7 { gap: 5px; margin-top: 7px; }
  .hero-summary-grid-v7 article {
    min-height: 66px;
    padding: 8px 5px;
    border-radius: 13px;
  }
  .hero-summary-grid-v7 article > span { font-size: 18px; }
  .hero-summary-grid-v7 small { font-size: 8px; }
  .hero-summary-grid-v7 strong {
    font-size: 10px;
    line-height: 1.28;
  }

  .teaser-aruaru-v7 { padding: 15px; border-radius: 22px; }
  .teaser-aruaru-v7 h2 { margin-bottom: 9px; font-size: 22px; }
  .teaser-aruaru-main-v7 {
    gap: 7px;
    padding: 11px 12px;
    border-radius: 15px;
  }
  .teaser-aruaru-main-v7 > span { font-size: 25px; }
  .teaser-aruaru-main-v7 strong {
    font-size: 12px;
    line-height: 1.35;
  }
  .teaser-aruaru-mini-grid-v7 {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin-top: 6px;
  }
  .teaser-aruaru-card-v7 {
    padding: 10px 8px;
    border-radius: 14px;
  }
  .teaser-aruaru-card-v7 > span {
    margin-bottom: 4px;
    font-size: 20px;
  }
  .teaser-aruaru-card-v7 p {
    font-size: 10.5px;
    line-height: 1.35;
  }

  .teaser-profile-board-v7 { grid-template-columns: 1fr; gap: 6px; }
  .profile-mini-grid-v7 { grid-template-columns: 1fr 1fr; gap: 6px; }
  .profile-panel-v7 { padding: 11px; border-radius: 16px; }
  .profile-label-v7 { margin-bottom: 6px; gap: 5px; }
  .profile-label-v7 span { font-size: 20px; }
  .profile-label-v7 small { font-size: 8.5px; }
  .profile-strength-items-v7 { gap: 5px; }
  .profile-strength-items-v7 strong {
    min-height: 40px;
    padding: 6px 5px;
    font-size: 10.5px;
  }
  .profile-mini-grid-v7 .profile-panel-v7 > strong {
    font-size: 10.5px;
    line-height: 1.32;
  }

  .teaser-social-v6 { padding: 14px; border-radius: 22px; }
  .teaser-section-heading-v7 h2 { margin-bottom: 9px; font-size: 21px; }
  .teaser-social-list-v7 { grid-template-columns: 1fr 1fr; gap: 6px; }
  .teaser-social-card-v7 { padding: 10px 8px; border-radius: 14px; }
  .teaser-social-icon-v7 { font-size: 21px; }
  .teaser-social-card-v7 small { font-size: 8.5px; }
  .teaser-social-card-v7 strong {
    font-size: 10.5px;
    line-height: 1.32;
  }
  .teaser-decision-v7 {
    grid-column: 1 / -1;
    padding-block: 10px;
  }
  .teaser-decision-v7 strong { font-size: 11.5px; }

  .teaser-action-v7 { padding: 14px; border-radius: 18px; }
  .teaser-action-label-v7 { margin-bottom: 5px; }
  .teaser-action-label-v7 span { font-size: 20px; }
  .teaser-action-label-v7 small { font-size: 8.5px; }
  .teaser-action-v7 > strong {
    margin-bottom: 7px;
    font-size: 11.5px;
    line-height: 1.38;
  }
  .teaser-action-more-v7 {
    padding: 4px 7px;
    font-size: 8px;
  }

  .locked-value-preview-v6 { padding: 14px; border-radius: 21px; }
  .locked-value-preview-v6 .section-title-row { gap: 6px; }
  .locked-value-preview-v6 .section-title-row h2 {
    margin-bottom: 9px;
    font-size: 20px;
  }
  .locked-preview-lead-v6 {
    margin-bottom: 9px;
    font-size: 10px;
  }
  .locked-preview-grid-v6 { grid-template-columns: 1fr 1fr; gap: 6px; }
  .locked-preview-card-v6 {
    min-height: 126px;
    padding: 10px;
    border-radius: 14px;
  }
  .locked-preview-card-v6 small {
    font-size: 8.5px;
    line-height: 1.25;
  }
  .locked-preview-icon-v6 { font-size: 20px; }
  .locked-visible-line-v6 {
    font-size: 10px;
    line-height: 1.35;
    -webkit-line-clamp: 2;
  }
  .locked-axis-row-v6 {
    grid-template-columns: 34px 1fr;
    gap: 4px;
    margin: 6px 0;
    font-size: 7.5px;
  }
  .locked-match-row-v6 span { font-size: 24px; }
  .locked-match-row-v6 strong { font-size: 9px; }
  .locked-match-row-v6 em { font-size: 7.5px; }

  .unlock-v6 { padding: 17px !important; }
  .unlock-v6 .unlock-treasure { font-size: 29px; }
  .unlock-v6 h2 {
    margin: 4px 0 7px;
    font-size: 23px;
  }
  .unlock-v6 > p:not(.microcopy) {
    margin-bottom: 12px;
    font-size: 11px;
  }
}
