:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--pink: #e91e63;--pink-dark: #c2185b;--purple: #9c27b0;--gradient: linear-gradient(135deg, var(--pink), var(--purple));--card-bg: #1a1a2e;--surface: #16162a;--surface-2: #1e1e3a;--text: #f0f0f0;--text-muted: rgba(240, 240, 240, .6);--radius: 1rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--surface);color:var(--text)}.app{display:flex;flex-direction:column;min-height:100vh;max-width:480px;margin:0 auto;position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;position:sticky;top:0;z-index:10;background:var(--surface)}.topbar-logo{font-size:1.5rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.03em}.topbar-icons{display:flex;gap:.75rem}.icon-btn{background:var(--surface-2);border:none;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--text-muted);font-size:1.15rem;transition:all .2s;position:relative}.icon-btn:hover{background:#e91e6326;color:var(--pink)}.icon-btn .badge{position:absolute;top:-2px;right:-2px;background:var(--pink);color:#fff;font-size:.6rem;font-weight:700;width:16px;height:16px;border-radius:50%;display:grid;place-items:center}.card-stack{flex:1;display:flex;align-items:center;justify-content:center;padding:0 1rem 1rem;position:relative}.profile-card{width:100%;max-width:380px;aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;position:relative;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.profile-card img{width:100%;height:100%;object-fit:cover;display:block}.card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem}.card-overlay h2{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.card-overlay h2 span{font-weight:400;opacity:.8;margin-left:.25rem}.card-meta{display:flex;gap:.5rem;margin-top:.4rem;flex-wrap:wrap}.card-meta .chip{background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.2rem .6rem;border-radius:2rem;font-size:.75rem;color:#ffffffd9}.card-bio{margin-top:.6rem;font-size:.85rem;color:#ffffffb3;line-height:1.4}.swipe-label{position:absolute;top:2rem;padding:.5rem 1.25rem;border-radius:.5rem;font-size:1.5rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border:3px solid;opacity:0;transition:opacity .15s;pointer-events:none}.swipe-label.like{right:1.5rem;color:#4caf50;border-color:#4caf50;transform:rotate(15deg)}.swipe-label.nope{left:1.5rem;color:#f44336;border-color:#f44336;transform:rotate(-15deg)}.swipe-label.super{left:50%;transform:translate(-50%);color:#2196f3;border-color:#2196f3}.profile-card.swiping-right .swipe-label.like,.profile-card.swiping-left .swipe-label.nope,.profile-card.swiping-up .swipe-label.super{opacity:1}.profile-card.exit-right{animation:exitRight .4s forwards}.profile-card.exit-left{animation:exitLeft .4s forwards}.profile-card.exit-up{animation:exitUp .4s forwards}@keyframes exitRight{to{transform:translate(150%) rotate(20deg);opacity:0}}@keyframes exitLeft{to{transform:translate(-150%) rotate(-20deg);opacity:0}}@keyframes exitUp{to{transform:translateY(-150%) scale(.8);opacity:0}}.actions{display:flex;justify-content:center;gap:1rem;padding:1rem 1.25rem 1.5rem}.action-btn{border:none;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:all .2s;font-size:1.4rem}.action-btn:active{transform:scale(.9)}.action-btn.small{width:48px;height:48px;font-size:1.1rem}.action-btn.large{width:64px;height:64px;font-size:1.6rem}.action-btn.nope{background:#f443361f;color:#f44336;border:2px solid rgba(244,67,54,.3)}.action-btn.nope:hover{background:#f4433640;box-shadow:0 0 20px #f443364d}.action-btn.super{background:#2196f31f;color:#2196f3;border:2px solid rgba(33,150,243,.3)}.action-btn.super:hover{background:#2196f340;box-shadow:0 0 20px #2196f34d}.action-btn.like{background:#4caf501f;color:#4caf50;border:2px solid rgba(76,175,80,.3)}.action-btn.like:hover{background:#4caf5040;box-shadow:0 0 20px #4caf504d}.matches-view{flex:1;padding:0 1.25rem 1.25rem;overflow-y:auto}.section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:.75rem;font-weight:600}.new-matches-row{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:none}.new-matches-row::-webkit-scrollbar{display:none}.new-match{display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer;flex-shrink:0}.new-match .avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2.5px solid var(--pink)}.new-match .name{font-size:.7rem;color:var(--text-muted);max-width:64px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-list{display:flex;flex-direction:column;gap:.5rem}.match-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.75rem;cursor:pointer;transition:background .2s}.match-item:hover{background:var(--surface-2)}.match-item .avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}.match-info{flex:1;min-width:0}.match-info .name{font-weight:600;font-size:.95rem}.match-info .preview{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-item .time{font-size:.7rem;color:var(--text-muted);flex-shrink:0}.chat-view{flex:1;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06)}.chat-header .back-btn{background:none;border:none;color:var(--text);font-size:1.25rem;cursor:pointer;padding:.25rem}.chat-header .avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.chat-header .name{font-weight:600;font-size:.95rem}.messages{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.message{max-width:75%;padding:.6rem 1rem;border-radius:1.25rem;font-size:.9rem;line-height:1.4;word-wrap:break-word}.message.sent{align-self:flex-end;background:var(--gradient);color:#fff;border-bottom-right-radius:.25rem}.message.received{align-self:flex-start;background:var(--surface-2);color:var(--text);border-bottom-left-radius:.25rem}.message .time{font-size:.6rem;opacity:.6;margin-top:.25rem;display:block}.chat-input-row{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid rgba(255,255,255,.06)}.chat-input-row input{flex:1;background:var(--surface-2);border:1px solid rgba(255,255,255,.08);border-radius:2rem;padding:.65rem 1rem;color:var(--text);font-size:.9rem;outline:none;font-family:inherit}.chat-input-row input::placeholder{color:var(--text-muted)}.chat-input-row input:focus{border-color:var(--pink)}.send-btn{background:var(--gradient);border:none;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:#fff;font-size:1.1rem;transition:transform .15s;flex-shrink:0}.send-btn:active{transform:scale(.9)}.match-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:100;animation:fadeIn .3s}.match-popup{text-align:center;padding:2rem;animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}.match-popup h2{font-size:2rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1.5rem}.match-popup .avatars{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem}.match-popup .avatars img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--pink)}.match-popup p{color:var(--text-muted);margin-bottom:1.5rem}.match-popup button{background:var(--gradient);border:none;color:#fff;padding:.75rem 2rem;border-radius:2rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:inherit;margin:0 .5rem}.match-popup button.secondary{background:var(--surface-2);color:var(--text)}@keyframes fadeIn{0%{opacity:0}}@keyframes popIn{0%{transform:scale(.7);opacity:0}}.bottom-nav{display:flex;justify-content:space-around;padding:.5rem 0 1rem;border-top:1px solid rgba(255,255,255,.06);background:var(--surface)}.nav-btn{background:none;border:none;color:var(--text-muted);font-size:1.3rem;cursor:pointer;padding:.4rem .75rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;transition:color .2s}.nav-btn span{font-size:.6rem;letter-spacing:.05em;text-transform:uppercase}.nav-btn.active{color:var(--pink)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--text-muted)}.empty-state .icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{color:var(--text);margin-bottom:.5rem}.empty-state p{font-size:.85rem;max-width:260px}.empty-state button{margin-top:1.5rem;background:var(--gradient);border:none;color:#fff;padding:.65rem 1.5rem;border-radius:2rem;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit}.profile-view{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1.25rem;text-align:center}.profile-view .big-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--pink);margin-bottom:1rem}.profile-view h2{font-size:1.5rem;font-weight:700}.profile-view .subtitle{color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem}.profile-stats{display:flex;gap:2rem;margin-bottom:2rem}.profile-stats .stat{text-align:center}.profile-stats .stat .num{font-size:1.5rem;font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.profile-stats .stat .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.settings-list{width:100%;display:flex;flex-direction:column;gap:.35rem}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-radius:.75rem;background:var(--surface-2);cursor:pointer;transition:background .2s}.settings-item:hover{background:#e91e631a}.settings-item .left{display:flex;align-items:center;gap:.75rem}.settings-item .icon{font-size:1.15rem}.settings-item .label{font-size:.9rem}.settings-item .arrow{color:var(--text-muted);font-size:.8rem}
