/* The RGB image is the unmodified original. Generated artwork supplies alpha only. */
.hologram-stage{height:650px;perspective:1200px;background:radial-gradient(ellipse at 50% 40%,#16667d38,transparent 63%);--turn-x:0deg;--turn-y:0deg;--holo-opacity:.3}
.portrait-perspective{position:absolute;z-index:2;width:min(118%,620px);aspect-ratio:1;left:50%;bottom:62px;transform:translateX(-50%) rotateY(var(--turn-y)) rotateX(var(--turn-x));transform-style:preserve-3d;transition:transform .18s ease-out;cursor:grab;touch-action:pan-y;outline-offset:-35px;user-select:none;-webkit-user-select:none}
.portrait-perspective:active{cursor:grabbing}.portrait-perspective.is-dragging{transition:none}
.portrait-float{width:100%;height:100%;animation:identity-float 7s ease-in-out infinite;filter:drop-shadow(0 0 16px #55e3f027);mask-image:linear-gradient(#000 85%,transparent 100%);-webkit-mask-image:linear-gradient(#000 85%,transparent 100%)}
.portrait-cutout{position:relative;width:100%;height:100%;mask-image:url('./lf-presencia-20261011-r3-mascara-interior.svg'),url('./lf-presencia-20261011-r3-luis-mascara-transparente.png');mask-size:100% 100%;mask-repeat:no-repeat;mask-composite:add;-webkit-mask-image:url('./lf-presencia-20261011-r3-mascara-interior.svg'),url('./lf-presencia-20261011-r3-luis-mascara-transparente.png');-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-composite:source-over}
#identity-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.portrait-light,.portrait-scan{position:absolute;inset:0;pointer-events:none}
.portrait-light{background:linear-gradient(110deg,#00d9ff66,transparent 38%,transparent 65%,#6bfaff77);mix-blend-mode:screen;opacity:var(--holo-opacity);transition:opacity .3s}
.portrait-scan{background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#85e9ff45 3px,#85e9ff45 4px);opacity:calc(var(--holo-opacity) * .24);mask-image:linear-gradient(transparent 10%,#000 85%);animation:scan-drift 9s linear infinite}
.light-column{position:absolute;inset:8% 7% 16%;background:linear-gradient(0deg,#70eaff18,transparent 80%);clip-path:polygon(38% 100%,62% 100%,100% 0,0 0);opacity:.7}
.halo-one{top:39%;height:72%;width:90%;border-color:#7cf7ff25;box-shadow:0 0 70px #14b6da0c,inset 0 0 30px #14b6da0c}
.halo-two{top:39%;height:84%;width:110%;border-color:#7cf7ff14;transform:translate(-50%,-50%) rotate(-12deg)}
.projection-base{position:absolute;left:10%;right:10%;height:48px;bottom:57px;z-index:3;border:1px solid #8cefff88;border-radius:50%;box-shadow:0 0 25px #75eeff44,inset 0 0 24px #68e8ff30;background:radial-gradient(ellipse,#8cf2ff33,transparent 62%);pointer-events:none}
.projection-base i{position:absolute;inset:7px 24px;border:1px solid #80eaff3d;border-radius:50%}.projection-base i:nth-child(2){inset:-10px -22px;border-color:#80eaff16}.projection-base i:nth-child(3){inset:16px 70px;border-color:#bdfaff55}
.identity-signature{position:absolute;z-index:4;bottom:9px;left:0;right:0;text-align:center;pointer-events:none}.identity-signature span{font-size:12px;letter-spacing:.35em;color:#d3f2f5}.identity-signature small{display:block;font-size:7px;letter-spacing:.2em;color:#73a2b4;margin-top:8px}
.presence-controls{gap:7px}.presence-controls button>span:last-child{font-size:10px}
.source-button{display:block;margin:4px auto 0;padding:10px 12px;min-height:44px;border:0;background:transparent;color:#a8d8e3;font-size:10px;text-decoration:underline;text-underline-offset:4px}
.media-dialog{color:var(--text);background:#0c1e30;border:1px solid #5e9bb355;border-radius:18px;padding:20px;max-width:min(720px,94vw);max-height:92dvh;overflow:auto}.media-dialog::backdrop{background:#010914dd;backdrop-filter:blur(12px)}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.dialog-heading h2{font-size:19px;margin:0;font-weight:500}.dialog-heading button{min-width:44px;height:44px;background:#ffffff09;border:1px solid var(--line);color:var(--text);border-radius:50%;font-size:25px}
.media-dialog>img{display:block;width:min(100%,60vh);height:auto;margin:auto;border-radius:10px}.media-dialog video{display:block;width:100%;max-height:68dvh;background:#000}.media-dialog p{font-size:12px;line-height:1.7;color:#adc6d5}.media-dialog a{text-decoration:underline}
.hologram-stage[data-paused=true] *{animation-play-state:paused!important}
.hologram-stage[data-state=answering] .projection-base{box-shadow:0 0 35px #75eeff70,inset 0 0 28px #68e8ff40}
.hologram-stage[data-state=listening] .projection-base{border-color:#e7ffff}
.hologram-stage[data-light=off]{--holo-opacity:0}
@keyframes identity-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes scan-drift{from{background-position:0 0}to{background-position:0 28px}}
@supports not (mask-image:url('')){.portrait-cutout{border-radius:22px}.portrait-light,.portrait-scan{display:none}}
@media(min-width:1650px){.hologram-stage{height:720px}.portrait-perspective{width:min(118%,690px)}}
@media(max-width:1200px){.hologram-stage{height:580px}.portrait-perspective{width:min(118%,540px)}}
@media(max-width:700px){.hologram-stage{height:450px;min-height:390px;max-height:none}.portrait-perspective{width:min(118%,420px);bottom:55px}.projection-base{bottom:49px}.identity-signature{bottom:1px}.presence-controls button{font-size:9px}.presence-controls button>span:last-child{font-size:9px}.presence-top{font-size:7px}.status-light{font-size:7px}.media-dialog{padding:14px}.dialog-heading h2{font-size:16px}}
@media(max-width:355px){.hologram-stage{height:410px;min-height:0}.portrait-perspective{width:125%;bottom:60px}.presence-controls{display:grid;grid-template-columns:1fr 1fr}.presence-controls button{justify-content:center}}
@media(prefers-reduced-motion:reduce){.portrait-perspective{transition:none}.portrait-float,.portrait-scan{animation:none}}
