/* "Check a result": the public certificate verification page (/verify/).
   Same moonlit arch as the public share card, so a buyer who has seen a
   shared result recognises the lab straight away. */

.verify-page {
  width: min(100%, 720px);
  margin: 0 auto;
  padding: clamp(.75rem, 4vw, 2.5rem) 0;
}
.verify-card {
  position: relative;
  overflow: hidden;
  display: grid;
  justify-items: center;
  gap: 1rem;
  padding: clamp(1.5rem, 5vw, 3rem) clamp(1.1rem, 5vw, 3rem) clamp(1.3rem, 4vw, 2.2rem);
  border: 1px solid rgb(var(--c-neon) / .45);
  border-radius: 200px 200px 18px 18px / 120px 120px 18px 18px;
  background:
    radial-gradient(80% 50% at 50% 0%, rgb(var(--c-deep) / .85), transparent 75%),
    radial-gradient(60% 40% at 50% 100%, rgb(var(--c-accent) / .25), transparent 80%),
    linear-gradient(180deg, rgb(var(--c-bg-2)), rgb(var(--c-night)));
  box-shadow: inset 0 0 0 5px rgb(var(--c-night)), inset 0 0 0 6px rgb(var(--c-neon) / .22), 0 18px 45px rgb(var(--c-black) / .45), 0 0 40px rgb(var(--c-neon) / .15);
  color: rgb(var(--c-white));
  font-family: var(--lh-sans);
  text-align: center;
}
.verify-card > :not(.verify-card__stars) { position: relative; }
.verify-card__stars { position: absolute; inset: 0; pointer-events: none; }
.verify-card__stars i {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgb(var(--c-white));
  box-shadow: 0 0 6px rgb(var(--c-neon));
  opacity: .6;
  animation: verify-twinkle 3.4s ease-in-out infinite;
}
.verify-card__stars i:nth-child(1) { left: 14%; top: 18%; }
.verify-card__stars i:nth-child(2) { left: 85%; top: 15%; animation-delay: -.8s; }
.verify-card__stars i:nth-child(3) { left: 7%; top: 58%; animation-delay: -1.6s; }
.verify-card__stars i:nth-child(4) { left: 93%; top: 52%; animation-delay: -2.2s; }
.verify-card__stars i:nth-child(5) { left: 20%; top: 92%; animation-delay: -1.1s; }
.verify-card__stars i:nth-child(6) { left: 80%; top: 90%; animation-delay: -2.7s; }

.verify-card__seal {
  width: clamp(76px, 18vw, 96px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 0 20px rgb(var(--c-neon) / .6));
}
.verify-card .verify-card__kicker {
  margin: 0;
  color: rgb(var(--c-neon));
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.verify-card h1.verify-card__title {
  margin: 0;
  color: rgb(var(--c-white));
  font-family: var(--lh-serif);
  font-size: clamp(2rem, 7vw, 3.2rem);
  font-weight: 600;
  line-height: 1.05;
  overflow-wrap: anywhere;
  text-shadow: 0 0 22px rgb(var(--c-neon) / .4);
}
.verify-card .verify-card__lede {
  max-width: 34rem;
  margin: -.25rem 0 0;
  color: rgb(var(--c-surface-soft));
  font-size: 1rem;
  line-height: 1.6;
}
.verify-card a { color: rgb(var(--c-violet-200)); text-underline-offset: 3px; }
.verify-card a:hover, .verify-card a:focus-visible { color: rgb(var(--c-white)); }
.verify-mono { font-family: var(--lh-sans); font-variant-numeric: tabular-nums; letter-spacing: .08em; white-space: nowrap; }

/* verified */
.verify-card .verify-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 0;
  padding: .45rem 1rem .45rem .5rem;
  border: 1px solid rgb(var(--c-funding-accent) / .7);
  border-radius: 999px;
  background: rgb(var(--c-funding-surface) / .85);
  color: rgb(var(--c-funding-ink));
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 0 22px rgb(var(--c-funding-accent) / .25);
}
.verify-badge__tick {
  display: inline-grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: rgb(var(--c-funding-accent));
  color: rgb(var(--c-funding-surface));
  font-size: .95rem;
  font-weight: 900;
}
.verify-results { display: grid; gap: .75rem; width: min(100%, 520px); }
.verify-result {
  display: grid;
  gap: .3rem;
  padding: clamp(.9rem, 4vw, 1.4rem);
  border: 1px solid rgb(var(--c-neon) / .4);
  border-radius: 16px;
  background: rgb(var(--c-night) / .6);
  box-shadow: 0 0 26px rgb(var(--c-neon) / .18), inset 0 1px 0 rgb(var(--c-white) / .06);
}
.verify-card .verify-result__test { margin: 0; color: rgb(var(--c-surface-soft)); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.verify-card .verify-result__value {
  margin: 0;
  color: rgb(var(--c-white));
  font-family: var(--lh-serif);
  font-size: clamp(2rem, 8vw, 2.9rem);
  font-weight: 700;
  line-height: 1.05;
  overflow-wrap: anywhere;
  text-shadow: 0 0 20px rgb(var(--c-neon) / .6);
}
.verify-card .verify-result__secondary { margin: 0; color: rgb(var(--c-surface)); font-size: .95rem; font-weight: 600; }
.verify-card .verify-result__explain { margin: 0; color: rgb(var(--c-surface-soft)); font-size: .86rem; line-height: 1.5; }

.verify-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .1rem 1.25rem;
  width: min(100%, 520px);
  margin: 0;
  padding: .85rem 1.1rem;
  border-top: 1px solid rgb(var(--c-neon) / .3);
  border-bottom: 1px solid rgb(var(--c-neon) / .3);
  text-align: left;
}
.verify-facts > div { display: flex; justify-content: space-between; gap: .75rem; padding: .35rem 0; border-bottom: 1px dashed rgb(var(--c-neon) / .16); min-width: 0; }
.verify-facts dt { color: rgb(var(--c-surface) / .8); font-size: .82rem; font-weight: 700; }
.verify-facts dd { margin: 0; color: rgb(var(--c-white)); font-size: .88rem; font-weight: 650; text-align: right; overflow-wrap: anywhere; }
.verify-card .verify-card__note { max-width: 32rem; margin: 0; color: rgb(var(--c-surface) / .8); font-size: .82rem; line-height: 1.55; }

/* not found */
.verify-tips {
  display: grid;
  gap: .55rem;
  width: min(100%, 520px);
  margin: 0;
  padding: 1rem 1.1rem 1rem 2.2rem;
  border: 1px solid rgb(var(--c-neon) / .3);
  border-radius: 14px;
  background: rgb(var(--c-night) / .55);
  color: rgb(var(--c-surface-soft));
  font-size: .92rem;
  line-height: 1.5;
  text-align: left;
}
.verify-tips li::marker { color: rgb(var(--c-neon)); }

/* the form */
.verify-form { display: grid; gap: .45rem; width: min(100%, 520px); margin-top: .25rem; }
.verify-card .verify-form__label { color: rgb(var(--c-surface-soft)); font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.verify-form__row { display: flex; gap: .5rem; }
.verify-card .verify-form__input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 54px;
  padding: .6rem 1rem;
  border-radius: 14px;
  font-family: var(--lh-sans);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}
/* the site-wide light field style applies; only the placeholder is softened */
.verify-card .verify-form__input::placeholder { color: rgb(var(--c-muted) / .55); letter-spacing: .12em; }
.verify-card .verify-form__input:focus-visible { outline: 2px solid rgb(var(--c-neon)); outline-offset: 2px; box-shadow: 0 0 22px rgb(var(--c-neon) / .4); }
.verify-card .verify-form__button {
  flex: 0 0 auto;
  min-height: 54px;
  padding: .7rem 1.35rem;
  border: 1px solid rgb(var(--c-neon) / .8);
  border-radius: 14px;
  background: linear-gradient(135deg, rgb(var(--c-accent)), rgb(var(--c-deep)));
  color: rgb(var(--c-white));
  font-family: var(--lh-sans);
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 0 20px rgb(var(--c-neon) / .4);
  transition: transform .2s ease, box-shadow .2s ease;
}
.verify-card .verify-form__button:hover,
.verify-card .verify-form__button:focus-visible { transform: translateY(-2px); box-shadow: 0 0 30px rgb(var(--c-neon) / .65); }

.verify-where {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
  width: min(100%, 560px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.verify-where li {
  padding: .7rem .6rem;
  border: 1px solid rgb(var(--c-neon) / .25);
  border-radius: 12px;
  background: rgb(var(--c-night) / .45);
  color: rgb(var(--c-surface) / .85);
  font-size: .8rem;
  line-height: 1.4;
}
.verify-where strong { display: block; color: rgb(var(--c-white)); font-size: .86rem; }

.verify-card .verify-card__by { display: inline-flex; align-items: center; gap: .5rem; margin: .2rem 0 0; color: rgb(var(--c-surface) / .75); font-size: .82rem; font-weight: 650; }
.verify-card__by img { width: 28px; height: 28px; }

@keyframes verify-twinkle { 0%, 100% { opacity: .2; transform: scale(.7); } 50% { opacity: .9; transform: scale(1.2); } }

@media (max-width: 560px) {
  .verify-card { border-radius: 120px 120px 16px 16px / 80px 80px 16px 16px; }
  .verify-form__row { flex-direction: column; }
  .verify-facts { grid-template-columns: minmax(0, 1fr); }
  .verify-where { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .verify-card__stars i { animation: none; }
  .verify-card .verify-form__button { transition: none; }
}
html[data-sparkles='off'] .verify-card__stars { display: none; }

/* small "check this result" line on certificates and share pages */
.verify-stamp {
  display: grid;
  justify-items: center;
  gap: .2rem;
  margin: .9rem auto 0;
  font-family: var(--lh-sans);
  text-align: center;
}
.verify-stamp__code {
  display: inline-block;
  padding: .3rem .8rem;
  border: 1px dashed rgb(var(--c-accent) / .55);
  border-radius: 8px;
  color: rgb(var(--c-deep));
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .12em;
  font-variant-numeric: tabular-nums;
}
.verify-stamp__how { margin: 0; color: rgb(var(--c-muted)); font-size: .8rem; }
.verify-stamp__how a { color: rgb(var(--c-accent)); font-weight: 700; }
.verify-stamp__label { color: rgb(var(--c-muted)); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

/* on the dark public share card */
.share-card .verify-stamp__label,
.share-card .verify-stamp__how { color: rgb(var(--c-surface) / .75); }
.share-card .verify-stamp__code { border-color: rgb(var(--c-neon) / .55); color: rgb(var(--c-white)); }
.share-card .verify-stamp__how a { color: rgb(var(--c-violet-200)); }
.share-card .share-card__story {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 44px;
  padding: .55rem 1.1rem;
  border: 1px solid rgb(var(--c-neon) / .55);
  border-radius: 999px;
  background: rgb(var(--c-night) / .6);
  color: rgb(var(--c-surface-soft));
  font-size: .92rem;
  font-weight: 750;
  text-decoration: none;
}
.share-card .share-card__story:hover,
.share-card .share-card__story:focus-visible { color: rgb(var(--c-white)); border-color: rgb(var(--c-neon)); box-shadow: 0 0 18px rgb(var(--c-neon) / .4); }

@media print {
  .verify-stamp__label,
  .verify-stamp__code,
  .verify-stamp__how,
  .verify-stamp__how a { color: rgb(var(--c-black)) !important; -webkit-text-fill-color: rgb(var(--c-black)) !important; }
  .verify-stamp__code { border-color: rgb(var(--c-black)) !important; }
}

/* results page: the story image waits for the reveal, like the Share button */
.reveal-card.is-veiled [data-story-link] { display: none; }
