/* NOXER V15. Desktop floating inbox and independent icon rail. */
.messenger-page{--nx15-violet:#9173e8;--nx15-ink:#101115;--nx15-border:rgba(240,241,255,.085)}
.messenger-page .nx15-icon,#nx12 .nx15-icon{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.messenger-page .app-topbar{display:none!important}
.messenger-page .messenger-shell{inset:0;margin:0!important;width:100%;height:100dvh!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0b0b10!important;box-shadow:none!important;overflow:hidden}
.messenger-page .app-rail{width:56px;flex:0 0 56px;background:#08090c!important;border-right:0;padding:17px 7px 13px;box-shadow:none;z-index:2}
.messenger-page .rail-top,.messenger-page .rail-bottom{gap:10px}
.messenger-page .rail-division{display:none}
.messenger-page .rail-btn{width:36px;height:39px;border:0!important;border-radius:12px!important;background:transparent!important;color:#737985;box-shadow:none!important;filter:none!important}
.messenger-page .rail-btn:hover{color:#fafaff!important;background:#202029!important}.messenger-page .rail-btn.active{color:#e0d7ff!important;background:transparent!important}
.messenger-page .rail-avatar{width:35px;height:35px;overflow:hidden;border-radius:50%;margin-top:5px}
.messenger-page .chat-list-panel{position:relative;width:282px;flex:0 0 282px;max-height:calc(100dvh - 16px);margin:8px 0 8px 0;border:1px solid var(--nx15-border);border-radius:17px;background:#111216!important;box-shadow:0 8px 34px #0003!important;overflow:hidden}
.messenger-page .list-panel-header{height:46px;padding:14px 14px 8px}
.messenger-page .panel-heading{font-size:15px;letter-spacing:-.03em}
.messenger-page .subtle-number{display:none}
.messenger-page #createChat{position:absolute;right:15px;bottom:13px;z-index:3;width:40px;height:40px;border-radius:50%;background:var(--nx15-violet);border:0;box-shadow:0 4px 18px #7554b46e;color:#fff}
.messenger-page #chatListPanel .search-field{margin:9px 12px 0;background:#24252b!important;border:1px solid #30313a;border-radius:20px;height:35px}
.messenger-page #chatListPanel .search-field input{font-size:12px}
.messenger-page #chatListPanel .search-field kbd{display:none}
.messenger-page .nx15-story-strip{display:flex;gap:9px;min-height:75px;align-items:center;padding:9px 14px 0}
.messenger-page .nx15-story{border:0;background:none;color:#9aa0ac;font-size:10px;display:flex;flex-direction:column;gap:5px;align-items:center;padding:0}
.messenger-page .nx15-story-ring{width:40px;height:40px;border-radius:50%;border:2px solid #48b4cf;display:grid;place-items:center;background:#15171b;overflow:hidden;color:#a7b5ff}
.messenger-page .nx15-story-ring img{width:100%;height:100%;object-fit:cover}
.messenger-page .list-tabs{padding:9px 12px 8px;gap:2px}
.messenger-page .list-tab{font-size:10px;padding:7px 10px;border-radius:22px}
.messenger-page .list-tab.active{background:#2b2442!important;color:#d8cfff}
.messenger-page .chat-list-scroll{padding:2px 10px 64px}
.messenger-page .chat-row{border:0!important;border-radius:12px;background:transparent;padding:8px;min-height:54px}
.messenger-page .chat-row .avatar{width:39px;height:39px;flex-basis:39px;border-radius:50%}
.messenger-page .chat-row:hover{background:#212128!important;transform:none}
.messenger-page .chat-row.active{background:#7359bd!important;color:white;box-shadow:none}
.messenger-page .chat-row-title{font-size:12px}
.messenger-page .chat-row-excerpt{font-size:10px}
.messenger-page .conversation-panel{min-width:0;background:linear-gradient(145deg,rgba(16,15,24,.68),rgba(12,12,18,.77)),url('/static/nx13-wallpaper.svg')!important;background-position:center;background-size:auto,235px 235px}
.messenger-page .chat-empty:before,.messenger-page .chat-empty:after,.messenger-page .empty-ring,.messenger-page .empty-meta,.messenger-page .chat-empty>h1,.messenger-page .chat-empty>.solid-button{display:none!important}
.messenger-page .chat-empty{padding:16px}
.messenger-page .nx15-empty-hint{display:inline-block!important;position:relative!important;z-index:1!important;background:#101015d9;border:1px solid #24232d;border-radius:99px;color:#f1f1f6!important;padding:9px 15px;margin:0!important;max-width:none!important;font-size:11px!important;font-weight:800;white-space:normal;line-height:1.3!important}
.messenger-page .active-chat:not(.hidden){animation:nx15-chat-enter .32s cubic-bezier(.18,.79,.2,1) both}
@keyframes nx15-chat-enter{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}
.messenger-page .conversation-header{height:58px;margin:8px 10px 0;padding:6px 12px;background:#17171ce8;border:1px solid #2a2a34;border-radius:14px}
.messenger-page .conversation-header .avatar{border-radius:50%;width:36px;height:36px}
.messenger-page .message-compose{padding:5px 12px 12px}
.messenger-page .compose-inner{border:1px solid #363342!important;background:#141418e8;border-radius:15px;backdrop-filter:blur(8px)}
.messenger-page #v3SectionPanel{background:#111216}
/* Don't gray-box icons on QR and controls. Preserve actions and callbacks. */
#nx12 .nx12-qr-actions{gap:7px}
#nx12 .nx12-qr-actions button{border-radius:14px;background:#1e1e22!important;color:#f9f9fc;border:1px solid rgba(255,255,255,.04);gap:6px;min-height:58px;font-size:13px}
#nx12 .nx12-qr-actions button .nx15-icon{width:20px;height:20px}
#nx12 .nx12-qr-actions button span{font-size:10px}
#nx12 .nx12-rail{background:#08090c!important;border-color:rgba(255,255,255,.05)}
#nx12 .nx12-rail button:not(.nx12-miniavatar){background:transparent!important;border:0!important;box-shadow:none!important;color:#9ca1ad}
#nx12 .nx12-rail button:hover{background:#1d1d25!important;color:#fff!important}#nx12 .nx12-rail button.active{background:transparent!important;color:#e0d7ff!important}
/* Gift catalog tiles show art, not emoji or gray mockup backgrounds. */
.gift-media,.v3-gift-emoji .gift-media,.nx12-gift-art .gift-media,.catalog-art .gift-media{background:transparent!important;box-shadow:none!important;border:0!important}
.gift-media img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(0,0,0,.12))}
.v3-section-list .v3-gift-card,.nx12-gift-grid .nx12-gift-card{background:#141519;border:1px solid rgba(255,255,255,.08);border-radius:17px}
.v3-section-list .v3-gift-card:hover,.nx12-gift-grid .nx12-gift-card:hover{border-color:#5d506f;transform:translateY(-2px)}
/* mobile: retain reachable bottom nav, fast animations, no hidden click targets */
@media(max-width:760px){
 .messenger-page .app-rail{display:none}
 .messenger-page .messenger-shell{height:100dvh!important}
 .messenger-page .chat-list-panel{width:100%;max-height:calc(100dvh - 65px - env(safe-area-inset-bottom));margin:0;border:0;border-radius:0}
 .messenger-page .chat-list-scroll{padding-bottom:70px}
 .messenger-page .mobile-bottom-nav{height:calc(65px + env(safe-area-inset-bottom))}
 .messenger-page .conversation-panel{inset:0}
 .messenger-page .conversation-header{margin:0;border-radius:0}
 .messenger-page .nx15-story-strip{min-height:70px}
}
@media(prefers-reduced-motion:reduce){.messenger-page .active-chat:not(.hidden){animation:none!important}}
