/* Touch layouts share the same member data and controls as desktop. */
.phone-nav{display:none}.connection-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;grid-column:1/-1}.connection-mode-options label{display:flex!important;align-items:center;gap:12px!important;min-height:52px;padding:12px 14px!important;border:1px solid #a18ba8;border-radius:12px;background:#23192b;color:#faf3e9!important;cursor:pointer}.connection-mode-options input{width:20px!important;height:20px;min-height:20px!important;accent-color:#ddbc8c;flex:0 0 20px}.connection-mode-options label:has(:checked){border-color:#e2c395;background:#3a2944;box-shadow:inset 0 0 0 1px #e2c395}.connection-mode-options label:focus-within{outline:3px solid #e2c395;outline-offset:3px}.connection-fields>.connection-mode-label{grid-column:1/-1;margin:0}.gallery-thumb-strip{overscroll-behavior-x:contain}
@media(max-width:850px){
 html{scroll-padding-top:24px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{padding-bottom:calc(82px + env(safe-area-inset-bottom));min-width:0}body>*{min-width:0}.wrap{padding-inline:20px!important;width:100%!important;max-width:1240px}.section{padding-block:38px}h1{font-size:clamp(42px,10vw,62px)!important;line-height:1.08;letter-spacing:-.04em!important;overflow-wrap:anywhere}h2{font-size:clamp(32px,8vw,46px)!important;line-height:1.14;letter-spacing:-.035em}h3{overflow-wrap:anywhere}p{overflow-wrap:anywhere}.note{font-size:13px;line-height:1.6}.btn,.link,.textlink,summary{min-height:44px}.link,.textlink{display:inline-flex;align-items:center;justify-content:center}.actions{gap:12px;margin-block:22px}.actions>*{max-width:100%}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;max-width:100%;min-width:0}textarea{resize:vertical}input,select,textarea,button,a{-webkit-tap-highlight-color:#e2c39535}input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px}fieldset{min-inline-size:0}label{min-width:0}img,video,audio,canvas{max-width:100%}
 header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;min-height:76px;padding:14px 0;align-items:center}header .brand{font-size:30px;letter-spacing:-1.3px}header nav{display:flex;gap:0;margin:0;min-width:0}header nav #join{display:none}header nav #signin{font-size:13px;min-height:44px;padding:8px 2px}header nav>a{display:none!important}header .menu-toggle{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #bda3c155;border-radius:999px;font-size:13px;gap:6px;white-space:nowrap}.preview-banner{font-size:11px;padding:8px 16px;line-height:1.5;letter-spacing:0}.preview-banner span{display:inline;margin-left:4px}.mobile-menu:not([hidden]){grid-template-columns:1fr 1fr;gap:4px 12px;padding:12px;margin:0 0 16px;border:1px solid #6e5576}.mobile-menu a,.mobile-menu button{display:flex;align-items:center;min-height:48px;padding:10px 12px;border-radius:10px;font-size:14px}.mobile-menu a.kb-selected{padding:10px 12px!important;box-shadow:none}.mobile-menu .mobile-menu-account{grid-column:1/-1;background:#e2c395;color:#211827;border:0;justify-content:center;font-weight:650}
 .phone-nav{position:fixed;inset:auto 0 0;z-index:28;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:8px max(8px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));border-top:1px solid #8c749b;background:#1c1425;color:#f7eee6;box-shadow:0 -8px 24px #0002}.phone-nav a{display:flex;min-width:0;min-height:51px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:12px;font-size:11px;line-height:1.2;font-weight:600}.phone-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.phone-nav a[aria-current=page]{background:#e2c395;color:#25172b}.phone-nav a:focus-visible{outline:3px solid #fff;outline-offset:-2px}.keyboard-open .phone-nav{display:none}.keyboard-open #notification-bell{display:none!important}#notification-bell{bottom:calc(88px + env(safe-area-inset-bottom))!important;right:14px!important;min-height:46px;padding:10px 17px}#notification-panel{right:12px;bottom:calc(147px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-height:min(68dvh,600px);padding:18px}#notification-panel button{min-height:44px}#notification-toast{top:12px;right:12px;left:12px;max-width:none;max-height:45dvh;overflow:auto}
 .hero{padding:32px 0 38px;gap:28px;grid-template-columns:minmax(0,1fr)}.hero h1{margin-block:18px 22px}.hero p{font-size:16px;line-height:1.75}.hero .actions .btn{width:100%}.hero .actions .textlink{margin-inline:auto}.hero .editorial{width:min(100%,390px);padding-bottom:32px}.editorial-photo{aspect-ratio:1.15}.editorial-caption{position:relative;left:auto;bottom:auto;margin:-38px 14px 0;padding:16px;gap:12px;z-index:1}.editorial-caption p{font:19px/1.3 Georgia,serif}.principles-grid{grid-template-columns:1fr 1fr;gap:24px 20px}.principles{padding:24px 0}.principles h3{font-size:21px}.principles p{font-size:12px}.steps,.safety-grid{grid-template-columns:1fr;gap:18px}.step{padding:24px}.step h3{margin-top:14px}.report-grid,.profile{gap:28px;grid-template-columns:minmax(0,1fr)}.report-card,.quiz{padding:24px}.plan{padding:25px}.planhead{flex-wrap:wrap}.price{font-size:56px}.faith-chips{gap:8px}.faith-chips span{padding:8px 13px}.foot{gap:20px}.footlinks{gap:12px 18px}.closing{padding:44px 0}
 .member-shortcuts,body.bio-page .member-shortcuts{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.member-shortcuts a{padding:14px;grid-template-columns:24px minmax(0,1fr);column-gap:9px;border-radius:15px;min-height:94px}.member-shortcuts strong{font-size:13px;line-height:1.35}.member-shortcuts small{font-size:11px;line-height:1.45}.member-shortcuts span{font-size:25px}.member-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;overflow:visible!important;gap:7px;margin:20px 0;padding:7px}.member-tabs button{min-width:0;padding:12px 8px!important;min-height:46px;font-size:13px;white-space:normal!important;line-height:1.3}.community-grid{grid-template-columns:minmax(0,1fr);gap:20px}.community-card img{height:290px}.community-toolbar{gap:14px;flex-wrap:wrap}.member-notice{padding:18px;margin-block:18px}.member-notice strong{font-size:15px}.member-notice .qconsent{align-items:flex-start}.bio-page-intro{margin-bottom:20px}.bio-page-intro p,body.bio-page .bio-page-intro p{font-size:16px}body.bio-page .bio-page-intro h1{font-size:44px!important}body.bio-page #members{padding-top:26px}body.bio-page #members>.wrap{padding-inline:16px!important}body.bio-page .profile-dashboard,body.profile-settings .profile-dashboard{display:flex!important;flex-direction:column!important;gap:22px!important;padding-top:12px}body.bio-page .profile-editor-pane{padding:18px!important;border-radius:18px}body.bio-page .profile-editor-pane .details-form,body.bio-page .color-lab-grid,.details-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}.details-form>*{min-width:0;max-width:100%}.details-form fieldset{margin-inline:0;padding:16px}.details-form label{gap:8px;line-height:1.5}.details-form textarea[name=bio]{min-height:220px;font-size:16px;line-height:1.7}.profile-personalize{padding:16px;border-radius:18px}.color-lab{padding:12px}.color-targets{display:block}.shade-name output{font-size:20px;line-height:1.5}.color-sample{padding:20px}.color-swatches{gap:14px;flex-wrap:wrap}.color-custom{flex-wrap:wrap}.color-custom input{min-width:0}.color-swatch{width:44px;height:44px}.wheel-wrap{width:min(100%,250px)!important}.connection-fields{display:grid;grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}.connection-mode-options{gap:8px}.connection-mode-options label{font-size:14px!important;padding:10px!important;min-height:50px}.connection-mode-options input{min-height:20px!important}
 body.bio-page aside.profile-preview,body.profile-settings aside.profile-preview{position:static!important;top:auto!important;padding:20px!important;max-height:none!important;overflow:visible!important;border-radius:18px}body.bio-page aside.profile-preview #profile-preview-image,body.profile-settings aside.profile-preview #profile-preview-image{height:auto!important;min-height:160px!important;max-height:none!important;aspect-ratio:auto!important;margin-top:12px!important;padding:0}body.bio-page aside.profile-preview #profile-preview-image img,body.profile-settings aside.profile-preview #profile-preview-image img{width:auto!important;height:auto!important;max-width:100%!important;max-height:420px!important;object-fit:contain!important}.profile-preview h3{font-size:30px}.bio-thumbnails{gap:8px;padding:12px 2px;overscroll-behavior-x:contain}.bio-thumbnails button{flex-basis:64px;width:64px;height:70px;border-radius:10px}.bio-thumbnails img{border-radius:7px}.photo-viewer-controls{gap:8px}.photo-viewer-controls button{padding:10px 7px;min-height:44px}.photo-viewer-controls #bio-picture-position{font-size:12px;text-align:center}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-tile{min-width:0;content-visibility:auto;contain-intrinsic-size:auto 220px}.photo-tile button{font-size:12px;line-height:1.4;white-space:normal;min-height:44px}.bio-picture-grid{overscroll-behavior-x:contain}#bio-gallery-manage{gap:12px}#bio-gallery-manage figure{flex-basis:145px;margin-inline:0}.song-studio{padding:18px!important}.song-studio h3{font-size:28px}.song-studio label{display:flex;gap:10px;align-items:flex-start}.song-studio input[type=file],#bio-gallery-files,#photo-files{display:block;width:100%;max-width:100%;font-size:14px!important;white-space:normal;overflow:hidden;min-height:48px}.song-studio input[type=file]::file-selector-button,#bio-gallery-files::file-selector-button,#photo-files::file-selector-button{font:inherit;border:1px solid #bda3c1;border-radius:10px;background:#33243d;color:#fff3e6;padding:12px;margin:0 10px 8px 0;min-height:46px}.song-studio .btn,#bio-gallery-upload{width:100%}.song-inline-player,#profile-preview-song{padding:16px;grid-template-columns:minmax(0,1fr)}.song-inline-player audio,#profile-preview-song audio{width:100%;min-width:0}.song-inline-player .song-play,#profile-preview-song .song-play{width:100%}
 .chat-layout{grid-template-columns:minmax(0,1fr);min-height:0}.chat-inbox,.chat-conversation{padding:16px}.chat-inbox>div{max-width:100%;overscroll-behavior-x:contain}.thread-button{min-width:145px;max-width:220px;min-height:64px}.chat-request-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.chat-request-row input{width:100%}.chat-request-row .btn{width:100%}.chat-buttons{gap:8px 14px}.chat-buttons button{min-height:44px}.chat-bubble{max-width:94%;overflow-wrap:anywhere}#chat-messages{max-height:none!important;height:auto!important;min-height:120px;overflow:visible!important}#chat-compose{min-height:96px;max-height:240px;font-size:16px!important}#chat-send-form{scroll-margin-bottom:100px}#chat-send-form .chat-buttons{justify-content:space-between}.assistant-layout,.assistant-matches{grid-template-columns:minmax(0,1fr)}.assistant-hero{padding:20px}.assistant-match-card{min-height:0;padding:20px}.assistant-score{white-space:normal;line-height:1.6}.assistant-provider-panel{padding:18px}.match-preferences{grid-template-columns:minmax(0,1fr);padding:16px}.match-preferences label{font-size:14px}.assistant-draft{min-height:56px}
 .connection-hub .wrap{padding-inline:20px!important}.connection-cards{grid-template-columns:minmax(0,1fr);gap:14px;margin-block:22px 34px}.connection-card{padding:22px;border-radius:18px}.connection-card .actions{gap:12px}.connection-card .btn{width:100%}.connection-card p{font-size:15px}.connection-hub h1,.connection-hub h2{font-size:clamp(38px,10vw,52px)!important;line-height:1.1}.connection-mode-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.connection-mode-links a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px;font-size:14px}.connection-activities-heading{align-items:stretch;flex-direction:column;gap:12px}.connection-activities-heading .btn{width:100%}.connection-form{grid-template-columns:minmax(0,1fr);padding:18px;gap:18px}.connection-form .actions{display:grid;grid-template-columns:1fr;width:100%;margin:0}.connection-trust{padding:22px}.connection-trust .actions{align-items:stretch;flex-direction:column}.connection-directory-filter,.circle-feed-label{width:100%;max-width:none}.connection-badges{gap:7px}.connection-badges span{font-size:12px;white-space:normal}.profile-reply-actions{display:grid;grid-template-columns:1fr;gap:10px}.profile-reply-actions button{min-height:48px;width:100%;font-size:14px;line-height:1.4}.profile-gallery-dialog{padding:14px}.profile-gallery-dialog img{max-height:calc(100dvh - 220px)}.profile-gallery-dialog .actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.profile-gallery-dialog .actions button{padding:10px 4px;min-height:44px}.profile-gallery-dialog .actions button:last-child{grid-column:1/-1}.profile-gallery-dialog>.btn{width:100%;margin-top:10px}
 dialog{width:calc(100% - 24px);max-width:500px;padding:22px;max-height:calc(var(--kb-viewport-height,100dvh) - 24px);border-radius:20px;overscroll-behavior-y:contain;scrollbar-gutter:stable}dialog .close{width:44px;height:44px}dialog h2{font-size:30px!important;letter-spacing:-.02em;clear:none}dialog input,dialog select,dialog textarea{font-size:16px!important}dialog .authform{gap:18px}dialog .authlinks{gap:12px 22px}.connection-dialog .actions{flex-direction:column;align-items:stretch}.connection-dialog .btn{width:100%}.authform .adult{line-height:1.6}.authform input[type=checkbox]{flex:0 0 20px}.connection-dialog textarea{min-height:140px}.keyboard-open{padding-bottom:20px}.keyboard-open dialog{max-height:calc(var(--kb-viewport-height,100dvh) - 16px)}
}
@media(max-width:360px){.wrap{padding-inline:16px!important}header{gap:8px}header .brand{font-size:27px}header .menu-toggle{padding:8px 10px}header nav #signin{font-size:12px}.connection-hub .wrap{padding-inline:16px!important}.profile-editor-pane,body.bio-page .profile-editor-pane{padding:14px!important}.member-shortcuts a{padding:12px;grid-template-columns:minmax(0,1fr)}.member-shortcuts span{display:none}.member-tabs button{font-size:12px}.connection-mode-options{grid-template-columns:minmax(0,1fr)}.phone-nav a{font-size:10px}.photo-grid{gap:8px}.connection-card{padding:18px}.connection-form{padding:16px}}
@media(prefers-reduced-motion:reduce){.phone-nav *,.bio-thumbnails{scroll-behavior:auto!important}}
/* Alerts share the phone navigation, so no floating button covers a field. */
.phone-alert-slot[hidden]{display:none!important}#notification-bell>svg{display:none}
@media(max-width:850px){.phone-nav.has-alerts{grid-template-columns:repeat(6,minmax(0,1fr))}.phone-alert-slot{min-width:0;display:flex}.phone-nav #notification-bell{position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;min-height:51px;padding:4px!important;gap:4px;background:transparent!important;color:#f7eee6!important;border:0!important;border-radius:12px;box-shadow:none!important;font:600 11px/1.2 system-ui}.phone-nav #notification-bell[hidden]{display:none!important}.phone-nav #notification-bell>svg{display:block;width:22px;height:22px}.phone-nav #notification-bell[aria-expanded=true]{background:#e2c395!important;color:#25172b!important}.phone-nav #notification-count{position:absolute;top:1px;right:5px;min-width:16px;padding:2px 4px;border-radius:20px;background:#e2c395;color:#25172b;font-size:10px;line-height:1}.phone-nav #notification-count:empty{display:none}.phone-nav #notification-bell:focus-visible{outline:3px solid #fff;outline-offset:-2px}#notification-panel{bottom:calc(86px + env(safe-area-inset-bottom))}.keyboard-open #notification-bell{display:none!important}}
@media(max-width:430px){.connection-mode-options{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.phone-nav #notification-bell{font-size:10px}}
body.bio-page nav.phone-nav a,body.profile-page nav.phone-nav a{color:#f7eee6!important;background:transparent!important}body.bio-page nav.phone-nav a[aria-current=page],body.profile-page nav.phone-nav a[aria-current=page]{color:#25172b!important;background:#e2c395!important}#mobile-menu a{color:#faf3e9!important}#mobile-menu a.kb-selected{color:#25172b!important;background:#e2c395!important}body.bio-page #mobile-menu,body.profile-page #mobile-menu{background:#211827!important;color:#faf3e9!important}body.bio-page .connection-mode-options span{color:#faf3e9!important}.phone-save-row{display:none}
@media(max-width:850px){.phone-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:8px;z-index:7;background:#251b2f;color:#faf3e9;border:1px solid #8b7294;border-radius:12px;padding:10px 12px;margin:0 0 20px;box-shadow:0 4px 18px #0002}.phone-save-row span,body.bio-page .phone-save-row span{color:#faf3e9!important;font-size:12px;line-height:1.4}.phone-save-row .btn{padding:10px 20px;min-height:44px;flex-shrink:0}.phone-nav.has-alerts a{font-size:11px;letter-spacing:-.1px}#profile-preview-image{touch-action:pan-y pinch-zoom}}

@media(max-width:360px){.phone-nav.has-alerts a{font-size:10px}}
body.bio-page .connection-directory-filter,body.profile-page .connection-directory-filter{display:none!important}
@media(max-width:850px){body.bio-page .member-shortcuts{display:none!important}dialog::backdrop{backdrop-filter:none}}
/* Keep focused fields clear of the fixed navigation and profile Save bar. */
@media(max-width:850px){
 input,select,textarea,[contenteditable=true]{scroll-margin-top:100px;scroll-margin-bottom:calc(110px + env(safe-area-inset-bottom))}
 .intro-studio{padding:16px}.intro-studio-grid article{padding:16px}.intro-studio input[type=file]{max-width:100%;min-width:0;overflow:hidden;min-height:48px;white-space:nowrap;font-size:14px!important}.intro-studio input[type=file]::file-selector-button{font:inherit;min-height:44px;max-width:100%;padding:10px 12px;margin-right:8px;border:1px solid #a18ba8;border-radius:10px;background:#33243d;color:#faf3e9}.intro-studio .btn{width:100%;min-height:48px;white-space:normal;line-height:1.4}.intro-studio .intro-check{min-height:44px;gap:12px;line-height:1.6}.intro-studio video,.profile-intro-playback video{height:auto;max-height:60dvh}.intro-studio audio,.profile-intro-playback audio{display:block;min-width:0;width:100%}
 .keyboard-open .phone-save-row{position:static}.keyboard-open .phone-nav{display:none!important}.keyboard-open #notification-panel{bottom:12px;max-height:calc(var(--kb-viewport-height,100dvh) - 24px)}
 .messages-page.keyboard-open>div.preview-banner,.messages-page.keyboard-open .bio-page-intro,.messages-page.keyboard-open #kb-account-status{display:none!important}.messages-page.keyboard-open .chat-layout{height:auto;min-height:0;margin-block:0}.messages-page.keyboard-open #chat-messages{flex:none;height:clamp(80px,calc(var(--kb-viewport-height,100dvh) * .22),160px)!important;min-height:80px}.messages-page.keyboard-open #chat-header{padding-block:6px!important}.messages-page.keyboard-open #chat-actions{gap:8px 14px}.messages-page.keyboard-open #chat-send-form{position:relative;padding-bottom:10px!important}.messages-page.keyboard-open #chat-compose{resize:none}
}
@media(hover:none){.btn:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.btn{transition:none!important}}

#apple-signin-form>a.provider-apple{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:14px 18px;border:1px solid #a18ba8;border-radius:10px;background:#000;color:#fff!important;font:600 16px/1.4 system-ui;text-align:center;text-decoration:none}#apple-browser-help{font-size:13px;line-height:1.6;margin:12px 0 0;white-space:normal}

/* Keep the history scrollable so it cannot push the reply composer out of the clipped panel. */
@media(max-width:850px){
 body.messages-page #chat-messages{overflow-y:auto!important;overflow-x:hidden!important;min-height:80px!important;flex:1 1 0!important;overscroll-behavior-y:contain}
 body.messages-page .chat-conversation{min-height:0!important;overflow:hidden}
 body.messages-page #chat-send-form:not([hidden]){display:block;flex:0 0 auto;position:relative;bottom:auto}
 body.messages-page #chat-header,body.messages-page #chat-actions,body.messages-page #chat-reply,body.messages-page .draft-notice{flex-shrink:0}
 body.messages-page #chat-send-form{scroll-margin-bottom:calc(110px + env(safe-area-inset-bottom))}
}
.chat-unavailable{padding:12px 16px;color:#f5eee6;background:#30243d;border-top:1px solid #75657e}

/* One history scroller: the conversation shell must not compete for touch gestures. */
@media(max-width:850px){
 body.messages-page .chat-layout{height:clamp(460px,calc(100svh - 155px),850px)!important;min-height:0!important}
 body.messages-page .chat-conversation{overflow:hidden!important;min-height:0!important}
 body.messages-page #chat-messages{touch-action:pan-y pinch-zoom;overscroll-behavior-y:auto;scroll-behavior:auto!important;overflow-anchor:none;-webkit-overflow-scrolling:touch}
 body.messages-page.keyboard-open .chat-layout{height:clamp(300px,calc(var(--kb-viewport-height,100dvh) - 20px),650px)!important}
 body.messages-page.keyboard-open #chat-messages{height:auto!important;flex:1 1 0!important;min-height:60px!important}
 body.messages-page .chat-layout,body.messages-page .chat-bubble{box-shadow:none!important}
 body.messages-page .draft-notice>summary{padding:2px 0!important;min-height:24px;font:12px/1.5 system-ui}
 body.messages-page #chat-send-form{padding:10px 12px!important}
 body.messages-page #chat-header p{margin-bottom:0}
}
