*{box-sizing:border-box}html{background:#08080d}body{margin:0;color:#f7f7fb;background:radial-gradient(circle at 10% 0%,#24152b 0,#0b0b12 34%,#07070b 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{height:68px;background:#0b0b12dd;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100% - 1080px)/2));position:sticky;top:0;z-index:10}.brand{border:0;background:none;color:#fff;font-weight:950;font-size:21px;letter-spacing:-.7px}.brand span{display:inline-grid;place-items:center;width:30px;height:30px;border:2px solid #ff4f9a;border-radius:50%;margin-right:7px;color:#ff4f9a}.nav{display:flex;gap:3px;align-items:center;overflow:auto}.nav button{border:0;background:transparent;color:#b9bac5;padding:9px 11px;border-radius:12px;white-space:nowrap}.nav button:hover{background:#ffffff0d;color:#fff}.nav .ghost{color:#ff8aae}.hidden{display:none!important}main{width:min(100% - 28px,1080px);margin:30px auto 80px}.card{background:linear-gradient(180deg,#15151eF2,#101018F2);border:1px solid #ffffff12;border-radius:22px;box-shadow:0 18px 60px #0005}.authShell{min-height:calc(100vh - 130px);display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:44px}.authVisual{position:relative;padding:35px 10px}.authKicker,.eyebrow{font-size:11px;font-weight:950;letter-spacing:1.8px;color:#ff75ac}.authVisual h1{font-size:clamp(45px,6vw,78px);line-height:.98;letter-spacing:-4px;max-width:760px;margin:18px 0}.authVisual h1 em{font-style:normal;background:linear-gradient(90deg,#ff5da8,#ff9f6e);-webkit-background-clip:text;color:transparent}.authVisual p{max-width:600px;color:#b0b1bd;font-size:18px;line-height:1.6}.authStats{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.authStats span,.pill{border:1px solid #ffffff16;background:#ffffff08;border-radius:999px;padding:8px 12px;color:#d5d5df;font-size:12px;font-weight:800}.orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.35;pointer-events:none}.orb1{width:180px;height:180px;background:#ff3e91;right:15%;top:-60px}.orb2{width:110px;height:110px;background:#8b5cff;left:55%;bottom:-40px}.auth{padding:26px}.authTabs{display:flex;background:#0b0b11;border:1px solid #ffffff0d;border-radius:14px;padding:4px;margin-bottom:22px}.authTabs button{flex:1;border:0;background:none;color:#9899a6;border-radius:10px;padding:11px;font-weight:850}.authTabs .active{background:#fff;color:#0b0b12}.legal{font-size:11px;color:#777985;line-height:1.5;margin-top:18px}.heroRow{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:20px}.heroRow h2{font-size:34px;letter-spacing:-1.4px;margin:5px 0}.muted{color:#9294a3}.tiny{display:block;font-size:11px;margin-top:3px}label{display:block;font-weight:750;font-size:13px;margin:15px 0;color:#dddde5}input,textarea,select{width:100%;border:1px solid #ffffff14;border-radius:13px;padding:13px 14px;margin-top:7px;background:#0b0b12;color:#fff;outline:none}input:focus,textarea:focus,select:focus{border-color:#ff5ca5;box-shadow:0 0 0 3px #ff5ca51a}textarea{min-height:130px;resize:vertical}.check{display:flex;gap:9px;align-items:center;font-weight:600}.check input{width:auto;margin:0;accent-color:#ff5ca5}.primary{border:0;border-radius:13px;background:linear-gradient(135deg,#ff4d9a,#ff765e);color:#fff;padding:13px 17px;font-weight:900;box-shadow:0 8px 25px #ff4d9a2b}.primary:hover{transform:translateY(-1px)}.primary.small,.outline.small{width:auto;padding:10px 14px}.outline{border:1px solid #ffffff17;background:#ffffff07;color:#eee;border-radius:12px;padding:10px 13px;font-weight:800}.full{width:100%;margin-top:8px}.toolbar{padding:13px 15px;display:grid;grid-template-columns:1fr 230px auto;gap:14px;align-items:center;margin-bottom:16px}.toolbar select{margin:0}.switch{display:flex;align-items:center;gap:9px;margin:0;white-space:nowrap}.switch input{position:absolute;opacity:0}.switch span{width:42px;height:24px;border-radius:99px;background:#30303b;position:relative}.switch span:after{content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:#ff4d9a}.switch input:checked+span:after{left:21px}.chips{display:flex;gap:8px;overflow:auto;padding:2px 0 17px}.chip{white-space:nowrap;border:1px solid #ffffff12;background:#ffffff06;color:#c9cad4;border-radius:999px;padding:9px 13px}.chip.active{background:#fff;color:#0b0b12;border-color:#fff}.feed{display:grid;gap:13px}.post{padding:19px}.postTop{display:flex;justify-content:space-between;gap:12px;align-items:start}.person{display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ff4d9a,#8057ff);font-weight:950}.postText{font-size:16px;line-height:1.58;white-space:pre-wrap;color:#f0f0f5;margin:17px 0}.meta{display:flex;flex-wrap:wrap;gap:11px;color:#8d8f9d;font-size:12px;margin:12px 0 15px}.actions{display:flex;gap:7px}.actions .outline{flex:1}.cat{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;background:#ffffff0d}.cat-relationship{background:#ff4d9a20;color:#ff86ba}.cat-dating{background:#ffc8571c;color:#ffd778}.cat-casual{background:#ff5b5b1c;color:#ff8b8b}.cat-travel{background:#5b9dff1c;color:#8fbcff}.cat-nightout{background:#9a72ff1c;color:#bda2ff}.cat-friendship{background:#58d68d1c;color:#83e6a9}.cat-talk{background:#4fd6ff1c;color:#83e4ff}.form,.setup{padding:22px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.catChoice{margin:0;border:1px solid #ffffff12;border-radius:15px;padding:13px;background:#ffffff05;cursor:pointer}.catChoice input{position:absolute;opacity:0}.catChoice:has(input:checked){border-color:#ff5ca5;box-shadow:0 0 0 2px #ff5ca520}.catChoice span{font-size:21px}.catChoice b{display:block;margin-top:5px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.msg{font-size:13px;color:#ff8fae;min-height:18px}.error{padding:16px;color:#ff8fae}.empty,.loading{padding:35px;text-align:center;color:#8f91a0}.match{padding:18px;display:flex;justify-content:space-between;gap:15px;align-items:center}.match h3{margin:8px 0 4px}.match p{margin:4px 0}.match .primary{width:auto}.sectionTitle{font-weight:950;color:#dfe0e7;margin:8px 2px 0}.success{background:#3be58a18;color:#70f0a8}.setup{max-width:650px;margin:8vh auto}.setup h2{font-size:34px;margin:7px 0}.modal{position:fixed;inset:0;background:#000b;backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;z-index:20}.modalBox{position:relative;background:#15151e;border:1px solid #ffffff18;border-radius:22px;padding:25px;width:min(100%,560px);max-height:85vh;overflow:auto}.close{position:absolute;right:12px;top:8px;border:0;background:none;color:#fff;font-size:30px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);background:#fff;color:#101018;padding:11px 16px;border-radius:13px;font-weight:800;opacity:0;pointer-events:none;transition:.2s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}.chatBox{height:310px;overflow:auto;border:1px solid #ffffff10;border-radius:14px;padding:12px;background:#0b0b12}.chatBox div{max-width:80%;padding:9px 11px;border-radius:13px;margin:7px 0;background:#24242e}.chatBox .mine{margin-left:auto;background:#ff4d9a;color:#fff}.chatBox small{display:block;opacity:.6;margin-top:4px}.chatForm{display:flex;gap:8px;margin-top:10px}.chatForm input{margin:0}.chatForm button{width:auto}@media(max-width:800px){.authShell{grid-template-columns:1fr;gap:10px}.authVisual{padding:15px 3px}.authVisual h1{font-size:47px;letter-spacing:-2.5px}.authVisual p{font-size:15px}.auth{padding:20px}.toolbar{grid-template-columns:1fr 1fr}.toolbar .switch{grid-column:1/-1}.category-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){main{width:min(100% - 18px,1080px);margin-top:18px}.topbar{height:60px;padding:0 9px}.brand{font-size:18px}.nav{max-width:73%}.nav button{padding:8px 7px;font-size:11px}.heroRow{align-items:center}.heroRow h2{font-size:25px}.post{padding:15px}.postTop{flex-direction:column}.actions{flex-wrap:wrap}.actions .outline{min-width:calc(50% - 4px)}.actions .outline:last-child{width:100%}.two{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.toolbar .switch{grid-column:auto}.category-grid{grid-template-columns:1fr 1fr}.setup{margin:4vh auto}.authShell{min-height:auto}.authVisual{padding-top:20px}.authVisual h1{font-size:42px}.authStats span{font-size:11px}}
/* --- v3: avatars, block/report, bottom nav, mobile-first --- */
.avatar{overflow:hidden}
img.avatar{object-fit:cover;display:block}
.avatarPicker{display:flex;align-items:center;gap:14px;margin:16px 0 20px}
.avatarPreview{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#ff4d9a,#8057ff);display:grid;place-items:center;font-weight:950;font-size:24px;overflow:hidden;flex-shrink:0;color:#fff}
.avatarPreview img{width:100%;height:100%;object-fit:cover}
.avatarBtn{border:1px solid #ffffff17;background:#ffffff07;color:#eee;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer;display:inline-block}
.avatarBtn:hover{background:#ffffff10}
.avatarBtn:active{transform:scale(.97)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.linklike{border:0;background:none;color:#ff8fae;font-weight:800;padding:10px 6px;cursor:pointer}
.linklike.danger{color:#ff5b5b}
.modalMeta{display:flex;gap:18px;justify-content:center;margin-top:16px}
.modalPerson{display:flex;gap:12px;align-items:center;margin-bottom:6px}
.modalPerson h2{margin:0 0 2px}
.reportForm textarea{min-height:90px}

.match{align-items:flex-start;gap:12px}
.matchInfo{flex:1;min-width:0}
.matchActions{display:flex;gap:14px;align-items:center;margin-top:10px;flex-wrap:wrap}

#loadOlderBtn{margin-bottom:10px}

.logoutMobile{display:none}
.nav button.active,.bottomNav button.active{color:#fff;background:#ffffff0d}

.bottomNav{display:none;position:fixed;left:0;right:0;bottom:0;background:#0b0b12ee;backdrop-filter:blur(18px);border-top:1px solid #ffffff14;padding:6px max(10px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));z-index:15;justify-content:space-around}
.bottomNav button{background:none;border:0;color:#9899a6;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:800;padding:7px 10px;border-radius:12px;min-width:58px}
.bottomNav button span{font-size:19px}
.bottomNav button:active{background:#ffffff0d}

@media(max-width:760px){
  .nav{display:none!important}
  #bottomNav{display:flex}
  main{padding-bottom:88px}
  .modal{padding:0;align-items:flex-end}
  .modalBox{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}
  .close{font-size:32px;padding:8px 12px;top:0;right:4px}
  .chatBox{height:calc(100vh - 250px)}
  .logoutMobile{display:inline-block;margin-top:14px}
  .primary,.outline,.chip,input,textarea,select{min-height:46px}
  textarea{min-height:110px}
  .chip{display:inline-flex;align-items:center}
  .avatarPicker{margin:12px 0 18px}
  .toolbar{padding:14px}
  .authVisual .authStats{margin-bottom:6px}
}
@media(max-width:600px){
  .avatar,img.avatar{width:38px;height:38px}
}
