body #page#page .planet-map .pirate-campaign-gate{position:absolute;left:var(--scene-x,70%)!important;top:var(--scene-y,25%)!important;transform:translate(-50%,-50%);width:clamp(98px,9vw,150px);height:118px;z-index:14;padding:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0!important;background:none!important;box-shadow:none!important;color:#e8d9ff;cursor:pointer;overflow:visible}.pirate-campaign-gate strong{font-size:11px;white-space:nowrap;text-shadow:0 2px 5px #000,0 0 5px #000}.pirate-campaign-gate small{font-size:9px;color:#b8b3ca;margin-top:3px;text-shadow:0 1px 4px #000}.pirate-singularity{display:block;position:relative;width:110px;height:77px;isolation:isolate;flex:none}.pirate-singularity i{display:block;position:absolute;pointer-events:none}.gate-lens{inset:6% 21%;border-radius:50%;border:3px solid #ddb8ff;box-shadow:0 0 4px 2px #fff0ff,0 0 11px 4px #9c64ff88,inset 0 0 8px #b895ff;background:radial-gradient(circle,#000 50%,#252044 62%,#b67aff 68%,#161222 76%,transparent 81%);transform:rotate(-19deg)}.gate-disk{z-index:2;inset:30% 0 25%;border-radius:50%;background:conic-gradient(from 30deg,transparent,#8864fa 15%,#ffe1b1 34%,transparent 46%,#d38eff 70%,#b593ff 87%,transparent);transform:rotate(-19deg) scaleY(.45);box-shadow:0 0 10px #a88aff77;animation:gate-disk-flow 9s linear infinite}.gate-shadow{z-index:3;inset:16% 28% 18%;border-radius:50%;background:radial-gradient(ellipse at 48% 42%,#000 65%,#08030e 75%,#302044 85%);box-shadow:0 0 4px #000,0 0 8px #bb83ff88;transform:rotate(-19deg)}.gate-orbit{z-index:4;inset:33% 2% 26%;border-radius:50%;border-top:2px solid #f5d1ff;border-bottom:1px solid #ce97ff55;transform:rotate(-19deg) scaleY(.5);box-shadow:0 -2px 9px #bc8bff66}.pirate-campaign-gate:hover .pirate-singularity{scale:1.08}.pirate-campaign-gate:focus-visible{outline:2px solid #dfc9ff!important;outline-offset:5px;border-radius:12px}.pirate-campaign-gate[data-scene-grid=true]{width:var(--scene-width)!important;height:var(--scene-height)!important}.pirate-campaign-gate[data-scene-grid=true] .pirate-singularity{width:min(85px,90%);height:50%}.pirate-campaign-gate[data-scene-grid=true] strong{font-size:9px;max-width:100%;white-space:normal;line-height:1.1}.pirate-campaign-gate[data-scene-grid=true] small{font-size:7px;margin-top:1px}.pirate-campaign-gate[data-scene-overflow=true]{visibility:hidden;pointer-events:none}@keyframes gate-disk-flow{50%{opacity:.65;filter:hue-rotate(22deg)}to{opacity:1}}
.pirate-jump-dialog{position:fixed;inset:0;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#02040b;color:#e9e5f5}.pirate-jump-dialog::backdrop{background:#02040b}.jump-cabin,.jump-cabin>picture,.jump-cabin>picture>img,.jump-glass{position:absolute;inset:0;width:100%;height:100%;display:block}.jump-cabin>picture>img{object-fit:fill}.jump-glass{clip-path:polygon(9% 4%,91% 4%,98% 32%,94% 54%,6% 54%,2% 32%);overflow:hidden;isolation:isolate}.jump-glass canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.jump-portal{position:absolute;left:70%;top:25%;transform:translate(-50%,-50%);z-index:2;width:160px;height:110px;transition:opacity .6s}.jump-portal .pirate-singularity{width:100%;height:100%}.pirate-jump-dialog[data-phase=approach] .jump-portal{animation:jump-approach 1.8s ease-in both}.pirate-jump-dialog[data-phase=charge] .jump-portal{left:50%;top:29%;transform:translate(-50%,-50%) scale(4);animation:jump-enter 1.2s ease-in both}.pirate-jump-dialog[data-phase=warp] .jump-portal,.pirate-jump-dialog[data-phase=arrival] .jump-portal,.pirate-jump-dialog[data-phase=ready] .jump-portal{opacity:0}.jump-horizon{position:absolute;inset:0;z-index:3;opacity:0;background:radial-gradient(ellipse at 50% 29%,#e3d5ff99,transparent 50%);pointer-events:none}.pirate-jump-dialog[data-phase=warp] .jump-horizon{animation:jump-horizon 2.8s ease-out both}.pirate-jump-dialog[data-phase=arrival] .jump-glass{background:radial-gradient(ellipse at 50% 29%,#412456,#131125 38%,#03050b 70%)}.jump-flight-hud{position:absolute;left:50%;top:66%;width:min(550px,60%);transform:translateX(-50%);text-align:center;text-shadow:0 2px 7px #000}.jump-flight-hud small{font-size:10px;letter-spacing:3px;color:#b2abce}.jump-flight-hud h2{font-size:clamp(16px,3vw,30px);margin:10px 0;color:#ede5ff}.jump-flight-hud p{font-size:12px;color:#acd0e8;min-height:20px}.jump-charge{height:3px;max-width:280px;margin:15px auto;background:#8298b633;overflow:hidden}.jump-charge i{display:block;width:0;height:100%;background:#c9b0ff;box-shadow:0 0 15px #b78bff;animation:jump-charge 6s linear forwards}.jump-controls{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:9px;z-index:10}.jump-controls button,.pirate-campaign-arrival>button{min-height:44px;padding:10px 18px;border:1px solid #a38dbf88;border-radius:8px;background:#071421e8;color:#e5dcf4;cursor:pointer}.pirate-campaign-arrival{position:absolute;inset:0;z-index:6;overflow:auto;padding:clamp(22px,5vw,60px);background:radial-gradient(ellipse at 75% 10%,#43235577,transparent 60%),#060b16ed;box-sizing:border-box}.pirate-campaign-arrival[hidden],.jump-flight-hud[hidden],.jump-controls[hidden]{display:none!important}.campaign-heading{max-width:680px;margin:auto;text-align:center}.campaign-heading>small{color:#9e8cb8;letter-spacing:4px;font-size:10px}.campaign-heading h2{font-size:clamp(30px,6vw,60px);margin:15px 0;color:#ecdcff}.campaign-heading p{color:#b9b8cd;font-size:14px;line-height:1.7;max-width:510px;margin:20px auto}.campaign-coming{display:inline-block;padding:7px 18px;border:1px solid #b990d677;border-radius:24px;color:#ebcaff;font-size:13px;background:#7c419e22}.campaign-path{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:12px;max-width:900px;margin:30px auto}.campaign-locked-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;border:1px solid #a583bb22;background:linear-gradient(145deg,#402a4b22,#14283c33);border-radius:10px;color:#655f77}.campaign-locked-node b{font-size:22px;font-variant-numeric:tabular-nums;color:#8e819e}.campaign-locked-node small{font-size:9px}.campaign-transmission{text-align:center;font-size:12px;color:#a8b9cf}.pirate-campaign-arrival>button{display:block;margin:24px auto;border-color:#bc9de8;background:#44305d}.pirate-jump-dialog button:focus-visible{outline:2px solid #efdaff;outline-offset:4px}.pirate-jump-dialog[data-phase=ready] .jump-cabin{opacity:.35}@keyframes jump-approach{from{left:70%;top:25%;transform:translate(-50%,-50%) scale(.8)}to{left:50%;top:29%;transform:translate(-50%,-50%) scale(4)}}@keyframes jump-enter{from{transform:translate(-50%,-50%) scale(4)}to{transform:translate(-50%,-50%) scale(15);opacity:0}}@keyframes jump-horizon{0%{opacity:.65}30%{opacity:.1}to{opacity:0}}@keyframes jump-charge{to{width:100%}}@media(orientation:portrait){.jump-glass{clip-path:polygon(9% 5%,91% 5%,99% 32%,94% 58%,6% 58%,1% 32%)}.jump-flight-hud{top:67%;width:85%}.jump-flight-hud h2{font-size:21px}.jump-flight-hud small{font-size:8px;letter-spacing:2px}.jump-controls{left:12px;right:12px;justify-content:center}.campaign-path{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.campaign-locked-node{min-height:58px}.pirate-campaign-arrival{padding:24px 16px}}@media(orientation:landscape) and (max-height:600px){.jump-flight-hud{top:61%}.jump-flight-hud h2{font-size:18px;margin:5px 0}.jump-flight-hud p{font-size:10px;margin:5px 0}.jump-flight-hud small{font-size:8px}.jump-controls{bottom:9px;right:10px}.jump-controls button{padding:7px 11px;font-size:11px}.campaign-path{gap:7px;margin:18px auto}.campaign-locked-node{min-height:48px}.campaign-heading h2{font-size:28px}.pirate-campaign-arrival{padding:20px}.campaign-heading p{margin:10px auto;font-size:12px}}@media(prefers-reduced-motion:reduce){.pirate-singularity .gate-disk,.pirate-jump-dialog *{animation:none!important;transition:none!important}}body[data-motion=off] .gate-disk,body[data-motion=off] .pirate-jump-dialog *{animation:none!important;transition:none!important}

.pirate-jump-dialog[data-phase="ready"] .pirate-campaign-arrival{position:absolute;inset:0;padding:0;max-height:none;background:#020813;display:block}.pirate-campaign-arrival iframe{width:100%;height:100%;border:0}.campaign-return{position:absolute;right:10px;top:62px;z-index:5;opacity:.75}.pirate-singularity{filter:drop-shadow(0 0 12px #9177ff)}.pirate-singularity .gate-disk{box-shadow:0 0 9px #fff4cc,0 0 22px #ffb24e,0 0 40px #9f56ff;transform:rotate(-22deg) scaleY(.36)}

.pirate-campaign-arrival .campaign-return{top:auto;bottom:12px;right:12px;font-size:11px;padding:6px 10px;opacity:.7}

/* Full-screen scenes bypass the command-room's hologram card projection. */
body[data-pirate-journey="on"] .bridge-holo-projection{display:none!important}
body[data-pirate-journey="on"] dialog.pirate-jump-dialog.pirate-jump-dialog[open]{position:fixed!important;inset:0!important;top:0!important;bottom:0!important;left:0!important;right:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;transform:none!important;translate:none!important;scale:none!important;animation:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:hidden!important;background:transparent!important;opacity:1!important;z-index:2147483647!important}
body[data-pirate-journey="on"] .pirate-jump-dialog::backdrop{background:transparent!important;backdrop-filter:none!important}
.pirate-jump-dialog .jump-cabin>picture{display:none!important}
.pirate-jump-dialog .jump-glass{inset:auto;left:var(--live-glass-left,0px);top:var(--live-glass-top,0px);width:var(--live-glass-width,100%);height:var(--live-glass-height,60%);clip-path:inset(0 round 12px)}
.pirate-jump-dialog[data-phase="ready"] .jump-cabin{display:none!important}
.pirate-jump-dialog[data-phase="ready"] .pirate-campaign-arrival{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;overflow:hidden!important;transform:none!important}
.pirate-campaign-arrival iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;max-width:none!important;max-height:none!important;transform:none!important}
body[data-pirate-journey="on"] .pirate-jump-dialog .jump-flight-hud{position:fixed;top:auto;bottom:14%;z-index:8;pointer-events:none}

/* Reuse the exact cockpit aperture, with the flight rendered through its glass. */
.pirate-jump-dialog .jump-glass{clip-path:none;mask-image:url('assets/jump-glass-wide.svg');-webkit-mask-image:url('assets/jump-glass-wide.svg');mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
@media(orientation:portrait){.pirate-jump-dialog .jump-glass{mask-image:url('assets/jump-glass-tall.svg');-webkit-mask-image:url('assets/jump-glass-tall.svg')}}
