.message-wrapper{display:flex;align-items:flex-end;gap:.5rem;margin-bottom:.75rem;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--accent-yellow);border:var(--border-width) solid var(--border-color);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-brutal-sm)}.message-avatar img{width:100%;height:100%;object-fit:cover}.avatar-emoji{font-size:1.5rem;line-height:1}.message-wrapper.partner-message{justify-content:flex-start;flex-direction:row}.message-wrapper.partner-message .message-avatar{order:0}.message-wrapper.partner-message .message-item{background:var(--partner-message-bg);color:var(--partner-message-text);border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-brutal-sm);border-radius:var(--radius);order:1}.message-wrapper.my-message{justify-content:flex-end;flex-direction:row}.message-wrapper.my-message .message-avatar{order:1}.message-wrapper.my-message .message-item{order:0}.message-wrapper.my-message .message-item{background:var(--my-message-bg);color:var(--my-message-text);border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-brutal-sm);border-radius:var(--radius)}.message-item{max-width:70%;padding:.75rem 1rem;border-radius:var(--radius);word-wrap:break-word;position:relative}.message-username{font-weight:700;font-size:.85rem;margin-bottom:.35rem;color:var(--primary-dark)}.message-wrapper.my-message .message-username{color:var(--text-primary)}.message-content{line-height:1.5;white-space:pre-wrap;word-break:break-word;font-size:.95rem;margin-bottom:.25rem}.message-time{font-size:.7rem;opacity:.7;text-align:right;margin-top:.25rem;font-weight:500}.message-wrapper.partner-message .message-time{color:var(--text-secondary)}.message-wrapper.my-message .message-time{color:#2d3748b3}.message-image-container{margin-top:.25rem}.message-image{max-width:100%;max-height:250px;border-radius:var(--radius);cursor:pointer;transition:transform .1s ease;display:block;object-fit:contain;border:var(--border-width) solid var(--border-color)}.message-image:hover{transform:scale(1.02)}.image-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(45,55,72,.15);gap:.5rem;font-size:.75rem;opacity:.8}.message-wrapper.my-message .image-meta{border-top-color:#2d374826}.image-meta-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-weight:600}.image-meta-size{white-space:nowrap;font-weight:600}.image-caption{margin-top:.5rem;line-height:1.5;font-size:.9rem}.voice-message-container{display:flex;align-items:center;gap:.75rem;min-width:200px;padding:.25rem 0}.voice-play-button{width:40px;height:40px;border-radius:50%;background:var(--primary-color);border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-brutal-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.voice-play-button:hover{transform:scale(1.05);background:var(--primary-dark)}.voice-play-button:active{transform:scale(.95)}.voice-play-button svg{color:var(--text-primary)}.message-wrapper.partner-message .voice-play-button{background:var(--text-primary)}.message-wrapper.partner-message .voice-play-button svg{color:var(--surface)}.voice-waveform{flex:1;height:24px;background:#0000001a;border-radius:var(--radius);position:relative;overflow:hidden;border:1px solid var(--border-color)}.message-wrapper.my-message .voice-waveform{background:#00000026}.voice-progress{position:absolute;left:0;top:0;height:100%;background:var(--primary-dark);transition:width .1s linear;border-radius:var(--radius)}.message-wrapper.partner-message .voice-progress{background:var(--text-primary)}.voice-duration{font-size:.75rem;font-weight:700;color:currentColor;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:35px;text-align:right}.image-modal{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;animation:fadeIn .2s ease}.image-modal-content{position:relative;max-width:90%;max-height:90%;display:flex;flex-direction:column;align-items:center;gap:1rem}.image-modal-content img{max-width:100%;max-height:calc(90vh - 4rem);object-fit:contain;border:var(--border-width) solid #FFFFFF;box-shadow:var(--shadow-brutal)}.modal-close{position:absolute;top:-50px;right:0;width:40px;height:40px;background:#fff;color:#000;border:var(--border-width) solid #000000;cursor:pointer;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;transition:all .1s ease;box-shadow:var(--shadow-brutal-sm)}.modal-close:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-brutal)}.modal-caption{color:#fff;text-align:center;font-size:1rem;line-height:1.5;max-width:600px;background:#000;padding:1rem 1.5rem;border:var(--border-width) solid #FFFFFF;box-shadow:var(--shadow-brutal-sm);font-weight:600}@media(max-width:768px){.message-wrapper{margin-bottom:.65rem;gap:.4rem}.message-avatar{width:32px;height:32px}.avatar-emoji{font-size:1.35rem}.message-item{max-width:75%;padding:.7rem .9rem}.message-username{font-size:.8rem;margin-bottom:.3rem}.message-content{font-size:.9rem;line-height:1.45}.message-time{font-size:.65rem;margin-top:.2rem}.message-image{max-height:220px;border-radius:10px}.image-meta{font-size:.7rem;margin-top:.4rem;padding-top:.4rem}.image-caption{font-size:.85rem;margin-top:.4rem}.voice-message-container{gap:.65rem;min-width:180px}.voice-play-button{width:38px;height:38px}.voice-play-button svg{width:20px;height:20px}.voice-waveform{height:22px}.voice-duration{font-size:.7rem;min-width:32px}.image-modal{padding:1rem}.modal-close{top:-45px;width:38px;height:38px;font-size:1.3rem}.modal-caption{font-size:.9rem;padding:.85rem 1.25rem;max-width:90%}}.message-list{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:0;background:var(--background)}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1.15rem;text-align:center;padding:2rem}.empty-state p{background:var(--surface);padding:2.5rem 3rem;border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-brutal);font-weight:700;border-radius:var(--radius)}@media(max-width:768px){.message-list{padding:.75rem;gap:.5rem}.empty-state{font-size:1rem;padding:1.5rem 1rem}.empty-state p{padding:1.75rem 1.5rem;font-size:.95rem;line-height:1.5}}.voice-recorder{position:fixed;inset:0;background:#fafafafa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:slideUp .3s ease;padding:1rem}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.voice-recorder-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem;max-width:450px;width:100%;background:var(--surface);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-brutal-lg)}.recording-indicator{position:relative;display:flex;align-items:center;justify-content:center}.pulse-ring{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--secondary-color);border-radius:50%;border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-brutal-sm);animation:pulse 1.5s ease-in-out infinite}.pulse-ring:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;border:var(--border-width) solid var(--secondary-color);animation:ripple 1.5s ease-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes ripple{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.pulse-ring svg{color:var(--text-primary);position:relative;z-index:1}.recording-time{font-size:2rem;font-weight:900;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:2px}.recording-status{font-size:1.1rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.audio-preview{width:100%;max-width:300px;height:40px;border:var(--border-width) solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-brutal-sm)}.audio-preview::-webkit-media-controls-panel{background:var(--surface)}.voice-actions{display:flex;gap:1rem;width:100%;justify-content:center;flex-wrap:wrap}.btn-stop-recording,.btn-cancel-voice,.btn-send-voice{padding:1rem 2rem;font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-brutal);text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:.5rem;border:3px solid var(--border-color);min-height:56px;flex:1;max-width:180px}.btn-stop-recording{background:var(--secondary-color);color:var(--text-primary);max-width:100%}.btn-stop-recording:hover{background:#ff94ab;transform:translateY(-2px);box-shadow:6px 6px #2d37484d}.btn-cancel-voice{background:#e8e8e8;color:var(--text-primary);border-color:var(--border-color)}.btn-cancel-voice:hover{background:#d0d0d0;transform:translateY(-2px);box-shadow:6px 6px #2d37484d}.btn-send-voice{background:var(--primary-color);color:var(--text-primary);border-color:var(--border-color)}.btn-send-voice:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:6px 6px #2d37484d}.btn-stop-recording:active,.btn-cancel-voice:active,.btn-send-voice:active{transform:translateY(0);box-shadow:var(--shadow-brutal-sm)}.btn-stop-recording svg,.btn-cancel-voice svg,.btn-send-voice svg{flex-shrink:0}@media(max-width:768px){.voice-recorder{padding:1rem;align-items:flex-end}.voice-recorder-content{padding:2rem 1.5rem;padding-bottom:calc(2rem + var(--safe-area-inset-bottom));gap:1.5rem;max-width:100%;width:100%;border-radius:16px 16px 0 0}.pulse-ring{width:75px;height:75px}.pulse-ring svg{width:36px;height:36px}.recording-time{font-size:1.85rem;letter-spacing:1.5px}.recording-status{font-size:1rem;letter-spacing:.8px}.audio-preview{max-width:100%;height:44px}.voice-actions{gap:.85rem;flex-direction:column}.btn-stop-recording,.btn-cancel-voice,.btn-send-voice{padding:1rem 1.75rem;font-size:1.05rem;min-height:54px;max-width:100%;width:100%;border-radius:10px}.btn-stop-recording svg,.btn-cancel-voice svg,.btn-send-voice svg{width:22px;height:22px}}.message-input{display:flex;flex-direction:column;gap:.75rem}.image-preview{position:relative;max-width:250px;overflow:hidden;border:var(--border-width) solid var(--border-color);background:var(--background);box-shadow:var(--shadow-brutal-sm);border-radius:var(--radius)}.image-preview img{width:100%;height:auto;max-height:200px;object-fit:cover;display:block}.remove-image{position:absolute;top:.5rem;right:.5rem;width:36px;height:36px;background:var(--secondary-color);color:var(--text-primary);border:var(--border-width) solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s ease;box-shadow:var(--shadow-brutal-sm);border-radius:50%}.remove-image:hover:not(:disabled){background:#ff94ab;transform:scale(1.1) rotate(90deg)}.remove-image:active:not(:disabled){transform:scale(.9)}.remove-image svg{color:var(--text-primary)}.image-info{padding:.65rem;display:flex;flex-direction:column;gap:.25rem;background:var(--surface);border-top:var(--border-width) solid var(--border-color)}.image-name{font-size:.85rem;color:var(--text-primary);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-size{font-size:.75rem;color:var(--text-secondary);font-weight:600}.message-input textarea{width:100%;padding:.875rem 1rem;font-size:.95rem;resize:none;background:var(--surface);font-weight:500;border-radius:var(--radius)}.message-input textarea:disabled{background:var(--background);cursor:not-allowed;opacity:.6}.message-input textarea::placeholder{color:var(--text-secondary);font-weight:500}.input-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.input-actions{display:flex;align-items:center;gap:.75rem}.btn-image,.btn-voice{width:48px;height:48px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s ease;box-shadow:var(--shadow-brutal-sm);border-radius:50%}.btn-image{background:var(--accent-purple)}.btn-voice{background:var(--secondary-color)}.btn-image:hover:not(:disabled){background:#c4b5f0;transform:scale(1.05)}.btn-voice:hover:not(:disabled){background:#ff94ab;transform:scale(1.05)}.btn-image:active:not(:disabled),.btn-voice:active:not(:disabled){transform:scale(.95)}.btn-image:disabled,.btn-voice:disabled{opacity:.4;cursor:not-allowed}.btn-image svg,.btn-voice svg{color:var(--text-primary)}.character-count{font-size:.8rem;color:var(--text-secondary);font-weight:700}.btn-send{padding:.75rem 1.5rem;background:var(--primary-color);color:var(--text-primary);font-weight:700;font-size:.95rem;box-shadow:var(--shadow-brutal-sm);text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius);display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.btn-send:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-brutal)}.btn-send:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-brutal-sm)}.btn-send svg{flex-shrink:0}@media(max-width:768px){.message-input{gap:.65rem}.image-preview{max-width:200px}.image-preview img{max-height:180px}.remove-image{width:32px;height:32px;top:.4rem;right:.4rem}.remove-image svg{width:18px;height:18px}.image-info{padding:.55rem}.image-name{font-size:.8rem}.image-size{font-size:.7rem}.message-input textarea{font-size:.95rem;padding:.8rem .9rem;border-radius:10px;line-height:1.5}.input-footer{gap:.75rem}.input-actions{gap:.65rem}.btn-image,.btn-voice{width:44px;height:44px;border-radius:10px}.btn-image svg,.btn-voice svg{width:22px;height:22px}.character-count{font-size:.75rem;min-width:32px}.btn-send{padding:.7rem 1.35rem;font-size:.9rem;border-radius:10px;min-height:44px}.btn-send svg{width:18px;height:18px}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--surface);padding:2rem;border:var(--border-width) solid var(--border-color);box-shadow:8px 8px #2d37484d;max-width:400px;width:90%;animation:slideUp .3s ease;border-radius:var(--radius)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin:0 0 .5rem;color:var(--text-primary);font-size:1.65rem;font-weight:900;text-transform:uppercase;letter-spacing:-.5px}.modal-content p{margin:0 0 1.5rem;color:var(--text-secondary);font-size:.95rem;font-weight:600}.modal-content form{display:flex;flex-direction:column;gap:1rem}.profile-preview{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.875rem;background:var(--background);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-brutal-sm)}.profile-avatar{width:80px;height:80px;border:3px solid var(--border-color);border-radius:50%;overflow:hidden;background:var(--accent-yellow);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-brutal-sm)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-emoji{font-size:2.75rem;line-height:1}.btn-change-photo{padding:.5rem 1rem;background:var(--accent-purple);color:var(--text-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);font-weight:700;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .2s ease;box-shadow:var(--shadow-brutal-sm);text-transform:uppercase;letter-spacing:.5px}.btn-change-photo:hover{background:#c4b5f0;transform:translateY(-2px);box-shadow:var(--shadow-brutal)}.btn-change-photo:active{transform:translateY(0);box-shadow:var(--shadow-brutal-sm)}.avatar-selector{display:flex;flex-direction:column;gap:.65rem}.avatar-selector label{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.avatar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.avatar-option{width:100%;aspect-ratio:1;border:var(--border-width) solid var(--border-color);background:var(--surface);border-radius:var(--radius);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:var(--shadow-brutal-sm);padding:0}.avatar-option:hover{background:var(--background);transform:scale(1.05)}.avatar-option:active{transform:scale(.95)}.avatar-option.active{background:var(--primary-color);border-color:var(--text-primary);box-shadow:var(--shadow-brutal);transform:scale(1.05)}.modal-content input[type=text]{padding:.75rem .95rem;font-size:.95rem;font-weight:600;background:var(--surface);border-radius:var(--radius)}.modal-content input[type=text]::placeholder{color:var(--text-secondary);font-weight:500}.modal-content button[type=submit]{padding:.85rem;background:var(--primary-color);color:var(--text-primary);font-weight:700;font-size:.95rem;box-shadow:var(--shadow-brutal);text-transform:uppercase;letter-spacing:1px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:.5rem}.modal-content button[type=submit]:hover:not(:disabled){background:var(--primary-dark);transform:translate(-4px,-4px);box-shadow:8px 8px #2d37484d}.modal-content button[type=submit]:active:not(:disabled){transform:translate(0);box-shadow:var(--shadow-brutal-sm)}@media(max-width:768px){.modal-overlay{padding:1rem}.modal-content{padding:2rem 1.5rem;width:95%;max-width:400px}.modal-content h2{font-size:1.7rem;line-height:1.2;margin-bottom:.65rem}.modal-content p{font-size:1rem;line-height:1.5;margin-bottom:1.75rem}.modal-content form{gap:1rem}.profile-preview{padding:.875rem}.profile-avatar{width:90px;height:90px}.profile-emoji{font-size:3rem}.btn-change-photo{padding:.6rem 1.1rem;font-size:.85rem}.avatar-selector label{font-size:.85rem}.avatar-grid{grid-template-columns:repeat(5,1fr);gap:.55rem}.avatar-option{font-size:1.75rem;border-radius:8px}.modal-content input[type=text]{padding:.9rem 1.05rem;font-size:1.05rem;border-radius:10px}.modal-content button[type=submit]{padding:.95rem;font-size:1.05rem;border-radius:10px;min-height:50px}}.typing-indicator{padding:.75rem 1.25rem;background:var(--background);border:var(--border-width) solid var(--border-color);font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;margin:0 1.5rem 1rem;animation:fadeInOut .2s ease;box-shadow:var(--shadow-brutal-sm);font-weight:700;max-width:fit-content;border-radius:var(--radius)}@keyframes fadeInOut{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.typing-username{font-weight:900;color:var(--primary-color)}.typing-dots{display:flex;gap:3px}.typing-dots span{width:6px;height:6px;background:var(--primary-color);border-radius:50%;animation:bounce 1.4s infinite;font-weight:700}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}@media(max-width:768px){.typing-indicator{margin:0 .75rem .65rem;padding:.65rem 1rem;font-size:.8rem;border-radius:10px}.typing-username{font-size:.8rem}.typing-dots span{width:5px;height:5px}}.search-partner{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;overflow-y:auto}.search-content{text-align:center;max-width:450px;width:100%;display:flex;flex-direction:column;align-items:center;gap:0}.search-icon{margin-bottom:.75rem;animation:bounce 2s infinite;color:var(--primary-color);display:flex;align-items:center;justify-content:center}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.search-content h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:.35rem;font-weight:900;text-transform:uppercase;letter-spacing:-.5px}.search-content p{font-size:.95rem;color:var(--text-secondary);margin-bottom:1rem;font-weight:600;line-height:1.4}.user-profile-display{display:flex;align-items:flex-start;gap:.875rem;padding:.875rem 1.25rem;background:var(--surface);border:3px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-brutal);margin-bottom:1rem;max-width:480px;width:100%}.profile-avatar-display{width:52px;height:52px;border-radius:50%;border:3px solid var(--border-color);background:var(--accent-yellow);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow-brutal-sm);flex-shrink:0;align-self:center}.profile-avatar-display img{width:100%;height:100%;object-fit:cover}.profile-emoji-display{font-size:1.75rem}.profile-info{flex:1;display:flex;flex-direction:column;gap:.75rem;min-width:0;justify-content:flex-start;align-items:flex-start}.profile-name{font-size:1.15rem;font-weight:900;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.btn-edit-profile{align-self:flex-start;display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .875rem;background:var(--accent-purple);border:2px solid var(--border-color);border-radius:8px;font-size:.8rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-brutal-sm);transition:all .2s ease;white-space:nowrap}.btn-edit-profile:hover{transform:translate(-2px,-2px);box-shadow:4px 4px #2d37484d}.btn-edit-profile:active{transform:translate(0);box-shadow:var(--shadow-brutal-sm)}.stats-container{display:flex;gap:.875rem;justify-content:center;margin-bottom:1.25rem;width:100%;max-width:480px}.stat-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.875rem .75rem;border:3px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-brutal);transition:all .2s ease;position:relative;overflow:hidden}.stat-item:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:height .3s ease}.stat-item:first-child{background:linear-gradient(135deg,var(--accent-green) 0%,#A5F3D1 100%)}.stat-item:first-child:before{background:var(--accent-green)}.stat-item:last-child{background:linear-gradient(135deg,var(--accent-purple) 0%,#E5D9FF 100%)}.stat-item:last-child:before{background:var(--accent-purple)}.stat-item:hover{transform:translateY(-3px);box-shadow:6px 6px #2d37484d}.stat-item:hover:before{height:8px}.stat-item svg{color:var(--text-primary);flex-shrink:0;filter:drop-shadow(2px 2px 0px rgba(255,255,255,.5));width:28px;height:28px}.stat-info{display:flex;flex-direction:column;align-items:center;gap:.25rem;position:relative;z-index:1}.stat-value{font-size:1.5rem;font-weight:900;color:var(--text-primary);line-height:1;text-shadow:2px 2px 0px rgba(255,255,255,.5);animation:countUp .5s ease-out}@keyframes countUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.stat-label{font-size:.7rem;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;opacity:.9}.loading-dots{display:flex;justify-content:center;gap:.75rem;margin-bottom:2rem}.loading-dots span{width:16px;height:16px;background:var(--primary-color);border:var(--border-width) solid var(--border-color);animation:loadingDot 1.4s infinite ease-in-out both;box-shadow:var(--shadow-brutal-sm)}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loadingDot{0%,80%,to{transform:scale(.8)}40%{transform:scale(1.2)}}.btn-search,.btn-cancel{padding:1.1rem 2.75rem;font-size:1.15rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-brutal);text-transform:uppercase;letter-spacing:1px;border-radius:var(--radius);display:inline-flex;align-items:center;gap:.75rem;justify-content:center;margin:0 auto;min-width:220px}.btn-search{background:var(--primary-color);color:var(--text-primary)}.btn-search:hover{background:var(--primary-dark);transform:translate(-4px,-4px);box-shadow:8px 8px #2d37484d}.btn-search:active{transform:translate(0);box-shadow:var(--shadow-brutal-sm)}.btn-cancel{background:#fff;color:var(--text-primary)}.btn-cancel:hover{background:var(--background);transform:translate(-4px,-4px);box-shadow:8px 8px #2d37484d}.btn-cancel:active{transform:translate(0);box-shadow:var(--shadow-brutal-sm)}.btn-search svg,.btn-cancel svg{flex-shrink:0}@media(max-width:768px){.search-partner{padding:1.5rem 1rem}.search-content{max-width:100%}.search-icon{margin-bottom:1.25rem}.search-icon svg{width:64px;height:64px}.search-content h2{font-size:1.65rem;line-height:1.2;margin-bottom:.65rem}.search-content p{font-size:1rem;margin-bottom:1.5rem;line-height:1.5}.user-profile-display{gap:.875rem;padding:.875rem 1.25rem;margin-bottom:1.25rem;max-width:100%}.profile-avatar-display{width:52px;height:52px}.profile-emoji-display{font-size:1.75rem}.profile-name{font-size:1.1rem}.btn-edit-profile{padding:.45rem .875rem;font-size:.8rem;gap:.4rem}.btn-edit-profile svg{width:14px;height:14px}.stats-container{gap:.75rem;margin-bottom:1.75rem;max-width:100%}.stat-item{gap:.5rem;padding:1rem .75rem}.stat-item svg{width:28px;height:28px}.stat-value{font-size:1.75rem}.stat-label{font-size:.65rem}.loading-dots{margin-bottom:2.25rem;gap:.65rem}.loading-dots span{width:14px;height:14px}.btn-search,.btn-cancel{padding:1rem 2rem;font-size:1.05rem;min-width:200px;width:100%;max-width:320px;border-radius:10px;min-height:52px}.btn-search svg,.btn-cancel svg{width:20px;height:20px}}.confirm-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease;padding:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal-content{background:var(--surface);padding:2rem;border:var(--border-width) solid var(--border-color);box-shadow:8px 8px #2d37484d;max-width:420px;width:100%;animation:slideUp .3s ease;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid var(--border-color);box-shadow:var(--shadow-brutal-sm)}.confirm-icon.danger{background:var(--secondary-color);color:var(--text-primary)}.confirm-icon.warning{background:var(--accent-yellow);color:var(--text-primary)}.confirm-icon.info{background:var(--primary-color);color:var(--text-primary)}.confirm-title{margin:0;font-size:1.75rem;font-weight:900;color:var(--text-primary);text-transform:uppercase;letter-spacing:-.5px;line-height:1.2}.confirm-message{margin:0;font-size:1.05rem;color:var(--text-secondary);font-weight:600;line-height:1.5}.confirm-actions{display:flex;gap:1rem;width:100%;margin-top:.5rem}.btn-cancel-confirm,.btn-confirm{flex:1;padding:.95rem 1.5rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-brutal-sm);text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:.5rem;border:var(--border-width) solid var(--border-color)}.btn-cancel-confirm{background:var(--background);color:var(--text-primary)}.btn-cancel-confirm:hover{background:#e8e8e8;transform:translateY(-2px);box-shadow:var(--shadow-brutal)}.btn-cancel-confirm:active{transform:translateY(0);box-shadow:var(--shadow-brutal-sm)}.btn-confirm{background:var(--secondary-color);color:var(--text-primary)}.btn-confirm:hover{background:#ff94ab;transform:translateY(-2px);box-shadow:var(--shadow-brutal)}.btn-confirm:active{transform:translateY(0);box-shadow:var(--shadow-brutal-sm)}.btn-cancel-confirm svg,.btn-confirm svg{flex-shrink:0}@media(max-width:768px){.confirm-modal-overlay{padding:1rem}.confirm-modal-content{padding:1.75rem 1.5rem;gap:1rem;max-width:100%}.confirm-icon{width:70px;height:70px}.confirm-icon svg{width:40px;height:40px}.confirm-title{font-size:1.5rem}.confirm-message{font-size:.95rem}.confirm-actions{flex-direction:column;gap:.75rem}.btn-cancel-confirm,.btn-confirm{padding:.85rem 1.25rem;font-size:.9rem}}.chat-header{padding:.875rem 1.25rem;background:var(--primary-color);color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;border-bottom:var(--border-width) solid var(--border-color);gap:1rem;min-height:60px}.chat-header h1{font-size:1.5rem;font-weight:900;margin:0;letter-spacing:-.5px;text-transform:uppercase}.header-actions{display:flex;gap:.75rem;align-items:center}.btn-skip,.btn-end-chat{padding:.55rem 1.1rem;color:var(--text-primary);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;box-shadow:var(--shadow-brutal-sm)}.btn-skip{background:var(--accent-purple)}.btn-skip:hover{background:#c4b5f0;transform:translateY(-2px);box-shadow:var(--shadow-brutal)}.btn-skip:active{transform:translateY(0);box-shadow:var(--shadow-brutal-sm)}.btn-end-chat{background:var(--secondary-color)}.btn-end-chat:hover{background:#ff94ab;transform:translateY(-2px);box-shadow:var(--shadow-brutal)}.btn-end-chat:active{transform:translateY(0);box-shadow:var(--shadow-brutal-sm)}.btn-skip svg,.btn-end-chat svg{flex-shrink:0}@media(max-width:768px){.chat-header{padding:.75rem 1rem;padding-top:calc(.75rem + var(--safe-area-inset-top));min-height:54px}.chat-header h1{font-size:1.35rem;letter-spacing:-.4px}.header-actions{gap:.5rem}.btn-skip,.btn-end-chat{padding:.5rem .9rem;font-size:.8rem;min-height:36px}.btn-skip svg,.btn-end-chat svg{width:16px;height:16px}}.app{width:100%;max-width:1200px;height:100%;max-height:100%;display:flex;flex-direction:column;background:var(--surface);border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-brutal-lg);overflow:hidden;border-radius:var(--radius)}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.app-footer{padding:1.5rem;background:var(--surface);border-top:var(--border-width) solid var(--border-color)}.restoring-session{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;animation:fadeIn .3s ease}.loading-spinner{width:60px;height:60px;border:var(--border-width) solid var(--border-color);border-top:var(--border-width) solid var(--primary-color);border-right:var(--border-width) solid var(--primary-color);animation:spin 1s linear infinite;margin-bottom:1.5rem;box-shadow:var(--shadow-brutal-sm)}@keyframes spin{to{transform:rotate(360deg)}}.restoring-session h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:-.5px}.restoring-session p{font-size:1.05rem;color:var(--text-secondary);font-weight:600}.chat-ended{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;animation:fadeIn .5s ease}.ended-icon{font-size:5rem;margin-bottom:1.5rem;animation:wave 1s infinite;filter:drop-shadow(var(--shadow-brutal-sm))}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.chat-ended h2{font-size:2rem;color:var(--text-primary);margin-bottom:1rem;font-weight:900;text-transform:uppercase;letter-spacing:-.5px}.chat-ended p{font-size:1.05rem;color:var(--text-secondary);margin-bottom:.75rem;font-weight:600}.redirect-message{font-weight:700;color:var(--text-primary);background:var(--accent-yellow);padding:.75rem 1.5rem;border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-brutal-sm);margin-top:1rem;border-radius:var(--radius)}@media(max-width:768px){#root{height:100vh;height:calc(100vh - var(--safe-area-inset-bottom))}.app{max-width:100%;height:100vh;max-height:100vh;border:none;box-shadow:none;border-radius:0}.app-footer{padding:.875rem 1rem;padding-bottom:calc(.875rem + var(--safe-area-inset-bottom))}.restoring-session{padding:1.5rem}.restoring-session h2{font-size:1.5rem;line-height:1.2}.restoring-session p{font-size:1rem}.loading-spinner{width:50px;height:50px;margin-bottom:1.25rem}.chat-ended{padding:1.5rem 1rem}.ended-icon{font-size:4rem;margin-bottom:1.25rem}.chat-ended h2{font-size:1.75rem;line-height:1.2}.chat-ended p{font-size:1rem;margin-bottom:.65rem}.redirect-message{padding:.75rem 1.25rem;font-size:.95rem}}:root{--primary-color: #A8D8FF;--primary-dark: #7DC4FF;--secondary-color: #FFB6C8;--accent-yellow: #FFF4B3;--accent-green: #B8F5D6;--accent-purple: #D4C5F9;--background: #FAFAFA;--surface: #FFFFFF;--text-primary: #2D3748;--text-secondary: #718096;--border-color: #2D3748;--my-message-bg: #A8D8FF;--my-message-text: #2D3748;--partner-message-bg: #F0F0F0;--partner-message-text: #2D3748;--shadow-brutal: 4px 4px 0px rgba(45, 55, 72, .3);--shadow-brutal-sm: 2px 2px 0px rgba(45, 55, 72, .3);--shadow-brutal-lg: 6px 6px 0px rgba(45, 55, 72, .3);--border-width: 2px;--radius: 12px;--safe-area-inset-top: env(safe-area-inset-top, 0);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);color:var(--text-primary);font-weight:500;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem}button{font-family:inherit;cursor:pointer;border:var(--border-width) solid var(--border-color);outline:none;transition:transform .1s ease,box-shadow .1s ease;font-weight:600}button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--shadow-brutal-sm)}button:active:not(:disabled){transform:translate(0);box-shadow:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea{font-family:inherit;outline:none;border:var(--border-width) solid var(--border-color);transition:box-shadow .1s ease;font-weight:500}input:focus,textarea:focus{box-shadow:var(--shadow-brutal-sm)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media(max-width:768px){#root{padding:0}}
