/* I2142 root CSS budget closure: post-intent, analysis, result, payment, and history owners. */
/* I2142 deferred owner: master-result-workbench-and-actions. */
.master-workbench-shell{
  display: grid;
  gap: clamp(0.9rem, 2.4vw, 1.25rem);
  padding: clamp(1rem, 3vw, 1.35rem);
  border: 1px solid rgba(13, 110, 253, 0.18);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(13, 110, 253, 0.08), rgba(255, 255, 255, 0.98));
  box-shadow: 0 18px 42px rgba(33, 37, 41, 0.08);
  min-inline-size: 0;
  max-inline-size: 100%;
}
.master-workbench-shell:focus,
.master-workbench-shell:focus-visible{
  outline: 3px solid rgba(13, 110, 253, 0.36); outline-offset: 4px;
}
.master-workbench-hero{
  display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(15rem, 0.85fr); gap: clamp(0.9rem, 2.5vw, 1.25rem); align-items: stretch;
}
.master-workbench-hero-copy,
.master-workbench-state-card,
.master-workbench-use,
.master-workbench-empty,
.master-workbench-privacy,
.master-workbench-section{
  border: 1px solid rgba(33, 37, 41, 0.10); border-radius: 22px; background: rgba(255, 255, 255, 0.88);
}
.master-workbench-hero-copy,
.master-workbench-state-card,
.master-workbench-use,
.master-workbench-empty,
.master-workbench-privacy{ padding: clamp(1rem, 2.8vw, 1.35rem); }
.master-workbench-hero-copy h3{
  margin: 0.3rem 0 0.6rem; color: var(--bm-gray-900, #212529); font-size: clamp(1.35rem, 4.4vw, 2.05rem);
  line-height: 1.18; letter-spacing: -0.045em;
}
.master-workbench-hero-copy p,
.master-workbench-state-card p,
.master-workbench-card p,
.master-workbench-empty p,
.master-workbench-section p,
.master-workbench-privacy p{
  margin: 0; color: var(--bm-gray-600, #6c757d); line-height: 1.65; font-size: 0.93rem;
}
.master-workbench-state-card{
  display: grid; gap: 0.55rem; align-content: start;
}
.master-workbench-state-card span,
.master-workbench-card span,
.master-workbench-section summary span{
  color: var(--bm-blue, #0d6efd); font-size: 0.72rem; font-weight: 950;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.master-workbench-state-card strong{
  color: var(--bm-gray-900, #212529); font-size: 1.05rem; line-height: 1.3;
}
.master-workbench-state-card em{
  width: fit-content;
  padding: 0.38rem 0.66rem;
  border: 1px solid rgba(13, 110, 253, 0.16);
  border-radius: 999px;
  background: rgba(13, 110, 253, 0.08);
  color: var(--bm-blue, #0d6efd);
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 900;
}
.master-workbench-progress{
  display: block; color: var(--bm-gray-600, #6c757d); font-size: 0.78rem;
  font-weight: 850; line-height: 1.45;
}
.master-workbench-recovery-note{
  padding: 0.72rem 0.8rem;
  border: 1px solid rgba(255, 193, 7, 0.26);
  border-radius: 16px;
  background: rgba(255, 193, 7, 0.11);
  color: var(--bm-gray-700, #495057);
  font-size: 0.84rem;
  line-height: 1.55;
}
.master-workbench-actions{
  position: sticky;
  bottom: calc(0.65rem + env(safe-area-inset-bottom));
  z-index: 32;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.15rem;
  padding: 0.65rem;
  border: 1px solid rgba(13, 110, 253, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 34px rgba(33, 37, 41, 0.12);
}
.master-workbench-actions .button{
  justify-content: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 42px;
  padding: 0.7rem 0.85rem;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.master-workbench-actions [hidden]{ display: none !important; }
.master-workbench-home{ text-decoration: none; }

.master-workbench-section-nav{
  display: grid;
  gap: 0.75rem;
  min-inline-size: 0;
  max-inline-size: 100%;
  padding: clamp(0.9rem, 2.6vw, 1.1rem);
  border: 1px solid rgba(13, 110, 253, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.90);
  scroll-margin-top: calc(74px + env(safe-area-inset-top));
}
.master-workbench-section-nav-head{
  display: grid; gap: 0.25rem; min-inline-size: 0;
}
.master-workbench-section-nav-head strong{
  color: var(--bm-gray-900, #212529); font-size: 0.98rem; line-height: 1.3;
}
.master-workbench-section-nav-head p{
  margin: 0; color: var(--bm-gray-600, #6c757d); font-size: 0.86rem;
  line-height: 1.55; overflow-wrap: anywhere;
}
.master-workbench-section-nav-list{
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem;
  min-inline-size: 0; max-inline-size: 100%;
}
.master-workbench-nav-button{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  min-inline-size: 0;
  min-block-size: 44px;
  width: 100%;
  padding: 0.62rem 0.68rem;
  border: 1px solid rgba(33, 37, 41, 0.10);
  border-radius: 16px;
  background: rgba(248, 249, 250, 0.88);
  color: var(--bm-gray-800, #343a40);
  text-align: left;
  cursor: pointer;
  touch-action: manipulation;
}
.master-workbench-nav-button span{
  color: var(--bm-blue, #0d6efd); font-size: 0.68rem; font-weight: 950; letter-spacing: 0.08em;
}
.master-workbench-nav-button strong{
  min-inline-size: 0; color: inherit; font-size: 0.82rem;
  line-height: 1.24; overflow-wrap: anywhere;
}
.master-workbench-nav-button:hover,
.master-workbench-nav-button:focus-visible,
.master-workbench-nav-button[data-master-workbench-nav-active]{
  border-color: rgba(13, 110, 253, 0.26); background: rgba(13, 110, 253, 0.08); color: var(--bm-blue, #0d6efd);
}
.master-workbench-nav-button:focus-visible{
  outline: 3px solid rgba(13, 110, 253, 0.34); outline-offset: 2px;
}
.master-workbench-grid,
.master-workbench-empty-grid{
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.72rem; margin-top: 0.72rem;
}
.master-workbench-card{
  display: grid; gap: 0.36rem; min-height: 8.5rem; padding: 1rem;
}
.master-workbench-card strong{
  color: var(--bm-gray-900, #212529); font-size: 0.98rem; line-height: 1.3;
}

.master-workbench-stability-summary{
  overflow: hidden; border: 1px solid rgba(13, 110, 253, 0.16); border-radius: 24px; background: rgba(255, 255, 255, 0.92);
}
.master-workbench-stability-summary > summary{
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 1rem;
  cursor: pointer;
  list-style: none;
}
.master-workbench-stability-summary > summary::-webkit-details-marker{ display: none; }
.master-workbench-stability-summary summary span,
.master-workbench-photo-slot span,
.master-workbench-summary-chip em{
  color: var(--bm-blue, #0d6efd); font-size: 0.72rem; font-weight: 950;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.master-workbench-stability-summary summary strong{
  color: var(--bm-gray-900, #212529); font-size: 1rem;
}
.master-workbench-stability-summary summary em{
  margin-left: auto;
  padding: 0.32rem 0.58rem;
  border: 1px solid rgba(13, 110, 253, 0.15);
  border-radius: 999px;
  background: rgba(13, 110, 253, 0.08);
  color: var(--bm-blue, #0d6efd);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
}
.master-workbench-stability-body{
  display: grid; gap: 0.85rem; padding: 0 1rem 1rem;
}
.master-workbench-stability-body > p,
.master-workbench-photo-slot p,
.master-workbench-summary-recovery p{
  margin: 0; color: var(--bm-gray-600, #6c757d); font-size: 0.9rem; line-height: 1.6;
}
.master-workbench-summary-chip-grid{
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.55rem;
}
.master-workbench-summary-chip{
  display: grid;
  gap: 0.2rem;
  min-inline-size: 0;
  padding: 0.72rem;
  border: 1px solid rgba(33, 37, 41, 0.08);
  border-radius: 16px;
  background: rgba(13, 110, 253, 0.045);
}
.master-workbench-summary-chip strong{
  color: var(--bm-gray-900, #212529); font-size: 0.82rem; line-height: 1.25; overflow-wrap: anywhere;
}
.master-workbench-photo-slot-wrap{
  display: grid; gap: 0.6rem;
}
.master-workbench-photo-slot-wrap h4{
  margin: 0; color: var(--bm-gray-900, #212529); font-size: 0.98rem;
}
.master-workbench-photo-slot-grid{
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.65rem;
}
.master-workbench-photo-slot{
  display: grid;
  gap: 0.45rem;
  min-inline-size: 0;
  padding: 0.82rem;
  border: 1px solid rgba(33, 37, 41, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
}
.master-workbench-photo-slot strong{
  color: var(--bm-gray-900, #212529); font-size: 0.9rem;
}
.master-workbench-photo-quality-list{
  display: grid; gap: 0.32rem; margin: 0;
  padding: 0; list-style: none;
}
.master-workbench-photo-quality-list li{
  min-height: 32px;
  padding: 0.42rem 0.5rem;
  border: 1px solid rgba(13, 110, 253, 0.10);
  border-radius: 12px;
  background: rgba(13, 110, 253, 0.045);
  color: var(--bm-gray-700, #495057);
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.28;
  overflow-wrap: anywhere;
}
.master-workbench-photo-slot dl{
  display: grid; gap: 0.35rem; margin: 0;
}
.master-workbench-photo-slot dl div{
  display: grid; gap: 0.08rem;
}
.master-workbench-photo-slot dt{
  color: var(--bm-gray-500, #868e96); font-size: 0.68rem; font-weight: 900;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.master-workbench-photo-slot dd{
  margin: 0;
  color: var(--bm-gray-800, #343a40);
  font-size: 0.78rem;
  font-weight: 850;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.master-workbench-slot-action-row{
  display: grid;
  gap: 0.55rem;
  min-inline-size: 0;
  padding: 0.62rem;
  border: 1px solid rgba(33, 37, 41, 0.08);
  border-radius: 16px;
  background: rgba(248, 249, 250, 0.92);
}
.master-workbench-slot-action-row em{
  display: block;
  margin-bottom: 0.18rem;
  color: var(--bm-gray-500, #868e96);
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.master-workbench-slot-action-row strong{
  display: block; color: var(--bm-gray-900, #212529); font-size: 0.84rem; line-height: 1.28;
}
.master-workbench-slot-action-row p,
.master-workbench-slot-action-row small{
  display: block;
  margin: 0.24rem 0 0;
  color: var(--bm-gray-600, #6c757d);
  font-size: 0.76rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.master-workbench-slot-control,
.master-workbench-slot-wait{
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 0.66rem 0.72rem;
  text-align: center;
  white-space: normal;
}
.master-workbench-slot-control:disabled,
.master-workbench-slot-control[aria-disabled="true"]{
  cursor: not-allowed; opacity: 0.72;
}
.master-workbench-slot-wait{
  display: inline-flex;
  align-items: center;
  border: 1px dashed rgba(33, 37, 41, 0.16);
  border-radius: 999px;
  background: rgba(33, 37, 41, 0.045);
  color: var(--bm-gray-600, #6c757d);
  font-size: 0.78rem;
  font-weight: 900;
}
.master-workbench-summary-recovery{
  padding: 0.82rem; border: 1px solid rgba(255, 193, 7, 0.24); border-radius: 18px; background: rgba(255, 193, 7, 0.10);
}
.master-workbench-summary-recovery strong{
  display: block; margin-bottom: 0.3rem; color: var(--bm-gray-900, #212529); font-size: 0.92rem;
}
.master-workbench-profile-ranking-body{
  display: grid; gap: 0.85rem; padding: 0 1rem 1rem;
}
.master-workbench-profile-ranking-body > p,
.master-workbench-profile-ranking-card p,
.master-workbench-profile-next-shoot li,
.master-workbench-profile-ranking-actions p,
.master-workbench-profile-privacy{
  margin: 0; color: var(--bm-gray-600, #6c757d); font-size: 0.88rem; line-height: 1.58;
}
.master-workbench-profile-ranking-grid{
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.65rem;
}
.master-workbench-profile-ranking-card,
.master-workbench-profile-ranking-empty{
  display: grid;
  gap: 0.45rem;
  min-inline-size: 0;
  padding: 0.82rem;
  border: 1px solid rgba(33, 37, 41, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
}
.master-workbench-profile-ranking-card span{
  color: var(--bm-blue, #0d6efd); font-size: 0.72rem; font-weight: 950;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.master-workbench-profile-ranking-card strong,
.master-workbench-profile-ranking-empty strong,
.master-workbench-profile-next-shoot strong,
.master-workbench-profile-ranking-actions strong{
  color: var(--bm-gray-900, #212529); font-size: 0.9rem; line-height: 1.28;
}
.master-workbench-profile-bucket{
  width: fit-content;
  max-width: 100%;
  padding: 0.32rem 0.58rem;
  border: 1px solid rgba(13, 110, 253, 0.14);
  border-radius: 999px;
  background: rgba(13, 110, 253, 0.07);
  color: var(--bm-blue, #0d6efd);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.master-workbench-profile-basis,
.master-workbench-profile-next-shoot ul{
  display: grid; gap: 0.34rem; margin: 0;
  padding: 0; list-style: none;
}
.master-workbench-profile-basis li,
.master-workbench-profile-next-shoot li{
  min-height: 34px;
  padding: 0.42rem 0.5rem;
  border: 1px solid rgba(13, 110, 253, 0.10);
  border-radius: 12px;
  background: rgba(13, 110, 253, 0.045);
  overflow-wrap: anywhere;
}
.master-workbench-profile-basis li{
  color: var(--bm-gray-700, #495057); font-size: 0.73rem; font-weight: 850; line-height: 1.28;
}
.master-workbench-profile-next-shoot,
.master-workbench-profile-ranking-actions{
  display: grid;
  gap: 0.6rem;
  padding: 0.82rem;
  border: 1px solid rgba(33, 37, 41, 0.08);
  border-radius: 18px;
  background: rgba(248, 249, 250, 0.92);
}
.master-workbench-profile-ranking-actions{
  grid-template-columns: minmax(0, 1fr) minmax(11rem, 0.42fr); align-items: center;
}
.master-workbench-profile-action{
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 0.66rem 0.72rem;
  text-align: center;
  white-space: normal;
}
.master-workbench-profile-action-disabled{
  display: inline-flex;
  align-items: center;
  border: 1px dashed rgba(33, 37, 41, 0.16);
  border-radius: 999px;
  background: rgba(33, 37, 41, 0.045);
  color: var(--bm-gray-600, #6c757d);
  font-size: 0.78rem;
  font-weight: 900;
}
.master-workbench-profile-privacy{
  padding: 0.7rem 0.78rem !important; border: 1px solid rgba(25, 135, 84, 0.16); border-radius: 16px; background: rgba(25, 135, 84, 0.07);
}
.master-workbench-empty{
  display: grid; gap: 0.75rem;
}
.master-workbench-empty h4{
  margin: 0.25rem 0 0.45rem; color: var(--bm-gray-900, #212529); font-size: 1.08rem; letter-spacing: -0.025em;
}
.master-workbench-empty-grid .master-workbench-card{
  min-height: 7.2rem; background: rgba(33, 37, 41, 0.025);
}
.master-workbench-sections{
  display: grid; gap: 0.65rem;
}
.master-workbench-section{ overflow: hidden; }
.master-workbench-section > summary{
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.92rem 1rem;
  cursor: pointer;
  list-style: none;
}
.master-workbench-section > summary::-webkit-details-marker{ display: none; }
.master-workbench-section summary strong{
  color: var(--bm-gray-900, #212529); font-size: 0.98rem;
}
.master-workbench-section p{ padding: 0 1rem 1rem; }
.master-workbench-privacy strong{
  display: block; margin-bottom: 0.35rem; color: var(--bm-gray-900, #212529); font-size: 0.96rem;
}
@media (max-width: 760px){
.master-workbench-shell{
  gap: 0.78rem; padding-inline: max(0.78rem, env(safe-area-inset-left)); padding-bottom: calc(1rem + env(safe-area-inset-bottom)); border-radius: 22px;
}
  .master-workbench-hero,
.master-workbench-grid,
.master-workbench-empty-grid,
.master-workbench-summary-chip-grid,
.master-workbench-photo-slot-grid,
.master-workbench-profile-ranking-grid,
.master-workbench-profile-ranking-actions,
.master-workbench-section-nav-list{ grid-template-columns: minmax(0, 1fr); }
  .master-workbench-stability-summary summary,
.master-workbench-section > summary{
  align-items: flex-start; flex-wrap: wrap; min-inline-size: 0;
}
.master-workbench-stability-summary summary em{
  margin-left: 0; max-inline-size: 100%; overflow-wrap: anywhere;
}
.master-workbench-slot-action-row{ grid-template-columns: minmax(0, 1fr); }
.master-workbench-actions{
  grid-template-columns: minmax(0, 1fr); bottom: calc(0.5rem + env(safe-area-inset-bottom)); z-index: 32;
  margin-inline: 0; border-radius: 18px;
}
  body.app-menu-open .master-workbench-actions,
body.is-legal-modal-open .master-workbench-actions{ position: static; }
  .master-workbench-section-nav,
.master-workbench-stability-summary,
.master-workbench-section,
.master-workbench-privacy{ scroll-margin-top: calc(76px + env(safe-area-inset-top)); }
  .master-workbench-nav-button,
.master-workbench-photo-quality-list li,
.master-workbench-slot-control,
.master-workbench-slot-wait,
.master-workbench-profile-basis li,
.master-workbench-profile-next-shoot li,
.master-workbench-profile-action{ min-height: 44px; }
.master-workbench-state-card em{ width: 100%; }
}

.master-stability-analysis{
  display: grid;
  gap: clamp(0.9rem, 2.4vw, 1.25rem);
  padding: clamp(1rem, 3vw, 1.35rem);
  border: 1px solid rgba(94, 92, 230, 0.18);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(94, 92, 230, 0.08), rgba(255, 255, 255, 0.98));
  box-shadow: 0 18px 42px rgba(33, 37, 41, 0.08);
}
.master-stability-analysis-hero{
  display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(15rem, 0.8fr); gap: clamp(0.85rem, 2.2vw, 1.15rem); align-items: stretch;
}
.master-stability-analysis-copy,
.master-stability-analysis-state,
.master-stability-module-card{
  border: 1px solid rgba(33, 37, 41, 0.10); border-radius: 22px; background: rgba(255, 255, 255, 0.9);
}
.master-stability-analysis-copy,
.master-stability-analysis-state{ padding: clamp(1rem, 2.8vw, 1.35rem); }
.master-stability-analysis-copy h3{
  margin: 0.3rem 0 0.55rem; color: var(--bm-gray-900, #212529); font-size: clamp(1.28rem, 4vw, 1.92rem);
  line-height: 1.18; letter-spacing: -0.04em;
}
.master-stability-analysis-copy p,
.master-stability-module-body p,
.master-stability-empty,
.master-stability-fallback-note{
  margin: 0; color: var(--bm-gray-600, #6c757d); font-size: 0.93rem; line-height: 1.65;
}
.master-stability-analysis-state{
  display: grid; gap: 0.48rem; align-content: start;
}
.master-stability-analysis-state span,
.master-stability-chip em,
.master-stability-module-head span{
  color: var(--bm-blue, #0d6efd);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.master-stability-analysis-state strong{
  color: var(--bm-gray-900, #212529); font-size: 1.04rem; line-height: 1.3;
}
.master-stability-analysis-state em,
.master-stability-analysis-state small{
  width: fit-content;
  padding: 0.36rem 0.62rem;
  border: 1px solid rgba(13, 110, 253, 0.14);
  border-radius: 999px;
  background: rgba(13, 110, 253, 0.07);
  color: var(--bm-blue, #0d6efd);
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 900;
}
.master-stability-analysis-meta,
.master-stability-chip-grid{
  display: flex; flex-wrap: wrap; gap: 0.55rem;
}
.master-stability-chip{
  display: inline-grid;
  gap: 0.2rem;
  min-width: 9rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(33, 37, 41, 0.09);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
}
.master-stability-chip strong{
  color: var(--bm-gray-900, #212529); font-size: 0.88rem; line-height: 1.25;
}
.master-stability-fallback-note{
  padding: 0.85rem 1rem; border: 1px dashed rgba(13, 110, 253, 0.22); border-radius: 18px; background: rgba(13, 110, 253, 0.055);
}
.master-stability-module-stack{
  display: grid; gap: 0.75rem;
}
.master-stability-module-card{ overflow: hidden; }
.master-stability-module-card > summary{ list-style: none; }
.master-stability-module-card > summary::-webkit-details-marker{ display: none; }
.master-stability-module-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding: clamp(1rem, 2.6vw, 1.35rem);
  cursor: pointer;
}
.master-stability-module-head strong{
  flex: 1 1 auto; color: var(--bm-gray-900, #212529); font-size: 1rem; line-height: 1.3;
}
.master-stability-module-head em{
  flex: 0 0 auto;
  padding: 0.34rem 0.62rem;
  border: 1px solid rgba(33, 37, 41, 0.08);
  border-radius: 999px;
  background: rgba(33, 37, 41, 0.04);
  color: var(--bm-gray-700, #495057);
  font-size: 0.73rem;
  font-style: normal;
  font-weight: 900;
}
.master-stability-module-body{
  display: grid; gap: 0.8rem; padding: 0 clamp(1rem, 2.6vw, 1.35rem) clamp(1rem, 2.6vw, 1.35rem);
}
.master-stability-scope{
  display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center;
}
.master-stability-scope span{
  color: var(--bm-gray-600, #6c757d); font-size: 0.76rem; font-weight: 900;
}
.master-stability-scope strong{
  padding: 0.32rem 0.58rem; border-radius: 999px; background: rgba(33, 37, 41, 0.05);
  color: var(--bm-gray-800, #343a40); font-size: 0.78rem;
}
.master-stability-photo-rows,
.master-stability-condition-list,
.master-stability-slot-list{
  display: grid; gap: 0.62rem;
}
.master-stability-photo-row,
.master-stability-condition-list article,
.master-stability-slot-list article{
  padding: 0.82rem 0.9rem; border: 1px solid rgba(33, 37, 41, 0.08); border-radius: 16px; background: rgba(33, 37, 41, 0.025);
}
.master-stability-photo-row > strong,
.master-stability-condition-list strong,
.master-stability-slot-list strong{
  display: block; color: var(--bm-gray-900, #212529); font-size: 0.94rem; line-height: 1.3;
}
.master-stability-photo-row dl{
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem 0.8rem; margin: 0.62rem 0 0;
}
.master-stability-photo-row dl div{ min-width: 0; }
.master-stability-photo-row dt{
  color: var(--bm-gray-500, #868e96); font-size: 0.72rem; font-weight: 900;
}
.master-stability-photo-row dd,
.master-stability-condition-list p,
.master-stability-condition-list em,
.master-stability-slot-list p{
  margin: 0.18rem 0 0; color: var(--bm-gray-700, #495057); font-size: 0.84rem;
  font-style: normal; line-height: 1.45;
}
.master-stability-slot-list span{
  display: inline-block;
  margin-bottom: 0.22rem;
  color: var(--bm-blue, #0d6efd);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.master-stability-checklist{
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding-left: 1.05rem;
  color: var(--bm-gray-700, #495057);
  font-size: 0.9rem;
  line-height: 1.55;
}
@media (max-width: 760px){
  .master-stability-analysis-hero,
.master-stability-photo-row dl{ grid-template-columns: 1fr; }
.master-stability-chip{ min-width: min(13rem, 100%); }
.master-stability-module-head{
  display: grid; gap: 0.55rem;
}
.master-stability-module-head em{ width: fit-content; }
}

/* =====================================================================
   H026 result actions CSS consolidation: default result share, evidence,
   quality guidance, and retry controls stay scoped to the default result path.
   ===================================================================== */
#doneScreen :is(.share-action-stack, .share-url-inline, .result-evidence-trust-block, .result-evidence-strip, .result-certainty-band-card, .result-quality-guidance-panel){
  box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0; overflow-wrap: anywhere;
}

#doneScreen .share-action-stack{
  display: grid; justify-items: end; gap: 10px; width: min(360px, 100%);
}

#doneScreen .share-url-inline{
  display: flex; align-items: center; gap: 10px; width: 100%;
}

#doneScreen .share-url-field{
  flex: 1 1 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  box-shadow: var(--shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#doneScreen .share-url-inline :is(.button, button){
  flex: 0 1 auto; max-width: 100%; min-width: 0;
}

#doneScreen :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy){
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  min-width: 104px;
  min-height: 50px;
  min-block-size: 50px;
  padding: 0 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  box-shadow: var(--shadow);
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

#doneScreen .result-stage-v3 :is([data-public-result-retry], [data-result-share]){
  position: relative; z-index: 1; min-block-size: 44px; touch-action: manipulation;
}

#doneScreen .result-evidence-trust-block{
  display: grid; gap: clamp(0.9rem, 2.4vw, 1.15rem); margin: clamp(1rem, 3vw, 1.4rem) 0;
}

#doneScreen .result-evidence-trust-block.hidden{ display: none; }

#doneScreen :is(.result-evidence-strip, .result-certainty-band-card){
  border: 1px solid rgba(33, 37, 41, 0.08); border-radius: 24px; background: rgba(255, 255, 255, 0.78); box-shadow: 0 16px 38px rgba(33, 37, 41, 0.07);
}

#doneScreen .result-evidence-strip{
  display: grid; gap: 1rem; padding: clamp(1rem, 2.6vw, 1.35rem);
}

#doneScreen .result-evidence-strip:empty{ display: none; }

#doneScreen .result-evidence-head{
  display: grid; gap: 0.38rem;
}

#doneScreen .result-evidence-eyebrow,
#doneScreen .result-evidence-card span{
  color: var(--bm-blue, #0d6efd); font-size: 0.72rem; font-weight: 950;
  letter-spacing: 0.06em; text-transform: uppercase;
}

#doneScreen .result-evidence-head strong{
  color: var(--bm-gray-900, #212529); font-size: clamp(1rem, 2.4vw, 1.2rem); line-height: 1.3;
}

#doneScreen .result-evidence-head p,
#doneScreen .result-evidence-card p{
  margin: 0; color: var(--bm-gray-700, #495057); font-size: 0.88rem; line-height: 1.5;
}

#doneScreen .result-evidence-card-grid{
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.72rem;
}

#doneScreen .result-evidence-card{
  display: grid;
  gap: 0.38rem;
  max-width: 100%;
  min-width: 0;
  padding: 0.84rem 0.9rem;
  border: 1px solid rgba(13, 110, 253, 0.1);
  border-radius: 18px;
  background: rgba(13, 110, 253, 0.035);
  overflow-wrap: anywhere;
}

#doneScreen .result-evidence-card strong{
  color: var(--bm-gray-900, #212529); font-size: 0.96rem; line-height: 1.3; overflow-wrap: anywhere;
}

#doneScreen .result-certainty-band-card{
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.72fr); gap: clamp(0.9rem, 2.4vw, 1.25rem);
  align-items: start; padding: clamp(1rem, 2.6vw, 1.35rem);
}

#doneScreen .result-certainty-band-card.result-quality-guidance-panel{
  grid-template-columns: 1fr; gap: 0.55rem;
}

#doneScreen .result-quality-guidance-panel{
  min-width: 0; max-width: 100%; overflow-wrap: anywhere;
}

#doneScreen .result-quality-eyebrow{
  color: var(--bm-gray-900, #212529); font-weight: 950;
}

#doneScreen .result-quality-guidance-panel > strong{
  display: block; font-size: 1rem;
}

#doneScreen .result-quality-guidance-panel > p{
  margin: 0; line-height: 1.5;
}

#doneScreen .result-quality-action-row{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  width: 100%;
  max-width: 100%;
  margin-top: 0.28rem;
}

#doneScreen .result-quality-action-button{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-block-size: 44px;
  justify-content: center;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
  line-height: 1.22;
  touch-action: manipulation;
}

#doneScreen .result-quality-action-primary{ box-shadow: 0 10px 22px rgba(13, 110, 253, 0.18); }

@media (max-width: 760px){
  #resultEvidenceTrustBlock .result-evidence-card-grid,
#resultCertaintyBand .result-certainty-band-card,
#doneScreen .result-quality-guidance-panel .result-quality-action-row{ grid-template-columns: 1fr; }
}

@media (max-width: 720px){
#doneScreen .result-header-v3 > .share-action-stack{
  justify-items: stretch; width: 100%;
}
}

@media (max-width: 640px){
#doneScreen .collectible-badge-art > .share-url-inline{
  align-items: stretch; flex-direction: column;
}

  #doneScreen #shareUrlField.share-url-field,
#doneScreen #copyShareUrlButton.button-copy{
  width: 100%; min-width: 0;
}
}

/* I2142 deferred owner: post-intent-analysis-result-history. */
.app-shell[data-scene="scan"] .preview-shell,
.app-shell[data-scene="scan"] .camera,
.app-shell[data-scene="scan"] .preview,
.app-shell[data-scene="scan"] .overlay{ pointer-events: none !important; }

.app-shell[data-scene="trust_preflight"] .top-bar,
.app-shell[data-scene="scan_recovery"] .top-bar,
.app-shell[data-scene="scan"] .top-bar,
.report-viewer-topbar{
  z-index: var(--premium-flow-escape-z, 2147482998) !important; pointer-events: auto !important; isolation: isolate;
}

#appMenuTrigger.app-menu-trigger,
.report-viewer-menu-button.global-menu-button{
  touch-action: manipulation; -webkit-tap-highlight-color: transparent;
}

#masterUploadDialog.master-upload-backdrop{
  box-sizing: border-box !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--master-upload-modal-z, 2147482996) !important;
  display: grid !important;
  place-items: center !important;
  width: 100vw !important;
  inline-size: 100vw !important;
  max-width: 100% !important;
  max-inline-size: 100% !important;
  height: 100vh !important;
  block-size: 100vh !important;
  margin: 0 !important;
  padding: max(76px, calc(58px + var(--safe-top, 0px))) max(12px, var(--safe-right, 0px)) max(12px, var(--safe-bottom, 0px)) max(12px, var(--safe-left, 0px)) !important;
  background: rgba(33, 37, 41, 0.38) !important;
  overflow: hidden !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  contain: none !important;
}

@supports (height: 100dvh){
#masterUploadDialog.master-upload-backdrop{
  height: 100dvh !important; block-size: 100dvh !important;
}
}

#masterUploadDialog.master-upload-backdrop.hidden,
#masterUploadDialog.master-upload-backdrop[hidden],
#masterUploadDialog.master-upload-backdrop[aria-hidden="true"]{
  display: none !important; visibility: hidden !important; pointer-events: none !important;
}

#masterUploadDialog .master-upload-modal{
  width: min(100%, 42rem) !important;
  inline-size: min(100%, 42rem) !important;
  max-width: 42rem !important;
  max-inline-size: 42rem !important;
  height: auto !important;
  max-height: calc(100vh - 92px - max(12px, var(--safe-bottom, 0px))) !important;
  max-block-size: calc(100vh - 92px - max(12px, var(--safe-bottom, 0px))) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

@supports (height: 100dvh){
#masterUploadDialog .master-upload-modal{
  max-height: calc(100dvh - 92px - max(12px, var(--safe-bottom, 0px))) !important; max-block-size: calc(100dvh - 92px - max(12px, var(--safe-bottom, 0px))) !important;
}
}
#masterUploadDialog .master-upload-actions,
#masterUploadDialog .master-upload-reuse-head{ min-width: 0; }

#masterUploadDialog :is(button, .button, input[type="email"], input[type="file"]){
  min-block-size: 44px; touch-action: manipulation;
}

body.paid-report-page-open #doneScreen .result-stage-v3 :is([data-paid-report-focus-master-upload], [data-auth-open-mypage]){
  position: relative; z-index: 1; min-block-size: 44px; touch-action: manipulation;
}

@media (max-width: 640px){
#masterUploadDialog.master-upload-backdrop{
  align-items: end !important; justify-items: center !important; padding: max(66px, calc(54px + var(--safe-top, 0px))) max(8px, var(--safe-right, 0px)) max(8px, var(--safe-bottom, 0px)) max(8px, var(--safe-left, 0px)) !important;
}

#masterUploadDialog .master-upload-modal{
  width: 100% !important; inline-size: 100% !important; max-width: none !important;
  max-inline-size: none !important; border-radius: 1.35rem 1.35rem 0.85rem 0.85rem !important;
}

#masterUploadDialog .master-upload-actions{ grid-template-columns: 1fr !important; }
}

html.master-upload-open,
body.master-upload-open{
  overflow: hidden !important; overscroll-behavior: none;
}

#masterUploadDialog .master-upload-head{
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0.75rem;
}

#masterUploadDialog .master-upload-head-copy{
  min-width: 0; display: grid; gap: 0.45rem;
}

#masterUploadDialog .master-upload-close{
  min-inline-size: 44px;
  min-block-size: 44px;
  border-radius: 999px;
  border: 1px solid rgba(33, 37, 41, 0.12);
  background: rgba(255, 255, 255, 0.9);
  color: rgba(33, 37, 41, 0.78);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
}

#masterUploadDialog .master-upload-escape{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr)); gap: 0.5rem; min-width: 0;
}

#masterUploadDialog .master-upload-escape .button,
#masterUploadDialog .master-upload-picker-button{
  width: 100%; min-width: 0; white-space: normal;
}

#masterUploadDialog .master-upload-drop{
  position: relative; overflow: hidden;
}

#masterUploadDialog .master-upload-drop input[type="file"]{
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  overflow: hidden;
  clip-path: inset(50%);
  pointer-events: none;
}

#masterUploadDialog .master-upload-progress{
  margin: 0 0 0.65rem;
  border-radius: 0.85rem;
  background: rgba(13, 110, 253, 0.08);
  color: rgba(33, 37, 41, 0.86);
  padding: 0.65rem 0.75rem;
  font-size: 0.82rem;
  line-height: 1.45;
}

#masterUploadDialog .master-upload-progress strong{ font-weight: 900; }

.master-upload-completion-nudge-shell{
  display: grid; gap: 0.65rem; min-width: 0;
}

.master-upload-completion-nudge{
  display: grid;
  gap: 0.8rem;
  min-width: 0;
  border: 1px solid rgba(13, 110, 253, 0.18);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(13, 110, 253, 0.095), rgba(255, 255, 255, 0.9));
  padding: 0.9rem;
  box-shadow: 0 14px 34px rgba(13, 110, 253, 0.08);
}

.master-upload-completion-nudge.is-ready{
  border-color: rgba(25, 135, 84, 0.24); background: linear-gradient(180deg, rgba(25, 135, 84, 0.09), rgba(255, 255, 255, 0.92));
}

.master-upload-completion-nudge.is-failed{
  border-color: rgba(176, 42, 55, 0.24); background: linear-gradient(180deg, rgba(176, 42, 55, 0.075), rgba(255, 255, 255, 0.92));
}

.master-upload-completion-nudge-head{
  display: grid; gap: 0.35rem; min-width: 0;
}

.master-upload-completion-nudge-head h3{
  margin: 0;
  color: rgba(33, 37, 41, 0.92);
  font-size: 1rem;
  font-weight: 950;
  letter-spacing: -0.03em;
  line-height: 1.22;
}

.master-upload-completion-nudge-head p:not(.panel-label){
  margin: 0; color: rgba(33, 37, 41, 0.68); font-size: 0.8rem;
  font-weight: 750; line-height: 1.5;
}

.master-upload-completion-nudge-progress{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.25rem 0.75rem;
  align-items: center;
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.78);
  padding: 0.72rem 0.8rem;
  min-width: 0;
}

.master-upload-completion-nudge-progress strong{
  grid-row: span 2;
  display: grid;
  place-items: center;
  min-inline-size: 3.25rem;
  min-block-size: 2.4rem;
  border-radius: 0.8rem;
  background: rgba(13, 110, 253, 0.12);
  color: #0d6efd;
  font-weight: 950;
}

.master-upload-completion-nudge-progress span,
.master-upload-completion-nudge-progress em{
  min-width: 0;
  color: rgba(33, 37, 41, 0.72);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.35;
}

.master-upload-completion-nudge-checklist{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
}

.master-upload-completion-nudge-checklist li{
  min-width: 0;
  border: 1px solid rgba(33, 37, 41, 0.1);
  border-radius: 0.82rem;
  background: rgba(255, 255, 255, 0.78);
  color: rgba(33, 37, 41, 0.72);
  padding: 0.62rem 0.68rem;
  font-size: 0.75rem;
  font-weight: 780;
  line-height: 1.46;
}

.master-upload-completion-nudge-actions{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.75rem), 1fr)); gap: 0.5rem; min-width: 0;
}

.master-upload-completion-nudge-actions .button{
  min-width: 0; min-block-size: 42px; padding-inline: 0.65rem; white-space: normal;
}

#masterUploadDialog .master-upload-checklist-shell{
  display: grid; gap: 0.75rem; background: rgba(255, 255, 255, 0.88);
}

#masterUploadDialog .master-upload-checklist{
  display: grid; gap: 0.85rem; min-width: 0;
}

#masterUploadDialog .master-upload-checklist-summary{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.35rem 0.75rem;
  align-items: start;
  border-radius: 0.9rem;
  background: rgba(13, 110, 253, 0.08);
  padding: 0.75rem 0.85rem;
}

#masterUploadDialog .master-upload-checklist-summary span,
#masterUploadDialog .master-upload-checklist-panel strong{
  color: rgba(33, 37, 41, 0.86); font-size: 0.8rem; font-weight: 900; letter-spacing: -0.02em;
}

#masterUploadDialog .master-upload-checklist-summary > strong{
  border-radius: 999px;
  background: rgba(13, 110, 253, 0.12);
  color: #0d6efd;
  padding: 0.18rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 900;
  white-space: nowrap;
}

#masterUploadDialog .master-upload-checklist-summary p,
#masterUploadDialog .master-upload-checklist-list p,
#masterUploadDialog .master-upload-checklist-panel p{
  margin: 0; color: rgba(33, 37, 41, 0.66); font-size: 0.78rem; line-height: 1.48;
}

#masterUploadDialog .master-upload-checklist-summary p{ grid-column: 1 / -1; }

#masterUploadDialog .master-upload-checklist-list{
  display: grid; gap: 0.5rem; margin: 0;
  padding: 0; list-style: none;
}

#masterUploadDialog .master-upload-checklist-list li{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.6rem;
  align-items: start;
  border: 1px solid rgba(33, 37, 41, 0.1);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.74);
  padding: 0.68rem 0.75rem;
  min-width: 0;
}

#masterUploadDialog .master-upload-checklist-list li > span{
  display: grid;
  place-items: center;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  border-radius: 999px;
  background: rgba(33, 37, 41, 0.08);
  color: rgba(33, 37, 41, 0.64);
  font-size: 0.72rem;
  font-weight: 900;
}

#masterUploadDialog .master-upload-checklist-list li.is-complete > span{
  background: rgba(25, 135, 84, 0.14); color: rgba(25, 135, 84, 0.96);
}

#masterUploadDialog .master-upload-checklist-list li.is-current{
  border-color: rgba(13, 110, 253, 0.22); background: rgba(13, 110, 253, 0.045);
}

#masterUploadDialog .master-upload-checklist-list strong{
  display: block; color: rgba(33, 37, 41, 0.9); font-size: 0.8rem;
  font-weight: 900; letter-spacing: -0.02em;
}

#masterUploadDialog .master-upload-checklist-panels{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 0.55rem; min-width: 0;
}

#masterUploadDialog .master-upload-checklist-panel{
  display: grid;
  gap: 0.28rem;
  border-radius: 0.85rem;
  background: rgba(33, 37, 41, 0.045);
  padding: 0.68rem 0.75rem;
  min-width: 0;
}

#masterUploadDialog .master-upload-actions .button[disabled],
#masterUploadDialog .master-upload-actions .button[aria-disabled="true"]{
  cursor: not-allowed; opacity: 0.62;
}

#masterUploadDialog .master-upload-slots{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: 0.6rem; min-width: 0;
}

#masterUploadDialog .master-upload-slot{
  min-width: 0;
  min-block-size: 6rem;
  border: 1px solid rgba(33, 37, 41, 0.12);
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.86);
  color: rgba(33, 37, 41, 0.78);
  padding: 0.75rem;
  text-align: left;
  overflow: hidden;
}

#masterUploadDialog button.master-upload-slot{
  display: grid; place-items: center; gap: 0.22rem;
  cursor: pointer; touch-action: manipulation;
}

#masterUploadDialog .master-upload-slot.is-empty{
  border-style: dashed; background: rgba(13, 110, 253, 0.045);
}

#masterUploadDialog .master-upload-slot.is-empty span,
#masterUploadDialog .master-upload-slot-meta span{
  color: rgba(33, 37, 41, 0.55); font-size: 0.74rem; font-weight: 800;
}

#masterUploadDialog .master-upload-slot.is-empty strong{
  color: #0d6efd; font-size: 0.88rem; font-weight: 900;
}

#masterUploadDialog .master-upload-slot.is-filled{
  display: grid; gap: 0.65rem;
}

#masterUploadDialog .master-upload-slot-meta{
  min-width: 0; display: grid; gap: 0.18rem;
}

#masterUploadDialog .master-upload-slot-meta strong,
#masterUploadDialog .master-upload-slot-meta em{
  min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

#masterUploadDialog .master-upload-slot-meta strong{
  color: rgba(33, 37, 41, 0.9); font-size: 0.84rem; font-weight: 900;
}

#masterUploadDialog .master-upload-slot-meta em{
  color: rgba(33, 37, 41, 0.54); font-size: 0.74rem; font-style: normal; font-weight: 750;
}

#masterUploadDialog .master-upload-slot-actions{
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.45rem; min-width: 0;
}

#masterUploadDialog .master-upload-slot-actions button{
  min-width: 0;
  min-block-size: 40px;
  border: 1px solid rgba(33, 37, 41, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: rgba(33, 37, 41, 0.74);
  padding: 0.45rem 0.55rem;
  font-size: 0.74rem;
  font-weight: 850;
  cursor: pointer;
  touch-action: manipulation;
}

#masterUploadDialog .master-upload-slot-overflow{
  margin: 0.65rem 0 0; color: rgba(176, 42, 55, 0.95); font-size: 0.78rem;
  font-weight: 850; line-height: 1.5;
}

#masterUploadDialog .master-upload-error{ scroll-margin-block: 1rem; }

#masterUploadDialog .master-upload-recovery{
  min-width: 0; scroll-margin-block: 1rem;
}

#masterUploadDialog .master-upload-recovery.hidden,
#masterUploadDialog .master-upload-recovery[aria-hidden="true"]{ display: none !important; }

#masterUploadDialog .master-upload-recovery-panel{
  display: grid;
  gap: 0.75rem;
  border: 1px solid rgba(13, 110, 253, 0.16);
  border-radius: 1rem;
  background: rgba(13, 110, 253, 0.065);
  padding: 0.85rem;
}

#masterUploadDialog .master-upload-recovery-panel.is-failed{
  border-color: rgba(176, 42, 55, 0.22); background: rgba(176, 42, 55, 0.06);
}

#masterUploadDialog .master-upload-recovery-panel.is-complete{
  border-color: rgba(25, 135, 84, 0.22); background: rgba(25, 135, 84, 0.075);
}

#masterUploadDialog .master-upload-recovery-copy{
  display: grid; gap: 0.22rem; min-width: 0;
}

#masterUploadDialog .master-upload-recovery-copy strong{
  color: rgba(33, 37, 41, 0.92); font-size: 0.92rem; font-weight: 950;
}

#masterUploadDialog .master-upload-recovery-copy p{
  margin: 0; color: rgba(33, 37, 41, 0.68); font-size: 0.8rem;
  font-weight: 750; line-height: 1.45;
}

#masterUploadDialog .master-upload-recovery-slots{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}

#masterUploadDialog .master-upload-recovery-slots li{
  min-width: 0;
  border: 1px solid rgba(33, 37, 41, 0.13);
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.88);
  color: rgba(33, 37, 41, 0.68);
  padding: 0.48rem 0.35rem;
  text-align: center;
  font-size: 0.68rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

#masterUploadDialog .master-upload-recovery-slots li.is-complete{
  border-color: rgba(25, 135, 84, 0.24); color: rgba(25, 135, 84, 0.96);
}

#masterUploadDialog .master-upload-recovery-slots li.is-failed{
  border-color: rgba(176, 42, 55, 0.28); color: rgba(176, 42, 55, 0.98);
}

#masterUploadDialog .master-upload-recovery-actions{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.25rem), 1fr)); gap: 0.5rem; min-width: 0;
}

#masterUploadDialog .master-upload-recovery-actions .button{
  min-width: 0; min-block-size: 42px; padding-inline: 0.65rem; white-space: normal;
}

@media (max-width: 420px){
#masterUploadDialog .master-upload-modal{ padding-inline: max(0.9rem, env(safe-area-inset-left)) max(0.9rem, env(safe-area-inset-right)) !important; }

#masterUploadDialog .master-upload-head{ gap: 0.55rem; }

  #masterUploadDialog .master-upload-slots,
#masterUploadDialog .master-upload-slot-actions,
#masterUploadDialog .master-upload-escape,
#masterUploadDialog .master-upload-checklist-summary,
#masterUploadDialog .master-upload-checklist-panels,
#masterUploadDialog .master-upload-recovery-actions,
.master-upload-completion-nudge-progress,
.master-upload-completion-nudge-checklist,
.master-upload-completion-nudge-actions{ grid-template-columns: 1fr; }

#masterUploadDialog .master-upload-slot{ min-block-size: 5.35rem; }
}

body.master-upload-open #globalMenuButton.global-menu-button.is-master-upload-escape,
body.master-upload-open #appMenuTrigger.app-menu-trigger.is-master-upload-escape{
  position: fixed !important;
  top: max(16px, calc(16px + var(--safe-top, 0px))) !important;
  right: max(16px, calc(16px + var(--safe-right, 0px))) !important;
  left: auto !important;
  bottom: auto !important;
  z-index: calc(var(--global-menu-z, 2147483000) - 1) !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.report-pref-backdrop.payment-provider-backdrop,
.report-pref-backdrop.paypal-checkout-backdrop{
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--payment-recovery-modal-z, 2147482997) !important;
  inline-size: 100vw !important;
  width: 100vw !important;
  max-inline-size: 100vw !important;
  min-block-size: 100vh !important;
  height: 100vh !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  pointer-events: auto !important;
  transform: none !important;
  filter: none !important;
  contain: none !important;
  isolation: isolate !important;
  -webkit-overflow-scrolling: touch;
}

@supports (height: 100dvh){
  .report-pref-backdrop.payment-provider-backdrop,
.report-pref-backdrop.paypal-checkout-backdrop{
  min-block-size: 100dvh !important; height: 100dvh !important;
}
}

.report-pref-backdrop.payment-provider-backdrop.hidden,
.report-pref-backdrop.payment-provider-backdrop[hidden],
.report-pref-backdrop.payment-provider-backdrop[aria-hidden="true"],
.report-pref-backdrop.paypal-checkout-backdrop.hidden,
.report-pref-backdrop.paypal-checkout-backdrop[hidden],
.report-pref-backdrop.paypal-checkout-backdrop[aria-hidden="true"]{
  display: none !important; visibility: hidden !important; pointer-events: none !important;
}

.payment-provider-choice[aria-disabled="true"]{
  pointer-events: auto !important; cursor: not-allowed !important; touch-action: manipulation;
}

.payment-provider-choice[aria-disabled="true"]:focus-visible{
  outline: 2px solid rgba(13, 110, 253, 0.34); outline-offset: 3px;
}

.payment-provider-choice[data-payment-provider-readiness="config_missing"],
.payment-provider-choice[data-payment-provider-readiness="pending_verification"],
.payment-provider-choice[data-payment-provider-readiness="temporarily_unavailable"],
.payment-provider-choice[data-payment-provider-readiness="review_only"],
.payment-provider-choice[data-payment-provider-readiness="payment_only"],
.payment-provider-choice[data-payment-provider-readiness="disabled"]{ min-block-size: 7.6rem; }

.payment-provider-choice[data-payment-provider-readiness="ready"]{ min-block-size: 7.25rem; }

.payment-provider-unavailable-note{
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(220, 53, 69, 0.18);
  border-radius: 0.85rem;
  background: rgba(220, 53, 69, 0.07);
  color: rgba(132, 32, 41, 0.95);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

@media (max-width: 520px){

  .payment-provider-expectation,
.payment-provider-master-requirement,
.payment-provider-unavailable-note{ font-size: 0.8rem; }
}

.paid-report-pending-actions,
.payment-provider-actions,
.paypal-checkout-actions{
  min-width: 0; align-items: stretch;
}

.paid-report-pending-actions .button,
.payment-provider-actions .button,
.paypal-checkout-actions .button{
  min-inline-size: 0; min-block-size: 44px; white-space: normal;
  overflow-wrap: anywhere; touch-action: manipulation;
}

@media (max-width: 520px){
  .report-pref-backdrop.payment-provider-backdrop,
.report-pref-backdrop.paypal-checkout-backdrop{
  align-items: end !important; justify-items: center !important; padding: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left)) !important;
}

  .payment-provider-modal,
.paypal-checkout-modal{
  inline-size: 100% !important; width: 100% !important; max-inline-size: none !important;
  max-block-size: calc(100dvh - 1.5rem) !important; border-radius: 1.35rem 1.35rem 0.9rem 0.9rem !important;
}

  .payment-provider-grid,
.payment-provider-actions,
.paypal-checkout-actions{ grid-template-columns: 1fr; }

.payment-provider-choice{
  min-block-size: auto; padding: 0.82rem; gap: 0.34rem;
}

.payment-provider-state-action{ font-size: 0.73rem; }
}

body.paid-report-page-open #globalMenuOverlay.global-menu-page,
body.app-menu-open #globalMenuOverlay.global-menu-page{ z-index: var(--global-menu-z, 2147483000) !important; }

body.paid-report-page-open #globalMenuOverlay.global-menu-page.hidden,
body.paid-report-page-open #globalMenuOverlay.global-menu-page[aria-hidden="true"],
.app-menu-panel[aria-hidden="true"]{
  pointer-events: none !important; visibility: hidden !important;
}

body.paid-report-page-open #globalMenuButton.global-menu-button,
body.paid-report-page-open #appMenuTrigger.app-menu-trigger,
body.paid-report-page-open .report-viewer-menu-button{
  position: relative;
  z-index: calc(var(--global-menu-z, 2147483000) - 1) !important;
  min-inline-size: 44px;
  min-block-size: 44px;
  pointer-events: auto !important;
  touch-action: manipulation;
}

body.paid-report-page-open .top-bar,
body.paid-report-page-open .report-viewer-topbar{
  position: sticky; top: 0; z-index: calc(var(--global-menu-z, 2147483000) - 2) !important; pointer-events: auto !important;
}

.payment-fulfillment-shell,
.paid-report-pending-shell,
.paid-report-error-shell,
.master-workbench-shell,
.master-workbench-state-card,
.paid-report-action-strip,
.report-processing-recovery-box,
.report-processing-action-strip{
  min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere;
}

.payment-fulfillment-shell .paid-report-actions,
.paid-report-pending-actions,
.master-workbench-actions,
.report-processing-action-strip .paid-report-action-grid{
  min-inline-size: 0; align-items: stretch;
}

.payment-fulfillment-shell .paid-report-actions .button,
.payment-fulfillment-shell .paid-report-actions a.button,
.paid-report-pending-actions .button,
.paid-report-pending-actions a.button,
.master-workbench-actions .button,
.master-workbench-actions a.button,
.report-processing-action-strip .button,
.report-processing-action-strip a.button{
  min-block-size: 44px; min-inline-size: 0; white-space: normal;
  overflow-wrap: anywhere; touch-action: manipulation;
}

.paid-report-processing-meta strong,
.paid-report-url-full{
  min-inline-size: 0; overflow-wrap: anywhere; word-break: break-word;
}

.paid-report-recovery-panel{
  display: grid;
  gap: clamp(0.85rem, 2.3vw, 1.2rem);
  padding: clamp(1rem, 3vw, 1.35rem);
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

.paid-report-recovery-head{
  display: grid; gap: 0.45rem; min-inline-size: 0;
}

.paid-report-recovery-head h2,
.paid-report-recovery-head h3,
.paid-report-recovery-head p{ margin: 0; }

.paid-report-recovery-head h2,
.paid-report-recovery-head h3{ line-height: 1.18; }

.paid-report-recovery-meta{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: 0.65rem;
  min-inline-size: 0; max-inline-size: 100%;
}

.paid-report-recovery-meta p{
  min-inline-size: 0; overflow-wrap: anywhere;
}

.paid-report-recovery-actions{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 0.65rem;
  min-inline-size: 0; align-items: stretch;
}

.paid-report-recovery-actions .payment-pending-choice-card{
  grid-column: 1 / -1; width: 100%; min-inline-size: 0;
}

.paid-report-recovery-actions .button,
.paid-report-recovery-actions a.button{
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 44px;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

/* H032 mobile responsive override consolidation: paid/report action grids own their stacked mobile behavior here, not in a late mixed rescue block. */
@media (max-width: 720px){
  .payment-fulfillment-shell .paid-report-actions,
.paid-report-pending-actions,
.paid-report-action-strip .paid-report-action-grid,
.master-workbench-actions,
.report-processing-action-strip .paid-report-action-grid{
  display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 0.65rem !important;
}

  .payment-fulfillment-shell .paid-report-actions .button,
.payment-fulfillment-shell .paid-report-actions a.button,
.paid-report-pending-actions .button,
.paid-report-pending-actions a.button,
.master-workbench-actions .button,
.master-workbench-actions a.button,
.report-processing-action-strip .button,
.report-processing-action-strip a.button{
  inline-size: 100%; width: 100%;
}

  .payment-fulfillment-shell .paid-report-cover,
.paid-report-pending-shell .paid-report-cover,
.paid-report-error-shell .paid-report-processing-card,
.master-workbench-hero,
.master-workbench-state-card{
  min-inline-size: 0; max-inline-size: 100%;
}
}

body.paid-report-page-open .report-viewer-top-actions{
  min-inline-size: 0; max-inline-size: min(62vw, 24rem);
}

body.paid-report-page-open .report-viewer-top-actions .report-viewer-home-button,
body.paid-report-page-open .report-viewer-top-actions .report-viewer-account-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 0;
  min-block-size: 44px;
  padding-inline: 0.8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  touch-action: manipulation;
}
body.paid-report-page-open .paid-report-action-strip,
body.paid-report-page-open .paid-report-save-strip,
body.paid-report-page-open .paid-report-save-actions,
body.paid-report-page-open .paid-report-action-grid,
body.paid-report-page-open .master-workbench-grid,
body.paid-report-page-open .master-workbench-photo-slot-grid,
body.paid-report-page-open .master-workbench-summary-chip-grid,
body.paid-report-page-open .master-workbench-actions{
  min-inline-size: 0; max-inline-size: 100%;
}

body.paid-report-page-open .paid-report-action-grid .button,
body.paid-report-page-open .paid-report-action-grid a.button,
body.paid-report-page-open .paid-report-save-actions .button,
body.paid-report-page-open .paid-report-save-actions a.button,
body.paid-report-page-open .master-workbench-actions .button,
body.paid-report-page-open .master-workbench-actions a.button{
  min-inline-size: 0; min-block-size: 44px; white-space: normal;
  overflow-wrap: anywhere; touch-action: manipulation;
}

body.paid-report-page-open .paid-report-disclosure,
body.paid-report-page-open .paid-report-module-card,
body.paid-report-page-open .master-workbench-section,
body.paid-report-page-open .master-workbench-stability-summary,
body.paid-report-page-open .master-workbench-privacy{ scroll-margin-top: calc(74px + env(safe-area-inset-top)); }

body.paid-report-page-open .paid-report-disclosure summary,
body.paid-report-page-open .paid-report-module-card summary,
body.paid-report-page-open .master-workbench-section summary,
body.paid-report-page-open .master-workbench-stability-summary summary{
  min-block-size: 44px; touch-action: manipulation;
}

@media (max-width: 720px){
body.paid-report-page-open .report-viewer-title strong{ max-inline-size: calc(100vw - 182px); }

body.paid-report-page-open .report-viewer-top-actions{
  gap: 0.35rem; max-inline-size: calc(100vw - 126px);
}

  body.paid-report-page-open .report-viewer-top-actions .report-viewer-home-button,
body.paid-report-page-open .report-viewer-top-actions .report-viewer-account-button{
  max-inline-size: 5rem; padding-inline: 0.55rem; font-size: 0.78rem;
}

  body.paid-report-page-open .paid-report-action-strip,
body.paid-report-page-open .paid-report-save-actions.paid-report-action-grid,
body.paid-report-page-open .paid-report-action-grid,
body.paid-report-page-open .master-workbench-actions{
  display: grid !important; grid-template-columns: minmax(0, 1fr) !important; justify-content: stretch; width: 100%;
}

  body.paid-report-page-open .paid-report-action-grid .button,
body.paid-report-page-open .paid-report-action-grid a.button,
body.paid-report-page-open .paid-report-save-actions .button,
body.paid-report-page-open .paid-report-save-actions a.button,
body.paid-report-page-open .master-workbench-actions .button,
body.paid-report-page-open .master-workbench-actions a.button{
  inline-size: 100%; width: 100%;
}
}

.toast{
  position: fixed !important; z-index: calc(var(--global-menu-z, 2147483000) - 4) !important; inset-inline-start: 50% !important;
  inset-block-end: calc(24px + var(--safe-bottom)) !important; max-inline-size: min(88vw, 460px) !important;
}

.module-strip > .receiver-first-action-inline{
  grid-column: 1 / -1; inline-size: 100%; max-inline-size: 100%;
  min-inline-size: 0; box-sizing: border-box;
}

@media (max-width: 520px){
.module-strip > .receiver-first-action-inline{
  flex: 0 0 100%; min-inline-size: 100%; scroll-snap-align: start;
}
}

/* I2142 deferred owner: payment-pending-and-public-route-results. */
.payment-pending-choice-card{
  display: grid;
  gap: 1rem;
  width: min(100%, 38rem);
  margin: 1rem auto 0;
  padding: clamp(1rem, 4vw, 1.35rem);
  border: 1px solid rgba(88, 117, 255, 0.18);
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1rem 2.5rem rgba(31, 45, 89, 0.12);
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.payment-pending-choice-copy{
  display: grid; gap: 0.65rem;
}

.payment-pending-choice-copy h3,
.payment-pending-cancel-copy h3{
  margin: 0; font-size: clamp(1.05rem, 4vw, 1.25rem); line-height: 1.25; color: #151a32;
}

.payment-pending-choice-copy p,
.payment-pending-cancel-copy p{
  margin: 0; line-height: 1.55; color: #3f4866;
}

.payment-pending-choice-warning{
  padding: 0.75rem 0.85rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(178, 101, 14, 0.22);
  background: rgba(255, 247, 232, 0.82);
  color: #74430a;
  font-weight: 700;
}

.payment-pending-choice-unavailable{
  padding: 0.75rem 0.85rem; border-radius: 0.95rem; border: 1px solid rgba(110, 119, 140, 0.2);
  background: rgba(246, 248, 252, 0.9); color: #59627a;
}

.payment-pending-choice-actions{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 0.65rem;
  align-items: stretch; min-inline-size: 0;
}

.payment-pending-choice-actions .button,
.payment-pending-cancel-actions .button{
  min-block-size: 44px; width: 100%; white-space: normal; touch-action: manipulation;
}

.button-destructive{
  border-color: rgba(220, 53, 69, 0.34); background: rgba(220, 53, 69, 0.08); color: #8a1c2b; box-shadow: none;
}

.button-destructive:hover,
.button-destructive:focus-visible{
  border-color: rgba(220, 53, 69, 0.52); background: rgba(220, 53, 69, 0.13); color: #741323;
}

html.is-payment-pending-cancel-open,
body.is-payment-pending-cancel-open{ overflow: hidden; }

.payment-pending-cancel-backdrop{
  position: fixed;
  inset: 0;
  z-index: var(--payment-recovery-modal-z, 2147482997);
  display: grid;
  place-items: center;
  padding: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
  background: rgba(15, 23, 42, 0.42);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  pointer-events: auto;
  isolation: isolate;
}

.payment-pending-cancel-dialog{
  display: grid;
  gap: 1rem;
  width: min(100%, 32rem);
  max-height: calc(100dvh - 1.5rem);
  max-block-size: calc(100dvh - max(1.5rem, env(safe-area-inset-top) + env(safe-area-inset-bottom)));
  overflow-x: hidden;
  overflow-y: auto;
  padding: clamp(1rem, 4vw, 1.25rem);
  border: 1px solid rgba(31, 45, 89, 0.13);
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, 0.28);
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.payment-pending-cancel-copy{
  display: grid; gap: 0.65rem;
}

.payment-pending-cancel-safe-code{
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.65rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border-radius: 0.85rem;
  background: rgba(246, 248, 252, 0.95);
  color: #59627a;
  font-size: 0.88rem;
}

.payment-pending-cancel-actions{
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; min-inline-size: 0;
}

.payment-pending-cancel-backdrop[aria-busy="true"] .button{ cursor: wait; }

@media (max-width: 520px){
  .payment-pending-choice-actions,
.payment-pending-cancel-actions{ grid-template-columns: 1fr; }

.payment-pending-cancel-backdrop{ align-items: end; }

.payment-pending-cancel-dialog{
  width: 100%; max-height: calc(100dvh - 1.5rem); border-radius: 1.35rem 1.35rem 0.9rem 0.9rem;
}
}

.paid-report-actions .payment-pending-choice-card{ flex: 1 1 100%; }

.payment-fulfillment-shell[data-payment-unknown-state="true"] .unknown-state-detail-card{ border-style: dashed; }

.public-route-unknown-state .unknown-state-detail-card,
.compare-card-unknown-state.unknown-state-detail-card{ border-style: dashed; }

.unknown-state-detail-card{
  display: grid; gap: 0.75rem; min-inline-size: 0;
  max-inline-size: 100%; overflow-wrap: anywhere;
}

.public-route-actions,
.compare-card-unknown-state .compare-cta-row{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 0.65rem;
  min-inline-size: 0; align-items: stretch;
}

.public-route-actions .button,
.public-route-actions a.button,
.compare-card-unknown-state .compare-cta-row .button,
.compare-card-unknown-state .compare-cta-row a.button{
  min-inline-size: 0;
  min-block-size: 44px;
  width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

.public-route-status-detail{
  font-size: 0.85rem; line-height: 1.55; opacity: 0.82;
}

@media (max-width: 520px){
  .public-route-actions,
.compare-card-unknown-state .compare-cta-row{ grid-template-columns: minmax(0, 1fr); }
}

/* I2142 deferred owner: compact-result-tail. */
#doneScreen.free-result-compact-surface .share-privacy-badge-card{ display: none !important; }

#doneScreen.free-result-compact-surface .result-collectible-grid{
  grid-template-columns: minmax(220px, 0.74fr) minmax(0, 1.26fr); gap: 16px;
}

#doneScreen.free-result-compact-surface .collectible-badge-art,
#doneScreen.free-result-compact-surface .collectible-copy{ gap: 10px; }

#doneScreen.free-result-compact-surface .collectible-portrait-shell{ min-height: clamp(240px, 64vw, 360px); }

#doneScreen.free-result-compact-surface .free-report-compact-shell{ gap: 14px; }

/* I2141 root deferred CSS: loaded once before the full root application starts. */

/* I2141 deferred CSS split A segment 1: paid report, account, and report QR surfaces. */
/* Paid report v4: sale-quality document view,
separated from payment/debug metadata. */
.paid-report-shell{
  inline-size: min(100%, 68rem); margin-inline: auto; margin-top: clamp(1rem, 2vw, 1.35rem);
  display: grid; gap: clamp(0.9rem, 2vw, 1.25rem);
}

.paid-report-executive,
.paid-report-free-snapshot,
.paid-report-save-strip,
.paid-report-personalization,
.paid-report-visual-section,
.paid-report-action-pack,
.paid-report-disclosure{
  border: 1px solid rgba(33, 37, 41, 0.13); border-radius: clamp(1rem, 2.6vw, 1.65rem); background: #fff; box-shadow: 0 1rem 2.4rem rgba(33, 37, 41, 0.09);
}

.paid-report-card{
  display: grid;
  gap: clamp(0.65rem, 1.5vw, 0.85rem);
  padding: clamp(1rem, 2.5vw, 1.3rem);
  border: 1px solid rgba(33, 37, 41, 0.13);
  border-radius: clamp(1rem, 2.6vw, 1.65rem);
  background: #fff;
  box-shadow: 0 1rem 2.4rem rgba(33, 37, 41, 0.09);
}

.paid-report-executive{
  padding: clamp(1.05rem, 2.8vw, 1.65rem); display: grid; gap: clamp(0.9rem, 2vw, 1.15rem);
}

.paid-report-eyebrow,
.paid-report-section-title span,
.paid-report-personalization span,
.paid-report-reliability span,
.paid-report-priority span,
.paid-action-card span,
.paid-report-meta-list span{
  margin: 0;
  color: rgba(33, 37, 41, 0.54);
  font-size: clamp(0.68rem, 1.6vw, 0.76rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.paid-report-executive-copy h3{
  margin: 0.2rem 0 0.3rem; color: rgba(33, 37, 41, 0.96); font-size: clamp(1.28rem, 3.4vw, 1.85rem);
  line-height: 1.3; letter-spacing: -0.045em;
}

.paid-report-mood{
  display: inline-flex;
  width: fit-content;
  max-inline-size: 100%;
  margin-bottom: 0.65rem;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(13, 110, 253, 0.18);
  background: rgba(255, 255, 255, 0.82);
  color: rgba(33, 37, 41, 0.78);
  font-size: clamp(0.82rem, 2vw, 0.92rem);
}

.paid-report-executive-copy p{
  max-inline-size: 58rem; margin: 0; color: rgba(33, 37, 41, 0.73);
  line-height: 1.78; font-size: clamp(0.98rem, 2.3vw, 1.05rem);
}

.paid-report-executive-cards,
.paid-action-grid,
.paid-report-visual-grid{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: clamp(0.65rem, 1.7vw, 0.9rem);
}

.paid-report-executive-cards article,
.paid-action-card,
.paid-visual-card{
  min-inline-size: 0; border: 1px solid rgba(33, 37, 41, 0.12); border-radius: clamp(0.85rem, 2vw, 1.15rem); background: rgba(255, 255, 255, 0.76);
}

.paid-report-executive-cards article{
  display: grid; gap: 0.35rem; padding: clamp(0.85rem, 2vw, 1rem);
}

.paid-report-executive-cards span{
  color: rgba(33, 37, 41, 0.50); font-size: 0.75rem; font-weight: 900;
}

.paid-report-executive-cards strong{
  color: rgba(33, 37, 41, 0.94); font-size: clamp(1rem, 2.4vw, 1.12rem); line-height: 1.35;
}

.paid-report-executive-cards p,
.paid-report-priority,
.paid-report-reliability,
.paid-report-personalization p{
  margin: 0; color: rgba(33, 37, 41, 0.66); line-height: 1.65; font-size: clamp(0.86rem, 2vw, 0.94rem);
}

.paid-report-priority,
.paid-report-reliability,
.paid-report-personalization{
  display: grid;
  gap: 0.35rem;
  padding: clamp(0.9rem, 2vw, 1rem);
  border-radius: clamp(0.9rem, 2vw, 1.2rem);
  border: 1px solid rgba(33, 37, 41, 0.12);
  background: rgba(255, 255, 255, 0.72);
}

.paid-report-priority strong,
.paid-report-reliability strong,
.paid-report-personalization strong{
  color: rgba(33, 37, 41, 0.92); line-height: 1.45;
}

.paid-report-save-strip{
  padding: clamp(0.85rem, 2vw, 1rem);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 0.7rem 1.4rem rgba(33, 37, 41, 0.06);
}

.paid-report-save-strip > span{
  color: rgba(33, 37, 41, 0.62); font-size: clamp(0.86rem, 2vw, 0.94rem); line-height: 1.55;
}

.paid-report-save-actions{
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}

.paid-report-action-strip{ align-items: stretch; }

.paid-report-action-head{
  flex: 1 1 16rem; display: grid; align-content: center; gap: 0.25rem;
}

.paid-report-action-head span{
  color: rgba(13, 110, 253, 0.92); font-size: clamp(0.68rem, 1.6vw, 0.76rem); font-weight: 900;
  letter-spacing: 0.08em; text-transform: uppercase;
}

.paid-report-action-head p,
.paid-report-action-note{
  margin: 0; color: rgba(33, 37, 41, 0.64); font-size: clamp(0.84rem, 2vw, 0.92rem); line-height: 1.55;
}

.paid-report-action-grid{
  flex: 2 1 28rem; justify-content: flex-end;
}

.paid-report-action-note{
  flex-basis: 100%; padding-top: 0.15rem;
}

.returning-user-card{ position: relative; }

.paid-report-section-title{
  display: grid; gap: 0.25rem; margin-bottom: clamp(0.7rem, 1.6vw, 0.9rem);
}

.paid-report-section-lead{
  margin: 0; color: var(--bm-gray-600, #6c757d); font-size: 0.86rem; line-height: 1.55;
}

.paid-report-section-title strong{
  color: rgba(33, 37, 41, 0.90); font-size: clamp(1rem, 2.6vw, 1.18rem); letter-spacing: -0.02em;
}

.paid-report-visual-section,
.paid-report-action-pack{ padding: clamp(1rem, 2.4vw, 1.25rem); }

.paid-visual-card{
  display: grid; grid-template-columns: minmax(7.5rem, 0.82fr) minmax(0, 1.18fr); gap: clamp(0.75rem, 2vw, 1rem);
  align-items: center; padding: clamp(0.8rem, 2vw, 1rem);
}

.paid-visual-graphic{
  inline-size: 100%;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  border-radius: clamp(0.75rem, 2vw, 1rem);
  border: 1px solid rgba(33, 37, 41, 0.12);
  background: #fff;
  overflow: hidden;
}

.paid-visual-graphic svg{
  inline-size: 100%; block-size: 100%;
}

.paid-visual-copy{
  min-inline-size: 0; display: grid; gap: 0.35rem;
}

.paid-visual-copy h4{
  margin: 0; color: rgba(33, 37, 41, 0.92); font-size: clamp(0.98rem, 2.3vw, 1.1rem); line-height: 1.35;
}

.paid-visual-scale{
  display: flex; justify-content: space-between; gap: 0.6rem;
  color: rgba(33, 37, 41, 0.50); font-size: 0.75rem;
}

.paid-visual-badge{
  display: inline-flex;
  width: fit-content;
  max-inline-size: 100%;
  padding: 0.42rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(33, 37, 41, 0.13);
  background: rgba(255, 255, 255, 0.88);
  color: rgba(33, 37, 41, 0.78);
  line-height: 1.35;
  font-size: 0.82rem;
}

.paid-visual-copy p{
  margin: 0; color: rgba(33, 37, 41, 0.66); line-height: 1.65; font-size: clamp(0.84rem, 2vw, 0.92rem);
}

.paid-report-core{ display: grid; }

.paid-report-section-grid{
  display: grid; grid-template-columns: 1fr; gap: clamp(0.8rem, 1.8vw, 1rem);
}

.paid-report-card h3{
  margin: 0; color: rgba(33, 37, 41, 0.93); font-size: clamp(1.02rem, 2.25vw, 1.16rem);
  line-height: 1.48; letter-spacing: -0.025em;
}

.paid-report-card .report-card-body{
  margin: 0; color: rgba(33, 37, 41, 0.76); line-height: 1.88;
  white-space: pre-wrap; font-size: clamp(0.96rem, 2.05vw, 1.01rem);
}

.paid-report-metric-chip-row{
  display: flex; flex-wrap: wrap; gap: 0.45rem;
}

.paid-report-metric-chip-row span{
  min-height: auto; padding: 0.38rem 0.65rem; border-radius: 999px;
  font-size: 0.76rem; line-height: 1.35;
}

.paid-action-card{
  padding: clamp(0.9rem, 2vw, 1rem); display: grid; gap: 0.55rem;
}

.paid-action-card ul{
  margin: 0; padding-left: 1.05rem; color: rgba(33, 37, 41, 0.72); line-height: 1.62;
}

.paid-action-card li + li{ margin-top: 0.35rem; }

.paid-report-appendix{
  display: grid; gap: 0.7rem;
}

.paid-report-disclosure{
  overflow: hidden; background: rgba(255, 255, 255, 0.84); box-shadow: 0 0.6rem 1.4rem rgba(33, 37, 41, 0.05);
}

.paid-report-disclosure-spaced{ margin-bottom: 1.25rem; }

.paid-report-disclosure summary{
  cursor: pointer; padding: clamp(0.85rem, 2vw, 1rem) clamp(1rem, 2.4vw, 1.2rem); color: rgba(33, 37, 41, 0.82);
  font-weight: 900; list-style: none;
}

.paid-report-disclosure summary::-webkit-details-marker{ display: none; }

.paid-report-disclosure summary::after{
  content: "+"; float: right; color: rgba(33, 37, 41, 0.48); font-size: 0.78rem;
}

.paid-report-disclosure[open] summary::after{ content: "−"; }

.paid-report-disclosure-body{ padding: 0 clamp(1rem, 2.4vw, 1.2rem) clamp(1rem, 2.4vw, 1.2rem); }

.paid-report-access-body{
  display: grid; grid-template-columns: minmax(8rem, 0.3fr) minmax(0, 1fr); gap: 1rem; align-items: center;
}

.paid-report-qr-label{
  color: var(--bm-gray-500, #adb5bd); font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.05em; margin-top: 4px;
}

.paid-report-action-strip-offset{ margin-top: 1.2rem; }

.paid-report-login-lead{
  margin: 0 0 12px; color: var(--bm-gray-600, #6c757d); font-size: 14px; line-height: 1.55;
}

.paid-report-qr{
  inline-size: min(100%, clamp(8rem, 24vw, 12rem)); block-size: auto; aspect-ratio: 1 / 1; border-radius: clamp(0.9rem, 2vw, 1.2rem);
}

.paid-report-url-box{
  margin-top: 0; padding: clamp(0.8rem, 2vw, 1rem); border-radius: 1rem;
}

.paid-report-url-full{
  white-space: normal; overflow-wrap: anywhere; word-break: break-word;
  line-height: 1.6; font-size: clamp(0.78rem, 2vw, 0.9rem);
}

.paid-report-meta-list{
  display: grid; gap: 0.55rem;
}

.paid-report-meta-list p{
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.28fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0;
  color: rgba(33, 37, 41, 0.72);
  overflow-wrap: anywhere;
}

.paid-report-meta-list strong{
  color: rgba(33, 37, 41, 0.86); font-weight: 800;
}

@media (max-width: 780px){
  .paid-report-save-strip,
.paid-report-save-actions{
  display: grid; grid-template-columns: 1fr; inline-size: 100%;
}

  .paid-visual-card,
.paid-report-access-body,
.paid-report-meta-list p{ grid-template-columns: 1fr; }

.paid-report-qr-wrap{ justify-items: start; }
}

@media print{
  .paid-report-save-strip,
.paid-report-appendix{ display: none !important; }
}

/* Account login status bar */
.auth-status-bar{
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.45rem;
  max-inline-size: min(100%, 32rem);
  font-size: 0.78rem;
  line-height: 1.3;
  color: var(--bm-gray-900);
}

.auth-status-text{
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2rem;
  max-inline-size: min(48vw, 18rem);
  padding: 0.38rem 0.7rem;
  border: 1px solid var(--bm-gray-300);
  border-radius: 999px;
  background: var(--bm-white);
  background-image: none;
  color: var(--bm-gray-900);
  box-shadow: 0 4px 12px rgba(33, 37, 41, 0.06);
  overflow: hidden;
  white-space: nowrap;
}

.auth-status-text strong{
  color: var(--bm-gray-900); font-weight: 900;
}

.auth-status-text em{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--bm-gray-600);
  font-style: normal;
  font-weight: 800;
}
.auth-chip-button{
  min-height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--bm-gray-300);
  border-radius: 999px;
  background: var(--bm-white);
  background-image: none;
  color: var(--bm-gray-900);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(33, 37, 41, 0.06);
}

.auth-chip-button:not(.auth-chip-button-ghost){
  border-color: var(--bm-blue); background: var(--bm-white); color: var(--bm-blue); box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.16), 0 6px 14px rgba(33, 37, 41, 0.06);
}

@media (max-width: 720px){
.auth-status-bar{
  width: 100%; justify-content: flex-start; margin-left: 0;
}

.auth-status-text{ max-inline-size: 100%; }
}
/* My Page account report modal */
body.my-page-open{ overflow: hidden; }

.my-page-modal{
  position: fixed;
  inset: 0;
  z-index: var(--my-page-modal-z, 2147483200);
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 2rem);
}

.my-page-modal.hidden{ display: none !important; }

.my-page-backdrop{
  position: absolute; inset: 0; background: rgba(33, 37, 41, 0.36);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}

.my-page-panel{
  position: relative;
  z-index: 1;
  inline-size: min(100%, 42rem);
  max-block-size: min(88vh, 48rem);
  overflow: auto;
  display: grid;
  gap: clamp(0.85rem, 2vw, 1.1rem);
  padding: clamp(1.05rem, 3vw, 1.45rem);
  border: 1px solid var(--bm-gray-300);
  border-radius: clamp(1.15rem, 3vw, 1.8rem);
  background: var(--bm-white);
  background-image: none;
  color: var(--bm-gray-900);
  box-shadow: 0 4px 12px rgba(33, 37, 41, 0.06);
}

.my-page-close{
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  inline-size: 2.25rem;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--bm-gray-300);
  border-radius: 0;
  background: var(--bm-white);
  color: var(--bm-gray-900);
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}

.my-page-head{
  display: grid; gap: 0.35rem; padding-inline-end: 2.6rem;
}

.my-page-head span,
.my-page-summary span,
.my-page-toolbar > strong{
  color: var(--bm-gray-900); font-size: 0.75rem; font-weight: 900;
  letter-spacing: 0.08em; text-transform: uppercase;
}

.my-page-head h2{
  margin: 0; color: var(--bm-gray-900); font-size: clamp(1.55rem, 5vw, 2.15rem);
  line-height: 1.1; letter-spacing: -0.05em;
}

.my-page-head p{
  margin: 0; color: var(--bm-gray-600); line-height: 1.68;
}

.my-page-summary{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 0.7rem;
}
.my-page-summary article,
.my-page-state{
  border: 1px solid rgba(33, 37, 41, 0.12); border-radius: 1.1rem; background: rgba(255, 255, 255, 0.76);
}

.my-page-summary article{
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
  background: var(--bm-white);
  background-image: none;
  color: var(--bm-gray-900);
  border-color: var(--bm-gray-300);
  box-shadow: 0 4px 12px rgba(33, 37, 41, 0.06);
}

.my-page-summary strong{
  color: var(--bm-gray-900); font-size: 1.05rem;
}

.my-page-toolbar{
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.75rem; flex-wrap: wrap;
}

.my-page-toolbar > div{
  display: flex; gap: 0.45rem; flex-wrap: wrap;
}

.my-page-login-grid{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr)); gap: 0.55rem;
}

.my-page-state{
  padding: 1rem;
  background: var(--bm-white);
  background-image: none;
  color: var(--bm-gray-600);
  border-color: var(--bm-gray-300);
  box-shadow: 0 4px 12px rgba(33, 37, 41, 0.06);
  line-height: 1.7;
}

.my-page-state strong{
  display: block; margin-bottom: 0.25rem; color: rgba(33, 37, 41, 0.9);
}

.my-page-state p{ margin: 0; }

@media (max-width: 640px){
.my-page-modal{
  align-items: end; padding: 0.6rem;
}
}

.report-pref-modal,
.report-pref-choice,
.report-pref-chip,
.report-pref-block-title-row strong,
.paid-report-executive,
.paid-report-free-snapshot,
.paid-report-save-strip,
.paid-report-personalization,
.paid-report-visual-section,
.paid-report-action-pack,
.paid-report-disclosure,
.paid-report-executive-cards article,
.paid-action-card,
.paid-visual-card,
.paid-report-priority,
.paid-report-reliability,
.paid-report-url-box,
.paid-report-qr,
.paid-report-processing-card{
  background: var(--bm-white) !important; background-image: none !important; border-color: var(--bm-gray-300) !important;
  color: var(--bm-gray-900) !important; box-shadow: 0 4px 12px rgba(33, 37, 41, 0.06) !important;
}
.report-pref-head h3,
.report-pref-block h4,
.report-pref-head p,
.report-pref-block p,
.report-pref-head small,
.report-pref-choice,
.report-pref-choice strong,
.report-pref-choice span,
.report-pref-chip,
.paid-report-eyebrow,
.paid-report-executive-copy h3,
.paid-report-executive-copy p,
.paid-report-mood,
.paid-report-executive-cards span,
.paid-report-executive-cards strong,
.paid-report-executive-cards p,
.paid-report-priority,
.paid-report-reliability,
.paid-report-personalization,
.paid-report-personalization p,
.paid-visual-copy h4,
.paid-visual-scale,
.paid-visual-badge,
.paid-visual-copy p,
.paid-report-metric-chip-row span,
.paid-action-card span,
.paid-action-card ul,
.paid-report-meta-list span,
.paid-report-meta-list strong{ color: var(--bm-gray-900) !important; }
.report-pref-head p,
.report-pref-block p,
.report-pref-choice span,
.paid-report-executive-copy p,
.paid-report-executive-cards p,
.paid-report-priority,
.paid-report-reliability,
.paid-report-personalization p,
.paid-visual-scale,
.paid-visual-copy p{ color: var(--bm-gray-600) !important; }
.report-pref-choice.is-selected,
.report-pref-chip.is-selected,
.report-pref-choice:hover,
.report-pref-chip:hover{
  border-color: var(--bm-blue) !important; background: var(--bm-white) !important; color: var(--bm-blue) !important; box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.16), 0 6px 14px rgba(33, 37, 41, 0.06) !important;
}

.report-pref-choice.is-selected strong,
.report-pref-chip.is-selected,
.paid-report-eyebrow,
.paid-report-personalization span,
.paid-report-priority span,
.paid-report-reliability span,
.paid-action-card span,
.paid-report-meta-list span,
.blob-kicker{ color: var(--bm-blue) !important; }

.report-pref-backdrop{
  background: rgba(33, 37, 41, 0.42) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important;
}

.paid-report-shell{ inline-size: min(100%, 68rem) !important; }
.paid-report-mood,
.paid-visual-badge,
.paid-report-metric-chip-row span,
.report-pref-block-title-row strong{
  border-color: var(--bm-gray-300) !important; background: var(--bm-gray-100) !important;
}

.paid-visual-graphic,
.paid-report-qr,
.paid-report-processing-meter,
.report-pref-choice-grid,
.report-pref-chip-grid{ background: var(--bm-gray-100) !important; }

.paid-visual-graphic svg [fill]{ fill: var(--bm-white) !important; }
.paid-visual-graphic svg [stroke]{ stroke: var(--bm-gray-900) !important; }
.paid-visual-graphic svg rect:last-of-type,
.paid-visual-graphic svg circle:nth-of-type(2),
.paid-visual-graphic svg path:last-of-type{ fill: var(--bm-blue) !important; stroke: var(--bm-blue) !important; }

.paid-report-processing-meter span,
.progress-rail span{ background: var(--bm-blue) !important; }

.my-page-state.is-error{
  background: var(--bm-gray-100) !important; color: var(--bm-gray-900) !important; border-color: var(--bm-gray-300) !important;
}

/* Keep report pages from collapsing inside the 12-col result grid. */
.result-panels{ grid-auto-flow: row dense; align-items: start; }
.result-panels > *{ min-inline-size: 0; }
.result-panels > .paid-report-shell,
.result-panels > .paid-report-pending-shell{
  grid-column: 1 / -1 !important; inline-size: 100% !important; min-inline-size: 0 !important;
}

@media (max-width: 780px){
  .result-panels{ grid-template-columns: 1fr; }
  .metric-deck{ grid-template-columns: 1fr; }
  .paid-visual-card{ grid-template-columns: 1fr !important; }
}

/* 2026-05-08 branded report QR code */
.paid-report-qr{
  display: grid !important;
  place-items: center !important;
  padding: clamp(0.45rem, 1.2vw, 0.68rem) !important;
  border-radius: 1rem !important;
  border: 1px solid var(--bm-gray-300) !important;
  background: #f4f6f9 !important;
  box-shadow: 0 8px 20px rgba(33, 37, 41, 0.08) !important;
}

.paid-report-qr-art{
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  display: grid;
  place-items: center;
  padding: 5%;
  border-radius: 0.75rem;
  border: 1px solid var(--bm-gray-200);
  background: var(--bm-white);
  box-shadow: 0 2px 8px rgba(33, 37, 41, 0.06);
  overflow: hidden;
}

.paid-report-qr-image{
  display: block; inline-size: 100%; block-size: 100%; object-fit: contain;
}

.paid-report-qr-logo{
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);

  /* Cover the logo cutout completely. */
  inline-size: 27%;
  aspect-ratio: 1 / 1;
  min-inline-size: 2.2rem;

  display: grid;
  place-items: center;
  padding: 0;
  overflow: hidden;
  border-radius: 50%;

  /* Remove the neutral ring. */
  border: none !important;
  background: transparent;

  pointer-events: none;
}

.paid-report-qr-logo img{
  display: block;
  width: 100%;
  height: 100%;
  max-inline-size: 100%;
  max-block-size: 100%;
  object-fit: cover;

  /* Slightly enlarge logo art if the source image contains transparent padding. */
  transform: scale(1.1);
}
/* =========================================
   Large stacked QR and URL layout
   ========================================= */

/* Stack the two-column layout into one centered column. */
.paid-report-access-body{
  grid-template-columns: 1fr !important; justify-items: center !important; gap: 1.5rem !important;
}

/* Keep QR content centered on narrow screens. */
.paid-report-qr-wrap{
  justify-items: center !important; width: 100%;
}

/* Increase QR size for share-friendly capture. */
.paid-report-qr{
  inline-size: min(100%, 280px) !important;
  border-radius: 1.5rem !important; /* Keep corners soft at the larger size. */
}

/* Fill and center the report URL box. */
.paid-report-url-box{
  width: 100% !important; box-sizing: border-box; text-align: center !important;
}

/* Center long URL text. */
.paid-report-url-full{
  display: block !important; text-align: center !important;
}

.paid-report-free-snapshot{
  display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(14rem, .65fr); gap: 1rem; align-items: stretch;
}

.paid-snapshot-copy,
.paid-snapshot-side{
  display: grid; gap: .85rem;
}

.paid-snapshot-copy h3{
  margin: 0; font-size: clamp(1.32rem, 4vw, 2rem); line-height: 1.15; letter-spacing: -.045em;
}

.paid-snapshot-copy p{
  margin: 0; color: var(--muted, #6c757d); line-height: 1.72;
}

.paid-snapshot-chips{
  display: flex; flex-wrap: wrap; gap: .45rem;
}

.paid-snapshot-chips span{
  border: 1px solid var(--line, #dee2e6);
  background: var(--soft, #f8f9fa);
  border-radius: 999px;
  padding: .4rem .68rem;
  font-size: .78rem;
  font-weight: 800;
  color: var(--muted, #6c757d);
}

.paid-snapshot-side{
  border: 1px solid var(--line, #dee2e6); border-radius: 1rem; background: var(--soft, #f8f9fa);
  padding: 1rem; align-content: start;
}

.paid-snapshot-side > strong{
  font-size: 1.15rem; letter-spacing: -.025em;
}

.paid-snapshot-animal{
  inline-size: min(100%, 10rem); block-size: auto; justify-self: center;
}

.paid-aura-bars{
  display: grid; gap: .58rem;
}

@media (max-width: 720px){
.paid-report-free-snapshot{ grid-template-columns: 1fr; }
}

/* I2141 deferred CSS split A segment 2: payment gateway and payment-return surfaces. */
/* Payment gateway selection */
.payment-provider-modal{
  inline-size: min(100%, 46rem); max-block-size: calc(100dvh - max(1.5rem, env(safe-area-inset-top) + env(safe-area-inset-bottom))); overflow-x: hidden; overflow-y: auto;
}

.payment-provider-head small{
  letter-spacing: 0.08em; text-transform: uppercase;
}

.payment-provider-master-requirement{
  margin: 0;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(13, 110, 253, 0.16);
  border-radius: 0.9rem;
  background: rgba(13, 110, 253, 0.07);
  color: rgba(33, 37, 41, 0.74);
  font-size: 0.82rem;
  font-weight: 780;
  line-height: 1.45;
}

.payment-provider-expectation{
  margin: 0;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(33, 37, 41, 0.72);
  font-size: 0.82rem;
  font-weight: 780;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.payment-provider-grid{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 0.75rem;
}

.payment-provider-choice{
  position: relative;
  min-block-size: 8rem;
  display: grid;
  align-content: start;
  gap: 0.4rem;
  padding: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 1.1rem;
  background: #fff;
  color: var(--text);
  box-shadow: none;
  text-align: left;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease, opacity 160ms ease;
}

.payment-provider-choice:hover,
.payment-provider-choice:focus-visible{
  transform: translateY(-1px); background: #fff; border-color: var(--brand);
  box-shadow: 0 8px 18px rgba(13, 110, 253, 0.10); outline: none;
}

.payment-provider-choice strong{
  font-size: 1rem; line-height: 1.25; letter-spacing: -0.02em;
}

.payment-provider-choice em{
  color: rgba(33, 37, 41, 0.62); font-size: 0.78rem; font-style: normal; line-height: 1.5;
}

.payment-provider-state-action{
  display: block;
  color: rgba(132, 32, 41, 0.92);
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.payment-provider-badge{
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 1.7rem;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: var(--surface-container);
  color: var(--brand-strong);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.02em;
}

.payment-provider-choice.is-disabled{
  background: #f8f9fa;
  border-color: #dee2e6;
  color: #6c757d;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.52;
  filter: none;
}

.payment-provider-choice.is-disabled:hover,
.payment-provider-choice.is-disabled:focus-visible{
  transform: none; background: #f8f9fa; border-color: #dee2e6;
  color: #6c757d; box-shadow: none;
}

.payment-provider-choice.is-disabled .payment-provider-badge{
  background: #fff; color: #6c757d;
}

.payment-provider-actions{ grid-template-columns: minmax(0, 1fr); }

.paypal-checkout-modal{
  inline-size: min(100%, 34rem); max-block-size: calc(100dvh - max(1.5rem, env(safe-area-inset-top) + env(safe-area-inset-bottom))); overflow-x: hidden; overflow-y: auto;
}

.paypal-checkout-head small{
  letter-spacing: 0.08em; text-transform: uppercase;
}

.paypal-checkout-status{
  min-block-size: 2.65rem;
  display: grid;
  align-items: center;
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(13, 110, 253, 0.16);
  border-radius: 0.9rem;
  background: rgba(13, 110, 253, 0.07);
  color: rgba(33, 37, 41, 0.72);
  font-size: 0.88rem;
  font-weight: 760;
  line-height: 1.45;
}

.paypal-buttons-container{
  min-block-size: 4.25rem; display: grid; gap: 0.55rem; align-items: center;
}

.paypal-checkout-backdrop.is-busy .paypal-buttons-container{
  opacity: 0.52; pointer-events: none;
}

.paypal-checkout-backdrop.is-busy [data-paypal-checkout-close]{
  opacity: 0.56; cursor: wait;
}

.paypal-checkout-backdrop.has-error .paypal-checkout-status{
  border-color: rgba(220, 53, 69, 0.26); background: rgba(220, 53, 69, 0.08);
}

.paypal-checkout-actions{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }

.master-upload-backdrop{ z-index: 90; }

.master-upload-modal{
  max-width: min(94vw, 42rem); gap: 1rem; min-width: 0; overflow-wrap: anywhere;
}

.master-upload-head small{
  letter-spacing: 0.08em; text-transform: uppercase;
}

.master-upload-auth-box,
.master-upload-field,
.master-upload-drop,
.master-upload-selected,
.master-upload-checklist-shell,
.master-upload-reuse,
.master-upload-error{
  border: 1px solid rgba(33, 37, 41, 0.12); border-radius: 1rem; background: rgba(255, 255, 255, 0.78); padding: 0.9rem 1rem;
}

.master-upload-auth-box{
  display: grid; gap: 0.5rem;
}

.master-upload-auth-box strong,
.master-upload-field span,
.master-upload-drop span{
  color: var(--text); font-size: 0.92rem; font-weight: 850; letter-spacing: -0.02em;
}
.master-upload-auth-box p,
.master-upload-field small,
.master-upload-photo-help{
  min-width: 0;
  max-width: 100%;
  margin: 0;
  color: rgba(33, 37, 41, 0.64);
  font-size: 0.8rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.master-upload-photo-help{
  display: flex; flex-wrap: wrap; gap: 0.25rem 0.65rem; font-style: normal;
}

.master-upload-photo-help a{
  color: var(--brand); font-weight: 750; white-space: nowrap;
}

.master-upload-field,
.master-upload-drop{
  display: grid; gap: 0.55rem;
}

.master-upload-field input[type="email"]{
  width: 100%;
  border: 1px solid rgba(33, 37, 41, 0.15);
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.9);
  color: var(--text);
  padding: 0.78rem 0.9rem;
  font: inherit;
}

.master-upload-drop input[type="file"]{
  width: 100%; border: 1px dashed rgba(13, 110, 253, 0.34); border-radius: 0.9rem;
  background: rgba(13, 110, 253, 0.05); padding: 0.85rem;
}

.master-upload-reuse{
  display: grid; gap: 0.72rem; background: rgba(13, 110, 253, 0.055); border-color: rgba(13, 110, 253, 0.18);
}

.master-upload-reuse-head{
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
}

.master-upload-reuse-head strong{
  color: var(--text); font-size: 0.92rem; font-weight: 900; letter-spacing: -0.02em;
}

.master-upload-reuse > p,
.master-upload-reuse-state{
  margin: 0; color: rgba(33, 37, 41, 0.64); font-size: 0.8rem; line-height: 1.5;
}

.master-upload-reuse-state.is-error{
  color: rgba(33, 37, 41, 0.9); font-weight: 800;
}

.master-upload-reuse-list{
  display: grid; gap: 0.55rem; max-block-size: 16rem;
  overflow: auto; padding-right: 0.2rem;
}

.master-upload-reuse-item{
  width: 100%;
  display: grid;
  gap: 0.24rem;
  border: 1px solid rgba(33, 37, 41, 0.12);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.82);
  color: rgba(33, 37, 41, 0.76);
  padding: 0.72rem 0.82rem;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.master-upload-reuse-item:hover,
.master-upload-reuse-item:focus-visible{
  border-color: rgba(13, 110, 253, 0.34); box-shadow: 0 0.55rem 1.3rem rgba(13, 110, 253, 0.12); transform: translateY(-1px);
}

.master-upload-reuse-item.is-selected{
  border-color: rgba(13, 110, 253, 0.44); background: rgba(255, 255, 255, 0.96); box-shadow: inset 0 0 0 1px rgba(13, 110, 253, 0.14);
}

.master-upload-reuse-item strong{
  color: rgba(33, 37, 41, 0.92); font-size: 0.84rem; font-weight: 900;
}

.master-upload-reuse-item span,
.master-upload-reuse-item em{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(33, 37, 41, 0.58);
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 710;
}

.master-upload-reuse-clear{
  flex: none;
  border: 1px solid rgba(33, 37, 41, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: rgba(33, 37, 41, 0.68);
  padding: 0.35rem 0.62rem;
  font-size: 0.72rem;
  font-weight: 850;
  cursor: pointer;
}

.master-upload-error{
  min-width: 0;
  max-width: 100%;
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(13, 110, 253, 0.22);
  color: rgba(33, 37, 41, 0.9);
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.master-upload-error.hidden{ display: none; }

.master-upload-actions{ grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); }

.master-upload-actions .button{
  min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere;
}

.master-upload-actions .button:disabled{
  cursor: wait; opacity: 0.62;
}

@media (max-width: 640px){
.master-upload-actions{ grid-template-columns: 1fr; }
}

/* Free result page: keep analysisResultPanels from squeezing content into split grid columns. */
#analysisResultPanels.result-panels-v3{
  grid-template-columns: minmax(0, 1fr) !important; inline-size: 100% !important; max-inline-size: 100% !important;
}

#analysisResultPanels.result-panels-v3 > *{
  grid-column: 1 / -1 !important; inline-size: 100% !important; min-inline-size: 0 !important;
}

#analysisResultPanels.result-panels-v3 > .free-report-shell{ grid-template-columns: minmax(0, 1fr) !important; }

#analysisResultPanels.result-panels-v3 > .free-report-shell > *{
  grid-column: 1 / -1 !important; min-inline-size: 0 !important;
}

/* 2026-05-25 STEP 04 CTA blue-only final layer */
.button-upgrade-primary,
.master-upload-actions .button-upgrade-primary{
  background: #0d6efd !important; color: #fff !important; border: 1px solid #0d6efd !important; box-shadow: 0 10px 22px rgba(13, 110, 253, 0.14) !important;
}

.button-upgrade-primary:not(:disabled):not([aria-disabled="true"]):hover,
.button-upgrade-primary:not(:disabled):not([aria-disabled="true"]):focus-visible,
.master-upload-actions .button-upgrade-primary:not(:disabled):not([aria-disabled="true"]):hover,
.master-upload-actions .button-upgrade-primary:not(:disabled):not([aria-disabled="true"]):focus-visible{
  background: var(--brand) !important; border-color: var(--brand-strong) !important; color: #fff !important; box-shadow: 0 12px 26px rgba(13, 110, 253, 0.18) !important;
}

.button-upgrade-secondary{
  background: var(--surface) !important; color: var(--brand-strong) !important; border: 1px solid var(--line) !important; border-radius: 999px !important; box-shadow: none !important;
}

.button-upgrade-secondary:not(:disabled):not([aria-disabled="true"]):hover,
.button-upgrade-secondary:not(:disabled):not([aria-disabled="true"]):focus-visible{
  background: var(--surface-container) !important; border-color: var(--brand) !important; color: var(--brand-strong) !important; box-shadow: var(--shadow) !important;
}

.button-upgrade-primary:disabled,
.button-upgrade-secondary:disabled,
.button-upgrade-primary[aria-disabled="true"],
.button-upgrade-secondary[aria-disabled="true"],
.master-upload-actions .button:disabled{
  background: #f8f9fa !important; color: #6c757d !important; border-color: var(--line) !important;
  box-shadow: none !important; opacity: 0.72;
}

.master-upload-reuse-item:hover,
.master-upload-reuse-item:focus-visible{
  border-color: var(--brand) !important; box-shadow: 0 8px 18px rgba(13, 110, 253, 0.10) !important;
}

.master-upload-reuse-item.is-selected{
  border-color: var(--brand) !important; background: #fff !important; box-shadow: inset 0 0 0 1px rgba(13, 110, 253, 0.14) !important;
}

/* 2026-05-25 STEP 05 cards/badges/chips blue-neutral final layer */
.report-card,
.metric-card,
.report-card-shareable,
.paid-action-card,
.paid-visual-card{
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 14px 32px rgba(13, 110, 253, 0.08), 0 8px 20px rgba(33, 37, 41, 0.06) !important;
  color: #212529 !important;
  text-shadow: none !important;
}

:is(#resultHeroCard, #analysisResultPanels, #resultEvidenceTrustBlock) .result-reveal-prep{
  opacity: 0; transform: translateY(12px);
}

:is(#resultHeroCard, #analysisResultPanels, #resultEvidenceTrustBlock) .result-reveal-prep.result-reveal-visible{
  opacity: 1; transform: translateY(0); transition: opacity 420ms ease, transform 420ms ease;
}

.result-hero-panel:hover,
.result-story-card:hover,
.report-card:hover,
.report-card-shareable:hover,
.metric-card:hover,
.paid-action-card:hover,
.paid-visual-card:hover{
  border-color: var(--line) !important; box-shadow: 0 16px 34px rgba(13, 110, 253, 0.10), 0 8px 20px rgba(33, 37, 41, 0.06) !important;
}

.result-hero-panel:focus-within,
.result-story-card:focus-within,
.report-card:focus-within,
.report-card-shareable:focus-within,
.metric-card:focus-within,
.paid-action-card:focus-within,
.paid-visual-card:focus-within{
  border-color: var(--brand) !important; box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12), 0 14px 32px rgba(33, 37, 41, 0.08) !important;
}

.mode-pill,
.confidence-pill,
.report-keyword,
.metric-card-state,
.scan-tour-chip,
.guidance-badge,
.chip,
.scan-support-tag,
.paid-report-metric-chip-row span,
.paid-snapshot-chips span,
.paid-visual-badge{
  background: var(--surface-container) !important;
  background-image: none !important;
  border: 1px solid var(--line) !important;
  color: var(--brand-strong) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}.mode-pill strong,
.confidence-pill strong,
.report-keyword strong,
.metric-card-state strong{
  color: var(--brand-strong) !important; text-shadow: none !important;
}
.result-animals-hero-kicker{
  color: var(--brand-strong) !important; text-shadow: none !important;
}.result-animal-single-name{
  color: #212529 !important; text-shadow: none !important;
}.report-card-body{
  color: #6c757d !important; text-shadow: none !important;
}

.app-shell[data-scene="scan"] .guidance-badge,
.app-shell[data-scene="scan"] .scan-tour-chip,
.app-shell[data-scene="scan"] .scan-support-tag{
  background: rgba(33, 37, 41, 0.82) !important; border-color: rgba(255, 255, 255, 0.18) !important; color: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 14px 30px rgba(33, 37, 41, 0.20) !important; text-shadow: none !important;
}

/* I2141 deferred CSS split A segment 3: result visualization and public share/compare surfaces. */
/* =====================================================================
   H025 result visualization CSS owner: result collectible, atlas,
   aura radar, and Face16 animal-board imagery. The selectors here are
   scoped to result hosts so legacy card/chip patches do not re-own
   unrelated report cards.
   ===================================================================== */
.result-collectible-grid,
.result-hero-panel .collectible-badge-art,
.result-hero-panel .collectible-copy,
#resultTypeAtlas,
#resultAuraRadar{
  min-width: 0; max-width: 100%;
}

.result-collectible-grid .portrait-shell,
#resultTypeAtlas .faces64-detail-card,
#resultTypeAtlas .faces64-subtype-chip,
#resultAuraRadar .aura-radar-chip{
  background: #fff;
  background-image: none;
  border: 1px solid var(--line);
  box-shadow: 0 14px 32px rgba(13, 110, 253, 0.08), 0 8px 20px rgba(33, 37, 41, 0.06);
  color: #212529;
  text-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#resultTypeAtlas .faces64-subtype-chip:hover,
#resultAuraRadar .aura-radar-chip:hover{
  border-color: var(--line); box-shadow: 0 16px 34px rgba(13, 110, 253, 0.10), 0 8px 20px rgba(33, 37, 41, 0.06);
}

#resultTypeAtlas .faces64-subtype-chip:focus-within,
#resultAuraRadar .aura-radar-chip:focus-within{
  border-color: var(--brand); box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12), 0 14px 32px rgba(33, 37, 41, 0.08);
}

#resultTypeAtlas .faces64-mini-node,
#resultTypeAtlas .faces64-mini-node-core,
#resultTypeAtlas .faces64-detail-badge{
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 8px;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#resultTypeAtlas .face16-detail-badge,
#resultTypeAtlas .animal-illustration-fallback,
.result-hero-panel .trait-chip,
.result-hero-panel .module-blob,
.result-hero-panel .animal-illustration-fallback{
  background: #fff;
  background-image: none;
  border: 1px solid var(--line);
  color: #212529;
  box-shadow: 0 10px 24px rgba(13, 110, 253, 0.08), 0 6px 14px rgba(33, 37, 41, 0.06);
  text-shadow: none;
}

#resultTypeAtlas .faces64-detail-badge,
#resultTypeAtlas .face16-detail-badge{ overflow: hidden; }

#resultTypeAtlas .faces64-atlas-kicker,
#resultTypeAtlas .faces64-detail-kicker,
#resultTypeAtlas .faces64-subtype-chip em,
#resultAuraRadar .aura-radar-center span,
#resultAuraRadar .aura-radar-center em,
#resultAuraRadar .aura-radar-chip span{
  color: var(--brand-strong); font-weight: 700; text-shadow: none;
}

#resultTypeAtlas .faces64-atlas-title,
#resultTypeAtlas .faces64-detail-title,
#resultTypeAtlas .faces64-subtype-chip strong,
#resultAuraRadar .aura-radar-meta strong,
#resultAuraRadar .aura-radar-chip strong{
  color: #212529; font-weight: 700; text-shadow: none;
}

#resultTypeAtlas .faces64-atlas-hint,
#resultTypeAtlas .faces64-detail-note,
#resultAuraRadar .aura-radar-meta p,
#resultAuraRadar .aura-radar-meta small,
#resultAuraRadar .aura-radar-chip small{
  color: #6c757d; text-shadow: none;
}

#resultTypeAtlas .faces64-mini-node.is-active,
#resultTypeAtlas .faces64-subtype-chip.is-current{
  border-color: var(--brand); box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.14), var(--shadow);
}

#resultTypeAtlas .faces64-mini-node-current{
  background: var(--brand); box-shadow: 0 0 0 6px #fff;
}

#resultTypeAtlas .face16-animal-board .faces64-mini-node.is-current-result{ border-color: var(--brand); }

#resultTypeAtlas .face16-animal-board .faces64-mini-node.is-current-result:not(.is-active){ box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.10), var(--shadow); }

#resultTypeAtlas .face16-animal-board .faces64-mini-node-current{
  top: 7px;
  right: 7px;
  width: auto;
  height: auto;
  min-width: 0;
  padding: 3px 7px;
  border-radius: 999px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow: 0 0 0 3px #fff;
}

#resultTypeAtlas .faces64-mini-node-orbit{ --orbit-dot-color: var(--surface-container-low); }

#resultTypeAtlas .animal-illustration-svg,
#resultTypeAtlas .animal-illustration-picture,
.result-hero-panel .animal-illustration-svg,
.result-hero-panel .animal-illustration-picture{
  display: block; width: 100%; height: auto; line-height: 0;
}

#resultTypeAtlas .animal-illustration-image,
.result-hero-panel .animal-illustration-image{
  display: block; width: 100%; height: auto; object-fit: contain;
}

#resultTypeAtlas .animal-illustration-node,
#resultTypeAtlas .faces64-mini-node-art .animal-illustration-picture{
  width: 52px; height: 52px;
}

#resultTypeAtlas .animal-illustration-node .animal-illustration-image,
#resultTypeAtlas .faces64-mini-node-art .animal-illustration-image,
#resultTypeAtlas .animal-illustration-detail,
#resultTypeAtlas .face16-detail-badge .animal-illustration-picture,
#resultTypeAtlas .faces64-detail-badge .animal-illustration-picture,
#resultTypeAtlas .animal-illustration-detail .animal-illustration-image,
#resultTypeAtlas .face16-detail-badge .animal-illustration-image,
#resultTypeAtlas .faces64-detail-badge .animal-illustration-image{
  width: 100%; height: 100%; object-fit: contain;
}

.result-hero-panel .animal-illustration-hero .animal-illustration-image,
.result-hero-panel .animal-illustration-result-hero .animal-illustration-image{
  width: 100%; height: auto;
}

#resultTypeAtlas .animal-illustration-fallback,
.result-hero-panel .animal-illustration-fallback{
  display: grid;
  place-items: center;
  width: var(--16f-animal-illustration-size, 120px);
  height: var(--16f-animal-illustration-size, 120px);
  border-radius: 50%;
  font-size: 34px;
}

.result-hero-panel .trait-chip.tone-mint,
.result-hero-panel .trait-chip.tone-neutral,
.result-hero-panel .module-blob.tone-mint,
.result-hero-panel .module-blob.tone-neutral{
  background: #f8f9fa; border-color: #dee2e6; color: #495057;
}

.result-hero-panel .trait-chip.tone-blue-soft,
.result-hero-panel .module-blob.tone-blue-soft{
  background: var(--surface-container); border-color: var(--line); color: var(--brand-strong);
}

.result-hero-panel .trait-chip.tone-blue,
.result-hero-panel .trait-chip.tone-blue-strong,
.result-hero-panel .module-blob.tone-blue,
.result-hero-panel .module-blob.tone-blue-strong{
  background: var(--line); border-color: var(--line); color: var(--brand-strong);
}

.result-hero-panel .module-strip{ gap: 8px; }

.result-hero-panel .module-blob{
  border-radius: 8px; padding: 14px 12px;
}

.result-hero-panel .module-blob .blob-kicker,
.result-hero-panel .module-blob .blob-value,
.result-hero-panel .module-blob .blob-emoji{
  color: inherit; text-shadow: none;
}

.result-hero-panel .trait-chip{ border-radius: 8px; }

.result-collectible-grid .portrait-shell,
.result-collectible-grid .portrait-shell.portrait-shell-animal-single,
.result-hero-panel .result-hero-placeholder.result-hero-placeholder-animal-board,
.result-hero-panel .result-hero-placeholder.result-hero-placeholder-animal-single,
.result-hero-panel .result-animals-hero.result-animals-hero-single{
  background-image: none; text-shadow: none;
}

.result-collectible-grid .portrait-shell.portrait-shell-animal-single{
  background: transparent; border: 0; box-shadow: none;
}

.result-hero-panel .result-hero-placeholder.result-hero-placeholder-animal-board,
.result-hero-panel .result-hero-placeholder.result-hero-placeholder-animal-single{
  padding: clamp(17px, 3.5vw, 31px) clamp(24px, 5vw, 44px); background: transparent; border: 0; box-shadow: none;
}

.result-hero-panel .result-animals-hero.result-animals-hero-single{
  background: transparent; border: 0; box-shadow: none;
}

#resultAuraRadar .aura-radar-plot{
  width: min(100%, 460px); max-width: 460px; overflow: visible; padding: 8px;
}

#resultAuraRadar .aura-radar-plot svg{
  display: block; width: 100%; height: auto;
  overflow: visible; font-family: var(--font-primary);
}

#resultAuraRadar .aura-radar-axis-label{
  fill: rgba(33, 37, 41, 0.96);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-transform: none;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, 0.96);
  stroke-width: 3px;
  stroke-linejoin: round;
}

#resultAuraRadar .aura-radar-meta{ width: min(100%, 620px); }

#resultAuraRadar .aura-radar-legend{
  width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr));
}

#resultAuraRadar .aura-radar-chip{
  min-width: 0; overflow: hidden;
}

#resultAuraRadar .aura-radar-chip span{
  white-space: normal; word-break: keep-all; overflow-wrap: anywhere; line-height: 1.35;
}

@media (max-width: 1100px){
.result-collectible-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 960px){
#resultAuraRadar .aura-radar-legend{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px){
  .result-hero-panel .module-strip,
#resultTypeAtlas .faces64-mini-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

#resultTypeAtlas .faces64-mini-board{ grid-template-columns: 1fr; }
}

@media (max-width: 520px){
#resultTypeAtlas .faces64-subtype-grid{ grid-template-columns: 1fr 1fr; }

.result-hero-panel .module-strip{
  display: flex; overflow-x: auto; scrollbar-width: none;
  scroll-snap-type: x mandatory; padding-bottom: 6px;
}

.result-hero-panel .module-strip::-webkit-scrollbar{ display: none; }

.result-hero-panel .module-blob{
  min-width: 164px; scroll-snap-align: start;
}

#resultAuraRadar .aura-radar-plot{
  width: min(100%, 360px); padding: 2px;
}

#resultAuraRadar .aura-radar-axis-label{
  font-size: 10px; stroke-width: 2.6px;
}

#resultAuraRadar .aura-radar-legend{ grid-template-columns: 1fr; }
}

@media (max-width: 420px){
.result-hero-panel .collectible-portrait-shell{ min-height: 420px; }

.result-hero-panel .trait-chip{
  min-height: 30px; padding: 0 12px; font-size: 11px;
}

#resultTypeAtlas .faces64-mini-grid{ gap: 10px; }
}

/* B02 public result/share route fallback */
/* H030 public social scoped owner: share, guess, compare, and receiver surfaces reuse result primitives without private paid-report/paywall selectors. */
.public-snapshot-fallback{
  width: min(100%, 760px);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  display: grid;
  gap: 16px;
}

.public-route-card{
  max-width: 100%;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: clamp(22px, 4vw, 34px);
  box-shadow: 0 18px 42px rgba(13, 110, 253, 0.10), 0 8px 20px rgba(33, 37, 41, 0.06);
  color: #212529;
  overflow-wrap: anywhere;
}

.public-route-card > *{
  max-width: 100%; min-width: 0;
}

.public-route-card-head{
  display: grid; gap: 8px; max-width: 100%;
  min-width: 0; margin-bottom: 14px;
}

.public-route-card-head h3{
  margin: 0; font-size: clamp(1.45rem, 4vw, 2.15rem); line-height: 1.12; color: #212529;
}

:is(.public-route-badge, .public-route-nickname){
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface-container);
  color: var(--brand-strong);
  font-weight: 800;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

.public-route-badge{
  padding: 6px 10px; font-size: 0.78rem; letter-spacing: 0.03em;
}

.public-route-nickname{
  margin: 4px 0 12px; padding: 7px 12px; font-size: 0.92rem;
}

:is(.public-route-summary, .public-route-share-copy){
  max-width: 100%;
  min-width: 0;
  margin: 0;
  color: #495057;
  line-height: 1.7;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.public-route-keywords{
  max-width: 100%; min-width: 0; margin: 18px 0;
}

/* Intentional result primitive reuse: public social cards may use .report-keyword and .button only as public-safe primitives. */
.public-route-keywords .report-keyword,
.public-route-card .button{
  max-width: 100%; min-width: 0; text-align: center;
  white-space: normal; overflow-wrap: anywhere;
}

.public-route-share-copy{
  padding-top: 14px; border-top: 1px solid #dee2e6; color: var(--brand-strong); font-weight: 800;
}

.public-snapshot-empty{ text-align: center; }

.public-snapshot-empty .public-route-card-head,
.public-snapshot-empty .public-route-summary{
  justify-items: center; text-align: center;
}

.public-snapshot-empty .button{
  margin-top: 20px; min-width: min(100%, 220px);
}

.public-snapshot-loading .public-route-card{
  position: relative; overflow: hidden; border-color: var(--line); background: #fff;
}

.public-snapshot-loading .public-route-card::before{
  content: "";
  display: block;
  width: 42px;
  height: 4px;
  margin: 0 auto 18px;
  border-radius: 999px;
  background: #0d6efd;
  animation: publicSnapshotLoadingPulse 1.18s ease-in-out infinite;
}

@keyframes publicSnapshotLoadingPulse {
  0%,
100%{
  opacity: 0.38; transform: scaleX(0.62);
}

50%{
  opacity: 1; transform: scaleX(1);
}
}

/* B07 /guess/:shareId friend vote route */
.guess-page{
  width: min(100%, 920px);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  display: grid;
  gap: 16px;
  color: #212529;
}

:is(.guess-card, .guess-summary){
  max-width: 100%;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: clamp(20px, 4vw, 32px);
  box-shadow: 0 18px 42px rgba(13, 110, 253, 0.10), 0 8px 20px rgba(33, 37, 41, 0.06);
  overflow-wrap: anywhere;
}

.guess-card > *,
.guess-summary > *{
  max-width: 100%; min-width: 0;
}

.guess-card-head{
  display: grid; gap: 8px; margin-bottom: 16px;
}

.guess-card-head h3,
.guess-summary-head h3{
  margin: 0; color: #212529; font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1.16; letter-spacing: -0.035em;
}

:is(.guess-card-head p, .guess-card > p, .guess-vote-hint, .guess-summary-status, .guess-summary-empty){
  margin: 0; color: #495057; line-height: 1.65;
  word-break: keep-all; overflow-wrap: anywhere;
}

.guess-animal-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(112px, 100%), 1fr));
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.guess-animal-button{
  max-width: 100%;
  min-width: 0;
  min-height: 122px;
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 12px 10px;
  border: 1px solid #dee2e6;
  border-radius: 22px;
  background: #fff;
  color: #212529;
  box-shadow: 0 10px 24px rgba(33, 37, 41, 0.06);
  font: inherit;
  cursor: pointer;
  overflow-wrap: anywhere;
  word-break: keep-all;
  transition: transform var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.guess-animal-button:hover:not(:disabled),
.guess-animal-button:focus-visible{
  transform: translateY(-2px); border-color: var(--line); background: #f8f9fa; box-shadow: 0 14px 30px rgba(13, 110, 253, 0.10);
}

.guess-animal-button.is-selected,
.guess-animal-button[aria-pressed="true"]{
  border-color: #0d6efd; background: var(--surface-container); color: var(--brand-strong);
}

.guess-animal-button:disabled{
  cursor: not-allowed; opacity: 0.78;
}

.guess-animal-art{
  width: 52px; height: 52px; display: inline-grid; place-items: center;
}

.guess-animal-button strong{
  color: inherit;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: -0.02em;
  text-align: center;
}

.guess-vote-hint{
  margin-top: 12px; padding-top: 12px; border-top: 1px solid #dee2e6; font-size: 13px;
}

.guess-summary{
  display: grid; gap: 14px;
}

.guess-summary-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  max-width: 100%;
  min-width: 0;
}

.guess-summary-head > span{
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-width: 0;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface-container);
  color: var(--brand-strong);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}

.guess-summary-list{
  display: grid; gap: 10px; max-width: 100%; min-width: 0;
}

.guess-summary-row{
  display: grid;
  gap: 7px;
  max-width: 100%;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dee2e6;
  border-radius: 18px;
  background: #f8f9fa;
}

.guess-summary-row.is-selected{
  border-color: var(--line); background: var(--surface-container);
}

.guess-summary-row-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  max-width: 100%;
  min-width: 0;
}

.guess-summary-row-head strong{
  min-width: 0; color: #212529; font-weight: 900; overflow-wrap: anywhere;
}

.guess-summary-row-head span{
  max-width: 100%;
  min-width: 0;
  color: var(--brand-strong);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  overflow-wrap: anywhere;
}

.guess-summary-meter{
  height: 8px; overflow: hidden; border-radius: 999px; background: #dee2e6;
}

.guess-summary-meter i{
  display: block; width: var(--16f-guess-summary-width, 0%); height: 100%;
  border-radius: inherit; background: #0d6efd;
}

:is(.guess-summary-privacy, .guess-summary-section-label){
  margin: 0; color: #6c757d; font-size: 12px;
  font-weight: 800; line-height: 1.55;
}

.guess-summary-section-label{
  color: var(--brand-strong); letter-spacing: -0.01em;
}

.guess-summary-public-reveal{
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
}

.guess-summary-public-reveal strong{
  color: #212529; font-size: 1.02rem; font-weight: 900;
}

.guess-summary-public-reveal p{
  margin: 0; color: #495057; line-height: 1.6;
  word-break: keep-all; overflow-wrap: anywhere;
}

.guess-summary-chip-row{
  display: flex; flex-wrap: wrap; gap: 8px;
  max-width: 100%; min-width: 0;
}

.guess-summary-chip-row .report-keyword{
  max-width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere;
}

.guess-paid-cta{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  gap: 5px;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px 16px;
  background: var(--surface-container);
  color: var(--brand-strong);
  font: inherit;
  cursor: pointer;
  overflow-wrap: anywhere;
  box-shadow: 0 10px 24px rgba(13, 110, 253, 0.08);
  transition: transform var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.guess-paid-cta:hover,
.guess-paid-cta:focus-visible{
  transform: translateY(-1px); border-color: #0d6efd; background: var(--line); box-shadow: 0 14px 30px rgba(13, 110, 253, 0.13);
}

.guess-paid-cta strong{
  color: var(--brand-strong); font-size: 14px; font-weight: 900;
}

.guess-paid-cta span{
  color: var(--brand-strong); font-size: 12px; font-weight: 800;
}

.guess-actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 100%;
  min-width: 0;
}

.guess-actions .button{
  max-width: 100%; min-width: min(100%, 190px); text-align: center;
  white-space: normal; overflow-wrap: anywhere;
}

.guess-card-empty,
.guess-card-loading{ text-align: center; }

.guess-card-empty .button{ margin-top: 20px; }

@media (max-width: 640px){
:is(.guess-card, .guess-summary){
  border-radius: 24px; padding: 18px;
}

.guess-animal-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .guess-summary-head,
.guess-summary-row-head{
  display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start;
}

.guess-summary-row-head span{ white-space: normal; }

.guess-actions{
  display: grid; grid-template-columns: minmax(0, 1fr);
}

.guess-actions .button{
  width: 100%; min-width: 0;
}
}

/* B09 /compare/:compareId friend compare route */
.compare-page{
  width: min(100%, 1080px);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  display: grid;
  gap: 16px;
  color: #212529;
}

.compare-card{
  position: relative;
  overflow: hidden;
  max-width: 100%;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: clamp(20px, 4vw, 34px);
  box-shadow: 0 18px 42px rgba(13, 110, 253, 0.10), 0 8px 20px rgba(33, 37, 41, 0.06);
  overflow-wrap: anywhere;
}

.compare-card > *{
  max-width: 100%; min-width: 0;
}

.compare-card-head{
  display: grid; gap: 8px; margin-bottom: 18px; text-align: center;
}

.compare-card-head h3{
  margin: 0; color: #212529; font-size: clamp(1.45rem, 3.2vw, 2.2rem);
  line-height: 1.15; letter-spacing: -0.04em;
}

.compare-card-head p,
.compare-summary-text{
  margin: 0; color: #495057; line-height: 1.7;
  word-break: keep-all; overflow-wrap: anywhere;
}

.compare-artifact-card{ border-color: var(--line); }

.compare-artifact-privacy{
  justify-self: center;
  max-width: min(620px, 100%);
  min-width: 0;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-container);
  color: var(--brand-strong);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.compare-card-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

:is(.compare-side, .compare-middle){
  display: grid;
  align-content: start;
  gap: 14px;
  max-width: 100%;
  min-width: 0;
  border: 1px solid #dee2e6;
  border-radius: 24px;
  padding: clamp(18px, 3vw, 26px);
  background: #f8f9fa;
  overflow-wrap: anywhere;
}

.compare-middle{
  background: #fff; border-color: var(--line); box-shadow: inset 0 0 0 1px rgba(13, 110, 253, 0.05);
}

.compare-side-head{
  display: grid; justify-items: start; gap: 8px;
}

.compare-side-art{
  width: 76px;
  height: 76px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--surface-container);
}

.compare-side-head h3{
  margin: 0; color: #212529; font-size: clamp(1.1rem, 2.2vw, 1.55rem);
  line-height: 1.2; letter-spacing: -0.03em;
}

.compare-nickname{
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-width: 0;
  min-height: 30px;
  padding: 6px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-container);
  color: var(--brand-strong);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.compare-middle h4{
  margin: 0;
  color: #212529;
  font-size: clamp(1.08rem, 2.4vw, 1.55rem);
  line-height: 1.34;
  letter-spacing: -0.035em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.compare-keyword-section{
  display: grid; gap: 9px;
}

.compare-keyword-section > strong{
  color: var(--brand-strong); font-size: 13px; font-weight: 900; letter-spacing: -0.01em;
}

.compare-keyword-row{
  display: flex; flex-wrap: wrap; gap: 8px;
  max-width: 100%; min-width: 0;
}

.compare-keyword-row .report-keyword,
.compare-keyword{
  max-width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere;
}

.compare-keyword-empty{
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 11px;
  border: 1px dashed #ced4da;
  border-radius: 999px;
  background: #fff;
  color: #6c757d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.compare-cta-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  min-width: 0;
  margin-top: 4px;
}

.compare-cta-row .button{
  max-width: 100%; min-width: min(100%, 178px); text-align: center;
  white-space: normal; overflow-wrap: anywhere;
}

:is(.compare-recap-actions .button, .compare-invitation-actions .button){
  min-block-size: 44px;
  min-inline-size: 0;
  max-inline-size: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

.compare-paid-placeholder{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  gap: 4px;
  text-align: left;
  border: 1px dashed var(--line);
  border-radius: 18px;
  padding: 14px 16px;
  background: #f8f9fa;
  color: #495057;
  font: inherit;
  cursor: not-allowed;
  opacity: 0.86;
  overflow-wrap: anywhere;
}

.compare-paid-placeholder strong{
  color: #212529; font-size: 14px; font-weight: 900;
}

.compare-paid-placeholder span{
  color: #6c757d; font-size: 12px; font-weight: 800;
}

.compare-paid-placeholder.compare-paid-cta{
  border-style: solid;
  border-color: var(--line);
  background: var(--surface-container);
  color: var(--brand-strong);
  cursor: pointer;
  opacity: 1;
  box-shadow: 0 10px 24px rgba(13, 110, 253, 0.08);
  transition: transform var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.compare-paid-placeholder.compare-paid-cta:hover,
.compare-paid-placeholder.compare-paid-cta:focus-visible{
  transform: translateY(-1px); border-color: #0d6efd; background: var(--line); box-shadow: 0 14px 30px rgba(13, 110, 253, 0.13);
}

.compare-paid-placeholder.compare-paid-cta strong{ color: var(--brand-strong); }

.compare-paid-placeholder.compare-paid-cta span{ color: var(--brand-strong); }

.compare-recap-card{
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 18px;
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #f8fbff;
  box-shadow: inset 0 0 0 1px rgba(13, 110, 253, 0.04);
  overflow-wrap: anywhere;
}

.compare-recap-copy{
  display: grid; gap: 7px; text-align: left;
}

.compare-recap-copy h4{
  margin: 0; color: #212529; font-size: clamp(1.14rem, 2.5vw, 1.6rem);
  line-height: 1.24; letter-spacing: -0.035em;
}
.compare-recap-copy p{
  margin: 0; color: #495057; line-height: 1.65;
  word-break: keep-all; overflow-wrap: anywhere;
}

.compare-recap-summary{
  display: grid;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
  padding: 14px 16px;
  border: 1px dashed var(--line);
  border-radius: 18px;
  background: #fff;
  overflow-wrap: anywhere;
}

.compare-recap-summary span,
.compare-recap-proof > span{
  color: var(--brand-strong); font-size: 12px; font-weight: 900; letter-spacing: -0.01em;
}

.compare-recap-summary strong{
  color: #212529; line-height: 1.45;
}

.compare-recap-proof-grid{
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
  max-width: 100%; min-width: 0;
}

.compare-recap-proof{
  display: grid;
  align-content: start;
  gap: 9px;
  max-width: 100%;
  min-width: 0;
  padding: 14px;
  border: 1px solid #dee2e6;
  border-radius: 18px;
  background: #fff;
  overflow-wrap: anywhere;
}

.compare-recap-proof strong{
  color: #212529; line-height: 1.3;
}

.compare-recap-actions{ justify-content: center; }

.compare-invitation-artifact{
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 18px;
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
  box-shadow: inset 0 0 0 1px rgba(13, 110, 253, 0.04);
  overflow-wrap: anywhere;
}

.compare-invitation-head{
  display: grid; gap: 7px; text-align: left;
}

.compare-invitation-head h4{
  margin: 0; color: #212529; font-size: clamp(1.12rem, 2.4vw, 1.55rem);
  line-height: 1.25; letter-spacing: -0.035em;
}

:is(.compare-invitation-head p, .compare-invitation-side p, .compare-fallback-note){
  margin: 0; color: #495057; line-height: 1.65;
  word-break: keep-all; overflow-wrap: anywhere;
}

.compare-invitation-pair{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  max-width: 100%;
  min-width: 0;
}

.compare-invitation-side{
  display: grid;
  align-content: start;
  gap: 9px;
  max-width: 100%;
  min-width: 0;
  padding: 16px;
  border: 1px solid #dee2e6;
  border-radius: 20px;
  background: #fff;
  overflow-wrap: anywhere;
}

.compare-invitation-side strong{
  color: #212529; font-size: 1.05rem; line-height: 1.25;
}

.compare-invitation-side span{
  display: inline-flex;
  justify-self: start;
  max-width: 100%;
  min-width: 0;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-container);
  color: var(--brand-strong);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  white-space: normal;
  overflow-wrap: anywhere;
}

.compare-invitation-vs{
  align-self: center;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-container);
  color: var(--brand-strong);
  font-weight: 1000;
}

.compare-invitation-summary{
  display: grid;
  gap: 9px;
  max-width: 100%;
  min-width: 0;
  padding: 14px 16px;
  border: 1px dashed var(--line);
  border-radius: 18px;
  background: #f8f9fa;
  text-align: left;
  overflow-wrap: anywhere;
}

.compare-invitation-summary span{
  color: var(--brand-strong); font-size: 12px; font-weight: 900; letter-spacing: -0.01em;
}

.compare-invitation-summary strong{
  color: #212529; line-height: 1.45;
}

.compare-invitation-actions,
.compare-fallback-actions{ justify-content: center; }

.compare-fallback-note{
  justify-self: center;
  max-width: min(640px, 100%);
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #f8fbff;
  color: var(--brand-strong);
  font-size: 13px;
  font-weight: 800;
}

.compare-card-empty{ text-align: center; }

.compare-card-empty .compare-cta-row{ justify-content: center; }

.compare-page-loading .compare-card::before{
  content: "";
  display: block;
  width: 42px;
  height: 4px;
  margin: 0 auto 18px;
  border-radius: 999px;
  background: #0d6efd;
  animation: publicSnapshotLoadingPulse 1.18s ease-in-out infinite;
}

@media (max-width: 900px){
.compare-card-grid{ grid-template-columns: minmax(0, 1fr); }

.compare-middle{ order: 3; }
}

@media (max-width: 640px){
.compare-card{
  border-radius: 24px; padding: 20px;
}

:is(.compare-side, .compare-middle){ border-radius: 20px; }

.compare-cta-row{
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch;
}

.compare-cta-row .button{
  width: 100%; min-width: 0;
}

.compare-recap-proof-grid{ grid-template-columns: minmax(0, 1fr); }

.compare-invitation-pair{ grid-template-columns: minmax(0, 1fr); }

.compare-invitation-vs{
  justify-self: center; transform: rotate(90deg);
}
}

body.public-route-fallback-mode #shareResultButton,
body.public-route-fallback-mode .share-url-inline,
body.public-route-fallback-mode #resultHeroCard,
body.public-route-fallback-mode .cta-fixed-bottom-v3,
body.public-route-fallback-mode #resultReportsMount,
body.public-route-fallback-mode #analysisStatusBlock,
.app-shell.public-route-fallback-mode #shareResultButton,
.app-shell.public-route-fallback-mode .share-url-inline,
.app-shell.public-route-fallback-mode #resultHeroCard,
.app-shell.public-route-fallback-mode .cta-fixed-bottom-v3,
.app-shell.public-route-fallback-mode #resultReportsMount,
.app-shell.public-route-fallback-mode #analysisStatusBlock{ display: none !important; }

/* I2141 deferred CSS split A segment 4: scoped paywall and payment overflow surfaces. */
/* =====================================================================
   H029 paywall/payment scoped overflow and tap-target owner
   Keeps checkout/provider and pending-payment chrome out of unrelated
   result/share/recovery rescue groups while preserving current mobile sizes.
   ===================================================================== */
:is(.report-pref-backdrop.payment-provider-backdrop, .report-pref-backdrop.paypal-checkout-backdrop) :is(.payment-provider-modal, .paypal-checkout-modal, .payment-provider-grid, .payment-provider-choice, .payment-provider-actions, .paypal-checkout-actions),
.paid-report-shell.payment-fulfillment-shell,
.payment-fulfillment-shell :is(.payment-pending-choice-card, .payment-pending-choice-actions),
.payment-pending-cancel-backdrop :is(.payment-pending-cancel-dialog, .payment-pending-cancel-actions){
  box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0; overflow-wrap: anywhere;
}

:is(.report-pref-backdrop.payment-provider-backdrop, .report-pref-backdrop.paypal-checkout-backdrop) :is(.payment-provider-choice, .payment-provider-actions .button, .paypal-checkout-actions .button),
.payment-fulfillment-shell .payment-pending-choice-actions .button,
.payment-pending-cancel-backdrop .payment-pending-cancel-actions .button{
  min-block-size: 44px;
  max-inline-size: 100%;
  min-inline-size: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

@supports not (height: 100dvh){
  :is(.report-pref-backdrop.payment-provider-backdrop, .report-pref-backdrop.paypal-checkout-backdrop) :is(.payment-provider-modal, .paypal-checkout-modal),
.payment-pending-cancel-backdrop .payment-pending-cancel-dialog{ max-block-size: calc(100vh - 1.5rem); }
}

@media (max-width: 480px){
  :is(.report-pref-backdrop.payment-provider-backdrop, .report-pref-backdrop.paypal-checkout-backdrop) :is(.payment-provider-grid, .payment-provider-actions, .paypal-checkout-actions),
.payment-fulfillment-shell .payment-pending-choice-actions,
.payment-pending-cancel-backdrop .payment-pending-cancel-actions{
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch;
}

  :is(.report-pref-backdrop.payment-provider-backdrop, .report-pref-backdrop.paypal-checkout-backdrop) :is(.payment-provider-choice, .payment-provider-actions .button, .paypal-checkout-actions .button),
.payment-fulfillment-shell .payment-pending-choice-actions .button,
.payment-pending-cancel-backdrop .payment-pending-cancel-actions .button{
  inline-size: 100%; width: 100%;
}
}

[data-regional-variant-surface],
.trust-preflight-body,
.onboarding-body[data-regional-variant-surface],
.scan-recovery-body[data-regional-variant-surface],
.scan-recovery-upload,
.scan-recovery-support{
  max-width: 100%;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.animal-type-static-section,
.animal-type-conversion-rail{
  box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0; overflow-wrap: anywhere;
}

.animal-type-static-cta,
.animal-type-static-link,
.animal-type-conversion-action{
  min-block-size: 44px;
  min-inline-size: 0;
  max-inline-size: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

/* H030 mobile radius ownership stays scoped to public social receiver surfaces. */
@media (max-width: 480px){
:is(.public-receiver-next-action-rail, .post-result-invite-compare){ border-radius: min(20px, 6vw); }
}

.scan-recovery-panel,
.scan-recovery-guide-grid,
.scan-recovery-guide,
.scan-recovery-quality,
.scan-recovery-upload,
.scan-recovery-support,
.scan-recovery-actions,
.paid-report-pending-shell,
.paid-report-action-strip,
.report-processing-action-strip,
.animal-type-conversion-rail,
.animal-type-conversion-actions{
  box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0; overflow-wrap: anywhere;
}

.scan-recovery-actions .button,
.paid-report-action-strip .button,
.paid-report-action-strip a.button,
.animal-type-conversion-action{
  min-block-size: 44px;
  max-inline-size: 100%;
  min-inline-size: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

.payment-pending-cancel-backdrop.hidden,
.payment-pending-cancel-backdrop[hidden],
.payment-pending-cancel-backdrop[aria-hidden="true"],
body:not(.is-payment-pending-cancel-open) .payment-pending-cancel-backdrop[aria-modal="true"]{
  display: none !important; visibility: hidden !important; pointer-events: none !important;
}

@supports not (height: 100dvh){
#globalMenuOverlay .global-menu-inner{ max-block-size: calc(100vh - 1.5rem); }
}

/* I2141 deferred CSS split A segment 5: paid report module and report-view surfaces. */
/* =====================================================================
   H028 paid report module/report-view CSS contract
   Scoped report-view chrome, recovery rails, master upload completion, and
   reopen/resume controls stay inside paid-report/report-view surfaces.
   ===================================================================== */
:is(body.paid-report-page-open, body.report-viewer-open) :is(.report-viewer-scroll, .paid-report-module-core, .paid-report-module-nav, .paid-report-module-stack, .paid-report-module-card, .paid-report-module-head, .paid-report-module-body, .paid-report-recovery-panel, .paid-report-recovery-actions, .private-report-reopen-rail, .private-report-reopen-card, .private-report-reopen-list, .private-report-reopen-actions, .master-resume-next-action-rail, .master-resume-next-action-meta, .master-resume-next-action-actions, .master-resume-next-action-primary-slot, .master-resume-next-action-secondary, .master-upload-completion-nudge, .master-upload-completion-nudge-actions, .master-workbench-shell, .returning-session-lifecycle-nudge, .returning-session-lifecycle-actions){
  box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0; overflow-wrap: anywhere;
}

:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-topbar{
  box-sizing: border-box; min-inline-size: 0; max-inline-size: 100%;
}

:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-topbar > *{ min-inline-size: 0; }

:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-menu-button.global-menu-button{
  flex: 0 0 auto; min-inline-size: 44px; min-block-size: 44px;
}

:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-top-actions :is([data-report-viewer-home], [data-report-viewer-account], [data-report-viewer-close], .report-viewer-menu-button){
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 0;
  min-block-size: 44px;
  max-inline-size: 100%;
  pointer-events: auto;
  visibility: visible;
  touch-action: manipulation;
}

:is(body.paid-report-page-open, body.report-viewer-open) :is(.paid-report-recovery-actions .button, .paid-report-recovery-actions a.button, .private-report-reopen-actions .button, .private-report-reopen-actions a.button, .master-resume-next-action-actions .button, .master-resume-next-action-actions a.button, .master-upload-completion-nudge-actions .button, .master-workbench-actions .button, .returning-session-lifecycle-dismiss, .returning-session-lifecycle-actions .button, .returning-session-lifecycle-actions a.button){
  min-block-size: 44px;
  min-inline-size: 0;
  max-inline-size: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

@media (max-width: 720px){
:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-topbar{
  gap: 0.45rem; overflow-x: hidden;
}

:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-title{
  flex: 1 1 0; min-inline-size: 0; max-inline-size: 100%;
}

:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-title strong{ max-inline-size: 100%; }

:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-top-actions{
  flex: 0 1 auto; flex-shrink: 1; min-inline-size: 0; max-inline-size: min(58vw, 13.5rem);
}

:is(body.paid-report-page-open, body.report-viewer-open) .report-viewer-top-actions :is([data-report-viewer-home], [data-report-viewer-account]){
  flex: 1 1 0; max-inline-size: 4.8rem;
}
}

@media (max-width: 480px){
:is(body.paid-report-page-open, body.report-viewer-open) :is(.paid-report-recovery-actions, .private-report-reopen-actions, .master-resume-next-action-secondary, .master-upload-completion-nudge-actions, .returning-session-lifecycle-actions){
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch;
}

:is(body.paid-report-page-open, body.report-viewer-open) :is(.paid-report-recovery-actions .button, .paid-report-recovery-actions a.button, .private-report-reopen-actions .button, .master-resume-next-action-actions .button, .returning-session-lifecycle-actions .button){
  inline-size: 100%; width: 100%;
}

:is(body.paid-report-page-open, body.report-viewer-open) :is(.paid-report-recovery-panel, .private-report-reopen-rail, .master-resume-next-action-rail, .returning-session-lifecycle-nudge){ border-radius: min(20px, 6vw); }
}

/* I2141 deferred CSS split A segment 6: late result, social, paid-preview, and paid-report refinements. */
/* I327 friend/social loop retention: compact free result keeps a secondary public-card invite. */
#doneScreen.free-result-compact-surface .viral-cta-block--compact{
  grid-template-columns: minmax(0, 1fr); padding: 10px; border-radius: 22px;
}

#doneScreen.free-result-compact-surface .viral-cta-card--compact{
  grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: 10px; padding: 14px;
}

#doneScreen.free-result-compact-surface .viral-cta-card--compact > .viral-cta-copy:first-child{ grid-column: 1 / -1; }

#doneScreen.free-result-compact-surface .viral-cta-actions{
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0;
}

#doneScreen.free-result-compact-surface .viral-cta-actions .viral-cta-button{
  grid-column: auto; inline-size: 100%; max-inline-size: 100%; min-height: 36px;
}

#doneScreen.free-result-compact-surface .viral-cta-card--compact.is-disabled .viral-cta-button,
#doneScreen.free-result-compact-surface .viral-cta-actions .viral-cta-button.is-disabled{
  border-color: rgba(33, 37, 41, 0.10); background: rgba(255, 255, 255, 0.92); color: var(--text-faint, #6c757d);
}

@media (max-width: 420px){
#doneScreen.free-result-compact-surface .viral-cta-actions{ grid-template-columns: minmax(0, 1fr); }
}

#doneScreen.free-result-compact-surface #resultAuraRadar{ display: grid; }

#doneScreen.free-result-compact-surface #resultTypeAtlas{ display: block; }

#doneScreen.free-result-compact-surface #resultTypeAtlas .faces64-atlas{ gap: 12px; }

#doneScreen.free-result-compact-surface #resultTypeAtlas .faces64-atlas-head{ gap: 8px; }

#doneScreen.free-result-compact-surface #resultTypeAtlas .faces64-atlas-title{ font-size: 18px; }

#doneScreen.free-result-compact-surface #resultTypeAtlas .faces64-atlas-hint{ font-size: 12px; }

#doneScreen.free-result-compact-surface #resultTypeAtlas .faces64-detail-note{
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

#doneScreen.free-result-compact-surface #resultTypeAtlas .face16-detail-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

#doneScreen.free-result-compact-surface #resultTypeAtlas .face16-detail-tags::-webkit-scrollbar{ display: none; }

#doneScreen.free-result-compact-surface .cta-utility-row{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

#doneScreen.free-result-compact-surface .cta-utility-row #downloadButton{ display: inline-flex !important; }

#doneScreen.free-result-compact-surface .cta-utility-row #downloadAnalysisButton{ display: none !important; }

@media (max-width: 760px){
#doneScreen.free-result-compact-surface .result-collectible-grid{
  grid-template-columns: 1fr; gap: 14px;
}

#doneScreen.free-result-compact-surface .collectible-portrait-shell{ min-height: clamp(220px, 72vw, 320px); }
}

/* I335 mobile density: preserve core free-result surfaces while fitting hero + first action above fold. */
#doneScreen.free-result-compact-surface{
  overflow-x: hidden; overflow-y: auto;
}

#doneScreen.free-result-compact-surface .result-stage-v3{ align-content: start; }

@media (max-width: 760px){
#doneScreen.free-result-compact-surface .result-stage-v3{
  gap: 10px; padding-top: calc(66px + var(--safe-top)); padding-right: calc(12px + var(--safe-right));
  padding-bottom: calc(24px + var(--safe-bottom)); padding-left: calc(12px + var(--safe-left));
}

#doneScreen.free-result-compact-surface .result-header-v3{ gap: 8px; }

#doneScreen.free-result-compact-surface .result-header-copy{
  display: grid; gap: 6px; max-width: 100%;
}

#doneScreen.free-result-compact-surface #doneTitle{
  margin: 0; font-size: clamp(23px, 7vw, 31px); line-height: 1.08;
}

  #doneScreen.free-result-compact-surface #doneSummary{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--text-soft);
    font-size: 14px;
    line-height: 1.45;
  }

#doneScreen.free-result-compact-surface .result-hero-panel-v3{
  gap: 10px; padding: 12px; border-radius: 20px;
}

#doneScreen.free-result-compact-surface .result-card-meta-row{ gap: 6px; }

#doneScreen.free-result-compact-surface .result-badge-row{
  gap: 6px; max-height: 32px; overflow: hidden;
}

#doneScreen.free-result-compact-surface .result-collectible-grid{
  grid-template-columns: minmax(116px, 0.45fr) minmax(0, 0.55fr); align-items: center; gap: 10px;
}

  #doneScreen.free-result-compact-surface .collectible-badge-art,
#doneScreen.free-result-compact-surface .collectible-copy{ gap: 8px; }

#doneScreen.free-result-compact-surface .collectible-portrait-shell{ min-height: clamp(142px, 42vw, 208px); }

#doneScreen.free-result-compact-surface .collectible-copy .panel-label{
  font-size: 11px; line-height: 1.2;
}

#doneScreen.free-result-compact-surface .result-title{
  font-size: clamp(20px, 6vw, 27px); line-height: 1.08;
}

  #doneScreen.free-result-compact-surface .result-desc,
#doneScreen.free-result-compact-surface .result-quote{
  display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
}

#doneScreen.free-result-compact-surface .result-desc{
  -webkit-line-clamp: 2; font-size: 13px; line-height: 1.45;
}

#doneScreen.free-result-compact-surface .result-quote{
  -webkit-line-clamp: 2; padding: 10px 12px; font-size: 12px; line-height: 1.4;
}

#doneScreen.free-result-compact-surface .result-tag-row{
  flex-wrap: wrap; gap: 6px; max-width: 100%;
  min-width: 0; overflow: visible;
}

  #doneScreen.free-result-compact-surface .result-tag{
    max-width: 100%;
    min-width: 0;
    min-height: 28px;
    padding: 4px 9px;
    font-size: 11px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
  }

#doneScreen.free-result-compact-surface .result-type-mode-row{ gap: 6px; }

  #doneScreen.free-result-compact-surface .result-type-mode-row .mode-pill,
#doneScreen.free-result-compact-surface .result-type-mode-row .confidence-pill{
  min-height: 28px; padding: 5px 9px; font-size: 11px;
}

  #doneScreen.free-result-compact-surface .module-strip{
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

#doneScreen.free-result-compact-surface .module-strip::-webkit-scrollbar{ display: none; }

#doneScreen.free-result-compact-surface .module-blob{
  flex: 0 0 128px; min-height: 84px; padding: 10px; scroll-snap-align: start;
}

#doneScreen.free-result-compact-surface .free-report-compact-shell{ gap: 12px; }

  #doneScreen.free-result-compact-surface #resultTypeAtlas,
#doneScreen.free-result-compact-surface .viral-cta-block--compact{ scroll-margin-top: calc(70px + var(--safe-top)); }
}

@media (max-width: 420px){
#doneScreen.free-result-compact-surface .result-stage-v3{
  gap: 9px; padding-top: calc(60px + var(--safe-top));
}

#doneScreen.free-result-compact-surface .result-collectible-grid{
  grid-template-columns: minmax(104px, 0.42fr) minmax(0, 0.58fr); gap: 8px;
}

#doneScreen.free-result-compact-surface .collectible-portrait-shell{ min-height: clamp(130px, 40vw, 172px); }

#doneScreen.free-result-compact-surface .result-animal-single-name{ font-size: clamp(16px, 5vw, 20px); }

#doneScreen.free-result-compact-surface .result-animal-single-signature{
  max-width: 100%; min-height: 24px; padding: 4px 8px; font-size: 11px;
}
}

/* =====================================================================
   I357 free-result card rhythm owner
   Scoped to #doneScreen result cards and immediate result-panel shells only.
   Public type, legal, scanner, payment, and paid-report surfaces are excluded
   by host selector rather than broad shared card selectors.
   ===================================================================== */
#doneScreen:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3,
#doneScreen:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell{ gap: 16px; }

#doneScreen:not(.is-paid-report-page) :is(.result-hero-panel.result-hero-panel-v3, #analysisResultPanels.result-panels-v3 > .result-story-card, #analysisResultPanels.result-panels-v3 > .viral-cta-block, #analysisResultPanels.result-panels-v3 > .post-result-invite-compare, #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > .result-story-card, #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > .viral-cta-block, #resultEvidenceTrustBlock.result-evidence-trust-block > .result-evidence-strip, #resultEvidenceTrustBlock.result-evidence-trust-block .result-certainty-band-card){
  background: #fff; background-image: none; border: 1px solid var(--line);
  border-radius: 12px; box-shadow: 0 14px 32px rgba(13, 110, 253, 0.08), 0 8px 20px rgba(33, 37, 41, 0.06);
}

#doneScreen:not(.is-paid-report-page) :is(.result-hero-panel.result-hero-panel-v3, #analysisResultPanels.result-panels-v3 > .result-story-card, #analysisResultPanels.result-panels-v3 > .viral-cta-block, #analysisResultPanels.result-panels-v3 > .post-result-invite-compare, #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > .result-story-card, #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > .viral-cta-block, #resultEvidenceTrustBlock.result-evidence-trust-block > .result-evidence-strip, #resultEvidenceTrustBlock.result-evidence-trust-block .result-certainty-band-card){
  gap: 16px; padding: 16px;
}

#doneScreen:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 :is(.viral-cta-card, .result-evidence-card){
  background: #f8f9fa; background-image: none; border: 1px solid var(--line);
  border-radius: 12px; box-shadow: none;
}

@media (max-width: 760px){
  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell{ gap: 12px; }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) :is(.result-hero-panel.result-hero-panel-v3, #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > .result-story-card, #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > .viral-cta-block, #resultEvidenceTrustBlock.result-evidence-trust-block > .result-evidence-strip, #resultEvidenceTrustBlock.result-evidence-trust-block .result-certainty-band-card){
  gap: 12px; padding: 12px; border-radius: 12px;
}
}

/* =====================================================================
   I295 public type compact mobile document owner
   The dedicated public type route uses normal document flow and one scoped
   result-card presentation. Root application screens retain their fixed
   viewport, absolute-screen, card, scanner, result, payment, and report CSS.
   ===================================================================== */
body.public-type-page{
  overflow-x: visible; overflow-y: auto;
}

body.public-type-page .app-shell{
  width: 100%; min-height: 0; height: auto;
  max-height: none; overflow: visible;
}

body.public-type-page #landingScreen{
  position: relative;
  inset: auto;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
  overscroll-behavior: auto;
}

body.public-type-page [data-public-type-shell]::before,
body.public-type-page [data-public-type-shell]::after{ display: none; }

body.public-type-page [data-public-type-header]{
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: 100%;
  min-height: 0;
  padding:
    calc(10px + var(--safe-top))
    calc(16px + var(--safe-right))
    6px
    calc(16px + var(--safe-left));
}

body.public-type-page [data-public-type-content] .landing-shell{
  width: min(760px, 100%);
  min-height: 0;
  padding:
    4px
    calc(16px + var(--safe-right))
    calc(24px + var(--safe-bottom))
    calc(16px + var(--safe-left));
  gap: 16px;
  align-content: start;
}

body.public-type-page [data-public-type-content] .landing-shell > picture:first-child,
body.public-type-page [data-public-type-content] .landing-top-row{ display: none; }

body.public-type-page .animal-type-static-section{
  width: 100%;
  margin: 0 auto;
  padding: 0;
  gap: 16px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

body.public-type-page [data-public-type-result-card]{
  width: 100%;
  margin: 0;
  padding: 18px;
  gap: 0;
  overflow: visible;
  border: 1px solid #d6e3f3;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(33, 37, 41, 0.08);
}

body.public-type-page [data-public-type-result-card] .result-collectible-grid{
  grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start;
}

body.public-type-page [data-public-type-result-card] .result-animals-hero.result-animals-hero-single{
  height: auto; min-height: 0; grid-template-rows: auto auto;
  align-content: start; gap: 7px;
}

body.public-type-page [data-public-type-result-card] .result-animals-hero-kicker{
  color: var(--brand-strong) !important; font-size: 13px; font-weight: 850;
  line-height: 1.2; letter-spacing: 0.04em;
}

body.public-type-page [data-public-type-result-card] .result-animal-single-art{
  width: clamp(198px, 64vw, 260px); min-width: 0; max-width: 100%;
}

body.public-type-page [data-public-type-result-card] .result-animal-single-art .animal-illustration-result-hero{
  width: 100%; max-width: none;
}

body.public-type-page [data-public-type-result-card] .result-animal-single-art .animal-illustration-image{
  width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain;
}

body.public-type-page [data-public-type-result-card] .result-animal-single-name{ display: none; }

body.public-type-page [data-public-type-result-card] .animal-type-static-copy{
  gap: 12px; justify-items: stretch; text-align: left;
}

body.public-type-page [data-public-type-result-card] .animal-type-static-copy h1{
  max-width: 18ch; margin: 0; font-size: clamp(28px, 8.2vw, 34px);
  line-height: 1.14; letter-spacing: -0.04em;
}

body.public-type-page [data-public-type-result-card] [data-public-type-summary]{
  max-width: 60ch; color: var(--text-soft); font-size: 15px;
  line-height: 1.62; text-align: left;
}

body.public-type-page [data-public-type-result-card] .animal-type-static-keywords{
  justify-items: start; gap: 0; text-align: left;
}

body.public-type-page [data-public-type-result-card] .animal-type-static-keywords div{
  justify-content: flex-start; gap: 6px;
}

body.public-type-page [data-public-type-result-card] .animal-type-static-keywords span{
  min-height: 28px; padding: 4px 9px; background: #f8fafc;
  font-size: 12px; line-height: 1.25;
}

body.public-type-page [data-public-type-result-card] .animal-type-static-cta{
  width: 100%;
  min-height: 52px;
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.35;
}

body.public-type-page .animal-type-static-related{
  gap: 8px; justify-items: start; text-align: left;
}

body.public-type-page .animal-type-static-related strong{
  color: var(--text-muted, var(--text-soft)); font-size: 12px; font-weight: 800; line-height: 1.35;
}

body.public-type-page .animal-type-static-related div{
  display: flex; flex-wrap: wrap; justify-content: flex-start;
  gap: 6px; width: 100%;
}

body.public-type-page .animal-type-static-related .animal-type-static-link{
  width: auto;
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 999px;
  background: transparent;
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 700;
}

body.public-type-page [data-public-type-footer]{
  width: 100%; margin: 0 auto; padding-top: 16px; border-top: 1px solid var(--line);
}

body.public-type-page [data-public-type-footer] .app-menu-card{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.public-type-page [data-public-type-footer] .app-menu-card > span{
  flex: 1 0 100%; text-align: center; font-size: 10px; line-height: 1.3;
}

body.public-type-page [data-public-type-footer] .app-menu-link{
  width: auto;
  min-height: 40px;
  padding: 0 10px;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 359px){
body.public-type-page [data-public-type-header]{
  padding-right: calc(12px + var(--safe-right)); padding-left: calc(12px + var(--safe-left));
}

body.public-type-page [data-public-type-content] .landing-shell{
  padding-right: calc(12px + var(--safe-right)); padding-left: calc(12px + var(--safe-left));
}

body.public-type-page [data-public-type-result-card]{ padding: 16px; }

body.public-type-page [data-public-type-result-card] .result-animal-single-art{ width: clamp(196px, 65vw, 214px); }
}

@media (min-width: 700px){
body.public-type-page [data-public-type-header]{
  padding-right: calc(24px + var(--safe-right)); padding-left: calc(24px + var(--safe-left));
}

body.public-type-page [data-public-type-content] .landing-shell{
  padding-right: calc(24px + var(--safe-right)); padding-left: calc(24px + var(--safe-left));
}

body.public-type-page [data-public-type-result-card]{
  padding: 24px; border-radius: 28px;
}

body.public-type-page [data-public-type-result-card] .result-collectible-grid{
  grid-template-columns: minmax(250px, 0.9fr) minmax(0, 1.1fr); gap: 28px; align-items: center;
}

body.public-type-page [data-public-type-result-card] .result-animals-hero.result-animals-hero-single{ align-content: center; }

body.public-type-page [data-public-type-result-card] .result-animal-single-art{ width: min(100%, 280px); }

body.public-type-page [data-public-type-result-card] .animal-type-static-copy h1{ font-size: 34px; }

body.public-type-page [data-public-type-result-card] [data-public-type-summary]{ font-size: 16px; }
}

/* I358 free-result button system owner: normalize share/copy/save/rescan/social/paid CTA controls. */
#doneScreen:not(.is-paid-report-page) :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #restartButton.button-secondary, #downloadButton.button-secondary, #downloadAnalysisButton.button-secondary, .result-quality-action-button, .post-result-invite-button, .viral-cta-button, #buyPremiumButton.button-upgrade-primary, #buyMasterButton.button-upgrade-secondary){
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-block-size: 44px;
  padding: 0 16px;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  background: #fff;
  color: #212529;
  box-shadow: none;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

#doneScreen:not(.is-paid-report-page) :is(#shareResultButton.button-share, #buyPremiumButton.button-upgrade-primary){
  border-color: #0d6efd; background: #0d6efd; color: #fff; box-shadow: 0 12px 26px rgba(13, 110, 253, 0.16);
}

#doneScreen:not(.is-paid-report-page) :is(#shareResultButton.button-share, #buyPremiumButton.button-upgrade-primary):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  border-color: var(--brand-strong); background: var(--brand); color: #fff; box-shadow: 0 12px 26px rgba(13, 110, 253, 0.18);
}

#doneScreen:not(.is-paid-report-page) :is(#downloadButton.button-secondary, #restartButton.button-secondary, #downloadAnalysisButton.button-secondary, .result-quality-action-button, .post-result-invite-button, .viral-cta-button, #buyMasterButton.button-upgrade-secondary),
#doneScreen:not(.is-paid-report-page) .viral-cta-card.is-active .viral-cta-button:not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  border-color: var(--line); background: #fff; color: var(--brand-strong); box-shadow: none;
}

#doneScreen:not(.is-paid-report-page) .post-result-invite-button.button-primary:not(:disabled):not([aria-disabled="true"]){
  border-color: var(--line) !important; background: #fff !important; color: var(--brand-strong) !important; box-shadow: none !important;
}

#doneScreen:not(.is-paid-report-page) .post-result-invite-button.button-primary:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  border-color: var(--brand) !important; background: var(--surface-container) !important; color: var(--brand-strong) !important; box-shadow: 0 8px 18px rgba(13, 110, 253, 0.10) !important;
}

#doneScreen:not(.is-paid-report-page) :is(#downloadButton.button-secondary, #restartButton.button-secondary, #downloadAnalysisButton.button-secondary, .result-quality-action-button, .post-result-invite-button, .viral-cta-button, #buyMasterButton.button-upgrade-secondary):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.is-disabled),
#doneScreen:not(.is-paid-report-page) .viral-cta-card.is-active .viral-cta-button:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  border-color: var(--brand); background: var(--surface-container); color: var(--brand-strong); box-shadow: 0 8px 18px rgba(13, 110, 253, 0.10);
}

#doneScreen:not(.is-paid-report-page) :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #restartButton.button-secondary, #downloadButton.button-secondary, #downloadAnalysisButton.button-secondary, .result-quality-action-button, .post-result-invite-button, .viral-cta-button, #buyPremiumButton.button-upgrade-primary, #buyMasterButton.button-upgrade-secondary):focus-visible{
  outline: 2px solid rgba(13, 110, 253, 0.18); outline-offset: 2px;
}

#doneScreen:not(.is-paid-report-page) :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #restartButton.button-secondary, #downloadButton.button-secondary, #downloadAnalysisButton.button-secondary, .result-quality-action-button, .post-result-invite-button, .viral-cta-button, #buyPremiumButton.button-upgrade-primary, #buyMasterButton.button-upgrade-secondary):is(:disabled, [aria-disabled="true"], .is-disabled){
  border-color: var(--line) !important;
  background: #f8f9fa !important;
  color: var(--text-soft) !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 0.76;
  text-decoration: none;
}

/* I364 friend guess/compare UI normalization: public snapshot-only social loop card and action tokens. */
:is(.post-result-invite-compare, .viral-cta-card, .guess-card, .guess-summary, .compare-card, .compare-recap-card, .compare-invitation-artifact, .public-receiver-next-action-rail.receiver-first-action, .public-receiver-next-action-rail.receiver-first-action-inline){
  box-sizing: border-box;
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-wrap: anywhere;
  background: #fff;
  background-image: none;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 14px 32px rgba(13, 110, 253, 0.08), 0 8px 20px rgba(33, 37, 41, 0.06);
}

:is(.post-result-invite-compare, .viral-cta-card, .guess-card, .guess-summary, .compare-card, .compare-recap-card, .compare-invitation-artifact, .public-receiver-next-action-rail.receiver-first-action, .public-receiver-next-action-rail.receiver-first-action-inline) > *{ min-width: 0; }

:is(.post-result-invite-actions, .viral-cta-actions, .guess-actions, .compare-cta-row, .compare-recap-actions, .compare-invitation-actions, .public-receiver-next-action-grid){
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 10px; align-items: stretch;
}

:is(.post-result-invite-actions .post-result-invite-button, .viral-cta-actions .viral-cta-button, .viral-cta-card > .viral-cta-button, .guess-actions .button, .compare-cta-row .button, .compare-recap-actions .button, .compare-invitation-actions .button, .public-receiver-next-action-button){
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-block-size: 44px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--brand-strong);
  box-shadow: none;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

:is(.guess-actions .button-primary, .compare-cta-row .button-primary, .compare-recap-actions .button-primary, .compare-invitation-actions .button-primary, .public-receiver-next-action-button.button-primary):not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  border-color: var(--brand); background: var(--brand); color: #fff; box-shadow: 0 12px 26px rgba(13, 110, 253, 0.16);
}

:is(.guess-actions .button-primary, .compare-cta-row .button-primary, .compare-recap-actions .button-primary, .compare-invitation-actions .button-primary, .public-receiver-next-action-button.button-primary):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  border-color: var(--brand-strong); background: var(--brand-strong); color: #fff; box-shadow: 0 12px 26px rgba(13, 110, 253, 0.18);
}

:is(.post-result-invite-actions .post-result-invite-button, .viral-cta-actions .viral-cta-button, .viral-cta-card > .viral-cta-button, .guess-actions .button-secondary, .compare-cta-row .button-secondary, .compare-recap-actions .button-secondary, .compare-recap-actions .button-ghost, .compare-invitation-actions .button-secondary, .public-receiver-next-action-button.button-secondary):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  border-color: var(--brand); background: var(--brand-soft); color: var(--brand-strong); box-shadow: 0 8px 18px rgba(13, 110, 253, 0.10);
}

:is(.post-result-invite-actions .post-result-invite-button, .viral-cta-actions .viral-cta-button, .viral-cta-card > .viral-cta-button, .guess-actions .button, .compare-cta-row .button, .compare-recap-actions .button, .compare-invitation-actions .button, .public-receiver-next-action-button):is(:disabled, [aria-disabled="true"], [aria-busy="true"], .is-disabled){
  border-color: #dee2e6 !important;
  background: #f8f9fa !important;
  color: #6c757d !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 0.76;
  text-decoration: none;
}

:is(.post-result-invite-actions .post-result-invite-button, .viral-cta-actions .viral-cta-button, .viral-cta-card > .viral-cta-button, .guess-actions .button, .compare-cta-row .button, .compare-recap-actions .button, .compare-invitation-actions .button, .public-receiver-next-action-button):focus-visible{
  outline: 2px solid rgba(13, 110, 253, 0.18); outline-offset: 2px;
}

:is(.viral-cta-card.is-disabled, .compare-card.is-disabled, .guess-card.is-disabled) :is(.viral-cta-body, p){ color: #495057; }

@media (max-width: 640px){
:is(.post-result-invite-actions, .viral-cta-actions, .guess-actions, .compare-cta-row, .compare-recap-actions, .compare-invitation-actions, .public-receiver-next-action-grid){
  grid-template-columns: minmax(0, 1fr); gap: 8px;
}

:is(.post-result-invite-compare, .viral-cta-card, .guess-card, .guess-summary, .compare-card, .compare-recap-card, .compare-invitation-artifact, .public-receiver-next-action-rail.receiver-first-action, .public-receiver-next-action-rail.receiver-first-action-inline){ border-radius: 12px; }
}

/* =====================================================================
   I365 free-result paid expansion CTA boundary UI owner.
   Keep Premium/Master checkout semantics intact while separating the locked
   paid expansion from the free result card stack with approved blue tokens.
   ===================================================================== */

/* =====================================================================
   I359 free-result hero and representative animal card hierarchy.
   Scoped to the runtime #doneScreen hero only so public type SSR cards keep
   their dedicated data-public-type-result-card rules.
   ===================================================================== */
#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3{
  gap: clamp(12px, 2vw, 18px); padding: clamp(14px, 2.2vw, 20px); border-radius: 20px;
}

#doneScreen:not(.is-paid-report-page) #doneSummary{ max-width: 58ch; }

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid{
  grid-template-columns: minmax(220px, 0.74fr) minmax(0, 1.26fr); align-items: center; gap: clamp(14px, 2.5vw, 24px);
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .collectible-copy{
  align-content: center; gap: clamp(9px, 1.4vw, 13px);
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .collectible-portrait-shell.portrait-shell-animal-single{
  min-height: clamp(260px, 34vw, 380px);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #f8f9fa;
  box-shadow: none;
  overflow: hidden;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-hero-placeholder.result-hero-placeholder-animal-single{ padding: clamp(18px, 3vw, 30px); }

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-disclosure-copy{
  display: grid;
  gap: 4px;
  max-width: min(100%, 32ch);
  margin: 0 auto 6px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-disclosure-copy strong{
  color: inherit; font-size: 12px; font-weight: 850;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animals-hero.result-animals-hero-single{ gap: clamp(7px, 1.4vw, 12px); }

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animal-single-art{
  width: clamp(160px, 58%, 260px); min-width: 0;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animal-single-art .animal-illustration-result-hero{ max-inline-size: 260px; }

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animal-single-name{
  max-width: 18ch; font-size: clamp(19px, 2.5vw, 28px); line-height: 1.08;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animal-single-signature{ max-width: min(100%, 18ch); }

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .panel-label{ letter-spacing: 0.11em; }

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-title{
  max-width: 18ch; font-size: clamp(26px, 3.7vw, 38px); line-height: 1.06;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-desc{
  max-width: 54ch; color: var(--text-soft); font-size: 15px; line-height: 1.55;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-quote{
  padding: 12px 14px;
  border-color: var(--line);
  border-radius: 12px;
  background: #f8f9fa;
  color: #495057;
  font-size: 14px;
  line-height: 1.52;
  box-shadow: none;
}

@media (max-width: 860px){
#doneScreen:not(.free-result-compact-surface):not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid{ grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3{
  gap: 10px; padding: 12px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid{
  grid-template-columns: minmax(142px, 0.44fr) minmax(0, 0.56fr); gap: 12px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .collectible-portrait-shell.portrait-shell-animal-single{
  min-height: clamp(184px, 46vw, 236px); border-radius: 18px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-hero-placeholder.result-hero-placeholder-animal-single{ padding: 12px; }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animal-single-art{
  width: clamp(112px, 74%, 170px); min-width: 0;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animal-single-name{
  max-width: 100%; font-size: clamp(17px, 5vw, 22px);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-title{ font-size: clamp(20px, 6vw, 27px); }
}

@media (max-width: 420px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid{
  grid-template-columns: minmax(126px, 0.44fr) minmax(0, 0.56fr); gap: 10px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .collectible-portrait-shell.portrait-shell-animal-single{ min-height: clamp(164px, 45vw, 188px); }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animal-single-art{ width: clamp(104px, 76%, 138px); }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-animal-single-signature{ max-width: 100%; }
}

/* =====================================================================
   I361 free-result aura/balance graph UI owner.
   Keep the existing renderer and graph math; this layer only integrates the
   Korean compact free-result graph with the approved card/token system.
   ===================================================================== */
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > .result-story-card #resultAuraRadar{
  display: grid;
  justify-items: center;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-plot{
  width: min(100%, 360px); max-width: 360px; margin: 0 auto; padding: 2px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-axis-label{
  fill: rgba(33, 37, 41, 0.96); stroke: rgba(255, 255, 255, 0.96); stroke-width: 2.6px; font-size: 10px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-meta{
  width: min(100%, 48ch); gap: 6px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-meta strong{
  color: var(--text); font-size: 20px; line-height: 1.2;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-meta p,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-meta small{
  color: var(--text-soft); font-size: 13px; line-height: 1.5;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-legend{
  width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-chip{
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(13, 110, 253, 0.08), 0 8px 20px rgba(33, 37, 41, 0.06);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-chip span{
  color: var(--brand-strong); font-weight: 700;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-chip strong{
  color: var(--text); font-size: 20px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-chip small{
  color: var(--text-soft); font-size: 12px; line-height: 1.45;
}

@media (max-width: 520px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-plot{
  width: min(100%, 316px); max-width: 316px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultAuraRadar .aura-radar-legend{ grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
   I362 free-result 16-animal board UI restoration owner.
   Restore Korean compact result animal-board wrapping and interactive states
   without changing the renderer, taxonomy, public links, or animal assets.
   ===================================================================== */
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > .result-animal-board-card #resultTypeAtlas{
  display: block; width: 100%; max-width: 100%; min-width: 0;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas[data-atlas-mode="face16"] .face16-animal-board,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board{
  gap: 12px; width: 100%; max-width: 100%; min-width: 0;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-board{
  grid-template-columns: minmax(0, 1fr); gap: 12px; width: 100%;
  max-width: 100%; min-width: 0;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
  padding: 0;
  scroll-snap-type: none;
  scrollbar-width: auto;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-grid::-webkit-scrollbar{ display: initial; }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node{
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 0;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow);
  color: var(--text);
  scroll-snap-align: none;
  transform: none;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition), background-color var(--transition);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node:hover{
  border-color: var(--line); box-shadow: 0 16px 34px rgba(13, 110, 253, 0.10), 0 8px 20px rgba(33, 37, 41, 0.06); transform: translateY(-1px);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node:focus-visible{
  outline: 2px solid var(--brand); outline-offset: 3px; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node.is-active{
  border-color: var(--brand); background: #fff; box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.14), var(--shadow);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node.is-current-result:not(.is-active){
  border-color: var(--line); box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.10), var(--shadow);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node-core{
  width: 100%;
  height: 100%;
  padding: 8px 6px;
  gap: 4px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node-art,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .animal-illustration-node,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node-art .animal-illustration-picture{
  width: clamp(34px, 12vw, 46px); height: clamp(34px, 12vw, 46px); max-width: 68%;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node-name{
  display: block;
  max-width: 100%;
  color: var(--text);
  font-size: clamp(9px, 2.7vw, 11px);
  line-height: 1.15;
  font-weight: 800;
  overflow-wrap: anywhere;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node-current{
  top: 5px;
  right: 5px;
  padding: 3px 6px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 0 0 3px #fff;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-detail-card{
  padding: 14px;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(13, 110, 253, 0.08), 0 8px 20px rgba(33, 37, 41, 0.06);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-detail-head{
  gap: 10px; align-items: center;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-detail-badge{
  width: 60px; height: 60px; border-radius: 16px;
}

@media (max-width: 520px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-grid{ gap: 8px; }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node{ border-radius: 16px; }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node-core{ padding: 7px 5px; }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-detail-head{ align-items: flex-start; }
}

@media (max-width: 360px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-grid{ gap: 7px; }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node-current{
  top: 4px; right: 4px; padding: 2px 5px; font-size: 8px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node-name{ font-size: 8.5px; }
}

/* =====================================================================
   I366 legacy secondary navigation normalization.
   I1758 retires the former top-row rescan selectors; back/home actions stay
   reachable as quiet secondary navigation.
   ===================================================================== */
#onboardingScreen :is(.trust-preflight-actions #trustPreflightBackButton, .onboarding-actions #onboardingBackHomeButton, .onboarding-actions #onboardingPrevButton, .scan-recovery-actions #scanRecoveryBackButton, .scan-recovery-actions #scanRecoveryHomeButton){
  border-color: transparent;
  background: transparent;
  color: var(--text-soft);
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#onboardingScreen :is(.trust-preflight-actions #trustPreflightBackButton, .onboarding-actions #onboardingBackHomeButton, .onboarding-actions #onboardingPrevButton, .scan-recovery-actions #scanRecoveryBackButton, .scan-recovery-actions #scanRecoveryHomeButton):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.is-disabled){
  border-color: var(--line); background: var(--brand-soft); color: var(--brand-strong); box-shadow: none;
}

/* =====================================================================
   I367 privacy/quality/retry note UI minimization: required notices remain
   visible, but share reassurance and retake guidance use quiet note chrome.
   ===================================================================== */
#doneScreen:not(.is-paid-report-page) .share-privacy-badge-card{
  padding: 2px 0;
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  color: var(--text-soft);
  box-shadow: none;
  font-size: 0.72rem;
  line-height: 1.35;
}

#doneScreen:not(.is-paid-report-page) .share-privacy-badge-card strong{
  color: var(--text-soft); font-weight: 800;
}

#doneScreen:not(.is-paid-report-page) .share-privacy-badge-card span{ color: var(--text-soft); }

#doneScreen:not(.is-paid-report-page) .result-quality-guidance-panel[data-result-note-ui="quiet"]{
  gap: 0.38rem;
  padding: 10px 12px;
  border-color: var(--line);
  border-radius: 14px;
  background: #f8f9fa;
  color: var(--text-soft);
  box-shadow: none;
}

#doneScreen:not(.is-paid-report-page) .result-quality-guidance-panel[data-result-note-ui="quiet"] .result-quality-eyebrow{
  color: var(--text-soft); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.02em;
}

#doneScreen:not(.is-paid-report-page) .result-quality-guidance-panel[data-result-note-ui="quiet"] > strong{
  color: var(--text); font-size: 0.88rem; line-height: 1.32;
}

#doneScreen:not(.is-paid-report-page) .result-quality-guidance-panel[data-result-note-ui="quiet"] > p{
  color: var(--text-soft); font-size: 0.78rem; line-height: 1.42;
}

#doneScreen:not(.is-paid-report-page) .result-quality-guidance-panel[data-result-note-ui="quiet"] .result-quality-action-row{
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px;
}

#doneScreen:not(.is-paid-report-page) .result-quality-guidance-panel[data-result-note-ui="quiet"] .result-quality-action-button{
  width: auto;
  min-block-size: 44px;
  padding-inline: 12px;
  border-color: var(--line);
  background: #fff;
  color: var(--brand-strong);
  box-shadow: none;
  font-size: 0.76rem;
  font-weight: 800;
}

#doneScreen:not(.is-paid-report-page) .result-quality-guidance-panel[data-result-note-ui="quiet"] .result-quality-action-primary{ box-shadow: none; }

/* =====================================================================
   I371 result loading/skeleton/transition UI consistency owner.
   Keep scan completion, analysis loading, and free-result reveal states
   visually aligned without changing scanner or analytics logic.
   ===================================================================== */
#loadingScreen.screen-active .camera-warmup-shell,
#analysisJourneyScreen.screen-active .analysis-journey-shell{
  opacity: 1; transform: translateY(0); transition: opacity 180ms ease, transform 180ms ease;
}

#loadingScreen .camera-warmup-core,
#analysisJourneyScreen .analysis-journey-stage{
  background: #fff; border-color: var(--line); box-shadow: 0 14px 32px rgba(13, 110, 253, 0.08), 0 8px 20px rgba(33, 37, 41, 0.06);
}

#loadingScreen .loading-track,
#analysisJourneyScreen .loading-track{
  background: #e9ecef; border-color: #dee2e6; box-shadow: none;
}

#loadingScreen .loading-track span,
#analysisJourneyScreen .loading-track span{
  background: #0d6efd; transition: width 180ms ease;
}

#doneScreen.screen-active:not(.is-paid-report-page) .result-stage-v3{
  opacity: 1; transform: none; transition: opacity 180ms ease;
}

#doneScreen.screen-active:not(.is-paid-report-page) :is(#resultHeroCard, #analysisResultPanels, #resultEvidenceTrustBlock) .result-reveal-prep{
  opacity: 0; transform: translateY(8px); transition: opacity 180ms ease, transform 180ms ease;
}

#doneScreen.screen-active:not(.is-paid-report-page) :is(#resultHeroCard, #analysisResultPanels, #resultEvidenceTrustBlock) .result-reveal-prep.result-reveal-visible{
  opacity: 1; transform: translateY(0);
}

@media (prefers-reduced-motion: reduce){
  #loadingScreen.screen-active .camera-warmup-shell,
#analysisJourneyScreen.screen-active .analysis-journey-shell,
#doneScreen.screen-active:not(.is-paid-report-page) .result-stage-v3,
#doneScreen.screen-active:not(.is-paid-report-page) :is(#resultHeroCard, #analysisResultPanels, #resultEvidenceTrustBlock) .result-reveal-prep,
#doneScreen.screen-active:not(.is-paid-report-page) :is(#resultHeroCard, #analysisResultPanels, #resultEvidenceTrustBlock) .result-reveal-prep.result-reveal-visible{
  opacity: 1; transform: none; transition: none;
}

  #loadingScreen .loading-track span,
#analysisJourneyScreen .loading-track span{ transition: none; }

  #loadingScreen .camera-warmup-ring,
#analysisJourneyScreen .analysis-star{ animation: none; }
}

/* =====================================================================
   I368 mobile free-result spacing and one-column flow: safe-area padding,
   touch-safe actions, and no 360px horizontal overflow. Public type and
   scanner shells are intentionally not selected here.
   ===================================================================== */
#doneScreen.free-result-compact-surface:not(.is-paid-report-page),
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-stage-v3,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell{
  box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-stage-v3 > *,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > *,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > *{
  max-inline-size: 100%; min-inline-size: 0;
}

@media (max-width: 420px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page){ overflow-x: clip; }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-stage-v3{
    inline-size: 100%;
    max-inline-size: 100%;
    gap: 10px;
    padding-top: calc(60px + var(--safe-top));
    padding-right: calc(10px + var(--safe-right));
    padding-bottom: calc(30px + var(--safe-bottom));
    padding-left: calc(10px + var(--safe-left));
    overflow-x: clip;
  }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-header-v3,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell{
  grid-template-columns: minmax(0, 1fr); inline-size: 100%; max-inline-size: 100%; gap: 12px;
}

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-board,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .viral-cta-card--compact,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .post-result-invite-actions{ grid-template-columns: minmax(0, 1fr); }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .module-strip{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    overflow-x: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .module-blob{
  flex: initial; min-inline-size: 0; min-height: 84px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) :is(.result-card-meta-row, .result-badge-row, .result-tag-row, .result-type-mode-row){
  max-inline-size: 100%; min-inline-size: 0; overflow: visible;
}
}

@media (max-width: 360px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-stage-v3{
  padding-right: calc(8px + var(--safe-right)); padding-left: calc(8px + var(--safe-left));
}
}

/* =====================================================================
   I369 tablet/desktop free-result spacing and grid consistency.
   Smooth the compact free-result transitions around 600/768/1024px while
   preserving the mobile-first component hierarchy and product surfaces.
   ===================================================================== */
@media (min-width: 421px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page){ overflow-x: clip; }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-stage-v3{
    inline-size: 100%;
    max-inline-size: min(1120px, 100%);
    gap: clamp(12px, 1.5vw, 16px);
    padding-top: calc(clamp(68px, 8vw, 92px) + var(--safe-top));
    padding-right: calc(clamp(12px, 2.1vw, 22px) + var(--safe-right));
    padding-bottom: calc(clamp(28px, 3.4vw, 34px) + var(--safe-bottom));
    padding-left: calc(clamp(12px, 2.1vw, 22px) + var(--safe-left));
    overflow-x: clip;
  }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-header-v3,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell{
  inline-size: 100%; max-inline-size: 100%; min-inline-size: 0;
}

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell{
  grid-template-columns: minmax(0, 1fr); gap: clamp(12px, 1.5vw, 16px);
}

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #analysisResultPanels.result-panels-v3 > .free-report-compact-shell > *{ grid-column: 1 / -1; }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-board,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-grid,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .viral-cta-card--compact,
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .post-result-invite-actions{
  max-inline-size: 100%; min-inline-size: 0;
}
}

@media (min-width: 421px) and (max-width: 599px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid{
  grid-template-columns: minmax(0, 1fr); gap: 12px;
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .collectible-portrait-shell.portrait-shell-animal-single{ min-height: clamp(196px, 55vw, 280px); }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .module-strip{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow-x: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .module-blob{
  flex: initial; min-inline-size: 0;
}
}

@media (min-width: 600px) and (max-width: 1023px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid{
  grid-template-columns: minmax(188px, 0.78fr) minmax(0, 1.22fr); align-items: center; gap: clamp(12px, 2vw, 22px);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .collectible-portrait-shell.portrait-shell-animal-single{ min-height: clamp(220px, 36vw, 340px); }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .module-strip{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow-x: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .module-blob{
  flex: initial; min-inline-size: 0;
}
}

@media (min-width: 1024px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .result-collectible-grid{
  grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr); align-items: center; gap: clamp(18px, 2.1vw, 24px);
}

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .collectible-portrait-shell.portrait-shell-animal-single{ min-height: clamp(300px, 31vw, 380px); }

  #doneScreen.free-result-compact-surface:not(.is-paid-report-page) .module-strip{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    overflow-x: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .module-blob{
  flex: initial; min-inline-size: 0;
}
}

/* =====================================================================
   I370 focus/active/disabled accessibility state owner.
   Normalize visible keyboard focus, pressed feedback, and disabled/loading
   affordances for free-result controls without changing action semantics.
   ===================================================================== */
#doneScreen:not(.is-paid-report-page) :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #restartButton.button-secondary, #downloadButton.button-secondary, #downloadAnalysisButton.button-secondary, .result-quality-action-button, .post-result-invite-button, .viral-cta-button, #buyPremiumButton.button-upgrade-primary, #buyMasterButton.button-upgrade-secondary):focus-visible,
#doneScreen:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node:focus-visible,
:is(.post-result-invite-actions .post-result-invite-button, .viral-cta-actions .viral-cta-button, .viral-cta-card > .viral-cta-button, .guess-animal-button, .guess-actions .button, .guess-paid-cta, .compare-cta-row .button, .compare-recap-actions .button, .compare-invitation-actions .button, .compare-paid-placeholder.compare-paid-cta, .public-receiver-next-action-button):focus-visible{
  outline: 2px solid var(--brand); outline-offset: 3px; box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
}

#doneScreen:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node:is(.is-active, [aria-pressed="true"]){
  border-color: var(--brand); background: #fff; box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.14), var(--shadow);
}

#doneScreen:not(.is-paid-report-page) :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #restartButton.button-secondary, #downloadButton.button-secondary, #downloadAnalysisButton.button-secondary, .result-quality-action-button, .post-result-invite-button, .viral-cta-button, #buyPremiumButton.button-upgrade-primary, #buyMasterButton.button-upgrade-secondary):active:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-disabled),
#doneScreen:not(.is-paid-report-page) #resultTypeAtlas .face16-animal-board .faces64-mini-node:active:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-disabled),
:is(.post-result-invite-actions .post-result-invite-button, .viral-cta-actions .viral-cta-button, .viral-cta-card > .viral-cta-button, .guess-animal-button, .guess-actions .button, .guess-paid-cta, .compare-cta-row .button, .compare-recap-actions .button, .compare-invitation-actions .button, .compare-paid-placeholder.compare-paid-cta, .public-receiver-next-action-button):active:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-disabled){
  transform: translateY(1px); box-shadow: none;
}

#doneScreen:not(.is-paid-report-page) :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #restartButton.button-secondary, #downloadButton.button-secondary, #downloadAnalysisButton.button-secondary, .result-quality-action-button, .post-result-invite-button, .viral-cta-button, #buyPremiumButton.button-upgrade-primary, #buyMasterButton.button-upgrade-secondary):is(:disabled, [aria-disabled="true"], [aria-busy="true"], .is-disabled),
#doneScreen:not(.is-paid-report-page) :is(.viral-cta-card.is-disabled .viral-cta-button, .post-result-invite-button.is-disabled),
:is(.post-result-invite-actions .post-result-invite-button, .viral-cta-actions .viral-cta-button, .viral-cta-card > .viral-cta-button, .guess-animal-button, .guess-actions .button, .guess-paid-cta, .compare-cta-row .button, .compare-recap-actions .button, .compare-invitation-actions .button, .compare-paid-placeholder, .public-receiver-next-action-button):is(:disabled, [aria-disabled="true"], [aria-busy="true"], .is-disabled){
  border-color: #dee2e6 !important;
  background: #f8f9fa !important;
  color: #6c757d !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 0.76;
  transform: none;
  text-decoration: none;
}

/* =====================================================================
   I1662 static portrait hero: reserve one responsive square for the CDN
   portrait and keep the existing canonical illustration as a contained
   fallback. This remains scoped to the free-result hero.
   ===================================================================== */
#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-hero{
  --doubutsumoji-portrait-box-size: clamp(160px, 58%, 248px); max-inline-size: 100%; min-inline-size: 0; isolation: isolate;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-art{
  inline-size: var(--doubutsumoji-portrait-box-size);
  max-inline-size: 100%;
  min-inline-size: 0;
  aspect-ratio: 1;
  box-sizing: border-box;
  border-radius: 20px;
  background: #fff;
  contain: layout paint;
  overflow: hidden;
  line-height: 0;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-image,
#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-canonical-illustration,
#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-canonical-image{
  display: block;
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: 100%;
  max-block-size: 100%;
  box-sizing: border-box;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-image,
#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-canonical-image{
  object-fit: contain; object-position: center;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-image{
  color: transparent; font-size: 0;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-canonical-illustration{
  display: grid; place-items: center; padding: clamp(14px, 8%, 24px); background: #f8f9fa;
}

#doneScreen:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-canonical-image{ background: transparent; }

@media (max-width: 760px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-hero{ --doubutsumoji-portrait-box-size: clamp(112px, 74%, 170px); }
}

@media (max-width: 420px){
#doneScreen.free-result-compact-surface:not(.is-paid-report-page) .result-hero-panel.result-hero-panel-v3 .doubutsumoji-portrait-hero{ --doubutsumoji-portrait-box-size: clamp(104px, 76%, 138px); }
}

/* =====================================================================
   I1734 desktop personalized-preview surface.
   Keep the evidence hierarchy and every visual rule owned by the new
   preview root; no fixed result CTA, modal, or lower result selector enters.
   ===================================================================== */
.free-result-paid-preview{
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  min-inline-size: 0;
  max-inline-size: 100%;
  padding: clamp(18px, 2.2vw, 24px);
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  color: var(--text);
}

.free-result-paid-preview::before{
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 4px;
  background: var(--brand);
}

.free-result-paid-preview > *{ min-inline-size: 0; }

.free-result-paid-preview .free-result-paid-preview__header{
  display: grid; gap: 4px;
}

.free-result-paid-preview :is(.free-result-paid-preview__eyebrow, .free-result-paid-preview__heading, .free-result-paid-preview__reason, .free-result-paid-preview__section-title, .free-result-paid-preview__tip-title, .free-result-paid-preview__tip-body, .free-result-paid-preview__price-disclosure, .free-result-paid-preview__trust-line){ margin: 0; }

.free-result-paid-preview .free-result-paid-preview__eyebrow{
  color: var(--brand-strong); font-size: 12px; font-weight: 800;
  line-height: 1.35; letter-spacing: 0.06em;
}

.free-result-paid-preview .free-result-paid-preview__heading{
  color: var(--text);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.03em;
  overflow-wrap: anywhere;
}

.free-result-paid-preview .free-result-paid-preview__reason{
  max-inline-size: 78ch;
  color: var(--text);
  font-size: clamp(16px, 1.45vw, 18px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -0.015em;
  overflow-wrap: anywhere;
}

.free-result-paid-preview :is(.free-result-paid-preview__evidence-block, .free-result-paid-preview__tip, .free-result-paid-preview__locked){ min-inline-size: 0; }

.free-result-paid-preview .free-result-paid-preview__section-title,
.free-result-paid-preview .free-result-paid-preview__tip-title{
  color: var(--text-soft); font-size: 12px; font-weight: 800;
  line-height: 1.4; letter-spacing: 0.035em;
}

.free-result-paid-preview .free-result-paid-preview__evidence,
.free-result-paid-preview .free-result-paid-preview__locked-items{
  display: grid; gap: 8px; margin: 8px 0 0;
  padding: 0; list-style: none;
}

.free-result-paid-preview .free-result-paid-preview__evidence-item{
  position: relative;
  min-inline-size: 0;
  padding-inline-start: 17px;
  color: var(--text);
  font-size: 14px;
  line-height: 1.52;
  overflow-wrap: anywhere;
}

.free-result-paid-preview .free-result-paid-preview__evidence-item::before{
  content: "";
  position: absolute;
  inset-block-start: 0.62em;
  inset-inline-start: 2px;
  inline-size: 6px;
  block-size: 6px;
  border-radius: 50%;
  background: var(--brand);
}

.free-result-paid-preview .free-result-paid-preview__tip{
  align-self: stretch; padding: 14px 16px; border: 1px solid var(--line);
  border-radius: var(--radius-lg); background: var(--brand-soft);
}

.free-result-paid-preview .free-result-paid-preview__tip-title{ color: var(--brand-strong); }

.free-result-paid-preview .free-result-paid-preview__tip-body{
  margin-block-start: 6px; color: var(--text); font-size: 14px;
  line-height: 1.52; overflow-wrap: anywhere;
}

.free-result-paid-preview .free-result-paid-preview__locked{
  padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-soft);
}

.free-result-paid-preview .free-result-paid-preview__locked-item{
  min-inline-size: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-soft);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

.free-result-paid-preview .free-result-paid-preview__lock-icon{
  opacity: 0.72; font-size: 12px;
}

.free-result-paid-preview :is(.free-result-paid-preview__price-disclosure, .free-result-paid-preview__trust-line){
  color: var(--text-soft); font-size: 12px; line-height: 1.45;
  text-align: center; overflow-wrap: anywhere;
}

@media (min-width: 960px){
  .free-result-paid-preview{
    grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
    grid-template-areas:
      "header header"
      "reason reason"
      "evidence tip"
      "locked actions"
      "locked price"
      "locked trust";
    column-gap: 20px;
    row-gap: 12px;
    padding: 22px 24px;
  }

.free-result-paid-preview .free-result-paid-preview__header{ grid-area: header; }

.free-result-paid-preview .free-result-paid-preview__reason{ grid-area: reason; }

.free-result-paid-preview .free-result-paid-preview__evidence-block{
  grid-area: evidence; align-self: stretch;
}

.free-result-paid-preview .free-result-paid-preview__tip{ grid-area: tip; }

.free-result-paid-preview .free-result-paid-preview__locked{ grid-area: locked; }

.free-result-paid-preview .free-result-paid-preview__locked-items{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

.free-result-paid-preview .free-result-paid-preview__actions{
  grid-area: actions; align-self: end;
}

.free-result-paid-preview .free-result-paid-preview__price-disclosure{ grid-area: price; }

.free-result-paid-preview .free-result-paid-preview__trust-line{ grid-area: trust; }
}

@media (max-width: 640px){
.free-result-paid-preview{
  gap: 12px; padding: 16px;
}

.free-result-paid-preview::before{ inline-size: 3px; }

.free-result-paid-preview .free-result-paid-preview__heading{ font-size: 21px; }
}

/* =====================================================================
   I1768 final-result paid CTA hierarchy owner.
   Premium remains the single filled purchase action; Master stays in the
   same checkout flow as a compact comparison link below it.
   ===================================================================== */
#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"]{
  grid-template-columns: minmax(0, 1fr); justify-items: stretch; gap: 6px;
}

#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"] > #buyPremiumButton[data-result-paid-cta-priority="primary"]{
  justify-self: stretch;
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 56px;
  min-height: 56px;
  padding-inline: 20px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
}

#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"] > #buyMasterButton[data-result-paid-cta-priority="secondary"]{
  justify-self: center;
  inline-size: fit-content;
  min-inline-size: 0;
  max-inline-size: min(100%, 34ch);
  min-block-size: 44px;
  min-height: 44px;
  padding: 6px 8px;
  border: 0 !important;
  background: transparent !important;
  color: var(--brand-strong) !important;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: normal;
  overflow-wrap: anywhere;
}

#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"] > #buyMasterButton[data-result-paid-cta-priority="secondary"]:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-disabled){
  border-color: transparent !important; background: var(--brand-soft) !important; color: var(--brand-strong) !important; box-shadow: none !important;
}

#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"] > #buyMasterButton[data-result-paid-cta-priority="secondary"]:focus-visible{
  outline: 2px solid var(--brand); outline-offset: 3px;
}

#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"] > #buyMasterButton[data-result-paid-cta-priority="secondary"]:is(:disabled, [aria-disabled="true"], [aria-busy="true"], .is-disabled){
  border-color: transparent !important;
  background: transparent !important;
  color: var(--text-soft) !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 0.76;
  text-decoration: none;
  transform: none;
}

#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"] > :is(.cta-utility-row, .local-price-disclosure){ grid-column: 1 / -1; }

@media (max-width: 640px){
#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"]{ gap: 4px; }

#doneScreen:not(.is-paid-report-page) .cta-stack-result-v3[data-result-paid-cta-hierarchy="premium-primary-master-secondary"] > #buyMasterButton[data-result-paid-cta-priority="secondary"]{
  max-inline-size: min(100%, 32ch); min-block-size: 48px; min-height: 48px;
}
}

/* =====================================================================
   I1724 personalized paid-preview action hierarchy.
   Premium owns the full-width purchase action; Master stays reachable as a
   compact five-photo comparison path. Fixed lower result CTAs are untouched.
   ===================================================================== */
.free-result-paid-preview__actions{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch;
  gap: 6px;
  min-inline-size: 0;
  margin-block-start: 0;
}

.free-result-paid-preview__action--premium{
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 52px;
  padding-inline: 20px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
}

.free-result-paid-preview__action--master{
  justify-self: center;
  inline-size: fit-content;
  min-inline-size: 0;
  max-inline-size: min(100%, 34ch);
  min-block-size: 44px;
  min-height: 44px;
  padding: 6px 8px;
  background: transparent !important;
  border: 0 !important;
  color: var(--brand-strong) !important;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.free-result-paid-preview__action--master:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible){
  background: var(--brand-soft) !important; border-color: transparent !important; color: var(--brand-strong) !important; box-shadow: none !important;
}

.free-result-paid-preview__action--master:is(:disabled, [aria-disabled="true"], .is-disabled){
  background: transparent !important; border-color: transparent !important; color: var(--text-soft) !important;
  box-shadow: none !important; text-decoration: none;
}

/* =====================================================================
   I1725 personalized paid-preview accessibility semantics and focus.
   Keep native document order, visible keyboard focus, decorative lock icons,
   and reduced-motion behavior scoped to the preview component.
   ===================================================================== */
.free-result-paid-preview__locked-item{
  display: flex; align-items: flex-start; gap: 8px; min-inline-size: 0;
}

.free-result-paid-preview__lock-icon{
  flex: 0 0 auto; line-height: 1.4;
}

.free-result-paid-preview__locked-item-text{
  min-inline-size: 0; overflow-wrap: anywhere;
}

.free-result-paid-preview__action:focus-visible{
  outline: 2px solid var(--brand); outline-offset: 3px; box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
}

@media (prefers-reduced-motion: reduce){
  .free-result-paid-preview,
  .free-result-paid-preview *,
  .free-result-paid-preview *::before,
.free-result-paid-preview *::after{
  animation: none !important; scroll-behavior: auto !important; transition: none !important;
}
}

/* =====================================================================
   I1735 mobile paid-preview layout and fixed-action coexistence.
   Preserve the personalized proof while keeping 390–430px viewports
   shrink-safe, commercially stable during late binding, and scrollable
   clear of the persistent result action stack.
   ===================================================================== */
@media (max-width: 959px){
#doneScreen.screen-scroll{
  --paid-preview-mobile-action-clearance: calc(196px + var(--safe-bottom)); scroll-padding-block-end: var(--paid-preview-mobile-action-clearance);
}

  .free-result-paid-preview{
    --paid-preview-mobile-action-clearance: calc(196px + var(--safe-bottom));
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "header"
      "reason"
      "evidence"
      "tip"
      "locked"
      "actions"
      "price"
      "trust";
    gap: 9px;
    padding: 14px;
  }

  .free-result-paid-preview::after{
    content: "";
    grid-area: price;
    min-inline-size: 0;
    min-block-size: 34px;
    visibility: hidden;
    pointer-events: none;
  }

.free-result-paid-preview .free-result-paid-preview__header{
  grid-area: header; grid-template-columns: minmax(0, 1fr); gap: 2px;
}

.free-result-paid-preview .free-result-paid-preview__reason{ grid-area: reason; }

.free-result-paid-preview .free-result-paid-preview__evidence-block{ grid-area: evidence; }

.free-result-paid-preview .free-result-paid-preview__tip{ grid-area: tip; }

.free-result-paid-preview .free-result-paid-preview__locked{ grid-area: locked; }

.free-result-paid-preview .free-result-paid-preview__actions{
  grid-area: actions; grid-template-columns: minmax(0, 1fr); gap: 4px;
}

.free-result-paid-preview .free-result-paid-preview__price-disclosure{
  grid-area: price; display: flex; align-items: center;
  justify-content: center; min-block-size: 34px;
}

.free-result-paid-preview .free-result-paid-preview__trust-line{ grid-area: trust; }

  .free-result-paid-preview .free-result-paid-preview__eyebrow,
  .free-result-paid-preview .free-result-paid-preview__heading,
  .free-result-paid-preview .free-result-paid-preview__reason,
  .free-result-paid-preview .free-result-paid-preview__section-title,
  .free-result-paid-preview .free-result-paid-preview__evidence-item,
  .free-result-paid-preview .free-result-paid-preview__tip-title,
  .free-result-paid-preview .free-result-paid-preview__tip-body,
  .free-result-paid-preview .free-result-paid-preview__locked-item,
  .free-result-paid-preview .free-result-paid-preview__locked-item-text,
  .free-result-paid-preview .free-result-paid-preview__action,
  .free-result-paid-preview .free-result-paid-preview__price-disclosure,
  .free-result-paid-preview .free-result-paid-preview__trust-line{
    min-inline-size: 0;
    max-inline-size: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
  }

.free-result-paid-preview .free-result-paid-preview__heading{
  font-size: 20px; line-height: 1.2;
}

.free-result-paid-preview .free-result-paid-preview__reason{
  font-size: 15px; line-height: 1.48;
}

  .free-result-paid-preview .free-result-paid-preview__evidence,
.free-result-paid-preview .free-result-paid-preview__locked-items{
  grid-template-columns: minmax(0, 1fr); gap: 6px; margin-block-start: 5px;
}

.free-result-paid-preview .free-result-paid-preview__evidence-item{
  padding-inline-start: 15px; font-size: 13px; line-height: 1.42;
}

  .free-result-paid-preview .free-result-paid-preview__tip,
.free-result-paid-preview .free-result-paid-preview__locked{ padding: 10px 12px; }

.free-result-paid-preview .free-result-paid-preview__tip-body{
  margin-block-start: 4px; font-size: 13px; line-height: 1.42;
}

.free-result-paid-preview .free-result-paid-preview__locked-item{
  padding: 7px 8px; font-size: 12px; line-height: 1.35;
}

  .free-result-paid-preview .free-result-paid-preview__action--premium{
    min-block-size: 56px;
    min-height: 56px;
    padding-inline: 16px;
    font-size: 15px;
    line-height: 1.28;
    touch-action: manipulation;
    scroll-margin-block-end: var(--paid-preview-mobile-action-clearance);
  }

  .free-result-paid-preview .free-result-paid-preview__action--master{
    inline-size: min(100%, 34ch);
    min-block-size: 48px;
    min-height: 48px;
    padding: 5px 8px;
    font-size: 12.5px;
    line-height: 1.32;
    touch-action: manipulation;
  }

  .free-result-paid-preview .free-result-paid-preview__price-disclosure,
.free-result-paid-preview .free-result-paid-preview__trust-line{
  font-size: 11.5px; line-height: 1.4;
}

.free-result-paid-preview .free-result-paid-preview__trust-line{ scroll-margin-block-end: var(--paid-preview-mobile-action-clearance); }
}

@media (min-width: 380px) and (max-width: 959px){
  .free-result-paid-preview{
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
    grid-template-areas:
      "header header"
      "reason reason"
      "evidence tip"
      "locked locked"
      "actions actions"
      "price price"
      "trust trust";
  }

.free-result-paid-preview .free-result-paid-preview__locked-items{ grid-template-columns: minmax(0, 0.99fr) minmax(0, 1.01fr); }
}

/* =====================================================================
   I1745 headful mobile result-only preview remediation.
   The result-only state has no evidence block, so its practical tip must
   span both compact mobile columns instead of leaving an empty proof slot.
   ===================================================================== */
@media (min-width: 380px) and (max-width: 959px){
  .free-result-paid-preview[data-personalized-paid-preview-state="result_only"]{
    grid-template-areas:
      "header header"
      "reason reason"
      "tip tip"
      "locked locked"
      "actions actions"
      "price price"
      "trust trust";
  }
}

/* =====================================================================
   I1762 Korean paid-preview compression.
   When the personalized reason already contains every visible cue, remove
   the repeated cue list and let the practical tip occupy the proof row.
   ===================================================================== */
@media (min-width: 960px){
  .free-result-paid-preview[data-personalized-paid-preview-cue-list="reason_only"]{
    grid-template-areas:
      "header header"
      "reason reason"
      "tip tip"
      "locked actions"
      "locked price"
      "locked trust";
  }
}

@media (max-width: 959px){
  .free-result-paid-preview[data-personalized-paid-preview-cue-list="reason_only"]{
    grid-template-areas:
      "header"
      "reason"
      "tip"
      "locked"
      "actions"
      "price"
      "trust";
  }
}

@media (min-width: 380px) and (max-width: 959px){
  .free-result-paid-preview[data-personalized-paid-preview-cue-list="reason_only"]{
    grid-template-areas:
      "header header"
      "reason reason"
      "tip tip"
      "locked locked"
      "actions actions"
      "price price"
      "trust trust";
  }
}

/* =====================================================================
   I1761 result utility action surface owner.
   The animal card remains the primary visual. One compact trigger owns the
   existing share, copy, and card-save controls in a bounded desktop popover
   or a safe-area-aware, full-width mobile sheet.
   ===================================================================== */
#doneScreen .free-result-share-save-menu-mount{
  position: relative;
  z-index: 24;
  display: flex;
  justify-content: flex-end;
  inline-size: 100%;
  min-inline-size: 0;
  margin: 2px 0 6px;
}

#doneScreen .free-result-share-save-menu-mount:empty{ display: none; }

#doneScreen [data-free-result-share-save-state-source]{ display: none !important; }

#doneScreen .free-result-share-save-menu{
  position: relative; display: inline-flex; align-items: center;
  justify-content: flex-end; max-inline-size: 100%;
}

#doneScreen .free-result-share-save-menu__trigger{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-inline-size: 0;
  min-block-size: 44px;
  max-inline-size: 100%;
  padding: 0 14px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text-soft);
  box-shadow: none;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

#doneScreen .free-result-share-save-menu__trigger::after{
  content: "";
  flex: 0 0 auto;
  inline-size: 7px;
  block-size: 7px;
  margin-block-start: -4px;
  border-inline-end: 2px solid currentColor;
  border-block-end: 2px solid currentColor;
  transform: rotate(45deg);
  transform-origin: center;
}

#doneScreen .free-result-share-save-menu__trigger[aria-expanded="true"]::after{
  margin-block-start: 4px; transform: rotate(225deg);
}

#doneScreen .free-result-share-save-menu__trigger:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]){
  border-color: var(--brand); background: var(--brand-soft); color: var(--brand-strong);
}

#doneScreen .free-result-share-save-menu__surface[hidden]{ display: none !important; }

#doneScreen .free-result-share-save-menu__surface{
  position: absolute;
  inset-block-start: auto;
  inset-block-end: calc(100% + 10px);
  inset-inline-end: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  box-sizing: border-box;
  inline-size: min(304px, calc(100vw - 32px - var(--safe-left) - var(--safe-right)));
  max-inline-size: calc(100vw - 32px - var(--safe-left) - var(--safe-right));
  max-block-size: min(440px, calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom)));
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 14px 32px rgba(13, 110, 253, 0.08), 0 8px 20px rgba(33, 37, 41, 0.06);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

#doneScreen .free-result-share-save-menu__surface::before{
  content: "";
  position: absolute;
  inset-inline-end: 24px;
  inset-block-end: -6px;
  inline-size: 10px;
  block-size: 10px;
  border-inline-end: 1px solid var(--line);
  border-block-end: 1px solid var(--line);
  background: var(--surface);
  transform: rotate(45deg);
}

/* I1773 desktop clarity remediation: the pointer extended outside the
   bounded scrolling surface, creating an 8px internal overflow and a
   clipped desktop scrollbar. The trigger chevron keeps the association;
   the mobile sheet handle remains owned by its max-width rule below. */
@media (min-width: 761px){
#doneScreen .free-result-share-save-menu[data-presentation="popover"] .free-result-share-save-menu__surface::before{ content: none; }
}

#doneScreen .free-result-share-save-menu__actions{
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-inline-size: 0;
}

#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #downloadButton.button-secondary){
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 44px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid var(--line) !important;
  border-radius: 8px;
  background: var(--surface) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  font-weight: 800;
  line-height: 1.25;
  text-align: start;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > #shareResultButton.button-share{
  border-color: var(--brand) !important; background: var(--brand) !important; color: #fff !important;
}

#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > #shareResultButton.button-share:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){
  border-color: var(--brand-strong) !important; background: var(--brand-strong) !important; color: #fff !important;
}

#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > :is(#copyShareUrlButton.button-copy, #downloadButton.button-secondary):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){
  border-color: var(--line) !important; background: var(--brand-soft) !important; color: var(--brand-strong) !important;
}

#doneScreen .free-result-share-save-menu__reassurance{
  display: block;
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(13, 110, 253, 0.12);
  border-radius: 8px;
  background: var(--surface-soft);
  color: var(--text-soft);
  box-shadow: none;
  font-size: 0.72rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

#doneScreen .free-result-share-save-menu__reassurance [data-share-privacy-fields]{
  display: block; color: inherit;
}

#doneScreen .free-result-share-save-menu__close{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
  min-block-size: 40px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--text-soft);
  box-shadow: none;
  font-weight: 700;
  line-height: 1.2;
}

#doneScreen .free-result-share-save-menu__close:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]){
  border-color: var(--line); background: var(--surface-soft); color: var(--text);
}

#doneScreen :is(.free-result-share-save-menu__trigger, .free-result-share-save-menu__close):focus-visible,
#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #downloadButton.button-secondary):focus-visible{
  outline: 2px solid var(--brand); outline-offset: 3px; box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12) !important;
}

#doneScreen .free-result-share-save-menu__trigger:is(:disabled, [aria-disabled="true"]),
#doneScreen .free-result-share-save-menu__close:is(:disabled, [aria-disabled="true"]),
#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #downloadButton.button-secondary):is(:disabled, [aria-disabled="true"]){
  border-color: var(--line) !important;
  background: var(--surface-soft) !important;
  color: var(--text-soft) !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 0.76;
  transform: none;
  text-decoration: none;
}

#doneScreen .free-result-share-save-menu :is(.free-result-share-save-menu__trigger, .free-result-share-save-menu__close)[aria-busy="true"],
#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #downloadButton.button-secondary)[aria-busy="true"]{
  cursor: progress; opacity: 0.76;
}

html.free-result-share-save-sheet-open,
body.free-result-share-save-sheet-open{
  overflow: hidden !important; overscroll-behavior: none;
}

@media (max-width: 760px){
#doneScreen .free-result-share-save-menu-mount{ margin-block: 2px 6px; }

  #doneScreen .free-result-share-save-menu[data-presentation="sheet"] .free-result-share-save-menu__surface{
    position: fixed;
    inset-block-start: auto;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: calc(var(--global-menu-z, 2147483000) - 12);
    inline-size: auto;
    max-inline-size: 100%;
    max-block-size: min(78dvh, calc(100dvh - var(--safe-top) - 12px));
    padding: 24px calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));
    border-inline: 0;
    border-block-end: 0;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 16px 34px rgba(13, 110, 253, 0.10), 0 8px 20px rgba(33, 37, 41, 0.06);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  #doneScreen .free-result-share-save-menu[data-presentation="sheet"] .free-result-share-save-menu__surface::before{
    inset-block-start: 9px;
    inset-block-end: auto;
    inset-inline-start: 50%;
    inset-inline-end: auto;
    inline-size: 40px;
    block-size: 4px;
    border: 0;
    border-radius: 999px;
    background: var(--line-strong);
    transform: translateX(-50%);
  }

#doneScreen .free-result-share-save-menu[data-presentation="sheet"] .free-result-share-save-menu__actions{ gap: 10px; }

  #doneScreen:not(.is-paid-report-page) .free-result-share-save-menu[data-presentation="sheet"] .free-result-share-save-menu__actions > :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #downloadButton.button-secondary),
#doneScreen .free-result-share-save-menu[data-presentation="sheet"] .free-result-share-save-menu__close{ min-block-size: 48px; }

  /* I1774 mobile clarity remediation: a result-render toast can still be
     visible when the sheet is opened immediately. Keep it out of the modal
     action hierarchy; action feedback remains visible after the action closes
     the sheet and releases this lock class. */
body.free-result-share-save-sheet-open .toast{
  opacity: 0 !important; visibility: hidden !important;
}
}

@media (forced-colors: active){
  #doneScreen .free-result-share-save-menu__trigger,
  #doneScreen .free-result-share-save-menu__surface,
  #doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #downloadButton.button-secondary),
  #doneScreen .free-result-share-save-menu__reassurance,
#doneScreen .free-result-share-save-menu__close{
  border-color: CanvasText !important; background: Canvas !important; color: CanvasText !important; box-shadow: none !important;
}

#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > #shareResultButton.button-share{
  border-color: Highlight !important; background: Highlight !important; color: HighlightText !important;
}

#doneScreen .free-result-share-save-menu__surface::before{
  border-color: CanvasText; background: Canvas;
}

  #doneScreen :is(.free-result-share-save-menu__trigger, .free-result-share-save-menu__close):focus-visible,
#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #downloadButton.button-secondary):focus-visible{
  outline: 3px solid Highlight; outline-offset: 3px; box-shadow: none !important;
}

  #doneScreen .free-result-share-save-menu :is(.free-result-share-save-menu__trigger, .free-result-share-save-menu__close):is(:disabled, [aria-disabled="true"]),
#doneScreen:not(.is-paid-report-page) .free-result-share-save-menu .free-result-share-save-menu__actions > :is(#shareResultButton.button-share, #copyShareUrlButton.button-copy, #downloadButton.button-secondary):is(:disabled, [aria-disabled="true"]){
  border-color: GrayText !important; color: GrayText !important;
}
}

@media (prefers-reduced-motion: reduce){
  #doneScreen .free-result-share-save-menu,
  #doneScreen .free-result-share-save-menu *,
  #doneScreen .free-result-share-save-menu::before,
  #doneScreen .free-result-share-save-menu__trigger::after,
#doneScreen .free-result-share-save-menu__surface::before{
  animation: none !important; scroll-behavior: auto !important; transition: none !important;
}
}

/* =====================================================================
   I1758 ordinary-result rescan hierarchy owner.
   The normal restart stays as a quiet footer action after paid CTAs, while
   quality-triggered retake remains owned by the evidence guidance panel.
   ===================================================================== */
#doneScreen [data-free-result-share-save-menu] [data-result-rescan-hierarchy="quiet-footer"]{ display: none !important; }

#doneScreen:not(.is-paid-report-page) .cta-utility-row[data-normal-result-rescan-footer="true"]{
  grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 0; margin-top: 2px;
}

#doneScreen:not(.is-paid-report-page) .cta-utility-row[data-normal-result-rescan-footer="true"] #restartButton.normal-result-rescan-footer-action[data-result-rescan-hierarchy="quiet-footer"]{
  inline-size: auto;
  min-inline-size: 0;
  min-block-size: 44px;
  padding: 0 10px;
  border-color: transparent !important;
  background: transparent !important;
  color: var(--text-soft) !important;
  box-shadow: none !important;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#doneScreen:not(.is-paid-report-page) .cta-utility-row[data-normal-result-rescan-footer="true"] #restartButton.normal-result-rescan-footer-action[data-result-rescan-hierarchy="quiet-footer"]:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]){
  border-color: transparent !important; background: var(--brand-soft) !important; color: var(--brand-strong) !important; box-shadow: none !important;
}

#doneScreen .cta-utility-row[data-normal-result-rescan-footer="true"] #restartButton[hidden],
#doneScreen .cta-utility-row[data-normal-result-rescan-footer="true"] #restartButton[aria-hidden="true"]{ display: none !important; }

/* =====================================================================
   I1907 subordinate desktop Premium sample.
   Reuse the paid-report primitives while containing this sample-only dialog.
   ===================================================================== */
.free-result-paid-preview .free-result-paid-preview__sample-action{
  inline-size: auto; max-inline-size: min(100%, 30ch); font-size: 12px; box-shadow: none !important;
}

[data-premium-static-sample-v3-dialog]{
  display: grid !important;
  place-items: center !important;
  padding: clamp(12px, 3vw, 28px) !important;
  background: rgba(33, 37, 41, 0.42) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  overflow: hidden !important;
}

[data-premium-static-sample-v3-dialog]:is(.hidden, [hidden], [aria-hidden="true"]){
  display: none !important; visibility: hidden !important; pointer-events: none !important;
}

[data-premium-static-sample-v3-dialog-panel]{
  width: min(56rem, calc(100vw - clamp(24px, 6vw, 56px))) !important;
  inline-size: min(56rem, calc(100vw - clamp(24px, 6vw, 56px))) !important;
  max-width: 56rem !important;
  height: min(52rem, calc(100dvh - clamp(24px, 6vw, 56px))) !important;
  max-height: 52rem !important;
  max-block-size: 52rem !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-xl) !important;
  background: var(--surface) !important;
  box-shadow: var(--shadow-lg) !important;
  overflow: hidden !important;
}

[data-premium-static-sample-v3-dialog-panel] > .report-pref-head{
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 16px;
  align-items: start;
  min-inline-size: 0;
  padding: clamp(16px, 2.2vw, 22px);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  font-size: 16px;
}

[data-premium-static-sample-v3-dialog-panel] > .report-pref-head > :is(h2, p){
  grid-column: 1; min-inline-size: 0; margin: 0;
  line-height: 1.45; overflow-wrap: anywhere;
}

[data-premium-static-sample-v3-dialog-close]{
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
  min-height: 44px;
  min-block-size: 44px;
  max-inline-size: 16ch;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text);
  white-space: normal;
}

[data-premium-static-sample-v3-dialog-panel] > :is([data-premium-static-sample-v3-dialog-content], [data-premium-static-sample-v3-dialog-loading], [data-premium-static-sample-v3-dialog-error]){
  min-block-size: 0;
  margin: 0;
  padding: clamp(14px, 2.4vw, 24px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: var(--surface-soft);
}

[data-premium-static-sample-v3-dialog-content] [data-premium-static-sample-v3-renderer]{
  max-inline-size: 50rem;
  margin-inline: auto;
  padding: clamp(16px, 2.3vw, 22px);
  border-color: var(--line);
  border-radius: var(--radius-xl);
  background: var(--surface);
  box-shadow: var(--shadow);
}

[data-premium-static-sample-v3-renderer] *{
  min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere;
}

[data-premium-static-sample-v3-renderer] :is(.premium-static-sample-v3-summary, .premium-static-sample-v3-section-paragraph, .premium-static-sample-v3-section-bullet > p){ max-inline-size: 68ch; }

[data-premium-static-sample-v3-renderer] :is(.premium-static-sample-v3-section, .premium-static-sample-v3-section-bullet){
  border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: none;
}

[data-premium-static-sample-v3-commercial-action-region]{
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  margin: 0;
  padding: 14px clamp(16px, 2.4vw, 24px);
  border-top: 1px solid var(--line);
  background: var(--surface);
}

[data-premium-static-sample-v3-commercial-action-region] [data-premium-static-sample-v3-checkout-cta]{
  inline-size: min(100%, 32rem); min-block-size: 52px; white-space: normal; overflow-wrap: anywhere;
}

[data-premium-static-sample-v3-dialog] :is(button, summary):focus-visible{
  outline: 3px solid var(--brand); outline-offset: -3px; box-shadow: 0 0 0 3px var(--brand-soft) !important;
}

@media (prefers-reduced-motion: reduce){
[data-premium-static-sample-v3-dialog] *{
  animation: none !important; scroll-behavior: auto !important; transition: none !important;
}
}

@media (forced-colors: active){
[data-premium-static-sample-v3-dialog] :is([data-premium-static-sample-v3-dialog-panel], .report-pref-head, [data-premium-static-sample-v3-dialog-content], [data-premium-static-sample-v3-commercial-action-region], .premium-static-sample-v3-section, button, summary){
  border-color: CanvasText !important; background: Canvas !important; color: CanvasText !important;
  box-shadow: none !important; forced-color-adjust: auto;
}
}

/* =====================================================================
   I1908 mobile Premium sample sheet and fixed-action coexistence.
   Keep one sheet scroller above the existing mobile result-action reserve.
   ===================================================================== */
@media (max-width: 760px), (max-width: 959px) and (max-height: 520px){
[data-premium-static-sample-v3-dialog]{
  --premium-static-sample-v3-mobile-action-clearance: var(--paid-preview-mobile-action-clearance, calc(196px + var(--safe-bottom))); place-items: end center !important; padding: max(8px, var(--safe-top)) max(8px, var(--safe-right)) var(--premium-static-sample-v3-mobile-action-clearance) max(8px, var(--safe-left)) !important;
  overflow: hidden !important; touch-action: none;
}

  [data-premium-static-sample-v3-dialog-panel]{
    box-sizing: border-box;
    inline-size: 100% !important;
    block-size: auto !important;
    max-block-size: calc(100dvh - max(8px, var(--safe-top)) - var(--premium-static-sample-v3-mobile-action-clearance)) !important;
    display: block !important;
    border-radius: var(--radius-xl) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  [data-premium-static-sample-v3-dialog-panel] > .report-pref-head{
    position: sticky;
    inset-block-start: 0;
    z-index: 3;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 10px;
    padding: 12px;
  }

  [data-premium-static-sample-v3-dialog-panel] > .report-pref-head > :is(h2, p),
  [data-premium-static-sample-v3-dialog-close],
[data-premium-static-sample-v3-checkout-cta]{
  overflow-wrap: break-word; word-break: normal; hyphens: auto;
}

[data-premium-static-sample-v3-dialog-panel] > .report-pref-head > h2{
  font-size: clamp(1.05rem, 5.4vw, 1.28rem); line-height: 1.25;
}

[data-premium-static-sample-v3-dialog-panel] > .report-pref-head > p{
  font-size: 0.8rem; line-height: 1.45;
}

[data-premium-static-sample-v3-dialog-close]{
  min-width: 44px; min-inline-size: 44px; max-inline-size: 11ch;
  padding-inline: 10px; touch-action: manipulation;
}

[data-premium-static-sample-v3-dialog-panel] > :is([data-premium-static-sample-v3-dialog-content], [data-premium-static-sample-v3-dialog-loading], [data-premium-static-sample-v3-dialog-error]){
  padding: 12px; overflow: visible;
}

[data-premium-static-sample-v3-dialog-content] [data-premium-static-sample-v3-renderer]{
  margin-inline: 0; padding: 12px; border-radius: var(--radius-lg);
}

[data-premium-static-sample-v3-renderer] *{
  overflow-wrap: break-word; word-break: normal; line-break: auto; hyphens: auto;
}

[data-premium-static-sample-v3-dialog-locale="ko"] :is([data-premium-static-sample-v3-dialog-title], [data-premium-static-sample-v3-dialog-description], [data-premium-static-sample-v3-renderer] *){ word-break: keep-all; }

[data-premium-static-sample-v3-dialog-locale="ja"] :is([data-premium-static-sample-v3-dialog-title], [data-premium-static-sample-v3-dialog-description], [data-premium-static-sample-v3-renderer] *){ line-break: strict; }

[data-premium-static-sample-v3-renderer] .premium-static-sample-v3-section-summary{
  min-block-size: 48px; scroll-margin-block: 12px; touch-action: manipulation;
}

[data-premium-static-sample-v3-commercial-action-region]{ padding: 12px; }

[data-premium-static-sample-v3-commercial-action-region] [data-premium-static-sample-v3-checkout-cta]{
  min-block-size: 56px; scroll-margin-block: 12px; touch-action: manipulation;
}
}

@media (max-width: 959px) and (max-height: 520px){
[data-premium-static-sample-v3-dialog-panel] > .report-pref-head{
  position: relative; inset-block-start: auto;
}
}

/* =====================================================================
   I1933 first-class default-on Premium static sample inline section.
   This is a normal-flow result section with its own mount and surface ID.
   It owns no modal, backdrop, close control, focus trap, body lock, viewport
   panel, internal scroller, fixed footer, provider, price, or checkout flow.
   ===================================================================== */
.premium-static-sample-v3-inline-mount{
  box-sizing: border-box; inline-size: 100%; min-inline-size: 0; margin: clamp(18px, 2.4vw, 30px) 0;
}

.premium-static-sample-v3-inline-mount[hidden],
.premium-static-sample-v3-inline-mount.hidden{ display: none !important; }

.premium-static-sample-v3-inline-mount > .premium-static-sample-v3-inline{
  box-sizing: border-box;
  position: relative;
  display: grid;
  gap: clamp(14px, 1.8vw, 20px);
  inline-size: min(100%, 70rem);
  max-inline-size: 100%;
  min-inline-size: 0;
  block-size: auto;
  min-block-size: 0;
  max-block-size: none;
  margin: 0 auto;
  padding: clamp(20px, 2.6vw, 30px);
  border: 1px solid var(--line);
  border-radius: clamp(18px, 2vw, 26px);
  background: var(--surface);
  box-shadow: var(--shadow);
  overflow: visible;
  overscroll-behavior: auto;
  touch-action: pan-y;
}

.premium-static-sample-v3-inline-mount > .premium-static-sample-v3-inline > :is(
  .premium-static-sample-v3-inline__header,
  .premium-static-sample-v3-inline__status,
  .premium-static-sample-v3-inline__content,
  .premium-static-sample-v3-inline__actions
){
  box-sizing: border-box; inline-size: min(100%, 50rem); max-inline-size: 50rem;
  min-inline-size: 0; margin-inline: auto;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__header{
  display: grid; gap: 7px;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__title{
  margin: 0;
  color: var(--text);
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 850;
  line-height: 1.32;
  letter-spacing: -0.02em;
  text-transform: none;
  overflow-wrap: anywhere;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__disclosure{
  max-inline-size: 68ch;
  margin: 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.58;
  overflow-wrap: anywhere;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__status{ min-block-size: 0; }

.premium-static-sample-v3-inline-mount :is(
  .premium-static-sample-v3-inline__loading,
  .premium-static-sample-v3-inline__unavailable
){
  box-sizing: border-box;
  margin: 0;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.55;
  box-shadow: none;
  overflow-wrap: anywhere;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__unavailable{
  display: grid; gap: 4px;
}

.premium-static-sample-v3-inline-mount :is(
  .premium-static-sample-v3-inline__unavailable-title,
  .premium-static-sample-v3-inline__unavailable-body
){ margin: 0; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__unavailable-title{
  color: var(--text); font-size: 14px; line-height: 1.4;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__content{ overflow: visible; }

.premium-static-sample-v3-inline-mount [data-premium-static-sample-v3-renderer]{
  box-sizing: border-box;
  display: grid;
  gap: clamp(12px, 1.5vw, 16px);
  inline-size: 100%;
  max-inline-size: 50rem;
  min-inline-size: 0;
  block-size: auto;
  min-block-size: 0;
  max-block-size: none;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.premium-static-sample-v3-inline-mount [data-premium-static-sample-v3-renderer] *{
  box-sizing: border-box; min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-report-head{
  display: grid; gap: 8px; padding-block-end: 14px; border-bottom: 1px solid var(--line);
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-headline{
  max-inline-size: 34ch;
  margin: 0;
  color: var(--text);
  font-size: clamp(20px, 2.3vw, 27px);
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.premium-static-sample-v3-inline-mount :is(
  .premium-static-sample-v3-summary,
  .premium-static-sample-v3-section-paragraph,
  .premium-static-sample-v3-section-bullet > p
){ max-inline-size: 68ch; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-summary{
  margin: 0; color: var(--text-soft); font-size: 14px; line-height: 1.62;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-hashtags{
  display: flex; flex-wrap: wrap; gap: 6px; margin: 0;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-hashtags > span{
  max-inline-size: 100%;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--brand-strong);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-sections{
  display: grid; gap: 10px;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section{
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: none;
  overflow: clip;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-summary{
  position: relative;
  display: grid;
  min-block-size: 52px;
  padding: 12px 44px 12px 14px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  scroll-margin-block: 12px;
  touch-action: manipulation;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-summary::after{
  content: "+";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 14px;
  translate: 0 -50%;
  color: var(--brand-strong);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section[open] > .premium-static-sample-v3-section-summary::after{ content: "−"; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-heading{
  display: grid; gap: 2px; margin: 0;
  font-size: inherit; line-height: 1.35;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-heading > br{ display: none; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-kicker{
  color: var(--brand-strong);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.035em;
  text-transform: none;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-title{
  color: var(--text); font-size: 15px; font-weight: 800; line-height: 1.4;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-body{
  display: grid; gap: 10px; padding: 0 14px 14px; border-top: 1px solid var(--line);
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-paragraph{
  margin: 12px 0 0; color: var(--text); font-size: 14px; line-height: 1.65;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-bullets{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-bullet{
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
  box-shadow: none;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-bullet > p{
  margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.55;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__actions{
  box-sizing: border-box;
  display: grid;
  inline-size: min(100%, 32rem);
  max-inline-size: 32rem;
  min-inline-size: 0;
  justify-self: center;
  margin: 0 auto;
  padding: 14px 0 0;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__action{
  inline-size: 100%; max-inline-size: 100%; min-block-size: 52px;
  white-space: normal; overflow-wrap: anywhere;
}

.premium-static-sample-v3-inline-mount :is(summary, button):focus-visible{
  outline: 3px solid var(--brand); outline-offset: 3px; box-shadow: 0 0 0 3px var(--brand-soft) !important;
}

.premium-static-sample-v3-inline-mount :is(
  [data-premium-static-sample-inline-loading],
  [data-premium-static-sample-inline-unavailable],
  [data-premium-static-sample-inline-content]
)[hidden]{ display: none !important; }

@media (max-width: 430px){
.premium-static-sample-v3-inline-mount{ margin: 16px 0; }

  .premium-static-sample-v3-inline-mount > .premium-static-sample-v3-inline{
    gap: 11px;
    inline-size: 100%;
    max-inline-size: 100%;
    padding: 17px 14px max(17px, var(--safe-bottom));
    border-radius: 18px;
    overflow: visible;
  }

  .premium-static-sample-v3-inline-mount > .premium-static-sample-v3-inline > :is(
    .premium-static-sample-v3-inline__header,
    .premium-static-sample-v3-inline__status,
    .premium-static-sample-v3-inline__content,
    .premium-static-sample-v3-inline__actions
){
  inline-size: 100%; max-inline-size: 100%;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__title{
  font-size: 18px; line-height: 1.38;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__disclosure{
  font-size: 12.5px; line-height: 1.5;
}

  .premium-static-sample-v3-inline-mount :is(
    .premium-static-sample-v3-inline__loading,
    .premium-static-sample-v3-inline__unavailable
){
  padding: 10px 12px; font-size: 12.5px;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-headline{
  max-inline-size: 100%; font-size: 20px;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-summary{ font-size: 13.5px; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-summary{
  min-block-size: 48px; padding: 10px 40px 10px 12px;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-summary::after{ inset-inline-end: 12px; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-title{ font-size: 14.5px; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-body{
  gap: 8px; padding: 0 12px 12px;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-paragraph{
  margin-block-start: 10px; font-size: 13.5px;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-bullet{ padding: 9px 10px; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-section-bullet > p{ font-size: 12.5px; }

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__actions{
  inline-size: 100%; max-inline-size: 100%; padding-block-start: 12px;
}

.premium-static-sample-v3-inline-mount .premium-static-sample-v3-inline__action{ min-block-size: 56px; }

.premium-static-sample-v3-inline-mount [data-premium-static-sample-inline-locale="ko"] *{ word-break: keep-all; }

.premium-static-sample-v3-inline-mount [data-premium-static-sample-inline-locale="ja"] *{
  word-break: normal; line-break: strict;
}
}

@media (forced-colors: active){
  .premium-static-sample-v3-inline-mount :is(
    .premium-static-sample-v3-inline__loading,
    .premium-static-sample-v3-inline__unavailable,
    .premium-static-sample-v3-section,
    .premium-static-sample-v3-section-bullet,
    .premium-static-sample-v3-hashtags > span
){
  border-color: CanvasText; background: Canvas; color: CanvasText;
  box-shadow: none; forced-color-adjust: auto;
}
}

/* =====================================================================
   I1932 Korean TossPay direct required-consent gate
   ===================================================================== */
.toss-direct-consent-modal{
  display: grid; gap: 1rem; inline-size: min(36rem, 100%);
  max-block-size: min(48rem, calc(100dvh - 2rem)); overflow-y: auto;
}

.toss-direct-consent-head{ gap: 0.45rem; }

.toss-direct-consent-summary{
  margin: 0;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.94);
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.toss-direct-consent-fieldset{
  min-inline-size: 0; margin: 0; padding: 0; border: 0;
}

.toss-direct-consent-fieldset legend{
  margin-block-end: 0.65rem; padding: 0; font-size: 0.92rem;
  font-weight: 900; line-height: 1.4;
}

.toss-direct-consent-select-all{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  min-block-size: 44px;
  margin-block-end: 0.65rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.96);
}

.toss-direct-consent-select-all input[type="checkbox"]{
  inline-size: 1.25rem; block-size: 1.25rem; margin: 0; cursor: pointer;
}

.toss-direct-consent-select-all label{
  display: flex;
  align-items: center;
  min-block-size: 44px;
  min-inline-size: 0;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.4;
}

.toss-direct-consent-terms{
  display: grid; gap: 0.65rem; margin: 0;
  padding: 0; list-style: none;
}

.toss-direct-consent-term{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
  margin: 0;
  padding: 0.8rem;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.96);
}

.toss-direct-consent-term input[type="checkbox"]{
  inline-size: 1.25rem; block-size: 1.25rem; margin: 0.1rem 0 0; cursor: pointer;
}

.toss-direct-consent-term-copy{
  display: grid; gap: 0.42rem; min-inline-size: 0;
}

.toss-direct-consent-term-copy label{
  display: flex;
  gap: 0.45rem;
  align-items: flex-start;
  min-inline-size: 0;
  cursor: pointer;
  line-height: 1.45;
}

.toss-direct-consent-term-copy strong{
  min-inline-size: 0; font-size: 0.9rem; overflow-wrap: anywhere;
}

.toss-direct-consent-required{
  flex: 0 0 auto;
  padding: 0.08rem 0.38rem;
  border-radius: 999px;
  background: rgba(220, 53, 69, 0.1);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.45;
}

.toss-direct-consent-term-copy a{
  justify-self: start;
  min-block-size: 44px;
  display: inline-flex;
  align-items: center;
  padding-inline: 0.1rem;
  font-size: 0.82rem;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  overflow-wrap: anywhere;
}

.toss-direct-consent-status{
  margin: 0;
  padding: 0.7rem 0.8rem;
  border-radius: 0.85rem;
  background: rgba(15, 23, 42, 0.06);
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.45;
}

.toss-direct-consent-status[data-ready="true"]{ background: rgba(25, 135, 84, 0.09); }

.toss-direct-consent-actions [data-toss-direct-consent-approve][disabled]{
  cursor: not-allowed; opacity: 0.58;
}

[data-toss-direct-consent-select-all]:focus-visible,
[data-toss-direct-consent-term]:focus-visible,
[data-toss-direct-consent-link]:focus-visible,
[data-toss-direct-consent-cancel]:focus-visible,
[data-toss-direct-consent-approve]:focus-visible{
  outline: 3px solid currentColor; outline-offset: 3px;
}

.toss-direct-consent-modal:focus{ outline: none; }

@media (max-width: 520px){
.toss-direct-consent-modal{
  inline-size: 100% !important; width: 100% !important; max-block-size: calc(100dvh - 1.5rem) !important;
}

.toss-direct-consent-select-all{ padding: 0.38rem 0.62rem; }

.toss-direct-consent-term{ padding: 0.72rem; }

.toss-direct-consent-actions{
  display: grid; grid-template-columns: minmax(0, 1fr);
}

.toss-direct-consent-actions .button{
  inline-size: 100%; width: 100%;
}
}

/* BEGIN I1941 PAID REPORT MOBILE CARD LAYOUT REPAIR */
.paid-report-shell .paid-report-summary-card-grid,
.paid-report-shell .paid-report-executive-cards{
  inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; box-sizing: border-box;
}

.paid-report-shell .paid-report-summary-card-grid{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: clamp(0.75rem, 2vw, 1rem); margin: 0;
}

.paid-report-shell .paid-report-summary-card,
.paid-report-shell .paid-report-executive-card,
.paid-report-shell .paid-report-executive-cards > article,
.paid-report-shell .paid-report-priority,
.paid-report-shell .paid-report-reliability{
  min-inline-size: 0; max-inline-size: 100%; box-sizing: border-box;
}

.paid-report-shell .paid-report-summary-card{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: clamp(0.45rem, 1.4vw, 0.62rem);
  padding: clamp(0.95rem, 2.4vw, 1.15rem);
  border: 1px solid rgba(13, 110, 253, 0.16);
  border-radius: clamp(0.95rem, 2.4vw, 1.25rem);
  background: #fff;
  box-shadow: 0 0.75rem 1.9rem rgba(33, 37, 41, 0.06);
}

.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-label,
.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-value,
.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-note,
.paid-report-shell .paid-report-executive-cards > article > .paid-report-executive-card-label,
.paid-report-shell .paid-report-executive-cards > article > .paid-report-executive-card-value,
.paid-report-shell .paid-report-executive-cards > article > .paid-report-executive-card-note,
.paid-report-shell .paid-report-executive-cards > article > span,
.paid-report-shell .paid-report-executive-cards > article > strong,
.paid-report-shell .paid-report-executive-cards > article > p,
.paid-report-shell .paid-report-priority > .paid-report-priority-label,
.paid-report-shell .paid-report-priority > .paid-report-priority-value,
.paid-report-shell .paid-report-priority > span,
.paid-report-shell .paid-report-priority > strong,
.paid-report-shell .paid-report-reliability > .paid-report-reliability-label,
.paid-report-shell .paid-report-reliability > .paid-report-reliability-value,
.paid-report-shell .paid-report-reliability > span,
.paid-report-shell .paid-report-reliability > strong{
  display: block;
  min-inline-size: 0;
  max-inline-size: 100%;
  margin: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-label,
.paid-report-shell .paid-report-executive-cards > article > .paid-report-executive-card-label,
.paid-report-shell .paid-report-executive-cards > article > span,
.paid-report-shell .paid-report-priority > .paid-report-priority-label,
.paid-report-shell .paid-report-priority > span,
.paid-report-shell .paid-report-reliability > .paid-report-reliability-label,
.paid-report-shell .paid-report-reliability > span{
  color: rgba(13, 88, 202, 0.86);
  font-size: clamp(0.69rem, 1.7vw, 0.77rem);
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-value,
.paid-report-shell .paid-report-executive-cards > article > .paid-report-executive-card-value,
.paid-report-shell .paid-report-executive-cards > article > strong,
.paid-report-shell .paid-report-priority > .paid-report-priority-value,
.paid-report-shell .paid-report-priority > strong,
.paid-report-shell .paid-report-reliability > .paid-report-reliability-value,
.paid-report-shell .paid-report-reliability > strong{
  color: rgba(33, 37, 41, 0.95); font-size: clamp(1rem, 2.5vw, 1.18rem); font-weight: 900;
  line-height: 1.42; letter-spacing: -0.025em;
}

.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-note,
.paid-report-shell .paid-report-executive-cards > article > .paid-report-executive-card-note,
.paid-report-shell .paid-report-executive-cards > article > p{
  color: rgba(33, 37, 41, 0.66); font-size: clamp(0.84rem, 2vw, 0.93rem); font-weight: 600; line-height: 1.62;
}

.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-label[hidden],
.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-value[hidden],
.paid-report-shell .paid-report-summary-card > .paid-report-summary-card-note[hidden],
.paid-report-shell .paid-report-executive-cards > article > [hidden]{ display: none; }

.paid-report-shell .paid-report-summary-card-value :where(span, strong, b, em, i, small, code, a),
.paid-report-shell .paid-report-summary-card-note :where(span, strong, b, em, i, small, code, a),
.paid-report-shell .paid-report-executive-card-value :where(span, strong, b, em, i, small, code, a),
.paid-report-shell .paid-report-executive-card-note :where(span, strong, b, em, i, small, code, a){
  min-inline-size: 0; max-inline-size: 100%; white-space: normal;
  overflow-wrap: anywhere; word-break: normal;
}

.paid-report-shell .paid-report-executive-cards{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }

.paid-report-shell .paid-report-executive-card,
.paid-report-shell .paid-report-executive-cards > article{
  display: grid; grid-template-columns: minmax(0, 1fr); align-content: start;
  gap: clamp(0.45rem, 1.4vw, 0.62rem); padding: clamp(0.9rem, 2.2vw, 1.05rem);
}

.paid-report-shell .paid-report-priority,
.paid-report-shell .paid-report-reliability{
  display: grid; grid-template-columns: minmax(0, 1fr); align-content: start;
  gap: clamp(0.45rem, 1.4vw, 0.62rem); overflow-wrap: anywhere;
}

html:lang(ko) .paid-report-shell .paid-report-summary-card > :where(.paid-report-summary-card-label, .paid-report-summary-card-value, .paid-report-summary-card-note),
html:lang(ko) .paid-report-shell .paid-report-executive-cards > article > :where(span, strong, p),
html:lang(ko) .paid-report-shell :where(.paid-report-priority, .paid-report-reliability) > :where(span, strong){
  word-break: keep-all; overflow-wrap: anywhere;
}

html:lang(ja) .paid-report-shell .paid-report-summary-card > :where(.paid-report-summary-card-label, .paid-report-summary-card-value, .paid-report-summary-card-note),
html:lang(ja) .paid-report-shell .paid-report-executive-cards > article > :where(span, strong, p),
html:lang(ja) .paid-report-shell :where(.paid-report-priority, .paid-report-reliability) > :where(span, strong){ line-break: strict; }

@media (max-width: 680px){
  .paid-report-shell .paid-report-summary-card-grid,
.paid-report-shell .paid-report-executive-cards{
  grid-template-columns: minmax(0, 1fr); gap: clamp(0.72rem, 3vw, 0.9rem);
}

  .paid-report-shell .paid-report-summary-card,
  .paid-report-shell .paid-report-executive-card,
  .paid-report-shell .paid-report-executive-cards > article,
  .paid-report-shell .paid-report-priority,
.paid-report-shell .paid-report-reliability{
  inline-size: 100%; padding: clamp(0.9rem, 4vw, 1.05rem);
}
}
/* END I1941 PAID REPORT MOBILE CARD LAYOUT REPAIR */

/* Camera permission preflight. Decorative example only; no scanning progress. */
#onboardingScreen .trust-mascot-panel { display:flex; flex-direction:column; gap:22px; }
#onboardingScreen .trust-mascot-panel .trust-preflight-head { order:0; margin:0; }
#onboardingScreen .trust-mascot-panel .trust-preflight-actions { order:3; margin:0; }
#onboardingScreen .trust-mascot-panel .trust-preflight-head h2 { font-size:clamp(25px,4vw,36px); letter-spacing:-.045em; line-height:1.25; }
#onboardingScreen .trust-mascot-panel .trust-preflight-body { max-width:52ch; margin:10px 0 0; font-size:15px; line-height:1.65; color:#64748b; }
.trust-mascot { order:1; margin:0; padding:0 0 22px; border:1px solid #e5ebf6; border-radius:28px; background:linear-gradient(160deg,#f5f8ff,#fff 58%,#fffaf2); overflow:hidden; }
.trust-mascot-stage { position:relative; height:clamp(230px,32vw,290px); isolation:isolate; display:grid; place-items:center; }
.trust-mascot-stage::before { content:""; position:absolute; width:240px; height:180px; border-radius:50%; background:#d9e7ff; filter:blur(42px); opacity:.4; }
.trust-mascot-portrait { position:relative; width:clamp(230px,34vw,310px); aspect-ratio:1; mix-blend-mode:multiply; animation:trust-mascot-breathe 6s ease-in-out infinite; }
.trust-mascot-portrait img { display:block; width:100%; height:100%; object-fit:contain; user-select:none; }
.trust-mascot-guide { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.trust-mascot-corners { stroke:#397ef3; stroke-width:2; stroke-linecap:round; opacity:.75; }
.trust-mascot-contour { stroke:#528cf0; stroke-width:1; stroke-dasharray:3 6; opacity:.35; }
.trust-mascot-points { fill:#fff; stroke:#4185ef; stroke-width:1.5; }
.trust-mascot-orbit { position:absolute; width:72%; max-width:460px; height:70%; border:1px solid #dae5f8; border-radius:50%; transform:rotate(-16deg); z-index:-1; }
.trust-mascot-orbit-two { width:63%; max-width:400px; height:88%; transform:rotate(22deg); opacity:.55; }
.trust-mascot-spark { position:absolute; color:#85a9eb; font-size:24px; left:17%; top:28%; }
.trust-mascot-spark-two { left:auto; right:18%; top:64%; color:#d9b876; font-size:28px; }
.trust-mascot-caption { position:relative; display:flex; flex-direction:column; gap:7px; padding:0 18px; text-align:center; }
.trust-mascot-caption strong { color:#203554; font-size:clamp(17px,2vw,21px); line-height:1.4; letter-spacing:-.025em; }
.trust-mascot-caption span { color:#64748b; font-size:12px; line-height:1.5; }
.trust-mascot-tips { order:2; display:flex; justify-content:center; flex-wrap:wrap; gap:10px 24px; color:#445775; font-size:13px; line-height:1.5; }
.trust-mascot-tips > span { display:inline-flex; align-items:center; gap:8px; }
.trust-mascot-tips svg { width:19px; height:19px; flex:none; stroke:#5484cd; stroke-width:1.6; stroke-linecap:round; }
@keyframes trust-mascot-breathe { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-5px) rotate(1deg); } }
@media(max-width:520px) {
  #onboardingScreen .trust-mascot-panel { gap:18px; }
  .trust-mascot { border-radius:22px; padding-bottom:18px; }
  .trust-mascot-stage { height:220px; }
  .trust-mascot-portrait { width:250px; max-width:100%; }
  .trust-mascot-spark { left:8%; } .trust-mascot-spark-two { right:8%; }
  #onboardingScreen .trust-mascot-panel .trust-preflight-actions { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
  #onboardingScreen .trust-mascot-panel .trust-preflight-actions .button { min-height:50px; border-radius:18px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .trust-mascot-portrait { animation:none; } }

