@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/font-8.ttf) format('truetype');
}
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--bg:#141b18;--panel:#1e2722;--line:#2e3831;--muted:#9aa59c;--text:#f1f2e9;--green:#a6ebae;--dark:#182c1b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:5px}button:disabled{opacity:.5;cursor:wait}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:245px 1fr;min-height:100dvh}.sidebar{padding:40px 26px 25px;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-family:Manrope,sans-serif;font-size:32px;font-weight:800;letter-spacing:-1.4px}.brand-mark{font-size:45px;position:relative;line-height:1;color:var(--green);margin-right:13px}.brand-mark span{font-size:22px;position:absolute;top:-8px;right:-12px}.brand-dot{color:var(--green)}.side-caption{font-size:9px;letter-spacing:1.25px;color:var(--muted);margin:17px 0 54px;white-space:nowrap}.side-nav{display:grid;gap:10px}.nav-item{background:none;border:0;display:flex;align-items:center;gap:14px;padding:15px 17px;border-radius:12px;text-align:left;color:var(--muted);font-size:15px}.nav-item.active{background:#26372a;color:var(--green)}.nav-item:hover{color:var(--text);background:#263029}.nav-item .count{font-size:12px;border:1px solid #4c5d4d;border-radius:6px;margin-left:auto;min-width:22px;text-align:center;padding:1px 4px}.side-bottom{margin-top:auto}.private-note{display:flex;gap:12px;align-items:center;font-size:13px;padding:20px 10px;color:#c6cec3}.private-note small,.account-label small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.lock-icon{font-size:29px;color:var(--green)}.account-button{display:flex;width:100%;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#1b241e;padding:13px 10px;text-align:left}.account-avatar,.avatar-placeholder{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#3d5140;color:var(--green);font-weight:700;overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-label{flex:1;font-size:13px}main{padding:0 50px;min-width:0}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:600;color:var(--muted)}.top-status{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green)}.mobile-brand,.mobile-account,.mobile-nav{display:none}.heading{display:flex;align-items:center;justify-content:space-between;margin:42px 0 26px;gap:20px}h1{font-family:Manrope,sans-serif;font-size:40px;line-height:1.25;letter-spacing:-1.6px;font-weight:650;margin:0 0 10px}.heading p{margin:0;color:var(--muted);font-size:14px}.spark{color:var(--green);display:inline-block;font-size:39px;margin-left:9px;font-weight:400;vertical-align:middle}.round-action{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:transparent;border-radius:30px;padding:11px 16px;font-size:13px;white-space:nowrap}.round-action:hover{border-color:var(--green)}.profile-banner{position:relative;display:flex;align-items:center;gap:18px;border:1px solid #384b36;background:linear-gradient(110deg,#2a3d2b,#223024 80%);padding:22px 25px;border-radius:15px;margin-bottom:32px;overflow:hidden}.banner-icon{width:53px;height:53px;border:1px dashed #8caf83;border-radius:50%;display:grid;place-items:center;color:var(--green);flex-shrink:0}.banner-icon svg{width:27px;height:27px}.banner-copy{flex:1}.banner-copy strong{font-family:Manrope,sans-serif;font-size:16px;font-weight:650}.banner-copy p{color:#acbba7;font-size:13px;margin:6px 0 0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#18321d;border:0;border-radius:9px;padding:13px 19px;font-weight:650;font-size:14px}.primary:hover{background:#bff5c4}.primary svg{width:17px;height:17px}.browse-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);flex:1}.tab{border:0;background:none;color:var(--muted);padding:0 0 16px;font-size:14px;position:relative}.tab.selected{color:var(--text)}.tab.selected:after{content:'';height:3px;position:absolute;left:0;right:0;bottom:-1px;background:var(--green);border-radius:4px}.search{display:flex;align-items:center;gap:9px;max-width:220px;color:var(--muted);padding-bottom:14px}.search input{width:100%;border:0;background:transparent;color:var(--text);outline:none;font-size:13px}.search:focus-within{color:var(--green)}.search svg{width:18px;height:18px}.list-meta{display:flex;justify-content:space-between;color:#839083;font-size:11px;letter-spacing:.4px;padding:17px 0 2px}.people-list{display:grid}.person{display:grid;grid-template-columns:142px minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);animation:appear .3s ease}.portrait-button{position:relative;border:0;padding:0;background:#28342b;border-radius:13px;overflow:hidden;width:142px;height:150px}.portrait-button img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.portrait-button:hover img{transform:scale(1.06)}.new-badge{position:absolute;left:8px;top:8px;background:#e6edcf;color:#2c3826;font-size:9px;font-weight:700;letter-spacing:.8px;border-radius:4px;padding:5px 7px}.photo-dot{position:absolute;right:9px;bottom:9px;background:var(--green);width:11px;height:11px;border:2px solid #18261b;border-radius:50%}.person-heading{display:flex;align-items:center;gap:10px;margin-bottom:6px}.person-name{padding:0;border:0;background:none;font-family:Manrope,sans-serif;font-size:21px;font-weight:700;letter-spacing:-.5px;text-align:left}.age{color:#aeb8a8;font-size:16px;font-weight:400;margin-left:5px}.verified{color:var(--green);width:15px;height:15px}.location{font-size:12px;color:var(--muted);display:flex;gap:5px;align-items:center}.location svg{width:13px;height:13px}.bio{font-size:13px;line-height:1.6;color:#b4bcb2;max-width:440px;margin:13px 0}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{background:#222d25;border:1px solid #2f3c30;border-radius:5px;color:#b7c5b3;font-size:10px;padding:4px 8px}.person-actions{height:145px;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.icon-button{width:38px;height:38px;border:1px solid var(--line);background:transparent;border-radius:50%;display:grid;place-items:center;color:var(--muted)}.icon-button:hover{border-color:var(--green);color:var(--green)}.heart.liked{color:var(--green);background:#293c2d;border-color:#43664b}.heart.liked svg{fill:var(--green)}.say-hi{display:flex;gap:8px;align-items:center;border:0;background:none;color:var(--green);font-size:12px;padding:10px 0}.say-hi svg{width:16px;height:16px}.load-zone{padding:30px;text-align:center;color:var(--muted);font-size:12px}.load-zone button{margin-top:12px}.page-footer{display:flex;justify-content:space-between;color:#778575;font-size:10px;padding:22px 0 30px;gap:10px}.empty{padding:60px 20px;text-align:center;border:1px dashed var(--line);border-radius:15px;margin-top:25px;color:var(--muted)}.empty h2{color:var(--text);font-weight:500}.empty .primary{margin-top:15px}dialog{max-width:520px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;border:1px solid #3d4b3d;border-radius:20px;padding:30px;background:var(--panel);color:var(--text);box-shadow:0 30px 100px #0008}dialog::backdrop{background:#080e0bbd;backdrop-filter:blur(7px)}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}.modal-top h2{margin:0;font:600 24px Manrope,sans-serif;letter-spacing:-.5px}.form-grid{display:grid;grid-template-columns:1fr 100px;gap:18px}label.field{display:flex;flex-direction:column;gap:9px;font-size:13px;color:#bfc7bb;margin-bottom:20px}.field input,.field textarea,.field select{width:100%;border:1px solid #425040;border-radius:8px;padding:12px;color:var(--text);background:#17201a;outline:none}.field input:focus,.field textarea:focus{border-color:var(--green)}.field textarea{resize:vertical;min-height:100px}.help{font-size:12px;color:var(--muted);line-height:1.7}.wide{width:100%}.upload-row{display:flex;align-items:center;gap:20px;margin-bottom:26px}.upload-avatar{height:76px;width:76px;border-radius:50%;object-fit:cover;background:#354c38;display:grid;place-items:center;font-size:25px;color:var(--green)}.file-label{font-size:13px;cursor:pointer;color:var(--green);display:inline-block;border:1px solid #4c654d;padding:9px 12px;border-radius:7px}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.profile-card{max-width:620px;padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:18px}.profile-card h2{font-family:Manrope,sans-serif}.secondary{background:transparent;border:1px solid #455343;padding:12px 18px;border-radius:8px;font-size:13px}.button-row{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.chat-list{display:grid;gap:10px}.conversation{display:flex;align-items:center;gap:17px;padding:19px;background:var(--panel);border:1px solid var(--line);border-radius:12px;text-align:left}.conversation img{width:55px;height:55px;border-radius:50%;object-fit:cover}.conversation .preview{color:var(--muted);display:block;font-size:13px;margin-top:6px;max-width:50vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-dialog{padding:0;height:710px;max-height:92dvh;display:flex;flex-direction:column}.chat-dialog:not([open]){display:none}.chat-header{padding:20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.chat-header img{width:43px;height:43px;border-radius:50%;object-fit:cover}.chat-header h2{font-size:17px;margin:0 0 3px}.chat-header small{font-size:11px;color:var(--green)}.chat-header .icon-button{margin-left:auto}.chat-notice{padding:12px 20px;font-size:11px;line-height:1.6;background:#27362a;color:#b7c7b4}.chat-notice button{color:var(--green);padding:0;border:0;background:transparent;text-decoration:underline;font-size:inherit}.messages{flex:1;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:12px;min-height:100px}.message{max-width:85%;padding:12px 15px;border-radius:14px 14px 14px 3px;background:#303d32;font-size:14px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap;align-self:flex-start}.message.user{align-self:flex-end;background:#a6ebae;color:#18321d;border-radius:14px 14px 3px 14px}.message small{display:block;font-size:9px;margin-top:5px;opacity:.65}.chat-form{display:flex;padding:15px 20px;gap:10px;border-top:1px solid var(--line)}.chat-form input{width:100%;background:#152019;border:1px solid var(--line);border-radius:10px;padding:13px;color:var(--text);outline:none;min-width:0}.chat-form input:focus{border-color:var(--green)}.chat-form .primary{padding:12px}.suggestions{display:flex;gap:7px;padding:0 20px 15px;flex-wrap:wrap}.suggestions button{background:none;border:1px solid #3c503e;border-radius:20px;padding:7px 10px;color:#c8d3c2;font-size:11px}.detail-photo{height:270px;width:100%;object-fit:cover;border-radius:12px;margin-bottom:20px}.detail-bio{color:var(--muted);line-height:1.8}.ai-panel{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.ai-panel h3{font-size:17px;font-weight:500}.ai-status{margin:15px 0;font-size:13px;line-height:1.7;color:var(--green);overflow-wrap:anywhere}progress{width:100%;accent-color:var(--green)}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#dcebd7;color:#1d3320;padding:13px 22px;border-radius:12px;max-width:90vw;font-size:13px;opacity:0;pointer-events:none;z-index:10;transition:.25s}#toast.show{transform:translate(-50%,0);opacity:1}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1400px){main{padding:0 75px}.person{grid-template-columns:165px minmax(0,1fr) auto}.portrait-button{width:165px;height:170px}.person-actions{height:160px}.bio{font-size:14px}.tag{font-size:11px}}
@media(max-width:1050px){.shell{grid-template-columns:210px 1fr}.sidebar{padding:35px 20px}.brand{font-size:29px}.side-caption{font-size:7px}main{padding:0 28px}.top-status{display:none}.person{gap:18px;grid-template-columns:115px minmax(0,1fr) auto}.portrait-button{width:115px;height:140px}.person-actions{height:135px}.profile-banner{padding:18px;gap:14px}.banner-copy p{font-size:12px}.banner-icon{display:none}.heading h1{font-size:34px}.search{max-width:145px}.tabs{gap:18px}.person-name{font-size:19px}}
@media(max-width:700px){.shell{display:block}.sidebar{display:none}main{padding:0 22px 82px}.topbar{height:78px;border:0}.eyebrow,.top-status{display:none}.mobile-brand{display:block;font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1.3px}.mobile-brand span{color:var(--green)}.mobile-account{display:grid;background:#2e4131;color:var(--green);border:1px solid #455f47}.heading{margin:19px 0 24px;gap:8px}.heading h1{font-size:32px;letter-spacing:-1.2px}.spark{font-size:30px;margin-left:6px}.heading p{font-size:12px;line-height:1.6}.round-action{font-size:0;padding:10px}.round-action svg{width:18px;height:18px}.profile-banner{padding:18px;margin-bottom:28px;gap:10px;border-radius:13px;align-items:center}.banner-copy strong{font-size:14px}.banner-copy p{font-size:11px;max-width:210px;line-height:1.6}.profile-banner .primary{font-size:0;padding:11px}.profile-banner .primary svg{width:20px;height:20px}.browse-tools{gap:12px;flex-wrap:wrap}.tabs{gap:24px}.tab{font-size:13px}.search{width:100%;max-width:none;border:1px solid var(--line);padding:11px 12px;border-radius:8px;order:2;margin:8px 0 0}.search input{font-size:14px}.list-meta{font-size:10px;padding-top:20px}.person{grid-template-columns:102px minmax(0,1fr) 30px;gap:14px;padding:21px 0}.portrait-button{width:102px;height:126px;border-radius:10px}.person-name{font-size:18px}.age{font-size:14px;margin-left:3px}.person-heading{gap:6px}.verified{width:13px;height:13px}.location{font-size:11px}.bio{font-size:12px;line-height:1.5;margin:9px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tags{gap:4px}.tag{font-size:9px;padding:3px 5px}.tags .tag:nth-child(3){display:none}.person-actions{height:122px}.heart{height:31px;width:31px}.heart svg{width:17px;height:17px}.say-hi{font-size:0;padding:8px 4px}.say-hi svg{width:20px;height:20px}.new-badge{font-size:8px;left:6px;top:6px;padding:4px 5px}.page-footer{font-size:9px;flex-direction:column;text-align:center;padding-top:0;gap:7px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:9px 12px max(9px,env(safe-area-inset-bottom));justify-content:space-around;background:#19221cec;backdrop-filter:blur(15px);border-top:1px solid #334032;z-index:3}.mobile-nav .nav-item{display:flex;flex-direction:column;gap:5px;font-size:10px;padding:5px 16px;background:none;border-radius:0;position:relative}.mobile-nav .nav-item.active{color:var(--green)}.mobile-nav .count{position:absolute;right:5px;top:0;background:#a6ebae;color:#1b301f;font-size:9px;min-width:15px;border:0;border-radius:20px}.mobile-nav svg{width:21px;height:21px}dialog{padding:23px;max-height:90dvh}.chat-dialog{padding:0;width:100%;height:100dvh;max-height:100dvh;max-width:none;border-radius:0;border:0}.profile-card{padding:23px}.chat-header{padding-top:max(18px,env(safe-area-inset-top))}.chat-form{padding-bottom:max(15px,env(safe-area-inset-bottom))}.field input,.field textarea,.chat-form input{font-size:16px}#toast{bottom:90px}.form-grid{grid-template-columns:minmax(0,1fr) 85px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:701px){.mobile-account{display:none}}
.person-heading{min-width:0}.person-name{overflow-wrap:anywhere}.person-heading .verified{flex-shrink:0}

/* Icon-only controls: explicit boxes avoid native iOS button padding,
   SVG baselines, and spacing from visually hidden text nodes. */
.icon-button,
.chat-form .primary {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  padding: 0;
  flex-shrink: 0;
  line-height: 0;
  gap: 0;
  text-align: center;
}
.icon-button > svg,
.chat-form .primary > svg {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
}
.chat-form .primary { width: 44px; height: 44px; align-self: center; }
@media (max-width: 700px) {
  .round-action,
  .profile-banner .primary,
  .say-hi {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    width: 42px;
    height: 42px;
    padding: 0;
    flex-shrink: 0;
    gap: 0;
    line-height: 0;
    text-align: center;
  }
  .round-action > svg,
  .profile-banner .primary > svg,
  .say-hi > svg {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    transform: translate(-50%, -50%);
  }
  .say-hi { width: 30px; height: 36px; }
}
