
:root.authBooting #authView{visibility:hidden}
.rememberLogin{display:flex!important;align-items:flex-start;gap:10px;margin:14px 0;color:var(--text)!important;cursor:pointer}
.rememberLogin input{width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important;accent-color:#b851cf;flex:0 0 auto}
.rememberLogin span{display:flex;flex-direction:column;gap:3px}.rememberLogin b{font-size:13px}.rememberLogin small{color:var(--muted);font-size:10px;line-height:1.35}
:root{
  --bg:#0C0811;--card:#17101D;--card2:#21152B;--line:#402D4C;
  --text:#FFF8FF;--muted:#B9AEC4;--rose:#77459A;--blush:#C89BE0;
  --gold:#D7B36A;--green:#6BCB9B;--danger:#D96A79;
  --purple:#77459A;--purple2:#A66BC5;--plum:#2A1835;--lavender:#D2AFE5
}
*{box-sizing:border-box}
body{margin:0;background:#08050C;color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;justify-content:center}
.app{width:min(100%,460px);min-height:100vh;background:var(--bg);position:relative}
header{padding:20px 20px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.mark{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--gold);display:grid;place-items:center;color:var(--blush);font-weight:900}
.brand{color:var(--gold);font-size:10px;letter-spacing:2.5px;font-weight:900}
h1{font-size:25px;margin:2px 0 0}
main{padding:20px 20px 110px}
.hero{text-align:center;padding:25px 0 14px}
.bigmark{width:92px;height:92px;border-radius:50%;border:2px solid var(--gold);background:var(--card2);display:grid;place-items:center;color:var(--blush);font-size:42px;font-weight:900;margin:auto}
.tagline{font-size:28px;font-weight:900;line-height:1.15;margin:17px 0 8px}
.muted{color:var(--muted);font-size:13px;line-height:1.5}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0}
.live{background:#10251C;border-color:#315E48}.live b{color:var(--green)}
.warning{background:#281B12;border-color:#5B4122}.warning b{color:var(--gold)}
label{display:block;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin:13px 0 6px}
input,select,textarea{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:12px;color:var(--text);padding:12px;font:inherit}
textarea{min-height:105px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.btn{width:100%;border:0;border-radius:13px;padding:13px;font-weight:900;font-size:14px;cursor:pointer;margin-top:10px}
.primary{background:linear-gradient(135deg,var(--purple),var(--purple2));color:white;box-shadow:0 8px 22px #77459A33}
.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}
.link{background:none;border:0;color:var(--blush);font-weight:800;cursor:pointer;padding:10px 0}
.tabs{display:flex;background:var(--card);border-radius:13px;padding:4px;margin-bottom:14px}
.tab{flex:1;padding:9px;text-align:center;border-radius:10px;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer}
.tab.on{background:var(--card2);color:var(--text)}
.hidden{display:none!important}
.status{padding:12px;border-radius:12px;margin:12px 0;font-size:12px;line-height:1.5;background:var(--card2);border:1px solid var(--line)}
.ok{border-color:#315E48;color:#A9E2C2}
.err{border-color:#6D2637;color:#F0A5B1}
.pills{display:flex;flex-wrap:wrap;gap:7px}
.pill{padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--card2);color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}
.pill.on{border-color:var(--purple2);background:#321D40;color:white}
.profileTop{text-align:center;padding:12px 0}
.avatar{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--card2);border:1px solid var(--rose);color:var(--blush);font-size:22px;font-weight:900}
.username{font-size:22px;font-weight:900;margin-top:10px}
.badge{display:inline-block;padding:5px 8px;border-radius:9px;background:#10251C;color:var(--green);font-size:10px;font-weight:900;margin-top:7px}
.row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}.k{color:var(--muted);font-size:12px}.v{font-size:12px;text-align:right}
footer{position:fixed;bottom:0;width:min(100%,460px);background:#0D0B0CF5;border-top:1px solid var(--line);padding:10px 20px 15px}
.tiny{font-size:10px;color:var(--muted);line-height:1.45;text-align:center}
.navrow{display:flex;gap:8px;margin:0 0 14px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.navrow::-webkit-scrollbar{display:none}
.navbtn{flex:0 0 auto;min-width:82px;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:12px;padding:10px;font-weight:850;cursor:pointer}
.navbtn.on{background:var(--plum);border-color:var(--purple2);color:var(--text)}
.discoverCard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:15px;margin:10px 0}
.discoverName{font-size:20px;font-weight:900}
.distance{color:var(--blush);font-size:12px;font-weight:850}
.matchBadge{display:inline-block;background:#291735;color:#E7C7F5;border:1px solid #6C4782;border-radius:10px;padding:5px 8px;font-size:10px;font-weight:900;margin-top:7px}
.compatibilitySettingRow{display:flex;align-items:center;gap:14px}.compatibilitySettingCopy{flex:1;min-width:0}.compatibilitySettingCopy b{display:block;font-size:16px}.compatibilitySettingCopy .muted{margin-top:5px}.compatibilityToggle{display:flex;align-items:center;gap:8px;color:var(--blush);font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}.compatibilityToggle input{width:22px;height:22px;min-height:22px;margin:0;accent-color:var(--purple2)}
.filterRow{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.activityDot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:5px}
.locationNote{font-size:11px;color:var(--muted);line-height:1.45;margin-top:7px}
.connCard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin:9px 0}.connIdentityBtn{display:block;width:100%;margin:0;padding:2px 0 8px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.connIdentityBtn:focus-visible{outline:2px solid var(--purple2);outline-offset:4px;border-radius:8px}.connIdentityBtn .discoverName,.connIdentityBtn b{pointer-events:none}
.connActions{display:flex;gap:8px;margin-top:10px}
.connActions .btn{margin-top:0}
.chatHeader{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.chatBack{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:8px 11px;cursor:pointer}
.chatBox{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;min-height:280px;max-height:52vh;overflow:auto}
.bubbleRow{display:flex;margin:8px 0}
.bubbleRow.mine{justify-content:flex-end}
.bubble{max-width:82%;padding:10px 12px;border-radius:14px;background:var(--card2);border:1px solid var(--line)}
.bubble.mine{background:#321923;border-color:var(--rose)}
.bubbleName{font-size:10px;font-weight:900;color:var(--gold);margin-bottom:4px}
.bubbleTime{font-size:9px;color:var(--muted);margin-top:5px}
.messageComposer{display:flex;gap:8px;margin-top:9px}
.messageComposer input{flex:1}
.messageComposer button{width:auto;margin:0;white-space:nowrap}
.counterBadge{display:inline-block;min-width:20px;padding:3px 6px;border-radius:10px;background:var(--rose);color:white;font-size:9px;font-weight:900;text-align:center}
.photoGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.photoCard{background:var(--card2);border:1px solid var(--line);border-radius:15px;overflow:hidden}
.photoWrap{position:relative;aspect-ratio:1/1;background:#241C20;display:grid;place-items:center}
.photoWrap img{width:100%;height:100%;object-fit:cover;display:block}
.photoPlaceholder{color:var(--muted);font-size:12px;text-align:center;padding:12px}
.photoInfo{padding:10px}
.photoStatus{display:inline-block;padding:4px 7px;border-radius:9px;font-size:9px;font-weight:900;margin-bottom:6px}
.photoPending{background:#302313;color:#E7C37C}
.photoApproved{background:#10251C;color:#A9E2C2}
.photoRejected{background:#35131B;color:#F0A5B1}
.primaryStar{position:absolute;top:7px;left:7px;background:#0D0B0CDD;color:var(--gold);padding:5px 7px;border-radius:9px;font-size:10px;font-weight:900}
.photoActions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.photoActions button{font-size:10px;padding:8px}
.uploadBox{border:1px dashed var(--line);background:var(--card2);border-radius:15px;padding:14px;margin-top:10px}
.fileInput{padding:10px;background:var(--card);border:1px solid var(--line);border-radius:11px;color:var(--text)}
.accessRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.accessRow:last-child{border-bottom:0}
.photoThumb{width:64px;height:64px;border-radius:11px;object-fit:cover;background:var(--card2);border:1px solid var(--line)}
.discoverPhoto{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;margin-bottom:11px;background:var(--card2);display:block}
.safetyActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.safetyBtn{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:10px;padding:8px 10px;font-size:10px;font-weight:850;cursor:pointer}
.safetyBtn.report{border-color:#6A4D24;color:var(--gold)}
.safetyBtn.block{border-color:#6D2637;color:#F0A5B1}
.reportOverlay{position:fixed;inset:0;background:#000A;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:14px}
.reportSheet{width:min(100%,460px);background:var(--bg);border:1px solid var(--line);border-radius:20px 20px 14px 14px;padding:17px;max-height:88vh;overflow:auto}
.reportTitle{font-size:20px;font-weight:900}
.msgReport{background:none;border:0;color:var(--gold);font-size:9px;font-weight:800;padding:5px 0;cursor:pointer}
.blockedRow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.blockedRow:last-child{border-bottom:0}
.feedComposer textarea{min-height:85px}
.feedMediaGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}
.feedMediaGrid.one{grid-template-columns:1fr}
.feedMediaGrid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:var(--card2)}
.feedPost{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;margin:11px 0}
.feedAuthor{font-size:15px;font-weight:900}.feedMeta{color:var(--muted);font-size:10px;margin-top:2px}
.feedBody{font-size:14px;line-height:1.5;margin-top:10px;white-space:pre-wrap}
.feedActions{display:flex;gap:7px;align-items:center;margin-top:10px;flex-wrap:wrap}
.feedAction{border:1px solid var(--line);background:var(--card2);color:var(--muted);border-radius:11px;padding:8px 10px;font-size:11px;font-weight:850;cursor:pointer}
.feedAction.on{border-color:var(--rose);color:var(--blush);background:#321923}
.commentPanel{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}
.feedCommentOpen{touch-action:manipulation}
.commentItem{padding:8px 0;border-bottom:1px solid var(--line)}
.commentItem:last-child{border-bottom:0}.commentName{font-size:11px;font-weight:900;color:var(--gold)}
.commentBody{font-size:12px;line-height:1.45;margin-top:3px}.commentTools{display:flex;gap:8px;margin-top:4px}
.notificationItem{padding:10px 0;border-bottom:1px solid var(--line)}.notificationItem:last-child{border-bottom:0}
.notificationItem.unread{background:#21191d;border-radius:10px;padding:10px;margin-bottom:5px}
.notificationText{font-size:12px}.notifDot{width:7px;height:7px;border-radius:50%;background:var(--rose);display:inline-block;margin-right:6px}
.pushSettingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.pushSetting{display:flex;gap:8px;align-items:flex-start;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--card2);font-size:11px}.pushSetting input{width:auto;margin:1px 0 0}.pushControls{display:flex;flex-wrap:wrap;gap:8px}.pushStatus{font-size:11px;color:var(--muted);margin:9px 0}.pushPrivacy{font-size:10px;color:var(--muted);line-height:1.45;margin-top:10px}@media(max-width:480px){.pushSettingsGrid{grid-template-columns:1fr}}
.pushInviteOverlay{position:fixed;inset:0;z-index:2700;background:#050308E8;display:grid;place-items:center;padding:18px;backdrop-filter:blur(8px)}
.pushInviteCard{width:min(430px,100%);background:linear-gradient(145deg,#1d0c20,#100913);border:1px solid #833477;border-radius:22px;padding:22px;box-shadow:0 22px 70px #000B}
.pushInviteIcon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;margin-bottom:13px;background:linear-gradient(135deg,#8737b9,#ec4eb9);font-size:25px;box-shadow:0 0 24px #bb45a966}
.pushInviteCard h2{margin:0 0 8px}.pushInviteCard p{color:var(--muted);font-size:13px;line-height:1.55}.pushInviteActions{display:flex;gap:9px;margin-top:16px}.pushInviteActions .btn{margin:0}.pushInviteFine{font-size:10px!important;margin:11px 0 0!important}
.postVisibility{display:inline-block;padding:4px 7px;border-radius:9px;background:var(--p2);color:var(--muted);font-size:9px;font-weight:850}
.pendingMedia{border:1px dashed #6a4d24;border-radius:12px;padding:16px;text-align:center;color:var(--gold);font-size:11px}
.feedPreviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.feedPreviewItem{position:relative;min-height:124px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card2)}
.feedPreviewItem img,.feedPreviewItem video{display:block;width:100%;height:124px;object-fit:cover;background:#08050c}
.feedPreviewFallback{height:124px;display:grid;place-items:center;padding:12px;text-align:center;color:var(--muted);font-size:11px;line-height:1.35}
.feedPreviewRemove{position:absolute;top:7px;right:7px;width:32px;height:32px;border-radius:50%;border:1px solid #ffffff55;background:#09060ddd;color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:2}
.feedPreviewName{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 7px;background:linear-gradient(transparent,#000d);color:#fff;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feedPreviewSummary{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.4}
.eventCard,.groupCard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;margin:10px 0}
.eventTitle,.groupTitle{font-size:18px;font-weight:900}
.eventDate{color:var(--gold);font-size:12px;font-weight:850;margin-top:4px}
.eventStats{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.statChip{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:6px 8px;font-size:10px;font-weight:850;color:var(--muted)}
.statChipButton{font:inherit;cursor:pointer;touch-action:manipulation}.statChipButton:hover,.statChipButton:focus-visible{border-color:var(--purple2);color:var(--text)}.statChipButton:active{transform:scale(.98)}
.eventPeopleOverlay{position:fixed;inset:0;z-index:125000;background:#050308e8;backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;padding:12px}.eventPeopleOverlay.hidden{display:none!important}.eventPeopleSheet{width:min(100%,520px);max-height:min(78vh,700px);display:flex;flex-direction:column;background:linear-gradient(180deg,#211026,#0d0911);border:1px solid #87419a;border-radius:24px 24px 18px 18px;box-shadow:0 28px 90px #000c;overflow:hidden}.eventPeopleHead{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.eventPeopleHead h3{flex:1;margin:0;font-size:20px}.eventPeopleClose{width:44px;height:44px;border-radius:50%;border:1px solid #ff5968;background:#8f1823;color:#fff;font-size:26px;font-weight:900}.eventPeopleList{overflow:auto;padding:10px 14px calc(16px + env(safe-area-inset-bottom))}.eventPeopleRow{display:flex;align-items:center;gap:11px;padding:11px 4px;border-bottom:1px solid var(--line)}.eventPeopleAvatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;background:#321d40;border:1px solid #8a559b;color:#fff;font-weight:900}.eventPeopleName{font-size:15px;font-weight:900}.eventPeopleMeta{margin-top:3px;color:var(--muted);font-size:11px}@media(min-width:700px){.eventPeopleOverlay{align-items:center;padding:24px}}
.compatChip{background:#12251c;border-color:#315e48;color:#a9e2c2}
.privacyChip{background:#261c11;border-color:#5b4221;color:#e7c37c}
.eventActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.eventActions .btn{width:auto;margin:0}
.discussionPanel{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.discussionItem{padding:8px 0;border-bottom:1px solid var(--line)}
.discussionItem:last-child{border-bottom:0}
.groupPrivacy{display:inline-block;border:1px solid var(--line);border-radius:9px;padding:4px 7px;font-size:9px;font-weight:900;color:var(--gold)}
.groupToolbar{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.groupToolbar .btn{width:auto;margin:0}
.inviteCard{background:#17131a;border:1px solid #4a3644;border-radius:14px;padding:12px;margin:8px 0}
.verifyBadge{display:inline-block;padding:6px 9px;border-radius:10px;font-size:10px;font-weight:900;margin:3px 4px 3px 0;border:1px solid var(--line)}
.verifyYes{background:#10251c;border-color:#315e48;color:#a9e2c2}
.verifyNo{background:#241c20;color:var(--muted)}
.verifyPending{background:#302313;border-color:#654a23;color:#e7c37c}
.proFilters details{background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:11px;margin-top:10px}
.proFilters summary{font-weight:900;cursor:pointer;color:var(--gold)}
.scoreBox{min-width:70px;text-align:center;background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:9px}
.scoreNum{font-size:24px;font-weight:950;color:var(--lavender);line-height:1}.scoreLabel{font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.7px;margin-top:3px}
.reasonChips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.reasonChip{border:1px solid #624578;background:#25172F;color:#D8B9E8;border-radius:9px;padding:5px 7px;font-size:9px;font-weight:850}
.profileFacts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.factChip{background:var(--card2);border:1px solid var(--line);border-radius:9px;padding:5px 7px;font-size:9px;color:var(--muted);font-weight:800}
.filterSummary{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.45}.filterActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.filterActions .btn{margin:0}

.coupleMember{background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:12px;margin:8px 0}
.permissionRow{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}
.permissionRow:last-child{border-bottom:0}.permissionRow input{width:auto;margin-top:2px}
.dangerCard{background:#241117;border:1px solid #6d2637;border-radius:14px;padding:12px;margin-top:12px}
.tokenBox{font-family:monospace;font-size:11px;word-break:break-all;background:#0d0b0c;border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:7px}

.subnav{display:flex;gap:7px;overflow-x:auto;margin-bottom:10px}.subnav button{white-space:nowrap}






/* v1.9 beta polish */
header{position:sticky;top:0;z-index:70;background:#0D0B0CF2;backdrop-filter:blur(14px)}
button,input,select,textarea{touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--blush);outline-offset:2px
}
.btn,.navbtn,.pill,.feedAction,.safetyBtn,.chatBack,.link{min-height:42px}
.btn:disabled,.feedAction:disabled,.navbtn:disabled,.safetyBtn:disabled{opacity:.48;cursor:not-allowed}
.btn:active,.navbtn:active,.pill:active,.feedAction:active,.safetyBtn:active{transform:scale(.985)}
.offlineBanner{position:sticky;top:73px;z-index:65;background:#3A2816;border-bottom:1px solid #6A4D24;color:#F0D39A;padding:8px 14px;font-size:11px;font-weight:800;text-align:center}
.toastStack{position:fixed;z-index:1500;left:50%;bottom:92px;transform:translateX(-50%);width:min(calc(100% - 28px),430px);pointer-events:none}
.toast{pointer-events:auto;background:#21191DF5;border:1px solid var(--line);border-radius:14px;padding:11px 13px;margin-top:7px;box-shadow:0 12px 30px #0008;font-size:12px;line-height:1.4;animation:toastIn .18s ease-out}
.toast.success{border-color:#315E48;color:#B8E9CF}.toast.error{border-color:#6D2637;color:#F6B3BE}.toast.info{border-color:#654A23;color:#E9CB91}
@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.mobileDock{display:none;position:fixed;z-index:80;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,460px);background:#0D0B0CF7;border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));gap:4px;overflow-x:auto;scrollbar-width:none}
.mobileDock::-webkit-scrollbar{display:none}
.dockBtn{position:relative;flex:0 0 64px;border:0;background:transparent;color:var(--muted);border-radius:11px;padding:7px 4px 6px;font:inherit;font-size:9px;font-weight:850;cursor:pointer;min-height:49px}
.dockBtn .dockIcon{display:block;font-size:16px;line-height:17px;margin-bottom:3px}
.dockBtn.on{background:var(--plum);color:var(--text)}
.dockBtn.on .dockIcon{color:var(--lavender)}
.dockBadge{position:absolute;top:3px;right:7px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--rose);color:white;display:grid;place-items:center;font-size:8px;font-weight:950;border:2px solid var(--bg)}
.emptyState{text-align:center;padding:22px 15px}.emptyState b{display:block;font-size:16px;margin-bottom:6px}.emptyState .btn{max-width:220px;margin:12px auto 0}
.betaPill{display:inline-block;font-size:8px;font-weight:950;letter-spacing:.8px;color:var(--gold);border:1px solid #654A23;border-radius:8px;padding:3px 6px;margin-top:4px}
.setupBanner{background:#281B12;border:1px solid #5B4122;border-radius:14px;padding:12px;margin:10px 0;color:#E9CB91;font-size:12px;line-height:1.45}
@media(max-width:600px){
  .navrow{display:none}
  .mobileDock{display:flex}
  main{padding-bottom:96px}
  footer{display:none}
  .grid2,.filterRow{grid-template-columns:1fr}
  .photoGrid{grid-template-columns:1fr 1fr}
  .reportOverlay{padding:0;align-items:flex-end}
  .reportSheet{border-radius:22px 22px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
}


.masterLogo{display:block;width:100%;max-width:390px;margin:4px auto 12px;border-radius:22px;border:1px solid #493753;box-shadow:0 20px 50px #0008,0 0 36px #77459A16}
.headerLogo{width:46px;height:46px;border-radius:13px;object-fit:cover;box-shadow:0 7px 18px #0008;border:1px solid #56425E}
.profileBrandMark{width:58px;height:58px;object-fit:cover;border-radius:16px;border:1px solid #56425E;box-shadow:0 8px 20px #0007;margin:0 auto 8px}
.brand{background:linear-gradient(90deg,#E5B0A4,#E7C684,#C99DE0);-webkit-background-clip:text;background-clip:text;color:transparent}
.betaPill{border-color:#65467A!important;color:#D8B9E8!important;background:#25172F}


/* =========================================================
   CIRCLIQUE v2.1 — PREMIUM UI SYSTEM
   Inspired by the approved Circlique mobile mockups.
   ========================================================= */
:root{
  --surface:#120D17;
  --surface2:#1A1221;
  --surface3:#24182D;
  --stroke:#3D2A48;
  --stroke2:#594065;
  --champagne:#E3C18A;
  --rosemetal:#D9A19E;
  --purpleGlow:#A66BC5;
  --softPurple:#D1AFE3;
  --ink:#FFF9FF;
  --subtle:#AFA3B7;
}
body{
  background:
    radial-gradient(1000px 700px at 8% -10%,#3D214A42 0%,transparent 52%),
    radial-gradient(700px 600px at 105% 24%,#6B3D7A24 0%,transparent 50%),
    linear-gradient(180deg,#08050C 0%,#0D0812 45%,#08050C 100%) !important;
  color:var(--ink);
}
main{max-width:760px}
header{
  min-height:66px;
  background:linear-gradient(180deg,#0A0710F7,#0D0912ED) !important;
  border-bottom:1px solid #3C2C43;
  box-shadow:0 12px 38px #0005;
}
.headerLogo{width:48px!important;height:48px!important;border-radius:15px!important}
#pageTitle{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500!important;
  font-size:20px!important;
  letter-spacing:.2px;
}
.brand{font-weight:800;letter-spacing:3.4px}
.card,.feedPost,.discoverCard,.eventCard,.groupCard,.connCard{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(145deg,#1B1421F5 0%,#130E18F7 62%,#1E1326F5 100%) !important;
  border:1px solid #3C2C45 !important;
  box-shadow:
    inset 0 1px 0 #FFFFFF08,
    0 13px 32px #00000038;
}
.card::before,.feedPost::before,.discoverCard::before,.eventCard::before,.groupCard::before,.connCard::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,#D8A7D04F,#E3C18A55,transparent);
  pointer-events:none;
}
.card{border-radius:20px!important;padding:17px!important}
.feedPost,.discoverCard,.eventCard,.groupCard,.connCard{border-radius:21px!important}
.feedPost{padding:17px!important;margin:13px 0!important}
.discoverCard{padding:17px!important;margin:13px 0!important}
.eventCard,.groupCard{padding:17px!important;margin:13px 0!important}
.connCard{padding:15px!important;margin:10px 0!important}
.screenIntro{
  position:relative;
  padding:6px 5px 16px;
}
.screenIntro .eyebrow{
  color:var(--rosemetal);
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:2.2px;
  text-transform:uppercase;
  margin-bottom:7px;
}
.screenIntro h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  font-weight:500;
  letter-spacing:.1px;
  color:#FFF8FD;
}
.screenIntro p{
  margin:7px 0 0;
  color:var(--subtle);
  font-size:12px;
  line-height:1.5;
  max-width:610px;
}
.sectionKicker{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:20px 4px 8px;
}
.sectionKicker b{
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:500;
}
input,select,textarea{
  background:#100B15E8!important;
  border:1px solid #493653!important;
  color:#FFF8FD!important;
  border-radius:14px!important;
  min-height:45px;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
textarea{min-height:104px}
input:focus,select:focus,textarea:focus{
  border-color:#A66BC5!important;
  box-shadow:0 0 0 3px #A66BC51E!important;
  background:#140D1AEF!important;
}
label{color:#CFC3D5!important;letter-spacing:.7px}
.btn{
  border-radius:14px!important;
  min-height:45px!important;
  font-weight:850!important;
  letter-spacing:.1px;
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;
}
.btn.primary{
  background:linear-gradient(135deg,#71418F 0%,#A66BC5 60%,#C78AB9 100%)!important;
  border:1px solid #B57CC9!important;
  box-shadow:0 9px 22px #71418F38,inset 0 1px 0 #FFFFFF26!important;
}
.btn.secondary{
  background:linear-gradient(180deg,#21172A,#18101F)!important;
  border:1px solid #4A3654!important;
}
.btn:hover,.feedAction:hover,.navbtn:hover,.dockBtn:hover{filter:brightness(1.07)}
.pill{
  border-radius:13px!important;
  background:#17101F!important;
  border-color:#44314E!important;
  color:#BDB1C4!important;
}
.pill.on{
  background:linear-gradient(135deg,#321E42,#49285E)!important;
  border-color:#9D66B9!important;
  color:#F1DCF8!important;
  box-shadow:inset 0 1px 0 #FFFFFF10;
}
.navrow{
  padding:5px 0 11px!important;
  border-bottom:1px solid #2E2235;
  margin-bottom:16px!important;
}
.navbtn{
  background:#15101AE8!important;
  border-color:#392B40!important;
  border-radius:13px!important;
  min-width:92px!important;
  font-size:10px!important;
}
.navbtn.on{
  color:#F0DDF7!important;
  border-color:#8E5EAA!important;
  background:linear-gradient(180deg,#311D40,#24162F)!important;
}
.masterLogo{
  border-color:#46334D!important;
  box-shadow:0 24px 60px #000A,0 0 50px #8E58A31F!important;
}
.hero{
  padding-top:8px!important;
}
.profileTop{padding:12px 0 17px!important}
.profileTop .username{
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px!important;
  font-weight:500!important;
}
.avatar{
  background:linear-gradient(145deg,#6F408A,#B777A8)!important;
  border:1px solid #C69DD5!important;
  box-shadow:0 9px 24px #0005;
}
.badge,.postVisibility,.groupPrivacy{
  background:#24162D!important;
  border-color:#5C4168!important;
  color:#DCBFE9!important;
}
.verifyBadge{border-radius:999px!important;padding:7px 10px!important}
.verifyYes{background:#14251D!important;border-color:#315E48!important;color:#B8E9CF!important}
.verifyPending{background:#2A1D30!important;border-color:#704C80!important;color:#DABAE7!important}
.verifyNo{background:#20171F!important;color:#AFA4B2!important}
.feedComposer{
  background:
    linear-gradient(145deg,#1F1329,#16101D 66%,#23162C)!important;
}
.feedAuthor{
  font-size:17px!important;
  font-weight:900!important;
  color:#FFF8FD;
}
.feedMeta{color:#9F94A6!important}
.feedBody{
  font-size:14px!important;
  line-height:1.58!important;
  color:#F4ECF6!important;
}
.feedMediaGrid{
  gap:7px!important;
  margin-top:12px!important;
}
.feedMediaGrid img{
  border-radius:13px!important;
  border:1px solid #3D2D44;
  box-shadow:0 8px 20px #0005;
}
.feedActions{
  border-top:1px solid #33253B!important;
  margin-top:13px!important;
  padding-top:10px!important;
}
.feedAction{
  background:#15101BEF!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  color:#AFA5B5!important;
  padding:8px 10px!important;
}
.feedAction.on{color:#E3AFBE!important;background:#2B1827!important;border-color:#583046!important}
.commentPanel,.discussionPanel{
  background:#0F0B14B8;
  border-radius:14px;
  padding:10px!important;
  margin-top:11px!important;
  border-top:0!important;
}
.commentItem,.discussionItem{border-color:#302437!important}
.discussionPanel .messageComposer{position:static!important;bottom:auto!important;z-index:auto!important;background:transparent!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;margin-top:12px!important}
.discoverName{
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px!important;
  font-weight:500!important;
}
.scoreBox{
  background:linear-gradient(180deg,#25172F,#17101E)!important;
  border-color:#624875!important;
  box-shadow:inset 0 1px 0 #FFFFFF0B;
}
.scoreNum{
  background:linear-gradient(180deg,#EDC9D2,#D4A3E5);
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}
.reasonChip,.matchBadge,.factChip,.statChip{
  border-radius:999px!important;
}
.reasonChip{
  border-color:#604270!important;
  background:#25182F!important;
  color:#D9BCE8!important;
}
.factChip{
  background:#17101E!important;
  border-color:#3C2B45!important;
  color:#BDB1C4!important;
}
.matchBadge{
  background:#29182F!important;
  border-color:#62446E!important;
  color:#E4C4EC!important;
}
.eventTitle,.groupTitle{
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px!important;
  font-weight:500!important;
}
.eventDate{
  color:#D8A5B5!important;
  font-size:13px!important;
  letter-spacing:.5px;
}
.eventStats{margin-top:13px!important}
.statChip{background:#17101E!important;border-color:#3D2D45!important;color:#B8ADB9!important}
.compatChip{background:#21142A!important;border-color:#624377!important;color:#D6B7E4!important}
.privacyChip{background:#241B16!important;border-color:#60492C!important;color:#E4C188!important}
.groupPrivacy{font-size:9px!important;letter-spacing:.8px}
.inviteCard,.coupleMember,.dangerCard{
  background:linear-gradient(145deg,#1C1322,#130E18)!important;
  border-color:#46324F!important;
  border-radius:17px!important;
}
.connCard[onclick]{
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.connCard[onclick]:hover{
  transform:translateY(-1px);
  border-color:#624576!important;
}
.chatHeader{
  background:linear-gradient(145deg,#1B1321,#120D17);
  border:1px solid #3D2B47;
  border-radius:19px;
  padding:12px;
  box-shadow:0 10px 26px #0004;
}
.chatBox{
  background:
    radial-gradient(500px 260px at 90% 10%,#5A326020,transparent 60%),
    #0E0A13E8!important;
  border-color:#3B2A44!important;
  border-radius:21px!important;
  min-height:330px!important;
}
.bubble{
  background:linear-gradient(145deg,#1E1724,#17111D)!important;
  border-color:#3A2D42!important;
  border-radius:18px 18px 18px 6px!important;
  box-shadow:0 7px 18px #0003;
}
.bubble.mine{
  background:linear-gradient(135deg,#38203F,#4B2952)!important;
  border-color:#6C4776!important;
  border-radius:18px 18px 6px 18px!important;
}
.bubbleName{color:#D6B8E3!important}
.bubbleTime{color:#8E8394!important}
.messageComposer{
  background:#0F0A14E8;
  border:1px solid #3E2D47;
  border-radius:18px;
  padding:7px;
  margin-top:10px;
}
.messageComposer input{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-height:40px!important;
}
.safetyBtn{
  border-radius:11px!important;
  background:#151019!important;
  border-color:#3C2E42!important;
}
.reportSheet{
  background:linear-gradient(180deg,#1C1422,#0F0B14)!important;
  border-color:#5A3E66!important;
}
.proFilters details{
  background:#120C17!important;
  border-color:#3D2C46!important;
  border-radius:16px!important;
}
.proFilters summary{color:#D5B6E2!important}
.mobileDock{
  background:linear-gradient(180deg,#100B16F5,#09060DF9)!important;
  border-top:1px solid #44304D!important;
  box-shadow:0 -12px 34px #0008!important;
  padding-top:8px!important;
}
.dockBtn{
  flex-basis:67px!important;
  color:#8F8694!important;
  border-radius:14px!important;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.dockBtn.on{
  color:#E6D5EB!important;
  background:linear-gradient(180deg,#2A1A35,#201529)!important;
}
.dockBtn.on .dockIcon{color:#D8A7C5!important}
.dockBadge{
  background:linear-gradient(135deg,#A56791,#C9828D)!important;
}
.offlineBanner{background:#261B2C!important;border-color:#583D65!important;color:#DABBE5!important}
.toast{
  background:linear-gradient(145deg,#22172A,#120D17F5)!important;
  border-color:#51395E!important;
}
.emptyState{padding:27px 16px!important}
.emptyState b{
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px!important;
  font-weight:500!important;
}
.counterBadge{
  background:#5D356B!important;
  border-color:#8B5C9F!important;
}
.locationNote{
  border-left:2px solid #624477;
  padding-left:9px;
}
footer{color:#766E79!important}
@media(max-width:600px){
  main{padding-left:12px!important;padding-right:12px!important}
  header{padding-left:13px!important;padding-right:13px!important}
  .screenIntro h2{font-size:29px}
  .card,.feedPost,.discoverCard,.eventCard,.groupCard,.connCard{border-radius:19px!important}
  .card{padding:15px!important}
  .feedPost,.discoverCard,.eventCard,.groupCard{padding:15px!important}
  .mobileDock{border-radius:19px 19px 0 0}
}


.messageListCard{
  padding:15px 16px!important;
  border-radius:0!important;
  margin:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.messageListCard::before{display:none!important}
.messageListCard:hover{background:#21152A88!important;transform:none!important}
#conversationList{
  overflow:hidden;
  border:1px solid #3C2B45;
  border-radius:21px;
  background:linear-gradient(145deg,#19111F,#100B15);
  box-shadow:0 13px 32px #0004;
}
#conversationList .messageListCard:last-child{border-bottom:0!important}


/* =========================================================
   CIRCLIQUE v2.2 — SIMPLIFIED UX
   Five primary destinations + progressive disclosure.
   ========================================================= */
.contextLinks{display:flex;gap:8px;flex-wrap:wrap;margin:-5px 4px 15px}
.contextBtn{
  border:1px solid #493653;background:#17101E;color:#D4C7D8;border-radius:13px;
  min-height:42px;padding:9px 13px;font:inherit;font-size:11px;font-weight:850;cursor:pointer
}
.contextBtn strong{color:#E0C18B}
.contextBtn:hover{border-color:#815A93;background:#21152B}
.compactBio{
  margin-top:10px;color:#EDE4EF;font-size:13px;line-height:1.48;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden
}
.profileMore,.eventMore{
  margin-top:11px;background:#100B15B8;border:1px solid #37283F;border-radius:14px;padding:0 11px
}
.profileMore summary,.eventMore summary{
  cursor:pointer;list-style:none;padding:11px 2px;color:#D7BDE2;font-size:11px;font-weight:900
}
.profileMore summary::-webkit-details-marker,.eventMore summary::-webkit-details-marker{display:none}
.profileMore summary::after,.eventMore summary::after{content:"+";float:right;color:#D7B36A;font-size:16px;line-height:12px}
.profileMore[open] summary::after,.eventMore[open] summary::after{content:"–"}
.moreBody{padding:0 2px 12px}
.primaryFacts{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.primaryFacts .factChip{font-size:10px}
.discoverCard .reasonChips{margin-top:9px}
.discoverCard .reasonChip:nth-child(n+4){display:none}
.discoverCard .matchBadge{margin-top:9px}
.discoverActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.discoverActions .btn{margin:0}
.compactEventTop{display:flex;gap:12px;align-items:flex-start}
.eventDateTile{
  flex:0 0 74px;border:1px solid #553B60;background:linear-gradient(180deg,#2A1934,#17101E);
  border-radius:16px;padding:10px 7px;text-align:center
}
.eventDateTile .month{font-size:9px;font-weight:900;letter-spacing:1.5px;color:#D6A9BD}
.eventDateTile .day{font-family:Georgia,"Times New Roman",serif;font-size:28px;color:#F1D0D3;line-height:1.05;margin:4px 0}
.eventDateTile .time{font-size:9px;color:#AFA3B7;line-height:1.35}
.eventMain{min-width:0;flex:1}
.eventCompactMeta{font-size:11px;color:#AFA3B7;margin-top:5px;line-height:1.45}
.eventCompactMeta b{color:#D7B36A}
.eventPrimaryActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.eventPrimaryActions .btn{width:auto;margin:0;min-width:105px}
.eventCard .eventStats{margin-top:11px!important}
.eventSecondaryActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.eventSecondaryActions .btn{width:auto;margin:0}
.profileQuickLinks{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 15px}
.profileQuickLinks button{
  border:1px solid #3E2D47;background:#15101B;color:#B9AEC4;border-radius:13px;
  padding:10px 6px;font:inherit;font-size:9px;font-weight:850;cursor:pointer;min-height:48px
}
.profileQuickLinks button:hover{background:#21152B;border-color:#765087;color:#E4D2EA}
.profileCategory{margin:23px 4px 9px}
.profileCategory .eyebrow{font-size:8px;font-weight:950;letter-spacing:1.8px;color:#BE87A8}
.profileCategory h3{
  font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:500;margin:4px 0 3px
}
.profileCategory p{font-size:11px;color:#9F95A6;margin:0;line-height:1.4}
.sessionLine{font-size:10px;color:#9D91A3;margin:-5px 4px 12px}
#chatPane{position:relative}
body.chatOpen{overflow:hidden}
@media(max-width:600px){
  body.chatOpen header,body.chatOpen #offlineBanner,body.chatOpen #mobileDock{display:none!important}
  body.chatOpen .app{max-width:none;width:100%;min-height:100dvh}
  body.chatOpen main{padding:0!important;min-height:100dvh}
  body.chatOpen #messagesView{display:block!important;min-height:100dvh}
  body.chatOpen #chatPane{
    /* The conversation owns the mobile viewport; only its message list scrolls. */
    display:flex!important;flex-direction:column;position:fixed!important;
    inset:0!important;width:100%!important;height:100dvh!important;
    min-height:0!important;max-height:100dvh!important;
    box-sizing:border-box!important;overflow:hidden!important;
    padding:10px;background:#0A0710;z-index:300!important
  }
  body.chatOpen .chatHeader{position:sticky;top:0;z-index:5;margin:0 0 8px}
  body.chatOpen .chatBox{flex:1;min-height:0;max-height:none;height:auto;margin:0}
  body.chatOpen .messageComposer{position:sticky;bottom:0;z-index:5}
  body.chatOpen .tiny{padding:0 5px 8px}
  .profileQuickLinks{grid-template-columns:repeat(2,1fr)}
  .compactEventTop{gap:10px}
  .eventDateTile{flex-basis:67px}
  .eventPrimaryActions .btn{flex:1;min-width:0}
}


/* =========================================================
   CIRCLIQUE v2.3 — LEGAL ACCEPTANCE
   Versioned signup agreements + existing-member reacceptance.
   ========================================================= */
.legalAcceptanceCard{
  background:linear-gradient(145deg,#1D1424,#110C16)!important;
  border:1px solid #533C5E!important;
  border-radius:18px;padding:14px;margin-top:14px
}
.legalAcceptanceCard h3{
  font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:500;margin:0 0 5px
}
.legalAcceptanceCard>p{font-size:11px;color:#AFA3B7;line-height:1.5;margin:0 0 10px}
.legalCheck{
  display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #302438;
  text-transform:none!important;letter-spacing:0!important;color:#EDE5EF!important;font-size:12px!important;line-height:1.45
}
.legalCheck:last-of-type{border-bottom:0}
.legalCheck input{width:auto!important;min-height:0!important;margin:3px 0 0;accent-color:#A66BC5;flex:0 0 auto}
.legalCheck span{display:block;flex:1}
.legalLink{
  border:0;background:transparent;color:#D9B7E7;font:inherit;font-weight:850;padding:0;
  min-height:0!important;text-decoration:underline;text-decoration-color:#755084;text-underline-offset:2px;cursor:pointer
}
.legalLink:hover{color:#F2D9F8}
.legalFinePrint{font-size:10px!important;color:#8F8494!important;line-height:1.45;margin-top:10px!important}
.legalOverlay{
  position:fixed;inset:0;z-index:2200;background:#050308E8;display:grid;place-items:center;padding:16px;
  backdrop-filter:blur(8px)
}
.legalSheet{
  width:min(100%,720px);max-height:min(88dvh,820px);overflow:auto;
  background:linear-gradient(180deg,#1A1220,#0D0912);
  border:1px solid #5B4166;border-radius:23px;padding:18px;
  box-shadow:0 28px 80px #000C
}
.legalSheet h2{font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:500;margin:4px 0 5px}
.legalVersion{font-size:10px;color:#D4B5E0;letter-spacing:.6px;margin-bottom:13px}
.legalBody{white-space:pre-wrap;font-size:12px;line-height:1.65;color:#E8E0EA}
.legalActions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;position:sticky;bottom:-18px;background:#0D0912;padding:12px 0 2px}
.legalGateSheet{width:min(100%,680px)}
.legalGateTitle{font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:500;margin:4px 0 7px}
.legalGateIntro{font-size:12px;color:#B4A8BA;line-height:1.55;margin-bottom:10px}
.legalStatusCard{
  background:#15101B;border:1px solid #3E2D47;border-radius:15px;padding:12px;margin-top:10px;font-size:11px;color:#AFA3B7
}
.legalAcceptedMark{color:#B8E9CF;font-weight:900}
#createAccountBtn:disabled,#acceptExistingLegalBtn:disabled{opacity:.42;filter:grayscale(.25);cursor:not-allowed;box-shadow:none!important}
@media(max-width:600px){
  .legalOverlay{padding:0;align-items:flex-end}
  .legalSheet{width:100%;max-height:92dvh;border-radius:23px 23px 0 0;padding:17px 15px calc(17px + env(safe-area-inset-bottom))}
  .legalActions{bottom:calc(-17px - env(safe-area-inset-bottom))}
}


/* =========================================================
   CIRCLIQUE v2.4 — PREMIUM MESSAGING
   Free = 3 outgoing private messages/day. Premium = unlimited.
   ========================================================= */
.messagePlanCard{
  background:linear-gradient(145deg,#201529,#120D18)!important;
  border:1px solid #5A3B69!important;position:relative;overflow:hidden
}
.messagePlanCard:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-70px;top:-80px;background:#A66BC522;pointer-events:none}
.planPill{display:inline-flex;align-items:center;gap:6px;border:1px solid #704B80;background:#261832;color:#DFC5E9;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:950;letter-spacing:.7px}
.planPill.premium{border-color:#8D6C3E;background:#2A2015;color:#E5C890}
.messageMeter{height:7px;background:#2B2031;border-radius:999px;overflow:hidden;margin:10px 0 7px}
.messageMeterFill{height:100%;background:linear-gradient(90deg,#8C4EB1,#C071D8);border-radius:999px;transition:width .2s ease}
.messageMeterFill.premium{background:linear-gradient(90deg,#C8A45F,#E4C98E)}
.quotaText{font-size:11px;color:#B7A9BE;line-height:1.45}
.quotaStrong{color:#F0D8F5;font-weight:900}
.premiumPrice{font-family:Georgia,"Times New Roman",serif;font-size:25px;color:#F0D1D5}
.premiumPrice small{font-family:inherit;font-size:11px;color:#A99BAE}
.chatQuotaBar{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;background:#15101B;border:1px solid #3C2B46;border-radius:13px;padding:8px 10px;margin:7px 0}
.chatQuotaBar .left{font-size:10px;color:#B4A8BA}.chatQuotaBar .left b{color:#E8D7EC}
.chatQuotaBar button{min-height:34px;border:1px solid #684879;background:#25172F;color:#E0C6E9;border-radius:10px;padding:6px 10px;font:inherit;font-size:9px;font-weight:900;cursor:pointer}
.chatQuotaBar.premium{border-color:#6B5531;background:#1B1710}.chatQuotaBar.premium .left b{color:#E5C890}
.premiumOverlay{position:fixed;inset:0;z-index:2300;background:#050308E8;display:grid;place-items:center;padding:16px;backdrop-filter:blur(8px)}
.premiumSheet{width:min(100%,560px);max-height:88dvh;overflow:auto;background:linear-gradient(180deg,#211529,#0D0912);border:1px solid #684879;border-radius:24px;padding:20px;box-shadow:0 30px 85px #000D}
.premiumHero{text-align:center;padding:8px 8px 13px}.premiumHero .mark{width:56px;height:56px;border-radius:18px;margin:0 auto 11px;display:grid;place-items:center;background:linear-gradient(145deg,#5C2B78,#A75ECD);font-size:25px;box-shadow:0 10px 28px #7C3B9D45}
.premiumHero h2{font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:500;margin:0 0 5px}.premiumHero p{font-size:12px;color:#B1A5B7;line-height:1.5;margin:0}
.premiumFeatures{display:grid;gap:8px;margin:14px 0}.premiumFeature{display:flex;gap:10px;align-items:flex-start;background:#15101B;border:1px solid #382840;border-radius:14px;padding:11px}
.premiumFeature .check{color:#D8B8E5;font-weight:950}.premiumFeature b{display:block;font-size:12px}.premiumFeature span{display:block;font-size:10px;color:#9F93A5;margin-top:2px;line-height:1.4}
.premiumBetaNote{font-size:10px;color:#9C90A2;text-align:center;line-height:1.45;margin-top:9px}
#messageSendBtn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none!important}
@media(max-width:600px){.premiumOverlay{padding:0;align-items:flex-end}.premiumSheet{width:100%;max-height:92dvh;border-radius:24px 24px 0 0;padding:18px 15px calc(18px + env(safe-area-inset-bottom))}}


/* =========================================================
   CIRCLIQUE v2.5 — PREMIUM MEDIA & PRIVACY
   Premium expands media access; private access always requires owner consent.
   ========================================================= */
.mediaEntitlement{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mediaEntitlement .factChip{font-size:9px}
.albumBuilder{margin-top:16px;padding-top:15px;border-top:1px solid #35273D}
.albumGrid{display:grid;gap:10px;margin-top:12px}
.albumCard{border:1px solid #3E2D47;background:#15101B;border-radius:16px;padding:12px;position:relative;overflow:hidden}
.albumCard.private{border-color:#5E416B;background:linear-gradient(145deg,#1B1222,#110C16)}
.albumTitle{font-family:Georgia,"Times New Roman",serif;font-size:17px;color:#F0D4DA}
.albumMeta{font-size:10px;color:#A99EAF;margin-top:4px;line-height:1.45}
.albumActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.albumActions .btn{width:auto;margin:0}
.albumLockedVisual{height:92px;border-radius:13px;margin-top:10px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#7D4E8C55,#2A1935 35%,#100B15 78%);filter:saturate(.75);position:relative;overflow:hidden}
.albumLockedVisual:before,.albumLockedVisual:after{content:"";position:absolute;border-radius:50%;background:#C18BD333;filter:blur(13px)}
.albumLockedVisual:before{width:90px;height:90px;left:9%;top:8%}.albumLockedVisual:after{width:110px;height:110px;right:7%;bottom:-28px}
.albumLockIcon{position:relative;z-index:2;font-size:25px;background:#120D18CC;border:1px solid #765087;border-radius:15px;padding:10px 13px}
.albumConsentNote{font-size:10px;color:#C6ABC9;background:#1B1320;border:1px solid #493653;border-radius:12px;padding:9px 10px;margin-top:9px;line-height:1.5}
.albumConsentNote b{color:#E6C9EB}
.mediaBrowseBtn{width:100%;margin:10px 0 0!important}
.discoverMediaPanel{margin-top:10px;border:1px solid #3F2D48;background:#100B15;border-radius:16px;padding:11px}
.mediaStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
.mediaTile{aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#0B0810;border:1px solid #35263D;position:relative}
.mediaTile img,.mediaTile video{width:100%;height:100%;object-fit:cover;display:block;background:#08060A}
.mediaKindBadge{position:absolute;right:5px;bottom:5px;background:#0A0710D9;border:1px solid #5B4166;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900}
.mediaLockCard{margin-top:9px;padding:11px;border:1px solid #60436B;border-radius:14px;background:linear-gradient(145deg,#21162A,#130D19)}
.mediaLockCard b{color:#E4C7E9}.mediaLockCard .muted{margin-top:3px}
.albumMediaGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.albumManagerPanel{margin-top:9px;padding:10px;border:1px solid #33263B;border-radius:13px;background:#100B15}
.requestRow{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #2F2336}.requestRow:last-child{border-bottom:0}
.requestRow .btn{width:auto;margin:0}
.consentAbsolute{border:1px solid #745180;background:linear-gradient(145deg,#24172D,#140E1A);border-radius:15px;padding:12px;margin-top:12px}
.consentAbsolute .headline{font-family:Georgia,"Times New Roman",serif;font-size:18px;color:#F0D2D8}.consentAbsolute p{font-size:11px;color:#B8ACBE;line-height:1.5;margin:5px 0 0}
@media(max-width:600px){.mediaStrip,.albumMediaGrid{grid-template-columns:repeat(2,1fr)}}


/* Circlique v2.7.0.1 — Profile editing hotfix */
.editProfileTopBtn{width:auto!important;margin:0!important;white-space:nowrap;min-width:118px}
.profileEditOverlay{position:fixed;inset:0;z-index:2400;background:#050308E8;display:grid;place-items:center;padding:16px;backdrop-filter:blur(8px)}
.profileEditSheet{width:min(100%,590px);max-height:90dvh;overflow:auto;background:linear-gradient(180deg,#211529,#0D0912);border:1px solid #684879;border-radius:24px;padding:20px;box-shadow:0 30px 85px #000D}
.profileEditSheet h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:500;margin:8px 0 4px}
.profileEditSheet .editIntro{font-size:11px;color:#AA9EAF;line-height:1.5;margin-bottom:12px}
.profileEditSheet textarea{min-height:120px}
.editProfileFooter{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:14px}
.editProfileFooter .btn{margin:0}
.editProfileHint{font-size:9px;color:#998D9F;line-height:1.45;margin-top:5px}
@media(max-width:600px){
  .screenIntro .row{align-items:center!important}
  .editProfileTopBtn{min-width:auto;padding:10px 12px!important;font-size:10px!important}
  .profileEditOverlay{padding:0;align-items:flex-end}
  .profileEditSheet{width:100%;max-height:93dvh;border-radius:24px 24px 0 0;padding:18px 15px calc(18px + env(safe-area-inset-bottom))}
}


/* v2.5.3 — photo replies in News Feed comments */
.commentComposer{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin-top:10px}
.commentComposer textarea.commentTextInput{min-width:0;width:100%;height:46px;min-height:46px;max-height:144px;resize:none;overflow-y:hidden;line-height:1.35;padding:12px;font:inherit}
.commentPhotoPick{position:relative;overflow:hidden;white-space:nowrap}
.commentPhotoPick input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.commentPhotoName{grid-column:1/-1;font-size:9px;color:#A99EAE;min-height:12px}
.commentMedia{margin-top:8px}
.commentMedia img{display:block;max-width:min(100%,320px);max-height:340px;object-fit:cover;border-radius:14px;border:1px solid #4B3655}
.commentMediaPending,.commentMediaRejected{margin-top:8px;padding:10px 12px;border:1px dashed #6A5475;border-radius:12px;font-size:10px;color:#C8B9D1}
.commentMediaRejected{border-color:#6D2637;color:#F0A5B1}
@media(max-width:600px){
  .commentComposer{grid-template-columns:minmax(0,1fr) 46px auto!important;gap:6px!important;align-items:center!important}
  .commentComposer .commentSend{grid-column:auto!important;width:auto!important;min-width:76px!important;padding:11px 12px!important}
  .commentComposer .commentPhotoPick{width:46px!important;min-width:46px!important;padding:11px 0!important;text-align:center!important;font-size:0!important}
  .commentComposer .commentPhotoPick::before{content:"📷";font-size:19px}
  .commentComposer textarea.commentTextInput{height:46px;min-height:46px;max-height:144px;padding:11px 12px!important}
  .commentComposer .commentPhotoName{grid-column:1/-1!important;min-height:0!important}
  .commentComposer .commentPhotoName:empty{display:none!important}
}


/* v2.5.6 — comment hearts */
.commentReactionRow{display:flex;align-items:center;gap:8px;margin-top:8px}
.commentHeart{display:inline-flex;align-items:center;gap:5px;border:1px solid #5B3A64;background:#1A101F;color:#CBB8D1;border-radius:999px;padding:6px 10px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.commentHeart.liked{border-color:#A05D86;background:#3A1730;color:#F2B5D1}
.commentHeart:active{transform:scale(.97)}
.commentHeartCount{min-width:8px;text-align:center}


/* v2.5.7 — multi-reaction UI for posts and comments */
.reactionWrap{position:relative;display:inline-flex;align-items:center}
.reactionTrigger{min-width:68px;justify-content:center}
.reactionMenu{position:absolute;left:0;top:calc(100% + 8px);display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);border-radius:16px;background:rgba(18,8,26,.98);box-shadow:0 14px 30px rgba(0,0,0,.35);z-index:40;max-width:min(92vw,320px)}
.reactionBtn,.reactionRemove{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #5B3A64;background:#211028;color:#F6EAF4;border-radius:999px;font:inherit;font-size:18px;cursor:pointer}
.reactionBtn:hover,.reactionRemove:hover{transform:translateY(-1px)}
.reactionBtn.active{border-color:#C89BE0;background:#3A1B49;box-shadow:0 0 0 1px rgba(200,155,224,.15) inset}
.reactionRemove{font-size:12px;font-weight:800;color:#F0A5B1;background:#2A101C}
.commentReactionRow{position:relative;flex-wrap:wrap}
.commentReactionRow .reactionMenu{top:calc(100% + 6px)}


@media(max-width:430px){
  .discoverActions{grid-template-columns:1fr 1fr}
  .discoverActions .discoverMessageBtn{grid-column:1/-1}
}


/* v2.5.9 — profile + News Feed video */
.feedMediaGrid video{
  width:100%;
  max-height:540px;
  aspect-ratio:16/9;
  object-fit:contain;
  border-radius:12px;
  background:#07040A;
  display:block;
}
.feedMediaGrid.one video{width:100%}


/* v2.6.0 — News Feed profile avatars */
.feedIdentity{display:flex;align-items:center;gap:10px;min-width:0}
.feedAvatar,.commentAvatar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:50%;
  border:1px solid #6B4B76;
  background:linear-gradient(145deg,#32183D,#17101D);
  color:#E8CEE9;
  font-weight:900;
  box-shadow:0 5px 14px rgba(0,0,0,.24);
}
.feedAvatar{width:44px;height:44px;font-size:15px}
.commentAvatar{width:32px;height:32px;font-size:11px}
.feedAvatar img,.commentAvatar img{width:100%;height:100%;object-fit:cover;display:block}
.commentHeader{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.commentHeaderText{min-width:0}


/* v2.6.1 — primary photo in main Profile avatar */
.profileAvatarWrap{
  position:relative;
  width:max-content;
  margin:0 auto;
  cursor:pointer;
}
.profileAvatarWrap .avatar{
  overflow:hidden;
  position:relative;
}
.profileAvatarWrap .avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:50%;
}
.profileAvatarEdit{
  position:absolute;
  right:-3px;
  bottom:1px;
  width:27px;
  height:27px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#24162D;
  border:1px solid #9D72B2;
  color:#F0DDF7;
  font-size:12px;
  box-shadow:0 5px 14px #0008;
  pointer-events:none;
}
.profileAvatarWrap:active{transform:scale(.985)}


