/* NOXER V43 · reference-inspired cohesive dark messenger UI */
:root{--nx43-ink:#f6f6f8;--nx43-muted:#9796a5;--nx43-violet:#7762d3;--nx43-pink:#ff52a5}
body.messenger-page{color:var(--nx43-ink)}
body.messenger-page .chat-list-panel{background:#111115!important;border:1px solid rgba(255,255,255,.065)!important;box-shadow:0 8px 38px rgba(0,0,0,.2)!important}
body.messenger-page .chat-list-panel .list-panel-header{padding:15px 14px 11px!important}
body.messenger-page #panelLabel{letter-spacing:-.035em;font-weight:850!important;font-size:17px!important}
body.messenger-page .chat-list-panel .search-field{margin:0 12px 6px!important;background:#242429!important;border:1px solid rgba(255,255,255,.045)!important;border-radius:13px!important}
body.messenger-page .chat-list-panel .search-field input{color:#eee!important;font-size:12px!important}
body.messenger-page .list-tabs{padding:7px 12px!important;gap:11px!important;margin:0!important}
body.messenger-page .list-tab{border-radius:10px!important;padding:8px 10px!important;font-size:11px!important;color:#aaa4b5!important;font-weight:750!important}
body.messenger-page .list-tab.active{background:linear-gradient(130deg,#7162a4,#5d4b97)!important;color:white!important}
body.messenger-page .chat-row{border-radius:11px!important;margin:0 4px!important;min-height:60px!important}
body.messenger-page .chat-row.active{background:linear-gradient(120deg,#7968d7,#6d56b8)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}
body.messenger-page #createChat{border-radius:50%!important;background:#7963cb!important;color:white!important;box-shadow:0 8px 22px #49317c47!important}
/* Existing V42 row is replaced by a real profile-stories carousel. */
body.messenger-page .nx43-legacy-hide{display:none!important}
.nx43-stories{display:flex;align-items:flex-start;gap:10px;padding:12px 11px 10px;margin:0 0 5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#555 #111;min-height:104px;box-sizing:border-box;scroll-snap-type:x proximity}
.nx43-story-person{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:56px;max-width:56px;padding:0;border:0;background:none;color:#bcbcc6;cursor:pointer;scroll-snap-align:start}
.nx43-story-ring{width:56px;height:56px;padding:2px;border-radius:50%;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#fa508c,#ba44ef,#5556ff);box-shadow:0 0 0 1px #ffffff18;flex:0 0 auto}
.nx43-story-mine .nx43-story-ring{background:conic-gradient(#13dbb2,#7045d8,#13dbb2)}
.nx43-story-avatar{display:grid;place-items:center;width:100%;height:100%;border:3px solid #111115;border-radius:50%;background:linear-gradient(120deg,#303c51,#131724);font-size:15px;font-weight:800;overflow:hidden;color:#ddd}
.nx43-story-avatar img{width:100%;height:100%;object-fit:cover}
.nx43-story-add{position:absolute;bottom:-1px;right:-2px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;color:white;background:#785add;border:2px solid #111115;font-size:16px;line-height:1;font-weight:700}
.nx43-story-caption{font-size:10px;line-height:1.35;max-width:59px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx43-story-person:hover .nx43-story-ring{filter:brightness(1.13)}
.nx43-new-menu{position:absolute;z-index:2147480000;min-width:217px;border:1px solid #ffffff25;border-radius:15px;background:#1c1b23fa;padding:7px;box-shadow:0 16px 45px #000a;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.nx43-new-menu button{display:flex;width:100%;gap:12px;align-items:center;text-align:left;border:0;border-radius:10px;color:white;background:none;padding:12px 11px;font-size:13px;cursor:pointer;font-weight:650}
.nx43-new-menu button:hover{background:#ffffff13}
/* Light refractive edges, but genuinely translucent messages. */
body.messenger-page .message-bubble{background:linear-gradient(143deg,rgba(66,68,86,.42),rgba(22,24,35,.55))!important;border:1px solid rgba(237,236,255,.13)!important;backdrop-filter:blur(16px) saturate(1.22)!important;-webkit-backdrop-filter:blur(16px) saturate(1.22)!important;box-shadow:inset 0 1px rgba(255,255,255,.11),0 9px 19px #0002!important;border-radius:15px 15px 15px 5px!important}
body.messenger-page .message-item.own .message-bubble{background:linear-gradient(120deg,rgba(136,111,230,.77),rgba(92,76,187,.78))!important;border:1px solid rgba(222,207,255,.25)!important;border-radius:15px 15px 5px 15px!important}
body.messenger-page .conversation-header{border-radius:15px!important;background:rgba(20,20,26,.88)!important;border:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(17px)}
body.messenger-page .message-compose .compose-inner{border-radius:22px!important;border:1px solid #ffffff19!important;background:rgba(20,20,25,.86)!important;box-shadow:inset 0 1px rgba(255,255,255,.08)!important;backdrop-filter:blur(20px)!important}
body.messenger-page #messageText{font-size:13px!important;min-width:0}
body.messenger-page .send-button{background:#7862d2!important;border-radius:50%!important;color:white!important}
body.messenger-page .conversation-panel{min-width:0!important;max-width:100%!important}
body.messenger-page .message-scroller{scrollbar-width:thin}
/* Emoji picker: three tabs, searchable sections, animated visual glyphs. */
#nx42EmojiBtn,#nx43EmojiBtn{font:23px/1 Arial,sans-serif!important;color:#a48de9!important;border:0!important;background:none!important;min-width:30px;min-height:33px;cursor:pointer}
#nx43EmojiPicker{position:absolute;z-index:2147482000;left:0;bottom:calc(100% + 10px);width:min(322px,calc(100vw - 34px));height:338px;display:flex;flex-direction:column;background:rgba(30,30,34,.98);color:#fff;border:1px solid #ffffff20;border-radius:16px;overflow:hidden;box-shadow:0 15px 45px #000b;backdrop-filter:blur(24px)}
.nx43-emoji-search{display:flex;gap:7px;padding:9px;border-bottom:1px solid #ffffff11}
.nx43-emoji-search input{width:100%;min-width:0;background:#303035;border:1px solid #ffffff12;border-radius:10px;padding:9px;color:#fff;outline:0}
.nx43-emoji-search button{border:0;background:transparent;color:#c3c2c8;font-size:22px;cursor:pointer}
.nx43-emoji-scroll{flex:1;min-height:0;overflow:auto;padding:6px 10px;scrollbar-width:thin;scrollbar-color:#5d5e65 transparent}
.nx43-emoji-scroll h5{margin:8px 0 10px;text-align:center;color:#99999f;font-size:12px;font-weight:800}
.nx43-emoji-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.nx43-emoji-grid button{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:9px;background:none;font-size:26px;cursor:pointer;padding:0;transition:background .12s,transform .18s}
.nx43-emoji-grid button:hover,.nx43-emoji-grid button:focus-visible{background:#ffffff21;transform:scale(1.15)}
.nx43-emoji-animated button:hover{animation:nx43Bop .45s ease-in-out infinite alternate}
@keyframes nx43Bop{from{transform:scale(.94) rotate(-8deg)}to{transform:scale(1.14) rotate(8deg)}}
.nx43-emoji-tabs{display:flex;align-items:center;justify-content:space-evenly;gap:6px;height:45px;padding:5px 15px;border-top:1px solid #ffffff19}
.nx43-emoji-tabs button{background:none;border:0;color:#9894a5;min-width:56px;height:32px;font-weight:800;font-size:16px;cursor:pointer;border-radius:9px}
.nx43-emoji-tabs button.active{color:#9c7fff;background:#7153d01c}
.nx43-gif-help{display:flex;flex-direction:column;gap:14px;text-align:center;padding:30px 15px;color:#aaa;font-size:12px}
.nx43-gif-help button{color:#fff;background:#6956b6;border:0;border-radius:10px;padding:11px;cursor:pointer}
/* Story editor: portrait full-screen canvas with camera/file/text options */
#nx43StoryEditor{box-sizing:border-box;position:fixed;inset:0;z-index:2147483610;display:flex;flex-direction:column;align-items:center;padding:14px max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom));gap:10px;background:#050508;color:#fff;font:14px/1.45 system-ui,sans-serif}
#nx43StoryEditor *{box-sizing:border-box}
.nx43-story-tool{display:flex;align-items:center;justify-content:space-between;gap:10px;width:min(420px,100%);min-height:48px}
.nx43-story-tool button{border:0;background:none;color:#fff;font-size:27px;cursor:pointer;width:42px;height:42px}
.nx43-story-tool span{font-size:11px;color:#a8a8b1}
.nx43-story-canvas{flex:1;min-height:0;max-height:72dvh;position:relative;display:grid;place-items:center;width:min(420px,100%);overflow:hidden;border-radius:18px;border:1px solid #ffffff20;background:radial-gradient(ellipse at 30% 25%,#3e244a,#14131e 58%,#050508);box-shadow:0 12px 46px #000a}
.nx43-story-canvas video,.nx43-story-canvas img{width:100%;height:100%;object-fit:contain}
.nx43-story-canvas [hidden],#nx43StoryEmpty[hidden]{display:none!important}
#nx43StoryEmpty{position:absolute;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px;max-width:90%;pointer-events:none;opacity:.82}
#nx43StoryEmpty span{font-size:54px}#nx43StoryEmpty b{font-size:17px}#nx43StoryEmpty small{color:#aaa}
#nx43StoryBody{position:absolute;left:5%;right:5%;bottom:24px;width:90%;height:86px;resize:vertical;max-height:38%;font:16px system-ui;color:#fff;text-align:center;background:rgba(0,0,0,.32);border:1px solid #ffffff30;padding:12px;border-radius:12px;outline:0;text-shadow:0 1px 4px #000b}
#nx43StoryBody:focus{border-color:#b99bf0}#nx43StoryError{position:absolute;bottom:118px;left:10px;right:10px;text-align:center;color:#ffb9bc;font-size:12px}
.nx43-story-tools{width:min(420px,100%);display:flex;justify-content:center;gap:8px}
.nx43-story-tools button{padding:11px;border-radius:12px;border:1px solid #ffffff22;background:#1e1e24;color:white;font-weight:750;cursor:pointer;font-size:11px}
.nx43-story-publish{width:min(420px,100%);background:#f0eff8;color:#121218;border:0;border-radius:15px;padding:13px;min-height:44px;cursor:pointer;font-weight:850}
.nx43-story-publish:disabled{opacity:.6}
/* Photo preview and menus improved to match the compact reference. */
.nx42-photo-grid{justify-content:center;min-height:190px!important}
.nx42-photo-thumb{height:204px!important;border-radius:10px!important}
#nx42PhotoPreview{gap:10px!important}
#nx42PhotoCaption{background:#242429!important;border:0!important;border-radius:12px!important}
.nx42-photo-toolbar button{background:#242429!important}
.nx43-story-plus .nx12-story-icon::after{content:'+';color:white;background:#7255db;border:2px solid #0b0b0e;border-radius:50%;position:absolute;right:0;bottom:0;width:17px;height:17px;display:grid;place-items:center;font-size:13px}
@media(max-width:760px){
 body.messenger-page .chat-list-panel{border-radius:0!important;margin:0!important;width:100%!important;flex-basis:100%!important}
 .nx43-stories{padding:12px 10px 6px;gap:11px;min-height:98px}
 body.messenger-page .chat-row{max-width:calc(100% - 10px);margin:0 5px!important}
 body.messenger-page .chat-list-panel .list-panel-header{padding:11px 13px!important}
 body.messenger-page .message-compose{max-width:100%;padding-left:7px!important;padding-right:7px!important}
 body.messenger-page .conversation-header{max-width:100%;margin:4px 6px!important}
 .nx43-new-menu{right:0!important;max-width:calc(100vw - 30px)}
}
@media(max-width:360px){.nx43-story-tools button{padding:8px 6px;font-size:10px}.nx43-stories{gap:7px}.nx43-emoji-grid button{font-size:23px}}
@media(prefers-reduced-motion:reduce){.nx43-emoji-grid button,.nx43-story-ring{animation:none!important;transition:none!important}}
