/* Synthetic Hearts — Chat v1 */
.chat-page{width:min(1540px,calc(100% - 44px));height:calc(100vh - 96px);min-height:680px;margin:84px auto 12px;display:grid;grid-template-columns:300px minmax(420px,1fr) 280px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:26px;background:#0b0910;box-shadow:0 28px 100px rgba(0,0,0,.34)}
.chat-sidebar,.chat-relationship{background:rgba(255,255,255,.018)}
.chat-sidebar{border-right:1px solid rgba(255,255,255,.06);padding:25px 17px}
.chat-sidebar-head{display:flex;align-items:flex-end;justify-content:space-between;padding:0 7px 18px}.chat-sidebar-head h1{margin:5px 0 0;font-size:1.45rem}.chat-discover-link{font-size:.75rem;color:#ff66a7;text-decoration:none;font-weight:800}
.chat-search{height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;margin-bottom:15px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:#100d14;color:#746d79}.chat-search input{width:100%;border:0;outline:0;background:transparent;color:#f7f2f7;font:inherit;font-size:.78rem}
.chat-list{display:grid;gap:5px;max-height:calc(100vh - 220px);overflow:auto}.chat-list-item{display:flex;gap:11px;align-items:center;padding:10px;border-radius:15px;text-decoration:none;color:inherit;border:1px solid transparent}.chat-list-item:hover,.chat-list-item.active{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.055)}.chat-list-avatar{position:relative;width:46px;height:46px;flex:0 0 46px}.chat-list-avatar img,.chat-header-avatar img,.message-avatar img,.chat-welcome-avatar img,.relationship-profile img{width:100%;height:100%;object-fit:cover}.chat-list-avatar img{border-radius:50%}.chat-list-avatar i,.chat-header-avatar i{position:absolute;right:0;bottom:1px;width:10px;height:10px;border:2px solid #0d0a11;border-radius:50%;background:#54e39a}
.chat-list-copy{min-width:0;flex:1}.chat-list-copy>div{display:flex;justify-content:space-between;gap:8px}.chat-list-copy strong{font-size:.8rem}.chat-list-copy time{font-size:.61rem;color:#665f6c}.chat-list-copy p{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#817a87;font-size:.68rem}
.chat-main{min-width:0;display:grid;grid-template-rows:72px minmax(0,1fr) auto;background:radial-gradient(circle at 50% 30%,rgba(151,71,159,.055),transparent 38%),#09070c}.chat-header{display:flex;align-items:center;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.055);background:rgba(9,7,12,.82);backdrop-filter:blur(18px)}.chat-header-avatar{position:relative;width:43px;height:43px}.chat-header-avatar img{border-radius:50%}.chat-header-person{display:grid;margin-left:11px}.chat-header-person strong{font-size:.86rem}.chat-header-person span{margin-top:2px;color:#77707d;font-size:.66rem}.chat-header-actions{margin-left:auto}.relationship-pill{padding:7px 11px;border:1px solid rgba(255,102,167,.15);border-radius:99px;background:rgba(255,102,167,.06);color:#dca1bd;font-size:.65rem;font-weight:800}.chat-mobile-back{display:none;color:white;text-decoration:none;font-size:2rem;margin-right:10px}
.chat-messages{overflow-y:auto;padding:25px clamp(20px,4vw,58px)}.chat-day-divider{text-align:center;margin:3px 0 25px}.chat-day-divider span{padding:6px 11px;border-radius:99px;background:#100d13;color:#69626f;font-size:.61rem}
.chat-welcome{text-align:center;max-width:390px;margin:50px auto;color:#8a838e}.chat-welcome-avatar{width:82px;height:82px;margin:0 auto 16px}.chat-welcome-avatar img{border-radius:50%;box-shadow:0 0 0 5px rgba(255,91,160,.06)}.chat-welcome>span{color:#ff6ba9;font-size:.62rem;font-weight:900;letter-spacing:.16em}.chat-welcome h2{margin:8px 0;font-size:1.2rem;color:#f7f2f7}.chat-welcome p{margin:0;font-size:.76rem;line-height:1.55}
.message-row{display:flex;gap:9px;margin:12px 0}.message-row>div:last-child{max-width:min(72%,560px)}.message-row.from-user{justify-content:flex-end}.message-avatar{width:30px;height:30px;flex:0 0 30px;align-self:flex-end}.message-avatar img{border-radius:50%}.message-bubble{padding:11px 14px;border-radius:17px;font-size:.82rem;line-height:1.48;word-break:break-word}.from-character .message-bubble{border-bottom-left-radius:5px;background:#17131b;border:1px solid rgba(255,255,255,.05)}.from-user .message-bubble{border-bottom-right-radius:5px;background:linear-gradient(135deg,#d93691,#8d4ce8);color:white}.message-row time{display:block;margin-top:4px;color:#5f5865;font-size:.58rem}.from-user time{text-align:right}.chat-system-message{max-width:500px;margin:14px auto;padding:8px 12px;text-align:center;color:#736c78;font-size:.67rem}
.typing-indicator{display:flex;align-items:flex-end;gap:9px;margin-top:12px}.typing-bubble{display:flex;gap:4px;padding:12px 14px;border-radius:16px 16px 16px 5px;background:#17131b}.typing-bubble i{width:5px;height:5px;border-radius:50%;background:#8b838f;animation:typingDot 1.1s infinite}.typing-bubble i:nth-child(2){animation-delay:.15s}.typing-bubble i:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.chat-composer-wrap{position:relative;padding:12px 20px 15px;border-top:1px solid rgba(255,255,255,.05)}.chat-composer{display:flex;align-items:flex-end;gap:9px;padding:7px 8px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#121016}.chat-composer textarea{flex:1;min-height:38px;max-height:132px;padding:9px 2px;resize:none;border:0;outline:0;background:transparent;color:#f8f4f8;font:inherit;font-size:.82rem;line-height:1.4}.composer-icon,.composer-send{width:38px;height:38px;flex:0 0 38px;border:0;border-radius:50%;cursor:pointer}.composer-icon{background:transparent;color:#918995;font-size:1.2rem}.composer-icon:hover{background:rgba(255,255,255,.04);color:#ff66a7}.composer-send{display:grid;place-items:center;background:linear-gradient(135deg,#ef3f98,#9652ef);color:white}.composer-send:disabled{opacity:.45}.composer-counter{align-self:center;color:#5e5763;font-size:.56rem}.chat-ai-note{margin:7px 4px 0;text-align:center;color:#514a56;font-size:.56rem}
.emoji-picker{position:absolute;left:22px;bottom:82px;z-index:10;width:280px;padding:10px;display:grid;grid-template-columns:repeat(6,1fr);gap:3px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:#17121b;box-shadow:0 18px 60px rgba(0,0,0,.45)}.emoji-picker[hidden]{display:none}.emoji-picker button{height:38px;border:0;border-radius:9px;background:transparent;cursor:pointer;font-size:1.2rem}.emoji-picker button:hover{background:rgba(255,255,255,.07)}
.chat-relationship{border-left:1px solid rgba(255,255,255,.06);padding:26px 22px}.relationship-profile{text-align:center;padding:10px 0 25px}.relationship-profile img{width:88px;height:88px;border-radius:50%;box-shadow:0 0 0 5px rgba(255,83,157,.06)}.relationship-profile h2{margin:13px 0 3px;font-size:1.1rem}.relationship-profile p{margin:0;color:#77707c;font-size:.7rem}.relationship-card{padding:17px;border:1px solid rgba(255,255,255,.06);border-radius:18px;background:#100d14}.relationship-card h3{margin:5px 0 18px;font-size:1rem}.relation-stat{margin:13px 0}.relation-stat>div:first-child{display:flex;justify-content:space-between;font-size:.68rem;color:#918995}.relation-stat strong{font-size:.65rem;color:#c7c0c9}.relation-track{height:4px;margin-top:7px;overflow:hidden;border-radius:9px;background:#242029}.relation-track i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#e84298,#9954ee)}.relationship-hint{padding:0 4px;margin-top:14px;color:#625b67;font-size:.63rem;line-height:1.5}
@media(max-width:1100px){.chat-page{grid-template-columns:250px minmax(0,1fr)}.chat-relationship{display:none}}
@media(max-width:760px){.chat-page{width:100%;height:calc(100dvh - 62px);min-height:0;margin:62px 0 0;border:0;border-radius:0;grid-template-columns:1fr}.chat-sidebar{display:none}.chat-main{height:100%}.chat-mobile-back{display:block}.chat-messages{padding:20px 14px}.message-row>div:last-child{max-width:82%}.chat-composer-wrap{padding:9px 10px 10px}.chat-ai-note{display:none}.emoji-picker{left:10px;bottom:72px;width:min(300px,calc(100vw - 20px))}}

.match-row-link{text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,background .18s ease}.match-row-link:hover{transform:translateX(3px);border-color:rgba(255,91,160,.16);background:rgba(255,91,160,.035)}
