#panel[data-kind=airport]{width:min(560px,calc(100% - 24px));padding:22px;background:#fff;color:#202633;border-radius:24px;max-height:92dvh}
#panel[data-kind=airport] .panel-header{margin-bottom:18px}#panel[data-kind=airport] .panel-header h2{font:700 23px Outfit,system-ui}
.departure-tabs{display:flex;background:#f3f4f7;border-radius:28px;padding:4px;gap:4px}.departure-tabs button{flex:1;border-radius:24px;padding:11px 8px;background:transparent;color:#566072}.departure-tabs button[aria-pressed=true]{background:white;box-shadow:0 2px 5px #19233d22;color:#202633}
.departure-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 10px}.departure-heading h3{text-transform:uppercase;font-size:11px;letter-spacing:1px;margin:0;color:#7d8490}.airport-link{font-size:11px;background:none;color:#327dbe;padding:6px}
.departure-board{border-radius:22px;background:#0c1421;overflow:auto;max-height:230px;scrollbar-width:thin;scrollbar-color:#515b6d #0c1421}.departure-row{display:flex;align-items:center;gap:10px;width:100%;padding:11px 13px;text-align:left;color:white;background:transparent;border-bottom:1px solid #26303f}.departure-row[aria-pressed=true]{background:#232b39;box-shadow:inset 3px 0 #f5cf35}.departure-row>b{color:#f5cf35;font-size:13px;width:32px;flex-shrink:0}.departure-row strong{font-size:13px;display:block}.departure-row small{display:block;font-size:10px;color:#aab2c0;margin-top:4px}.departure-price{margin-left:auto;white-space:nowrap;font-size:12px;font-weight:700;text-align:right}.departure-check{font-size:20px;color:#697585}.departure-row[aria-pressed=true] .departure-check{color:#f5cf35}.departure-timing{font-size:11px;color:#788293;margin:9px 3px 14px}
.cabin-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cabin-grid button{position:relative;text-align:left;padding:13px;border:2px solid transparent;border-radius:19px;background:#f2f6fb;color:#354253}.cabin-grid button[aria-pressed=true]{border-color:#348bd6;background:#f4f9ff}.cabin-grid strong{display:block;font-size:12px}.cabin-grid span{display:block;font-size:13px;margin-top:7px}.cabin-grid b{position:absolute;right:12px;bottom:12px;color:#2487c8}#panel-content .cabin-description{font-size:11px;line-height:1.5;margin:12px 2px;color:#6e7b89}
.boarding-ticket{background:#0c1727;border-radius:22px;overflow:hidden;color:white;box-shadow:0 7px 20px #17203022}.ticket-route{padding:12px 16px;background:linear-gradient(110deg,#067d98,#167453);display:flex;align-items:center;justify-content:space-between;gap:10px}.ticket-route strong{letter-spacing:2px;font-size:16px}.ticket-route>span{font-size:9px;letter-spacing:1px}.ticket-body{padding:15px}.ticket-line{display:flex;justify-content:space-between;font-size:12px;gap:12px;margin-bottom:14px}.ticket-insurance{display:flex;align-items:center;gap:9px;text-align:left;color:#fff;background:transparent;width:100%;padding:0}.ticket-insurance strong{font-size:12px}.ticket-insurance>strong{margin-left:auto;white-space:nowrap}.ticket-insurance small{display:block;color:#b5c0d2;font-size:10px;margin-top:4px}.airport-switch{width:36px;height:21px;background:#526077;border-radius:20px;flex-shrink:0;position:relative}.airport-switch:after{content:'';position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:white}.ticket-insurance[aria-checked=true] .airport-switch{background:#19b67b}.ticket-insurance[aria-checked=true] .airport-switch:after{left:18px}.ticket-total{border-top:1px dashed #657287;margin-top:16px;padding:14px 0;display:flex;justify-content:space-between;font-size:12px}.ticket-total strong{font-size:18px}.airport-book{display:flex;align-items:center;justify-content:space-between;width:100%;background:#1bb67c;color:#fff;border-radius:30px;padding:16px;font-size:14px;font-weight:700;gap:10px}.airport-book:disabled{opacity:.5;cursor:not-allowed}.ticket-policy{display:block;font-size:10px;line-height:1.5;color:#b4bfd0;margin-top:11px}.airport-cancel{background:transparent;color:#bfcddd;padding:14px 0 0;font-size:12px}#panel-content .ticket-body p{color:#c2cedd;font-size:13px}.ticket-body h3{color:white}.departure-row:focus-visible,.cabin-grid button:focus-visible,.airport-book:focus-visible,.ticket-insurance:focus-visible{outline:3px solid #f4cb44;outline-offset:-3px}
@media(max-width:480px){#panel[data-kind=airport]{padding:16px;max-height:94dvh}.departure-row{gap:7px;padding:11px 9px}.departure-row strong{font-size:12px}.departure-price{font-size:11px}.departure-board{max-height:180px}.departure-heading{gap:4px}.airport-link{font-size:10px}.ticket-route>span{font-size:8px}}

#panel[data-kind=airport] .boarding-ticket{position:sticky;bottom:-22px;z-index:2}#panel[data-kind=airport] .departure-board{max-height:174px}#panel[data-kind=airport] .panel-header{margin-bottom:12px}.ticket-body{padding:12px 15px}.ticket-total{margin-top:10px;padding:10px 0}.ticket-policy{font-size:9px}.airport-book{padding:14px 16px}@media(max-width:480px){#panel[data-kind=airport] .boarding-ticket{bottom:-16px}.ticket-insurance small{max-width:170px}}
#panel[data-kind=airport] .departure-board{max-height:116px}.world-travel-scene{height:300px;min-height:240px}@media(max-width:480px){.world-travel-scene{height:240px}}
#panel[data-kind=flightjourney]{width:min(820px,calc(100% - 24px));padding:22px;background:#fff;color:#203445;max-height:94dvh}
.flight-route-summary{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:12px}.flight-route-summary span{color:#6a7a87}
#flight-journey-scene{height:340px;background:#bddeec;border-radius:18px;overflow:hidden;display:grid;place-items:center}#flight-journey-scene canvas{display:block;width:100%;height:100%}
#panel-content #flight-status{font-weight:700;font-size:17px;color:#164e63;margin:17px 0 10px}#flight-progress{width:100%;height:8px;accent-color:#1bb67c}
.flight-stages{list-style:none;padding:0;display:flex;justify-content:space-between;gap:5px;margin:16px 0}.flight-stages li{font-size:17px;display:flex;flex-direction:column;align-items:center;gap:6px;color:#8a98a3}.flight-stages span{font-size:11px}.flight-stages .current{color:#077952;font-weight:700}.flight-stages .complete{color:#327d73}
#panel-content .flight-note{font-size:12px;line-height:1.5;color:#647581}#panel[data-kind=flightjourney] .airport-cancel{color:#965444;font-size:12px}
@media(max-width:480px){#panel[data-kind=flightjourney]{padding:16px}.flight-route-summary{flex-direction:column;gap:5px}#flight-journey-scene{height:270px}.flight-stages span{font-size:10px}.flight-stages li{font-size:16px}}

.flight-in-progress #world{pointer-events:none;opacity:.7}
