.baggage-panel{position:fixed;z-index:105;inset:0;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 68% 22%,#17537a,#061421 55%,#02070e);color:#fff}.baggage-panel[hidden]{display:none}.baggage-passport{width:min(820px,94vw);padding:32px;border:1px solid #f0ca70;background:linear-gradient(125deg,#071b2df2,#0a3448f2);box-shadow:0 35px 110px #000d,0 0 50px #5cecff22;clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px)}.baggage-passport>small{color:#6cecff;font:900 8px monospace;letter-spacing:.2em}.baggage-passport h2{margin:10px 0 5px;font:900 clamp(55px,9vw,105px)/.78 Impact;letter-spacing:.03em}.baggage-passport h2 span{color:#f0ca70}.baggage-passport>p{color:#bad7df;font-weight:800}.baggage-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.baggage-options button{padding:18px 12px;border:1px solid #6d9daf;background:#061522;color:#fff;cursor:pointer}.baggage-options i,.cabin-luggage>i,.room-luggage i{--bag:#52e7ff;position:relative;display:block;width:68px;height:76px;margin:0 auto 12px;border:3px solid color-mix(in srgb,var(--bag),white 30%);border-radius:9px;background:linear-gradient(120deg,var(--bag),#152b45 70%);box-shadow:inset 8px 0 #ffffff22,0 0 24px color-mix(in srgb,var(--bag),transparent 45%)}.baggage-options i:before,.cabin-luggage>i:before,.room-luggage i:before{content:"";position:absolute;left:18px;top:-12px;width:26px;height:12px;border:3px solid var(--bag);border-bottom:0;border-radius:6px 6px 0 0}.baggage-options button:nth-child(2) i{--bag:#ffb44f}.baggage-options button:nth-child(3) i{--bag:#a66cff}.baggage-options b,.baggage-options small{display:block}.baggage-options b{font:900 25px Impact;letter-spacing:.1em}.baggage-options small{margin-top:4px;color:#8fb2be;font:900 6px monospace;letter-spacing:.1em}.baggage-options button:hover,.baggage-options button:focus-visible{transform:translateY(-5px);border-color:#fff0b2;box-shadow:0 15px 35px #0007}
.cabin-luggage{position:absolute;z-index:5;left:3%;bottom:18%;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--bag,#52e7ff);background:#061421dd;color:#fff;cursor:pointer;backdrop-filter:blur(8px)}.cabin-luggage>i{width:25px;height:31px;margin:0;border-width:1px;border-radius:4px}.cabin-luggage>i:before{left:7px;top:-6px;width:9px;height:6px;border-width:1px}.cabin-luggage span b,.cabin-luggage span small{display:block;text-align:left}.cabin-luggage span b{font:900 10px Impact;letter-spacing:.08em}.cabin-luggage span small{color:#91b6c1;font:900 5px monospace;letter-spacing:.08em}
.room-spot{left:5%!important;top:29%!important;--cyan:#f0ca70!important}.mission-spot{right:5%!important;top:58%!important;--cyan:#7affac!important}.room-panel{padding:0!important;overflow:hidden!important;background:#07111d!important}.room-image{position:absolute;inset:0;background:center/cover no-repeat url('assets/habitacion-publico.png');transform:scale(1.01);animation:roomBreathe 6s ease-in-out infinite alternate}.room-panel[data-class="premium"] .room-image{background-image:url('assets/habitacion-premium.png')}.room-panel[data-class="vip"] .room-image{background-image:url('assets/habitacion-vip.png')}.room-panel[data-class="no recomendado"] .room-image{background-image:linear-gradient(#25070b44,#25070b44),url('assets/habitacion-ultra-lento.png');animation:badRoomFlicker 1.2s steps(2) infinite}.room-card{position:absolute;z-index:4;left:5%;bottom:7%;width:min(470px,82vw);padding:20px 23px;border-left:4px solid #f0ca70;background:#061421dc;color:#fff;box-shadow:0 22px 70px #000b;backdrop-filter:blur(12px)}.room-card>small{color:#6cecff;font:900 7px monospace;letter-spacing:.18em}.room-card h2{margin:7px 0 3px;font:900 clamp(40px,6vw,70px)/.86 Impact;letter-spacing:.04em}.room-card p{color:#c4dbe1;font-weight:800}.room-luggage{display:flex;align-items:center;gap:10px;margin-top:12px;color:#ffe49d;font:900 10px monospace;letter-spacing:.1em}.room-luggage i{width:24px;height:29px;margin:0;border-width:1px}.room-luggage i:before{left:7px;top:-6px;width:8px;height:6px;border-width:1px}@keyframes roomBreathe{to{transform:scale(1.035)}}@keyframes badRoomFlicker{50%{filter:brightness(.65)}}
.mission-panel{display:grid!important;place-items:center!important;background:radial-gradient(circle at 50% 20%,#174a62ee,#030913fa 68%)!important}.mission-panel[hidden]{display:none!important}.mission-board{width:min(860px,92vw);padding:30px;border:1px solid #74f0ff;background:#061725ef;color:#fff;box-shadow:0 30px 100px #000d,0 0 50px #6cecff22}.mission-board>small{color:#70ecff;font:900 8px monospace;letter-spacing:.2em}.mission-board h2{margin:7px 0 0;font:900 clamp(60px,10vw,120px)/.8 Impact;color:#ffe192;letter-spacing:.04em}.mission-board>p{color:#b9d3dc;font-weight:800}.mission-list{display:grid;gap:9px;margin:20px 0}.mission-list button{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;padding:13px;border:1px solid #315c70;background:#071e2d;color:#fff;text-align:left;cursor:pointer}.mission-list button>i{display:grid;place-items:center;width:48px;height:48px;border:1px solid #69eaff;border-radius:50%;color:#ffe087;font:900 22px Impact}.mission-list span b,.mission-list span small,.mission-list span em{display:block}.mission-list span b{font:900 18px Impact;letter-spacing:.08em}.mission-list span small{color:#8fb1bd;font:900 6px monospace;letter-spacing:.1em}.mission-list span em{width:0;height:6px;margin-top:7px;background:linear-gradient(90deg,#63eaff,#81ffad);box-shadow:0 0 10px #63eaff;transition:width .2s}.mission-list button.active{border-color:#ffe17e;background:#24311f}.mission-list button.done{border-color:#77ffad;opacity:.7}.mission-list button.done span b:after{content:" · LISTA";color:#81ffad}.mission-status{padding:12px;border:1px solid #43677a;background:#03101a;color:#aeefff;font:900 8px monospace;letter-spacing:.15em;text-align:center}
.weather-controls{position:absolute;z-index:5;right:18px;bottom:20px;display:flex;gap:5px;padding:7px;border:1px solid #ffffff66;background:#061421cc;backdrop-filter:blur(10px)}.weather-controls button{width:58px;height:50px;border:1px solid #547487;background:#0a293b;color:#fff;font:900 18px Impact;cursor:pointer}.weather-controls button span{display:block;margin-top:2px;color:#a9c9d2;font:900 5px monospace;letter-spacing:.08em}.weather-controls button.active{border-color:#ffe79e;background:#624b20;box-shadow:0 0 18px #ffe07955}.lounge-panel:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;opacity:0;transition:opacity .5s}.lounge-panel.weather-storm:before{opacity:1;background:repeating-linear-gradient(103deg,transparent 0 22px,#bdeeff66 24px 26px,transparent 28px 45px),linear-gradient(#061124aa,#17203388);background-size:160% 160%;animation:rainFly .45s linear infinite}.lounge-panel.weather-rainbow:before{opacity:.75;background:radial-gradient(circle at 65% 75%,transparent 0 23%,#ff6363 23.5% 25%,#ffcf61 25.5% 27%,#72f589 27.5% 29%,#65d8ff 29.5% 31%,#ab72ff 31.5% 33%,transparent 33.5%)}.lounge-panel.weather-night:before{opacity:1;background:radial-gradient(circle at 75% 15%,#fff 0 3px,transparent 5px),radial-gradient(circle at 24% 26%,#fff 0 2px,transparent 4px),radial-gradient(circle at 52% 42%,#fff 0 1px,transparent 3px),linear-gradient(#01051dcc,#051541aa)}.lounge-panel.weather-aurora:before{opacity:.9;background:repeating-radial-gradient(ellipse at 50% -30%,transparent 0 17%,#46ffb022 18% 20%,#5be6ff55 22% 24%,#aa68ff33 26% 28%,transparent 30% 34%);animation:auroraWave 4s ease-in-out infinite alternate}.lounge-panel.weather-storm #skyCanvas{filter:brightness(.42) saturate(.7)}.lounge-panel.weather-night #skyCanvas{filter:brightness(.22) hue-rotate(35deg)}.lounge-panel.weather-aurora #skyCanvas{filter:brightness(.38) hue-rotate(25deg)}@keyframes rainFly{to{background-position:-70px 110px}}@keyframes auroraWave{to{transform:translateY(20px) scaleX(1.08);filter:hue-rotate(40deg)}}
@media(max-width:700px){.baggage-passport{padding:22px 17px}.baggage-options{grid-template-columns:1fr}.baggage-options button{display:grid;grid-template-columns:48px 1fr;padding:9px}.baggage-options i{grid-row:1/3;width:35px;height:40px;margin:0}.baggage-options b,.baggage-options small{text-align:left}.cabin-luggage{left:1%;bottom:15%}.cabin-luggage span{display:none}.room-spot{left:0!important;top:25%!important}.mission-spot{right:0!important;top:60%!important}.weather-controls{right:8px;bottom:72px}.weather-controls button{width:40px;height:40px}.weather-controls button span{display:none}.mission-board{padding:22px 15px}.room-card{left:3%;bottom:4%}}
@media(prefers-reduced-motion:reduce){.room-image,.lounge-panel:before{animation:none!important}}

/* iPhone WebKit: sticky hover on a ticket used to move the card beyond the
   viewport, creating a horizontal page-pan in landscape. Keep the tactile
   state, but reserve movement for devices that actually have a mouse. */
@media (hover:none),(pointer:coarse){
  .airport-crowd{overflow:clip;contain:layout paint}
  .phone-panel{padding:max(8px,env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
  .phone-shell{box-sizing:border-box;width:min(430px,calc(100vw - 16px));max-width:calc(100vw - 16px)}
  .ticket-classes button:hover,.ticket-classes button:focus-visible{transform:none}
  .ticket-classes button:focus-visible{outline:3px solid #fff0b2;outline-offset:-3px}
}
@media (hover:none) and (orientation:landscape) and (max-height:520px){
  .airport-route i small{display:none}
  .phone-panel{padding:6px}
  .phone-shell{width:min(430px,calc(100vw - 12px));max-width:calc(100vw - 12px);min-height:0;height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-width:5px;border-radius:20px}
}
