/* Dedicated profiles: portrait-led pages, with the existing chat and billing surfaces. */
.fitty-page{--profile-bg:#f4f7fb;--profile-surface:#fff;--profile-text:#132033;--profile-muted:#68778d;--profile-line:#dfe7f2;display:block;min-height:100svh;background:var(--profile-bg);color:var(--profile-text);padding:0 24px 48px}.fitty-page[hidden]{display:none!important}body.profile-page-open>main,body.profile-page-open>.legal-footer,body.profile-page-open>#introOfferTab,body.profile-page-open>#introOfferCard{display:none!important}.fitty-page .profile-scroll{height:auto;max-height:none;overflow:visible;padding:0;max-width:1100px;margin:0 auto}.fitty-page-nav{height:88px;display:flex;align-items:center;justify-content:space-between}.fitty-page-nav a{font-family:Manrope,sans-serif;font-size:23px;font-weight:800;letter-spacing:-1px;color:var(--profile-text);text-decoration:none}.fitty-page-nav a span{color:#1399dc}.fitty-page-nav button{position:static;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--profile-line);background:var(--profile-surface);color:var(--profile-text);border-radius:50%;font-size:25px;padding:0;line-height:1}.fitty-page-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}.fitty-page .fitty-hero{position:sticky;top:20px;min-width:0;width:100%;height:780px;max-height:calc(100svh - 40px);min-height:630px;max-width:none;aspect-ratio:auto!important;margin:0;background-size:cover!important;background-position:center 20%!important;border-radius:30px;overflow:hidden;color:#fff;isolation:isolate;box-shadow:0 16px 50px #162f5020}.fitty-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0003,transparent 24%,#07101a08 45%,#060c17d9 76%,#070d17 100%);z-index:-1}.fitty-identity{position:absolute;top:24px;left:24px;padding:8px 11px;border:1px solid #ffffff40;border-radius:99px;background:#0a152140;backdrop-filter:blur(16px);font-size:11px;font-weight:700;letter-spacing:1.3px}.fitty-image-controls{position:absolute;right:20px;bottom:254px;display:grid;gap:9px}.fitty-image-controls button{width:43px;height:43px;padding:10px;border:1px solid #ffffff55;border-radius:50%;background:#f8fbff18;backdrop-filter:blur(18px);color:#fff;font-size:25px;display:grid;place-items:center;line-height:1}.fitty-image-controls svg{width:22px;height:22px}.fitty-image-controls button[aria-pressed=true]{color:#ffb2c4;background:#703d5744}.fitty-hero-copy{position:absolute;bottom:20px;left:24px;right:24px}.fitty-page #profileName{font-family:Manrope,sans-serif;font-size:40px;font-weight:800;letter-spacing:-1.5px;line-height:1.2;margin:0 0 8px;color:#fff}.fitty-page #profileName span{font-weight:400;color:#e0e3e9;font-size:32px}.fitty-page #profileLocation{font-size:14px;line-height:1.5;color:#e5eaf3;margin:0 0 10px}.fitty-page #profileLocation .country-name{color:inherit}.fitty-page #profileVibe{font-size:15px;font-weight:400;line-height:1.5;color:#ebedf2;margin:0 30px 15px 0}.fitty-interest-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.fitty-interest-tags span{border:1px solid #ffffff33;border-radius:99px;font-size:12px;padding:6px 10px;line-height:1.3;background:#ffffff10;backdrop-filter:blur(10px);color:#eef4fa}.fitty-primary-actions{display:grid;grid-template-columns:.8fr 1.3fr;gap:10px}.fitty-primary-actions button{height:58px;border-radius:18px;border:1px solid #ffffff28;font-size:15px;font-weight:700;padding:8px 10px;min-width:0;line-height:1.3}.fitty-chat-action{background:#ffffff15;backdrop-filter:blur(18px);color:#fff}.fitty-unlock-action{display:flex;flex-direction:column;justify-content:center;gap:3px;background:linear-gradient(110deg,#176bff,#00b8eb);color:#fff;box-shadow:0 4px 22px #008dff50}.fitty-unlock-action strong{font-size:15px}.fitty-unlock-action small{font-size:11px;font-weight:400;color:#e6f4ff}.fitty-unlock-action:disabled{background:#193548;color:#b7e9f2;box-shadow:none;opacity:1;cursor:default}.fitty-page #profileShare.fitty-compare-action{display:block;width:100%;border:1px solid var(--profile-line);background:var(--profile-surface);color:var(--profile-text);min-height:50px;padding:14px 20px;margin:0;border-radius:13px;font-family:inherit;font-size:15px;font-weight:500;box-shadow:0 3px 12px #0a244008}.fitty-free-note{font-size:11px;color:#b2c2d6;text-align:center;margin:0;line-height:1.5}.fitty-details{min-width:0;display:grid;gap:20px}.fitty-gallery-section,.fitty-about-section{background:var(--profile-surface);border:1px solid var(--profile-line);padding:24px;border-radius:26px}.fitty-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:14px}.fitty-section-heading h2,.fitty-about-section h2{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.5px;line-height:1.4;margin:0}.fitty-section-heading>span{font-size:13px;color:var(--profile-muted)}.fitty-page .gallery{margin:0}.fitty-page .swipe-hint{font-size:13px;color:var(--profile-muted);margin:0 0 12px}.fitty-page .gallery-stage{position:relative;border-radius:18px;overflow:hidden}.fitty-page .gallery-track{width:100%;height:300px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:18px;background:#111b28;scrollbar-width:none}.fitty-page .gallery-slide{width:100%;height:100%;flex:0 0 100%;scroll-snap-align:start}.fitty-page .gallery-visual{width:100%;height:100%;background-size:cover;background-position:center}.fitty-page .gallery-lock{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:18px;background:#05101a28;color:#fff;backdrop-filter:blur(2px)}.fitty-page .gallery-lock p{color:#fff;font-size:18px;font-weight:700;margin:0}.fitty-page .gallery-lock span{color:#eff4fa;font-size:12px}.fitty-page .gallery-lock button{border:1px solid #ffffff55;background:#ffffff18;backdrop-filter:blur(20px);color:#fff;padding:12px 20px;border-radius:99px;font-size:14px}.fitty-page .gallery-strip{display:flex;gap:8px;overflow:auto;margin-top:12px}.fitty-page .gallery-thumb{width:60px;height:74px;flex:0 0 60px;border:1px solid var(--profile-line);border-radius:10px;background-size:cover;background-position:center}.fitty-page .gallery-thumb[aria-pressed=true]{outline:2px solid #139fe7;outline-offset:2px}.fitty-page .gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:var(--profile-muted);font-size:12px}.fitty-page .gallery-controls button{border:1px solid var(--profile-line);background:var(--profile-bg);color:var(--profile-text);width:34px;height:34px;border-radius:50%}.fitty-page #galleryLoadStatus{font-size:13px;color:var(--profile-muted)}.fitty-page .gallery-dots{display:none}.fitty-page #profileSport{margin:0 0 8px;color:#1198cc;font-size:11px;font-weight:700;letter-spacing:1.4px}.fitty-page #profileBio{margin:10px 0 0;font-size:15px;line-height:1.75;color:var(--profile-muted)}.fitty-page .profile-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;margin:0;padding:0}.fitty-page .profile-quick-panel{border:1px solid var(--profile-line);border-radius:20px;background:var(--profile-surface);color:var(--profile-text);min-height:130px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:18px;gap:6px;text-align:left;box-shadow:none}.fitty-page .profile-quick-panel svg{width:24px;height:24px;color:#139cdd;margin:0 0 5px}.fitty-page .profile-quick-panel strong{font-size:16px;color:var(--profile-text);margin:0}.fitty-page .profile-quick-panel span{font-size:13px;line-height:1.5;color:var(--profile-muted)}.fitty-page .profile-note{font-size:12px;line-height:1.65;margin:0 8px;color:var(--profile-muted)}.fitty-profile-info{margin-top:30px;color:var(--profile-muted);font-size:14px}.fitty-profile-info summary{cursor:pointer}.fitty-profile-info .profile{display:block}.fitty-profile-info .portrait,.fitty-profile-info .preview{display:none}.fitty-page button:focus-visible{outline:3px solid #65c9ff;outline-offset:4px}.fitty-page button:not(:disabled):hover{filter:brightness(1.06)}
html[data-theme=dark] .fitty-page{--profile-bg:#090f19;--profile-surface:#111c2c;--profile-text:#edf5ff;--profile-muted:#9cabc0;--profile-line:#253347}html[data-theme=dark] .fitty-page .profile-quick-panel{background:var(--profile-surface);color:var(--profile-text);border-color:var(--profile-line)}
@media(max-width:700px){.fitty-page{padding:0 0 30px}.fitty-page .profile-scroll{max-width:480px}.fitty-page-nav{height:66px;padding:0 16px}.fitty-page-nav a{font-size:20px}.fitty-page-nav button{width:37px;height:37px;font-size:23px}.fitty-page-layout{display:block}.fitty-page .fitty-hero{position:relative;top:auto;height:calc(100svh - 78px);max-height:850px;min-height:590px;border-radius:24px;margin:0 10px;width:calc(100% - 20px);box-shadow:none;background-position:center 15%!important}.fitty-hero-copy{left:18px;right:18px;bottom:17px}.fitty-page #profileName{font-size:34px}.fitty-page #profileName span{font-size:29px}.fitty-page #profileVibe{font-size:14px;margin-bottom:12px}.fitty-identity{left:18px;top:18px;font-size:10px}.fitty-interest-tags{gap:5px;margin-bottom:15px}.fitty-interest-tags span{font-size:11px;padding:5px 9px}.fitty-image-controls{right:18px;bottom:262px}.fitty-image-controls button{width:38px;height:38px;font-size:23px;padding:9px}.fitty-primary-actions button{height:55px;font-size:14px;border-radius:16px}.fitty-details{padding:18px 16px;gap:18px}.fitty-gallery-section,.fitty-about-section{padding:20px;border-radius:23px}.fitty-page .gallery-track{height:290px}.fitty-page .profile-quick-panel{min-height:124px;padding:16px}.fitty-profile-info{margin:12px 24px}.fitty-page .profile-note{font-size:11px}}@media(prefers-reduced-motion:no-preference){.fitty-page-layout{animation:fittyReveal .25s ease-out}@keyframes fittyReveal{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}}

.fitty-page .locked-thumb{position:relative}.fitty-page .locked-thumb:after{content:'🔒';position:absolute;inset:0;display:grid;place-items:center;background:#07142122;font-size:16px}.fitty-page .gallery-controls:has(button[hidden]){justify-content:center}

.fitty-page .gallery-strip{margin:0 0 16px;padding:3px}.fitty-page .gallery-lock[hidden]{display:none!important}

/* Refined profile typography and icon system; scoped to the draft pages. */
.fitty-page{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:400}
.fitty-page-nav a{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:20px;letter-spacing:-.035em}
.fitty-page-nav a span{color:inherit}
.fitty-page-nav button{border-color:transparent;background:transparent}
.fitty-page-nav button svg{width:21px;height:21px}
.fitty-page #profileName{font-family:Georgia,"Times New Roman",serif;font-size:52px;font-weight:400;letter-spacing:-.025em;line-height:1.1;display:flex;align-items:baseline;gap:12px}
.fitty-page #profileName span{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:22px;font-weight:300;letter-spacing:-.02em;color:#d3d8e0}
.fitty-page #profileVibe{font-weight:400;line-height:1.6}
.fitty-page .fitty-identity{font-weight:500;font-size:12px;letter-spacing:.12em;backdrop-filter:blur(12px);background:#06121d26;border-color:#ffffff25}
.fitty-page .fitty-interest-tags span{font-size:12px;border-radius:7px;background:#ffffff08;border-color:#ffffff24;padding:5px 9px}
.fitty-page .fitty-interest-tags{margin-bottom:18px}
.fitty-page .fitty-image-controls button{background:#ffffff10;border-color:#ffffff32;backdrop-filter:blur(12px)}
.fitty-page .fitty-image-controls svg{width:20px;height:20px;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fitty-page #profileFavourite[aria-pressed=true]{color:#fff;background:#ffffff25}
.fitty-page #profileFavourite[aria-pressed=true] svg{fill:currentColor}
.fitty-page .fitty-primary-actions button{font-family:inherit;font-weight:500;border-radius:13px}
.fitty-page .fitty-unlock-action{background:#2478d6;box-shadow:none;border-color:#ffffff20}
.fitty-page .fitty-unlock-action strong{font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:7px}
.fitty-page .fitty-unlock-action strong svg{width:16px;height:16px;flex:none}
.fitty-page .fitty-unlock-action small{font-size:12px;font-weight:400;color:#dceaff}
.fitty-page .fitty-free-note{font-size:12px;font-weight:400;color:#bbc7d7}
.fitty-page .fitty-gallery-section,.fitty-page .fitty-about-section{border-radius:18px;box-shadow:none}
.fitty-page .fitty-section-heading h2,.fitty-page .fitty-about-section h2{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:19px;letter-spacing:-.025em}
.fitty-page #profileBio{font-size:16px;line-height:1.7}
.fitty-page .profile-quick-panel{border-radius:16px;background:transparent;min-height:116px;box-shadow:none}
.fitty-page .profile-quick-panel svg{width:22px;height:22px;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--profile-muted)}
.fitty-page .profile-quick-panel strong{font-weight:500;font-size:16px;letter-spacing:-.02em}
.fitty-page .profile-quick-panel span{font-size:14px}
.fitty-page .gallery-lock p{font-weight:500;font-size:18px}
.fitty-page .gallery-lock button{font-family:inherit;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px}
.fitty-page .gallery-lock button svg{width:17px;height:17px}
.fitty-page .locked-thumb:after{content:none}
.fitty-page .locked-thumb svg{width:17px;height:17px;color:#fff;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px #0008)}
html[data-theme=dark] .fitty-page .profile-quick-panel{background:transparent}
@media(max-width:700px){.fitty-page #profileName{font-size:45px}.fitty-page #profileName span{font-size:20px}.fitty-page-nav a{font-size:19px}.fitty-page .profile-quick-panel{min-height:116px}.fitty-page .fitty-identity{font-size:12px}.fitty-page .fitty-primary-actions button{font-size:14px}}

/* Story-style model selection: public portraits, never protected gallery media. */
.fitty-model-strip{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:3px 2px 21px;max-width:100%;-webkit-overflow-scrolling:touch}
.fitty-model-strip::-webkit-scrollbar{display:none}
.fitty-model-story{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 68px;scroll-snap-align:start;text-decoration:none;color:var(--profile-muted);font-size:13px;line-height:1.3;font-weight:400}
.fitty-story-ring{display:grid;place-items:center;width:68px;height:68px;border:1px solid var(--profile-line);border-radius:50%;padding:3px;transition:border-color .15s ease}
.fitty-story-ring img{display:block;width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:center 20%;background:var(--profile-surface)}
.fitty-story-name{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fitty-model-story[aria-current=page]{color:var(--profile-text);font-weight:500}
.fitty-model-story[aria-current=page] .fitty-story-ring{border-color:#3b90df;box-shadow:0 0 0 1px #3b90df}
.fitty-model-story:hover .fitty-story-ring{border-color:#3b90df}
.fitty-model-story:focus-visible{outline:2px solid #65c9ff;outline-offset:4px;border-radius:12px}
@media(max-width:700px){.fitty-model-strip{padding:4px 16px 18px;gap:14px}.fitty-model-story{flex-basis:64px}.fitty-story-ring{width:64px;height:64px}.fitty-story-ring img{width:56px;height:56px}.fitty-page .fitty-hero{height:calc(100svh - 183px)}}
@media(prefers-reduced-motion:reduce){.fitty-story-ring{transition:none}}

/* Retain the site's shared floating navigation and its existing theme controls. */
.fitty-page{padding-top:var(--header-height,76px);padding-bottom:120px}
.fitty-page-nav{height:48px;justify-content:flex-end}
.fitty-page .gallery-strip[hidden]{display:none!important}
.fitty-model-strip{touch-action:pan-x pan-y}
@media(max-width:700px){.fitty-page{padding-top:var(--header-height,76px);padding-bottom:120px}.fitty-page-nav{height:42px}.fitty-page .fitty-hero{height:calc(100svh - 235px)}}

/* Frame portraits from the top and keep card actions in their familiar corners. */
.fitty-page .fitty-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-2;max-width:none}
.fitty-page .fitty-hero[data-model="Olivia"] .fitty-hero-image{height:122.293%;top:-11.147%;object-position:center;object-fit:cover}
.fitty-image-controls{position:static;display:contents}
.fitty-page .fitty-image-controls button{position:absolute;width:40px;height:40px;padding:9px;z-index:3}
.fitty-page #profileFavourite{top:18px;left:18px;right:auto;bottom:auto}
.fitty-page #profileShareIcon{bottom:18px;right:18px;top:auto;left:auto}
.fitty-page .fitty-hero-copy{bottom:72px}
.fitty-page .fitty-free-note{margin-top:14px;line-height:1.7}
.fitty-story-ring{overflow:hidden}

/* Expanded profile details share the profile's white cards and blue accents. */
.fitty-page .fitty-profile-info{max-width:1100px;margin:28px auto 0;border:1px solid var(--profile-line);border-radius:24px;background:var(--profile-surface);overflow:hidden;color:var(--profile-text)}
.fitty-profile-info>summary{list-style:none;display:flex;align-items:center;gap:13px;padding:22px 24px;font-size:17px;font-weight:600;min-height:72px}
.fitty-profile-info>summary::-webkit-details-marker{display:none}
.fitty-profile-info>summary>svg,.fitty-more-heading svg{width:23px;height:23px;flex:none;color:#2478d6}
.fitty-profile-info>summary small{display:block;margin-top:4px;color:var(--profile-muted);font-size:12px;font-weight:400;line-height:1.5}
.fitty-more-chevron{margin-left:auto;color:#2478d6;font-size:24px;transition:transform .2s}
.fitty-profile-info[open] .fitty-more-chevron{transform:rotate(180deg)}
.fitty-profile-info>summary:focus-visible{outline:3px solid #65c9ff;outline-offset:-4px;border-radius:23px}
.fitty-more-content{padding:6px 24px 24px;border-top:1px solid #edf1f7}
.fitty-more-intro{padding:23px 0}
.fitty-more-eyebrow{font-size:10px;letter-spacing:.12em;color:#2478d6;font-weight:700}
.fitty-more-intro h2{font-family:Manrope,sans-serif;font-size:24px;line-height:1.35;letter-spacing:-.5px;margin:10px 0}
.fitty-more-content p{font-size:14px;line-height:1.8;color:var(--profile-muted);margin:8px 0 0}
.fitty-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fitty-more-card{min-width:0;padding:20px;border:1px solid #e3eaf4;border-radius:18px;background:#f8faff}
.fitty-more-heading{display:flex;align-items:center;gap:9px}
.fitty-more-heading h3{font-size:15px;line-height:1.5;margin:0;font-weight:600}
.fitty-more-facts{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0 0;padding-top:15px;border-top:1px solid #e3eaf4}
.fitty-more-facts dt{font-size:11px;color:var(--profile-muted)}
.fitty-more-facts dd{font-size:14px;font-weight:500;margin:5px 0 0}
.fitty-more-tags{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.fitty-more-tags li{border:1px solid #dce8f7;border-radius:99px;padding:7px 11px;font-size:12px;background:#fff;color:#355b89}
.fitty-more-conversation{grid-column:1/-1}
.fitty-more-topics{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0;color:var(--profile-muted);font-size:14px;line-height:1.6}
.fitty-more-topics li{padding-left:13px;border-left:2px solid #9ac5f3}
.fitty-more-card blockquote{border:0;border-radius:12px;background:#eaf2ff;margin:18px 0 0;padding:15px;color:#294f7e;font-size:14px;line-height:1.7}
.fitty-more-card blockquote span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:5px}
.fitty-more-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.fitty-more-links a,.fitty-more-links button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:0;box-sizing:border-box;border:1px solid #d8e5f5;border-radius:13px;background:#f7faff;color:#2478d6;text-decoration:none;font:500 14px/1.4 var(--control-font,Inter,sans-serif);padding:12px 16px;cursor:pointer}
.fitty-more-links button{background:linear-gradient(115deg,#176bea,#238dda);border-color:#4098f3;color:#fff;box-shadow:0 4px 14px #176bea20}
.fitty-more-links a:focus-visible,.fitty-more-links button:focus-visible{outline:3px solid #65c9ff;outline-offset:3px}
@media(max-width:700px){.fitty-page .fitty-profile-info{margin:12px 16px 24px;border-radius:22px}.fitty-profile-info>summary{padding:19px 18px}.fitty-more-content{padding:0 18px 18px}.fitty-more-grid,.fitty-more-topics{grid-template-columns:1fr}.fitty-more-intro h2{font-size:21px}.fitty-more-card{padding:18px}.fitty-more-links{grid-template-columns:1fr;gap:10px}}
.fitty-story-ring img{object-position:center top}
[data-profile-model="Amelia"] img{object-position:center 14%}
[data-profile-model="Lewis"] img{object-position:center 18%}
[data-profile-model="Olivia"] img{object-position:center 18%;transform:scale(1.13)}
.fitty-page #profileShare.fitty-compare-action{position:relative;overflow:hidden;border:1px solid #4098f3;background:linear-gradient(115deg,#176bea,#238dda);color:#fff;font-size:16px;font-weight:600;box-shadow:0 6px 20px #176bea30;min-height:54px}
.fitty-page .fitty-primary-actions button{position:relative;overflow:hidden}
@media(max-width:700px){.fitty-page .fitty-hero{height:auto;min-height:690px;max-height:none;aspect-ratio:9/16!important}.fitty-page .fitty-hero-copy{left:18px;right:18px;bottom:72px}.fitty-page .fitty-free-note{margin-top:16px;margin-bottom:5px}.fitty-model-strip{padding-top:12px}}
@media(prefers-reduced-motion:no-preference){
 .fitty-page #profileShare:after,.fitty-page .fitty-primary-actions button:after{content:"";position:absolute;inset:-80% -50%;background:linear-gradient(110deg,transparent 42%,#ffffff45 49%,#ffffff75 50%,#ffffff10 53%,transparent 60%);transform:translateX(-90%);pointer-events:none;animation:fittyButtonGlimmer 7s ease-in-out infinite}
 .fitty-page #profileUnlock:after{animation-delay:1.2s}.fitty-page #profileChat:after{animation-delay:2.4s}
 .fitty-page .fitty-hero:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;border:1px solid #ffffff35;background:linear-gradient(115deg,transparent 35%,#ffffff18 48%,transparent 60%);transform:translateX(-110%);animation:fittyCardGlimmer 12s ease-in-out infinite}
 @keyframes fittyButtonGlimmer{0%,68%{transform:translateX(-90%)}88%,100%{transform:translateX(90%)}}
 @keyframes fittyCardGlimmer{0%,78%{transform:translateX(-110%)}94%,100%{transform:translateX(110%)}}
}

/* Keep sharing beside the interests, immediately above the unlock action. */
.fitty-page .fitty-share-row{display:flex;justify-content:flex-end;margin:0 0 12px}
.fitty-page #profileShareIcon{position:static;width:40px;height:40px;padding:9px;display:grid;place-items:center;border:1px solid #ffffff32;border-radius:50%;background:#ffffff10;backdrop-filter:blur(12px);color:#fff}
.fitty-page #profileShareIcon svg{width:20px;height:20px;stroke-width:1.5}
.fitty-page .fitty-hero-copy{bottom:26px}
.fitty-page .gallery-track.gallery-locked{height:auto!important;aspect-ratio:9/16}
.fitty-page .gallery-locked .gallery-slide{height:auto;aspect-ratio:9/16}
.fitty-page .gallery-locked .gallery-visual{height:100%;width:100%!important;aspect-ratio:9/16!important;background-size:cover!important;background-position:center!important}
@media(max-width:700px){.fitty-page .fitty-hero-copy{bottom:26px}.fitty-page .fitty-free-note{margin-bottom:8px}}

.fitty-page .fitty-about-section .fitty-interest-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}.fitty-page .fitty-about-section .fitty-interest-tags span{border:1px solid var(--profile-line);background:var(--profile-bg);color:var(--profile-muted);padding:7px 11px;font-size:14px;line-height:1.4;border-radius:7px}

/* Place identity and sharing in one compact row immediately above the actions. */
.fitty-page .fitty-identity-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px}
.fitty-page .fitty-identity-copy{flex:1;min-width:0}
.fitty-page .fitty-identity-row #profileName{margin:0 0 8px;flex-wrap:wrap;column-gap:10px;row-gap:0}
.fitty-page .fitty-identity-row #profileLocation{margin:0;font-size:14px;line-height:1.5}
.fitty-page .fitty-identity-row .fitty-share-row{margin:0;flex:none}
.fitty-page .fitty-identity-row #profileShareIcon{position:static}

/* Reuse the full profile as a top-layer overlay without closing the conversation. */
#chatProfileOverlay{padding:0;border:0;border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;overflow:auto;background:var(--bg,#f4f7fb);color:inherit}
#chatProfileOverlay::backdrop{background:#07101e99}
#chatProfileOverlay .fitty-page{min-height:100dvh}
#chatAvatar[role=button]{cursor:pointer}
#chatAvatar[role=button]:focus-visible{outline:2px solid currentColor;outline-offset:3px}

#chatProfileOverlay>.dialog-close{position:sticky;float:right;top:14px;right:14px;margin:14px 14px -58px 0;z-index:20}

/* Unlocked galleries show the complete portrait, including thumbnail previews. */
.fitty-page .gallery-track{height:auto!important;aspect-ratio:9/16;width:100%}
.fitty-page .gallery-track:not(.gallery-locked) .gallery-visual{background-size:contain!important;background-position:center!important}
.fitty-page .gallery-strip .gallery-thumb{flex:0 0 64px;width:64px!important;height:auto!important;aspect-ratio:9/16!important;padding:0;background-size:contain!important;background-position:center!important;background-repeat:no-repeat;scroll-snap-align:start}
.fitty-page .gallery-strip{position:relative;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:3px}

/* Keep full photos visible when originals have different proportions. */
.fitty-page .gallery-full-photo{position:relative;overflow:hidden;isolation:isolate;background-color:#edf2f7}
.fitty-page .gallery-photo-backdrop{position:absolute;inset:-20px;background-position:center;background-size:cover;filter:blur(18px);opacity:.35;pointer-events:none}
.fitty-page .gallery-photo-backdrop[hidden]{display:none}
.fitty-page .gallery-photo-content{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden;pointer-events:none}
.fitty-page .gallery-photo-content img{position:absolute;max-width:none;max-height:none;margin:0;padding:0;border:0;object-fit:fill;pointer-events:none}

/* Let portrait strips scroll inside their cards instead of widening the page. */
.fitty-page .fitty-details{grid-template-columns:minmax(0,1fr);max-width:100%}
.fitty-page .fitty-details>*{min-width:0;max-width:100%}
.fitty-page .fitty-gallery-section,.fitty-page .fitty-about-section,.fitty-page .gallery,.fitty-page .gallery-stage,.fitty-page .gallery-strip{min-width:0;max-width:100%}
.fitty-page .profile-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.fitty-page .profile-quick-panel{min-width:0;overflow-wrap:anywhere}
.fitty-page #profileShare.fitty-compare-action{box-sizing:border-box;min-width:0;max-width:100%}
@media(max-width:700px){
 .fitty-page .profile-scroll,.fitty-page .fitty-page-layout{width:100%;min-width:0}
 .fitty-page .fitty-hero{margin-inline:16px;width:calc(100% - 32px)}
 .fitty-page .fitty-details{width:100%;box-sizing:border-box;padding-inline:16px}
 .fitty-page .fitty-gallery-section,.fitty-page .fitty-about-section{width:100%;box-sizing:border-box;padding:18px}
 .fitty-page .fitty-profile-info{margin-inline:16px}
 .fitty-page .fitty-free-note{overflow-wrap:anywhere}
}
