body.visit-portal-active #app,body.visit-portal-active #authScreen,body.visit-portal-active #bgCanvas{visibility:hidden;pointer-events:none}.visit-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99990;overflow:hidden;opacity:1;transition:opacity .55s cubic-bezier(.4,0,.2,1);font-family:var(--font, "Inter", "PingFang SC", sans-serif);perspective:1200px}.visit-portal--out{opacity:0}.visit-portal--enter{background:radial-gradient(ellipse at 50% 42%,#1e1b4b,#0a0118 45%,#020108)}.visit-portal--exit{background:radial-gradient(ellipse at 50% 42%,#422006,#1a0f02 45%,#050302)}.visit-portal-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.visit-portal-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 22%,rgba(0,0,0,.68) 100%)}.visit-portal-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.06;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.04) 2px,rgba(255,255,255,.04) 4px);animation:visitPortalScan 8s linear infinite}@keyframes visitPortalScan{0%{transform:translateY(0)}to{transform:translateY(40px)}}.visit-portal-rings{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:none;transform-origin:center center}.visit-portal-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}.visit-portal--enter .visit-portal-ring{box-shadow:0 0 40px #6366f126,inset 0 0 30px #818cf814}.visit-portal--exit .visit-portal-ring{box-shadow:0 0 40px #f59e0b1f,inset 0 0 30px #fbbf240f}.visit-portal-ring--1{width:min(42vw,320px);height:min(42vw,320px)}.visit-portal-ring--2{width:min(62vw,480px);height:min(62vw,480px);opacity:.7}.visit-portal-ring--3{width:min(82vw,640px);height:min(82vw,640px);opacity:.45}.visit-portal-machine{position:absolute;top:50%;left:50%;z-index:3;pointer-events:none;opacity:1;will-change:transform;transform-origin:center center}.visit-portal-machine--enter .visit-portal-machine-nose{top:-20px;bottom:auto;border-top:none;border-bottom:28px solid #6366f1;filter:drop-shadow(0 0 8px rgba(99,102,241,.7))}.visit-portal-machine--enter .visit-portal-machine-cockpit{top:12px;bottom:auto}.visit-portal-machine--enter .visit-portal-machine-wing{top:36px}.visit-portal-machine-body{position:relative;display:flex;flex-direction:column;align-items:center}.visit-portal-machine-hull{position:relative;width:108px;height:72px;border-radius:54px 54px 28px 28px;background:linear-gradient(160deg,#4f46e5,#312e81 45%,#1e1b4b);box-shadow:0 0 30px #6366f18c,inset 0 -8px 20px #00000059,inset 0 6px 14px #a5b4fc40;border:2px solid rgba(165,180,252,.45)}.visit-portal--exit .visit-portal-machine-hull{background:linear-gradient(160deg,#d97706,#92400e 45%,#451a03);box-shadow:0 0 30px #f59e0b80,inset 0 -8px 20px #00000059,inset 0 6px 14px #fde68a33;border-color:#fde68a66}.visit-portal-machine-cockpit{position:absolute;top:-34px;left:50%;transform:translate(-50%);width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,#ffffff26,#0003);border:3px solid rgba(255,255,255,.55);box-shadow:0 0 22px #818cf899,inset 0 0 12px #6366f14d;overflow:hidden;display:flex;align-items:center;justify-content:center}.visit-portal--exit .visit-portal-machine-cockpit{box-shadow:0 0 22px #fbbf248c,inset 0 0 12px #f59e0b40}.visit-portal-machine-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.visit-portal-machine-avatar-fallback{font-size:26px;font-weight:800;color:#e0e7ff;text-shadow:0 0 12px rgba(99,102,241,.8)}.visit-portal-machine-nose{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:28px solid #6366f1;filter:drop-shadow(0 0 8px rgba(99,102,241,.7))}.visit-portal--exit .visit-portal-machine-nose{border-top-color:#f59e0b;filter:drop-shadow(0 0 8px rgba(245,158,11,.65))}.visit-portal-machine-wing{position:absolute;top:28px;width:36px;height:14px;border-radius:8px;background:linear-gradient(90deg,#818cf8b3,#6366f133);animation:visitMachineWingPulse .6s ease-in-out infinite alternate}.visit-portal--exit .visit-portal-machine-wing{background:linear-gradient(90deg,#fbbf24b3,#f59e0b33)}.visit-portal-machine-wing--l{left:-28px;transform:rotate(-18deg)}.visit-portal-machine-wing--r{right:-28px;transform:rotate(18deg);animation-delay:.15s}@keyframes visitMachineWingPulse{0%{opacity:.65;transform:rotate(-18deg) scaleX(.92)}to{opacity:1;transform:rotate(-18deg) scaleX(1.05)}}.visit-portal-machine-wing--r{animation-name:visitMachineWingPulseR}@keyframes visitMachineWingPulseR{0%{opacity:.65;transform:rotate(18deg) scaleX(.92)}to{opacity:1;transform:rotate(18deg) scaleX(1.05)}}.visit-portal-machine-engine{display:flex;gap:6px;margin-top:6px}.visit-portal-machine-engine span{display:block;width:10px;height:22px;border-radius:999px;background:linear-gradient(180deg,#22d3ee,#6366f1,transparent);animation:visitEngineFlame .18s ease-in-out infinite alternate}.visit-portal--exit .visit-portal-machine-engine span{background:linear-gradient(180deg,#fde68a,#f59e0b,transparent)}.visit-portal-machine-engine span:nth-child(2){animation-delay:.06s;height:28px}.visit-portal-machine-engine span:nth-child(3){animation-delay:.12s}@keyframes visitEngineFlame{0%{transform:scaleY(.75);opacity:.7}to{transform:scaleY(1.15);opacity:1}}.visit-portal-machine-trail{position:absolute;top:50%;width:120px;height:4px;border-radius:999px;opacity:.6;filter:blur(1px)}.visit-portal-machine-trail--l{left:-130px;background:linear-gradient(90deg,transparent,rgba(34,211,238,.8));animation:visitTrailEnterL .35s linear infinite}.visit-portal-machine-trail--r{right:-130px;background:linear-gradient(270deg,transparent,rgba(34,211,238,.8));animation:visitTrailEnterR .35s linear infinite}.visit-portal-machine--exit .visit-portal-machine-trail--l{animation:visitTrailExitL .28s linear infinite}.visit-portal-machine--exit .visit-portal-machine-trail--r{animation:visitTrailExitR .28s linear infinite}.visit-portal--exit .visit-portal-machine-trail--l{background:linear-gradient(90deg,transparent,rgba(251,191,36,.75))}.visit-portal--exit .visit-portal-machine-trail--r{background:linear-gradient(270deg,transparent,rgba(251,191,36,.75))}@keyframes visitTrailEnterL{0%{transform:translate(-30px) scaleX(.5);opacity:.15}to{transform:translate(30px) scaleX(1.3);opacity:.75}}@keyframes visitTrailEnterR{0%{transform:translate(30px) scaleX(.5);opacity:.15}to{transform:translate(-30px) scaleX(1.3);opacity:.75}}@keyframes visitTrailExitL{0%{transform:translate(40px) scaleX(1.2);opacity:.8}to{transform:translate(-20px) scaleX(.5);opacity:.2}}@keyframes visitTrailExitR{0%{transform:translate(-40px) scaleX(1.2);opacity:.8}to{transform:translate(20px) scaleX(.5);opacity:.2}}.visit-portal-content{position:absolute;left:50%;bottom:clamp(48px,8vh,88px);transform:translate(-50%);width:min(92vw,480px);text-align:center;z-index:4;animation:visitPortalContentIn .8s cubic-bezier(.22,1,.36,1) both}@keyframes visitPortalContentIn{0%{opacity:0;transform:translate(-50%) translateY(24px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.visit-portal-icon{font-size:36px;margin-bottom:10px;filter:drop-shadow(0 0 18px rgba(129,140,248,.45));animation:visitPortalIconFloat 2.2s ease-in-out infinite}.visit-portal--exit .visit-portal-icon{filter:drop-shadow(0 0 18px rgba(251,191,36,.45))}@keyframes visitPortalIconFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.05)}}.visit-portal-title{font-size:clamp(20px,4.5vw,28px);font-weight:800;letter-spacing:.12em;background:linear-gradient(135deg,#e0e7ff,#a5b4fc,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;text-shadow:0 0 30px rgba(99,102,241,.3)}.visit-portal--exit .visit-portal-title{background:linear-gradient(135deg,#fef3c7,#fcd34d,#f59e0b);-webkit-background-clip:text;background-clip:text}.visit-portal-sub{font-size:clamp(13px,3.2vw,15px);color:#ffffffc7;line-height:1.55;margin-bottom:18px;min-height:1.55em}.visit-portal-progress{height:3px;border-radius:999px;background:#ffffff14;overflow:hidden;margin:0 auto 10px;max-width:280px}.visit-portal-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#a78bfa,#22d3ee);box-shadow:0 0 12px #6366f199;transition:width .12s linear}.visit-portal--exit .visit-portal-progress-bar{background:linear-gradient(90deg,#f59e0b,#fcd34d,#fde68a);box-shadow:0 0 12px #f59e0b80}.visit-portal-hint{font-size:11px;color:#ffffff6b;letter-spacing:.2em;text-transform:uppercase;min-height:1.2em}@media (prefers-reduced-motion: reduce){.visit-portal-ring,.visit-portal-icon,.visit-portal-scanlines,.visit-portal-machine,.visit-portal-machine-wing,.visit-portal-machine-engine span,.visit-portal-machine-trail{animation:none!important}}:root{color-scheme:dark;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:#030712;color:#f8fafc}*{box-sizing:border-box}html,body,#vue-root{margin:0;min-width:320px;min-height:100vh}a{color:inherit}
