:root{--color-accent:var(--color-accent);--color-accent-rgb:230, 57, 70;--color-success:var(--color-success);--color-success-rgb:46, 204, 113;--color-night:#0a0a0c;--color-ink:#e8e8e8}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{color:var(--color-ink);-webkit-user-select:none;user-select:none;background:0 0}#app-bg{z-index:-1;background:var(--color-night);position:fixed;inset:0}body.map-active #app-bg{display:none}input,textarea,[contenteditable],.selectable,.message-bubble,.bio{-webkit-user-select:text;user-select:text}h1,h2,.display{letter-spacing:-.01em;font-family:Jost,Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500}.navbar{-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(var(--color-accent-rgb), .15);padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));z-index:10000;background:#0a0608f2;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.navbar a{color:#ffffff59;letter-spacing:.5px;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.navbar a .nav-icon{width:22px;height:22px}.navbar a.router-link-active{color:var(--color-accent);filter:drop-shadow(0 0 6px rgba(var(--color-accent-rgb), .5))}#app{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}@media (width>=768px){.navbar{border-top:none;border-bottom:1px solid rgba(var(--color-accent-rgb), .15);top:0;bottom:auto}#app{padding-bottom:0}}.page-content{max-width:480px;padding:calc(16px + var(--status-bar-height,env(safe-area-inset-top,0px))) 16px 16px;margin:0 auto}@media (width>=768px){.page-content{padding-top:72px}}.auth-wrapper{min-height:100dvh;padding:calc(16px + var(--status-bar-height,env(safe-area-inset-top,0px))) 16px calc(16px + env(safe-area-inset-bottom,0px));justify-content:center;align-items:center;display:flex}.auth-page{background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;width:100%;max-width:400px;padding:32px 24px}.auth-page h1{text-align:center;color:var(--color-accent);letter-spacing:1px;text-shadow:0 0 40px rgba(var(--color-accent-rgb), .4);margin-bottom:28px;font-size:28px}.auth-page input{color:#fff;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;width:100%;margin-bottom:12px;padding:12px 14px;font-size:16px;transition:border-color .2s;display:block}.auth-page input::placeholder{color:#ffffff40}.auth-page input:focus{border-color:rgba(var(--color-accent-rgb), .4);outline:none}.auth-page button{background:var(--color-accent);color:#fff;cursor:pointer;width:100%;box-shadow:0 0 24px rgba(var(--color-accent-rgb), .25);border:none;border-radius:10px;padding:14px;font-size:16px;font-weight:600;transition:box-shadow .2s}.auth-page button:hover{box-shadow:0 0 32px rgba(var(--color-accent-rgb), .45)}.auth-page p{color:#fff6;text-align:center;margin-top:16px;font-size:14px}.auth-page a{color:#ff6b6b;text-decoration:none}.error{color:#ff6b6b;text-align:center;margin-top:8px}.swipe-container{left:0;right:0;top:var(--status-bar-height,env(safe-area-inset-top,0px));bottom:calc(64px + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;overflow-x:hidden}@media (width>=768px){.swipe-container{top:60px;bottom:0}}.card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:16px;width:100%;max-width:380px;overflow:hidden}.card img{object-fit:cover;width:100%;height:60vw;max-height:420px}.info{padding:16px}.info h2{color:#fff;font-size:22px}.info p{color:#ffffff80;margin-top:4px}.tags span{background:rgba(var(--color-accent-rgb), .12);color:#ff6b6b;border-radius:12px;margin:4px 2px;padding:4px 10px;font-size:12px;display:inline-block}.actions{justify-content:space-around;padding:16px;display:flex}.actions button{cursor:pointer;border:none;border-radius:50%;width:64px;height:64px;transition:background-color .15s,color .15s,box-shadow .15s}.pass{color:#fff6;background:#ffffff0f}.pass:hover{background:var(--color-accent);color:#fff;box-shadow:0 0 20px rgba(var(--color-accent-rgb), .45)}.like{background:rgba(var(--color-success-rgb), .18);color:rgba(var(--color-success-rgb), .9)}.like:hover{background:var(--color-success);color:#fff;box-shadow:0 0 20px rgba(var(--color-success-rgb), .45)}.match-item{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:16px;transition:border-color .2s;display:flex}.match-item:hover{border-color:rgba(var(--color-accent-rgb), .25)}.chat-page{background:var(--color-night);flex-direction:column;height:100dvh;display:flex}.messages{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.input-bar{background:#ffffff08;border-top:1px solid #ffffff0f;padding:12px;display:flex}.input-bar input{color:#fff;background:#ffffff0f;border:1px solid #ffffff14;border-radius:20px;flex:1;margin-right:8px;padding:10px 14px;font-size:16px}.input-bar input::placeholder{color:#ffffff40}.input-bar input:focus{border-color:rgba(var(--color-accent-rgb), .3);outline:none}.input-bar button{background:var(--color-accent);color:#fff;cursor:pointer;box-shadow:0 0 12px rgba(var(--color-accent-rgb), .2);border:none;border-radius:20px;padding:10px 18px}.profile-page textarea,.profile-page input[type=text]{color:#fff;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;width:100%;margin-bottom:12px;padding:10px 12px;font-size:16px}.profile-page textarea::placeholder,.profile-page input[type=text]::placeholder{color:#ffffff40}.profile-page textarea:focus,.profile-page input[type=text]:focus{border-color:rgba(var(--color-accent-rgb), .3);outline:none}.profile-page button[type=submit]{background:var(--color-accent);color:#fff;cursor:pointer;box-shadow:0 0 20px rgba(var(--color-accent-rgb), .25);border:none;border-radius:10px;padding:12px 24px;font-size:16px}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.photo-grid img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%}.upload-btn{background:rgba(var(--color-accent-rgb), .08);aspect-ratio:1;cursor:pointer;color:var(--color-accent);border-radius:10px;justify-content:center;align-items:center;font-size:28px;display:flex}.logout{color:#ffffff4d;cursor:pointer;background:0 0;border:none;margin-top:24px;padding:10px 20px;text-decoration:underline}.map-pin img{border:3px solid var(--color-accent);object-fit:cover;width:48px;height:48px;box-shadow:0 0 10px rgba(var(--color-accent-rgb), .3);border-radius:50%}.map-view{height:calc(100dvh - 60px);margin-top:60px}@media (width<=768px){.map-view{height:calc(100vh - 59px - env(safe-area-inset-bottom,0px));height:calc(100dvh - 59px - env(safe-area-inset-bottom,0px));margin-top:0}}.snackbar[data-v-45713aa0]{color:#fff;z-index:10001;pointer-events:none;background:#1a1a1e;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:12px 16px;font-size:14px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.snackbar.success[data-v-45713aa0]{border-left:3px solid #4ade80}.snackbar.error[data-v-45713aa0]{border-left:3px solid #e63946}.snackbar-icon[data-v-45713aa0]{flex-shrink:0;width:18px;height:18px}.snackbar.success .snackbar-icon[data-v-45713aa0]{color:#4ade80}.snackbar.error .snackbar-icon[data-v-45713aa0]{color:#ff6b6b}.snackbar-enter-active[data-v-45713aa0],.snackbar-leave-active[data-v-45713aa0]{transition:opacity .25s,transform .25s}.snackbar-enter-from[data-v-45713aa0],.snackbar-leave-to[data-v-45713aa0]{opacity:0;transform:translate(-50%,-16px)}@media (width>=768px){.snackbar[data-v-45713aa0]{top:80px}}
