/* 从 2 号首页/详情搬来的样式，不含心动配对和附近的人 */
body.page-home .app-shell{background:transparent;}
body.page-home .top{
    display:flex !important;
    position:fixed;
    top:0;
    left:50%;
    z-index:200;
    width:100%;
    max-width:520px;
    min-height:58px;
    margin:0 !important;
    padding:0 16px !important;
    align-items:center;
    justify-content:center;
    background:rgba(247,247,250,.94) !important;
    border:0 !important;
    border-bottom:1px solid rgba(233,234,240,.9) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    transform:translateX(-50%);
}
body.page-home .brand{
    position:relative;
    margin:0 !important;
    color:#252936 !important;
    font-size:22px !important;
    font-weight:800 !important;
    letter-spacing:3px !important;
}
body.page-home .brand::before{
    position:absolute;
    top:50%;
    right:calc(100% + 9px);
    color:#ff5f7e;
    content:"♥";
    font-size:13px;
    transform:translateY(-50%);
}
body.page-home .brand::after{content:none !important;}
body.page-home .app{
    padding:72px 14px calc(120px + env(safe-area-inset-bottom)) 14px !important;
}
body.page-detail .app{
    padding:12px 0 calc(84px + env(safe-area-inset-bottom)) !important;
}
body.page-detail .back-float{display:none !important;}

.ez2-welcome{
    position:relative;
    overflow:hidden;
    min-height:0;
    margin:0 0 12px;
    padding:6px 2px 8px;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}
.ez2-welcome > .ez2-daily-label,
.ez2-welcome > h1,
.ez2-welcome > p{max-width:61%;position:relative;z-index:1;}
.ez2-welcome-cupid{
    position:absolute;z-index:0;right:2px;bottom:0;width:40%;height:100%;
    object-fit:contain;object-position:right center;pointer-events:none;user-select:none;
}
.ez2-daily-label{
    position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;
    margin-bottom:8px;padding:5px 11px;color:#d83d65;
    background:linear-gradient(145deg,#fffafd 0%,#ffe8ef 52%,#f8eaff 100%);
    border:1px solid rgba(255,126,158,.2);border-radius:999px;
    box-shadow:inset 0 1px 0 #fff,0 4px 10px rgba(220,79,126,.1);
    font-size:12px;font-weight:900;letter-spacing:.4px;
}
.ez2-welcome h1{
    width:max-content;max-width:100%;margin:0 0 5px;color:#24263a;
    font-size:29px;font-weight:900;letter-spacing:1.5px;line-height:1.2;
}
.ez2-welcome p{margin:0;color:#77798b;font-size:14px;font-weight:500;}

.ez2-profile-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.ez2-profile-card{
    position:relative;overflow:hidden;background:#fff;
    border:1px solid rgba(235,236,242,.9);border-radius:22px;
    box-shadow:0 12px 30px rgba(35,43,65,.07);
}
.ez2-photo-wrap{
    position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;
    background:linear-gradient(145deg,#fff0f4,#f0edff);
}
.ez2-photo-wrap::after{
    position:absolute;right:0;bottom:0;left:0;height:32%;content:"";
    pointer-events:none;background:linear-gradient(transparent,rgba(30,34,45,.24));
}
.ez2-profile-photo{display:block;width:100%;height:100%;object-fit:cover;}
.ez2-no-photo{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#a7a3af;}
.ez2-online-badge,
.ez2-cover-status{
    position:absolute;bottom:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;
    padding:7px 12px;color:#2a3b34;background:rgba(255,255,255,.96);
    border:1px solid rgba(255,255,255,.95);border-radius:999px;
    box-shadow:0 6px 16px rgba(31,36,48,.14);font-size:13px;font-weight:700;
    backdrop-filter:blur(8px);
}
.ez2-status-dot{
    width:8px;height:8px;border-radius:50%;background:#22c55e;
    box-shadow:0 0 0 3px rgba(34,197,94,.18),0 0 10px rgba(34,197,94,.85);
    animation:ez2DotPulse 1.6s ease-in-out infinite;
}
@keyframes ez2DotPulse{
    0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.16),0 0 8px rgba(34,197,94,.7);}
    50%{box-shadow:0 0 0 5px rgba(34,197,94,.12),0 0 14px rgba(34,197,94,1);}
}
.ez2-hot-badge,
.ez2-cover-hot{
    position:absolute;bottom:14px;right:14px;z-index:2;display:inline-flex;align-items:center;
    padding:7px 11px;color:#e54c6b;background:rgba(255,255,255,.96);
    border-radius:999px;box-shadow:0 6px 16px rgba(31,36,48,.14);
    font-size:13px;font-weight:800;backdrop-filter:blur(8px);
}
.ez2-reg-photo,
.ez2-cover-reg{
    position:absolute;top:14px;right:14px;bottom:auto;left:auto;z-index:3;display:inline-flex;align-items:center;
    padding:7px 11px;color:#168454;background:rgba(255,255,255,.96);
    border-radius:999px;box-shadow:0 6px 16px rgba(31,36,48,.14);
    font-size:13px;font-weight:800;backdrop-filter:blur(8px);
    transform:none;
}
.ez2-card-body{padding:17px;}
.ez2-name-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ez2-profile-name{min-width:0;overflow:hidden;color:#222733;font-size:21px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;}
.ez2-age-badge{display:inline-flex;padding:5px 9px;color:#e54c6b;background:#fff0f4;border-radius:999px;font-size:12px;font-weight:700;}
.ez2-nationality-badge{display:inline-flex;margin-top:9px;padding:4px 9px;color:#6f5a86;background:#f7f1ff;border-radius:999px;font-size:12px;font-weight:700;}
.ez2-location-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;color:#747b8b;font-size:13px;}
.ez2-location::before{content:"📍";margin-right:4px;}
.ez2-distance::before{content:"◎";margin-right:4px;color:#806cff;font-weight:800;}
.ez2-interest-section{margin-top:14px;}
.ez2-interest-title{margin-bottom:7px;color:#9a9eaa;font-size:11px;}
.ez2-tags{display:flex;gap:6px;flex-wrap:wrap;}
.ez2-tag{display:inline-flex;padding:5px 9px;color:#d94b69;background:#fff0f4;border-radius:999px;font-size:11px;}
.ez2-tag:nth-child(even){color:#6755d7;background:#f0edff;}
.ez2-no-interest{color:#aaaeba;font-size:12px;}
.ez2-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px;}
.ez2-like-form{margin:0;}
.ez2-action{
    display:flex;min-height:45px;align-items:center;justify-content:center;
    border-radius:12px;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;
}
.ez2-detail-btn{color:#e64c6b;background:#fff;border:1px solid #ffcbd5;}
.ez2-like-btn{width:100%;color:#fff;background:linear-gradient(135deg,#ff5f7e,#806cff);border:0;box-shadow:0 8px 18px rgba(255,95,126,.2);}

/* 详情 */
.ez2-detail-page{width:min(100% - 24px,980px);margin:0 auto;}
.ez2-hero-card{
    overflow:hidden;background:#fff;border:1px solid rgba(235,236,242,.95);
    border-radius:23px;box-shadow:0 18px 45px rgba(35,43,65,.1);
}
.ez2-cover{position:relative;min-height:440px;max-height:540px;overflow:hidden;background:linear-gradient(145deg,#fff0f4,#f0edff);}
.ez2-cover img{display:block;width:100%;height:100%;min-height:440px;max-height:540px;object-fit:cover;}
.ez2-back-button{
    position:absolute;top:16px;left:16px;z-index:3;display:inline-flex;min-height:40px;align-items:center;
    padding:0 13px;color:#303541;background:rgba(255,255,255,.92);border-radius:20px;
    box-shadow:0 7px 18px rgba(30,36,50,.13);text-decoration:none;font-size:13px;font-weight:700;
}
.ez2-cover-status{z-index:3;}
.ez2-cover-hot{z-index:3;}
.ez2-info-area{padding:23px 19px;}
.ez2-reg-badge{display:inline-flex;padding:5px 9px;color:#168454;background:#eaf8f1;border-radius:999px;font-size:12px;font-weight:700;}
.ez2-place-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:11px;color:#747b8b;font-size:14px;}
.ez2-place-sep{color:#c4c6cd;}
.ez2-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px;}
.ez2-basic-item{display:flex;align-items:center;gap:11px;min-width:0;padding:11px;background:linear-gradient(145deg,#fafafd,#fff9fb);border:1px solid #ebecf2;border-radius:15px;}
.ez2-basic-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;background:#fff;border-radius:11px;box-shadow:0 5px 13px rgba(35,43,65,.06);font-size:17px;}
.ez2-basic-label{color:#999daa;font-size:11px;}
.ez2-basic-value{margin-top:3px;overflow:hidden;color:#303541;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;}
.ez2-interest-block{margin-top:20px;}
.ez2-content-card,.ez2-gallery-card{
    margin-top:14px;padding:19px;background:#fff;border:1px solid #ebecf2;border-radius:18px;
    box-shadow:0 11px 28px rgba(35,43,65,.07);
}
.ez2-content-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:#272c38;font-size:19px;font-weight:800;}
.ez2-title-icon{display:grid;width:35px;height:35px;place-items:center;background:linear-gradient(145deg,#fff0f4,#f0edff);border-radius:11px;font-size:17px;}
.ez2-content-text{color:#606776;font-size:14px;line-height:1.9;white-space:pre-wrap;}
.ez2-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.ez2-gallery-btn{padding:0;border:0;background:transparent;border-radius:14px;overflow:hidden;}
.ez2-gallery-photo{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;}
.ez2-empty-gallery{padding:25px;color:#9a9eaa;background:#f8f8fb;border-radius:14px;text-align:center;}
.ez2-like-dock{position:fixed;right:0;bottom:0;left:0;z-index:80;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(247,247,250,.96) 28%);}
.ez2-dock-like{
    display:flex;width:min(100%,560px);min-height:52px;margin:0 auto;align-items:center;justify-content:center;
    color:#fff;background:linear-gradient(135deg,#ff5f7e,#806cff);border:0;border-radius:15px;
    box-shadow:0 12px 28px rgba(255,95,126,.28);font-size:16px;font-weight:800;cursor:pointer;
}

@media(max-width:700px){
    .ez2-welcome{margin-bottom:10px;padding:4px 0 6px;}
    .ez2-welcome-cupid{width:43%;}
    .ez2-welcome h1{font-size:26px;letter-spacing:1px;}
}
@media(max-width:370px){
    .ez2-card-actions{gap:7px;}
    .ez2-action{font-size:12px;}
}
