: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-light: #f06292;--blue: #2196f3;--green: #4caf50;--gold: #ffd54f;--card-radius: 1rem}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa;overflow:hidden}.app{min-height:100vh;display:flex;flex-direction:column;max-width:430px;margin:0 auto;position:relative}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.header-logo{font-size:1.35rem;font-weight:800;background:linear-gradient(135deg,var(--pink),var(--pink-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.header-icons{display:flex;gap:1rem}.header-icon{background:none;border:none;color:#fff9;font-size:1.35rem;cursor:pointer;padding:.25rem;transition:color .2s}.header-icon:hover{color:#fff}.header-icon.active{color:var(--pink)}.tab-bar{display:flex;justify-content:space-around;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.tab-btn{background:none;border:none;color:#ffffff73;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:.4rem .75rem;border-radius:2rem;transition:all .2s}.tab-btn.active{color:#fff;background:#e91e6326}.card-stack{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:1rem}.profile-card{position:absolute;width:calc(100% - 2rem);max-width:390px;aspect-ratio:3 / 4;border-radius:var(--card-radius);overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:box-shadow .3s;box-shadow:0 8px 32px #00000080}.profile-card:active{cursor:grabbing}.card-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.card-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 35%,transparent 60%)}.card-info{position:absolute;bottom:0;left:0;right:0;padding:1.25rem}.card-name-row{display:flex;align-items:baseline;gap:.5rem}.card-name{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.card-age{font-size:1.35rem;font-weight:400;color:#ffffffd9}.card-verified{color:var(--blue);font-size:1.1rem}.card-location{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:#ffffffa6;margin-top:.25rem}.card-bio{font-size:.9rem;color:#ffffffbf;margin-top:.5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.card-tag{font-size:.7rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.15);padding:.2rem .55rem;border-radius:2rem;color:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.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;opacity:0;transform:rotate(-20deg);pointer-events:none;z-index:10;border:3px solid}.swipe-label.like{left:1.5rem;color:var(--green);border-color:var(--green);transform:rotate(-20deg)}.swipe-label.nope{right:1.5rem;color:#ef5350;border-color:#ef5350;transform:rotate(20deg)}.swipe-label.super{left:50%;top:1.5rem;transform:translate(-50%);color:var(--blue);border-color:var(--blue)}.actions{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.75rem 0 1.25rem;flex-shrink:0}.action-btn{border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 4px 15px #0000004d}.action-btn:hover{transform:scale(1.12)}.action-btn:active{transform:scale(.95)}.action-btn.small{width:44px;height:44px;font-size:1.2rem}.action-btn.medium{width:56px;height:56px;font-size:1.5rem}.action-btn.large{width:64px;height:64px;font-size:1.8rem}.btn-nope{background:#1a1a2e;color:#ef5350;border:2px solid #ef5350}.btn-super{background:#1a1a2e;color:var(--blue);border:2px solid var(--blue)}.btn-like{background:#1a1a2e;color:var(--green);border:2px solid var(--green)}.match-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.match-title{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--pink),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem;animation:bounceIn .5s ease}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.match-subtitle{color:#ffffffb3;font-size:.95rem;margin-bottom:2rem}.match-avatars{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.match-avatar{width:100px;height:100px;border-radius:50%;border:3px solid var(--pink);display:flex;align-items:center;justify-content:center;font-size:3rem;background:#ffffff0d;animation:popIn .4s ease .2s both}@keyframes popIn{0%{transform:scale(0)}80%{transform:scale(1.1)}to{transform:scale(1)}}.match-heart{font-size:2rem;animation:pulse .8s ease infinite alternate}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.3)}}.match-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:280px}.match-btn{border:none;border-radius:2rem;padding:.85rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.match-btn:hover{transform:scale(1.03)}.match-btn-primary{background:linear-gradient(135deg,var(--pink),var(--pink-light));color:#fff}.match-btn-secondary{background:#ffffff1a;color:#ffffffb3;border:1px solid rgba(255,255,255,.15)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.empty-text{color:#ffffff80;font-size:.9rem;max-width:260px}.empty-btn{margin-top:1.5rem;background:linear-gradient(135deg,var(--pink),var(--pink-light));color:#fff;border:none;border-radius:2rem;padding:.85rem 2rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s}.empty-btn:hover{transform:scale(1.05)}.profile-detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0a0a0a;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.detail-hero{position:relative;aspect-ratio:3 / 4;max-height:60vh}.detail-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.detail-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0a0a0a 5%,transparent 40%)}.detail-close{position:absolute;top:1rem;left:1rem;background:#00000080;border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.detail-content{padding:0 1.25rem 2rem;margin-top:-2rem;position:relative}.detail-name-row{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.detail-name{font-size:2rem;font-weight:700}.detail-age{font-size:1.5rem;color:#ffffffd9}.detail-location{color:#ffffff8c;font-size:.9rem;margin-bottom:1rem}.detail-section{margin-bottom:1.25rem}.detail-section-title{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff6;margin-bottom:.5rem}.detail-bio{font-size:.95rem;color:#fffc;line-height:1.5}.detail-tags{display:flex;flex-wrap:wrap;gap:.4rem}.detail-tag{font-size:.8rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:.3rem .7rem;border-radius:2rem;color:#fffc}.detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.detail-info-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:.75rem}.detail-info-label{font-size:.7rem;color:#fff6;text-transform:uppercase;letter-spacing:.05em}.detail-info-value{font-size:.95rem;font-weight:600;margin-top:.15rem}.detail-actions{display:flex;justify-content:center;gap:1.25rem;padding:1.5rem 0 2rem}
