[data-level]{--language-color:var(--muted)}
[data-level=A]{--language-color:var(--language-a1)}
[data-level=B]{--language-color:var(--language-b1)}
[data-level=C]{--language-color:var(--language-c1)}
[data-level=native]{--language-color:var(--language-native)}
.language-capsules{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.language-capsules:empty{display:none}
.language-capsule{display:inline-flex;align-items:stretch;max-width:100%;border:1px solid var(--language-color);background:color-mix(in srgb,var(--language-color) 6%,transparent);color:var(--text)}
.language-capsule button{border:0;background:transparent;text-align:left}
.language-capsule button:first-child{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.language-capsule button span{color:var(--language-color);font-size:inherit}
.language-capsule .language-remove{color:var(--muted)}
.language-add{max-width:320px;margin-bottom:0}.language-save-status:empty{display:none}
.language-profile .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.participant-extras{min-width:0}
.participant-row,.participants-heading{grid-template-columns:minmax(220px,1fr) minmax(0,2fr)}
.discovery-inner .participant-row{grid-template-columns:minmax(0,1fr)}
.discovery-inner .participant-extras{padding-left:0}
.comparison-members .participant-row{grid-template-rows:minmax(84px,auto);grid-auto-rows:auto}
.participant-genres.genre-expand-region{min-width:0;border-radius:6px}.participant-genres.genre-expand-region:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.language-popover{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:14px;background:var(--surface);color:var(--text);border:1px solid var(--dialog-border);border-radius:var(--radius-panel);box-shadow:0 12px 36px var(--shadow-strong);z-index:1500}
.language-popover::backdrop{background:transparent;pointer-events:none}
.language-popover-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.language-popover-heading button{border:1px solid var(--line);border-radius:9px;background:transparent;width:32px;height:32px;padding:0;font-size:22px;flex-shrink:0}
.language-popover p{font-size:14px;margin:10px 0;line-height:1.5}.language-popover-error:empty{display:none}
.language-wheel-frame{position:relative;border-block:1px solid var(--line)}
.language-wheel{height:144px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;padding:48px 0;position:relative;outline-offset:0}
.language-wheel::-webkit-scrollbar{display:none}
.language-wheel-selection{position:absolute;top:48px;height:48px;left:0;right:0;border-block:1px solid var(--accent-border);background:var(--accent-soft);pointer-events:none}
.language-wheel-option{height:48px;display:flex;align-items:center;gap:10px;scroll-snap-align:center;padding:0 8px;cursor:pointer;opacity:.65}
.language-wheel-option[aria-selected=true]{opacity:1}
.language-wheel-option strong{color:var(--language-color);flex:0 0 53px;font-size:14px}.language-wheel-option span{font-size:13px;line-height:1.25}
.language-apply{width:100%;margin-top:12px}
@media(max-width:700px){.participant-row{grid-template-columns:minmax(0,1fr);gap:10px}.participants-heading{grid-template-columns:1fr}.participants-heading>span{display:none}.participant-extras{grid-row:2}.participant-genres{grid-row:3}.discovery-inner .participant-extras{padding-left:0}}

@media(prefers-reduced-motion:reduce){.language-wheel{scroll-behavior:auto}}

.language-wheel:focus-visible{outline:1px solid var(--accent-border);outline-offset:2px;border-radius:4px}

/* Shared additional matches: the same capsule geometry as music genres. */
.extra-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.genre-pill.extra-match{color:var(--interest-color,var(--purple));border-color:var(--interest-color,var(--purple));background:color-mix(in srgb,var(--interest-color,var(--purple)) 8%,transparent);cursor:default}
.interest-profile [data-interest-kind="sport"],.extra-match[data-interest-kind="sport"]{--interest-color:var(--sport-color)}
.genre-pill.language-match{color:var(--language-color);border-color:var(--language-color);background:color-mix(in srgb,var(--language-color) 8%,transparent);font-weight:500;cursor:pointer}
.participant-extras:empty{display:none}
.interest-profile fieldset{border:0;margin:20px 0 0;padding:0;min-width:0}
.interest-profile legend{font-size:14px;margin-bottom:10px;color:var(--muted)}
.interest-options{display:flex;gap:8px;flex-wrap:wrap}
.interest-choice{position:relative;cursor:pointer}
.interest-choice input{position:absolute;opacity:0;width:1px;height:1px}

.interest-choice input:checked+span{border-color:var(--interest-color,var(--purple));color:var(--interest-color,var(--purple));background:color-mix(in srgb,var(--interest-color,var(--purple)) 8%,transparent)}
.interest-choice input:focus-visible+span{outline:2px solid var(--interest-color,var(--purple));outline-offset:3px}
.social-field{border:0;padding:0;margin:22px 0;min-width:0}
.social-field legend{font-size:14px;margin-bottom:10px;color:var(--text)}
.social-profile,.participant-social{--answer-color:var(--social-color)}
.habits-profile,.participant-habits{--answer-color:var(--habit-color)}
.social-profile .interest-choice{max-width:100%}
.social-profile .interest-choice input:checked+span{border-color:var(--answer-color);color:var(--answer-color);background:color-mix(in srgb,var(--answer-color) 8%,transparent)}
.social-profile .interest-choice input:focus-visible+span{outline-color:var(--answer-color)}
.social-field-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px}
.social-field-actions .checkbox{font-size:13px;margin:0;color:var(--muted)}
.social-clear{border:0;background:transparent;color:var(--muted);font-size:13px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.social-clear:disabled{opacity:.45;cursor:default}
.social-status{min-height:20px}
.participant-social{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-width:100%}
.participant-social .social-pill{white-space:normal;text-align:left;color:var(--answer-color);border-color:var(--answer-color);background:color-mix(in srgb,var(--answer-color) 8%,transparent);font-weight:400;max-width:100%}
.participant-identity{min-width:0}
@media(max-width:700px){.social-profile .actions{justify-content:stretch}.social-profile .actions .btn{flex:1 1 auto}}
.demo-profile-tools{margin:-10px 0 24px;border-bottom:1px solid var(--line);padding:0 0 12px;font-size:13px;color:var(--muted)}
.demo-profile-tools summary{cursor:pointer;width:fit-content}.demo-profile-tools p{max-width:760px}
.language-pending{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:14px}
.language-wheel-option strong{flex-basis:58px;font-size:13px}
@media(pointer:coarse){.extra-pills{gap:10px}.extra-pills button{position:relative}.extra-pills button:after{content:"";position:absolute;inset:-4px 0}}
.profile-actions{padding:24px 28px;border-top:1px solid var(--border,var(--line))}
.profile-actions .actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.profile-actions [hidden]{display:none}
.profile-actions [data-profile-status]{margin:0 0 14px}
@media(max-width:600px){.profile-actions{padding:20px}.profile-actions .actions{flex-direction:column-reverse}.profile-actions .btn{width:100%}}

.discovery-inner .participant-genres,.discovery-inner .participant-extras{grid-row:auto}

/* Wide rosters separate personal information from music and matches. */
.participant-row:has(>.participant-details){container-type:inline-size;align-items:center;column-gap:24px;row-gap:8px}
.participants-heading{column-gap:24px}
.participant-details{display:flex;flex-direction:column;gap:6px;min-width:0;align-self:center}
.participant-person-panel{display:grid;gap:8px 16px;min-width:0}
.participant-person-panel .participant-about{grid-column:auto;margin:0}
@container(min-width:1050px){.participant-person-panel:has(>.participant-about){grid-template-columns:minmax(0,1fr) 96px;align-items:center}}
@media(max-width:700px){.participant-row:has(>.participant-details){grid-template-columns:minmax(0,1fr)}.participant-details{align-self:start}.participant-details .participant-genres{padding-left:0}}
