.analysis-loading-screen .analysis-title-icon{display:inline-grid;place-items:center;width:.8em;height:.8em;vertical-align:.05em;color:#141414}.analysis-loading-screen .analysis-title-icon svg{width:100%;height:100%}
.analysis-loading-screen .analysis-lead{margin-bottom:8px}.analysis-loading-screen .analysis-section-title{display:block;margin-bottom:6px;font-size:11px}.analysis-loading-screen .analysis-type-icon{display:grid!important;place-items:center;width:38px;height:38px;margin:0 auto 4px!important;font-size:29px!important}.analysis-loading-screen .analysis-type-icon svg{width:29px;height:29px}.analysis-loading-screen .analysis-type-label{display:block!important;margin:0!important;font-size:11px!important;line-height:1.2;font-weight:750}.analysis-loading-screen .analysis-type-copy{display:block!important;min-width:0;margin:0!important;font-size:inherit!important}.analysis-loading-screen .analysis-type-value{display:block;margin-top:4px;font-size:11px;line-height:1.15;color:#151718}
.analysis-loading-screen .analysis-security-icon{width:18px;height:18px;display:grid;place-items:center}.analysis-loading-screen .analysis-security-icon svg{width:17px;height:17px}.analysis-loading-screen .analysis-security-text{font-size:8px;line-height:1.4}
.analysis-loading-screen .analysis-security-text{font-size:11px;line-height:1.2}
.analysis-loading-screen.is-complete .analysis-security-text{white-space:normal!important;overflow-wrap:anywhere}
.analysis-type{position:relative;transition:border-color .22s linear,background-color .22s linear}.analysis-type .analysis-type-check{position:absolute;right:6px;top:6px;width:22px;height:22px;margin:0!important;border-radius:50%;display:grid!important;place-items:center;background:#e3f7e9;color:#2aaa5a;opacity:0;transform:scale(.92);transition:opacity .2s linear,transform .2s linear}.analysis-type .analysis-type-check svg{display:block;width:12px!important;height:12px!important;margin:0!important;stroke-width:2.2!important}.analysis-type.is-detected{border-color:#ccebd6;background:#fbfffc}.analysis-type.is-newly-detected{animation:none}.analysis-type.is-detected .analysis-type-check{opacity:1;transform:scale(1)}

/* MRI-inspired face mapping: every layer follows the real analysis percentage. */
.analysis-loading-screen .analysis-photo{--analysis-progress:0;height:184px;margin:5px 52px 9px;isolation:isolate;background:#142126;border-radius:20px;overflow:hidden}
.analysis-loading-screen .analysis-photo>img{filter:saturate(.84) contrast(1.025) brightness(.92)}
.analysis-loading-screen .analysis-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 47% 54% at 50% 45%,transparent 0 48%,#081b2021 69%,#04131970 100%),linear-gradient(180deg,#10272d12 0,transparent 46%,#07191f35 100%);mix-blend-mode:multiply;animation:analysis-vignette-breathe 3.2s ease-in-out infinite alternate}
@keyframes analysis-vignette-breathe{from{opacity:.84}to{opacity:1}}
.face-scan-visual{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;color:#9ed7dc}
.face-landmark-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.scan-beam{position:absolute;left:-5%;right:-5%;top:clamp(0%,calc(var(--analysis-progress) * 1%),100%);height:1px;transform:translateY(-50%);background:#e3f6f7;box-shadow:0 0 4px #d8f4f5,0 0 12px 3px #8fcfd45c;transition:top .18s linear}
.scan-beam::before{content:"";position:absolute;left:0;right:0;bottom:0;height:30px;background:linear-gradient(0deg,#b3dfe21c,transparent)}
.scan-beam::after{content:"";position:absolute;left:20%;right:20%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#f7ffff 48%,#d3edef 54%,transparent);animation:scan-beam-shimmer 1.8s ease-in-out infinite}
.scan-beam span{position:absolute;right:9px;top:-11px;width:14px;height:7px;border-top:1px solid #d2edef99;border-right:1px solid #d2edef99}
@keyframes scan-beam-shimmer{0%,100%{transform:translateX(-6%);opacity:.35}50%{transform:translateX(6%);opacity:.8}}
.analysis-photo[data-analysis-progress="100"] .scan-beam{opacity:0}
@media(prefers-reduced-motion:reduce){.scan-beam::after,.analysis-loading-screen .analysis-photo::after{animation:none}}

.analysis-complete-badge{position:absolute;z-index:5;left:50%;bottom:10px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #ccebd6;border-radius:999px;background:#f1faf4e8;color:#207c44;font-size:8px;font-weight:800;box-shadow:0 5px 16px #092f1826;backdrop-filter:blur(6px);animation:analysis-complete-in .42s ease both}.analysis-complete-check{width:14px;height:14px;display:grid;place-items:center;border-radius:50%;background:#2aa45d;color:#fff}.analysis-complete-check svg{width:9px;height:9px;stroke-width:3}.analysis-photo.analysis-complete::after{opacity:.55;animation:none}.analysis-photo.analysis-complete .face-landmark-canvas{opacity:.48;transition:opacity .4s ease}.analysis-photo.analysis-complete .scan-beam{display:none}@keyframes analysis-complete-in{from{opacity:0;transform:translate(-50%,5px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.analysis-loading-screen .analysis-types{gap:4px}.analysis-loading-screen .analysis-type{min-height:76px;padding:7px 3px}.analysis-loading-screen .analysis-types.has-results{gap:4px}.analysis-loading-screen .analysis-types.has-results .analysis-type{min-height:76px;padding:7px 3px}
.analysis-preferences-action{width:100%;min-height:42px;margin:8px 0 7px;padding:8px 14px;display:grid;grid-template-columns:24px 1fr 24px;align-items:center;border:0;border-radius:9px;background:#111517;color:#fff;font-size:12px;transition:opacity .25s ease,background .25s ease,transform .2s ease}.analysis-preferences-action:disabled{opacity:.24;cursor:default}.analysis-preferences-action:not(:disabled):active{transform:scale(.985)}.analysis-preferences-icon,.analysis-preferences-arrow{display:grid;place-items:center}.analysis-preferences-icon svg,.analysis-preferences-arrow svg{width:17px;height:17px}.analysis-preferences-label{font-weight:800}.analysis-loading-screen.is-complete .analysis-security{margin-top:0}.analysis-loading-screen.is-complete .analysis-security-text{white-space:nowrap}

.analysis-result-screen{padding-bottom:14px}.analysis-result-screen .result-validation{width:67px;height:67px;margin:14px auto 13px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#eef8f0,#e1f2e7);color:#28a85a}.analysis-result-screen .result-validation-icon{display:grid;place-items:center;width:39px;height:39px}.analysis-result-screen .result-validation-icon svg{width:39px;height:39px;stroke-width:2.8}.analysis-result-screen .result-title{margin:4px -4px 8px;font-size:28px;line-height:1.08;letter-spacing:-.045em}.analysis-result-screen .result-lead{max-width:315px;margin-bottom:18px;font-size:12px;line-height:1.45;color:#77787a}.analysis-result-screen .result-card{margin:0 0 16px;padding:0;border:1px solid #f0ebe6;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 32px #8e705812}.analysis-result-screen .result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.analysis-result-screen .result-item{min-width:0;min-height:132px;padding:14px 5px 11px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border-right:1px solid #eee9e4;border-bottom:1px solid #eee9e4;border-radius:0}.analysis-result-screen .result-item:nth-child(3n){border-right:0}.analysis-result-screen .result-item:nth-child(n+4){border-bottom:0}.analysis-result-screen .result-item-icon{width:48px;height:48px;margin:0 0 9px;display:grid;place-items:center;border-radius:50%;background:#faf1ea;color:#111}.analysis-result-screen .result-item-icon svg{width:29px;height:29px;stroke-width:1.7}.analysis-result-screen .result-item-label{display:block;margin:0 0 6px;color:#55575a;font-size:11px;line-height:1.15;text-transform:none}.analysis-result-screen .result-item-value{display:block;max-width:105px;font-size:12px;line-height:1.2;font-weight:800}.analysis-result-screen .result-action{width:100%;min-height:53px;margin:0 0 13px;padding:10px 17px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;border-radius:10px;background:#111517;color:#fff;font-size:15px}.analysis-result-screen .result-action-icon,.analysis-result-screen .result-action-arrow{display:grid;place-items:center}.analysis-result-screen .result-action-icon svg{width:20px;height:20px}.analysis-result-screen .result-action-arrow svg{width:20px;height:20px}.analysis-result-screen .result-action-label{font-weight:800}.analysis-result-screen .result-security{min-height:43px;margin-top:0;padding:9px 13px;border-radius:11px;background:#f2f2f2;color:#5c5e60}.analysis-result-screen .result-security-icon{width:19px;height:19px;display:grid;place-items:center;color:#151718}.analysis-result-screen .result-security-icon svg{width:17px;height:17px}.analysis-result-screen .result-security-text{font-size:10px;line-height:1.35}
.analysis-section-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}
.analysis-section-row .analysis-section-title{margin:0}
.analysis-details-trigger{height:25px;padding:0 9px;border:1px solid #e5e5e5;border-radius:999px;background:#f4f4f4;color:#4a4a4a;display:inline-flex;align-items:center;gap:5px;font-size:8.5px;font-weight:850}
.analysis-details-trigger svg{width:12px;height:12px;stroke-width:1.8}

.selfie-screen .selfie-security,
.analysis-loading-screen .analysis-security,
.analysis-result-screen .result-security{
  width:auto!important;
  max-width:calc(100% - 34px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  box-sizing:border-box!important;
}
.analysis-loading-screen .analysis-types.recommendation-directions{gap:5px}
.analysis-loading-screen .analysis-types.recommendation-directions .analysis-type{min-height:84px;padding:7px 4px 8px;background:#fff;border-color:#e5e5e5}
.analysis-loading-screen .analysis-types.recommendation-directions .analysis-type.is-detected{background:#fbfffc;border-color:#ccebd6}
.analysis-types.recommendation-directions .analysis-type-icon{width:34px;height:34px;margin-bottom:4px!important}
.analysis-types.recommendation-directions .analysis-type-icon svg{width:24px;height:24px;stroke-width:1.65}
.analysis-types.recommendation-directions .analysis-type-label{font-size:8.5px!important;color:#77706a}
.analysis-types.recommendation-directions .analysis-type-value{font-size:9.2px;line-height:1.18;max-width:96px;margin-inline:auto}
.analysis-loading-screen.is-running .analysis-photo{width:min(84vw,520px);height:min(54vh,500px);min-height:360px;margin:16px auto 22px;border-radius:18px}
.analysis-loading-screen.is-running .analysis-preferences-action{margin-top:auto}

/* FaceShape integration pass: keep the selfie readable by the detector and simplify the result screen. */
.analysis-loading-screen.is-running .analysis-photo{
  width:min(88vw,520px)!important;
  height:min(42vh,410px)!important;
  min-height:300px!important;
  max-height:430px!important;
  margin:14px auto 18px!important;
}
.analysis-loading-screen.is-running .analysis-photo>img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#142126!important;
}
.analysis-loading-screen .analysis-types.recommendation-directions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:8px!important;
}
.analysis-loading-screen .analysis-types.recommendation-directions .analysis-type{
  min-height:126px!important;
  padding:14px 8px 13px!important;
}
.analysis-loading-screen .analysis-types.recommendation-directions .analysis-type-icon{
  width:54px!important;
  height:54px!important;
  margin-bottom:9px!important;
}
.analysis-loading-screen .analysis-types.recommendation-directions .analysis-type-icon svg{
  width:36px!important;
  height:36px!important;
  stroke-width:1.8!important;
}
.analysis-loading-screen .analysis-types.recommendation-directions .analysis-type-label{
  font-size:11px!important;
  line-height:1.1!important;
}
.analysis-loading-screen .analysis-types.recommendation-directions .analysis-type-value{
  font-size:12px!important;
  line-height:1.14!important;
  max-width:120px!important;
}
.analysis-loading-screen.is-running .analysis-security{margin-top:18px}
.vlm-details-backdrop{position:absolute;inset:0;z-index:50;padding:16px 16px 20px;display:grid;place-items:center;background:rgba(20,18,16,.28);backdrop-filter:blur(3px)}
.vlm-details-modal{position:relative;width:100%;max-width:680px;max-height:min(78vh,690px);padding:16px 16px 14px;border-radius:24px;background:#111819;color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.28);overflow:auto}
.vlm-details-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center}
.vlm-details-close svg{width:16px;height:16px}
.vlm-details-modal h2{margin:0 42px 4px 0;font-size:19px;line-height:1.05;letter-spacing:-.035em}
.vlm-details-lead{margin:0 0 12px;color:#c9d0cf;font-size:10.5px;line-height:1.3}
.vlm-detail-list{display:grid;gap:10px}
.vlm-detail-item{padding:14px 14px 13px!important}
.vlm-detail-item small{font-size:8px!important}
.vlm-detail-item h3{font-size:12px!important;line-height:1.12!important;margin:0 0 5px!important}
.vlm-detail-item p{font-size:8.8px!important;line-height:1.32!important}
.vlm-detail-list{display:grid;gap:9px}
.vlm-detail-card{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.055)}
.vlm-detail-card small{display:block;margin-bottom:4px;color:#67e394;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.vlm-detail-card b{display:block;margin-bottom:4px;font-size:15px;line-height:1.1}
.vlm-detail-card p{margin:0;color:#d2d8d6;font-size:11.5px;line-height:1.35}

/* Final FaceShape-readability pass.
   The detector receives the raw selfie, but the prototype must also show the full face
   so we can visually trust that the analyzed portrait matches the displayed one. */
.analysis-loading-screen.is-running .analysis-photo{
  width:min(88vw,520px)!important;
  height:min(40vh,390px)!important;
  min-height:286px!important;
  max-height:390px!important;
  margin:16px auto 24px!important;
  border-radius:18px!important;
  background:#121b1f!important;
}
.analysis-loading-screen.is-running .analysis-photo>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#121b1f!important;
}
.analysis-loading-screen.is-running .analysis-photo .face-scan-visual,
.analysis-loading-screen.is-running .analysis-photo .corner{
  pointer-events:none!important;
}
.analysis-loading-screen.is-running .analysis-preferences-action{
  margin-top:0!important;
}

/* Step 3 is now a direction summary, not a second technical analysis screen. */
