/* Shared match reveal: real discovery, homepage hero and the contained demo. */
.match-celebration{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 25%,#aa355a 0,transparent 58%),linear-gradient(155deg,#64162b,#35101f);color:#fff;text-align:center;overflow:hidden}
.match-celebration::before{content:'';position:absolute;inset:10% -15% 25%;border:1px solid #ffc4d04d;border-radius:50%;transform:rotate(-25deg);pointer-events:none;z-index:-1;animation:match-ring 1.4s ease-out both}
.match-celebration::after{content:'';position:absolute;inset:18% -23% 18%;border:1px solid #ffc4d025;border-radius:50%;transform:rotate(28deg);pointer-events:none;z-index:-1}
.match-celebration .match-sparkles{position:absolute;inset:8% 0 auto;height:380px;font-size:0;line-height:1;pointer-events:none;z-index:0;animation:match-sparkles 7s ease-in-out infinite}
.match-celebration .match-sparkles::before,.match-celebration .match-sparkles::after{content:'✦';position:absolute;top:0;left:12%;font-size:16px;color:#ffd5a6;text-shadow:220px 30px #ffb5c1,12px 225px #fff,215px 320px #ffd5a6;opacity:.7;pointer-events:none;animation:match-twinkle 3.6s ease-in-out infinite}
.match-celebration .match-sparkles::after{left:auto;right:16%;top:78px;font-size:11px;color:#fff;text-shadow:-210px 48px #ffb5c1,-12px 192px #ffd5a6,-190px 272px #fff;animation:match-twinkle 4.8s -2.4s ease-in-out infinite}
.match-celebration .match-portraits{position:relative;display:flex;align-items:center;justify-content:center;gap:0;width:100%;margin:20px auto 30px;isolation:isolate}
.match-celebration .match-portraits>img,.match-celebration .match-portraits>svg,.match-celebration .match-portraits>span,.match-celebration .match-portraits>.sandbox-group{display:block;flex:0 0 42%;width:42%;max-width:150px;height:180px;margin:0 -5px;border:4px solid #fff;border-radius:25px;object-fit:cover;overflow:hidden;background:#f8e8eb;box-shadow:0 18px 40px #210b1459;transform:rotate(-10deg);animation:match-photo-left .85s cubic-bezier(.16,1,.3,1) both}
.match-celebration .match-portraits>:nth-child(2){transform:rotate(10deg) translateY(12px);animation:match-photo-right .85s .1s cubic-bezier(.16,1,.3,1) both}
.match-celebration .match-portraits::after{content:'♥';position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:4px solid #fff;background:var(--red);color:#fff;font-size:23px;box-shadow:0 8px 24px #210b1440;animation:match-heart .7s .35s cubic-bezier(.16,1,.3,1) both}
.match-celebration .sandbox-group{display:block!important}
.match-celebration .sandbox-group>*{width:100%;height:100%;min-width:0;object-fit:cover;border:0;border-radius:0}
.match-celebration .match-eyebrow,.match-celebration .eyebrow,.match-celebration .hero-match-copy small{color:#ffd4de;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.match-celebration h2,.match-celebration .hero-match-copy h3{color:#fff;font-size:clamp(32px,5vw,46px);line-height:1.04;letter-spacing:-.055em;margin:14px 0;animation:match-copy .7s .2s ease-out both}
.match-celebration p,.match-celebration .hero-match-copy p{color:#f9e3e9;font-size:14px;line-height:1.6;margin:0 auto 22px;max-width:32ch;animation:match-copy .7s .3s ease-out both}
.match-celebration button,.match-celebration a.button{position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;width:100%;padding:12px 16px;border-radius:999px;font-family:inherit;font-weight:750;font-size:14px;line-height:1.3;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s}
.match-celebration button:hover,.match-celebration a.button:hover{transform:translateY(-2px);box-shadow:0 10px 26px #210b1430}
.match-celebration button:focus-visible,.match-celebration a:focus-visible{outline:3px solid #ffd5a6;outline-offset:4px}
.match-celebration [data-sandbox-action=match-chat],.match-celebration [data-hero-chat],.discovery-match.match-celebration a.button{background:#fff;color:var(--burgundy);border:1px solid #fff;box-shadow:0 12px 28px #210b1429}
.match-celebration [data-sandbox-action=close-match],.discovery-match.match-celebration button.ghost{background:transparent;color:#fff;border:1px solid #ffffff80;box-shadow:none}
.sandbox-overlay.match-celebration{position:absolute;padding:24px 22px;overflow-y:auto}
.sandbox-overlay.match-celebration>div{position:relative;width:100%;max-width:340px}
.hero-phone .hero-screen.match-celebration.active{display:flex;flex-direction:column;justify-content:center;padding:52px 20px 22px}
.hero-phone .match-celebration .match-portraits{margin:12px auto 28px}
.hero-phone .match-celebration .match-portraits>*{height:150px}
.hero-phone .match-celebration .hero-match-copy{padding:0;position:relative}
.hero-phone .match-celebration .hero-match-copy h3{font-size:38px}
.hero-phone .match-celebration .hero-match-copy button{margin-top:18px}
.discovery-dialog:has(.match-celebration){padding:0;background:#35101f;border-color:#b76b83}
.discovery-dialog:has(.match-celebration)>.dialog-close{position:absolute;right:12px;top:12px;z-index:3;background:#ffffff18;color:#fff;border-color:#ffffff55}
.discovery-match.match-celebration{padding:60px 30px 30px;min-height:520px}
.discovery-match.match-celebration .button,.discovery-match.match-celebration .ghost{max-width:340px;margin:12px auto 0}
@keyframes match-photo-left{from{opacity:0;transform:translate(-65px,35px) rotate(-24deg) scale(.85)}to{opacity:1;transform:rotate(-10deg)}}
@keyframes match-photo-right{from{opacity:0;transform:translate(65px,35px) rotate(24deg) scale(.85)}to{opacity:1;transform:rotate(10deg) translateY(12px)}}
@keyframes match-heart{from{opacity:0;transform:translateX(-50%) scale(.35)}65%{transform:translateX(-50%) scale(1.16)}to{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes match-copy{from{opacity:0}to{opacity:1}}
@keyframes match-ring{from{opacity:0;transform:rotate(-45deg) scale(.6)}to{opacity:1;transform:rotate(-25deg) scale(1)}}
@keyframes match-sparkles{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes match-twinkle{0%,100%{opacity:.3;transform:scale(.85) rotate(-8deg)}50%{opacity:.95;transform:scale(1.12) rotate(8deg)}}
@media(max-width:380px){.match-celebration .match-portraits>img,.match-celebration .match-portraits>svg,.match-celebration .match-portraits>span,.match-celebration .match-portraits>.sandbox-group{height:145px}.hero-phone .match-celebration .match-portraits>*{height:130px}.match-celebration p{font-size:13px}.discovery-match.match-celebration{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){.match-celebration,.match-celebration *,.match-celebration::before,.match-celebration::after,.match-celebration *::before,.match-celebration *::after{animation:none!important;transition:none!important}.match-celebration button:hover,.match-celebration a.button:hover{transform:none}}

.match-portraits>[data-match-side="peer"]>img,.match-portraits>[data-match-side="peer"]>svg{display:block;width:100%;height:100%;object-fit:cover;margin:0}
.match-portraits .fc-group-photo{gap:2px;padding:0}
/* Group match: both groups as collages, each captioned with its name (mirrors you + them on the person match screen). */
.match-celebration .match-group-side{position:relative;background:#2a0e1a}
.match-celebration .match-group-side>.fc-group-photo{position:absolute;inset:0;width:100%;height:100%}
.match-celebration .match-group-side::after{content:'';position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(transparent,#1d0811d9);pointer-events:none}
.match-celebration .match-group-name{position:absolute;left:8px;right:8px;bottom:9px;z-index:1;color:#fff;font-size:12px;font-weight:800;line-height:1.2;letter-spacing:-.01em;text-align:left;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 1px 6px #0008}
.match-celebration.group-match .match-portraits>span{max-width:160px;height:196px}
.match-celebration .match-group-names{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;margin:-4px auto 12px;font-size:15px;color:#fff}
.match-celebration .match-group-names b{font-weight:800}.match-celebration .match-group-names span{color:#ffb5c1}
.match-celebration .match-group-side[data-match-side=self] .match-group-name{right:30px}
.match-celebration .match-group-side[data-match-side=peer] .match-group-name{left:30px;text-align:right}
.match-celebration .match-solo-side>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
/* v474: fullscreen match screen (edge to edge incl. safe areas, no X, tap anywhere except buttons dismisses), Liquid Glass buttons, faster reveal. */
.discovery-dialog.match-fullscreen{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#35101f;overflow:hidden;box-shadow:none}
.discovery-dialog.match-fullscreen::backdrop{background:#35101f}
.discovery-dialog.match-fullscreen>.discovery-match.match-celebration{box-sizing:border-box;min-height:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--app-safe-top,env(safe-area-inset-top,0px)) + 24px) calc(env(safe-area-inset-right,0px) + 28px) calc(env(safe-area-inset-bottom,0px) + 24px) calc(env(safe-area-inset-left,0px) + 28px);overflow-y:auto;cursor:pointer;scrollbar-width:none}
.discovery-dialog.match-fullscreen>.discovery-match.match-celebration::-webkit-scrollbar{display:none}
.match-fullscreen .match-celebration a.button,.match-fullscreen .match-celebration button,.sandbox-overlay.match-celebration button{cursor:pointer;-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%)}
.match-fullscreen .discovery-match.match-celebration a.button,.sandbox-overlay.match-celebration [data-sandbox-action=match-chat]{background:#ffffffeb;border:1px solid #ffffffcc;box-shadow:inset 0 1px 0 #fff,0 12px 30px #210b1438}
.match-fullscreen .discovery-match.match-celebration button.ghost,.sandbox-overlay.match-celebration [data-sandbox-action=close-match]{background:#ffffff1f;border:1px solid #ffffff59;box-shadow:inset 0 1px 0 #ffffff40}
.sandbox-overlay.match-celebration{cursor:pointer}
.match-celebration .match-portraits>img,.match-celebration .match-portraits>svg,.match-celebration .match-portraits>span,.match-celebration .match-portraits>.sandbox-group{animation-duration:.45s}
.match-celebration .match-portraits>:nth-child(2){animation-duration:.45s;animation-delay:.04s}
.match-celebration .match-portraits::after{animation-duration:.4s;animation-delay:.12s}
.match-celebration h2,.match-celebration p,.match-celebration .hero-match-copy h3,.match-celebration .hero-match-copy p{animation-duration:.3s;animation-delay:.05s}
.match-celebration::before{animation-duration:.6s}
html.virtual-phone-client dialog.discovery-dialog.match-fullscreen{inset:0;top:0;height:100%;max-height:none;border-radius:0;box-shadow:none}
.sandbox-device.match-tint{background:#35101f!important;background-image:none!important}
.sandbox-device.match-tint>.sandbox-status-bar{color:#fff}
.sandbox-device.match-tint>.sandbox-status-bar svg{fill:#fff}

/* v497 Likes / Super Likes sheet fullscreen like the match screen, glass controls */
.discovery-dialog.likes-fullscreen{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;box-sizing:border-box;padding:calc(var(--app-safe-top,env(safe-area-inset-top,0px)) + 18px) 16px calc(var(--app-safe-bottom,env(safe-area-inset-bottom,0px)) + 18px);border:0;border-radius:0!important;overflow-y:auto;background:radial-gradient(120% 70% at 50% 0%,rgba(255,214,226,.96),rgba(255,248,250,.97) 60%);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%)}
.discovery-dialog.likes-fullscreen::backdrop{background:rgba(48,21,35,.35)}
.discovery-dialog.likes-fullscreen :is(.button,.ghost){-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%)}
.discovery-dialog.likes-fullscreen .ghost{background:rgba(255,255,255,.62);border-color:rgba(255,255,255,.9)}
