:root{--bg:#161517;--card-bg:#161517;--border:#333135;--fg:#ffffff;--muted:#b6b6b6;--tag-fill:#f3f0e9;--tag-fill-ink:#0d0c0e;--accent-avoid:#ff7e6c;--font-display:"Canela Deck",Georgia,"Times New Roman",serif;--font-body:var(--font-plus-jakarta),system-ui,sans-serif;--font-mono:var(--font-ibm-plex-mono),ui-monospace,monospace;--fs-name:64px;--fs-md:16px;--fs-sm:14px;--fs-xs:12px;--maxw:1200px;--radius:8px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-weight:300;line-height:1.5;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}.profile{max-width:var(--maxw);margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:24px;isolation:isolate}.profile>*{min-width:0;position:relative;z-index:1}.photo{position:relative;width:100%;aspect-ratio:458/620;border-radius:var(--radius);overflow:hidden;background:#201f22;z-index:0}.photo__img{display:block;width:100%;height:100%;object-fit:cover}.photo__img:not([src]),.photo__img[src=""]{display:none}.photo__placeholder{position:absolute;inset:0;z-index:1;display:grid;place-items:center;grid-gap:8px;gap:8px;color:#4a484c}.photo__placeholder span{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.photo__fade{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(22,21,23,0) 60%,rgba(22,21,23,.5) 73.5%,rgba(22,21,23,.75) 78.8%,rgb(22,21,23) 88%)}.identity{display:flex;flex-direction:column;gap:16px}.name{margin:0;font-family:var(--font-display);font-weight:300;font-size:var(--fs-name);line-height:1.1}.age-location{font-family:var(--font-mono);font-size:var(--fs-md);text-transform:uppercase}.tags{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;padding:8px 16px;border-radius:9999px;white-space:nowrap;font-size:var(--fs-md);line-height:1}.pill--trait{background:var(--tag-fill);color:var(--tag-fill-ink);font-weight:700}.pill--interest{border:1px solid var(--border);color:var(--tag-fill);font-weight:300}.vitals{display:flex;flex-direction:column;gap:8px}.vital{display:grid;grid-template-columns:24px 130px 1fr;align-items:center;grid-gap:12px;gap:12px}.vital__icon{width:24px;height:24px;color:var(--muted)}.vital__label{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;color:var(--muted)}.vital__value{font-size:var(--fs-sm);color:var(--fg)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px 32px}.card__title{margin:0 0 20px;font-weight:700;font-size:var(--fs-md);line-height:1.2}.eyebrow{display:block;margin:24px 0 12px;font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;color:var(--fg)}.nutshell ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.nutshell li{color:var(--muted);font-size:var(--fs-sm)}.pairing__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 24px;gap:12px 24px}.pairing__row{display:flex;align-items:center;gap:8px;min-width:0}.pairing__row svg{width:24px;height:24px;color:var(--fg);flex:none}.pairing__row span{font-size:var(--fs-xs);color:var(--fg)}.pairing__note{margin-top:16px}.pairing__note p{margin:0;font-size:var(--fs-sm);color:var(--muted)}.eyebrow--avoid{color:var(--accent-avoid)}.sliders{gap:16px}.slider,.sliders{display:flex;flex-direction:column}.slider{gap:8px}.slider__label{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;color:var(--fg)}.slider__label svg{width:16px;height:16px;color:var(--muted)}.slider__track{position:relative;height:2px;border-radius:2px;background:rgba(255,255,255,.18)}.slider__track:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--value,50%);background:rgba(255,255,255,.55);border-radius:2px}.slider__thumb{position:absolute;top:50%;left:var(--value,50%);width:12px;height:12px;border-radius:50%;background:var(--fg);transform:translate(-50%,-50%)}.slider__ends{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-xs);color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.gallery__item{position:relative;aspect-ratio:235/470;border-radius:var(--radius);overflow:hidden;background:#201f22}.gallery__item img{display:block;width:100%;height:100%;object-fit:cover}.gallery__placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#4a484c}@media (min-width:900px){.profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"photo identity" "photo vitals" "deepdive nutshell" "deepdive pairing" "gallery gallery";grid-column-gap:32px;column-gap:32px;grid-row-gap:24px;row-gap:24px;padding:40px 40px 56px;align-items:start}.photo{grid-area:photo;align-self:start;width:100%;height:auto;min-height:0}.deepdive{grid-area:deepdive;align-self:start}.identity{grid-area:identity}.vitals{grid-area:vitals}.nutshell{grid-area:nutshell}.pairing{grid-area:pairing}.gallery{grid-area:gallery;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:16px}}@keyframes profile-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer{background:linear-gradient(90deg,#201f22,#2c2b2e 45%,#3a393d 50%,#2c2b2e 55%,#201f22);background-size:200% 100%;animation:profile-shimmer 1.4s ease-in-out infinite}.profile--skeleton .skeleton-photo{width:100%;aspect-ratio:458/620;border-radius:var(--radius)}.profile--skeleton .skeleton-identity{display:flex;flex-direction:column;gap:16px}.profile--skeleton .skeleton-name{height:56px;width:70%;border-radius:6px}.profile--skeleton .skeleton-age{height:18px;width:45%;border-radius:4px}.profile--skeleton .skeleton-tags{display:flex;flex-wrap:wrap;gap:8px}.profile--skeleton .skeleton-pill{height:36px;width:110px;border-radius:9999px}.profile--skeleton .skeleton-vitals{display:flex;flex-direction:column;gap:10px}.profile--skeleton .skeleton-vital{display:grid;grid-template-columns:24px 130px 1fr;align-items:center;grid-gap:12px;gap:12px}.profile--skeleton .skeleton-vital__icon{width:24px;height:24px;border-radius:4px}.profile--skeleton .skeleton-vital__label{height:12px;border-radius:4px}.profile--skeleton .skeleton-vital__value{height:14px;border-radius:4px}.profile--skeleton .skeleton-card{border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px 32px}.profile--skeleton .skeleton-card__title{height:18px;width:40%;border-radius:4px;margin-bottom:20px}.profile--skeleton .skeleton-lines{display:flex;flex-direction:column;gap:10px}.profile--skeleton .skeleton-line{height:14px;border-radius:4px}.profile--skeleton .skeleton-line--short{width:65%}.profile--skeleton .skeleton-pairing-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 24px;gap:12px 24px}.profile--skeleton .skeleton-pairing-row{height:24px;border-radius:4px}.profile--skeleton .skeleton-sliders{display:flex;flex-direction:column;gap:16px}.profile--skeleton .skeleton-slider__label{height:12px;width:35%;border-radius:4px;margin-bottom:8px}.profile--skeleton .skeleton-slider__track{height:2px;border-radius:2px}.profile--skeleton .skeleton-gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.profile--skeleton .skeleton-gallery__item{aspect-ratio:235/470;border-radius:var(--radius)}@media (min-width:900px){.profile--skeleton{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"photo identity" "photo vitals" "deepdive nutshell" "deepdive pairing" "gallery gallery";grid-column-gap:32px;column-gap:32px;grid-row-gap:24px;row-gap:24px;padding:40px 40px 56px;align-items:start}.profile--skeleton .skeleton-photo{grid-area:photo}.profile--skeleton .skeleton-identity{grid-area:identity}.profile--skeleton .skeleton-vitals{grid-area:vitals}.profile--skeleton .skeleton-nutshell{grid-area:nutshell}.profile--skeleton .skeleton-pairing{grid-area:pairing}.profile--skeleton .skeleton-deepdive{grid-area:deepdive}.profile--skeleton .skeleton-gallery{grid-area:gallery;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:16px}}:focus-visible{outline:2px solid var(--tag-fill);outline-offset:2px}@media (prefers-reduced-motion:reduce){.shimmer{animation:none;background:#201f22}}