/* Every override is limited to the new Match stage; Landing/Search CSS stays intact. */
.match-ui[hidden]{display:none}
.match-ui{position:absolute;inset:0;z-index:3;pointer-events:none}
.connection-overlay{display:none}
.match-active{--match-earth-transform:translateY(14cqw) scale(1.3)}
.match-active .search-copy{visibility:hidden;opacity:0!important;transition:opacity 140ms}
.match-active .search-scene{pointer-events:none}
.match-active .route-destination{opacity:0}
.match-active .globe-stage::before{box-shadow:0 -1px 5px #99cfff66,0 0 26px #619bc21a}
.match-active .connection-overlay{display:initial;opacity:0;transition:opacity 280ms}
.match-active [data-match-revealed="true"] .connection-overlay{opacity:1}
.match-heading{position:absolute;top:23.8%;left:3%;width:94%;text-align:center;opacity:0;transform:translateY(5px)}
.match-heading h2{margin:0;color:#ffda79;font:400 clamp(36px,12.3cqw,54px)/1.08 Lilita,Arial,sans-serif;letter-spacing:.015em;text-shadow:0 2px 0 #a96824,0 0 22px #ffb63d55}
.match-heading p{max-width:95%;margin:2cqw auto 0;color:#f4ece0;font:500 clamp(14px,4.15cqw,18px)/1.35 Nunito,Arial,sans-serif}
[data-match-revealed="true"] .match-heading{opacity:1;transform:none;transition:opacity 350ms,transform 350ms}
.match-details{position:absolute;left:5%;bottom:1.5%;width:90%;display:grid;gap:2.4cqw}
.match-location-card{padding:3cqw 3.6cqw 2.5cqw;border:1px solid #e9d1a929;border-radius:5cqw;background:linear-gradient(140deg,#101b25f0,#060d14ed);box-shadow:0 8px 24px #0003;opacity:0;transform:translateY(5px)}
.match-location-card[hidden]{display:none}
[data-match-revealed="true"] .match-location-card{opacity:1;transform:none;transition:opacity 350ms 120ms,transform 350ms 120ms}
.match-places{display:grid;grid-template-columns:minmax(0,1fr) 8% minmax(0,1fr);align-items:center;gap:2cqw}
.match-place{min-width:0;text-align:center;overflow-wrap:anywhere}
.match-place strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:400 clamp(14px,4.4cqw,20px)/1.16 Lilita,Arial,sans-serif;text-transform:uppercase;color:#f7f0e2}
.match-place small{display:block;margin-top:1cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 clamp(12px,3.25cqw,15px)/1.15 Nunito,Arial,sans-serif;color:#bbb8af}
.match-place .match-region{margin:.6cqw 0 0;font-size:clamp(12px,3.35cqw,15px);text-transform:uppercase;color:#e0d6c1}
.match-arrow{font:500 6cqw/1 Nunito,Arial,sans-serif;text-align:center;color:#edc775}
.match-distance{display:block;margin:1.8cqw 0 0;text-align:center;color:#ffda80;font:400 clamp(19px,5.5cqw,25px)/1.1 Lilita,Arial,sans-serif;letter-spacing:.025em}
.match-distance[hidden]{display:none}
.connection-card{display:grid;grid-template-columns:10cqw minmax(0,1fr);gap:2.2cqw;align-items:center;min-height:18cqw;padding:3cqw 4cqw;border:1px solid #edd5a61f;border-radius:5cqw;background:linear-gradient(125deg,#111d28f2,#081119f5);opacity:0;transform:translateY(4px)}
.match-ui:is([data-state="connecting"],[data-state="connection_failed"],[data-state="handoff"]) .connection-card{opacity:1;transform:none;transition:opacity 260ms,transform 260ms}
.connection-icon{width:10cqw;height:10cqw;fill:none;stroke:#f9d483;stroke-width:2;stroke-linecap:round}
.connection-icon .signal-core{fill:#ffdf93;stroke:none}
.match-ui[data-state="connecting"] .signal-waves{animation:connection-breathe 2400ms ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.connection-title{margin:0;color:#f1ebdf;font:500 clamp(15px,4.25cqw,19px)/1.25 Nunito,Arial,sans-serif}
.connection-description{margin:1.2cqw 0 0;color:#b7b5af;font:500 clamp(12px,3.3cqw,15px)/1.3 Nunito,Arial,sans-serif}
.connection-retry{position:absolute;right:3cqw;top:50%;transform:translateY(-50%);min-height:44px;padding:3cqw 3.5cqw;border:1px solid #ffdc81;border-radius:999px;background:#ffce62;color:#21180c;font:400 clamp(15px,4.1cqw,18px)/1.1 Lilita,Arial,sans-serif;cursor:pointer;pointer-events:auto;touch-action:manipulation}
.connection-retry[hidden]{display:none}
.connection-retry:focus-visible{outline:3px solid #fff0ba;outline-offset:4px}
.connection-line{fill:none;stroke:#ffda82;stroke-width:.65;stroke-linecap:round}
.connection-glow{stroke:#ffb841;stroke-width:1.8;opacity:.65;filter:url(#route-glow)}
.connection-highlight{stroke:#fff1bb;stroke-width:.85;stroke-dasharray:6 94;opacity:0}
.match-active [data-connection="connecting"] .connection-highlight{opacity:.85;animation:connection-flow 2600ms linear infinite}
.endpoint-glow{fill:#ffbd4324;stroke:#fcd380aa;stroke-width:.35}
.endpoint-dot{fill:#ffe7a1}
.link-pulse{fill:none;stroke:#ffdc84;stroke-width:.4;opacity:0;transform-box:fill-box;transform-origin:center}
.match-active [data-match-revealed="true"] .link-pulse{animation:connection-found-pulse 500ms ease-out 2}
.match-active [data-match-revealed="true"] .globe-stage::after{animation:match-earth-glow 900ms ease-out both}
.match-avatar{position:absolute;inset:0;background-size:432.353% auto;background-position:49.8525% 12.1783%;mask-image:radial-gradient(ellipse,#000 52%,transparent 74%)}
.endpoint-b .match-avatar{transform:rotate(-4deg)}
.match-ui[data-state="connection_failed"] .signal-waves{opacity:.3}
.match-ui[data-state="connection_failed"] .connection-card{position:relative;padding-right:31cqw}
.match-active [data-connection="failed"] .connection-overlay{opacity:.55}
.match-active [data-connection="handoff"] .globe-stage::after,.match-active [data-connection="handoff"] .link-pulse{animation:none}
@keyframes connection-found-pulse{0%{opacity:.9;transform:scale(.7)}100%{opacity:0;transform:scale(3)}}
@keyframes connection-flow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes connection-breathe{0%,38%,100%{opacity:.4;transform:scale(.96)}15%,66%{opacity:1;transform:scale(1.04)}}
@media(max-height:720px){.match-active{--match-earth-transform:translateY(12cqw) scale(.94)}.match-heading{top:23%}.match-heading h2{font-size:clamp(34px,11cqw,46px)}.match-heading p{margin-top:1.2cqw}.match-details{gap:1.8cqw}.match-location-card{padding:2cqw 3cqw}.connection-card{min-height:16cqw;padding:2.2cqw 3cqw}.match-distance{margin-top:1.2cqw}}
@media(prefers-reduced-motion:reduce){.match-active .connection-highlight{display:none}.match-active .link-pulse{opacity:.4}.match-active .match-heading,.match-active .match-location-card,.match-active .connection-card{transform:none}}
