.intro-open{overflow:hidden}.intro-scene{position:fixed;inset:0;background:#656469;z-index:100;color:#fff;overflow:hidden;cursor:pointer;outline:none;isolation:isolate}.intro-scene:focus-visible{outline:2px solid white;outline-offset:-5px}.portrait-stage{position:absolute;inset:0;overflow:hidden}.portrait-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .4s}.portrait-stage.webgl-ready canvas{opacity:1}.portrait-stage img{position:absolute;object-fit:contain;max-width:none;pointer-events:none}.portrait-stage.webgl-ready img{visibility:hidden}.intro-brand{position:absolute;top:34px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;z-index:4;pointer-events:none;text-shadow:0 1px 8px #3335}.intro-brand span:first-child{font:16px Consolas,monospace}.intro-brand span:last-child{font-size:12px;font-weight:400}.intro-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.intro-overlay path{fill:none;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}.intro-overlay circle{vector-effect:non-scaling-stroke}.intro-overlay text{fill:white;font:14px "Segoe UI","Microsoft YaHei",sans-serif;paint-order:stroke;stroke:#3a3a4030;stroke-width:2px;stroke-linejoin:round}.intro-scan{position:absolute;top:0;bottom:0;left:0;width:2px;background:#ff5559;box-shadow:0 0 6px 2px #ff4b55b0,0 0 20px 4px #ff455647;pointer-events:none;z-index:2;opacity:0}.intro-action{position:absolute;bottom:76px;left:20px;right:20px;display:flex;justify-content:center;align-items:center;gap:18px;z-index:5;font-size:12px;pointer-events:none;text-shadow:0 1px 8px #3336}.intro-action-line{display:block;width:28px;height:1px;background:#ffffff85}.intro-foot{position:absolute;bottom:25px;left:4%;right:4%;display:flex;justify-content:space-between;gap:15px;color:#eee;font-size:9px;z-index:5;pointer-events:none;text-shadow:0 1px 8px #3336}.intro-scene[data-phase=centering] .intro-action,.intro-scene[data-phase=revealing] .intro-action{opacity:0}.intro-scene[data-phase=complete]{pointer-events:none}.intro-scene[data-phase=loading] .intro-action{opacity:.5}@media(max-width:700px){.intro-brand{top:24px;left:22px;right:22px}.intro-brand span:first-child{font-size:13px}.intro-brand span:last-child{font-size:10px}.intro-overlay text{font-size:11px}.intro-action{bottom:84px;font-size:11px;gap:12px}.intro-foot{left:22px;right:22px;bottom:25px;font-size:8px;line-height:1.7}.intro-foot>span:first-child{max-width:65%}}
.intro-overlay .face-surface{stroke-width:.8;stroke-linecap:round;stroke-linejoin:round}#hairOcclusion{mask-type:luminance}@media(max-width:700px){.intro-overlay .face-surface{stroke-width:.65}}
.intro-scan{will-change:transform}
.intro-scan.intro-scan-horizontal{bottom:auto;right:0;width:100%;height:2px}
.square-lens{position:absolute;left:0;top:0;box-sizing:border-box;border:1px solid #ffffffa6;box-shadow:0 2px 18px #0002;pointer-events:none;will-change:transform;z-index:2}.portrait-stage:not(.webgl-ready) #portraitFallback{filter:grayscale(1) blur(7px)}.lens-fallback .square-lens{background-repeat:no-repeat}.intro-scene[data-phase=opening] .intro-action{opacity:0}
.square-lens{transform-origin:0 0}
.intro-open .intro-scene{background:#141616}.intro-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden;width:min(100vw,177.777778vh);aspect-ratio:16/9}@media(max-aspect-ratio:1/1){.intro-frame{width:min(100vw,56.25vh);aspect-ratio:9/16}}
