.swipeable-container{scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-snap-stop:always;--scroll-behavior-speed:100ms;--scroll-behavior-easing:cubic-bezier(0.25,0.46,0.45,0.94)}.keyboard-visible{--safe-area-bottom:0px}.full-height{height:100%;height:calc(var(--vh, 1vh) * 100)}.ios-device:not(.pwa-mode) .page-stack-container{padding-bottom:env(safe-area-inset-bottom,0);box-sizing:border-box}.pwa-mode .page-stack-container{padding-bottom:0}button{white-space:nowrap}.perspective-1000px{perspective:1000px}.preserve-3d{transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden}.perspective-1000px{cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.perspective-1000px:active{cursor:grabbing}.transition-transform{transition-property:transform}.transition-opacity{transition-property:opacity}.transition-all{transition-property:all}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.page-stack-container{position:relative;height:100%;width:100%}.page-transition{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background-color);transform:translateX(100%);transition:transform .3s ease;box-shadow:0 0 15px rgba(0,0,0,.1);will-change:transform;z-index:1}.page-underlay{transform:translateX(-30%)!important;z-index:5!important}.reset-position{transform:translateX(0)!important;transition:transform .3s ease!important}.page-stack-container:has(.page-active) .page-underlay{transform:translateX(-30%);transition:transform .3s ease!important}.page-active{transform:translateX(0)!important;z-index:10!important}.page-exiting{transform:translateX(100%)!important;z-index:10!important}@keyframes slide-in-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes slide-in-left{0%{transform:translateX(-30%)}to{transform:translateX(0)}}.h-9{height:2.25rem}.unread-chat{font-weight:500}.chat-container{display:flex;flex-direction:column;height:100%;overflow:hidden}body.keyboard-visible .page-stack-container{height:100%;transition:none!important}body.keyboard-visible{position:fixed;overflow:hidden;width:100%;height:100%;top:0;left:0}body.keyboard-visible .keyboard-open{padding-bottom:0}textarea{font-size:16px}body.keyboard-visible .top-container{width:100%;transform:translateY(calc(20px + var(--keyboard-height)));transition:transform .35s ease}body.keyboard-visible .bottom-container{margin-bottom:unset}.keyboard-visible .page-active{transform:translateZ(0)}.new-message-highlight{animation:message-highlight 2s ease}@keyframes message-highlight{0%{background-color:rgba(59,130,246,.1)}to{background-color:transparent}}.message-bubble{max-width:70%;word-wrap:break-word}.message-bubble.sent{background-color:#3b82f6;color:white;border-bottom-right-radius:0}.message-bubble.received{background-color:#e5e7eb;color:#1f2937;border-bottom-left-radius:0}.dark .message-bubble.received{background-color:#374151;color:#f3f4f6}.card-container{perspective:1000px;transform-style:preserve-3d;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card-container.active{cursor:grabbing}.card-container:not(.active){cursor:grab}.wallet-card-item{transition:transform .2s,box-shadow .2s}.wallet-card-item:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.chat-tabs-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.chat-tabs-container::-webkit-scrollbar{display:none}.search-section-title{font-size:1rem;font-weight:600;margin:1rem .75rem .5rem;color:#4b5563}.dark .search-section-title{color:#9ca3af}.saved-card-section{margin-bottom:1.5rem;border-bottom:1px solid rgba(229,231,235,.5)}.dark .saved-card-section{border-bottom:1px solid rgba(75,85,99,.5)}.search-input-container{display:flex;align-items:center;background-color:rgba(229,231,235,.5);border-radius:9999px;padding:.5rem 1rem;width:100%}.search-input-container input{background:transparent;border:none;width:100%;outline:none;padding:.25rem 0}.dark .search-input-container{background-color:rgba(55,65,81,.5)}.user-search-item{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(229,231,235,.5);transition:background-color .2s ease}.user-search-item:hover{background-color:rgba(243,244,246,.5)}.dark .user-search-item:hover{background-color:rgba(31,41,55,.5)}.user-search-item .avatar{width:3rem;height:3rem;border-radius:9999px;background-color:#e5e7eb;display:flex;align-items:center;justify-content:center;margin-right:.75rem;flex-shrink:0}.dark .user-search-item .avatar{background-color:#4b5563}.user-search-item .user-info{flex:1;min-width:0}.user-search-item .username{font-weight:500;white-space:nowrap;text-overflow:ellipsis}.user-search-item .email{font-size:.875rem;color:#6b7280;white-space:nowrap;text-overflow:ellipsis}.dark .user-search-item .email{color:#9ca3af}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2)}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}}input[type=range].group{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:.75rem;border-radius:9999px;background:linear-gradient(90deg,#ff0000,#ffff00,#00ff00,#00ffff,#0000ff,#ff00ff,#ff0000)}input[type=range].group:where([style*=rgba]){background:transparent}input[type=range].group::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1.25rem;height:1.25rem;border-radius:9999px;background-color:var(--thumb-color,#ffffff);border:2px solid white;box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:grab;-webkit-transition:transform .1s ease;transition:transform .1s ease}input[type=range].group::-moz-range-thumb{width:1.25rem;height:1.25rem;border-radius:9999px;background-color:var(--thumb-color,#ffffff);border:2px solid white;box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:grab;-moz-transition:transform .1s ease;transition:transform .1s ease}input[type=range].group:active::-webkit-slider-thumb{transform:scale(1.15);cursor:grabbing}input[type=range].group:active::-moz-range-thumb{transform:scale(1.15);cursor:grabbing}@keyframes periodic-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.animate-periodic-bounce{animation:periodic-bounce 3s infinite}