
/* R62 — interactive Teleport Globe. Isolated to the Teleport section. */
.teleport-globe-stage{position:relative;width:min(100%,640px);aspect-ratio:1;display:grid;place-items:center;margin-inline:auto;isolation:isolate;contain:layout paint;overflow:visible}
.teleport-globe-canvas{display:block;width:100%;height:100%;max-width:100%;aspect-ratio:1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;filter:drop-shadow(0 34px 76px rgba(0,0,0,.42));outline:none}
.teleport-globe-canvas:active{cursor:grabbing}
.teleport-globe-canvas:focus-visible{outline:2px solid rgba(117,236,255,.85);outline-offset:7px;border-radius:50%}
.teleport-globe-state{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.teleport-destination{position:absolute;z-index:3;left:50%;bottom:clamp(12px,3vw,28px);transform:translateX(-50%);width:min(88%,360px);padding:13px 16px;border:1px solid rgba(117,236,255,.22);border-radius:var(--radius-md);background:rgba(2,9,28,.82);box-shadow:0 18px 54px rgba(0,0,0,.36);backdrop-filter:blur(16px);text-align:left}
.teleport-destination[hidden]{display:none}
.teleport-destination__row{display:flex;align-items:center;gap:12px;min-width:0}
.teleport-destination__live{flex:0 0 auto;display:inline-grid;place-items:center;min-width:44px;height:27px;padding-inline:8px;border-radius:999px;background:rgba(255,60,102,.14);color:#ff7597;font-size:.66rem;font-weight:900;letter-spacing:.09em}
.teleport-destination__copy{min-width:0;flex:1}.teleport-destination__copy strong,.teleport-destination__copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teleport-destination__copy strong{font-size:.95rem}.teleport-destination__copy span{margin-top:2px;color:#9eb7d1;font-size:.75rem}
.teleport-destination__audio{flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(117,236,255,.25);border-radius:50%;background:rgba(0,180,255,.10);color:#c8f8ff;cursor:pointer;font:inherit}.teleport-destination__audio::before{content:'▶';font-size:.78rem}.teleport-destination__audio[data-playing="true"]::before{content:'Ⅱ'}
.teleport[data-teleport-state="charging"] .teleport-globe-canvas,.teleport[data-teleport-state="accelerating"] .teleport-globe-canvas,.teleport[data-teleport-state="travelling"] .teleport-globe-canvas,.teleport[data-teleport-state="searching"] .teleport-globe-canvas,.teleport[data-teleport-state="decelerating"] .teleport-globe-canvas,.teleport[data-teleport-state="locking_destination"] .teleport-globe-canvas{cursor:progress}
@media(min-width:761px){.teleport-demo--globe{display:grid;place-items:center;min-height:560px}.teleport-globe-stage{width:min(46vw,620px)}}
@media(max-width:760px){.teleport-demo--globe{width:100%;max-width:100%;overflow:visible;padding-top:12px}.teleport-globe-stage{width:min(92vw,430px);max-width:100%}.teleport-destination{bottom:8px;width:min(92%,340px)}}
@media(max-width:390px){.teleport-globe-stage{width:min(91vw,350px)}.teleport-destination{padding:10px 12px}.teleport-destination__live{min-width:38px}.teleport-destination__copy strong{font-size:.86rem}}
@media(prefers-reduced-motion:reduce){.teleport-globe-canvas{filter:drop-shadow(0 24px 52px rgba(0,0,0,.38))}}
/* R63 — Preview and advanced Teleport are distinct lifecycle states. */
.teleport [data-teleport-preview],.teleport-experience{transition:opacity .32s ease,transform .32s ease}
.teleport [data-teleport-preview].is-leaving{opacity:0;transform:scale(.992) translateY(-4px);pointer-events:none}.teleport [data-teleport-preview].is-entering{opacity:0;transform:scale(.992) translateY(4px)}.teleport [data-teleport-preview].is-entering.is-active{opacity:1;transform:none}
.teleport-experience{display:grid;grid-template-rows:auto 1fr;gap:clamp(14px,2vw,24px);align-items:center;min-height:min(760px,calc(100svh - var(--header-h) - 24px));padding-block:clamp(18px,3vw,34px);transition:opacity .32s ease,transform .32s ease}.teleport-experience[hidden]{display:none!important}.teleport-experience.is-entering{opacity:0;transform:scale(.988) translateY(6px)}.teleport-experience.is-entering.is-active{opacity:1;transform:none}.teleport-experience.is-leaving{opacity:0;transform:scale(.992) translateY(4px);pointer-events:none}
.teleport-experience__toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(100%,760px);margin-inline:auto;position:relative;z-index:5}.teleport-experience__back{flex:0 0 auto}.teleport-experience__start{flex:0 0 auto;min-width:150px}.teleport-experience__start:disabled{opacity:.55;cursor:progress}.teleport-experience .teleport-demo--globe{min-height:0}
@media(max-width:760px){.teleport-experience{min-height:auto;padding-block:14px 22px;gap:12px}.teleport-experience__toolbar{width:100%;padding-inline:2px}.teleport-experience__start{min-width:132px}.teleport-experience .teleport-demo--globe{padding-top:0}}@media(max-width:390px){.teleport-experience__toolbar{gap:8px}.teleport-experience__back{padding-inline:11px}.teleport-experience__start{min-width:118px}}@media(prefers-reduced-motion:reduce){.teleport [data-teleport-preview],.teleport-experience{transition-duration:.01ms!important}}
.teleport [data-teleport-preview][hidden]{display:none!important}

/* R64 — Teleport runtime fail-safe; loaded only with the 3D experience. */
.teleport-runtime-error{position:absolute;z-index:8;inset:auto 18px 18px;max-width:560px;margin-inline:auto;padding:18px 20px;border:1px solid rgba(117,236,255,.28);border-radius:20px;background:rgba(1,7,25,.94);box-shadow:0 22px 70px rgba(0,0,0,.48);backdrop-filter:blur(16px);text-align:center}.teleport-runtime-error[hidden]{display:none!important}.teleport-runtime-error strong{display:block;font-size:1.05rem}.teleport-runtime-error p{margin:7px 0 14px;color:#b9c9dc}.teleport-runtime-error__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.teleport-globe-stage--fallback .teleport-globe-canvas{opacity:1;filter:none}@media(max-width:520px){.teleport-runtime-error{inset:auto 10px 10px;padding:15px}.teleport-runtime-error__actions{display:grid;grid-template-columns:1fr}.teleport-runtime-error__actions .button{width:100%}}

/* R66 — never expose a placeholder/legacy Earth while the five app-parity maps load. */
.teleport-globe-stage--loading .teleport-globe-canvas{opacity:0;pointer-events:none}
.teleport-globe-stage--loading::before{content:'Preparazione Terra…';position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);padding:9px 13px;border-radius:999px;background:rgba(2,9,28,.72);color:#bfefff;font-size:.76rem;font-weight:750;letter-spacing:.04em;backdrop-filter:blur(10px)}
.teleport-globe-stage:not(.teleport-globe-stage--loading) .teleport-globe-canvas{transition:opacity .18s ease}
@media(prefers-reduced-motion:reduce){.teleport-globe-stage:not(.teleport-globe-stage--loading) .teleport-globe-canvas{transition:none}}

/* R67 — destination-led Teleport experience. The same WebGL canvas is the shared element. */
.teleport-globe-stage,.teleport-globe-canvas,.teleport-destination{transition:width .42s cubic-bezier(.22,.72,.18,1),max-width .42s cubic-bezier(.22,.72,.18,1),opacity .28s ease,transform .42s cubic-bezier(.22,.72,.18,1)}
.teleport[data-teleport-state="preparing"] .teleport-globe-canvas,.teleport[data-teleport-state="charging"] .teleport-globe-canvas,.teleport[data-teleport-state="accelerating"] .teleport-globe-canvas,.teleport[data-teleport-state="travelling"] .teleport-globe-canvas,.teleport[data-teleport-state="manual_travel"] .teleport-globe-canvas,.teleport[data-teleport-state="decelerating"] .teleport-globe-canvas,.teleport[data-teleport-state="locking_destination"] .teleport-globe-canvas,.teleport[data-teleport-state="zooming_destination"] .teleport-globe-canvas,.teleport[data-teleport-state="arriving"] .teleport-globe-canvas{cursor:progress}
.teleport[data-teleport-state="zooming_destination"] .teleport-experience__start,.teleport[data-teleport-state="arriving"] .teleport-experience__start,.teleport[data-teleport-state="destination_active"] .teleport-experience__start,.teleport[data-teleport-state="changing_station"] .teleport-experience__start,.teleport[data-teleport-state="choosing_destination"] .teleport-experience__start{opacity:0;transform:translateY(-5px);pointer-events:none}
.teleport-destination{opacity:0;pointer-events:none}
.teleport-destination.is-active{opacity:1;pointer-events:auto}
.teleport-globe-stage--destination-active{width:min(100%,940px);max-width:940px;aspect-ratio:auto;grid-template-columns:minmax(0,1fr) minmax(290px,360px);gap:clamp(22px,4vw,46px);align-items:center;justify-content:center;overflow:visible}
.teleport-globe-stage--destination-active .teleport-globe-canvas{grid-column:1;grid-row:1;width:min(100%,540px);height:auto;justify-self:center}
.teleport-globe-stage--destination-active .teleport-destination{position:relative;grid-column:2;grid-row:1;left:auto;bottom:auto;transform:none;width:100%;max-width:360px;padding:clamp(18px,2.2vw,24px);border-color:rgba(117,236,255,.24);border-radius:24px;background:linear-gradient(155deg,rgba(5,15,39,.92),rgba(1,7,25,.82));box-shadow:0 24px 80px rgba(0,0,0,.42);backdrop-filter:blur(20px);text-align:left}
.teleport-destination__eyebrow{margin-bottom:14px;color:#78eaff;font-size:.68rem;font-weight:900;letter-spacing:.16em}
.teleport-destination__header{display:grid;grid-template-columns:58px minmax(0,1fr) 42px;gap:12px;align-items:center}
.teleport-destination__artwork-shell{width:58px;height:58px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 30% 25%,rgba(117,236,255,.22),rgba(0,180,255,.04) 60%,rgba(0,0,40,.4));border:1px solid rgba(117,236,255,.18)}
.teleport-destination__artwork-shell img{display:block;width:100%;height:100%;object-fit:contain;background:rgba(255,255,255,.94)}
.teleport-destination__copy{min-width:0}.teleport-destination__copy strong{display:block;font-size:clamp(1.28rem,2vw,1.65rem);line-height:1.02;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teleport-destination__copy span{display:block;margin-top:5px;color:#dce9f7;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teleport-destination__copy small{display:block;margin-top:5px;color:#89a6c3;font-size:.72rem}
.teleport-destination__audio{width:42px;height:42px;border:1px solid rgba(117,236,255,.28);border-radius:50%;background:rgba(0,180,255,.12);color:#c8f8ff;cursor:pointer}.teleport-destination__audio::before{content:'▶';font-size:.8rem}.teleport-destination__audio[data-playing="true"]::before{content:'Ⅱ'}
.teleport-destination__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.teleport-destination__actions .button{width:100%;min-width:0;padding-inline:10px}.teleport-destination__actions [data-teleport-choose-destination]{grid-column:1/-1}
.teleport-country-selector{position:absolute;z-index:6;inset:12px;padding:14px;border:1px solid rgba(117,236,255,.24);border-radius:19px;background:rgba(1,7,25,.98);box-shadow:0 20px 70px rgba(0,0,0,.56);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.teleport-country-selector[hidden]{display:none!important}.teleport-country-selector input{width:100%;min-height:42px;border:1px solid rgba(117,236,255,.22);border-radius:12px;background:rgba(5,15,39,.94);color:#f5fbff;padding:10px 12px;font:inherit}.teleport-country-selector__list{min-height:160px;max-height:260px;overflow:auto;display:grid;gap:6px;padding-right:3px}.teleport-country-selector__option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px solid transparent;border-radius:11px;background:rgba(117,236,255,.04);color:#f5fbff;padding:9px 10px;text-align:left;cursor:pointer}.teleport-country-selector__option:hover,.teleport-country-selector__option:focus-visible{border-color:rgba(117,236,255,.28);background:rgba(0,180,255,.11);outline:none}.teleport-country-selector__option span{color:#8eabc7;font-size:.69rem;white-space:nowrap}
@media(max-width:760px){.teleport-globe-stage--destination-active{width:100%;max-width:100%;grid-template-columns:1fr;gap:8px}.teleport-globe-stage--destination-active .teleport-globe-canvas{grid-column:1;grid-row:1;width:min(86vw,350px);max-width:100%}.teleport-globe-stage--destination-active .teleport-destination{grid-column:1;grid-row:2;width:min(100%,430px);max-width:100%;justify-self:center;padding:16px 17px;border-radius:20px}.teleport-country-selector{position:fixed;inset:auto max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));max-height:min(66svh,560px)}.teleport-country-selector__list{max-height:42svh}.teleport-destination__actions{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.teleport-globe-stage--destination-active .teleport-globe-canvas{width:min(88vw,330px)}.teleport-destination__header{grid-template-columns:50px minmax(0,1fr) 40px;gap:9px}.teleport-destination__artwork-shell{width:50px;height:50px}.teleport-destination__actions{grid-template-columns:1fr}.teleport-destination__actions [data-teleport-choose-destination]{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.teleport-globe-stage,.teleport-globe-canvas,.teleport-destination{transition-duration:.01ms!important}}
