.nx-text-chat-shell{border:1px solid color-mix(in srgb,var(--ny-brand) 24%,var(--ny-line));background:radial-gradient(100% 72% at 50% 0,color-mix(in srgb,var(--ny-brand) 12%,transparent),transparent 62%),color-mix(in srgb,var(--ny-bg) 91%,transparent);box-shadow:0 28px 90px rgba(0,0,0,.38),inset 0 1px 0 hsla(0,0%,100%,.07);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%)}.nx-text-chat-shell--friends{border-color:var(--ny-line);background:var(--ny-surface);box-shadow:var(--ny-shadow-sm),inset 0 1px 0 hsla(0,0%,100%,.06)}.nx-text-chat-shell--friends .nx-text-chat-composer,.nx-text-chat-shell--friends .nx-text-chat-header,.nx-text-chat-shell--friends .nx-text-message-list{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.nx-friend-composer-layer{position:relative;display:flex;flex-direction:column;flex:0 1 auto;min-height:0;max-height:65%;width:100%;z-index:3}.nx-text-chat-shell--friends .nx-text-chat-composer{border-top:0}.nx-text-chat-shell--friends .nx-text-message-list{padding-bottom:12px}.nx-text-chat-shell--friends .nx-text-message-list::-webkit-scrollbar-track{margin-bottom:0}.nx-text-chat-shell--friends .nx-text-chat-field,.nx-text-chat-shell--friends .nx-text-chat-field:focus-within,.nx-text-chat-shell--friends .nx-text-chat-field:hover,.nx-text-chat-shell--friends .nx-text-chat-send:not(.nx-text-chat-send--active){background:var(--ny-raised)}.nx-text-chat-header{border-bottom:1px solid var(--ny-line);background:color-mix(in srgb,var(--ny-bg) 78%,transparent);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}.nx-text-chat-typing{display:inline-flex;align-items:center;gap:7px;margin-top:2px;color:var(--ny-text-faint);font-size:12px}.nx-text-chat-typing-dots{display:inline-flex;gap:3px}.nx-text-chat-typing-dots i{width:3px;height:3px;border-radius:999px;background:currentColor;animation:nx-chat-dot 1.2s ease-in-out infinite}.nx-text-chat-typing-dots i:nth-child(2){animation-delay:.12s}.nx-text-chat-typing-dots i:nth-child(3){animation-delay:.24s}@keyframes nx-chat-dot{0%,60%,to{opacity:.32;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.nx-text-message-list{background:linear-gradient(180deg,color-mix(in srgb,var(--ny-brand) 6%,transparent),transparent 36%),color-mix(in srgb,var(--ny-bg) 38%,transparent);overscroll-behavior:contain;scrollbar-gutter:stable}.nx-friend-message-anchor{content-visibility:auto;contain-intrinsic-size:auto 72px}.nx-text-message{border-radius:18px;padding:10px 13px 8px;font-size:15px;line-height:1.48;box-shadow:0 8px 24px rgba(0,0,0,.12)}.nx-text-message--own{border-bottom-right-radius:5px;border:1px solid var(--ny-brand);background:var(--ny-brand);color:#fff}.nx-text-message--peer{border-bottom-left-radius:5px;border:1px solid var(--ny-line-strong);background:color-mix(in srgb,var(--ny-surface) 94%,var(--ny-bg));color:var(--ny-text)}.nx-text-message__meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:5px;font-size:10px;font-weight:550;line-height:1}.nx-text-message--inline-meta{position:relative}.nx-text-message--inline-meta .nx-text-message__meta{position:absolute;inset-inline-end:13px;bottom:10px;margin-top:0;line-height:inherit;font-size:11px;font-weight:400}.nx-text-message--inline-meta .nx-text-message__meta--spacer{position:static;display:inline-flex;margin-inline-start:10px;visibility:hidden}.nx-text-typing-bubble{display:inline-flex;max-width:76%;align-items:center;gap:10px;border:1px solid var(--ny-line-strong);border-radius:18px 18px 18px 5px;padding:10px 13px;background:color-mix(in srgb,var(--ny-surface) 94%,var(--ny-bg));color:var(--ny-text-faint);font-size:11px}.nx-text-chat-composer{border-top:1px solid var(--ny-line);background:color-mix(in srgb,var(--ny-bg) 82%,transparent);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%)}.nx-text-chat-field{min-width:0;flex:1;border:1px solid var(--ny-line-strong);border-radius:16px;background:color-mix(in srgb,var(--ny-surface) 88%,var(--ny-bg));transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.nx-text-chat-field:hover{border-color:color-mix(in srgb,var(--ny-brand) 36%,var(--ny-line-strong))}.nx-text-chat-field:focus-within{border-color:color-mix(in srgb,var(--ny-brand) 72%,transparent);background:color-mix(in srgb,var(--ny-surface) 96%,var(--ny-bg));box-shadow:0 0 0 3px color-mix(in srgb,var(--ny-brand) 15%,transparent)}.nx-text-chat-field--reply{border-radius:20px}.nx-text-chat-input{display:block;box-sizing:border-box;width:100%;min-height:44px;max-height:min(180px,26svh);field-sizing:content;resize:none;overflow-y:auto;border:0;border-radius:inherit;outline:none;background:transparent;padding:11px 14px;color:var(--ny-text);font:inherit;font-size:15px;line-height:22px}.nx-text-chat-field--reply .nx-text-chat-input{min-height:0;padding-top:5px;padding-bottom:9px}.nx-text-chat-input::-moz-placeholder{color:var(--ny-text-faint)}.nx-text-chat-input::placeholder{color:var(--ny-text-faint)}.nx-text-chat-input:disabled{cursor:not-allowed;opacity:.52}.nx-text-chat-reply{display:flex;align-items:center;gap:8px;padding:8px 6px 0 12px}.nx-text-chat-send{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid var(--ny-line-strong);border-radius:50%;background:color-mix(in srgb,var(--ny-surface) 88%,var(--ny-bg));color:var(--ny-text-faint);cursor:not-allowed;opacity:.62;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease}.nx-text-chat-send-icon{width:24px;height:24px;flex:0 0 24px;background:currentColor;mask:url(/assets/icons/send.svg) center/contain no-repeat;-webkit-mask:url(/assets/icons/send.svg) center/contain no-repeat;transform:translate(-1px,1px) rotate(-45deg);transition:transform .2s ease-in-out}.nx-text-chat-send-icon--active{transform:translate(-1px,1px) rotate(0deg)}.nx-text-chat-send--active{border-color:color-mix(in srgb,var(--ny-brand) 72%,transparent);background:var(--ny-brand);color:#fff;cursor:pointer;opacity:1;box-shadow:0 10px 26px color-mix(in srgb,var(--ny-brand) 26%,transparent)}.nx-text-chat-send--active:hover{transform:translateY(-1px)}.nx-text-chat-send--active:active{transform:translateY(0) scale(.97)}.nx-text-chat-send:focus-visible{outline:2px solid color-mix(in srgb,var(--ny-brand) 76%,transparent);outline-offset:3px}.nx-friend-voice-host{position:relative;display:flex;flex-direction:column;width:100%;flex:0 1 auto;min-height:0;max-height:100%}.nx-friend-voice-composer{grid-area:1/1;min-width:0}.nx-friend-voice-action{position:relative;width:46px;height:46px;flex:0 0 46px}.nx-friend-voice-mic{touch-action:none;cursor:pointer;opacity:1;color:var(--ny-text);-moz-user-select:none;user-select:none;-webkit-user-select:none}.nx-friend-voice-composer{position:relative}.nx-friend-voice-recording{--nx-voice-accent:var(--ny-brand);position:relative;display:flex;min-width:0;min-height:46px;flex:1;align-items:center;gap:12px;border:1px solid var(--ny-line-strong);border-radius:16px;padding:0 14px;background:var(--ny-raised);font-variant-numeric:tabular-nums}.nx-friend-voice-recording-meta{display:inline-flex;align-items:center;gap:12px}.nx-friend-voice-cancel{position:absolute;inset-inline-start:50%;top:50%;display:inline-flex;align-items:center;gap:2px;padding:6px 8px;border:0;background:transparent;color:var(--ny-brand);opacity:calc(1 - var(--nx-voice-cancel, 0) / 34);transform:translate(-50%,-50%) translateX(calc(var(--nx-voice-cancel, 0) * -1px));transition:transform calc(var(--nx-voice-ease, 1) * .26s) ease-out}.nx-friend-voice-cancel:not(:disabled){cursor:pointer;opacity:1}[dir=rtl] .nx-friend-voice-cancel{transform:translate(50%,-50%) translateX(calc(var(--nx-voice-cancel, 0) * 1px))}.nx-friend-voice-delete{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:0;border-radius:50%;background:transparent;color:color-mix(in srgb,var(--ny-text) 68%,transparent);cursor:pointer}.nx-friend-voice-track{position:relative;display:flex;min-width:0;max-width:340px;flex:1;align-items:center;align-self:stretch;margin-inline:auto}.nx-friend-voice-track .nx-friend-voice-wave{height:22px;flex:1;cursor:default}.nx-friend-voice-preview{position:absolute;inset-inline-start:50%;top:50%;display:inline-flex;min-width:104px;min-height:30px;transform:translate(-50%,-50%);align-items:center;justify-content:center;gap:6px;border:0;border-radius:15px;padding:4px 10px;background:color-mix(in srgb,var(--ny-text) 82%,transparent);color:var(--ny-bg);cursor:pointer;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:0 2px 10px rgba(0,0,0,.22)}.nx-friend-voice-preview:disabled{cursor:wait;opacity:.52}[dir=rtl] .nx-friend-voice-preview{transform:translate(50%,-50%)}.nx-friend-voice-dot{width:9px;height:9px;border-radius:50%;background:#ff3264;box-shadow:0 0 0 5px rgba(255,50,100,.12);animation:nx-friend-voice-pulse 1.25s ease-in-out infinite}.nx-friend-voice-slot{position:relative;width:46px;height:46px;flex:0 0 46px;border:1px solid var(--ny-line-strong);border-radius:50%;background:var(--ny-raised)}.nx-friend-voice-hint{position:absolute;bottom:calc(100% + 26px);left:50%;display:grid;width:38px;align-content:center;justify-items:center;border:1px solid var(--ny-line-strong);background:var(--ny-raised);color:var(--ny-text);box-shadow:0 10px 24px rgba(0,0,0,.22);transform:translateX(-50%) translateY(calc(var(--nx-voice-lock, 0) * -9px));transition:transform calc(var(--nx-voice-ease, 1) * .26s) ease-out}.nx-friend-voice-hint--lock{height:52px;border-radius:18px;opacity:calc(.55 + var(--nx-voice-lock, 0) * .45);pointer-events:none}.nx-friend-voice-hint--lock>:first-child{color:var(--ny-brand)}.nx-friend-voice-hint--action{height:40px;border-radius:20px;padding:0;cursor:pointer}.nx-friend-voice-travel{position:absolute;z-index:2;inset:0;border:0;border-radius:50%;padding:0;background:transparent;color:var(--ny-text);transform:translate(var(--nx-voice-x,0),var(--nx-voice-y,0)) scale(var(--nx-voice-scale,1));transition:transform calc(var(--nx-voice-ease, 1) * .42s) cubic-bezier(.22,1,.36,1)}.nx-friend-voice-travel:not(:disabled){cursor:pointer}.nx-friend-voice-travel--large{--nx-voice-scale:1.9}.nx-friend-voice-face{position:absolute;display:grid;inset:0;place-items:center;border-radius:50%;transition:background .2s ease,color .2s ease}.nx-friend-voice-send-icon{width:21px;height:21px;background:currentColor;mask:url(/assets/icons/send.svg) center/contain no-repeat;-webkit-mask:url(/assets/icons/send.svg) center/contain no-repeat}.nx-friend-voice-travel--armed .nx-friend-voice-face{background:var(--ny-brand);color:#fff}.nx-friend-voice-ring{position:absolute;inset:0;border-radius:50%;pointer-events:none}.nx-friend-voice-travel--pulse .nx-friend-voice-ring:after,.nx-friend-voice-travel--pulse .nx-friend-voice-ring:before{content:"";position:absolute;inset:0;border-radius:50%;background:color-mix(in srgb,var(--ny-brand) 60%,transparent);animation:nx-friend-voice-ring 2.4s ease-out infinite}.nx-friend-voice-travel--pulse .nx-friend-voice-ring:after{animation-delay:1.2s}.nx-friend-voice-composer--leaving .nx-friend-voice-hint,.nx-friend-voice-composer--leaving .nx-friend-voice-recording{opacity:0;pointer-events:none;transition:opacity .16s ease}.nx-friend-voice-composer--leaving .nx-friend-voice-slot{border-color:transparent;background:transparent;transition:background .16s ease,border-color .16s ease}@keyframes nx-friend-voice-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.9);opacity:0}}.nx-friend-voice-message{--nx-voice-accent:var(--ny-brand);--nx-voice-on-accent:#fff;display:flex;width:min(320px,86%);align-items:center;gap:9px;border-radius:18px;padding:9px 11px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.nx-friend-voice-message.nx-text-message--own{--nx-voice-accent:#fff;--nx-voice-on-accent:var(--ny-brand)}.nx-friend-voice-message--stacked{flex-direction:column;align-items:stretch}.nx-friend-voice-controls{display:flex;width:100%;align-items:center;gap:9px}.nx-friend-message-anchor--highlighted .nx-friend-voice-message,.nx-friend-message-anchor--highlighted .nx-text-message{animation:nx-friend-message-highlight 1.5s ease-out;outline:0 solid transparent;outline-offset:2px}@keyframes nx-friend-message-highlight{0%,28%{outline-color:color-mix(in srgb,var(--ny-brand) 58%,transparent);outline-width:4px;filter:brightness(1.12)}to{outline-color:transparent;outline-width:0;filter:brightness(1)}}.nx-friend-voice-play{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:0;border-radius:50%;background:var(--nx-voice-accent);color:var(--nx-voice-on-accent);cursor:pointer}.nx-friend-voice-body{display:flex;min-width:0;flex:1;flex-direction:column;gap:6px}.nx-friend-voice-wave{position:relative;height:26px;cursor:pointer;touch-action:none}.nx-friend-voice-wave>svg{display:block;width:100%;height:100%;overflow:visible}.nx-friend-voice-wave-rest{fill:color-mix(in srgb,currentColor 30%,transparent)}.nx-friend-voice-wave-played{fill:var(--nx-voice-accent)}.nx-friend-voice-meta{display:flex;align-items:center;gap:6px}.nx-friend-voice-duration{font-size:12px;font-variant-numeric:tabular-nums;opacity:.75}.nx-friend-voice-time{margin-inline-start:auto;font-size:11px;font-variant-numeric:tabular-nums;opacity:.75}.nx-friend-voice-delivery{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border:0;background:transparent;color:currentColor;opacity:.72}@keyframes nx-friend-voice-pulse{50%{transform:scale(.78);opacity:.72}}@media (max-width:639px){.nx-text-chat-shell{border-inline:0;border-bottom:0}.nx-text-chat-header{padding-top:max(10px,env(safe-area-inset-top,0px))}.nx-text-message{font-size:14px}}.nx-chat-composer-stack{position:relative;display:flex;flex-direction:column;flex:0 1 auto;min-height:0;max-height:65%;min-width:0;width:100%}.nx-friend-composer-layer .nx-chat-composer-stack{max-height:100%}.nx-chat-composer{display:block;flex:0 0 auto}.nx-chat-composer-row{position:relative;display:flex;align-items:flex-end;gap:8px;min-width:0}.nx-chat-input-row{position:relative;min-width:0;padding:4px}.nx-chat-input-controls{display:flex;align-items:flex-end;gap:4px;min-width:0}.nx-chat-input-action--hidden,.nx-chat-input-controls--hidden{opacity:0;pointer-events:none}.nx-chat-input-controls .nx-text-chat-input{flex:1;min-width:0;width:0;min-height:46px;padding:12px 8px}.nx-chat-input-action{flex:0 0 46px;margin-bottom:5px}.nx-chat-recording-row{position:absolute;inset-inline:0;bottom:5px;height:46px}.nx-chat-recording-row .nx-friend-voice-recording{border:0;background:transparent;min-height:46px;padding-inline:10px}.nx-chat-recording-row .nx-friend-voice-composer{height:100%}.nx-text-message>.nx-reply-quote{margin-bottom:8px}.nx-sticker-toggle{display:grid;place-items:center;width:40px;height:46px;flex:0 0 40px;color:var(--ny-text-faint);border-radius:14px}.nx-sticker-toggle:hover,.nx-sticker-toggle[aria-expanded=true]{color:var(--ny-brand);background:color-mix(in srgb,var(--ny-brand) 10%,transparent)}.nx-sticker-toggle:disabled{opacity:.4;cursor:not-allowed}.nx-sticker-picker{position:relative;display:flex;flex-direction:column;flex:0 1 auto;width:100%;min-width:0;min-height:0;border-top:1px solid var(--ny-line);background:var(--ny-raised);border-radius:0 0 24px 24px;overflow:hidden}.nx-sticker-packs{display:flex;flex:0 0 auto;align-items:center;gap:8px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid var(--ny-line);scrollbar-width:thin}.nx-sticker-packs>button{position:relative;flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--ny-text-faint)}.nx-sticker-packs>button[aria-selected=true]{color:var(--ny-brand);background:color-mix(in srgb,var(--ny-brand) 15%,transparent)}.nx-sticker-packs img{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.nx-sticker-grid-wrap{height:min(260px,32svh);flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.nx-sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;padding:12px}.nx-sticker-grid>button{min-width:0;aspect-ratio:1;border-radius:14px;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none}.nx-sticker-grid>button:hover{background:color-mix(in srgb,var(--ny-brand) 8%,transparent)}.nx-sticker-image{display:grid;width:100%;height:100%;min-height:48px;place-items:center;overflow:hidden}.nx-sticker-image img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-moz-user-select:none;user-select:none;-webkit-user-select:none}.nx-sticker-retry{gap:4px;font-size:11px;color:var(--ny-text-faint);cursor:pointer}.nx-sticker-notice,.nx-sticker-retry{display:flex;flex-direction:column;align-items:center;justify-content:center}.nx-sticker-notice{text-align:center;gap:10px;min-height:130px;height:100%;width:100%;padding:16px;color:var(--ny-text-muted);font-size:13px}.nx-sticker-unlock{display:inline-flex;justify-content:center;border-radius:14px;padding:9px 16px;background:var(--ny-brand);color:#fff;font-weight:600;font-size:13px}.nx-sticker-unlock:disabled{opacity:.5}.nx-sticker-preview{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;background:var(--ny-raised)}.nx-sticker-preview>.nx-sticker-image{width:180px;flex:1;min-height:0}.nx-text-message.nx-sticker-message{width:208px;max-width:100%;padding:8px 8px 24px;background:transparent;border:0;box-shadow:none;color:var(--ny-text)}.nx-sticker-message>.nx-sticker-image{height:184px}.nx-sticker-message>.nx-text-message__meta{color:var(--ny-text-faint)}.nx-sticker-message .nx-reply-quote{background:color-mix(in srgb,var(--ny-raised) 90%,transparent)}.nx-sticker-animation{display:block}.nx-sticker-animation,.nx-sticker-animation>svg{width:100%;height:100%}.nx-sticker-packs .nx-sticker-image{width:32px;height:32px;min-height:0}.nx-text-chat-shell.nx-chat-pattern{background:var(--ny-bg) url(/assets/chat-pattern/light.svg) repeat;background-size:1536px 1351.68px}.dark .nx-text-chat-shell.nx-chat-pattern{background-image:url(/assets/chat-pattern/dark.svg)}.nx-text-chat-shell.nx-chat-pattern .nx-text-message-list{background:transparent}.nx-text-chat-shell.nx-chat-pattern .nx-text-chat-header{background:rgba(var(--ny-bg-rgb),.9)}