/* MassaCoin — verificação facial guiada (R167): tela cheia estilo banco digital */
html.bio-open, html.bio-open body { overflow: hidden; }
.bio { position: fixed; inset: 0; z-index: 2147483200; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px)); box-sizing: border-box; color: #F5F1E3; font-family: Poppins, system-ui, sans-serif; overflow-y: auto;
  background: radial-gradient(120% 90% at 50% 0%, #14224A 0%, #0A1230 55%, #050811 100%); }
.bio__head { width: 100%; max-width: 460px; display: flex; align-items: center; gap: 10px; }
.bio__x { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(212,175,55,.6); background: rgba(255,255,255,.06); color: #F5F1E3; font-size: 18px; cursor: pointer; }
.bio__ttl { display: flex; flex-direction: column; line-height: 1.25; }
.bio__ttl strong { font-size: 17px; letter-spacing: .2px; }
.bio__ttl span { font-size: 12px; color: #9FB4E8; }
.bio__dots { display: flex; gap: 7px; justify-content: center; }
.bio__dot { width: 26px; height: 5px; border-radius: 4px; background: rgba(255,255,255,.18); transition: background .25s; }
.bio__dot.is-now { background: #D4AF37; }
.bio__dot.is-done { background: #22C55E; }
.bio__stage { position: relative; width: min(100%, 420px, max(190px, calc((100vh - 270px) * .75))); aspect-ratio: 3 / 4; min-height: 240px; border-radius: 26px; overflow: hidden; background: #000; border: 1px solid rgba(212,175,55,.35); box-shadow: 0 18px 50px rgba(0,0,0,.55); }
.bio__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); }
.bio__mask { position: absolute; inset: 0; width: 100%; height: 100%; }
.bio__shade { fill: rgba(5, 8, 17, .78); }
.bio__ring0 { stroke: rgba(255,255,255,.45); stroke-width: 2.5; stroke-dasharray: 5 6; }
.bio__ring { stroke: #D4AF37; stroke-width: 6; stroke-linecap: round; transition: stroke-dashoffset .12s linear, stroke .25s; filter: drop-shadow(0 0 6px rgba(212,175,55,.7)); }
.bio__ring.is-bad { stroke: #EF4444; filter: drop-shadow(0 0 6px rgba(239,68,68,.7)); }
.bio__arrow { position: absolute; z-index: 2; color: #FFD700; font-weight: 800; line-height: 1; text-shadow: 0 2px 12px rgba(0,0,0,.7); pointer-events: none; }
.bio__arrow--up { top: 2%; left: 50%; font-size: 64px; transform: translateX(-50%); animation: bioUp 1s ease-in-out infinite; }
.bio__arrow--down { bottom: 2%; left: 50%; font-size: 64px; transform: translateX(-50%); animation: bioDown 1s ease-in-out infinite; }
@keyframes bioDown { 0%,100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 12px); } }
.bio__arrow--right { right: 2%; top: 47.5%; font-size: 72px; transform: translateY(-50%); animation: bioRight 1s ease-in-out infinite; }
.bio__arrow--left { left: 2%; top: 47.5%; font-size: 72px; transform: translateY(-50%); animation: bioLeft 1s ease-in-out infinite; }
.bio__arrow--in, .bio__arrow--out { left: 50%; bottom: 4%; font-size: 52px; transform: translateX(-50%); animation: bioPulse 1.1s ease-in-out infinite; }
@keyframes bioUp { 0%,100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, -12px); } }
@keyframes bioRight { 0%,100% { transform: translate(0, -50%); } 50% { transform: translate(12px, -50%); } }
@keyframes bioLeft { 0%,100% { transform: translate(0, -50%); } 50% { transform: translate(-12px, -50%); } }
@keyframes bioPulse { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.25); } }
.bio__flash { position: absolute; left: 50%; top: 47.5%; z-index: 3; width: 92px; height: 92px; margin: -46px 0 0 -46px; border-radius: 50%; background: rgba(34,197,94,.92); color: #fff; font-size: 56px; display: flex; align-items: center; justify-content: center; opacity: 0; }
.bio__flash.is-on { animation: bioFlash .6s ease-out; }
@keyframes bioFlash { 0% { opacity: 0; transform: scale(.5); } 35% { opacity: 1; transform: scale(1.08); } 100% { opacity: 0; transform: scale(1); } }
.bio .bio__instr { min-height: 1.3em; font-size: clamp(21px, 6vw, 28px); font-weight: 800; text-align: center; line-height: 1.2; color: #FFFFFF; }
.bio .bio__instr.is-ok { color: #4ADE80; }
.bio .bio__instr.is-bad { color: #FCA5A5; }
.bio .bio__sub { min-height: 1.3em; max-width: 420px; font-size: 14px; text-align: center; color: #BFD0FF; line-height: 1.35; }
.bio__sub.is-bad { color: #FDBA74; font-weight: 700; }
.bio__bar { display: none; }
.bio__actions { display: flex; gap: 10px; width: 100%; max-width: 420px; }
.bio__actions[hidden], .bio__arrow[hidden], .bio__flash[hidden] { display: none; }
.bio__btn { flex: 1; padding: 14px 10px; border-radius: 14px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; }
.bio__btn--go { border: 0; background: linear-gradient(135deg, #FFD700, #D4AF37); color: #1A2F4F; }
.bio__foot { margin-top: auto; max-width: 420px; text-align: center; font-size: 12px; color: #8FA3D6; line-height: 1.4; }
@media (prefers-reduced-motion: reduce) { .bio__arrow, .bio__flash.is-on { animation: none; } }

/* cartão que abre a verificação (verificar.html e parceiro.html) */
.bio-card { border: 1.5px solid #D4AF37; border-radius: 18px; padding: 16px; margin-bottom: 14px; background: linear-gradient(160deg, #0F1D45, #0A1230); color: #F5F1E3; }
.bio-card__t { margin: 0 0 6px; font-size: 18px; font-weight: 800; color: #FFD700; }
.bio-card__p { margin: 0 0 12px; font-size: 14px; line-height: 1.45; color: #D7E1FF; }
.bio-card__list { margin: 0 0 12px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.bio-card__list li { font-size: 12px; padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(212,175,55,.45); }
.bio-card__btn { width: 100%; padding: 14px; border: 0; border-radius: 14px; font-weight: 800; font-size: 16px; cursor: pointer; background: linear-gradient(135deg, #FFD700, #D4AF37); color: #1A2F4F; }
.bio-card__msg { margin: 10px 0 0; font-size: 14px; font-weight: 700; color: #FDBA74; }
.bio-card.is-ok { border-color: #22C55E; }
.bio-card.is-ok .bio-card__t { color: #4ADE80; }
.bio-card__prev { display: flex; gap: 10px; align-items: center; margin-top: 10px; }
.bio-card__prev img { width: 64px; height: 84px; object-fit: cover; border-radius: 12px; border: 2px solid #22C55E; }
