.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.home-page{animation:fadeIn .5s ease-out;position:relative}.home-header{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:12px}.btn-logout{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.35);padding:9px 18px;border-radius:var(--radius-full);font-size:14px;font-weight:500;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-logout:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.btn-match-history-header{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;padding:9px 16px;border-radius:var(--radius-full);font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-match-history-header:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}.home-content{text-align:center;color:#fff;max-width:420px;width:100%}.logo{margin-bottom:24px}.logo-icon{font-size:72px;display:block;margin-bottom:12px;animation:bounce 2s infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.home-content h1{font-size:46px;font-weight:800;margin:0;text-shadow:0 4px 12px rgba(0,0,0,.25);letter-spacing:-.5px}.tagline{font-size:17px;opacity:.92;margin-bottom:36px;line-height:1.6;font-weight:400}.btn-primary,.btn-ai-chat,.btn-drift-bottle,.btn-secondary,.btn-secondary-with-badge,.btn-end,.btn-send{border:none;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:all .25s cubic-bezier(.4,0,.2,1);font-weight:700;position:relative;overflow:hidden;width:100%}.btn-primary:before,.btn-ai-chat:before,.btn-drift-bottle:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:translate(-100%);transition:transform .6s}.btn-primary:hover:before,.btn-ai-chat:hover:before,.btn-drift-bottle:hover:before{transform:translate(100%)}.btn-primary{background:white;color:var(--primary);padding:20px 52px;font-size:21px;border-radius:var(--radius-full);box-shadow:0 12px 32px #00000038}.btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 48px #00000047;color:var(--primary-dark)}.btn-primary small{font-size:13px;opacity:.75;font-weight:500}.match-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:18px;width:100%}.btn-ai-chat{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:2px solid rgba(255,255,255,.35);padding:20px 52px;font-size:21px;border-radius:var(--radius-full);box-shadow:0 12px 32px #00000038}.btn-ai-chat:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 48px #00000047;filter:brightness(1.08)}.btn-ai-chat small{font-size:13px;opacity:.9;font-weight:500}.btn-drift-bottle{background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);color:#fff;border:2px solid rgba(255,255,255,.35);padding:20px 52px;font-size:21px;border-radius:var(--radius-full);box-shadow:0 12px 32px #00000038}.btn-drift-bottle:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 48px #00000047;filter:brightness(1.08)}.btn-drift-bottle small{font-size:13px;opacity:.9;font-weight:500}.btn-arrow{transition:transform .3s ease}.btn-primary:hover .btn-arrow{transform:translate(5px)}.features{display:flex;justify-content:center;gap:32px;margin-top:46px}.feature{display:flex;flex-direction:row;align-items:center;gap:8px;opacity:.95;white-space:nowrap;background:rgba(255,255,255,.12);padding:10px 16px;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.feature-icon{font-size:22px}.feature span:last-child{font-size:14px;font-weight:500}.matching-page{animation:fadeIn .3s ease-out}.matching-content{text-align:center;color:#fff}.matching-animation{position:relative;width:140px;height:140px;margin:0 auto 34px}.pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.35);border-radius:50%;animation:pulse-ring 2s ease-out infinite}.pulse-ring:nth-child(1){width:60px;height:60px;animation-delay:0s}.pulse-ring:nth-child(2){width:95px;height:95px;animation-delay:.5s}.pulse-ring:nth-child(3){width:130px;height:130px;animation-delay:1s}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.matching-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:44px}.matching-content h2{font-size:30px;margin-bottom:10px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.2)}.matching-content p{opacity:.85;margin-bottom:36px;font-size:15px}.btn-secondary{background:rgba(255,255,255,.18);color:#fff;border:2px solid rgba(255,255,255,.45);padding:13px 34px;font-size:16px;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-secondary:hover{background:rgba(255,255,255,.3);border-color:#fff;transform:translateY(-2px)}.btn-secondary-with-badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;padding:14px 26px;font-size:16px;border-radius:var(--radius-full);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:600}.btn-secondary-with-badge:hover{background:rgba(255,255,255,.22);border-color:#ffffff8c;transform:translateY(-2px)}.match-history-button-wrapper,.drift-bottle-button-wrapper{display:flex;justify-content:center;margin-top:14px;width:100%;max-width:280px;margin-left:auto;margin-right:auto}.unread-badge-inline{background:linear-gradient(135deg,#ff4757,#ff6b81);color:#fff;font-size:11px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:0 2px 8px #ff475773;animation:pulse-badge 2s infinite}.admin-entrance{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100}.admin-button-wrapper{display:flex;justify-content:center;margin-top:12px;width:100%;max-width:280px;margin-left:auto;margin-right:auto}.btn-admin-entrance{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#ffffffe6;padding:10px 20px;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-admin-entrance:hover{background:rgba(255,255,255,.22);color:#fff;transform:translateY(-2px)}.btn-text-link{background:transparent;color:#ffffffd9;border:none;padding:8px 16px;font-size:14px;cursor:pointer;display:block;margin:16px auto 0;text-align:center;transition:all .3s ease;text-decoration:underline;text-underline-offset:3px}.btn-text-link:hover{color:#fff}.unread-badge-home{position:absolute;top:-4px;right:-8px;background:linear-gradient(135deg,#ff4757,#ff6b81);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 2px 8px #ff475773;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.loading-page,.error-page{flex-direction:column;gap:20px;color:#fff;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.chat-page{align-items:flex-start;padding-top:24px;animation:fadeIn .3s ease-out}.chat-container{width:100%;max-width:900px;height:calc(100vh - 48px);background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.4)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 2px 12px #0000001f}.chat-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.online-dot{width:11px;height:11px;border-radius:50%;transition:all .3s ease;flex-shrink:0;box-shadow:0 0 0 2px #ffffff40}.chat-status{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:15px;letter-spacing:.2px}.online-dot.online{background:#4ade80;animation:pulse 2s infinite}.online-dot.offline{background:#ef4444}.btn-end{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.35);padding:9px 18px;font-size:14px;border-radius:var(--radius-full);font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:row;width:auto}.btn-end:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.status-bar{background:linear-gradient(90deg,#fef3c7,#fde68a);color:#92400e;padding:10px 20px;text-align:center;font-size:14px;font-weight:500;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.messages-container{flex:1;overflow-y:auto;padding:22px;background:#f8fafc}.loading-history{text-align:center;padding:10px;color:#94a3b8;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner-small{width:14px;height:14px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.load-more-hint{text-align:center;padding:12px 8px;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.load-more-hint:hover{color:#64748b;background:rgba(148,163,184,.1);border-radius:8px}.load-more-hint.no-more{color:#cbd5e1;cursor:default}.load-more-hint.no-more:hover{background:transparent}.welcome-message{text-align:center;padding:44px 20px;color:#94a3b8}.welcome-icon{font-size:52px;display:block;margin-bottom:12px}.message{margin-bottom:18px;animation:slideUp .35s ease-out}.message-me{text-align:right}.message-other{text-align:left}.message-bubble{display:inline-block;max-width:65%;padding:12px 18px;border-radius:20px;font-size:15px;line-height:1.55;word-wrap:break-word;box-shadow:0 2px 8px #0000000f;position:relative}.message-me .message-bubble{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-bottom-right-radius:5px}.message-other .message-bubble{background:white;color:#1e293b;border-bottom-left-radius:5px}.message-time{display:inline-block;font-size:11px;color:#94a3b8;margin-top:5px}.message-meta{display:flex;align-items:center;gap:6px;margin-top:5px}.message-me .message-meta{justify-content:flex-end}.message-other .message-meta{justify-content:flex-start}.message-read-status{font-size:11px;padding:1px 4px;border-radius:4px;font-weight:600}.message-read-status.read{color:#10b981}.message-read-status.unread{color:#94a3b8}.typing-indicator{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;color:#94a3b8;animation:slideUp .3s ease-out}.typing-dots{display:flex;gap:4px}.typing-dots span{width:6px;height:6px;background:#94a3b8;border-radius:50%;animation:typing-dot 1.4s infinite}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-dot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.input-container{padding:10px 14px;background:#f7f7f7;border-top:1px solid #e2e8f0}.chat-input-bar{display:flex;align-items:center;gap:10px}.chat-text-input{flex:1;padding:11px 16px;border:1px solid #e2e8f0;border-radius:var(--radius-full);font-size:16px;outline:none;background:white;min-height:42px;line-height:20px;transition:all .2s ease}.chat-text-input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #667eea1f}.btn-emoji-inline{width:40px;height:40px;border:none;background:transparent;border-radius:50%;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.btn-emoji-inline:hover{transform:scale(1.12);background:#e2e8f0}.btn-emoji-inline.active{background:#e2e8f0}.emoji-container{position:relative;display:flex;align-items:center}.btn-more-inline{width:40px;height:40px;border:none;background:transparent;border-radius:50%;cursor:pointer;font-size:26px;font-weight:300;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;color:#666}.btn-more-inline:hover{background:#e2e8f0}.btn-more-inline.active{background:var(--primary);color:#fff}.btn-send{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:11px 22px;font-size:14px;font-weight:700;border-radius:var(--radius-full);flex-direction:row;box-shadow:0 4px 12px #667eea4d}.btn-send:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-send:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.page{padding:0}.home-content h1{font-size:34px}.features{flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:center}.feature{flex-direction:column;gap:4px;font-size:12px;padding:8px 12px}.feature-icon{font-size:20px}.chat-container{height:100vh;border-radius:0}.message-bubble{max-width:78%}}.image-bubble{padding:4px!important;background:transparent!important;border:none!important}.message-image{border-radius:12px;cursor:pointer;transition:transform .2s ease;box-shadow:0 2px 8px #00000014}.message-image:hover{transform:scale(1.02)}.audio-bubble{padding:10px 16px!important;min-width:140px;max-width:200px;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border-radius:22px!important}.audio-bubble:hover{opacity:.92}.audio-player{display:flex;align-items:center;gap:8px;color:#fff}.audio-icon{font-size:18px;flex-shrink:0}.audio-wave{display:flex;align-items:center;gap:2px;flex:1}.audio-wave span{width:3px;height:12px;background:rgba(255,255,255,.6);border-radius:2px;animation:none}.audio-bubble.playing .audio-wave span{animation:wave .5s ease-in-out infinite alternate}.audio-bubble.playing .audio-wave span:nth-child(1){animation-delay:0s}.audio-bubble.playing .audio-wave span:nth-child(2){animation-delay:.1s}.audio-bubble.playing .audio-wave span:nth-child(3){animation-delay:.2s}.audio-bubble.playing .audio-wave span:nth-child(4){animation-delay:.3s}.audio-bubble.playing .audio-wave span:nth-child(5){animation-delay:.4s}@keyframes wave{0%{height:6px}to{height:18px}}.audio-duration{font-size:12px;opacity:.9;flex-shrink:0}.message-audio{display:none}.emoji-bubble{background:transparent!important;border:none!important;padding:4px 8px!important}.message-emoji{font-size:34px;line-height:1}.btn-media{width:40px;height:40px;border:none;background:transparent;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-media:hover:not(:disabled){background:#e9ecef;transform:scale(1.1)}.btn-media:disabled{opacity:.5;cursor:not-allowed}.btn-media.recording{background:#ff4757;animation:pulse 1s infinite}@keyframes pulse{0%{box-shadow:0 0 #ff4757b3}70%{box-shadow:0 0 0 10px #ff475700}to{box-shadow:0 0 #ff475700}}.emoji-picker-container{position:relative}.btn-emoji{width:40px;height:40px;border:none;background:transparent;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-emoji:hover:not(:disabled){background:#e9ecef;transform:scale(1.1)}.btn-emoji:disabled{opacity:.5;cursor:not-allowed}.emoji-picker{position:absolute;bottom:50px;left:50%;transform:translate(-50%);background:white;border:1px solid #e9ecef;border-radius:14px;padding:12px;box-shadow:0 4px 20px #00000026;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-height:200px;overflow-y:auto;z-index:100;width:280px}.emoji-item{width:32px;height:32px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.emoji-item:hover{background:#f8f9fa;transform:scale(1.2)}.uploading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.uploading-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.more-menu-container{position:relative}.more-menu{position:absolute;bottom:100%;right:0;margin-bottom:8px;background:white;border:1px solid #e9ecef;border-radius:16px;padding:12px;box-shadow:0 -4px 24px #00000026;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;z-index:1000;min-width:280px}.more-menu-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:none;background:#f8f9fa;border-radius:14px;cursor:pointer;transition:all .2s ease;font-size:11px;color:#495057;font-weight:600}.more-menu-item:hover{background:#e9ecef;transform:translateY(-2px)}.more-menu-item .menu-icon{font-size:24px}.more-menu-item.recording{background:#dc3545;color:#fff;animation:pulse 1s infinite}.emoji-picker-panel{background:#f5f5f5;border-top:1px solid #e0e0e0;padding:12px;animation:slideUp .2s ease-out}.emoji-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 4px}.emoji-picker-title{font-size:14px;color:#666;font-weight:600}.emoji-picker-close{background:none;border:none;font-size:16px;color:#999;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.emoji-picker-close:hover{background:#e0e0e0;color:#666}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;max-height:200px;overflow-y:auto}.emoji-picker-grid .emoji-item{width:36px;height:36px;border:none;background:white;border-radius:8px;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.emoji-picker-grid .emoji-item:hover{background:#e8f4fd;transform:scale(1.1)}.emoji-picker-grid .emoji-item:active{transform:scale(.95)}@media (max-width: 480px){.chat-input-bar{gap:8px}.chat-text-input{padding:9px 14px;font-size:15px;min-height:38px}.btn-emoji-inline{width:36px;height:36px;font-size:20px}.btn-more-inline{width:36px;height:36px;font-size:24px}.emoji-picker-grid{grid-template-columns:repeat(6,1fr);gap:4px}.emoji-picker-grid .emoji-item{width:32px;height:32px;font-size:20px}.more-menu{grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;min-width:240px}.more-menu-item{padding:10px 6px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.auth-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.14) 0%,transparent 35%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.1) 0%,transparent 35%);pointer-events:none}.auth-container{background:rgba(255,255,255,.97);border-radius:24px;padding:42px;width:100%;max-width:420px;box-shadow:0 24px 70px #00000047;animation:slideUp .35s ease-out;position:relative;z-index:1;border:1px solid rgba(255,255,255,.5)}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{font-size:30px;color:#1e293b;margin-bottom:8px;font-weight:800}.auth-header p{color:#64748b;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-error{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:12px;font-size:14px;text-align:center;font-weight:500}.form-group{display:flex;flex-direction:column;gap:7px}.form-group.half{flex:1}.form-row{display:flex;gap:12px}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input,.form-group select{padding:13px 17px;border:2px solid #e5e7eb;border-radius:14px;font-size:15px;transition:all .2s ease;background:white;outline:none}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #667eea1f}.form-group input:disabled,.form-group select:disabled{background:#f3f4f6;cursor:not-allowed}.form-group input::placeholder{color:#9ca3af}.auth-btn{padding:15px 24px;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;position:relative;overflow:hidden}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn.primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 8px 22px #667eea59}.auth-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #667eea73}.auth-btn.secondary{background:transparent;color:var(--primary);border:2px solid var(--primary);font-weight:700}.auth-btn.secondary:hover:not(:disabled){background:rgba(102,126,234,.06);transform:translateY(-1px)}.auth-footer{margin-top:26px;text-align:center;display:flex;flex-direction:column;gap:14px}.auth-footer p{color:#6b7280;font-size:14px}@media (max-width: 480px){.auth-container{padding:30px 22px;border-radius:20px}.auth-header h1{font-size:26px}.form-row{flex-direction:column;gap:16px}}.match-history-page{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);color:#fff;overscroll-behavior:none;-webkit-overflow-scrolling:touch}.match-history-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 2px 12px #0000001f}.back-btn{background:rgba(255,255,255,.1);border:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;padding:9px 15px;border-radius:20px;transition:all .2s ease}.back-btn:hover{background:rgba(255,255,255,.2);transform:translate(-2px)}.match-history-header h2{margin:0;font-size:18px;font-weight:700;letter-spacing:.3px}.header-placeholder{width:68px}.match-history-content{flex:1;overflow-y:auto;padding:18px;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff9}.spinner{width:42px;height:42px;border:3px solid rgba(255,255,255,.1);border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff9;text-align:center}.error-state button{margin-top:16px;padding:11px 26px;background:linear-gradient(135deg,#00d4ff,#7b2cbf);border:none;border-radius:24px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;transition:all .25s ease;box-shadow:0 4px 16px #00d4ff4d}.error-state button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00d4ff66}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#fff9}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state p{margin:0;font-size:16px}.empty-hint{font-size:14px!important;margin-top:8px!important;opacity:.7}.match-list{display:flex;flex-direction:column;gap:14px}.match-item{display:flex;align-items:center;padding:16px 18px;background:rgba(255,255,255,.06);border-radius:18px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid transparent;box-shadow:0 4px 12px #00000014}.match-item:hover{background:rgba(255,255,255,.1);transform:translateY(-3px);box-shadow:0 8px 22px #00000029}.match-item.selected{background:rgba(0,212,255,.12);border-color:#00d4ff59}.match-item.unread{background:rgba(0,212,255,.07)}.match-avatar-wrapper{position:relative;margin-right:16px;flex-shrink:0}.match-avatar{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;border:3px solid rgba(255,255,255,.25);transition:all .25s ease;box-shadow:0 4px 12px #00000026}.match-item:hover .match-avatar{transform:scale(1.06);border-color:#ffffff73}.online-status{position:absolute;bottom:2px;right:2px;width:15px;height:15px;border-radius:50%;border:2px solid #1a1a2e;transition:all .3s ease}.online-status.online{background:#2ed573;box-shadow:0 0 8px #2ed57399}.online-status.offline{background:#747d8c}.match-info{flex:1;min-width:0}.match-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.match-user-info{display:flex;align-items:center;gap:10px}.match-username{font-weight:700;font-size:16px;color:#fff}.status-text{font-size:11px;padding:3px 9px;border-radius:12px;font-weight:600}.status-text.online{background:rgba(46,213,115,.2);color:#2ed573}.status-text.offline{background:rgba(116,125,140,.2);color:#a4b0be}.match-time{font-size:12px;color:#ffffff80}.match-preview-row{display:flex;align-items:center;justify-content:space-between}.match-preview{font-size:14px;color:#ffffff9e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.unread-badge{background:linear-gradient(135deg,#ff4757,#ff6b81);color:#fff;font-size:12px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 6px;flex-shrink:0;box-shadow:0 2px 8px #ff475766}.match-actions{display:flex;gap:10px;margin-left:12px;align-items:center}.btn-continue{display:flex;align-items:center;gap:6px;padding:10px 17px;background:linear-gradient(135deg,#00d4ff 0%,#7b2cbf 100%);border:none;border-radius:24px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 10px #00d4ff4d}.btn-continue:hover{transform:translateY(-2px);box-shadow:0 5px 18px #00d4ff66}.btn-continue:active{transform:translateY(0)}.btn-continue.offline{background:linear-gradient(135deg,#ffa502 0%,#ff7f50 100%);box-shadow:0 3px 10px #ffa5024d}.btn-continue.offline:hover{box-shadow:0 5px 18px #ffa50266}.ai-badge{position:absolute;top:-4px;left:-4px;background:linear-gradient(135deg,#7c3aed 0%,#a78bfa 100%);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;border:2px solid #1a1a2e}.btn-continue .btn-text{white-space:nowrap}.btn-delete{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,71,87,.15);border:1px solid rgba(255,71,87,.35);border-radius:50%;color:#ff4757;font-size:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn-delete:hover{background:rgba(255,71,87,.3);transform:scale(1.1) rotate(5deg);box-shadow:0 2px 12px #ff475759}.btn-delete:active{transform:scale(.95)}.btn-delete .btn-icon{display:flex;align-items:center;justify-content:center}.load-more-hint{text-align:center;padding:20px;color:#ffffff80;font-size:14px;transition:all .3s ease}.load-more-hint .loading-text{display:flex;align-items:center;justify-content:center;gap:8px}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite}.load-more-hint.no-more{color:#ffffff4d}.load-more{text-align:center;padding:20px}.load-more button{padding:10px 24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:24px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.load-more button:hover:not(:disabled){background:rgba(255,255,255,.18)}.load-more button:disabled{opacity:.5;cursor:not-allowed}.offline-messages-panel{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:flex;flex-direction:column}.offline-messages-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.1)}.offline-messages-header h3{margin:0;font-size:16px;font-weight:700}.btn-close{background:rgba(255,255,255,.1);border:none;color:#fff;font-size:22px;cursor:pointer;padding:6px 12px;border-radius:12px;transition:all .2s ease}.btn-close:hover{background:rgba(255,255,255,.2)}.offline-messages-content{flex:1;overflow-y:auto;padding:18px}.no-offline-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ffffff80;text-align:center}.no-offline-messages .icon{font-size:48px;margin-bottom:12px;opacity:.5}.offline-message-item{display:flex;margin-bottom:16px}.offline-message-item.incoming{justify-content:flex-start}.offline-message-bubble{max-width:70%;padding:12px 16px;background:rgba(255,255,255,.1);border-radius:18px 18px 18px 5px}.offline-message-content{font-size:14px;line-height:1.5;word-break:break-word}.offline-message-time{font-size:11px;color:#ffffff80;margin-top:4px}.offline-messages-footer{padding:16px 22px;background:rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center}.btn-continue-chat{padding:12px 34px;background:linear-gradient(135deg,#00d4ff,#7b2cbf);border:none;border-radius:24px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #00d4ff4d}.btn-continue-chat:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00d4ff66}@media (min-width: 768px){.match-history-content{max-width:640px;margin:0 auto}}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .2s ease;padding:20px}.confirm-dialog-overlay.visible{opacity:1}.confirm-dialog-overlay.exiting{opacity:0}.confirm-dialog{background:#ffffff;border-radius:20px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;width:100%;padding:28px;text-align:center;transform:scale(.9) translateY(20px);transition:all .2s cubic-bezier(.34,1.56,.64,1)}.confirm-dialog.visible{transform:scale(1) translateY(0)}.confirm-dialog.exiting{transform:scale(.9) translateY(20px);opacity:0}.confirm-dialog-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 20px}.confirm-dialog-icon-danger{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%)}.confirm-dialog-icon-warning{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.confirm-dialog-icon-info{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.confirm-dialog-content{margin-bottom:24px}.confirm-dialog-title{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 12px;line-height:1.3}.confirm-dialog-message{font-size:15px;color:#6b7280;margin:0;line-height:1.6}.confirm-dialog-actions{display:flex;gap:12px;justify-content:center}.confirm-dialog-btn{padding:12px 24px;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.confirm-dialog-btn-cancel{background:#f3f4f6;color:#4b5563}.confirm-dialog-btn-cancel:hover{background:#e5e7eb;transform:translateY(-1px)}.confirm-dialog-btn-cancel:active{transform:translateY(0)}.confirm-dialog-btn-confirm{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 14px #667eea66}.confirm-dialog-btn-confirm:hover{transform:translateY(-1px);box-shadow:0 6px 20px #667eea80}.confirm-dialog-btn-confirm:active{transform:translateY(0)}.confirm-dialog-btn-danger{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 4px 14px #ef444466}.confirm-dialog-btn-danger:hover{box-shadow:0 6px 20px #ef444480}.confirm-dialog-btn-warning{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 4px 14px #f59e0b66}.confirm-dialog-btn-warning:hover{box-shadow:0 6px 20px #f59e0b80}@media (max-width: 480px){.confirm-dialog-overlay{padding:16px;align-items:flex-end}.confirm-dialog{padding:24px 20px;border-radius:16px}.confirm-dialog-icon{width:56px;height:56px;font-size:24px;margin-bottom:16px}.confirm-dialog-title{font-size:18px}.confirm-dialog-message{font-size:14px}.confirm-dialog-actions{flex-direction:column-reverse;gap:8px}.confirm-dialog-btn{width:100%;padding:14px 24px}}@media (prefers-color-scheme: dark){.confirm-dialog{background:#1f2937;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.confirm-dialog-title{color:#f9fafb}.confirm-dialog-message{color:#9ca3af}.confirm-dialog-btn-cancel{background:#374151;color:#d1d5db}.confirm-dialog-btn-cancel:hover{background:#4b5563}.confirm-dialog-icon-danger{background:linear-gradient(135deg,#7f1d1d 0%,#991b1b 100%)}.confirm-dialog-icon-warning{background:linear-gradient(135deg,#78350f 0%,#92400e 100%)}.confirm-dialog-icon-info{background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 100%)}}.bottle-page{align-items:flex-start;padding-top:24px}.bottle-container{width:100%;max-width:600px;height:calc(100vh - 48px);background:white;border-radius:20px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;overflow:hidden}.bottle-header{display:flex;align-items:center;justify-content:center;padding:16px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-weight:600;font-size:17px;position:relative}.bottle-close{position:absolute;left:16px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:16px;transition:all .2s ease}.bottle-close:hover{background:rgba(255,255,255,.35)}.bottle-home{flex:1;padding:28px 24px;display:flex;flex-direction:column;align-items:center;overflow-y:auto}.bottle-title{margin:0 0 8px;font-size:26px;color:#1e293b}.bottle-subtitle{color:#64748b;font-size:14px;margin-bottom:28px}.bottle-actions{display:grid;grid-template-columns:1fr;gap:16px;width:100%}.bottle-card{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:1px solid #e2e8f0;border-radius:16px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #0000000a}.bottle-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #667eea2e;border-color:#c7d2fe}.bottle-card-icon{font-size:38px;margin-bottom:2px}.bottle-card-title{font-size:17px;font-weight:600;color:#1e293b}.bottle-card-desc{font-size:13px;color:#64748b}.bottle-card-quota{font-size:12px;color:#667eea;background:rgba(102,126,234,.1);padding:3px 10px;border-radius:12px;margin-top:4px}.bottle-rules{margin-top:auto;padding-top:24px;font-size:12px;color:#94a3b8;text-align:center;line-height:1.6}.bottle-panel{flex:1;display:flex;flex-direction:column;padding:20px 24px 24px;overflow-y:auto}.bottle-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.bottle-back,.bottle-refresh{background:#f1f5f9;border:none;color:#475569;padding:8px 14px;border-radius:20px;font-size:13px;cursor:pointer;transition:all .2s ease}.bottle-back:hover,.bottle-refresh:hover{background:#e2e8f0}.bottle-panel-title{font-size:17px;font-weight:600;color:#1e293b}.bottle-panel-quota{font-size:12px;color:#667eea;background:rgba(102,126,234,.1);padding:4px 10px;border-radius:12px}.bottle-textarea{width:100%;min-height:140px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;font-size:15px;line-height:1.6;resize:vertical;outline:none;box-sizing:border-box;font-family:inherit}.bottle-textarea:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #667eea1f}.bottle-textarea-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:13px;color:#94a3b8}.btn-bottle-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:11px 24px;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d}.btn-bottle-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-bottle-primary:disabled{opacity:.6;cursor:not-allowed}.btn-bottle-secondary{background:#f1f5f9;color:#475569;border:none;padding:11px 20px;border-radius:24px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-bottle-secondary:hover{background:#e2e8f0}.btn-bottle-text{background:transparent;border:none;color:#667eea;font-size:13px;font-weight:600;cursor:pointer;padding:0;margin-top:8px}.btn-bottle-text:hover{text-decoration:underline}.bottle-btns{display:flex;gap:10px}.bottle-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#64748b}.bottle-empty-icon{font-size:56px;margin-bottom:14px}.bottle-empty p{margin:0 0 20px;font-size:15px}.bottle-detail{flex:1;display:flex;flex-direction:column}.bottle-detail-content{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:16px;padding:22px;text-align:center;margin-bottom:18px}.bottle-detail-content.small{padding:16px}.bottle-detail-icon{font-size:36px;display:block;margin-bottom:10px}.bottle-detail-content p{margin:0 0 10px;font-size:16px;color:#1e293b;line-height:1.6;word-break:break-word}.bottle-detail-meta{font-size:12px;color:#64748b}.bottle-list{display:flex;flex-direction:column;gap:12px}.bottle-list-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease}.bottle-list-item:hover{background:#f1f5f9;border-color:#c7d2fe;transform:translate(3px)}.bottle-list-content{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.bottle-list-text{font-size:15px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottle-list-meta{font-size:12px;color:#94a3b8}.bottle-list-arrow{color:#94a3b8;font-size:18px;margin-left:12px}.bottle-reply-detail{flex:1;display:flex;flex-direction:column;overflow-y:auto}.bottle-reply-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.bottle-reply-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.bottle-reply-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.bottle-reply-user{font-weight:600;color:#667eea;font-size:14px}.bottle-reply-time{font-size:12px;color:#94a3b8}.bottle-reply-content{margin:0;font-size:15px;color:#1e293b;line-height:1.5;word-break:break-word}.bottle-empty-text{text-align:center;color:#94a3b8;padding:24px 0}@media (max-width: 600px){.bottle-page{padding:0}.bottle-container{height:100vh;border-radius:0}}
