/* NOXER 42 — carefully scoped glass messaging, profile extras and full-screen stories */
:root{--nx42-stroke:rgba(255,255,255,.12);--nx42-ink:#f4f5fa;--nx42-muted:#999ba8;--nx42-surface:rgba(24,25,34,.82);--nx42-purple:#8161d8}
/* Messages have a true translucent glass layer, not a flat opaque fill. */
.messenger-page .message-item .message-bubble{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(232,231,255,.14)!important;background:linear-gradient(145deg,rgba(235,238,255,.12),rgba(65,64,86,.13) 44%,rgba(32,33,46,.42))!important;backdrop-filter:blur(22px) saturate(1.36);-webkit-backdrop-filter:blur(22px) saturate(1.36);box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 5px 22px rgba(0,0,0,.18);border-radius:16px 16px 16px 6px}
.messenger-page .message-item.own .message-bubble{background:linear-gradient(140deg,rgba(142,102,237,.43),rgba(92,72,158,.46) 55%,rgba(84,66,137,.36))!important;border-color:rgba(195,172,255,.38)!important;border-radius:16px 16px 6px 16px}
.messenger-page .message-bubble:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:0;right:0;top:0;height:44%;background:linear-gradient(180deg,rgba(255,255,255,.095),transparent);border-radius:inherit}
.messenger-page .message-body{white-space:pre-wrap;overflow-wrap:anywhere}
html[data-noxer-glass="off"] .messenger-page .message-item .message-bubble{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#20212a!important}
html[data-noxer-glass="off"] .messenger-page .message-item.own .message-bubble{background:#6254a6!important}
/* Premium badge built locally, no external image requests. */
.nx42-premium-mark{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;vertical-align:middle;flex:0 0 27px;margin-inline-start:5px;filter:drop-shadow(0 2px 8px rgba(196,50,220,.45))}
.nx42-premium-mark svg{width:100%;height:100%}
.nx42-last-hidden{font-size:12px!important;opacity:.82}
.nx42-extra-facts{max-width:720px;margin:14px auto 8px;display:grid;gap:0;padding:0 12px}
.nx42-extra-facts:empty{display:none}
.nx42-extra-facts>div{display:flex;flex-direction:column;gap:4px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);min-width:0}
.nx42-extra-facts b,.nx42-extra-facts a{font-weight:700;font-size:13px;color:#f3f3fc;overflow-wrap:anywhere}
.nx42-extra-facts a{color:#e188c6}
.nx42-extra-facts span{color:#8d8e96;font-size:11px}
.nx42-profile-actions{max-width:720px;margin:12px auto;display:flex;gap:8px;flex-wrap:wrap}
.nx42-profile-actions button{flex:1;min-width:135px}
.nx42-outline,.nx42-rail-btn,.nx42-new-channel,.nx42-secondary{color:var(--nx42-ink);border:1px solid var(--nx42-stroke);background:linear-gradient(140deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border-radius:12px;padding:10px 13px;cursor:pointer;font-weight:700;font-size:12px}
.nx42-outline:hover,.nx42-new-channel:hover,.nx42-secondary:hover,.nx42-rail-btn:hover{background:rgba(255,255,255,.14)}
.nx42-rail-btn{min-width:38px;min-height:38px;font-size:22px;line-height:1}
.nx42-new-channel{min-width:33px;min-height:32px;padding:5px;font-size:19px}
.nx42-stories-trigger{margin:2px 9px 6px;padding:10px 12px;background:rgba(113,88,184,.1);border:1px solid rgba(143,124,195,.23);border-radius:13px;color:#ded6fa;font-weight:750;cursor:pointer;text-align:left;min-width:0}
.nx42-stories-trigger+ .nx42-stories-trigger{margin-top:-3px}
.nx42-stories-trigger span{color:#ba96ff;margin-right:5px}
.nx42-stories-trigger:hover{background:rgba(113,88,184,.22)}
.nx42-edit-entry{border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:13px 16px;margin:17px 0;background:rgba(255,255,255,.025)}
.nx42-edit-entry p{font-size:12px;color:#b5b5bd}
.nx42-edit-entry button{border:1px solid var(--nx42-stroke);border-radius:10px;padding:9px 13px;background:#272731;color:#fff;cursor:pointer}
.nx42-modal{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;padding:18px;box-sizing:border-box;color:var(--nx42-ink)}
.nx42-shade{position:absolute;inset:0;background:rgba(2,2,7,.83);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.nx42-dialog{position:relative;isolation:isolate;z-index:1;width:min(var(--nx42-width,630px),100%);max-height:min(90dvh,880px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(240,241,255,.20);border-radius:24px;background:linear-gradient(153deg,rgba(57,59,76,.91),rgba(12,13,20,.96) 46%,rgba(20,21,31,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 36px 110px #000a;backdrop-filter:blur(34px);-webkit-backdrop-filter:blur(34px)}
.nx42-dialog>header{padding:17px 20px;border-bottom:1px solid var(--nx42-stroke);display:flex;align-items:center;justify-content:space-between;gap:12px}
.nx42-dialog>header strong{font-size:15px;font-weight:850}
.nx42-dialog>header .nx42-x{width:30px;height:30px;border:1px solid var(--nx42-stroke);border-radius:10px;background:rgba(255,255,255,.06);color:white;cursor:pointer}
.nx42-dialog-body{padding:20px;overflow:auto;overscroll-behavior:contain}
.nx42-form{display:flex;flex-direction:column;gap:14px}
.nx42-form>label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:750}
.nx42-form label small,.nx42-hint{font-size:11px;font-weight:500;color:var(--nx42-muted)}
.nx42-form input:not([type=checkbox]),.nx42-form textarea,#nx42ChannelSearch{display:block;width:100%;box-sizing:border-box;outline:0;background:rgba(3,4,10,.53);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:12px 13px;color:white;font:inherit;font-size:13px;min-height:43px;max-width:100%}
.nx42-form input:focus,.nx42-form textarea:focus,#nx42ChannelSearch:focus{border-color:#aa94f9}
.nx42-check{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;border:1px solid var(--nx42-stroke);padding:13px;border-radius:13px;background:rgba(255,255,255,.035)}
.nx42-check input{accent-color:#a786ff;width:17px;height:17px}
.nx42-check span:not(.nx42-tag){display:flex;flex-direction:column;gap:3px;flex:1}
.nx42-check.nx42-locked{opacity:.68}
.nx42-tag{border-radius:9px;background:linear-gradient(100deg,#a12de3,#e74eae);color:#fff;font-size:10px;font-weight:850;padding:5px 8px}
.nx42-section-caption{font-size:10px;color:#aaa9b8;letter-spacing:.16em;font-weight:800;margin-top:7px}
.nx42-primary{border:0;cursor:pointer;background:#f1f0f9;color:#111018;font-size:13px;font-weight:850;min-height:42px;padding:12px 14px;border-radius:12px}
.nx42-primary:hover{background:#d5c8f9}
.nx42-primary:disabled,.nx42-channel-row button:disabled{opacity:.6;cursor:wait}
.nx42-feedback,.nx42-status{font-size:12px;color:#beb7cf;margin:0}
.nx42-status[data-good="1"]{color:#80dfae}
.nx42-status[data-good="0"]{color:#ffa6a6}
.nx42-list{display:flex;flex-direction:column;gap:9px;max-height:49vh;overflow:auto}
.nx42-channel-row{display:flex;align-items:center;gap:12px;border:1px solid var(--nx42-stroke);background:rgba(255,255,255,.035);padding:10px;border-radius:14px}
.nx42-channel-avatar{background:linear-gradient(140deg,#bb83fe,#48428f);width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;font-weight:900}
.nx42-channel-row>div:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1;gap:3px}
.nx42-channel-row b{font-size:13px}.nx42-channel-row small{font-size:11px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx42-channel-row button{background:#8069cc;border:0;border-radius:10px;padding:9px 11px;color:white;cursor:pointer;font-weight:750;font-size:11px}
/* Portrait story player. Playback through story API, with real like/comment endpoints. */
.nx42-story-view{display:flex;flex-direction:column;min-height:min(70dvh,710px);gap:12px}
.nx42-story-progress{height:3px;background:rgba(255,255,255,.22);border-radius:3px;overflow:hidden}
.nx42-story-progress i{display:block;background:#fff;height:100%;width:0}
.nx42-story-owner{display:flex;align-items:center;gap:11px}
.nx42-story-owner>div{display:flex;flex-direction:column;gap:3px}
.nx42-story-owner b{font-size:13px}.nx42-story-owner small{font-size:10px;color:#b7b7c0}
.nx42-story-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:linear-gradient(140deg,#f27dc9,#654cc8);font-weight:900}
.nx42-story-media{position:relative;flex:1;min-height:240px;display:grid;place-items:center;border-radius:12px;background:#101016;overflow:hidden}
.nx42-story-media img{width:100%;height:100%;max-height:58dvh;object-fit:contain}
.nx42-story-media p{position:absolute;bottom:4%;left:6%;right:6%;background:rgba(4,4,8,.58);border:1px solid rgba(255,255,255,.15);padding:11px 12px;border-radius:13px;text-align:center;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.nx42-story-fallback{font-size:30px;font-weight:800;color:#9791ae}
.nx42-story-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nx42-story-actions button{min-width:33px;height:35px;border-radius:12px;border:1px solid var(--nx42-stroke);background:rgba(255,255,255,.06);color:white;cursor:pointer;font-size:20px}
.nx42-story-actions button:hover{background:rgba(255,255,255,.16)}
.nx42-story-actions span{font-size:12px;margin-left:-8px;color:#b9b8c1}
.nx42-story-compose{display:flex;gap:7px}
.nx42-story-compose input{flex:1;min-width:0;border:1px solid var(--nx42-stroke);border-radius:20px;background:#17171e;color:#fff;padding:11px 13px;outline:0}
.nx42-story-compose button{border:0;background:#856ed3;color:#fff;border-radius:14px;padding:0 14px;cursor:pointer}
.nx42-story-comments{max-height:115px;overflow:auto;font-size:12px;line-height:1.5}
.nx42-story-comments p{margin:3px 0;padding:5px 8px;background:rgba(255,255,255,.035);border-radius:8px;overflow-wrap:anywhere}
@media(max-width:650px){.nx42-modal{padding:0}.nx42-dialog{max-height:100dvh;width:100%;height:auto;max-width:100%;border-radius:20px 20px 0 0;position:absolute;bottom:0}.nx42-dialog-body{padding:15px}.nx42-story-view{min-height:min(78dvh,720px)}.nx42-story-media img{max-height:55dvh}.nx42-channel-row{gap:7px}.nx42-channel-row button{padding:7px}.nx42-profile-actions{padding:0 10px}.nx42-stories-trigger{font-size:11px}}
@media(prefers-reduced-motion:reduce){.nx42-dialog,.nx42-modal,.nx42-primary{animation:none!important;transition:none!important}}
/* Working photo attachment preview (caption is sent as a follow-up chat message). */
#nx42PhotoPreview{display:flex;flex-direction:column;gap:13px}
.nx42-photo-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between}
.nx42-photo-toolbar button{padding:9px 12px;border-radius:11px;border:1px solid var(--nx42-stroke);background:#282833;color:white;cursor:pointer}
.nx42-photo-toolbar small{font-size:11px;color:var(--nx42-muted)}
.nx42-photo-grid{display:flex;gap:8px;overflow-x:auto;min-height:150px;max-width:100%;padding:2px}
.nx42-photo-thumb{position:relative;min-width:130px;width:155px;max-width:35vw;height:175px;flex:0 0 auto;overflow:hidden;border-radius:14px;border:1px solid var(--nx42-stroke);background:#14141b}
.nx42-photo-thumb img{width:100%;height:100%;object-fit:cover}
.nx42-photo-thumb button{position:absolute;top:6px;right:6px;width:27px;height:27px;background:rgba(0,0,0,.77);color:white;border-radius:10px;border:1px solid #fff5;cursor:pointer}
#nx42PhotoCaption{width:100%;box-sizing:border-box;background:#22232c;border:1px solid var(--nx42-stroke);color:white;border-radius:13px;padding:12px;resize:vertical;min-height:58px}
.nx42-photo-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.nx42-photo-footer .nx42-primary{min-width:110px}
.nx42-emoji-btn{border:0;background:transparent;color:#b9aaf1;cursor:pointer;font-size:22px;padding:0 6px;flex-shrink:0}
.nx42-emojis{position:absolute;z-index:260;bottom:calc(100% + 9px);left:6px;width:min(310px,calc(100vw - 25px));max-height:300px;overflow:auto;background:rgba(26,27,35,.98);backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.18);border-radius:16px;box-shadow:0 20px 45px #0008;padding:9px;box-sizing:border-box}
.nx42-emojis header{display:flex;align-items:center;justify-content:space-between;padding:5px 6px 12px;color:#f1f1fc;font-weight:800;font-size:12px}.nx42-emojis header button{background:none;border:0;color:#ccc;cursor:pointer;font-size:22px}
.nx42-emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.nx42-emoji-grid button{width:100%;aspect-ratio:1;border:0;background:transparent;border-radius:9px;cursor:pointer;font-size:22px}.nx42-emoji-grid button:hover{background:#454456}
.nx12-profile-name:has(.nx42-premium-mark) .nx25-premium{display:none!important}
