.profile-metrics { display:flex; gap:20px; margin:12px 0; flex-wrap:wrap; }
.profile-metrics > span { display:grid; grid-template-columns:18px auto; align-items:center; column-gap:6px; }
.profile-metrics svg { width:17px; height:17px; color:#ff58c0; }
.profile-metrics small { grid-column:1 / -1; color:#c7bdcc; font-size:11px; margin-top:3px; }
.profile-metrics strong { font-size:16px; }
.card-copy .profile-metrics { margin:8px 0 0; gap:14px; }
.card-copy .profile-metrics small { font-size:10px; }
.card-copy > p:last-of-type { max-height:70px; overflow:auto; scrollbar-width:thin; }
.actions { gap:14px; }
.actions .round { flex-shrink:0; width:58px; height:58px; }
.actions .round.like { width:72px; height:72px; }
.actions .round.utility { width:48px; height:48px; }
.actions .utility svg { width:23px; height:23px; }
.actions .selected { color:#ff64c4; border-color:#ff2daa; }
.actions .selected svg { fill:#ff2daa44; }
.view-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:4px 0 18px; padding:3px; border:1px solid #54204e; background:#110914; }
.view-tabs button { min-height:52px; font-size:13px; }
.view-tabs svg { display:none; }
.card-stage,.profile-card { height:clamp(240px,calc(var(--app-height) - 367px - var(--app-top) - var(--app-bottom)),560px); }
.view-tabs button { min-width:0; overflow-wrap:anywhere; display:flex; align-items:center; justify-content:center; gap:6px; }
.view-tabs svg { width:17px; height:17px; flex-shrink:0; }
.profile-heading { text-align:center; margin:15px 0; }
.profile-heading h1 { font-size:25px; margin-bottom:8px; }
.profile-heading p { margin:0; color:var(--muted); }
.profile-heading .profile-metrics { justify-content:center; }
.profile-mood { display:table;max-width:100%;padding:6px 10px;border:1px solid #803761;border-radius:8px;color:#ffd3ed;background:#371329;font-size:14px;line-height:1.45;overflow-wrap:anywhere; }
.profile-heading .profile-mood { margin:10px auto;color:#ffd3ed; }
.card-copy .profile-mood { margin:8px 0;font-size:13px; }
.profile-mood-settings { margin:18px 0; }
.profile-mood-settings label { display:block;font-size:14px;color:#e9dce9; }
.profile-mood-settings select { display:block;width:100%;max-width:100%;min-width:0;margin-top:8px;padding:12px;border:1px solid #704064;border-radius:8px;background:#17101c;color:white;font-size:14px; }
.mood-status { min-height:20px;margin:6px 0;font-size:13px;color:#d9b5cf; }
.profile-tools { display:flex; gap:10px; margin:14px 0 22px; }
.profile-tools button { flex:1; display:flex; gap:8px; align-items:center; justify-content:center; min-width:0; }
.profile-tools svg { flex-shrink:0; width:20px; }
.delete-profile { display:flex; align-items:center; justify-content:center; gap:9px; color:#ff809b; background:transparent; border:1px solid #754052; border-radius:8px; padding:14px; width:100%; margin-top:25px; }
.profile-dialog { color:#fff; background:#100b12; border:1px solid #a83a89; border-radius:8px; padding:20px; width:min(520px,calc(100% - 24px)); max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px); overflow:auto; overscroll-behavior:contain; }
.profile-dialog { top:calc(var(--viewport-top,0px) + var(--app-top) + (var(--app-height) - var(--app-top) - var(--app-bottom)) / 2); bottom:auto; margin:0 auto; translate:0 -50%; max-height:calc(var(--app-height) - var(--app-top) - var(--app-bottom) - 16px); }
.profile-dialog[open] { animation:row-in 300ms var(--motion-ease); }
.profile-dialog::backdrop { background:#000b; }
.tool-heading { display:flex; gap:12px; align-items:center; justify-content:space-between; }
.tool-heading h2 { font-size:21px; margin:0; min-width:0; }
.tool-heading button { flex-shrink:0; }
.profile-dialog textarea { width:100%; padding:12px; border:1px solid #824269; background:#09070b; color:white; border-radius:8px; resize:vertical; }
.profile-dialog p { font-size:14px; }
.profile-dialog .primary { margin-top:14px; display:flex; align-items:center; justify-content:center; gap:8px; }
.profile-dialog .danger { background:#ac254a; box-shadow:none; }
.tool-status { color:#ffa2bc; }
.photo-edit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.photo-edit-tile img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:8px; background:#24182a; }
.photo-edit-controls { display:flex; justify-content:space-between; gap:2px; }
.photo-edit-controls .row-action { width:28px; height:34px; border-radius:6px; flex:1; min-width:0; }
.photo-edit-controls svg { width:16px; }
button:disabled { opacity:.45; cursor:default; }
.add-photo { display:grid; place-items:center; width:54px; height:48px; margin-top:12px; background:#25152a; color:#ff68c6; border:1px dashed #d745a8; border-radius:8px; }
.delete-confirm { display:flex; align-items:flex-start; gap:12px; padding:12px 0; }
.delete-confirm input { width:20px; height:20px; accent-color:#ff2daa; flex-shrink:0; }
.match-feature { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:18px; padding:18px 0 24px; border-bottom:1px solid #7a255f; }
.match-feature .match-faces { margin:0; align-items:center; }
.match-feature .avatar { width:68px; height:68px; border-width:2px; box-shadow:0 0 12px #ff1caf66; }
.match-feature .avatar + .avatar { margin-left:-15px; }
.match-feature h2 { font-size:22px; margin-top:0; }
.match-feature p { font-size:14px; color:var(--muted); }
.match-feature button { padding:11px; }
.chat-search { display:flex; gap:10px; align-items:center; border:1px solid #8e3876; border-radius:28px; padding:12px 16px; margin:12px 0; }
.chat-search svg { width:20px; flex-shrink:0; }
.chat-search input { width:100%; min-width:0; background:none; border:0; outline-offset:4px; color:#fff; }
.match-row:first-child { border-top:1px solid #6e285d; }
.match-row .avatar { border-color:#cf6fb8; }
.match-row time { font-size:11px; color:var(--muted); }
.new-profiles { display:grid; gap:12px; }
.new-profile { display:grid; grid-template-columns:100px minmax(0,1fr) 42px; gap:12px; padding:10px; background:linear-gradient(100deg,#140b16,#080608 60%,#26071f); border:1px solid #842c70; border-radius:8px; animation:row-in 300ms var(--motion-ease) both; }
.new-profile-photo { padding:0; background:none; border:0; align-self:stretch; }
.new-profile-photo .avatar { width:100%; height:100%; min-height:150px; border-radius:8px; }
.new-profile-copy { align-self:center; min-width:0; }
.new-profile h2 { font-size:18px; margin-top:0; }
.new-profile p { font-size:13px; margin:8px 0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.new-profile .profile-metrics { gap:10px; }
.new-profile .profile-metrics small { display:none; }
.new-profile-actions { display:flex; flex-direction:column; justify-content:center; gap:8px; }
.new-profile .selected { color:#ff64c4; border-color:#ff2daa; }
.new-profile .selected svg { fill:#ff2daa44; }
@media(max-width:350px) { .new-profile { grid-template-columns:76px minmax(0,1fr) 36px; gap:8px; padding:8px; } .new-profile .row-action { width:36px; height:38px; } }
#tabs button[aria-current] svg { animation:nav-select 250ms var(--motion-ease); }
@keyframes nav-select { 50% { transform:scale(1.16); } }
@media (max-width:350px) { .actions { gap:10px; } .actions .round { width:52px; height:52px; } .actions .round.like { width:64px; height:64px; } .profile-dialog { padding:14px; } .photo-edit-grid { gap:5px; } .match-feature { grid-template-columns:1fr; } .card-copy { left:16px; right:16px; bottom:16px; } }
@media (prefers-reduced-motion:reduce) { .profile-dialog[open],#tabs button[aria-current] svg { animation:none; } }
/* Personal referrals are an unframed section of the owner's profile. */
.profile-referrals{margin:18px 0;padding:16px 0;border-block:1px solid var(--line)}
.profile-referrals h2{font-size:18px;margin:0 0 14px}
.referral-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}
.referral-stats>div{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0}
.referral-stats dt{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.referral-stats dd{font-size:23px;font-weight:700;margin:0;font-variant-numeric:tabular-nums}
.referral-link-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;align-items:center}
.referral-link-row input{width:100%;min-width:0;height:44px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#100b13;color:inherit;font-size:13px}
.referral-link-row .row-action{width:44px;height:44px;text-decoration:none}
.referral-share-options{display:grid;gap:10px;margin-top:20px}
.referral-share-option{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#19111d;color:inherit;text-decoration:none}
.referral-share-option svg{width:24px;height:24px;flex-shrink:0;color:#ff68c6}
.referral-share-option:hover,.referral-share-option:focus-visible{background:#29152c;border-color:#ff68c6}
