:root{--bg:#0f1216;--panel:#10151c;--muted:#9aa7b5;--text:#eaf0f6;--like:#2ecc71;--nope:#ff5d6c;--super:#3ea6ff;--danger:#fd4d5d;--primary:#66a6ff;--primary-gradient:linear-gradient(90deg, #66a6ff, #89f7fe) no-repeat fixed;--primary-dark:#3a8dff;--border:#ffffff1a;--panel2:#121826;--shadow:0 20px 40px rgba(0, 0, 0, .45);--success:#43cea2;--like-rgb:0,200,100;--nope-rgb:200,0,50;--super-rgb:0,100,200;--badge-color:#0000FF;--checkmark-color:#fff}::placeholder{color:#f6f6f6;opacity:1}:-ms-input-placeholder{color:#f6f6f6}::-ms-input-placeholder{color:#f6f6f6}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*,a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}body,html{height:100%;touch-action:manipulation;overflow-x:hidden;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--primary-gradient)}.index-page{background:linear-gradient(135deg,#ff4f81,#ffb347) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.messages-page{background:linear-gradient(135deg,#2193b0,#75cee5) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.matches-page{background:linear-gradient(135deg,#185a9d,#43cea2) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.profile-page{background:linear-gradient(135deg,#ff9a44,#ff6a88) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.personalities-page{background:linear-gradient(135deg,#ca2339,#ee9ca7) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.chats-page{background:linear-gradient(135deg,#64b3f4,#c2e59c) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.login-page{background:linear-gradient(135deg,#66a6ff,#89f7fe) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.signup-page{background:linear-gradient(to right,#fbc2eb,#a6c1ee) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.edit-profile-page{background:linear-gradient(135deg,#43cea2,#185a9d) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.notifications-page{background:linear-gradient(135deg,#43cea2,#185a9d) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.settings-page{background:linear-gradient(135deg,#64b3f4,#c2e59c) no-repeat fixed!important;color:#fff;font-family:Poppins,sans-serif}.theme-red body{background:linear-gradient(135deg,#ff4f81,#ffb347)}.theme-blue body{background:linear-gradient(to right,#6dd5ed,#2193b0)}.theme-orange body{background:linear-gradient(to right,#f7971e,#ffd200)}.theme-rose body{background:linear-gradient(to right,#ee9ca7,#ffdde1)}.theme-purple body{background:linear-gradient(to right,#fc00ff,#00dbde)}.theme-gray body{background:var(--primary-gradient)}.theme-default body{background:var(--primary-gradient)}.theme-login body{background:linear-gradient(to right,#89f7fe,#66a6ff)}.theme-signup body{background:linear-gradient(to right,#fbc2eb,#a6c1ee)}.theme-edit body{background:linear-gradient(to right,#fdfbfb,#ebedee)}.theme-settings body{background:linear-gradient(to right,#c2e59c,#64b3f4)}a{color:inherit;text-decoration:none}.app{min-height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;padding:10px 14px 18px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 10px;position:fixed;top:0;left:0;right:0;height:60px;z-index:9998;box-shadow:0 2px 4px rgba(0,0,0,.1);background:var(--primary-gradient)}.brand{display:flex;align-items:center;gap:10px}.title{font-weight:800;letter-spacing:.2px}.subtle{font-size:.78rem;color:#fff}.actions-top{display:flex;gap:10px}.icon-btn{position:relative;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:#ffffff10;border:1px solid var(--border);color:#d7e2ee;transition:.2s ease}.avatar{width:34px;height:34px;border-radius:50%;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.tabs{display:flex;justify-content:space-around;padding:8px 6px 2px;color:var(--muted);font-size:.9rem;opacity:1}.tabs a{padding:6px 10px;border-radius:8px}.stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;margin-top:60px;margin-bottom:60px;height:calc(100vh - 120px);animation:fadeSlideIn .5s ease forwards}.stack{position:relative;width:min(92vw,420px);height:min(120vw,72vh,620px)}.card{position:absolute;inset:0;background:var(--panel);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);touch-action:none;user-select:none;transform-origin:50% 100%;will-change:transform,opacity;pointer-events:none}.card:first-child{pointer-events:auto}.card-overlay{position:absolute;inset:0;opacity:0;background:0 0;transition:background .2s ease;z-index:2;pointer-events:none}.card.like-bg .card-overlay{background:linear-gradient(to right,rgba(0,200,100,.3) 0,rgba(0,200,100,.3) 50%,transparent 50%,transparent 100%)}.card.nope-bg .card-overlay{background:linear-gradient(to left,rgba(200,0,50,.3) 0,rgba(200,0,50,.3) 50%,transparent 50%,transparent 100%)}.card.super-bg .card-overlay{background:linear-gradient(to top,rgba(0,100,200,.3) 0,rgba(0,100,200,.3) 50%,transparent 50%,transparent 100%)}.card.hidden{display:none}.card__media{position:absolute;inset:0;background:#0a0c10}.card__media img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) saturate(1.05)}.card__gradient{position:absolute;left:0;right:0;bottom:0;height:48%;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 35%,rgba(0,0,0,.82) 100%)}.card__info{position:absolute;left:16px;right:16px;bottom:14px;display:flex;flex-direction:column;gap:6px}.name-row{display:flex;align-items:flex-end;gap:10px}.name{font-size:1.35rem;font-weight:800;letter-spacing:.2px;text-shadow:0 2px 10px rgba(0,0,0,.4)}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.2px;color:#dfe9f4;background:#ffffff17;border:1px solid #ffffff27;backdrop-filter:blur(6px)}.flag{position:absolute;top:16px;padding:6px 12px;border:3px solid;border-radius:8px;font-weight:900;letter-spacing:.24em;font-size:.82rem;text-transform:uppercase;opacity:0;background:#0003}.flag.like{left:14px;color:var(--like);border-color:var(--like);transform:rotate(-12deg)}.flag.nope{right:14px;color:var(--nope);border-color:var(--nope);transform:rotate(12deg)}.flag.super{left:50%;transform:translateX(-50%);top:70%;border-color:var(--super);color:var(--super);letter-spacing:.18em}.dock{display:flex;justify-content:center;gap:16px;padding:14px 0 2px;margin-bottom:30%}.cbtn{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:none;cursor:pointer;background:var(--primary-gradient);color:#dbe6f3;border:1px solid var(--border);box-shadow:0 14px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .12s ease,background .2s ease,box-shadow .2s ease}.cbtn:active{transform:scale(.96)}.cbtn--nope{color:var(--nope)}.cbtn--super{color:var(--super)}.cbtn--like{color:var(--like)}.cbtn svg{width:28px;height:28px}.list{display:flex;flex-direction:column;gap:10px}.item .thumb{width:56px;height:56px;border-radius:12px;overflow:hidden}.item .thumb img{width:100%;height:100%;object-fit:cover}.item .content{flex:1}.item .title{font-weight:700}.item .subtitle{color:#fff;font-size:.9rem}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.form{display:grid;gap:12px}.label{font-size:.86rem;color:#fff;margin-bottom:6px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:none;cursor:pointer;border-radius:12px;padding:12px 14px;font-weight:700;letter-spacing:.2px}.btn-success{background:var(--success);color:#fff;box-shadow:0 12px 28px rgba(67,206,162,.35)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 12px 28px rgba(253,77,93,.35)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 12px 28px rgba(102,166,255,.35)}.btn-outline{background:var(--primary-gradient);border:1px solid var(--primary);color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.5)}.btn-block{width:100%}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hero{font-size:1.2rem;line-height:1.4;color:#e9f0f7}.navbar-auth{display:flex;align-items:center;gap:8px;margin-bottom:16px}.back{display:inline-flex;align-items:center;gap:8px;color:#cfe0ff}.hr{height:1px;background:#ffffff12;margin:16px 0;border:0}.policy{line-height:1.7;color:#dbe4ef}.small{font-size:.86rem;color:#fff}.camera{width:100%;background:#000;border-radius:14px;overflow:hidden;border:1px solid var(--border);display:grid;place-items:center}video{width:100%;height:100%;object-fit:cover}@media (min-width:481px){.app{min-height:100svh}}.badge-count{background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:999px;margin-left:4px}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}.badge-count.animate{animation:pulse .4s ease}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--primary-gradient);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;font-size:14px;box-shadow:0 8px 20px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:9999;white-space:pre-line}.toast.show{opacity:1;pointer-events:auto}.toast i{margin-right:6px}.confetti{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999}.match-animation{position:fixed;top:0;left:0;width:100vw;height:100vh;display:none;justify-content:center;align-items:center;background:rgba(0,0,0,.6);z-index:9999;animation:fadeOut 2s ease forwards}.match-animation svg{animation:heartBurst 1.2s ease forwards}@keyframes heartBurst{0%{transform:scale(0);opacity:0}50%{transform:scale(1.5);opacity:1}100%{transform:scale(0);opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0;display:none}}.match-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;display:none;justify-content:center;align-items:center;z-index:9999;color:#fff;background:linear-gradient(270deg,#ff4d6d,#9b5de5,#f9c74f);background-size:600% 600%;animation:gradientShift 12s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}.match-card{background:rgba(255,255,255,.08);backdrop-filter:blur(12px);padding:24px;border-radius:20px;text-align:center;max-width:340px;margin:auto;box-shadow:0 12px 28px rgba(0,0,0,.5);color:#fff;animation:cardPop .6s ease}.avatar-wrapper-match{width:96px;height:96px;margin:0 auto 16px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 0 12px rgba(255,255,255,.6)}.avatar-wrapper-match img{width:100%;height:100%;object-fit:cover}.match-card h2{font-size:1.6rem;margin-bottom:8px;background:linear-gradient(90deg,#ff4d6d,#9b5de5,#f9c74f);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.match-card p{font-size:1rem;margin-bottom:16px;opacity:.9}@keyframes cardPop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shake{0%{transform:translateX(0)}20%{transform:translateX(-10px)}40%{transform:translateX(10px)}60%{transform:translateX(-10px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}.card.shake{animation:shake .4s}.card.animate-like{animation:likePulse}.card.animate-nope{animation:nopeShake}.btn-profile{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;background:linear-gradient(to right,rgba(255,255,255,.85),rgba(240,240,240,.6));color:#333;border:1px solid #ccc;border-radius:6px;text-decoration:none;transition:all .2s ease;z-index:10;pointer-events:auto;box-shadow:0 2px 10px rgba(0,0,0,.5)}.btn-profile:hover{background:linear-gradient(to right,rgba(255,255,255,.95),rgba(220,220,220,.8));box-shadow:0 4px 12px rgba(0,0,0,.6)}.card__actions{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}@keyframes likePulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}@keyframes nopeShake{0%{transform:translateX(0)}25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-8px)}100%{transform:translateX(0)}}.store-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#ff9a44,#ff6a88) no-repeat fixed;display:none;justify-content:center;align-items:center;z-index:9999;font-family:Poppins,sans-serif;color:#fff}.store-content{background:rgba(0,0,0,.7);padding:24px;border-radius:16px;width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 12px 28px rgba(0,0,0,.5)}.store-content h2{margin-bottom:16px;font-size:20px;color:#fff;text-align:center}#store-items{margin-top:12px}.store-item{background:rgba(255,255,255,.05);border-radius:8px;padding:12px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.store-item span{font-size:14px}.store-item button{padding:6px 12px;background:var(--primary-gradient);color:#1a2533;border:none;border-radius:6px;cursor:pointer;font-weight:700;font-size:13px}.store-item .info{display:flex;flex-direction:column;gap:4px}.store-item .title{flex:1;font-size:14px;font-weight:600}.store-item .price{width:80px;text-align:left;font-size:13px;color:#ffd93d}.store-trigger{position:fixed;top:70px;right:0;background:#fd4d5d;color:#fff;border:none;padding:12px 16px;border-radius:50px;border-bottom-right-radius:0;border-top-right-radius:0;font-size:16px;box-shadow:0 4px 12px rgba(0,0,0,.3);cursor:pointer;z-index:999}.wallet-display{position:fixed;bottom:80px;right:0;background:#1a2533;color:#fff;padding:8px 12px;border-radius:20px;border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;font-size:14px;z-index:999;box-shadow:rgba(0,0,0,.3) 0 4px 12px}.wallet-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#ff9a44,#ff6a88) no-repeat fixed;display:none;justify-content:center;align-items:center;z-index:9999;font-family:Poppins,sans-serif;color:#fff}.wallet-content{background:rgba(0,0,0,.6);padding:24px;border-radius:16px;width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 12px 28px rgba(0,0,0,.5)}.wallet-content h2{margin-bottom:16px;font-size:20px;color:#fff;text-align:center}.wallet-section h3{margin-bottom:8px;font-size:16px;color:#ffd93d}.wallet-section ul{list-style:none;padding:0;margin:0}.wallet-section li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px}.full-history-btn{display:inline-block;margin-top:8px;color:#ffd93d;font-weight:700;text-decoration:none;font-size:14px}.full-history-btn:hover{text-decoration:underline}.wallet-content button{margin-top:12px;transition:background .3s ease}.spinner-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#ff9a44,#ff6a88) no-repeat fixed;display:none;justify-content:center;align-items:center;z-index:9999}.spinner-content{background:rgba(0,0,0,.7);padding:24px;border-radius:16px;width:400px;text-align:center;box-shadow:0 12px 28px rgba(0,0,0,.5)}.spinner-container{position:relative;width:300px;height:300px;margin:20px auto}.spinner-pointer{position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:24px solid gold;z-index:2;animation:pulse-pointer 1.5s infinite}.spinner-wheel{width:300px;height:300px;position:relative;z-index:3;border-radius:50%;box-shadow:0 0 20px rgba(255,255,255,.2);background:radial-gradient(circle at center,#1a2533 0,#0f1624 100%)}@keyframes pulse-pointer{0%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.1)}100%{transform:translateX(-50%) scale(1)}}.spinner-buttons{margin-top:20px;margin-right:5px;margin-left:5px}.bottom-nav{display:flex;justify-content:space-around;padding:1px 0;box-shadow:0 -2px 5px rgba(0,0,0,.1);position:fixed;bottom:0;left:0;right:0;height:70px;z-index:9998;background:var(--primary-gradient)}.nav-item{width:100%;display:flex;flex-direction:column;text-align:center;color:#fff;padding-top:15px!important;text-decoration:none;font-size:14px;transition:color .3s ease}.nav-item i{clear:both;display:contents;font-size:20px;margin-bottom:4px;transition:transform .3s ease}.nav-item:hover{box-shadow:0 0 12px rgba(255,255,255,.5)}.nav-item:hover i{transform:scale(1.2)}.nav-item.active{color:rgba(255,255,255,.8);box-shadow:0 0 12px rgba(255,255,255,.5)}.nav-item.active i{transform:scale(1.2)}.input{width:100%;padding:12px 16px;font-size:14px;border:2px solid #eee;border-radius:12px;background:#fff;color:var(--primary);transition:border-color .3s ease,box-shadow .3s ease;box-shadow:0 2px 6px rgba(0,0,0,.05)}.input::placeholder{color:var(--primary);text-decoration:italic}.chat-input{width:100%;height:39px;padding:8px;margin-top:0;border-radius:0;border:none;backdrop-filter:blur(12px);background:0 0;color:#fff}.chat-input:focus-visible{border:none;outline:0}.filter-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#ff9a44,#ff6a88) no-repeat fixed;display:none;justify-content:center;align-items:center;z-index:9999;font-family:Poppins,sans-serif;color:#fff}.filter-content{background:rgba(0,0,0,.7);padding:24px;border-radius:16px;width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 12px 28px rgba(0,0,0,.5)}.filter-content h2{margin-bottom:16px;font-size:20px;color:#ffd93d;text-align:center}.filter-content label{display:block;margin-top:12px;font-weight:700;font-size:14px}.filter-content .input,.filter-content input[type=number],.filter-content input[type=text],.filter-content select{width:100%;margin-top:4px;padding:8px;border-radius:8px;border:none;font-size:14px;background:rgba(255,255,255,.1);color:#fff}.filter-content input[type=range]{width:100%;margin-top:8px}#distance-label{margin-top:4px;font-size:13px;color:#ffd93d;text-align:right}.range-group{display:flex;align-items:center;gap:8px;margin-top:8px}.grid-view{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}@media (max-width:600px){.grid-view{grid-template-columns:repeat(2,1fr);padding:12px}.grid-card img{height:120px}.grid-card .info{font-size:13px}}.grid-card{background:#1a2533;border-radius:12px;overflow:hidden;color:#fff;text-align:center;padding-bottom:15px}.grid-card img{width:100%;height:140px;object-fit:cover}.grid-card .info{padding:8px;font-size:14px}#toggle-view{transition:transform .3s ease,background .3s ease}.carousel{padding:16px;overflow-x:auto;white-space:nowrap;margin-top:60px}.carousel-track{display:flex;gap:12px;margin-top:20px}.carousel-card{display:inline-block;width:160px;min-width:160px;max-width:160px;background:#1a2533;border:3px solid silver;border-radius:12px;overflow:hidden;color:#fff;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.3)}.carousel-card img{width:100%;height:140px;object-fit:cover}.carousel-card .info{padding:8px;font-size:13px}.refresh-button{position:fixed;top:62%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:0 0}.refresh-button button{background:linear-gradient(135deg,#ff4f81,#ffb347);color:#fff;font-size:16px;font-weight:700;padding:12px 24px;border:none;border-radius:30px;box-shadow:0 8px 20px rgba(255,79,129,.4);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.refresh-button button:hover{transform:scale(1.05);box-shadow:0 10px 24px rgba(255,79,129,.5)}.loader-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#ff4f81,#ffb347);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;font-family:sans-serif;opacity:1;transition:opacity .6s ease}.loader-screen.fade-out{opacity:0;pointer-events:none}.pulse-ring{width:48px;height:48px;border-radius:50%;background:#fd4d5d;animation:pulse-ring 1.5s ease-out infinite;box-shadow:0 0 0 rgba(253,77,93,.7)}.loader-text{margin-top:16px;font-size:16px;color:#fff;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-ring{0%{transform:scale(.8);box-shadow:0 0 0 0 rgba(253,77,93,.7)}70%{transform:scale(1.4);box-shadow:0 0 0 20px rgba(253,77,93,0)}100%{transform:scale(.8);box-shadow:0 0 0 0 rgba(253,77,93,0)}}@keyframes pulse-text{0%,100%{opacity:.6}50%{opacity:1}}.pulse-ring{width:48px;height:48px;border-radius:50%;background:#fd4d5d;animation:pulse-ring 1.5s ease-out infinite;box-shadow:0 0 0 rgba(253,77,93,.7)}.logo{height:100px;margin-right:8px;vertical-align:middle}.toolbar{padding:12px 16px;display:flex;gap:8px;align-items:center}.list{display:flex;flex-direction:column;margin-top:0;padding:0}.item{display:flex;gap:12px;align-items:center;padding:12px 16px;box-shadow:0 0 30px rgba(0,0,0,.4);background:0 0;border-bottom:1px solid rgba(255,255,255,.06);transition:background .2s ease;cursor:pointer;border-bottom-right-radius:12px;margin-bottom:5px;box-shadow:0 12px 28px rgba(0,0,0,.5)}.item:hover{background:rgba(255,255,255,.04)}.avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;margin-right:12px;position:relative}.content{flex:1;min-width:0;background:0 0}.title{font-weight:600;font-size:15px;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtitle{font-size:13px;color:#9aa4b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{text-align:left;font-size:10px;color:#e9f0f7;min-width:48px;opacity:.9;font-weight:900;text-transform:uppercase}.badge{background:#fd4d5d;color:#fff;font-size:11px;padding:2px 6px;border-radius:999px;margin-top:4px;display:inline-block}#empty-state{margin-top:32px}.sticky-toolbar{position:sticky;top:60px;background:0 0;z-index:10;padding:12px 16px;margin-bottom:5px;border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 12px 28px rgba(0,0,0,.5);backdrop-filter:blur(12px)}.floating-btn{position:fixed;bottom:12%;right:24px;background:var(--success);color:#fff;border:none;border-radius:50%;width:52px;height:52px;font-size:28px;box-shadow:0 4px 12px rgba(0,0,0,.3);cursor:pointer;z-index:20;transition:transform .2s ease;text-align:center;padding-top:5px}.floating-btn:hover{transform:scale(1.1)}.map-box{background:#1a2533;border-radius:12px;overflow:hidden;margin:16px;box-shadow:0 2px 8px rgba(0,0,0,.2)}.map-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0d1117;color:#fff}.btn-small{background:#fd4d5d;color:#fff;border:none;padding:4px 10px;border-radius:6px;font-size:13px;cursor:pointer}#leaflet-map{width:100%;height:300px}#city-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:9999}#city-modal .modal-content{background:#1a2533;padding:24px;border-radius:12px;width:90%;max-width:400px;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.4);text-align:center}#city-modal input{width:100%;padding:10px;margin-top:12px;margin-bottom:16px;border-radius:8px;border:none;font-size:14px;background:#0d1117;color:#fff}#city-modal .btn{padding:10px 16px;font-size:14px;border-radius:8px;background:#fd4d5d;color:#fff;border:none;cursor:pointer}#chat-list{overflow-y:auto;height:calc(100vh - 170px);display:flex;flex-direction:column}.chat-spinner{text-align:center;padding:8px;font-size:14px;color:#666}.chat-footer{display:flex;align-items:center;padding:12px;background:#0d1117;border-top:1px solid rgba(255,255,255,.05)}.chat-select{background:#1a2533;color:#fff;border:none;padding:8px;border-radius:8px;font-size:16px;margin-right:8px;cursor:pointer}#chat-input{flex:1;padding:10px;border-radius:8px;border:none;background:#1a2533;color:#fff;font-size:15px}#send-btn{background:#fd4d5d;color:#fff;border:none;padding:10px 16px;border-radius:8px;margin-left:8px;cursor:pointer}#send-button{background:#fd4d5d;color:#fff;border:none;height:38px;padding:10px 16px;border-radius:0;margin-left:0;cursor:pointer}.message{position:relative;padding:12px;margin:6px 0;background:0 0;border-radius:12px;color:#fff;word-wrap:break-word;box-shadow:0 12px 28px rgba(0,0,0,.5);width:78%;animation:fadeSlideIn .5s ease forwards}.react-btn{background:0 0;border:none;font-size:18px;cursor:pointer;margin-left:8px}.emoji-picker{position:absolute;bottom:100%;left:0;bottom:-35px;background:#0d1117;border-radius:8px;padding:6px;display:flex;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.3)}.emoji-picker span{cursor:pointer;font-size:18px}.emoji-reaction{margin-left:8px;font-size:18px;display:inline-block}.action-wrapper{position:relative}.clip-btn{background:0 0;color:#fff;border:none;font-size:20px;padding:8px;backdrop-filter:blur(12px);cursor:pointer}.action-menu{position:absolute;bottom:100%;left:0;background:var(--primary-gradient);border-radius:8px;padding:6px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:10}.action-menu button{background:0 0;border:none;color:#fff;font-size:14px;text-align:left;padding:6px 12px;cursor:pointer}.btn-clip-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;border:none;background:0 0;cursor:pointer}.btn-clip-item i{font-size:20px}.clip-item-text{font-size:12px;margin-top:4px;text-align:center}.chat-image{max-width:200px;max-height:200px;border-radius:8px;cursor:pointer;margin-top:8px}.chat-image:hover{transform:scale(1.02)}#image-modal.modal{position:fixed;top:0;left:0;width:100%;height:100vh;inset:0;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease forwards;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:rgba(0,0,0,.4)}.modal img{max-width:90%;max-height:90%;border-radius:12px}#image-modal .modal-close{position:absolute;top:20px;right:30px;font-size:28px;color:#fff;background:0 0;border:none;cursor:pointer;transition:transform .2s ease,opacity .2s ease;z-index:8}#image-modal .modal-close:hover{transform:scale(1.2);opacity:.8}#image-modal .modal-content{display:flex;align-items:center;justify-content:center;gap:20px;height:100%}#image-modal .modal-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;background:0 0;color:#fff;border:none;cursor:pointer;z-index:10}#modal-prev{left:20px}#modal-next{right:20px}#modal-img{max-width:90%;max-height:90%;border-radius:12px;transition:transform .3s ease;touch-action:none}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes scaleUp{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.chat-image-group{display:flex;flex-wrap:wrap;gap:6px;max-width:80%;margin-top:5px;position:relative;align-items:flex-start;clear:both}.chat-image-group .chat-image{flex:1 1 calc(50% - 6px);max-width:calc(50% - 6px);height:auto;border-radius:6px;object-fit:cover}.chat-image-group .uploading-label{display:block;width:100%;text-align:center;font-size:12px;color:#888;margin-bottom:6px}.cancel-upload{position:absolute;right:6px;top:6px;background:0 0;border:none;color:#fff;font-size:16px;cursor:pointer}.upload-progress{width:100%;height:6px;background:rgba(255,255,255,.1);border-radius:4px;margin-top:8px;overflow:hidden}.progress-bar{height:100%;width:0%;background:#fd4d5d;transition:width .2s ease}#location-modal.modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.75);z-index:9999;display:flex;justify-content:center;align-items:center}#location-modal .modal-close{position:absolute;top:16px;right:20px;font-size:24px;color:#fff;cursor:pointer;z-index:10000}#location-modal #location-map-container{position:relative;width:90vw;max-width:600px;height:70vh;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.3)}#location-modal #location-map{width:100%;height:100%;border-radius:12px}#location-modal #location-share{position:absolute;bottom:16px;right:16px;padding:10px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;z-index:10001;box-shadow:0 4px 12px rgba(0,0,0,.2);animation:fadeUp .4s ease forwards;animation-delay:.3s}#location-modal #location-share:hover{background-color:#3a66c1}#map-popup-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.75);z-index:9999;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box;transition:opacity .3s ease}#map-popup-modal.hidden{display:none}#map-popup{background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);overflow:hidden}#map-popup-close{position:absolute;top:16px;right:20px;font-size:24px;color:#fff;cursor:pointer;z-index:10000;transition:transform .2s ease}#map-popup-close:hover{transform:scale(1.2)}@keyframes fadeUp{to{opacity:1}}.mini-map{width:100%;height:150px;border-radius:8px;margin-bottom:8px;z-index:0}.open-map-btn{background:#1a2533;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px}#video-container{display:flex;justify-content:center;gap:12px;margin-bottom:12px}video#local-video{width:48%;border-radius:12px;background:#000}video#remote-video{width:100%;border-radius:0;background:#000}.call-controls{display:flex;gap:8px}.modal-card{background:#111;color:#fff;padding:20px;border-radius:12px;min-width:260px;text-align:center}.modal .actions{display:flex;gap:10px;justify-content:center;margin-top:10px}.message.system{text-align:center;color:#aaa;font-style:italic;background:0 0}.end-call,.start-call{background:#1a2533;color:#fff;border:none;font-size:20px;padding:8px;cursor:pointer}.start-call{background:#4caf50}.end-call{background:var(--primary)}.dropdown{position:relative;display:inline-block}.dropdown-toggle{font-size:18px;color:#fff;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:background-color .2s ease}.dropdown-toggle:hover{background-color:transparent}.dropdown-menu{display:none;position:absolute;right:0;top:100%;min-width:160px;background-color:#fff;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.08);list-style:none;padding:8px 0;margin-top:6px;z-index:1000}.dropdown-menu li{padding:10px 16px;font-size:15px;color:#444;cursor:pointer;transition:background-color .2s ease}.dropdown-menu li:hover{background-color:#f0f0f0}.dropdown:hover .dropdown-menu{display:block}.empty-inbox{text-align:center;padding:2rem;color:#fff}.no-convo-icon{font-size:3rem;margin-bottom:1rem}.modal-image{max-width:90%;max-height:90%;margin:auto;display:block}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.chat-avatar{width:32px;height:32px;border-radius:50%;margin-right:.5rem;cursor:pointer;object-fit:cover;transition:transform .2s ease}.chat-timestamp{font-size:.75rem;color:#888;margin-top:.25rem;display:block}.chat-avatar:focus,.chat-avatar:hover{transform:scale(1.05)}.typing-indicator{display:flex;gap:4px;font-size:24px;animation:blink 1s infinite}.typing-indicator span{animation:blink 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,100%{opacity:.2}50%{opacity:1}}.message.outgoing{display:flex;justify-content:flex-end;max-width:78%;border-top-right-radius:0;margin-left:auto;flex-direction:column}.message.incoming{display:flex;justify-content:flex-start;background:#transparent;max-width:78%;border-top-left-radius:0;border-color:transparent;padding:6px 0;flex-direction:column}.message.incoming .chat-timestamp{color:#fff}.align-left{display:flex;justify-content:flex-start}.align-right{display:flex;justify-content:flex-end}.message.outgoing img{float:right}.message.outgoing .chat-timestamp{display:flex;justify-content:flex-end;color:#1f1c2c}.message.pending{opacity:.6;animation:pendingPulse 1.5s infinite}@keyframes pendingPulse{0%{opacity:.6}50%{opacity:1}100%{opacity:.6}}.swipe-wrapper{position:relative;overflow:hidden}.swipe-actions{position:absolute;top:0;right:0;bottom:0;width:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:0;pointer-events:none;transition:opacity .3s ease,z-index 0s linear .3s}.swipe-wrapper.swiped .swipe-actions{z-index:2;pointer-events:auto;transition:opacity .3s ease,z-index 0s}.swipe-content{position:relative;z-index:1;transition:transform .3s ease;pointer-events:auto}.swipe-wrapper.swiped .swipe-content{transform:translateX(-120px);pointer-events:none}.swipe-actions{opacity:0}.swipe-wrapper.swiped .swipe-actions{opacity:1;pointer-events:auto}@keyframes bounce{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.swipe-wrapper.swiped .swipe-actions button{animation:bounce .4s ease;pointer-events:auto}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,0,0,.4)}70%{box-shadow:0 0 0 10px rgba(255,0,0,0)}100%{box-shadow:0 0 0 0 rgba(255,0,0,0)}}.swipe-wrapper.swiped .delete-btn{animation:pulse 1.2s infinite}.delete-btn{height:100%;background:var(--danger);color:#fff;z-index:999;position:relative}.swipe-hint{position:absolute;bottom:6px;right:10px;font-size:.75rem;color:#fff;opacity:.8;pointer-events:none;display:flex;align-items:center;gap:4px;transition:opacity .3s ease}.swipe-wrapper.swiped .swipe-hint{opacity:0}@keyframes swipeHintPulse{0%{transform:translateX(0);opacity:.5}50%{transform:translateX(-5px);opacity:1}100%{transform:translateX(0);opacity:.5}}.swipe-hint i{animation:swipeHintPulse 1.5s infinite}#incoming-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:999}.call-modal-card{background:#fff;border-radius:16px;padding:24px;width:90%;max-width:320px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.2);animation:fadeIn .3s ease-in-out}.call-avatar img{width:96px;height:96px;border-radius:50%;object-fit:cover;margin-bottom:16px}.call-info h2{font-size:20px;margin-bottom:4px;color:#222}.call-subtext{font-size:14px;color:#666}.call-actions{display:flex;justify-content:space-around;margin-top:20px}.call-btn{width:56px;height:56px;border-radius:50%;border:none;font-size:20px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.call-btn.accept{background-color:#4caf50}.call-btn.reject{background-color:#f44336}@keyframes fadeIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}#video-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);display:flex;justify-content:center;align-items:center;z-index:9999}.video-call-card{position:relative;width:100%;height:100%;background:#000;overflow:hidden}#remote-video{width:100%;height:100%;object-fit:cover}.local-preview{position:absolute;bottom:20px;right:20px;width:120px;height:160px;border-radius:12px;border:2px solid #fff;object-fit:cover;z-index:2}.video-call-controls{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:3}.call-btn.reject{background-color:#f44336;color:#fff;border:none;border-radius:50%;width:64px;height:64px;font-size:24px;display:flex;align-items:center;justify-content:center}body.call-active .app{filter:blur(4px);pointer-events:none}.chat-image.uploading{opacity:.6;position:relative;display:inline-block}.chat-image.uploading::after{content:"";position:absolute;bottom:6px;right:8px;width:16px;height:16px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;animation:uploadSpin .8s linear infinite}@keyframes uploadSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-warning{position:absolute;background:#fff3cd;color:#856404;padding:8px;border:1px solid #ffeeba;border-radius:4px;margin-bottom:10px;font-size:14px;bottom:0}.chat-warning .close-warning{float:right;cursor:pointer}.chat-separator{text-align:center;margin:10px 0;font-size:.8rem;color:#666;font-weight:700;background:#f0f0f0;border-radius:12px;padding:4px 10px;display:inline-block}.chat-status{font-size:.75rem;margin-left:6px;vertical-align:middle;color:#999}.status-sent i{color:#999}.status-delivered i{color:#999}.status-read i{color:#4a90e2}.grid-view .user-card{display:inline-block;width:45%;margin:2%}.stack-item{display:block;margin-bottom:16px}.user-avatar{width:100%;border-radius:8px}.user-info{padding:8px}.hidden{display:none!important}.fade-out{opacity:0;transform:scale(.95);transition:opacity .3s ease,transform .3s ease}canvas#overlay{position:absolute;width:100%;height:75%}#user_interests{overflow-wrap:break-word}.user_about{text-align:justify;padding-right:10px;padding-left:10px}.edit-profile-main{display:flex;justify-content:center;padding-top:4rem;padding-bottom:4rem}.profile-card{background:rgba(255,255,255,.06);backdrop-filter:blur(12px);border-radius:20px;padding:2rem 1rem;max-width:600px;width:100%;box-shadow:0 0 30px rgba(0,0,0,.4);color:#fff;text-align:center;cursor:pointer;transition:transform .2s ease}.profile-card h1{text-align:center;margin-bottom:2rem;font-size:25px;font-weight:600}.profile-form .form-group{margin-bottom:1.5rem}.profile-form label{display:block;margin-bottom:.5rem;font-weight:500}.profile-form input,.profile-form select,.profile-form textarea{width:100%;padding:.75rem;border:none;border-radius:10px;background:rgba(255,255,255,.15);color:#fff;font-size:1rem;outline:0}.profile-form input::placeholder{color:#fff}.age-range{display:flex;gap:1rem}#preview-container{margin-top:1rem;text-align:center;max-height:300px;overflow-y:auto;margin-bottom:1rem;padding-right:.5rem}#preview-image{max-width:200px;border-radius:12px;box-shadow:0 0 10px rgba(0,0,0,.3);transition:opacity .3s ease}.preview-thumb{width:80px!important;height:80px;object-fit:cover;margin:4px;border-radius:6px}.filepond--root{max-height:100%;overflow-y:auto;padding:.5rem}.filepond--credits{display:none}.filepond--drop-label label{color:#000!important}.mark-primary{display:block;margin-top:.5rem;background:gold;border:none;padding:.4rem .8rem;border-radius:6px;font-weight:700;cursor:pointer}.filepond--item{position:relative;clear:both}.profile-gallery{position:relative;width:100%;margin-top:2rem;margin-left:-13px;clear:both}.profile-gallery-user{position:relative;width:100%;margin-top:2rem;clear:both}.gallery-grid{display:grid;flex-wrap:wrap;margin-top:1rem;grid-template-columns:repeat(3,1fr);gap:.5rem}.gallery-grid img{width:120px;height:120px;object-fit:cover;border-radius:8px;box-shadow:0 0 8px rgba(0,0,0,.3);transition:transform .3s ease}.gallery-grid img:hover{transform:scale(1.05)}.profile-main{display:block;width:100%;padding:2rem 1rem;margin-top:50px}section{display:block;width:100%;margin-bottom:2rem;clear:both}.clearfix::after{content:"";display:table;clear:both}.profile-header{text-align:center;margin-bottom:2rem}.profile-ring-wrapper{position:relative;width:160px;height:160px;margin:0 auto}.completion-ring{position:absolute;top:0;left:0;width:160px;height:160px;z-index:1;border-radius:50%}.completion-ring .bg{fill:none;stroke:#eee;stroke-width:3.8}.completion-ring .progress{fill:none;stroke:#4caf50;stroke-width:3.8;stroke-linecap:round;stroke-dasharray:0,100;animation:fillRing 1.5s ease-out forwards;transform:rotate(-90deg);transform-origin:center}@keyframes fillRing{to{stroke-dasharray:var(--completion),100}}.profile-photo{position:absolute;top:8px;left:8px;width:144px;height:144px;border-radius:50%;object-fit:cover;z-index:2;box-shadow:0 0 10px rgba(0,0,0,.3);transition:transform .3s ease,box-shadow .3s ease}.profile-photo:hover{transform:scale(1.05);box-shadow:0 0 15px rgba(255,255,255,.4)}.profile-ring-wrapper:hover .completion-ring .progress{stroke:#ffcc00;filter:drop-shadow(0 0 6px #ffcc00)}.completion-text{position:absolute;top:-8%;left:50%;transform:translate(-50%,-50%);width:100%;font-size:1rem;font-weight:700;color:#333}.step{animation:fadeSlideIn .5s ease forwards;opacity:0;display:none}.step.active{opacity:1;display:block}.missing-field{border:2px solid #ff4f81;background-color:#fff0f5}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.radio-group label{background:0 0;padding:.75rem 1rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background .3s ease;box-shadow:0 0 30px rgba(0,0,0,.4)}.radio-group input[type=radio]{margin-right:.5rem;display:none}.radio-group input[type=radio]:checked+label{background:linear-gradient(to right,rgba(255,255,255,.85),rgba(240,240,240,.6));color:#000}.radio-group label:hover{background:#e0e0e0}.button-container{display:flex;justify-content:space-between;margin-top:2rem}.textarea-wrapper{position:relative;margin-bottom:1.5rem}#about_me{width:100%;padding:1rem;font-size:1rem;border-radius:10px;border:1px solid #ccc;resize:vertical}#char-count{position:absolute;bottom:8px;right:12px;font-size:.85rem;color:#666}.location-wrapper{display:flex;flex-direction:column;gap:.5rem}#location{background:0 0;border:1px solid #ccc;padding:.75rem;border-radius:8px}#get-location{background:#4caf50;color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer}.save-status{font-size:.9rem;color:#ccc;margin-top:1rem;text-align:center;transition:color .3s ease}.save-status.saving{color:#fc0}.save-status.saved{color:#4caf50}.save-status.error{color:#ff3b2e}.profile-grid-details{display:block;position:relative;width:33.3%;float:left;text-align:center}#lifestyle{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.profile-grid-details-lifestyle{background:0 0;padding:10px;border-radius:6px}.interest-tag{display:inline-block;margin:.25rem;padding:.4rem .6rem;background-color:#f5f5f5;border-radius:6px;font-size:.9rem;color:#333;box-shadow:0 6px 14px rgba(0,0,0,.5)}.interest-tag i{margin-right:6px;color:#e91e63}.icon-color{color:#e91e63}.profile-list-details{list-style:none;padding:1rem;margin:1rem 0;border-radius:12px;background:#f9f9f9;box-shadow:0 12px 28px rgba(0,0,0,.5);font-family:'Segoe UI',sans-serif}.profile-list-details li{display:flex;align-items:center;padding:.75rem 0;border-bottom:1px solid #eee;font-size:1rem;color:#333}.profile-list-details li:last-child{border-bottom:none}.profile-list-details strong{flex:0 0 230px;font-weight:600;color:#444;display:flex;align-items:center;gap:.5rem}.profile-list-details i{font-size:1.2rem;color:#ff5e5e}.profile-list-details span{flex:1;font-weight:500;color:#555;display:contents}.profile-list-details li:hover{background:#fff;box-shadow:inset 0 0 6px rgba(0,0,0,.05)}.gallery-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .4s ease}.gallery-modal.hidden{display:none}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:1}.gallery-content{position:relative;z-index:2;max-width:90%;max-height:80%;display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-content img{height:90vh;width:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;transition:transform .4s ease}.close-btn,.nav-btn{position:absolute;top:50%;transform:translateY(-50%);font-size:32px;color:var(--primary);background:0 0;border:none;cursor:pointer;z-index:3}.nav-btn.prev{left:20px}.nav-btn.next{right:20px}.close-btn{top:20px;right:30px;font-size:40px;transform:none}#profile-step-header .required-label{font-size:.8rem;font-weight:700;color:#d9534f;text-transform:uppercase;margin-bottom:4px}#profile-step-header .required-asterisk{color:#d9534f;font-weight:700;margin-left:4px}#personalityModal{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.6)}#personalityModal .modal-content{background:#000;margin:10% auto;padding:20px;border-radius:8px;width:80%;max-width:600px;font-family:Arial,sans-serif}#personalityModal .close{float:right;font-size:24px;cursor:pointer}.types-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:15px}.types-grid div{padding:6px;border-bottom:1px solid #eee}#openPersonalityModal{margin-top:10px}body.login-body{background:linear-gradient(to right,#1f1c2c,#928dab);font-family:Poppins,sans-serif;color:#fff;margin:0;padding:0}.login-container{max-width:400px;margin:4rem auto;background:0 0;padding:2rem;border-radius:20px;backdrop-filter:blur(10px);text-align:center;animation:fadeSlideIn .5s ease forwards;margin-top:20px}.login-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.login-form input{padding:.75rem;border:none;border-radius:10px;background:rgba(255,255,255,.4);color:#fff;font-size:1rem;outline:0}.login-form button{padding:.75rem;background:var(--primary-gradient);border:none;border-radius:12px;font-size:1rem;font-weight:700;color:#fff;cursor:pointer}.google-btn{background:#4285f4;color:#fff;padding:.75rem;border-radius:12px;border:none;font-weight:700;cursor:pointer;margin-bottom:1rem}.divider{margin:1rem 0;font-size:.9rem;color:#fff}.signup-link{font-size:.85rem}.signup-main{display:flex;justify-content:center;padding:4rem 1rem}.signup-card{background:0 0;backdrop-filter:blur(12px);border:none;padding:2rem;max-width:500px;width:100%;text-align:center;margin-top:-30px}.signup-card h1{font-size:2rem;margin-bottom:.5rem}.signup-card p{margin-bottom:2rem;font-size:1rem;color:#fff}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-size:14px;font-weight:500;color:#fff}.form-group input{width:100%;padding:.75rem;border:none;border-radius:10px;background:rgba(255,255,255,.4);color:#fff;font-size:1rem;outline:0}.signup-btn{width:100%;padding:1rem;background:0 0;border:none;border-radius:12px;font-size:1.2rem;font-weight:700;color:#fff;cursor:pointer;transition:background .3s ease}.signup-btn:hover{background:0 0}.signin-link{margin-top:1rem;font-size:.9rem;color:#ccc}.dob-wheel-container{text-align:center;margin:30px 0;border-bottom:1px solid rgba(255,255,255,.9)}.wheel-group{display:flex;justify-content:center;gap:12px;padding:10px;background:0 0;border-radius:12px}.wheel{width:80px;height:120px;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;position:relative;background:0 0;border-radius:8px;border:1px solid #ccc}.wheel::-webkit-scrollbar{display:none}.wheel div{height:40px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;scroll-snap-align:center;transition:transform .2s ease,opacity .2s ease;opacity:.5;transform:scale(.85)}.wheel div.active{font-size:24px;font-weight:700;opacity:1;transform:scale(1)}.wheel-pad{height:40px;opacity:0;pointer-events:none}.leaflet_prefix{display:none;height:0;width:0}.personality-explore{padding:1rem;margin-bottom:2rem}.masonry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.personality-card{position:relative;background:rgba(255,255,255,.08);border-radius:12px;padding:1rem;text-align:center;transition:transform .2s ease;cursor:pointer;border:2px solid #f7c6c7;box-shadow:0 0 10px rgba(247,198,199,.6)}.personality-card:hover{transform:scale(1.05);box-shadow:0 0 12px rgba(255,255,255,.3)}.match-count{position:absolute;top:6px;right:8px;background:#928dab;color:#fff;font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:12px;transition:background-color .3s ease}.personality-card i{font-size:2.2rem;margin-bottom:.5rem;color:#928dab}.personality-card.vibe{background:linear-gradient(135deg,#ffe0e0,#fff5f5);border:2px solid #928dab}.personality-card span{display:block;font-weight:700;font-size:.95rem;color:#333}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0);animation:bounceIn .6s ease}@keyframes bounceIn{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.05);opacity:1}100%{transform:scale(1)}}#personality-modal{margin-top:2.5rem;padding-bottom:6rem}body.modal-open{overflow:hidden}#personality-modal .close-button{display:flex;justify-content:end}#personality-modal #modal-title{display:grid;justify-content:center}#personality-modal{display:none;position:fixed;z-index:999;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.6);overflow-y:auto}#personality-modal .modal-content{margin:5% auto;padding:1rem;width:100%;max-width:1000px!important;min-height:100%;animation:fadeIn .3s ease-in-out}@keyframes slideUp{from{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}#personality-modal .profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;justify-items:center;margin-top:1rem}.profile-card img{width:100%;border-radius:8px;object-fit:cover}.modal-filters{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.modal-filters label{font-weight:700;margin-top:.5rem}.vibes-tabs{position:relative;min-height:400px;overflow:hidden}.vibes-tabs section{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.vibes-tabs section.active{position:relative;opacity:1;visibility:visible;transform:translateY(0);z-index:1}.vibe-weekend-tabs{position:relative;border:none;padding:8px 16px;color:#fff;font-weight:700;cursor:pointer;transition:color .3s ease;width:50%;background:0 0;border-radius:0;overflow:hidden}.vibe-weekend-tabs.active{color:#d8a7ca}.vibe-weekend-tab-indicator{position:absolute;bottom:0;height:3px;width:0;background:#d8a7ca;transition:left .3s ease,width .3s ease}.vibe-ripple{position:absolute;width:20px;height:20px;background:rgba(93,213,200,.4);border-radius:50%;transform:scale(0);animation:vibeRippleEffect .6s ease-out;pointer-events:none;z-index:2}@keyframes vibeRippleEffect{to{transform:scale(4);opacity:0}}.vibe-grid h2{color:#f7c6c7;font-size:28px;margin-bottom:8px}.vibe-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:14px;padding:20px 16px;text-align:center;color:#fff;transition:transform .3s ease;backdrop-filter:blur(8px);min-width:120px;min-height:140px;position:relative}.vibe-card i{font-size:36px;margin-bottom:8px;color:#f7c6c7}.vibe-card span{display:block;font-size:14px;margin-top:4px}.vibe-card .vibe-count{position:absolute;top:10px;right:12px;background:#f7c6c7;color:#000;font-size:12px;padding:4px 8px;border-radius:12px;font-weight:700}.vibe-card:hover{transform:scale(1.05);box-shadow:0 0 12px rgba(255,255,255,.3)}.view-vibe-button{margin-top:6px;background:#eee;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-weight:700}#vibe-modal{position:fixed;top:0;left:0;width:100%;height:100%;margin-top:60px;padding-bottom:6rem;display:none;z-index:2;overflow-y:auto}#vibe-modal .modal-content{background:rgba(255,255,255,.9);margin:0 auto;padding:30px;border-radius:0;max-width:700px;min-height:100%;box-shadow:0 0 20px rgba(0,0,0,.3);animation:fadeIn .3s ease-in-out}#vibe-modal .close-button{position:absolute;top:20px;right:30px;font-size:28px;font-weight:700;color:#333;cursor:pointer}#vibe-header{text-align:center;margin-bottom:10px;display:grid;justify-content:center}#vibe-header i{display:block;margin:10px auto;color:#f7c6c7}#vibe-header h3{margin:0;font-size:24px;font-weight:600;color:#222}#vibe-description{text-align:center;font-size:16px;margin-bottom:20px;color:#555}#vibe-count{font-weight:700;color:#f7c6c7}#vibe-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-top:20px}#vibe-members .profile-card{background:#fafafa;border-radius:10px;padding:10px;text-align:center;box-shadow:0 0 6px rgba(0,0,0,.1)}#vibe-members .profile-card img{width:100%;border-radius:8px;margin-bottom:8px}#vibe-members .info{font-size:14px;color:#333}#vibe-members .grid-card{background:0 0}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.popular-vibe{box-shadow:0 0 12px rgba(255,100,150,.4)}.mutual-match{border:2px solid #ff69b4;box-shadow:0 0 10px rgba(255,105,180,.4)}.mutual-tag{display:inline-block;margin-top:4px;font-size:12px;color:#ff69b4;font-weight:700}.event-card{display:flex;align-items:center;background:rgba(255,255,255,.08);padding:12px 16px;border-radius:10px;margin-bottom:12px;color:#fff;transition:background .3s ease}.event-card i{font-size:28px;margin-right:12px;color:#f7c6c7}.event-card:hover{background:rgba(255,255,255,.2)}.joined{border:2px solid #f7c6c7;box-shadow:0 0 10px rgba(247,198,199,.6)}.join-button,.leave-button{margin-top:8px;padding:6px 12px;border:none;border-radius:8px;cursor:pointer;font-weight:700}.join-button{background:#f7c6c7;color:#000}.leave-button{background:0 0;color:#f7c6c7;border:1px solid #f7c6c7}.join-button,.leave-button{transition:all .3s ease;transform-origin:center;position:relative;z-index:1}.join-button:hover{background-color:#ffe066;color:#000;transform:scale(1.05);box-shadow:0 0 12px rgba(255,224,102,.6)}.leave-button:hover{background-color:#ff6b6b;color:#fff;transform:scale(1.05);box-shadow:0 0 12px rgba(255,107,107,.6)}.join-button::after,.leave-button::after{content:'';position:absolute;inset:0;border-radius:6px;opacity:0;transition:opacity .3s ease;z-index:-1}.join-button:hover::after{background:radial-gradient(circle at center,#fff3b0 0,transparent 70%);opacity:1}.leave-button:hover::after{background:radial-gradient(circle at center,#ffb3b3 0,transparent 70%);opacity:1}@keyframes joinPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,224,102,.4)}70%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(255,224,102,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,224,102,0)}}.join-button:hover{animation:joinPulse 1.2s infinite}.view-vibe-button{background-color:#f0f0ff;color:#333;border:none;padding:6px 12px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative;z-index:1}.view-vibe-button:hover{background-color:#d0d0ff;color:#000;transform:scale(1.05);box-shadow:0 0 10px rgba(160,160,255,.5)}.view-vibe-button::after{content:'';position:absolute;inset:0;border-radius:6px;background:radial-gradient(circle at center,#e0e0ff 0,transparent 70%);opacity:0;transition:opacity .3s ease;z-index:-1}.view-vibe-button:hover::after{opacity:1}@keyframes viewPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(160,160,255,.4)}70%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(160,160,255,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(160,160,255,0)}}.view-vibe-button:hover{animation:viewPulse 1.2s infinite}.profile-card.blurred img{filter:blur(8px);opacity:.7}.profile-card.blurred .info{filter:blur(6px);opacity:.6;pointer-events:none}.profile-card.blurred::after{content:"Liked You";position:absolute;bottom:8px;right:8px;background:rgba(255,215,0,.9);color:#000;font-size:12px;padding:2px 6px;border-radius:4px;z-index:2}#reveal-modal-personalities{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:none;justify-content:center;align-items:center;z-index:3333}#reveal-modal-personalities .modal-content{background:linear-gradient(135deg,#ca2339,#ee9ca7);color:#fff;padding:20px;border-radius:8px;text-align:center;font-family:Poppins,sans-serif}#reveal-modal-vibes{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:none;justify-content:center;align-items:center;z-index:3333}#reveal-modal-vibes .modal-content{background:linear-gradient(135deg,#ca2339,#ee9ca7);color:#fff;padding:20px;border-radius:8px;text-align:center;font-family:Poppins,sans-serif}.skeleton-card{display:flex;align-items:center;gap:12px;padding:1rem;background:#f0f0f0;border-bottom-right-radius:8px;animation:message_pulse 1.5s infinite ease-in-out}.skeleton-avatar{width:48px;height:48px;border-radius:50%;background:#ddd}.skeleton-lines{flex:1}.skeleton-line{height:12px;background:#ddd;margin-bottom:8px;border-radius:4px}.skeleton-line.short{width:40%}.skeleton-line.long{width:80%}@keyframes message_pulse{0%{background-color:#928dab}50%{background-color:#ddd}100%{background-color:#928dab}}.matches{position:relative;min-height:400px;overflow:hidden}.matches section{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.matches section.active{position:relative;opacity:1;visibility:visible;transform:translateY(0);z-index:1}.match-tabs{position:relative;display:flex;gap:12px;margin-bottom:16px}.match-like-tabs{position:relative;border:none;padding:8px 16px;color:#fff;font-weight:700;cursor:pointer;transition:color .3s ease;width:50%;background:0 0;border-radius:0;overflow:hidden}.match-like-tabs.active{color:#5dd5c8}.tab-indicator{position:absolute;bottom:0;height:3px;width:0;background:#5dd5c8;transition:left .3s ease,width .3s ease}.ripple{position:absolute;width:20px;height:20px;background:rgba(93,213,200,.4);border-radius:50%;transform:scale(0);animation:rippleEffect .6s ease-out;pointer-events:none;z-index:2}@keyframes rippleEffect{to{transform:scale(4);opacity:0}}#received-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;padding:1rem}.received-card{padding-bottom:15px;background:0 0;box-shadow:0 12px 28px rgba(0,0,0,.5)}.received-card.blurred img{filter:blur(8px)}.received-card.blurred .info strong{color:transparent;text-shadow:0 0 5px #999}.list .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;text-align:center;color:#fff}#received-list .empty-state{grid-column:1/-1;justify-self:center}.reveal-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(24,90,157,.85);display:flex;align-items:center;justify-content:center;z-index:2222}.reveal-modal{background:linear-gradient(135deg,#185a9d,#43cea2);color:#fff;font-family:Poppins,sans-serif;border-radius:12px;padding:20px;box-shadow:0 8px 20px rgba(0,0,0,.3);animation:fadeInScale .3s ease}.reveal-modal-header h2{margin:0;font-size:1.4rem;text-align:center}.reveal-modal-body{margin:15px 0;text-align:center;font-size:1rem}.reveal-modal-actions{display:flex;justify-content:space-between;margin-top:20px}.reveal-modal-actions .btn{flex:1;margin:0 5px;padding:10px;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:background .2s ease}.btn-cancel{background:rgba(255,255,255,.2);color:#fff}.btn-cancel:hover{background:rgba(255,255,255,.35)}.btn-confirm{background:#fff;color:#185a9d}.btn-confirm:hover{background:#e0e0e0}@keyframes fadeInScale{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.btn-boost{background:linear-gradient(135deg,#185a9d,#43cea2);color:#fff;font-weight:700;border:none;border-radius:0;padding:10px 20px;cursor:pointer;margin-bottom:10px}.btn-boost:hover{opacity:.9}.card.revealed{animation:revealAnim .6s ease forwards,glowPulse 1.5s ease}@keyframes revealAnim{0%{filter:blur(6px);transform:scale(.95);opacity:.6}100%{filter:blur(0);transform:scale(1);opacity:1}}@keyframes glowPulse{0%{box-shadow:0 0 0 rgba(255,215,0,0)}50%{box-shadow:0 0 20px rgba(255,215,0,.9)}100%{box-shadow:0 0 0 rgba(255,215,0,0)}}.btn-boost.active{animation:boostLift .8s ease}@keyframes boostLift{0%{transform:translateY(0)}30%{transform:translateY(-8px) scale(1.05)}60%{transform:translateY(0)}100%{transform:translateY(0)}}.btn-boost.boosted{animation:pulseGlow 2s infinite;background-color:#ff9800;color:#fff}@keyframes pulseGlow{0%{box-shadow:0 0 0 rgba(255,152,0,.7)}50%{box-shadow:0 0 12px rgba(255,152,0,.9)}100%{box-shadow:0 0 0 rgba(255,152,0,.7)}}#report-modal.modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.7);z-index:9999;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box}#report-modal .modal-content{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:400px;box-shadow:0 8px 24px rgba(0,0,0,.3);position:relative}#report-modal .modal-close{position:absolute;top:16px;right:20px;font-size:24px;color:#fff;cursor:pointer;z-index:10000}#report-modal h3{margin-top:0;font-size:20px;color:#333;text-align:center}#report-modal input#report-title,#report-modal textarea#report-detail{width:100%;padding:12px;margin-bottom:12px;border:1px solid #ccc;border-radius:8px;font-size:14px;box-sizing:border-box}#report-modal textarea#report-detail{height:120px;resize:vertical}#report-modal button{width:100%;padding:12px;background-color:#e74c3c;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:background-color .2s ease}#report-modal button:hover{background-color:#c0392b}#report-modal input::placeholder,#report-modal textarea::placeholder{color:#888;font-style:italic;opacity:1;transition:color .3s ease}.ajax-loader{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.85);backdrop-filter:blur(4px);z-index:8888;display:flex;justify-content:center;align-items:center;transition:opacity .3s ease}.ajax-loader.hidden{display:none}.loader-pulse{text-align:center;color:#fff}.loader-pulse .heart{width:24px;height:24px;margin:8px auto;background-color:#726b92;position:relative;transform:rotate(-45deg);animation:loader-pulse 1.2s infinite ease-in-out}.loader-pulse .heart::after,.loader-pulse .heart::before{content:"";width:24px;height:24px;background-color:inherit;border-radius:50%;position:absolute}.loader-pulse .heart::before{top:-12px;left:0}.loader-pulse .heart::after{left:12px;top:0}.loader-pulse .heart:nth-child(2){animation-delay:.2s;background-color:#928dab}.loader-pulse .heart:nth-child(3){animation-delay:.4s;background-color:#bdbacc}@keyframes loader-pulse{0%,100%{transform:scale(1) rotate(-45deg);opacity:.6}50%{transform:scale(1.5) rotate(-45deg);opacity:1}}.notification-panel{background:#fff;border-radius:12px;padding:16px;box-shadow:0 0 12px rgba(0,0,0,.1);max-width:400px;margin:auto;font-family:Poppins,sans-serif}.notification-panel h2{font-size:20px;margin-bottom:12px;color:#ff4f81}#notification-list li{padding:10px;border-bottom:1px solid #eee;font-size:14px;color:#333}#notification-list li.unread{background:#fff5f8;font-weight:700}.notification-inbox{padding:20px;font-family:Poppins,sans-serif}.section-title{font-size:20px;color:#ff4f81;margin-bottom:16px}.notification-list{list-style:none;padding:0}.notification-list li{background:#fff;border-radius:8px;padding:12px;margin-bottom:10px;box-shadow:0 0 6px rgba(0,0,0,.05);transition:background .3s ease}.notification-list li.unread{background:#fff5f8;font-weight:700}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.notification-anchor{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px}.notification-anchor i{font-size:20px}.notification-badge-count{position:absolute;top:-10px;right:-10px;background:#ff4f81;color:#fff;font-size:12px;font-weight:700;padding:2px 6px;border-radius:12px;display:none;animation:popIn .3s ease}@keyframes popIn{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}.notification-link{color:var(--bg)}.notification-item{display:flex;align-items:center;gap:12px;padding:10px}.notification-item .avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.notification-text{flex:1;font-size:.95rem;color:#333}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;font-family:Poppins,sans-serif}.pagination-controls button{background:0 0;color:#fff;border:none;padding:10px 18px;border-radius:30px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(255,79,129,.3);transition:transform .2s ease,box-shadow .2s ease}.pagination-controls button:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(255,79,129,.4)}.pagination-controls button:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}#page-indicator{font-size:14px;font-weight:600;color:#ff4f81;background:#fff5f8;padding:6px 12px;border-radius:20px;box-shadow:inset 0 0 4px rgba(255,79,129,.1)}select{position:relative;top:20px;left:50%;transform:translateX(-50%);z-index:2;padding:10px 18px;font-size:14px;font-weight:700;border:none;background:0 0;margin-bottom:20px;color:#fff;box-shadow:0 6px 16px rgba(255,79,129,.4);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}select:hover{box-shadow:0 8px 20px rgba(255,79,129,.5)}select:focus{outline:0;box-shadow:0 0 0 3px rgba(255,255,255,.3)}option{background-color:#fff;color:#000}.theme-switcher{position:relative;top:20px;left:50%;transform:translateX(-50%);z-index:9999;padding:10px 18px;font-size:14px;font-weight:700;border:none;background:0 0;margin-bottom:20px;color:#fff;box-shadow:0 6px 16px rgba(255,79,129,.4);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.theme-switcher:hover{box-shadow:0 8px 20px rgba(255,79,129,.5)}.theme-switcher:focus{outline:0;box-shadow:0 0 0 3px rgba(255,255,255,.3)}#age-slider{margin:20px 0;width:100%}.age-values{font-weight:700;color:#ff4f81;text-align:center;margin-bottom:10px}#blocked-modal.modal{border:none;padding:20px;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2);animation:blockedfadeIn .3s ease}#blocked-modal .modal-content h3{margin-top:0}@keyframes blockedfadeIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.label{font-size:16px;font-weight:600;margin-bottom:12px;color:#444;display:flex;align-items:center;gap:8px}.grid.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.settings.input{padding:12px 16px;font-size:14px;border:2px solid #eee;border-radius:12px;background:#fff;color:var(--primary);transition:border-color .3s ease,box-shadow .3s ease;box-shadow:0 2px 6px rgba(0,0,0,.05)}.settings.input:focus{border-color:#ff4f81;box-shadow:0 0 0 3px rgba(255,79,129,.2);outline:0}.settings.input::placeholder{color:rgba(0,0,0,.4);font-style:italic;transition:color .3s ease}.settings.input:focus::placeholder{color:rgba(255,79,129,.5)}.blocked-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.05);background:#fff;border-radius:8px;transition:background .3s ease}.blocked-user:hover{background:rgba(255,79,129,.05)}.blocked-user .avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 2px 6px rgba(0,0,0,.1)}.blocked-user span{flex-grow:1;font-weight:500;color:#333;font-size:14px}.blocked-user button{background:#ff4f81;color:#fff;border:none;padding:8px 14px;border-radius:20px;font-size:13px;cursor:pointer;transition:background .3s ease}.blocked-user button:hover{background:#e03e6f}#blocked-list{list-style:none}.blocked-empty{margin-left:-40px;text-align:center;padding:18px 12px;color:rgba(0,0,0,.7);font-size:14px}.blocked-empty i{font-size:24px;color:var(--primary-gradient);margin-bottom:8px}#export-spinner{width:32px;height:32px;border:4px solid #eee;border-top:4px solid #ff4f81;border-radius:50%;animation:export_spin .8s linear infinite;margin:16px auto}@keyframes export_spin{to{transform:rotate(360deg)}}.strength-label{font-size:.9em;margin-top:4px;color:#888}.help-content{display:flex;flex-direction:column;align-items:flex-start;overflow-y:auto;padding:16px;max-width:100%;box-sizing:border-box}.help-content section{width:100%;margin-bottom:24px}.help-content h2{font-size:1.25rem;margin-bottom:8px;color:#fff}.help-content p,.help-content ul{font-size:1rem;line-height:1.5;color:#fff}.help-content ul{padding-left:20px;margin-top:8px}.help-content li{margin-bottom:6px}@media screen and (max-width:480px){.help-content{padding:12px}.help-content h2{font-size:1.1rem}.help-content p,.help-content ul{font-size:.95rem}}dialog.settings-modals::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.settings-modals{border:none;border-radius:12px;padding:20px;max-width:90%;margin:auto;background:var(--modal-bg,#fff);box-shadow:0 8px 24px rgba(0,0,0,.2);color:#333}.settings-contact{display:flex;flex-direction:column;gap:16px;padding:16px;max-width:100%;box-sizing:border-box}.settings-contact input,.settings-contact textarea{width:100%;padding:12px 14px;font-size:1rem;border:1px solid #ccc;border-radius:8px;background:#f9f9f9;color:#333;transition:border-color .2s ease}.settings-contact input:focus,.settings-contact textarea:focus{border-color:var(--primary,#66a6ff);outline:0;background:#fff}.settings-contact textarea{min-height:120px;resize:vertical}.settings-contact button{margin-top:8px}.settings-contact input::placeholder,.settings-contact textarea::placeholder{color:rgba(0,0,0,.4)}.settings-feedback{display:flex;flex-direction:column;gap:16px;padding:16px;max-width:100%;box-sizing:border-box}.settings-feedback input,.settings-feedback textarea{width:100%;padding:12px 14px;font-size:1rem;border:1px solid #ccc;border-radius:8px;background:#f9f9f9;color:#333;transition:border-color .2s ease}.settings-feedback input:focus,.settings-feedback textarea:focus{border-color:var(--primary,#66a6ff);outline:0;background:#fff}.settings-feedback textarea{min-height:120px;resize:vertical}.settings-feedback button{margin-top:8px}.settings-feedback input::placeholder,.settings-feedback textarea::placeholder{color:rgba(0,0,0,.4)}.char-hint{display:block;margin-top:6px;font-size:13px;font-weight:500}.gift-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#ff9a44,#ff6a88);display:none;justify-content:center;align-items:center;z-index:9999;font-family:Poppins,sans-serif;color:#fff}.gift-content{background:rgba(0,0,0,.7);padding:24px;border-radius:16px;width:360px;box-shadow:0 12px 28px rgba(0,0,0,.5)}.gift-content h2{text-align:center;color:#ffd93d}.gift-content label{display:block;margin-top:12px;font-weight:700}.gift-content input,.gift-content select,.gift-content textarea{width:100%;margin-top:4px;padding:8px;border-radius:8px;border:none;font-size:14px}.gift-content button{margin-top:12px}.swipe-track{transition:transform .4s ease,opacity .4s ease}.modal.swipe-left .swipe-track{transform:translateX(-100px);opacity:.7}.modal.swipe-right .swipe-track{transform:translateX(100px);opacity:.7}.jolani-footer{text-align:center;padding:40px 20px}.footer-logo-container{display:block;animation:fadeInUp .6s ease}.jolani-logo{width:60px;height:auto;margin-bottom:10px}.jolani-name{font-size:24px;font-weight:600;margin:0;color:#333}.jolani-tagline{font-size:14px;color:#777;margin-top:6px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.avatar-loader{width:25px;height:25px;border:4px solid rgba(255,255,255,.3);border-top-color:#f36;border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.avatar-wrapper{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar-wrapper img{display:none;width:100%;height:100%;object-fit:cover;border-radius:50%}img[data-avatar]{opacity:0;transition:opacity .5s ease-in}img[data-avatar].loaded{opacity:1}#learn-more{background:0 0;box-shadow:0 6px 16px rgba(255,79,129,.4);border:none;text-decoration:underline}#learn-more-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:9999}#learn-more-dialog{background:var(--success);border-radius:8px;max-width:480px;width:90%;padding:16px;box-shadow:0 4px 12px rgba(0,0,0,.3)}#learn-more-header{display:flex;justify-content:space-between;align-items:center}#learn-more-header h2{margin:0;font-size:1.2rem}#learn-more-close{background:0 0;border:none;font-size:1.5rem;line-height:1;cursor:pointer}#learn-more-body p{margin:12px 0;font-size:.95rem;line-height:1.4}#learn-more-footer{text-align:right;margin-top:12px}.flutter-ad-container{width:100%;height:200px;background:0 0}