/* finesse · h5 · paged deck · midnight indigo / iris · native scroll snap */
:root #spb-dating {
  --night:#0b1325; --sheet:#19223b; --ink:#f5f0ff; --muted:#d3cce8;
  --iris:#cbbaf9; --line:#def5e7; --line-ink:#102318; --alert:#ffd2d9;
  --focus:#e3d8ff; --tab-active:#332e57; --tab-active-ink:#f5efff; --saved-fill:#362e58;
  --saved-ink:#e3d2ff; --icon-active:#3c3560; --media-ground:#111a2d; --preview-cobalt:#3d4572;
  --preview-pearl:#a19dc0; --preview-start:#151e35; --preview-end:#101a2f; --preview-teal:#294b60;
  --preview-teal-light:#86a1b4; --preview-plum:#49365c; --preview-plum-light:#a98fae; --preview-blue:#2c4364;
  --preview-blue-light:#8899c0; --tag:#30274a; --tag-ink:#f0e7ff; --tag-edge:#cbbaf92e;
  --tag-rose:#3d253b; --tag-rose-ink:#ffe5ef; --tag-rose-edge:#edb7d82e;
  --tag-teal:#193a43; --tag-teal-ink:#d8f3f3; --tag-teal-edge:#9dd8dc2e; --quote-ink:#f7f1ff;
  --secondary:#262747; --line-edge:#f4fff9; --disabled:#c2cece; --disabled-ink:#24313a;
  --line-pressed:#c7ebd1; --secondary-pressed:#393458; --badge:#342955; --badge-ink:#f6ecff;
  --live-dot:#ff3e6a; --local-label:#e1d9ff; --progress:#d5c1fa; --veil-light:#5b4678;
  --field-edge:#9d90bf; --field:#10182b; --list:#252747; --list-active:#373059;
  --toast:#222541; --toast-ink:#f2ebff;
  --curve:cubic-bezier(.22,.75,.3,1);
}
#spb-dating {
  --x:max(16px,env(safe-area-inset-left),env(safe-area-inset-right));
  --safe-top:env(safe-area-inset-top,0px); --safe-bottom:env(safe-area-inset-bottom,0px);
  --top:calc(8px + var(--safe-top)); --bottom:calc(12px + var(--safe-bottom));
  --feed-clearance:calc(clamp(56px,8dvh,72px) + var(--safe-bottom));
  position:fixed; inset:0; width:100%; height:100vh; height:100dvh; overflow:hidden;
  isolation:isolate; background:var(--night); color:var(--ink); color-scheme:dark;
  font:400 15px/1.5 system-ui,-apple-system,sans-serif; text-align:start;
  -webkit-tap-highlight-color:transparent;
}
#spb-dating *,#spb-dating *::before,#spb-dating *::after{box-sizing:border-box}
#spb-dating :is(h1,h2,h3,p,ul){margin:0}
#spb-dating :is(button,a,input,select){font:inherit}
#spb-dating :is(button,a){touch-action:manipulation}
#spb-dating button{cursor:pointer;color:inherit}
#spb-dating [hidden]{display:none!important}
#spb-dating :is(a,button,input):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
#spb-dating .d-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#spb-dating .d-boot{position:absolute;inset:0;display:grid;place-content:center;color:var(--iris)}
#spb-dating .d-brand{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:760;font-size:17px;letter-spacing:-.035em}
#spb-dating .d-brand svg{width:25px;height:25px}
#spb-dating .d-symbol{display:block;width:22px;height:22px;flex:none}
#spb-dating .d-header{position:absolute;z-index:4;inset:var(--top) var(--x) auto;display:grid;grid-template-columns:minmax(max-content,1fr) minmax(0,max-content) minmax(44px,1fr);align-items:center;gap:5px;min-height:44px;pointer-events:none}
#spb-dating .d-header>*{pointer-events:auto;min-width:0}
#spb-dating .d-header[data-discover]{text-shadow:0 1px 6px var(--night)}
#spb-dating .d-header-ends{display:flex;justify-self:end;gap:1px}
#spb-dating .d-nav{display:flex;justify-content:center;align-items:center;gap:2px;padding:2px;border-radius:24px;background:#10192bd9;border:1px solid #8071a556;justify-self:center;max-width:100%}
#spb-dating .d-nav button{border:0;min-height:44px;min-width:44px;flex:0 1 auto;background:none;border-radius:22px;color:var(--muted);font-size:13px;font-weight:650;padding:3px 10px;line-height:1.15;text-wrap:balance;overflow-wrap:anywhere}
#spb-dating .d-nav button[aria-current="page"]{background:var(--tab-active);color:var(--tab-active-ink)}
#spb-dating .d-icon{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #cdbcf338;border-radius:50%;background:#121b30df;color:var(--ink);flex:none}
#spb-dating .d-icon[aria-pressed="true"]{background:var(--saved-fill);color:var(--saved-ink)}
#spb-dating .d-icon:active{background:var(--icon-active)}
#spb-dating [dir=rtl] .d-flip,#spb-dating[dir=rtl] .d-flip{transform:scaleX(-1)}
#spb-dating .d-stage,#spb-dating .d-feed,#spb-dating .d-screen{position:absolute;inset:0;overflow:hidden}
#spb-dating .d-feed{overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none}
#spb-dating .d-feed::-webkit-scrollbar,#spb-dating .d-album-track::-webkit-scrollbar{display:none}
#spb-dating .d-slide{position:relative;display:grid;align-items:end;width:100%;height:100%;min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate;overflow:hidden}
#spb-dating .d-media{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--media-ground)}
#spb-dating .d-media img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
#spb-dating .d-media[data-wide] img,#spb-dating .d-screen[data-full] .d-media img{object-fit:contain}
#spb-dating .d-media[data-demo]{--shade:var(--preview-cobalt);--halo:var(--preview-pearl);background:radial-gradient(ellipse at 61% 32%,var(--halo),transparent 52%),linear-gradient(150deg,var(--preview-start),var(--shade) 52%,var(--preview-end))}
#spb-dating .d-media[data-demo][data-tone="1"]{--shade:var(--preview-teal);--halo:var(--preview-teal-light)}
#spb-dating .d-media[data-demo][data-tone="2"]{--shade:var(--preview-plum);--halo:var(--preview-plum-light)}
#spb-dating .d-media[data-demo][data-tone="3"]{--shade:var(--preview-blue);--halo:var(--preview-blue-light)}
#spb-dating .d-media[data-demo]::after{content:"";position:absolute;inset:14% 14% 22%;border:1px solid #ebe5ff5c;border-radius:47% 47% 42% 42% / 40% 45% 52% 58%;transform:rotate(-23deg);box-shadow:0 0 0 22px #bcb8e415,0 0 0 44px #bcb8e410;opacity:.55}
/* Display the original photo without a full-surface or bottom dark scrim. */
#spb-dating .d-shade::after{content:none}
#spb-dating :is(.d-slide[data-person] .d-person-title,.d-slide[data-person] .d-quote,.d-tile>.d-live-title,.d-tile>small,.d-gallery-caption){text-shadow:0 1px 3px #000,0 0 6px #000b}
#spb-dating .d-overlay{position:relative;display:grid;gap:8px;padding:12px var(--x) var(--bottom);z-index:1}
#spb-dating .d-person-title{display:flex;align-items:baseline;gap:8px;min-width:0}
#spb-dating .d-person-title h1{font-size:30px;line-height:1.2;font-weight:730;letter-spacing:-.035em;overflow-wrap:anywhere}
#spb-dating .d-age{font-size:16px;color:var(--muted);font-variant-numeric:tabular-nums}
#spb-dating .d-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}
#spb-dating .d-tags li{font-size:12px;line-height:16px;padding:3px 7px;border:1px solid var(--tag-edge);border-radius:20px;background:var(--tag);color:var(--tag-ink);font-weight:500;max-width:100%;overflow-wrap:anywhere}
#spb-dating .d-tags li:nth-child(3n + 2){background:var(--tag-rose);color:var(--tag-rose-ink);border-color:var(--tag-rose-edge)}
#spb-dating .d-tags li:nth-child(3n){background:var(--tag-teal);color:var(--tag-teal-ink);border-color:var(--tag-teal-edge)}
#spb-dating .d-quote{color:var(--quote-ink);font-size:14px;line-height:21px;font-weight:350;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
#spb-dating .d-caption{color:var(--muted);font-size:13px;line-height:18px;overflow-wrap:anywhere}
#spb-dating .d-actions{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:10px;align-items:stretch}
#spb-dating .d-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #a293d16b;background:var(--secondary);border-radius:12px;color:var(--ink);text-decoration:none;text-align:center;font-size:15px;font-weight:700;line-height:1.2;padding:5px 12px;overflow-wrap:anywhere}
#spb-dating .d-btn.d-line{background:var(--line);border-color:var(--line-edge);color:var(--line-ink);padding:7px 9px}
#spb-dating .d-btn.d-line:not([href]){background:var(--disabled);color:var(--disabled-ink);cursor:default}
#spb-dating .d-btn.d-line[href]:active{background:var(--line-pressed)}
#spb-dating .d-btn:active{background:var(--secondary-pressed)}
#spb-dating .d-line img{width:28px;height:28px;object-fit:contain;flex:none;display:block}
#spb-dating .d-text-btn{min-height:44px;padding:6px 10px;border:0;background:none;color:var(--iris);font-size:14px;line-height:1.3;text-align:center;overflow-wrap:anywhere}
#spb-dating .d-side{position:absolute;z-index:2;inset-inline-end:var(--x);top:clamp(calc(var(--top) + 58px),37%,calc(100% - var(--feed-clearance) - 238px));display:grid;grid-auto-flow:row;gap:8px}
#spb-dating .d-side [disabled]{visibility:hidden}
#spb-dating .d-coach{position:absolute;z-index:3;inset-inline-end:var(--x);top:26%;display:grid;grid-template-columns:1fr 56px;align-items:center;gap:6px;max-width:calc(100% - 2 * var(--x));padding:8px;border-radius:26px;background:#121b31e9;border:1px solid #d2c1fc53}
#spb-dating .d-coach-copy{display:grid;gap:2px;max-width:116px;padding-inline-start:3px}
#spb-dating .d-coach-copy button{border:0;background:none;text-align:start;min-height:44px;font-size:12px;line-height:1.35;padding:3px 1px}
#spb-dating .d-coach-copy button:first-child{font-weight:720}
#spb-dating .d-coach-copy button:disabled{color:var(--muted);cursor:default}
#spb-dating .d-coach-art{width:54px;height:122px;overflow:visible}
#spb-dating .d-finger{animation:d-guide 1.1s var(--curve) 2 both}
@keyframes d-guide{0%,15%{transform:translateY(32px);opacity:.6}65%{transform:translateY(-22px);opacity:1}100%{transform:translateY(-22px);opacity:0}}
#spb-dating .d-panel-view{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;padding:calc(var(--top) + 62px) var(--x) var(--bottom);background:var(--night)}
#spb-dating .d-panel-view h1{font-size:24px;font-weight:750;line-height:1.2;text-wrap:balance;text-align:center}
#spb-dating .d-panel-view>.d-caption{text-align:center;margin:8px 0 18px}
#spb-dating .d-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-block:14px}
#spb-dating .d-grid:has(> :only-child){grid-template-columns:1fr}
#spb-dating .d-grid:has(> :only-child) .d-tile{aspect-ratio:auto;height:min(320px,49dvh)}
#spb-dating .d-tile{isolation:isolate;position:relative;display:grid;align-content:end;overflow:hidden;aspect-ratio:3/4;border:1px solid #a597c96e;border-radius:16px;padding:12px;text-align:start}
#spb-dating .d-tile strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere}
#spb-dating .d-tile small{font-size:13px;color:var(--muted)}
#spb-dating .d-badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 8px;background:var(--badge);color:var(--badge-ink);border-radius:12px;font-size:12px;font-weight:700;line-height:1.15}
#spb-dating .d-badge[data-live]::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--live-dot);box-shadow:0 0 0 2px var(--badge),0 0 0 3px #ff3e6a80}
#spb-dating button.d-badge{justify-self:start;min-height:44px;padding-inline:12px;border:1px solid #a798ce70}
#spb-dating .d-tile .d-badge{position:absolute;top:10px;inset-inline-start:10px}
#spb-dating .d-demo{position:absolute;z-index:1;top:calc(var(--top) + 59px);inset-inline-start:var(--x);font-size:11px;font-weight:700;color:var(--local-label);background:#131c33de;border:1px solid #a899ce67;border-radius:20px;padding:4px 8px;pointer-events:none;max-width:calc(100% - var(--x) * 2 - 52px)}
#spb-dating .d-inner-head{position:absolute;z-index:3;inset:var(--top) var(--x) auto;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center}
#spb-dating .d-inner-head strong{text-align:center;font-size:16px;line-height:1.2;overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 1px 6px var(--night)}
#spb-dating .d-album-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
#spb-dating .d-album-track>div{position:relative;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate}
#spb-dating .d-photo-open{position:absolute;inset:16% 0 23%;background:none;border:0;width:100%}
#spb-dating .d-album-arrows{position:absolute;top:44%;inset-inline:var(--x);display:flex;justify-content:space-between;pointer-events:none}
#spb-dating .d-album-arrows button{pointer-events:auto}
#spb-dating .d-album-arrows [disabled]{visibility:hidden}
#spb-dating .d-screen>.d-overlay{position:absolute;inset:auto 0 0}
#spb-dating .d-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--night)}
#spb-dating .d-room-head{direction:ltr}
#spb-dating .d-room-resume{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%)}
#spb-dating .d-empty{min-height:48dvh;display:grid;align-content:center;gap:14px;text-align:center}
#spb-dating .d-empty .d-btn{justify-self:center;min-width:min(180px,100%)}
#spb-dating .d-dialog{position:fixed;inset:auto;top:calc(var(--modal-top,0px) + (var(--modal-height,100dvh) + max(16px,var(--safe-top)) - max(16px,var(--safe-bottom))) / 2);left:calc(var(--modal-left,0px) + var(--modal-width,100vw) / 2);transform:translate(-50%,-50%);margin:0;border:1px solid #8b79bc65;border-radius:22px;width:calc(var(--modal-width,100vw) - 32px);max-width:448px;max-height:calc(var(--modal-height,100dvh) - max(16px,var(--safe-top)) - max(16px,var(--safe-bottom)));padding:0;background:var(--sheet);color:var(--ink);overflow:auto;overscroll-behavior:contain}
#spb-dating .d-dialog::backdrop{background:#080d1ebc}
#spb-dating .d-dialog .d-sheet{isolation:isolate;position:relative;display:grid;gap:12px;padding:18px 16px 20px;max-width:100%;overflow:hidden}
#spb-dating .d-room-lock{isolation:isolate;position:relative;display:grid;gap:12px;padding:16px;border:1px solid #a795cf77;border-radius:24px;overflow:hidden}
#spb-dating .d-sheet h2{font-size:22px;line-height:1.22;font-weight:750;text-wrap:balance}
#spb-dating .d-sheet p{font-size:15px;line-height:23px;color:var(--muted);overflow-wrap:anywhere}
#spb-dating .d-sheet .d-full-quote{color:var(--ink);font-weight:600;text-wrap:pretty}
#spb-dating .d-sheet header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;text-align:center;gap:3px}
#spb-dating .d-sheet header .d-icon{grid-column:3}
#spb-dating .d-sheet[data-lock]{text-align:center;background:radial-gradient(ellipse at 88% -14%,var(--veil-light) 0,transparent 62%),var(--sheet)}
#spb-dating .d-sheet[data-lock] p{text-wrap:balance}
#spb-dating .d-sheet[data-lock]::after{content:"";position:absolute;z-index:-1;width:185px;height:66px;border:1px solid #e2d4ff58;border-radius:50%;inset:-27px -38px auto auto;transform:rotate(-18deg);box-shadow:0 5px 0 #b5a0ee14,0 12px 22px #d2bcff18;pointer-events:none}
#spb-dating .d-sheet form{display:grid;gap:8px}
#spb-dating .d-field{display:flex;align-items:center;gap:4px;padding-inline:10px;border:1px solid var(--field-edge);border-radius:14px;background:var(--field)}
#spb-dating .d-field input{font-size:16px;width:100%;min-width:0;min-height:52px;border:0;background:transparent;color:var(--ink);padding-inline:4px}
#spb-dating .d-field .d-icon{border:0}
#spb-dating .d-sheet .d-error{color:var(--alert);font-size:13px;min-height:0}
#spb-dating .d-list{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
#spb-dating .d-list button{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:start;border:1px solid #9584be54;background:var(--list);border-radius:12px;padding:8px 12px;overflow-wrap:anywhere}
#spb-dating .d-list button[aria-current=true]{border-color:var(--iris);background:var(--list-active)}
#spb-dating .d-toast{position:absolute;z-index:9;top:calc(var(--top) + 62px);inset-inline:var(--x);width:auto;max-width:none;text-align:center;border-radius:0;background:transparent;color:var(--toast-ink);padding:8px 0;border:0;box-shadow:none;text-shadow:0 1px 3px #050a19,0 0 8px #050a19b3;font-size:13px;line-height:20px;font-weight:500;overflow-wrap:anywhere;pointer-events:none}
#spb-dating .d-load-error{display:grid;place-items:center;height:100%}
#spb-dating .d-stage:has(.d-coach) .d-side :is([data-action="next"],[data-action="previous"]){visibility:hidden}
#spb-dating .d-media:has(.d-photo-retry){z-index:0;pointer-events:none}
#spb-dating .d-photo-retry{position:absolute;top:39%;inset-inline-start:50%;transform:translateX(-50%);background:var(--sheet);color:var(--ink);border-radius:14px;pointer-events:auto}
#spb-dating[dir=rtl] .d-photo-retry{transform:translateX(50%)}
@media(max-width:370px){
  #spb-dating{--x:max(12px,env(safe-area-inset-left),env(safe-area-inset-right))}
  #spb-dating .d-brand{font-size:15px;gap:4px}
  #spb-dating .d-brand svg{width:22px;height:22px}
  #spb-dating .d-person-title h1{font-size:26px}
  #spb-dating .d-header-ends{gap:0}
  #spb-dating .d-nav button{padding-inline:3px;font-size:12px}
  #spb-dating .d-actions,#spb-dating .d-grid{gap:8px}
}
@media(max-height:620px){
  #spb-dating .d-overlay{gap:5px;padding-top:4px}
  #spb-dating .d-coach{top:max(calc(var(--top) + 96px),21%)}
  #spb-dating .d-coach-art{height:80px;width:50px}
  #spb-dating .d-coach-copy{max-width:135px}
}
@media(max-height:490px){
  #spb-dating .d-coach{top:23%;transform:scale(.87);transform-origin:top right}
}
@media(prefers-reduced-motion:reduce){
  #spb-dating *,#spb-dating *::before,#spb-dating *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Profile: a reading surface with an in-place gallery, not another discover slide. */
#spb-dating .d-profile-layout{position:absolute;inset:0;display:grid;grid-template-rows:calc(56px + var(--safe-top)) minmax(0,1fr);align-content:start;background:var(--night)}
#spb-dating .d-profile-layout>.d-inner-head{position:relative;inset:auto;margin:var(--top) var(--x) 8px;z-index:3}
#spb-dating .d-profile-scroll{overflow-y:auto;overflow-x:clip;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding-block:16px}
#spb-dating .d-profile-hero{position:relative;height:50vh;height:50dvh;isolation:isolate;margin:0 var(--x);border-radius:22px;overflow:hidden;background:var(--media-ground)}
#spb-dating .d-profile-hero .d-media img{box-sizing:border-box;padding:8px;object-fit:contain}
#spb-dating .d-profile-hero .d-photo-open{inset:0;height:100%}
/* Album controls: 32px visual discs, 44px touch targets, centered on the image area. */
#spb-dating .d-profile-hero .d-album-arrows{top:50%;transform:translateY(-50%);inset-inline:6px;align-items:center}
#spb-dating .d-profile-hero .d-album-arrows .d-icon{position:relative;width:44px;height:44px;min-height:44px;border:0;background:transparent;isolation:isolate}
#spb-dating .d-profile-hero .d-album-arrows .d-icon::before{content:"";position:absolute;inset:6px;border:1px solid #cdbcf338;border-radius:50%;background:#121b30df;z-index:-1;pointer-events:none}
#spb-dating .d-profile-hero .d-album-arrows .d-icon:active::before{background:var(--icon-active)}
#spb-dating .d-profile-hero .d-album-arrows .d-symbol{width:18px;height:18px}
#spb-dating .d-gallery-caption{position:absolute;inset:auto 14px 12px;display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:8px;font-size:12px;line-height:18px;pointer-events:none;color:var(--ink)}
#spb-dating .d-gallery-caption p{overflow-wrap:anywhere}
#spb-dating .d-profile-copy{display:grid;gap:8px;padding:12px var(--x);overflow-wrap:anywhere}
#spb-dating .d-profile-copy .d-person-title h1{font-size:24px;line-height:1.2;font-weight:650}
#spb-dating .d-profile-copy .d-tags{gap:5px}
#spb-dating .d-profile-copy .d-tags li{font-weight:400;padding:2px 7px}
#spb-dating .d-profile-copy .d-full-quote{font-size:14px;line-height:1.5;font-weight:400;color:var(--ink);text-wrap:pretty;padding-block:0}
#spb-dating .d-bio{display:grid;gap:6px;border-top:1px solid #cbbaf929;padding-top:10px}
#spb-dating .d-bio h2{font-size:14px;line-height:1.4;font-weight:600;color:var(--iris)}
#spb-dating .d-about-body{font-size:14px;line-height:1.5;font-weight:350;color:var(--muted);text-wrap:pretty}
#spb-dating .d-gallery-caption [data-extra]:empty,#spb-dating .d-gallery-caption p:empty{display:none}
#spb-dating .d-gallery-caption:has(.d-album-unlock){bottom:6px;gap:2px}
#spb-dating .d-gallery-caption [data-extra]{display:flex;justify-content:center;pointer-events:none}
#spb-dating .d-album-unlock{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;padding:6px 0;border:0;border-radius:16px;background:none;color:var(--ink);pointer-events:auto;font-size:12px;font-weight:400;line-height:16px;text-shadow:none}
#spb-dating .d-album-unlock>span{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:5px 10px;border:1px solid #cbbaf959;border-radius:16px;background:#19223be8;max-width:100%}
#spb-dating .d-album-unlock>span>span{min-width:0;text-wrap:balance;overflow-wrap:anywhere}
#spb-dating .d-album-unlock .d-symbol{width:13px;height:13px}
#spb-dating .d-album-unlock:active>span{background:var(--secondary-pressed)}
#spb-dating .d-profile-footer{position:relative;isolation:isolate;display:grid;gap:6px;margin:0 8px calc(8px + var(--safe-bottom));padding:10px 12px 12px;border:1px solid #cbbaf92b;border-radius:24px 24px 20px 20px;background:radial-gradient(ellipse at 90% 0%,#9e8cd826,transparent 65%),linear-gradient(145deg,#242a46,#19223b 62%);box-shadow:0 -8px 24px #0b132559,0 6px 18px #050a193d}
#spb-dating .d-profile-footer::before{content:"";position:absolute;z-index:-1;inset:-22px -8px auto;height:22px;background:linear-gradient(180deg,transparent,#0b132573);pointer-events:none;border-radius:50% 50% 0 0}
#spb-dating .d-profile-footer::after{content:"";position:absolute;top:-1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,#d8c8ff70,transparent);pointer-events:none}
#spb-dating .d-profile-footer .d-caption{text-align:center;text-wrap:pretty}
#spb-dating .d-profile-footer .d-line{min-height:44px;font-size:14px;font-weight:600}
#spb-dating .d-profile-footer .d-line img{width:28px;height:28px}
#spb-dating .d-contact-hint{font-size:13px;line-height:1.4;color:var(--muted)}

#spb-dating .d-stage:has(.d-coach) .d-side :is([data-action="next"],[data-action="previous"]){display:none}

/* Discover has one action; contact is deliberately confined to the profile. */
#spb-dating .d-learn{justify-self:start;display:inline-flex;align-items:center;min-height:44px;max-width:100%;min-width:96px;padding:0;border:0;background:transparent;color:#fff;visibility:hidden;pointer-events:none;font-size:15px;line-height:1.3;font-weight:750;text-align:center;overflow-wrap:anywhere}
#spb-dating .d-learn>span{display:flex;align-items:center;justify-content:center;min-height:32px;width:100%;padding:5px 16px;border:1px solid #ff7898;border-radius:9px;background:#fe2c55;box-shadow:0 4px 14px #1c0a243d;transform-origin:center}
#spb-dating .d-learn:active>span{background:#ff6b8b}
#spb-dating .d-slide:not([inert]) .d-learn[data-ready]{visibility:visible;pointer-events:auto}
#spb-dating .d-slide:not([inert]) .d-learn[data-ready]>span{animation:d-learn-enter .36s var(--curve) both}
#spb-dating .d-quote{display:block;overflow:visible;-webkit-line-clamp:unset}
@keyframes d-learn-enter{0%{transform:scale(.84);opacity:0}70%{transform:scale(1.025);opacity:1}100%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){#spb-dating .d-slide:not([inert]) .d-learn[data-ready]>span{animation:none}}

#spb-dating .d-slide[data-person]>.d-overlay::before{content:none}
#spb-dating .d-learn:disabled>span{background:var(--secondary);border-color:#a293d16b;color:var(--muted);box-shadow:none;cursor:wait}

#spb-dating{max-width:480px;margin-inline:auto}

/* One cover-derived avatar, one separate collection target, one truthful music control. */
#spb-dating .d-avatar-stack{position:relative;display:grid;justify-items:center;align-content:start;width:56px;height:78px}
#spb-dating .d-avatar{position:relative;display:grid;place-items:center;width:56px;height:56px;border:2px solid var(--ink);padding:0;border-radius:50%;overflow:hidden;background:var(--sheet);color:var(--ink);font-size:22px;font-weight:700}
#spb-dating .d-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
#spb-dating .d-avatar-save{position:absolute;z-index:2;top:34px;inset-inline-start:6px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:#fff}
#spb-dating .d-avatar-save>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fe2c55;color:#fff;box-shadow:0 2px 8px #0b132555}
#spb-dating .d-avatar-save .d-symbol{width:14px;height:14px;stroke-width:2.5}
#spb-dating .d-avatar-save[aria-pressed=true]>span{background:var(--iris);color:var(--night)}
#spb-dating .d-side{justify-items:center}
#spb-dating .d-music{position:absolute;z-index:3;inset-inline-end:var(--x);bottom:var(--feed-clearance);display:grid;place-items:center;width:44px;height:44px;padding:4px;border:1px solid #d3cce866;border-radius:50%;background:var(--night);color:var(--ink)}
#spb-dating .d-disc{display:grid;place-items:center;width:34px;height:34px;border:4px double #a192bc;border-radius:50%;background:var(--sheet);animation:d-record 6s linear infinite;animation-play-state:paused}
#spb-dating .d-disc .d-symbol{width:20px;height:20px}
#spb-dating .d-music[data-playing=true] .d-disc{animation-play-state:running}
#spb-dating .d-music:disabled{opacity:.55;cursor:default}
#spb-dating .d-slide[data-person]>.d-overlay{
  margin-bottom:var(--feed-clearance);padding-top:40px;padding-bottom:0;padding-inline-end:calc(var(--x) + 66px);
  max-height:calc(100% - var(--top) - 60px - var(--feed-clearance));
  overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;
}
#spb-dating .d-slide[data-person] .d-quote{min-height:42px}
#spb-dating .d-coach{inset-inline-start:var(--x);inset-inline-end:auto;max-width:calc(100% - 2 * var(--x) - 66px)}
@keyframes d-record{to{transform:rotate(360deg)}}
/* Very short landscape keeps all controls reachable without overlapping music. */
@media(max-height:360px){
  #spb-dating .d-side{top:calc(var(--top) + 52px);gap:2px}
  #spb-dating .d-avatar-stack{width:48px;height:66px}
  #spb-dating .d-avatar{width:48px;height:48px}
  #spb-dating .d-avatar-save{top:24px;inset-inline-start:2px}
}
@media(prefers-reduced-motion:reduce){#spb-dating .d-disc{animation:none}}

#spb-dating .d-person-title{flex-wrap:wrap}
#spb-dating .d-live-status{display:inline-flex;align-items:center;gap:7px;min-height:22px;padding:3px 7px;border-radius:7px;background:#381725;color:#ffd8e2;font-size:11px;line-height:16px;font-weight:650;max-width:100%;overflow-wrap:anywhere}
#spb-dating .d-live-status i{display:block;flex:none;width:6px;height:6px;border-radius:50%;background:#ff3e6a;box-shadow:0 0 0 2px #381725,0 0 0 3px #ff3e6a80}

/* Live rooms can belong to a discover profile or to a separate host. */
#spb-dating .d-live-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#spb-dating .d-live-card{aspect-ratio:3/4;min-height:0;padding:12px;gap:5px}
#spb-dating .d-live-card .d-live-status{position:absolute;inset-block-start:10px;inset-inline-start:10px;max-width:calc(100% - 20px)}
#spb-dating .d-live-card strong{font-size:16px;line-height:1.2}
#spb-dating .d-live-card small{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
#spb-dating .d-enter-live{position:absolute;z-index:3;top:8px;inset-inline-start:12px;display:flex;align-items:center;min-height:44px;max-width:calc(100% - 24px);padding:6px 0;border:0;background:none;color:#fff;font-size:13px;line-height:18px;font-weight:650;text-align:center;overflow-wrap:anywhere}
#spb-dating .d-enter-live>span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:32px;max-width:100%;padding:6px 10px;border-radius:9px;background:#d7194b;box-shadow:0 3px 12px #080d1e55}
#spb-dating .d-enter-live>span>span{min-width:0}
#spb-dating .d-enter-live .d-symbol{width:16px;height:16px}
#spb-dating .d-enter-live:active>span{background:#b9103b}
#spb-dating .d-live-status i{position:relative;box-shadow:none}
#spb-dating .d-live-status i::before,#spb-dating .d-live-status i::after{content:"";position:absolute;inset:-2px;border:1px solid #ff3e6a;border-radius:50%;pointer-events:none;animation:d-live-ripple 2.2s ease-out infinite}
#spb-dating .d-live-status i::after{animation-delay:-1.1s}
@keyframes d-live-ripple{0%{transform:scale(.65);opacity:.8}100%{transform:scale(2.1);opacity:0}}
@media(prefers-reduced-motion:reduce){#spb-dating .d-live-status i::before,#spb-dating .d-live-status i::after{animation:none;transform:none;opacity:.6}#spb-dating .d-live-status i::after{inset:-4px;opacity:.3}}

/* Full-frame room: only controls and clearly identified supplied comments overlay media. */
#spb-dating .d-room-video .d-video{object-fit:cover}
#spb-dating .d-room-state{position:absolute;inset:40% var(--x) auto;display:grid;justify-items:center;gap:12px;text-align:center}
#spb-dating .d-room-state .d-btn{min-width:min(220px,100%)}
#spb-dating .d-room-kind{position:absolute;top:calc(var(--top) + 48px);inset-inline-start:var(--x);padding:3px 7px;border-radius:6px;background:#10172dd9;color:var(--muted);font-size:11px;line-height:16px}
#spb-dating .d-room-spinner{width:28px;height:28px;border:2px solid #cdbcf344;border-top-color:var(--iris);border-radius:50%;animation:d-record 1s linear infinite}
#spb-dating .d-room-comments{position:absolute;inset-inline:var(--x) calc(var(--x) + 64px);bottom:calc(var(--bottom) + 56px);max-height:min(35dvh,250px);overflow:auto;scrollbar-width:none;overscroll-behavior:contain;padding:8px;border-radius:12px;background:linear-gradient(90deg,#0b1325c9,#0b132547);pointer-events:auto}
#spb-dating .d-room-comments[hidden]{display:none}
#spb-dating .d-comment-label{font-size:10px;line-height:15px;color:#d4d4df}
#spb-dating .d-room-comments ol{list-style:none;margin:5px 0 0;padding:0;display:grid;gap:6px}
#spb-dating .d-room-comments li{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;font-size:13px;line-height:19px;color:#fff;overflow-wrap:anywhere;animation:d-comment-in .22s ease-out}
#spb-dating .d-comment-name{font-weight:600;color:#dec4ff}
#spb-dating .d-comment-name[data-tone="1"]{color:#9fecd4}
#spb-dating .d-comment-name[data-tone="2"]{color:#ffb9cf}
#spb-dating .d-sheet form[data-unlock]{display:grid;gap:10px}
@keyframes d-comment-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#spb-dating .d-room-spinner,#spb-dating .d-room-comments li{animation:none}}

/* Contextual claim action stays compact; profile contact bar is unchanged. */
#spb-dating .d-dialog .d-sheet>.d-line{justify-self:center;width:fit-content;min-width:min(184px,100%);max-width:min(280px,100%);min-height:44px;padding:5px 18px;border-radius:13px;gap:9px}
#spb-dating .d-dialog .d-sheet>.d-line img{width:28px;height:28px}
#spb-dating .d-dialog .d-sheet>.d-line span{min-width:0;overflow-wrap:anywhere}

/* A gated continuation is not a person: no attached person controls or soundtrack. */
#spb-dating .d-feed .d-media img{object-fit:contain}
#spb-dating .d-featured-backdrop{position:absolute;inset:0;pointer-events:none}
#spb-dating .d-featured-backdrop .d-media{z-index:0}
#spb-dating .d-featured-end::after{content:"";position:absolute;inset:0;background:#0b13252b;pointer-events:none}
#spb-dating .d-featured-end .d-featured-center{padding:16px var(--x);align-items:safe center}
#spb-dating .d-featured-center,#spb-dating .d-feed-finished{display:grid;place-items:center;align-items:safe center;text-align:center;padding:calc(var(--top) + 62px) var(--x) max(24px,var(--safe-bottom));height:100%;min-height:0;overflow-y:auto;position:relative;z-index:1}
#spb-dating .d-featured-panel{position:relative;isolation:isolate;display:grid;justify-items:center;gap:12px;width:min(100%,360px);padding:24px 18px 16px;border:1px solid #ddccff75;border-radius:24px;background:linear-gradient(145deg,#292d50e8,#141d35f5);box-shadow:0 20px 60px #03071366;backdrop-filter:blur(10px);overflow:hidden}
#spb-dating .d-featured-panel::before{content:"";position:absolute;inset:-42px 18px auto auto;width:160px;height:90px;border:1px solid #e0cdff70;border-radius:50%;transform:rotate(-24deg);box-shadow:0 8px 0 #b9a0f51a;z-index:-1;pointer-events:none}
#spb-dating .d-featured-seal{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #d5c0ff9c;background:radial-gradient(circle at 28% 22%,#c4a9ff45,#2c2854);box-shadow:0 0 24px #b89ae527;color:#ede2ff}
#spb-dating .d-featured-seal .d-symbol{width:24px;height:24px}
#spb-dating .d-featured-kicker{font-size:11px;line-height:16px;font-weight:600;color:var(--iris)}
#spb-dating .d-featured-panel h1,#spb-dating .d-end-content h1{font-size:23px;line-height:1.3;font-weight:700;text-wrap:balance;overflow-wrap:anywhere}
#spb-dating .d-featured-copy{font-size:14px;line-height:1.65;color:var(--muted);text-wrap:pretty;overflow-wrap:anywhere}
#spb-dating .d-featured-panel>.d-line{width:fit-content;min-width:min(184px,100%);max-width:min(280px,100%);justify-self:center;min-height:44px;padding:5px 16px;gap:8px}
#spb-dating .d-featured-panel>.d-line span{min-width:0;overflow-wrap:anywhere}
#spb-dating .d-featured-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 8px;max-width:100%}
#spb-dating .d-featured-links .d-text-btn{font-size:12px;line-height:18px;max-width:100%}
#spb-dating .d-end-content{display:grid;justify-items:center;gap:18px;max-width:360px;width:100%;padding:20px 8px}
#spb-dating .d-end-content>.d-btn{width:fit-content;min-width:min(160px,100%);max-width:100%}
#spb-dating .d-featured-end:not([inert]) .d-featured-panel{animation:d-featured-reveal .45s var(--curve) both}
@keyframes d-featured-reveal{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#spb-dating .d-featured-end:not([inert]) .d-featured-panel{animation:none}}
@media(max-height:600px){#spb-dating .d-featured-panel{padding:16px 14px 10px;gap:8px}#spb-dating .d-featured-seal{width:36px;height:36px}#spb-dating .d-featured-panel h1{font-size:21px}}
@media(pointer:coarse) and (max-width:600px){#spb-dating{max-width:none}}

/* One rounded field owns focus and invalid state; the input never draws a square ring. */
#spb-dating .d-field{transition:border-color .15s ease,box-shadow .15s ease}
#spb-dating .d-field:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #cbbaf926}
#spb-dating .d-field input{appearance:none;-webkit-appearance:none;border-radius:10px;outline:none;box-shadow:none}
#spb-dating .d-field input:focus,#spb-dating .d-field input:focus-visible{outline:none;box-shadow:none}
#spb-dating .d-field:has(input[aria-invalid="true"]){border-color:#ff6b7c;box-shadow:0 0 0 3px #ff6b7c24}
#spb-dating #dating-key-error{color:#ff6b7c;line-height:20px;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){#spb-dating .d-field{transition:none}}

/* Room access stays centered over the originating hall/profile. */

/* finesse component: modal claim gesture; inherits existing action states and tokens. */
#spb-dating .d-claim-cue{display:none}
#spb-dating .d-line{position:relative;isolation:isolate;overflow:visible}
#spb-dating .d-line:not(:disabled) .d-claim-cue{display:block;position:absolute;right:6px;top:50%;width:0;height:0;pointer-events:none;z-index:2}
#spb-dating .d-claim-cue *{pointer-events:none}
#spb-dating .d-tap-hand{position:absolute;left:-13px;top:-2px;width:28px;height:32px;overflow:visible;transform-origin:13px 2px;animation:d-claim-tap 2.6s ease-in-out infinite;filter:drop-shadow(0 2px 2px var(--night))}
#spb-dating .d-tap-hand path{fill:var(--ink);stroke:var(--night);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
#spb-dating .d-tap-hand .d-tap-crease{fill:none;stroke:var(--iris);stroke-width:1}
#spb-dating .d-tap-ring{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border:1.5px solid var(--iris);border-radius:50%;opacity:0;animation:d-claim-ripple 2.6s ease-out infinite}
#spb-dating .d-tap-ring-late{animation-delay:.16s}
#spb-dating .d-line:not(:disabled)::before{content:"";position:absolute;inset:-1px;border:1px solid var(--iris);border-radius:inherit;box-shadow:0 0 12px var(--iris);opacity:0;pointer-events:none;animation:d-claim-glow 2.6s ease-out infinite;z-index:-1}
@keyframes d-claim-tap{0%,12%,100%{transform:translate(7px,6px) rotate(-12deg);opacity:.75}28%,36%{transform:translate(0,0) rotate(-3deg) scale(.92);opacity:1}48%,78%{transform:translate(5px,5px) rotate(-10deg);opacity:.9}}
@keyframes d-claim-ripple{0%,27%{transform:scale(.25);opacity:0}29%{transform:scale(.35);opacity:.8}65%,100%{transform:scale(2.5);opacity:0}}
@keyframes d-claim-glow{0%,27%,76%,100%{opacity:0}32%{opacity:.4}65%{opacity:0}}
#spb-dating .d-line:is(:active,:focus-visible) .d-claim-cue{visibility:hidden}
#spb-dating .d-dialog:not([open]) .d-claim-cue{display:none}
@media(prefers-reduced-motion:reduce){#spb-dating .d-line:not(:disabled) .d-claim-cue,#spb-dating .d-line:not(:disabled)::before{display:none;animation:none}#spb-dating .d-claim-cue *{animation:none}}

/* Full access removes the contact footer and gives its space back to the profile. */
#spb-dating[data-unlocked="true"] .d-profile-layout{grid-template-rows:calc(60px + var(--safe-top)) minmax(0,1fr)}
#spb-dating[data-unlocked="true"] .d-profile-scroll{padding-bottom:var(--bottom)}

/* Sentence boundaries are presentation only: translations and punctuation stay intact. */
#spb-dating .d-sentence{display:block;white-space:normal}
#spb-dating .d-featured-panel h1,#spb-dating .d-end-content h1,#spb-dating .d-sheet h2,#spb-dating .d-empty h1,#spb-dating .d-panel-view>h1,#spb-dating .d-bio h2{text-wrap:wrap;min-width:0;max-width:100%;line-height:1.3}
#spb-dating .d-slide[inert] .d-claim-cue,#spb-dating .d-slide[inert] .d-line::before{display:none}
#spb-dating .d-line:not(:disabled){padding-right:24px}

/* Learn action: visible enter symbol, with a gentle forward cue after the existing delay. */
#spb-dating .d-learn>span{gap:7px}
#spb-dating .d-learn-arrow{display:inline-flex;align-items:center;flex:none;width:18px;height:18px;font-style:normal;--learn-step:3px}
#spb-dating .d-learn-arrow .d-symbol{width:18px;height:18px;stroke-width:1.8}
#spb-dating[dir="rtl"] .d-learn-arrow{--learn-step:-3px}
#spb-dating .d-slide:not([inert]) .d-learn[data-ready]:not(:disabled) .d-learn-arrow{animation:d-learn-cue 2.2s ease-in-out infinite .36s}
#spb-dating .d-learn:is(:active,:focus-visible) .d-learn-arrow{animation-play-state:paused}
#spb-dating .d-slide[data-person] .d-person-title{flex-wrap:nowrap}
#spb-dating .d-feed-live{align-self:center;flex:0 1 auto;min-width:0;max-width:100%}
@keyframes d-learn-cue{0%,18%,75%,100%{transform:translateX(0);opacity:1}42%{transform:translateX(var(--learn-step));opacity:.78}58%{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#spb-dating .d-learn-arrow{animation:none;transform:none}}

#spb-dating .d-sheet header[data-wide-title]{position:relative;display:block;padding-top:44px}
#spb-dating .d-sheet header[data-wide-title]>span:first-child{display:none}
#spb-dating .d-sheet header[data-wide-title]>.d-icon{position:absolute;inset-inline-end:0;top:0}

#spb-dating .d-icon[data-action="save"][aria-pressed="true"]{color:#fe2c55;background:#fe2c5514;border-color:#fe2c555c}
#spb-dating .d-icon[data-action="save"][aria-pressed="true"] .d-symbol{fill:currentColor;stroke:currentColor}

/* Profile invitation: one integrated surface, in normal scroll flow so long
   translations never shrink the half-viewport gallery or obscure its controls. */
#spb-dating .d-introduction{margin:2px var(--x) calc(12px + var(--safe-bottom));padding:16px 16px 14px;gap:10px;border-radius:24px;background:radial-gradient(ellipse at 85% 0%,#a28cd82e,transparent 65%),linear-gradient(145deg,#242a46,#19223b 70%)}
#spb-dating .d-introduction-heading{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
#spb-dating .d-introduction-heading h2{font-size:16px;font-weight:600;line-height:1.4;text-align:center;text-wrap:balance;overflow-wrap:anywhere}
#spb-dating .d-introduction-heart{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;color:var(--iris);background:#cbbaf911;border:1px solid #cbbaf929}
#spb-dating .d-introduction-heart svg{width:16px;height:16px}
#spb-dating .d-introduction-lead{font-size:13px;font-weight:450;line-height:1.5;text-align:center;color:var(--ink);text-wrap:pretty;overflow-wrap:anywhere}
#spb-dating .d-introduction-details{display:grid;gap:5px;max-width:42ch;justify-self:center}
#spb-dating .d-introduction-details p{font-size:13px;font-weight:350;line-height:1.5;color:var(--muted);text-align:center;text-wrap:pretty;overflow-wrap:anywhere}
#spb-dating .d-introduction .d-line{justify-self:center;width:min(calc(100% - 12px),288px);margin-top:2px}
#spb-dating .d-introduction::before{inset-inline:0}

/* Profile-only simulated distance; no location request or feed styling changes. */
#spb-dating .d-profile-distance{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0;color:var(--muted);font-size:12px;line-height:1.4;font-weight:350;margin:0;margin-inline-start:auto;overflow-wrap:anywhere}
#spb-dating .d-profile-distance .d-symbol{width:14px;height:14px;stroke-width:1.5}
#spb-dating .d-profile-distance bdi{white-space:nowrap;font-weight:350}

#spb-dating .d-profile-distance{flex-wrap:nowrap}
#spb-dating .d-profile-distance>span{min-width:0}
#spb-dating .d-profile-copy .d-person-title h1{flex:none}
