*{box-sizing:border-box}
:root{
  --bg:#0b0713;
  --panel:#171022;
  --panel2:#241433;
  --text:#fff;
  --muted:#aaa1b6;
  --pink:#ff2f70;
  --purple:#a450ff;
  --blue:#5caeff;
  --green:#25d986;
}
/* Scoped: dark theme applies ONLY inside the Discover screen, not the whole app */
.hc-native-discover-v3{min-height:100%;background:
radial-gradient(circle at 50% -12%,#24143a 0,#0e0918 42%,#08050d 100%);
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text)}
.hc-native-discover-v3{overflow-x:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}

.d3-shell{
  width:min(100%,560px);
  min-height:100dvh;
  margin:0 auto;
  padding:max(12px,env(safe-area-inset-top)) 14px calc(92px + env(safe-area-inset-bottom));
}
.d3-header{padding:2px 4px 10px}
.d3-title-row{display:flex;justify-content:flex-start;align-items:center;gap:12px}
.d3-title-row h1{font-size:34px;margin:0;letter-spacing:-1px}
.d3-likes-btn{
  position:relative;width:48px;height:48px;border-radius:50%;border:0;
  background:linear-gradient(135deg,#b82d83,#ff316b);color:white;font-size:20px;
  order:-1;
}
.d3-like-count{
  position:absolute;right:-3px;top:-4px;min-width:22px;height:22px;padding:0 5px;
  background:#f21f32;color:#fff;border-radius:999px;display:grid;place-items:center;
  font-size:11px;font-weight:900;border:2px solid #0b0713;
}
.d3-control-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 46px;gap:9px;margin-top:16px}
.d3-top-btn,.d3-square-btn{
  height:48px;border:1px solid rgba(255,255,255,.08);background:#21132f;color:#fff;border-radius:22px;
}
.d3-top-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;font-size:13px;font-weight:850}
.d3-top-btn.primary{background:linear-gradient(135deg,#c6328f,#ff2e69)}
.d3-square-btn{border-radius:50%;font-size:16px}
.d3-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.d3-online-wrap{display:flex;align-items:center;gap:6px;color:#ddd;font-size:11px;min-width:0}
.d3-mini-avatars{display:flex}
.d3-mini-avatars img{
  width:25px;height:25px;border-radius:50%;object-fit:cover;border:2px solid #15101d;margin-left:-7px;background:#33233f
}
.d3-mini-avatars img:first-child{margin-left:0}
.d3-online-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.d3-progress-wrap{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end}
.d3-progress-track{width:min(180px,42vw);height:4px;background:#2b2234;border-radius:999px;overflow:hidden}
.d3-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#ff2f70,#a450ff);transition:width .25s}
.d3-progress-wrap strong{font-size:12px;white-space:nowrap}

.d3-stage{position:relative;height:calc(100dvh - 265px);min-height:500px}
.d3-deck{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.d3-card{
  position:absolute;inset:0;border-radius:34px;overflow:hidden;background:#21152d;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 28px 60px rgba(0,0,0,.4);touch-action:none;user-select:none;will-change:transform;
  transform-origin:50% 92%;
}
.d3-card:nth-last-child(2){transform:translateY(7px) scale(.975);opacity:.65}
.d3-card:nth-last-child(3){transform:translateY(13px) scale(.95);opacity:.35}
.d3-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#2b193c;pointer-events:none}
.d3-shade{display:none !important;background:none !important}
.d3-card-top{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:4}
.d3-online-badge{
  display:flex;align-items:center;gap:7px;background:rgba(17,17,21,.76);backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;
  font-size:11px;font-weight:800;border:1px solid rgba(255,255,255,.12)
}
.d3-online-badge:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green)}
.d3-menu-btn{
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(12,8,18,.68);
  color:white;font-size:18px;display:grid;place-items:center
}
.d3-learning{
  position:absolute;left:18px;top:78px;z-index:4;display:flex;align-items:center;gap:10px;background:#000;
  color:#fff;padding:10px 13px;border-radius:18px;box-shadow:0 10px 26px rgba(0,0,0,.18);max-width:78%;
}
.d3-learning-icon{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:4px solid #ffd5df;color:#e61f4e;background:#000;
}
.d3-learning strong{font-size:12px;display:block}
.d3-learning span{font-size:11px;color:#3e3547}
.d3-learning button{border:0;background:none;color:#a49da9;font-size:15px;padding:0 0 0 8px}
.d3-info{position:absolute;left:22px;right:22px;bottom:80px;z-index:4}
.d3-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.d3-badge{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:rgba(147,73,225,.92);font-size:11px;font-weight:850}
.d3-badge.verified{background:rgba(56,29,83,.86);color:#cf8bff}
.d3-name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.d3-name{font-size:38px;font-weight:900;line-height:1;letter-spacing:-1px}
.d3-age{font-size:28px;font-weight:500}
.d3-verify-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#9554e8;font-size:10px}
.d3-details{display:grid;gap:8px;margin-top:14px;font-size:14px}
.d3-detail{display:flex;align-items:center;gap:9px}
.d3-detail i{width:16px;text-align:center}
.d3-actions{position:absolute;left:0;right:0;bottom:20px;z-index:5;display:flex;justify-content:center;gap:22%}
.d3-action-btn{
  width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(11,7,16,.72);
  backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);font-size:28px;color:white;
}
.d3-action-btn.like{color:#ff3b75}
.d3-stamp{
  position:absolute;top:150px;z-index:6;padding:8px 14px;border:4px solid currentColor;border-radius:10px;
  font-size:30px;font-weight:1000;letter-spacing:1px;opacity:0;pointer-events:none
}
.d3-stamp.like{left:22px;color:#45ef9d;transform:rotate(-11deg)}
.d3-stamp.pass{right:22px;color:#ff557c;transform:rotate(11deg)}

.d3-empty,.d3-loading{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px
}
.d3-spinner{width:38px;height:38px;border:4px solid rgba(255,255,255,.15);border-top-color:#a450ff;border-radius:50%;animation:d3spin .8s linear infinite}
@keyframes d3spin{to{transform:rotate(360deg)}}
.d3-empty-heart{font-size:50px}
.d3-empty h2{margin:2px 0}
.d3-empty p{margin:0;color:var(--muted);font-size:13px;max-width:260px}
.d3-empty button{margin-top:8px;border:0;background:#9150ff;color:white;border-radius:999px;padding:11px 17px;font-weight:850}

.d3-nav{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,560px);display:grid;grid-template-columns:repeat(6,1fr);
  background:rgba(11,7,15,.96);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.08);
  padding:9px 4px calc(9px + env(safe-area-inset-bottom));z-index:30
}
.d3-nav button{border:0;background:none;color:#b4abbc;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px}
.d3-nav i{font-size:18px}
.d3-nav .active{color:#ff4380}
.d3-nav .active i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#4a1a55}

.d3-sheet-bg{
  position:fixed;inset:0;z-index:50;background:rgba(5,3,8,.68);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center
}
.d3-sheet{
  width:min(100%,560px);background:#171020;border-radius:28px 28px 0 0;padding:12px 16px calc(20px + env(safe-area-inset-bottom));
  box-shadow:0 -20px 60px rgba(0,0,0,.38)
}
.d3-sheet-handle{width:44px;height:5px;border-radius:999px;background:#574c61;margin:0 auto 16px}
.d3-sheet h2{margin:0 0 14px;font-size:21px}
.d3-sheet>button{
  width:100%;border:0;border-top:1px solid rgba(255,255,255,.07);background:none;color:white;display:flex;align-items:center;gap:13px;
  padding:14px 5px;text-align:left
}
.d3-sheet>button i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#29183b;color:#c284ff}
.d3-sheet strong{display:block}
.d3-sheet small{display:block;color:#958c9f;margin-top:3px}
.d3-sheet-head{display:flex;align-items:center;justify-content:space-between}
.d3-sheet-head button{border:0;background:none;color:#b27bff;font-weight:850}
.d3-filter-sheet label{display:block;margin:14px 0 7px;color:#c8becf;font-size:12px;font-weight:800}
.d3-age-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.d3-filter-sheet input[type=number],.d3-filter-sheet select{
  width:100%;background:#251633;border:1px solid rgba(255,255,255,.09);color:white;border-radius:13px;padding:12px
}
.d3-check-row{display:flex!important;align-items:center;gap:10px;padding:8px 0}
.d3-check-row input{width:20px;height:20px}
.d3-apply{margin-top:14px!important;background:linear-gradient(135deg,#9b4fff,#ff3677)!important;border:0!important;border-radius:999px!important;justify-content:center!important;font-weight:900}
.d3-profile-sheet-head p{color:#9f95a9;margin:4px 0 12px;font-size:12px}
.d3-toast{
  position:fixed;left:50%;bottom:100px;transform:translateX(-50%);z-index:80;background:#21152e;color:white;
  border:1px solid rgba(255,255,255,.11);padding:10px 15px;border-radius:999px;font-size:12px;font-weight:850
}

@media(max-height:760px){
  .d3-stage{height:calc(100dvh - 245px);min-height:430px}
  .d3-name{font-size:31px}.d3-age{font-size:23px}.d3-info{bottom:120px}
  .d3-learning{top:65px}.d3-actions{bottom:14px}.d3-action-btn{width:64px;height:64px}
}
@media(max-width:390px){
  .d3-control-row{grid-template-columns:1.15fr .9fr .9fr 42px;gap:6px}
  .d3-top-btn{padding:0 7px;font-size:11px}
  .d3-title-row h1{font-size:31px}
}

/* ==================================================
   DISCOVER V3 — CARD LAYOUT FINAL OVERRIDES
   ================================================== */

/* Remove "Learning your type" banner from profile photo */
.d3-learning {
    display: none !important;
}

/* Move profile information higher above action buttons */
.d3-info {
    bottom: 225px !important;
}

/* Keep action buttons low with plenty of separation */
.d3-actions {
    bottom: 28px !important;
}

/* Slightly tighten profile detail spacing */
.d3-details {
    margin-top: 14px !important;
    gap: 9px !important;
}



/* ==================================================
   DISCOVER V3 — FINAL DISCOVER NAVIGATION
   ================================================== */
.d3-community-row{
    display:flex;
    align-items:center;
    margin:0 0 10px;
}
.d3-community-feed{
    border:1px solid rgba(255,255,255,.09);
    background:#21132f;
    color:#fff;
    border-radius:999px;
    padding:9px 13px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:11px;
    font-weight:850;
}
.d3-nav{
    grid-template-columns:repeat(5,1fr) !important;
}

/* ==================================================
   DISCOVER V3 — CLEAN PROFILE INFO SHELF
   ================================================== */

/* Keep photo in upper portion of card */
.d3-photo {
    height: calc(100% - 215px) !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
}

/* Fade photo gently into the information area */
.d3-shade {
    bottom: 200px !important;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,0) 60%,
            rgba(8,5,12,.35) 82%,
            rgba(8,5,12,.88) 100%
        ) !important;
}

/* Clean dedicated information shelf */
.d3-info {
    left: 0 !important;
    right: 0 !important;
    bottom: 88px !important;

    min-height: 127px;

    padding: 16px 22px 12px;

    background:
        linear-gradient(
            to bottom,
            rgba(12,8,18,.96),
            rgba(8,5,12,1)
        );

    z-index: 4 !important;
}

/* Slightly smaller name so long names stay elegant */
.d3-name {
    font-size: 30px !important;
    line-height: 1.05 !important;
}

.d3-age {
    font-size: 23px !important;
}

/* More compact details */
.d3-details {
    margin-top: 10px !important;
    gap: 7px !important;
    font-size: 13px !important;
}

/* Actions get their own clean bottom row */
.d3-actions {
    bottom: 16px !important;
    z-index: 6 !important;
}



/* DISCOVER V3 MULTI PHOTO CAROUSEL V2 */
.d3-photo {
    transition: opacity .16s ease;
}
.d3-photo.d3-photo-changing {
    opacity: .42;
}

.d3-photo-nav {
    position:absolute;
    inset:0;
    z-index:5;
    pointer-events:none;
}
.d3-photo-nav button {
    position:absolute;
    top:0;
    bottom:215px;
    width:32%;
    border:0;
    background:transparent;
    padding:0;
    pointer-events:auto;
}
.d3-photo-prev { left:0; }
.d3-photo-next { right:0; }

.d3-photo-indicator {
    position:absolute;
    top:18px;
    left:50%;
    transform:translateX(-50%);
    z-index:8;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    pointer-events:none;
}
.d3-photo-dots {
    display:flex;
    align-items:center;
    gap:5px;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(9,5,14,.52);
    backdrop-filter:blur(8px);
}
.d3-photo-dot {
    width:7px;
    height:7px;
    border-radius:999px;
    background:rgba(255,255,255,.42);
}
.d3-photo-dot.active {
    width:18px;
    background:#000;
}
.d3-photo-count {
    padding:5px 9px;
    border-radius:999px;
    background:rgba(9,5,14,.58);
    color:#fff;
    font-size:10px;
    font-weight:900;
    backdrop-filter:blur(8px);
}
.d3-card-top {
    z-index:9;
}

/* HC Discover text contrast fix */
.d3-info{
  background:#000 !important;
  color:#fff !important;
  padding:14px 16px !important;
  border-radius:18px !important;
}

.d3-name,
.d3-age,
.d3-detail,
.d3-detail span{
  color:#fff !important;
}


.d3-shade{
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0) 45%,
    rgba(0,0,0,.75) 65%,
    #000 82%,
    #000 100%
  ) !important;
}


.hc-native-discover-v3,
.hc-native-discover-v3 .d3-shell,
.hc-native-discover-v3 .d3-main {
  background:#000 !important;
  color:#fff !important;
}


.hc-native-discover-v3 {
  background: radial-gradient(circle at 50% -10%, #261343 0, #12091f 48%, #0d0717 100%) !important;
}


/* Keep Discover user photos completely clean */
.d3-photo {
  filter: none !important;
  opacity: 1 !important;
}

.d3-shade {
  background: none !important;
  display: none !important;
}


.d3-card-top {
    position:absolute !important;
    z-index:20 !important;
}

.d3-menu-btn {
    position:relative !important;
    z-index:30 !important;
    pointer-events:auto !important;
}


/* ==================================================
   DISCOVER GLOBAL THEME
   ================================================== */

:root{
  --discover-bg:
    radial-gradient(circle at 50% -10%, #261343 0%, #12091f 48%, #0d0717 100%);
  --discover-text:#ffffff;
}

.hc-native-discover-v3{
  background:var(--discover-bg)!important;
  color:var(--discover-text);
}

.hc-native-discover-v3,
.d3-page,
.d3-shell{
  background:var(--discover-bg)!important;
  color:var(--discover-text);
}

/* Full-bleed dark coverage for the discover screen (no white gaps) — embedded + standalone */
#discover.hc-native-discover-v3{
  min-height:100dvh !important;
  padding-bottom:0 !important;
  width:100% !important;
}
.hc-native-discover-v3{
  width:100%;
  min-height:100dvh;
}

/* Keep the 3-dot menu button pinned right even when there is no online badge */
.d3-card-top{display:flex;align-items:center;}
.d3-menu-btn{margin-left:auto !important;}

/* Rewind action button — smaller, centered between pass and like */
.d3-action-btn.rewind{
  width:48px;
  height:48px;
  align-self:center;
  background:#2a1e3d;
  color:#ffc24b;
  border:1px solid #ffc24b55;
}
.d3-action-btn.rewind i{font-size:18px;}
.d3-action-btn.rewind:active{transform:scale(.92);}

/* Filter sheet: sit above the fixed bottom nav (z-index 9999) so the Apply button doesn't collide */
.d3-sheet-bg{z-index:10000 !important;}
.d3-filter-sheet{padding-bottom:calc(28px + env(safe-area-inset-bottom)) !important;}

/* ===== Tap-to-view profile popup (FULL SCREEN) ===== */
.d3pv-bg{align-items:stretch !important;justify-content:stretch !important;}
.d3pv-sheet{
  width:100% !important;max-width:100% !important;height:100dvh;max-height:100dvh;
  border-radius:0 !important;padding:0 !important;overflow-y:auto;background:#0d0717;
  position:relative;box-shadow:none !important;
}
.d3pv-sheet .d3-sheet-handle{display:none;}
.d3pv-photo-wrap{
  position:relative;width:100%;height:72dvh;overflow:hidden;border-radius:0;margin:0;
}
.d3pv-photo{width:100%;height:100%;object-fit:cover;display:block;background:#2b193c;}
.d3pv-photo-fade{position:absolute;left:0;right:0;bottom:0;height:52%;background:linear-gradient(to top,#0d0717 6%,rgba(13,7,23,.72) 44%,transparent);}
.d3pv-name-line{position:absolute;left:20px;right:20px;bottom:16px;display:flex;align-items:baseline;gap:10px;z-index:2;}
.d3pv-name{font-size:34px;font-weight:900;letter-spacing:-.5px;color:#fff;}
.d3pv-age{font-size:26px;font-weight:500;color:#fff;}
.d3pv-body{padding:4px 20px 40px;background:#0d0717;}
.d3pv-section{margin-top:20px;}
.d3pv-section h3{margin:0 0 9px;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#b291d6;}
.d3pv-bio{margin:0;font-size:15px;line-height:1.55;color:#e9e2f2;white-space:pre-wrap;}
.d3pv-meta{display:grid;gap:8px;margin-top:14px;}
.d3pv-meta-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#cbbfda;}
.d3pv-meta-row i{width:16px;text-align:center;color:#a45fff;}
.d3pv-chips{display:flex;flex-wrap:wrap;gap:8px;}
.d3pv-chip{padding:8px 13px;border-radius:999px;background:rgba(147,73,225,.16);border:1px solid rgba(147,73,225,.4);font-size:13px;font-weight:700;color:#e3d4ff;}
.d3pv-close{
  position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;left:auto;z-index:10002;
  width:46px;height:46px;padding:0;margin:0;border-radius:50%;
  background:rgba(13,7,23,.72);backdrop-filter:blur(8px);color:#fff;font-size:0;
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);
}
.d3pv-close::before{content:"\00d7";font-size:26px;font-weight:400;line-height:1;}
.d3pv-close:active{transform:scale(.94);}
