.mobile-frame{overflow:auto;display:flex;flex-direction:column}.screen-header{flex-shrink:0;justify-content:space-between}h1{font-size:24px}h2,h3{margin:12px 0}a{color:#bd2856;text-decoration:none}.tabs{display:flex;position:sticky;top:0;background:white;z-index:2;padding:8px;gap:4px}.tabs button{flex:1}.panel{padding:16px;overflow:auto;flex:1}.panel[hidden]{display:none}label{display:block;margin:12px 0;font-size:14px}input,textarea,select{display:block;width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;margin-top:6px;font:inherit}textarea{min-height:85px}button{cursor:pointer;border:0;padding:10px;border-radius:10px;background:#fff0f5;color:#962044}button:disabled{opacity:.5;cursor:wait}.btn{display:block;text-align:center;margin:10px 0}#status{padding:0 16px;color:#962044;font-size:14px}.person,.conversation{padding:16px;border:1px solid #f0dce3;border-radius:16px;margin:12px 0}.person img{width:100%;height:240px;object-fit:cover;border-radius:12px}.person p{margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;gap:8px}.photo-grid img{width:100%;height:120px;object-fit:cover;border-radius:12px}.photo-grid{margin:12px 0}.bubble{background:#f2f3f5;padding:12px;margin:8px 30px 8px 0;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine{background:#ffe2ed;margin:8px 0 8px 30px}.bubble small{display:block;font-size:10px;margin-top:8px;color:#666}#messages{max-height:42vh;overflow:auto}.empty{padding:24px 0;color:#777}.conversation{display:block;width:100%;text-align:left}.tabs button[aria-current="page"]{background:#d7356c;color:white}
.mobile-frame{overflow:hidden}.tabs{order:10;position:relative;top:auto;bottom:0;flex-shrink:0;border-top:1px solid #f0edf0;padding:10px 6px 14px;background:white}.tabs button{background:transparent;color:#9b939d;font-size:12px;padding:10px 4px}.tabs button[aria-current="page"]{background:#fff0f5;color:#ef477e}.panel{min-height:0}.person{padding:0;overflow:hidden;border:0;box-shadow:0 5px 22px #3c173014;border-radius:24px;margin-bottom:24px}.person img{height:320px;border-radius:0}.person h3,.person p,.person small{display:block;margin:14px 20px}.person h3{font-size:23px}.person .actions{padding:0 18px 18px}.person .actions button{flex:1;padding:13px;border-radius:16px}.person .actions button:last-child{background:linear-gradient(120deg,#ff4081,#ff7866);color:white}.account-edit{display:block;font-size:13px;margin-bottom:22px;text-align:right}.panel h2{font-size:23px}.conversation{background:white;border:0;border-bottom:1px solid #f1ebef;border-radius:0;padding:18px 4px}.conversation p{margin:8px 0;color:#958996;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation small{color:#b5a9b3}.screen-content{overflow:auto}
@media(min-width:450px){.mobile-frame{max-width:500px;max-height:940px;height:calc(100dvh - 32px);border:0;border-radius:24px}body{height:100dvh;padding:16px}}
@media(max-width:449px){.mobile-frame{max-height:none;height:100dvh}body{overflow:hidden}}

.chat-image,#chat-preview img{display:block;max-width:100%;max-height:280px;object-fit:contain;border-radius:12px}.chat-attach{display:block;margin:12px 0}#chat-preview[hidden]{display:none}
.swipe-stage{position:relative;margin:12px 0 0;isolation:isolate}.swipe-underlay{position:absolute;inset:12px 9px -7px;background:#f9dfe8;border-radius:24px;z-index:-1;transform:rotate(2deg)}.swipe-card{overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 8px 24px #3c173018;border:1px solid #f1e9ed;touch-action:pan-y;user-select:none;transition:transform .22s ease,opacity .22s ease;cursor:grab}.swipe-card:focus-visible{outline:3px solid #ef477e;outline-offset:3px}.swipe-dragging{transition:none;cursor:grabbing}.swipe-photo{height:clamp(210px,39dvh,370px);position:relative;background:linear-gradient(145deg,#ffe3eb,#eee4ff);display:flex;align-items:center;justify-content:center}.swipe-photo img{width:100%;height:100%;object-fit:cover;pointer-events:none}.swipe-avatar{font-size:90px}.swipe-distance{position:absolute;left:14px;top:14px;padding:6px 12px;background:#0009;color:white;border-radius:20px;font-size:12px}.swipe-info{padding:16px 18px;background:linear-gradient(#fff,#fff9fa)}.swipe-info h3{font-size:23px;margin:0 0 8px}.swipe-info p{font-size:14px;line-height:1.5;margin:0 0 9px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:84px;overflow:auto;user-select:text}.swipe-info small{display:block;color:#965a75;line-height:1.5;overflow-wrap:anywhere}.swipe-badge{position:absolute;top:65px;left:20px;font-size:30px;font-weight:800;transform:rotate(-12deg);background:#fffD;border-radius:8px;padding:0 8px}.swipe-badge:empty{display:none}.swipe-actions{display:flex;justify-content:center;gap:24px;padding:23px 0 5px}.swipe-actions button{width:58px;height:58px;border-radius:50%;border:0;background:white;box-shadow:0 4px 14px #3c17301c;font-size:25px;padding:0;display:grid;place-items:center}.swipe-actions .swipe-like{background:linear-gradient(135deg,#ff4a7d,#ff7a60);color:#fff}.swipe-actions .swipe-skip{color:#ef577c}.swipe-actions .swipe-message{color:#6d63c6;width:48px;height:48px;align-self:center;font-size:21px}.swipe-actions button:disabled{opacity:.5}.swipe-hint{text-align:center;color:#a28c97;font-size:12px;margin:8px 0}.swipe-empty{text-align:center;padding:50px 15px;color:#95818b}.swipe-empty>span{font-size:50px}#people{overflow:hidden;padding:0 5px 8px}#users>h2{margin-bottom:10px}#users #search{align-items:center;margin-bottom:8px}@media(prefers-reduced-motion:reduce){.swipe-card{transition:none}}
#users #search{display:flex;gap:10px;align-items:center}#users #search label{display:flex;align-items:center;gap:8px;flex:1;white-space:nowrap;font-size:13px;margin:0}#users #search input{width:80px;flex:1;height:40px;margin:0;padding:8px}#users #search button{width:auto;margin:0;padding:8px 18px;height:40px;flex:0 0 auto}#users>h2{margin:0 0 12px}.swipe-photo{height:clamp(140px,28dvh,300px)}.swipe-info{padding:12px 16px}.swipe-info h3{font-size:21px}.swipe-actions{padding-top:16px}.swipe-info p{max-height:63px}
