:root{font-family:Inter,Manrope,'Segoe UI',system-ui,-apple-system,sans-serif;font-size:15px;--bg:#060d20;--nav:#090f24;--panel:#0d1730;--panel2:#111e3b;--line:#263657;--text:#f5f7ff;--muted:#94a4c8;--primary:#6d5fff;--primary2:#946cff;--cyan:#52d5f7;--good:#29ddaf;--danger:#ff6c95;--bubble-in:#14233e;--bubble-out:linear-gradient(135deg,#5164f5,#7b4cdb);--shadow:0 24px 60px #02071770;--glass:rgba(10,20,44,.87);color-scheme:dark}
:root[data-theme='light']{--bg:#eff3fb;--nav:#f7f9ff;--panel:#fff;--panel2:#f5f8ff;--line:#d9e0ef;--text:#1b2946;--muted:#677a99;--primary:#6457df;--primary2:#8472ee;--cyan:#128cba;--good:#168d71;--danger:#c82d65;--bubble-in:#d3eaff;--bubble-out:linear-gradient(135deg,#d9d2ff,#c8ddff);--shadow:0 20px 60px #405e8d22;--glass:rgba(255,255,255,.92);color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}body{overscroll-behavior:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button{border:0}a{color:var(--cyan)}svg{width:20px;height:20px;display:block;stroke:currentColor;fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.hidden{display:none!important}.no-wrap{white-space:nowrap}.muted{color:var(--muted)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell{height:100dvh;display:grid;grid-template-columns:86px minmax(305px,370px) minmax(0,1fr);overflow:hidden;background:radial-gradient(ellipse at 95% -6%,#17327144,transparent 40%),var(--bg)}.rail{background:var(--nav);border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;gap:9px;padding:23px 10px;z-index:3}.brand-icon{width:52px;height:52px;border-radius:18px;background:radial-gradient(circle at 10% 0,#45c8fd,#6553d8 70%,#bb4bcf);box-shadow:0 7px 26px #6957fd66;display:grid;place-items:center;font-size:27px;color:white;font-weight:700;letter-spacing:-6px;padding-right:6px}.brand-icon.small{width:38px;height:38px;border-radius:13px;font-size:19px}.rail .spacer{flex:1}.rail button{width:61px;min-height:58px;border-radius:16px;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;font-size:10px;font-weight:600;transition:.2s}.rail button svg{width:24px;height:24px}.rail button.active,.rail button:hover{color:var(--text);background:linear-gradient(150deg,#6270fc35,#a25cf21d)}.rail button.active{box-shadow:inset 0 0 0 1px #7477ff45}.people-list{border-right:1px solid var(--line);background:var(--nav);min-width:0;display:flex;flex-direction:column;overflow:hidden}.list-head{height:78px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 22px 10px}.list-title{display:flex;align-items:center;gap:11px;min-width:0}.list-title h1{font-size:25px;letter-spacing:-.7px;margin:0;font-weight:750}.kicker{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--cyan);text-transform:uppercase}.list-controls{display:flex;gap:4px}.icon-btn{width:40px;height:40px;display:grid;place-items:center;color:var(--muted);border-radius:13px;background:transparent;flex-shrink:0}.icon-btn:hover,.icon-btn:active{background:var(--panel2);color:var(--text)}.icon-btn.square{background:var(--panel);border:1px solid var(--line)}.search-field{margin:3px 19px 12px;height:43px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel);border-radius:15px;color:var(--muted);padding:0 13px}.search-field input{background:none;border:0;outline:0;color:var(--text);min-width:0;flex:1;width:100%}.search-field input::placeholder,textarea::placeholder{color:var(--muted)}.chips{display:flex;gap:7px;padding:0 18px 13px;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.chip{padding:7px 13px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--muted);white-space:nowrap;font-size:12px}.chip.on{background:linear-gradient(145deg,#566cff,#8c58e9);border-color:transparent;color:#fff}.stories-label{font-size:11px;letter-spacing:.11em;color:var(--muted);font-weight:700;padding:0 22px 9px}.story-strip{display:flex;gap:13px;padding:0 20px 15px;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.story{border:0;background:none;color:var(--text);display:flex;align-items:center;flex-direction:column;gap:6px;min-width:56px;max-width:66px;font-size:11px}.story-avatar{padding:3px;background:linear-gradient(125deg,#2ad6fb,#6a5dfe,#f26cbb);border-radius:50%;width:57px;height:57px;display:grid;place-items:center}.story-avatar .avatar{height:51px;width:51px;border:3px solid var(--nav)}.avatar{height:42px;width:42px;display:grid;place-items:center;border-radius:50%;object-fit:cover;flex-shrink:0;background:linear-gradient(145deg,#5a94de,#9655e9);color:white;font-weight:700;font-size:16px;text-transform:uppercase;overflow:hidden}.avatar.large{width:55px;height:55px;font-size:22px}.avatar.tiny{width:34px;height:34px}.chatlist{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5d6c9840 transparent;padding:0 12px 105px}.chat-row{display:flex;gap:11px;align-items:center;width:100%;min-height:75px;text-align:left;border-radius:16px;padding:9px;color:var(--text);background:transparent;margin-bottom:2px;transition:background .15s}.chat-row:hover{background:#6a7ee213}.chat-row.selected{background:linear-gradient(105deg,#5468ec30,#9a54cc20)}.chat-main{flex:1;min-width:0}.chat-row-top{display:flex;gap:7px;justify-content:space-between;align-items:baseline}.chat-row b{font-size:14px;font-weight:700}.chat-row time{color:var(--muted);font-size:11px;flex-shrink:0}.chat-row p{margin:7px 0 0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.badge{display:inline-flex;min-width:19px;height:19px;border-radius:12px;align-items:center;justify-content:center;background:var(--primary);color:white;font-size:10px;padding:0 5px;font-weight:700}.chat-area{min-width:0;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#07142e url('/rodnie-assets/nextgen/assets/nebula.webp') center/cover no-repeat}.chat-area:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#06112cba 0%,#07132b35 35%,#07132b92 100%)}:root[data-theme='light'] .chat-area{background:#f6f8ff url('/rodnie-assets/nextgen/assets/softsky.webp') center/cover no-repeat}:root[data-theme='light'] .chat-area:before{background:#f7faffaa}.chat-area>*{position:relative;z-index:1}.welcome{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px}.welcome-pane{max-width:525px;padding:35px 28px;border:1px solid #8993e544;border-radius:32px;background:#081938ad;backdrop-filter:blur(20px);box-shadow:0 22px 70px #0005}.welcome-pane .brand-icon{margin:auto;width:77px;height:77px;font-size:42px;border-radius:26px}.welcome-pane h2{font-size:31px;letter-spacing:-1px;margin:20px 0 10px;color:white}.welcome-pane p{color:#b8c8e9;line-height:1.65}.welcome-buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.primary-btn{background:linear-gradient(125deg,#5b6df7,#985bdc);color:white;border:0;border-radius:14px;padding:12px 19px;font-weight:680;box-shadow:0 6px 20px #765efa40}.secondary-btn{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:14px;padding:12px 16px}.chat-head{display:flex;height:78px;flex-shrink:0;align-items:center;gap:12px;padding:0 25px;border-bottom:1px solid #8398c636;background:var(--glass);backdrop-filter:blur(24px);z-index:2}.chat-head .person{display:flex;gap:12px;align-items:center;min-width:0;flex:1;text-align:left;background:none;border:0;color:var(--text);padding:0}.person-info{min-width:0;display:flex;flex-direction:column;gap:5px}.person-info b{font-size:16px}.person-info small{color:var(--muted);font-size:12px}.head-actions{display:flex;gap:6px}.head-actions .icon-btn{width:41px}.online-dot{width:7px;height:7px;border-radius:50%;background:var(--good);display:inline-block;margin-right:5px;box-shadow:0 0 12px var(--good)}.messages-wrap{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.chat-timeline{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-color:#6c82be60 transparent;scrollbar-width:thin;padding:30px max(22px,calc((100% - 940px)/2)) 28px;display:flex;flex-direction:column;gap:10px;overflow-anchor:none}.load-marker{text-align:center;color:#b2c1e6;min-height:25px;padding:9px}.load-marker button{background:#121f4099;color:#c9d6fb;border-radius:100px;padding:8px 15px;border:1px solid #5369a15c}.message{max-width:min(77%,590px);position:relative;flex-shrink:0;min-width:95px;padding:11px 14px 8px;border-radius:19px 19px 19px 6px;background:var(--bubble-in);border:1px solid #749bda26;box-shadow:0 5px 25px #0000001a;color:var(--text);align-self:flex-start;overflow-wrap:anywhere}.message.own{align-self:flex-end;border-radius:19px 19px 6px 19px;background:var(--bubble-out);border:1px solid #b9c6ff48;color:white}.message.starts-day{margin-top:47px}.message.starts-day:before{content:attr(data-day-label);position:absolute;left:50%;top:-40px;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:650;color:#d8e8ff;background:#25416caa;border:1px solid #8baddc44;padding:7px 14px;border-radius:30px;pointer-events:none}.message.own.starts-day:before{left:auto;right:0;transform:none}:root[data-theme='light'] .message.starts-day:before{background:#fff;color:#426089}.message-text{white-space:normal;line-height:1.47;letter-spacing:.005em;font-size:14px}.message .quote{display:flex;flex-direction:column;gap:3px;border-left:3px solid #62d7ed;padding:7px 11px;background:#0002;border-radius:5px 10px 10px 5px;margin-bottom:8px;font-size:12px;max-width:500px}.message .quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-meta{display:flex;justify-content:flex-end;gap:6px;align-items:center;margin-top:6px;font-size:10px;color:#aebfe5}.message.own .msg-meta{color:#e0e7ff}.sent-status{color:#94f4e1;font-weight:700}.message .msg-trigger{position:absolute;opacity:0;top:0;right:-32px;background:#243d67;border-radius:8px;color:white;padding:5px}.message.own .msg-trigger{right:auto;left:-32px}.message:hover .msg-trigger,.message:focus-within .msg-trigger{opacity:1}.message img,.message video{display:block;max-width:min(100%,370px);border-radius:12px;margin-top:8px;max-height:370px;object-fit:contain}.message audio{max-width:260px;width:100%;margin:7px 0}.media-preview{background:transparent;padding:0;border:0;max-width:100%;display:block}.deleted,.special-note{font-size:12px;opacity:.85}.file-download{display:block;padding:12px;background:#8b97ba32;border-radius:12px;margin-top:9px;color:inherit}.timeline-status{position:absolute;right:25px;bottom:15px;z-index:2;border:1px solid #9ab9ff33;border-radius:50%;background:#172a50;color:white;width:40px;height:40px;display:grid;place-items:center;box-shadow:var(--shadow)}.composer-shell{flex-shrink:0;padding:10px 18px calc(15px + env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--glass),transparent);z-index:2}.composer{display:flex;align-items:end;gap:9px;border:1px solid #6579a65b;border-radius:23px;padding:7px;background:var(--glass);backdrop-filter:blur(17px);box-shadow:0 12px 30px #0002;max-width:970px;margin:auto}.composer .icon-btn{width:42px;height:42px;flex-shrink:0}.input-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:4px;border-radius:18px;padding:0 5px}.composer textarea{background:none;resize:none;border:0;outline:0;color:var(--text);width:100%;max-height:130px;min-height:37px;line-height:22px;padding:8px 0;overflow-y:auto}.send-btn{width:47px;height:47px;display:grid;place-items:center;flex-shrink:0;border-radius:17px;background:linear-gradient(135deg,#5a72f9,#8f56e9);color:white;box-shadow:0 5px 22px #6869f966;touch-action:none}.send-btn.recording{background:linear-gradient(140deg,#ff517a,#b03c95);animation:recording 1s ease-in-out infinite alternate}.send-btn svg{width:23px;height:23px}.reply-bar,.attach-preview,.editing-bar{max-width:950px;margin:0 auto 8px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:15px;background:var(--panel);border:1px solid var(--line);padding:9px 13px;color:var(--text)}.reply-bar small,.attach-preview small{color:var(--muted)}.reply-bar button,.attach-preview button{background:none;color:var(--muted)}.mobile-nav{display:none}.panel-page{flex:1;min-height:0;overflow:auto;padding:30px max(30px,calc((100% - 860px)/2));background:linear-gradient(150deg,#0a1937cd,#151638a8)}.panel-page h2{font-size:30px;letter-spacing:-.8px}.page-subtitle{color:#b4c2e3}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:13px;margin-top:22px}.feature-card{padding:21px;border-radius:21px;background:#ffffff0e;border:1px solid #96b4fd28;min-height:118px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;color:white;text-align:left}.feature-card svg{color:#74e4f2;width:28px;height:28px}.feature-card strong{font-size:16px}.feature-card small{font-size:12px;color:#aebddd}.settings-section{padding:20px;border:1px solid #98b2ff29;border-radius:21px;background:#ffffff0c;margin-top:12px}.settings-section h3{margin-top:0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.setting-row select{background:#182445;color:white;border:1px solid #6383b160;padding:8px;border-radius:9px}.sheet-backdrop{position:fixed;inset:0;background:#0009;z-index:40;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(5px)}.sheet{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:24px 24px 0 0;padding:17px;min-width:min(100%,420px);max-width:560px;max-height:90dvh;overflow:auto;box-shadow:var(--shadow)}.sheet h3{margin:4px 0 16px}.sheet .sheet-action{width:100%;padding:13px 9px;background:transparent;color:var(--text);text-align:left;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}.sheet .sheet-action svg{color:var(--muted)}.sheet .danger{color:var(--danger)}.sheet .sheet-action:last-child{border:0}.dialog-backdrop{position:fixed;inset:0;z-index:45;background:#030916c9;backdrop-filter:blur(12px);display:grid;place-items:center;padding:15px}.dialog{width:min(100%,470px);background:var(--panel);border:1px solid var(--line);border-radius:25px;padding:22px;box-shadow:var(--shadow);max-height:88dvh;overflow:auto;color:var(--text)}.dialog h2{margin:2px 0 15px}.dialog .row{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.dialog input{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--text);width:100%}.dialog .close-btn{position:absolute;right:15px;top:15px;background:#25395f;color:#fff;border-radius:11px;padding:8px}.dialog p{line-height:1.55;color:var(--muted)}#toastHost{position:fixed;z-index:99;bottom:80px;left:50%;transform:translateX(-50%);width:min(calc(100% - 25px),480px);pointer-events:none}#toastHost .toast{border-radius:15px;background:#202b4eeb;color:white;padding:13px 18px;margin-top:8px;box-shadow:var(--shadow);font-size:13px}.list-empty{padding:28px 16px;text-align:center;color:var(--muted)}.detail-item{background:var(--panel2);border:1px solid var(--line);border-radius:15px;padding:13px;margin-top:10px}.near-map{width:100%;height:min(65dvh,560px);border-radius:20px;border:1px solid #6c83bd6f;background:#14243d;overflow:hidden}.story-cover{height:65dvh;max-height:760px;border-radius:22px;background:linear-gradient(160deg,#173e5d,#6643a2);position:relative;overflow:hidden;display:grid;place-items:center}.story-cover img,.story-cover video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.story-cover .story-caption{position:absolute;bottom:22px;left:20px;right:20px;padding:12px;background:#0008;border-radius:12px;z-index:1;color:white}.story-controls{display:flex;gap:10px;justify-content:space-between;margin-top:11px}.call-fallback{font-size:14px;line-height:1.5}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:20px;background:#08142d url('/rodnie-assets/nextgen/assets/nebula.webp') center/cover}.auth-card{width:min(440px,100%);padding:32px;border-radius:28px;background:#0d1b36df;color:white;border:1px solid #7294ce59;box-shadow:var(--shadow)}.auth-card h1{font-size:30px;margin:20px 0}.auth-card p{line-height:1.6;color:#b6c6e5}.splash{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:radial-gradient(circle at 50% 48%,#32286d,#070e24 60%)}.splash-mark{font-size:48px;color:#b5a7ff}.splash strong{font-size:33px}.splash small{color:#a4b7d8}.loader{margin-top:13px;border:2px solid #6b73aa66;border-top-color:#b4b3ff;border-radius:50%;height:25px;width:25px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes recording{to{box-shadow:0 0 0 10px #ff547924}}
@media(min-width:1100px){.app-shell{grid-template-columns:84px minmax(345px,405px) minmax(0,1fr)}.message{max-width:min(71%,610px)}}
@media(max-width:850px){.app-shell{grid-template-columns:minmax(0,1fr)}.rail{display:none}.people-list{grid-column:1;grid-row:1;height:100dvh;border:0}.chat-area{grid-column:1;grid-row:1;display:none;height:100dvh}.app-shell.chat-open .people-list{display:none}.app-shell.chat-open .chat-area{display:flex}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(65px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:5;background:var(--nav);border-top:1px solid var(--line);align-items:center;justify-content:space-around}.mobile-nav button{background:none;color:var(--muted);width:20%;height:57px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:10px}.mobile-nav button.active{color:var(--primary2)}.mobile-nav button svg{width:23px;height:23px}.app-shell.chat-open .mobile-nav{display:none}.list-head{padding:14px 18px 9px;height:74px}.list-title h1{font-size:24px}.people-list .chatlist{padding-bottom:87px}.chat-head{height:68px;padding:0 9px;gap:7px}.chat-head .person{gap:8px}.chat-head .avatar{width:39px;height:39px}.chat-head .person-info b{font-size:14px}.head-actions{gap:0}.head-actions .icon-btn{width:34px;height:39px}.head-actions .icon-btn svg{width:19px}.chat-timeline{padding:16px 13px 15px;gap:8px}.message{max-width:84%;font-size:14px}.composer-shell{padding:8px 8px calc(9px + env(safe-area-inset-bottom))}.composer{gap:3px;padding:5px;border-radius:21px}.composer .icon-btn{width:38px;height:42px}.composer .icon-btn svg{width:20px}.send-btn{height:43px;width:43px;border-radius:15px}.panel-page{padding:20px 18px 95px;max-height:100dvh}.chat-area .panel-page{padding-bottom:120px}.welcome-pane{border-radius:20px;padding:24px 18px}.sheet{width:100%}.message.starts-day:before{font-size:10px}}
@media(max-width:380px){.list-title h1{font-size:21px}.chat-head .icon-btn{width:30px}.composer .icon-btn{width:34px}.story-strip{gap:9px}.chat-row{padding:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

:root[data-theme='light'] .message.own{color:#233058}:root[data-theme='light'] .message.own .msg-meta{color:#5c6a97}:root[data-theme='light'] .sent-status{color:#146e8c}
.chat-area{background-image:url('/rodnie-assets/nextgen/assets/mountains.png'),url('/rodnie-assets/nextgen/assets/nebula.webp');background-size:100% auto,cover;background-position:center bottom,center;background-repeat:no-repeat,no-repeat}
:root[data-theme='light'] .chat-area{background-image:url('/rodnie-assets/nextgen/assets/softsky.webp')}
.welcome-pane{background-image:url('/rodnie-assets/nextgen/assets/violet-glow.png');background-position:70% 0;background-size:340px auto;background-repeat:no-repeat}

.location-card{min-width:170px;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center}.location-icon{width:38px;height:38px;background:#47b4c92f;display:grid;place-items:center;border-radius:13px}.location-card small{display:block;opacity:.8;font-size:10px;margin-top:3px}.location-card button{grid-column:1/-1;padding:11px;border-radius:12px;color:inherit;background:#64e4e327;text-align:center;border:1px solid #99d4ec55;font-weight:600}
.auth-card input{display:block;width:100%;padding:13px 15px;border-radius:13px;background:#0f2247;color:white;border:1px solid #566fa15c;outline:0}
.auth-card input:focus{border-color:#8ca0ff;box-shadow:0 0 0 3px #768aff25}
:root[data-theme='light'] .panel-page{background:linear-gradient(160deg,#edf2ff,#f7faff)}
:root[data-theme='light'] .page-subtitle{color:#687b9a}
:root[data-theme='light'] .settings-section{background:#fff}
:root[data-theme='light'] .chat-area .chat-timeline{color:#243958}
:root[data-theme='light'] .message{border-color:#aecdea}

/* RODNIE NEXTGEN UX2 — real components, floating translucent navigation */
.avatar{position:relative;isolation:isolate}
.avatar>img{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover;z-index:1}
.avatar .avatar-fallback{display:grid;place-items:center;position:absolute;inset:0}
.avatar.avatar-loaded .avatar-fallback{visibility:hidden}
.avatar-community{background:linear-gradient(145deg,#1a6ca0,#554ad2 64%,#af56bc);box-shadow:inset 0 0 0 1px #ffffff1a}
.mobile-menu-toggle{display:none}
.quote{display:flex!important;width:100%;flex-direction:column;text-align:left;gap:3px;border:0;border-left:3px solid var(--cyan);padding:8px 11px;color:inherit;background:#0002;border-radius:5px 10px 10px 5px;margin:0 0 8px;font-size:12px;max-width:500px;cursor:pointer}
.quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.quote:hover{background:#7685dd2a}
.jump-highlight{animation:rodnie-pulse 1.6s ease-in-out 1}
@keyframes rodnie-pulse{0%,100%{filter:none}25%,70%{filter:drop-shadow(0 0 13px #55dfef);outline:2px solid #85eeef}}
.message-reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}
.reaction-badge{background:#849ad624;color:var(--text);border:1px solid #7e99d34a;border-radius:13px;padding:4px 8px;display:flex;gap:5px;align-items:center;font-size:15px}
.reaction-badge span{font-size:11px;font-weight:700}.reaction-badge.mine{border-color:#9e82fe;background:#8a5beb40}
.message.own .reaction-badge{color:white;background:#090e2655}
.picker-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:10px}
.picker-tab{flex:1;padding:11px 10px;color:var(--muted);background:var(--panel2);border-radius:14px}
.picker-tab.active{color:#fff;background:linear-gradient(135deg,#486bfe,#8e4ade)}
.emoji-categories{display:flex;gap:7px;overflow-x:auto;padding-bottom:9px}
.emoji-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;overflow-y:auto;max-height:min(49dvh,360px);padding:8px 3px}
.emoji-cell{font-size:29px;display:grid;place-items:center;border-radius:13px;background:var(--panel2);min-height:48px;padding:7px}
.emoji-cell:active,.sticker-cell:active{transform:scale(.95)}
.sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow-y:auto;max-height:57dvh;padding:8px 3px}
.sticker-cell{display:grid;place-items:center;min-height:74px;background:var(--panel2);border-radius:14px;border:1px solid var(--line)}
.sticker-cell img{width:90%;height:80px;object-fit:contain}
.sticker-message img{max-height:150px;max-width:150px;object-fit:contain;display:block}
.picker-loading{padding:25px;text-align:center;color:var(--muted)}
.story-publish textarea{width:100%;min-height:100px;background:var(--panel2);color:var(--text);border-radius:14px;border:1px solid var(--line);padding:12px;resize:vertical}
.story-upload-preview{height:180px;border-radius:20px;background:radial-gradient(circle at top,#7558c8,#162d53);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;gap:8px;border:1px solid var(--line);margin-bottom:12px;position:relative}
.story-upload-preview img,.story-upload-preview video{max-width:100%;max-height:100%;object-fit:contain}
.story-upload-preview>span{font-size:36px}
.story-upload-preview small{color:#b5c8e5}
.story-choose{display:flex;gap:8px;justify-content:center;align-items:center;margin-bottom:13px;cursor:pointer}
.story-publish-error{color:#ff9aa5!important;min-height:15px;font-size:12px}
.near-map{position:relative}
.map-load-status{position:absolute;inset:auto 9px 9px 9px;z-index:900!important;background:rgba(11,22,48,.95);color:#edf6ff;padding:14px;border-radius:15px;border:1px solid #86a8cc77;display:flex;flex-direction:column;gap:9px;font-size:12px;box-shadow:0 5px 24px #0009}
.map-load-status small{color:#b8cce1}.map-load-status a,.map-external-note a{color:#70d5fa}
.map-external-note{color:var(--muted);font-size:12px;margin-top:8px}
.rodnie-marker{background:none;border:0;display:grid;place-items:center;font-size:32px;filter:drop-shadow(0 3px 8px #132c53)}
@media(max-width:850px){
 .app-shell{background:radial-gradient(ellipse at 12% 2%,#242c5e75,transparent 45%),var(--bg)}
 .list-head{height:71px;margin:9px 11px 6px;padding:0 11px;border-radius:22px;background:var(--glass);border:1px solid #8da5e530;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 14px 36px #0307173b;z-index:7}
 .mobile-menu-toggle{display:grid;width:38px;height:38px;background:var(--panel2);color:var(--text)}
 .list-title{gap:9px}.list-title .brand-icon.small{width:33px;height:33px;border-radius:11px}
 .list-title h1{font-size:22px}.list-title .kicker{display:none}
 .story-strip{padding:0 14px 8px;gap:9px;max-height:90px;min-height:64px;align-items:flex-start}
 .stories-label{padding:0 18px 5px;letter-spacing:.03em;font-size:10px}
 .story{min-width:47px;max-width:53px;gap:3px;font-size:10px}
 .story-avatar{width:44px;height:44px;padding:2px}.story-avatar .avatar{width:40px;height:40px;border-width:2px}
 .chat-row{min-height:67px}.chat-row .avatar.large{width:47px;height:47px}
 .mobile-nav{left:12px;right:12px;bottom:calc(9px + env(safe-area-inset-bottom));height:62px;padding:3px 5px 0;border:1px solid #8ca4e549;background:var(--glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:24px;box-shadow:0 12px 34px #03071770;justify-content:space-between;overflow:hidden}
 .mobile-nav button{width:20%;height:54px;font-size:10px}.mobile-nav button.active{color:#a393ff}
 .people-list .chatlist{padding-bottom:110px}
 .chat-head{height:66px;margin:8px 9px 3px;flex-shrink:0;max-width:calc(100% - 18px);border:1px solid #829cdb42;border-radius:22px;background:var(--glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 10px 28px #0003;z-index:4}
 .composer-shell{margin:0 8px 9px;border-radius:24px;padding:5px 0 calc(5px + env(safe-area-inset-bottom));background:transparent}
 .composer{border-color:#8297d05c;background:var(--glass);box-shadow:0 9px 30px #0005;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}
 .panel-page{padding:24px 17px 110px}
 .dialog{padding:18px;max-height:87dvh}
 .emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.emoji-cell{min-height:43px;font-size:25px}
 .near-map{height:min(54dvh,480px)}
}
:root[data-theme='light'] .list-head,:root[data-theme='light'] .mobile-nav,:root[data-theme='light'] .chat-head{background:rgba(255,255,255,.77)}
:root[data-theme='light'] .message.peer{background:#d5ecff;color:#19334b;border-color:#a9d4f5}
:root[data-theme='light'] .message.peer .msg-meta{color:#456789}

@media(max-width:850px){
 .app-shell.mode-open .people-list{display:none}
 .app-shell.mode-open .chat-area{display:flex}
 .app-shell.mode-open .mobile-nav{display:flex}
 .app-shell.chat-open .mobile-nav{display:none}
 .app-shell.mode-open .panel-page{padding-bottom:105px}
}
