.world-bridge-open{overflow:hidden!important;overscroll-behavior:none}
.world-bridge{--bridge-progress:0;--bridge-warp:0;--bridge-accent:#c4a1f6;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;z-index:2147483000;isolation:isolate;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;color:#fff5fc;background:#12101c;font-family:Outfit,Inter,ui-sans-serif,system-ui,sans-serif;animation:bridge-enter .42s ease both;outline:0}
.world-bridge::backdrop{background:transparent}
.world-bridge[data-from=ava]{background:#f8edf0;color:#37243e}
.world-bridge[data-from=orbyths]{background:#271e3e}
.world-bridge__stage,.world-bridge__glow,.world-bridge__veil{position:absolute;inset:0;pointer-events:none}
.world-bridge__stage{z-index:2}.world-bridge__stage canvas{display:block;width:100%;height:100%}
.world-bridge__glow{z-index:0;background:radial-gradient(ellipse at 50% 43%,color-mix(in srgb,var(--bridge-accent),transparent 48%),transparent 59%);opacity:.58;transform:scale(calc(1 + var(--bridge-warp)*.7))}
.world-bridge__veil{z-index:3;background:radial-gradient(ellipse at 50% 45%,#2b1e3c 0%,#17121f 75%);opacity:calc(var(--bridge-warp)*.98)}
.world-bridge[data-to=ava] .world-bridge__veil{background:radial-gradient(ellipse at 50% 44%,#fffaf6,#ffe5f0 82%)}
.world-bridge[data-to=orbyths] .world-bridge__veil{background:radial-gradient(ellipse at 50% 44%,#9072bc,#271c46 82%)}
.world-bridge__copy{position:absolute;z-index:4;bottom:calc(14vh + env(safe-area-inset-bottom,0px));left:20px;right:20px;text-align:center;pointer-events:none;opacity:calc(1 - var(--bridge-warp)*.7);transform:translateY(calc(var(--bridge-warp)*8px))}
.world-bridge__eyebrow{font-size:10px;letter-spacing:.24em;font-weight:600;margin:0 0 12px;opacity:.58}
.world-bridge__title{margin:0;font-size:clamp(26px,4.3vw,57px);line-height:1;font-weight:750;letter-spacing:.09em;color:inherit;text-wrap:balance}
.world-bridge__subtitle{font-size:12px;letter-spacing:.17em;font-weight:450;margin:15px 0 0;opacity:.7}
.world-bridge--model-ready .world-bridge__title{font-size:clamp(21px,3vw,38px);letter-spacing:.16em}
.world-bridge--model-ready:not([data-to=orbyths]) .world-bridge__title,.world-bridge--model-ready .world-bridge__eyebrow{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.world-bridge__controls{position:absolute;bottom:calc(25px + env(safe-area-inset-bottom,0px));left:32px;right:32px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px}
.world-bridge__controls button{font:inherit;min-height:48px;min-width:112px;padding:12px 20px;border:1px solid #ffffff30;border-radius:999px;background:#ffffff12;color:inherit;cursor:pointer;touch-action:manipulation;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background .15s,border-color .15s}
.world-bridge__controls button:hover{background:#ffffff26;border-color:#ffffff65}
.world-bridge__controls button:focus-visible{outline:3px solid var(--bridge-accent);outline-offset:4px}
.world-bridge[data-from=ava] .world-bridge__controls button{border-color:#6c486833;background:#ffffff8c}
.world-bridge__controls .world-bridge__skip{margin-left:auto}.world-bridge__hint{font-size:10px;letter-spacing:.08em;opacity:.45;margin-right:auto}
.world-bridge__progress{height:2px;position:absolute;bottom:0;left:0;width:calc(var(--bridge-progress)*100%);background:var(--bridge-accent);z-index:6}
.world-bridge[data-mode=arrival] .world-bridge__copy{bottom:19vh}.world-bridge[data-mode=arrival] .world-bridge__controls{justify-content:flex-end}
.world-bridge--fallback .world-bridge__copy,.world-bridge--reduced .world-bridge__copy{bottom:43%;opacity:1;transform:none}
.world-bridge--fallback .world-bridge__stage,.world-bridge--reduced .world-bridge__stage{display:none}
.world-bridge--leaving{animation:none!important;opacity:1!important}.world-bridge--leaving .world-bridge__veil{opacity:1;background:#17121f}.world-bridge--leaving[data-to=ava] .world-bridge__veil{background:#ffe5f0}.world-bridge--leaving[data-to=orbyths] .world-bridge__veil{background:#271c46}.world-bridge--leaving .world-bridge__stage,.world-bridge--leaving .world-bridge__copy,.world-bridge--leaving .world-bridge__controls{visibility:hidden}
@keyframes bridge-enter{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.world-bridge__controls{left:16px;right:16px;bottom:calc(17px + env(safe-area-inset-bottom,0px))}.world-bridge__controls button{min-width:102px;padding:12px 16px;font-size:12px}.world-bridge__hint{display:none}.world-bridge__copy{bottom:calc(18vh + env(safe-area-inset-bottom,0px))}.world-bridge__eyebrow{font-size:8px;letter-spacing:.18em}.world-bridge__subtitle{font-size:10px;letter-spacing:.1em}.world-bridge__title{font-size:28px}}
@media(max-height:520px) and (orientation:landscape){.world-bridge__copy{bottom:80px}.world-bridge__title,.world-bridge--model-ready .world-bridge__title{font-size:22px}.world-bridge__eyebrow{margin-bottom:7px;font-size:8px}.world-bridge__subtitle{margin-top:7px;font-size:9px}.world-bridge__controls{bottom:14px}.world-bridge__controls button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.world-bridge{animation:bridge-enter .18s ease both}.world-bridge *{animation:none!important;transition:none!important}}
