/* dotale.tech · Nosotros: «Real ⇄ Gemelo» */
.portrait.twin{place-items:stretch}
.portrait.twin>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;opacity:0;transition:opacity 1.1s ease}
.portrait.twin.real>img{opacity:1}
.portrait.twin canvas.tw-c{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.portrait.twin .tw-scan{position:absolute;left:0;right:0;height:2px;top:-4px;background:linear-gradient(90deg,transparent,#06B6D4 20%,#4F46E5 80%,transparent);box-shadow:0 0 18px 4px rgba(6,182,212,.45);opacity:0;pointer-events:none}
.portrait.twin .tw-tag{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-b);font:400 10px/1 var(--fm);letter-spacing:.16em;color:var(--ink-2)}
.portrait.twin .tw-tag i{width:7px;height:7px;border-radius:50%;background:#10B981;box-shadow:0 0 8px #10B981;animation:twBlink 1.4s infinite}
.portrait.twin .tw-tag b{font-weight:500;color:var(--ink)}
@keyframes twBlink{50%{opacity:.35}}
.portrait.twin .tw-term{position:absolute;left:16px;right:16px;bottom:16px;padding:14px 16px 12px;border-radius:16px;background:rgba(11,11,18,.78);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.1);color:#E6E6F0;font:400 12px/1.65 var(--fm);min-height:118px;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.portrait.twin .tw-term .tw-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:9.5px;letter-spacing:.18em;color:#8A8AA3}
.portrait.twin .tw-term .tw-h span:first-child::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:linear-gradient(45deg,#4F46E5,#06B6D4);box-shadow:0 0 8px #06B6D4;margin-right:8px;vertical-align:1px}
.portrait.twin .tw-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portrait.twin .tw-l .k{color:#7C78F5}.portrait.twin .tw-l .v{color:#F2F2F7}.portrait.twin .tw-l .ok{color:#6EE7B7}
.portrait.twin .tw-cur{display:inline-block;width:7px;height:13px;background:#06B6D4;vertical-align:-2px;margin-left:2px;animation:twBlink 1s steps(1) infinite}
@media (prefers-reduced-motion:reduce){.portrait.twin>img{opacity:1}.portrait.twin canvas.tw-c,.portrait.twin .tw-scan{display:none}}
