:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#f1f3f6;background-color:#0f1217;--brand: #d97706;--brand-600: #e38b0a;--brand-700: #b45309;--ink: #1b1f27;--paper: #0f1217;--cream: #1f232c;--surface-100: #1b1f27;--surface-200: #232731;--surface-300: #2b303a;--surface-border: #313643;--surface-border-strong: #3b414f;--text-primary: #f1f3f6;--text-muted: #9aa0a8;--shadow-soft: 0 28px 80px rgba(5, 6, 9, .65);--shadow-medium: 0 18px 50px rgba(5, 6, 9, .5);--shadow-sharp: 0 12px 32px rgba(5, 6, 9, .45);--slate-50: #1d2129;--slate-100: #242933;--slate-200: #2d323d;--slate-300: #343945;--slate-600: #a3a8b4;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--vh: 1vh;--vvh: 1vh;--kb: 0px;--jump-button-spacing: 12px}button,input,select,textarea{font-family:inherit}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}html{height:-webkit-fill-available;overflow:hidden;overscroll-behavior:none}body{min-height:100svh;height:100%;overflow:hidden;font-family:inherit;background:var(--paper);color:var(--text-primary);overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%}@media(max-width:768px){html,body{position:fixed;width:100%}}a{color:inherit}#app{height:100svh;height:calc(var(--vh, 1vh) * 100)}.app-layout{display:grid;grid-template-columns:280px 1fr;height:100svh;height:calc(var(--vh, 1vh) * 100)}.sidebar{background:var(--surface-200);color:var(--text-primary);display:flex;flex-direction:column;padding:24px;gap:24px}.sidebar .brand{font-size:20px;font-weight:600;letter-spacing:1px}.sidebar nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.sidebar a{color:var(--text-muted);text-decoration:none}.sidebar a.active{color:var(--text-primary);font-weight:600}.current-user{margin-top:auto;font-size:14px;background:#ffffff0a;padding:16px;border-radius:12px}.content{background:var(--paper);padding:24px;height:100%;overflow:hidden}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px;margin:0 auto;padding:24px 16px;min-height:100svh;min-height:calc(var(--vh, 1vh) * 100);align-content:center}.auth-brand{background:linear-gradient(145deg,#26170acc,#1d1d22f2);color:var(--text-primary);padding:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;border-radius:16px;box-shadow:var(--shadow-soft)}.auth-brand .subtitle{font-size:14px;color:var(--text-muted);text-align:center;opacity:.8}.auth-content{padding:48px;display:flex;flex-direction:column;gap:24px;background:var(--surface-200);border-radius:16px;box-shadow:var(--shadow-medium)}.auth-nav{display:flex;gap:24px}.auth-nav a,.auth-form label{text-decoration:none;font-weight:600;color:var(--text-muted)}.auth-nav a.active{color:var(--text-primary)}.auth-form{display:flex;flex-direction:column;gap:16px;max-width:360px}.auth-form input,.auth-form textarea,.auth-form select{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--surface-border);background:var(--surface-100);color:var(--text-primary);font-size:16px;transition:box-shadow .2s ease,border-color .2s ease,transform .1s ease}.auth-form button{background:linear-gradient(135deg,var(--brand),var(--brand-600));color:#fff;border:none;padding:14px 18px;border-radius:12px;font-size:16px;cursor:pointer;box-shadow:0 14px 32px #d9770659;transition:transform .1s ease,box-shadow .2s ease}.auth-form input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px #e38b0a2e}.auth-form button:hover{transform:translateY(-1px);box-shadow:0 20px 44px #d9770666}.auth-form button:active{transform:translateY(0);box-shadow:0 10px 24px #b453096b}.auth-error{color:#f87171;font-size:14px}.chats-page{display:grid;grid-template-columns:330px 1fr;grid-template-rows:1fr;height:100%;min-height:0;gap:24px}.chats-page>*{min-height:0}.chats-page.mobile-slider{display:block;grid-template-columns:unset;gap:0;position:relative;overflow:hidden}.chats-page.mobile-slider .slider-inner{display:flex;width:200vw;height:100%;transition:transform .3s ease}.chats-page.mobile-slider .slider-panel{flex:0 0 100vw;height:100%}.chats-page.mobile-slider .conversations-list,.chats-page.mobile-slider .messages-pane{width:100vw;height:100%;box-shadow:none;border-radius:0}.chats-page.mobile-slider .conversations-list{padding:16px}@media(max-width:768px){html,body,#app,.app-layout,.chats-page,.chats-page.mobile-slider,.chats-page.mobile-slider .slider-inner,.chats-page.mobile-slider .slider-panel,.messages-pane{height:calc(var(--vh, 1vh) * 100)!important;max-height:calc(var(--vh, 1vh) * 100)!important}.chats-page{display:block;padding:0}.conversations-list{border-radius:0;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;padding-bottom:max(16px,env(safe-area-inset-bottom))}.conversations-list:after{content:"";position:absolute;top:0;right:2px;bottom:0;width:2px;background:linear-gradient(#0000,var(--surface-border) 10%,var(--surface-border) 90%,#0000);opacity:.35;pointer-events:none}.messages-pane{border-radius:0;height:100svh;height:calc(var(--vh, 1vh) * 100)}.messages-pane header{padding:calc(12px + var(--safe-top)) 16px 12px}.msg-input-bar{position:sticky;bottom:0;background:var(--surface-200);z-index:5;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--surface-border)}.messages-container{padding-bottom:0}.messages-container>div{-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.jump-bottom{position:fixed;right:var(--jump-button-spacing);bottom:calc(env(safe-area-inset-bottom,0px) + 68px + var(--jump-button-spacing))}}.messages-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.msg{display:flex;align-items:flex-end;gap:8px;margin:0}.msg.compact{margin-top:2px}.msg.gap{margin-top:12px}.msg.left,.msg.them{justify-content:flex-start;width:100%}.msg.me{justify-content:flex-end;width:100%}.avatar-spacer{width:40px;flex:0 0 40px;height:0}.msg-bubble{max-width:70%;padding:10px 12px;border-radius:14px;position:relative;background:var(--bubble-bg, var(--surface-200));color:var(--bubble-fg, var(--text-primary));border:1px solid rgba(255,255,255,.04);box-shadow:0 2px 8px #00000040}.msg-menu{position:absolute;z-index:50;background:var(--surface-200);border:1px solid var(--surface-border);border-radius:10px;box-shadow:var(--shadow-sharp);padding:6px;display:flex;flex-direction:column;min-width:160px;color:#fff}.msg-menu button{background:transparent;border:0;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;color:#fff}.msg-menu button:hover{background:var(--surface-100)}.msg-bubble a{color:#ffc46b}.msg-bubble .msg-meta{margin-top:4px;font-size:11px;text-align:right}.btn{-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--surface-border);background:var(--surface-200);color:var(--text-primary);box-shadow:0 6px 14px #03030459;transition:transform .1s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;cursor:pointer}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px #03030473;background:var(--surface-300)}.btn:active{transform:translateY(0);box-shadow:0 6px 16px #03030480}.btn:focus-visible{outline:3px solid rgba(217,119,6,.45);outline-offset:2px}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 2px 6px #0000004d}.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn-primary:active{background:var(--brand-700);border-color:var(--brand-700)}.btn-secondary{background:var(--surface-100);color:var(--text-primary);border-color:var(--surface-border)}.btn-secondary:hover{background:var(--surface-300);border-color:var(--surface-border-strong)}.btn-ghost{background:transparent;border-color:transparent;color:var(--brand-600)}.btn-ghost:hover{background:#d977061f}.btn-icon{padding:8px;width:36px;height:36px;border-radius:10px}.btn-icon svg{width:18px;height:18px}.select{appearance:none;padding:10px 12px;border-radius:10px;border:1px solid var(--surface-border);background:var(--surface-100);color:var(--text-primary)}.select:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px #e38b0a2e}.tile{background:var(--surface-200);border-radius:12px;padding:10px;min-height:64px;display:flex;gap:10px;align-items:center;cursor:pointer;border:1.5px solid var(--surface-border-strong);transition:border-color .2s ease,box-shadow .2s ease,transform .1s ease;box-shadow:0 2px 8px #0000001f}.tile>div:first-child{flex-shrink:0}.tile:hover{border-color:var(--surface-border-strong);box-shadow:0 16px 36px #05060959;transform:translateY(-1px)}.tile:active{transform:translateY(0)}.conversations-scroll-container{padding:6px 0;background:var(--surface-200)}.imglb-root{position:fixed;inset:0;z-index:120;color:#fff}.imglb-backdrop{position:absolute;inset:0;background:radial-gradient(1200px 800px at 50% 40%,#0f12188c,#000000d1);-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}.imglb-topbar{position:absolute;left:0;right:0;top:0;height:56px;display:flex;align-items:center;gap:10px;padding:10px 14px;z-index:2;background:linear-gradient(to bottom,#0000008c,#0000)}.imglb-title{flex:1;text-align:center;font-weight:700;letter-spacing:.2px;opacity:.9}.imglb-actions{display:inline-flex;gap:8px;align-items:center}.imglb-spacer{width:38px;height:38px;flex:0 0 38px}.imglb-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#00000047;color:#fff;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease}.imglb-btn:hover{transform:translateY(-1px);background:#0000005c;border-color:#ffffff38}.imglb-btn:active{transform:translateY(0)}.imglb-btn:focus-visible{outline:3px solid rgba(255,255,255,.35);outline-offset:2px}.imglb-stage{position:absolute;inset:56px 0 var(--imglb-thumbs-h, 82px) 0;display:flex;align-items:center;justify-content:center;z-index:1;touch-action:none}.imglb-media{width:min(98vw,1600px);height:min(86vh,980px);display:flex;align-items:center;justify-content:center;overflow:visible;border-radius:14px}.imglb-pan{will-change:transform}.imglb-img{will-change:transform;transform-origin:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:12px;box-shadow:0 10px 50px #00000073}.imglb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#00000047;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:transform .12s ease,background .15s ease,opacity .2s ease;opacity:.95}.imglb-nav:hover{background:#00000061}.imglb-nav-left{left:16px}.imglb-nav-right{right:16px}.imglb-thumbs{position:absolute;left:0;right:0;bottom:0;height:var(--imglb-thumbs-h, 82px);padding:10px 14px 12px;z-index:2;background:linear-gradient(to top,#0000008c,#0000)}.imglb-thumbs-inner{height:100%;display:flex;gap:8px;align-items:center;justify-content:center;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding-bottom:6px;padding-inline:18px}.imglb-thumb{width:clamp(60px,calc(var(--imglb-thumbs-h, 82px) - 22px),140px);height:clamp(60px,calc(var(--imglb-thumbs-h, 82px) - 22px),140px);padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#0000002e;overflow:hidden;cursor:pointer;flex:0 0 auto}.imglb-thumb img{width:100%;height:100%;object-fit:cover;display:block}.imglb-thumb.is-active{border-color:#ffc46bf2;box-shadow:0 0 0 2px #ffc46b38}@media(max-width:768px){.imglb-media{width:98vw;height:78vh;border-radius:12px}.imglb-nav{display:none}.imglb-stage{inset:56px 0 var(--imglb-thumbs-h, 72px) 0}.imglb-thumbs{height:72px;padding:8px 12px 10px}.imglb-thumb{width:52px;height:52px;border-radius:10px}}.msg-bubble.left,.msg-bubble.them{--bubble-bg: #191d23;--bubble-fg: #f1f3f6}.msg-bubble.me{--bubble-bg: #303845;--bubble-fg: #f1f3f6}.msg-bubble.tail-left:after,.msg-bubble.tail-right:after{content:"";position:absolute;bottom:0;width:0;height:0;border:8px solid transparent}.msg-bubble.tail-left:after{left:-4px;border-right-color:var(--bubble-bg, #191d23);border-left-width:0;margin-bottom:6px}.msg-bubble.tail-right:after{right:-4px;border-left-color:var(--bubble-bg, #303845);border-right-width:0;margin-bottom:6px}.contacts-page header{display:flex;justify-content:space-between;align-items:center}.contacts-page ul{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:12px}.contacts-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0c109e;-webkit-backdrop-filter:blur(6px) saturate(115%);backdrop-filter:blur(6px) saturate(115%)}.contacts-modal{width:min(560px,92vw);max-height:min(760px,88vh);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;border:1px solid var(--surface-border);background:var(--surface-200);color:var(--text-primary);box-shadow:var(--shadow-sharp)}.contacts-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid var(--surface-border);background:linear-gradient(to bottom,#ffffff08,#fff0)}.contacts-modal__title{font-weight:800;letter-spacing:.2px;font-size:16px}.contacts-modal__body{padding:14px;overflow:auto;display:flex;flex-direction:column;gap:14px}.contacts-section{display:flex;flex-direction:column;gap:10px}.contacts-section__title{font-weight:750;font-size:14px}.contacts-section__hint{color:var(--text-muted);font-size:12px;margin-top:-6px}.contacts-section__list{display:flex;flex-direction:column;gap:8px}.contacts-search-toggle{-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--surface-border);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .15s ease,border-color .15s ease}.contacts-search-toggle:hover{background:var(--surface-100);border-color:var(--surface-border-strong)}.contacts-search-toggle:focus-visible{outline:3px solid rgba(255,255,255,.14);outline-offset:2px}.contacts-search-toggle__label{font-weight:700;font-size:13px}.contacts-search-toggle__right{display:inline-flex;align-items:center;gap:10px}.contacts-search-toggle__meta{font-size:12px;color:var(--text-muted)}.contacts-search-toggle__chev{color:var(--text-muted);transition:transform .15s ease}.contacts-search-toggle__chev.is-open{transform:rotate(180deg)}.contacts-modal .tile{cursor:default}.contacts-modal .tile:hover{transform:none;box-shadow:0 10px 22px #0506093d}.contacts-tile__main{display:flex;flex-direction:column;gap:2px;min-width:0}.contacts-tile__name{font-weight:700;line-height:1.15}.contacts-tile__meta{font-size:12px;color:var(--text-muted)}.contacts-nav-item{-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--surface-border);background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.contacts-nav-item:hover{background:var(--surface-100);border-color:var(--surface-border-strong)}.contacts-nav-item:active{background:#ffffff08}.contacts-nav-item:focus-visible{outline:3px solid rgba(255,255,255,.14);outline-offset:2px}.contacts-nav-item.is-active{border-color:var(--brand-600);background:#e38b0a0f;box-shadow:0 0 0 3px #e38b0a1a}.contacts-nav-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.contacts-nav-item__name-row{display:flex;align-items:center;gap:8px;min-width:0}.contacts-nav-item__name{font-weight:750;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-nav-item__status{font-size:12px;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-secret-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1px solid var(--surface-border);background:#ffffff08;color:var(--text-muted);flex:0 0 auto;position:relative}.contacts-secret-badge.is-pending:after{content:"";position:absolute;right:3px;top:3px;width:6px;height:6px;border-radius:999px;background:#ffffff8c}.contacts-menu-btn{-webkit-tap-highlight-color:transparent;flex:0 0 auto;width:36px;height:36px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.contacts-menu-btn:hover{background:var(--surface-100);border-color:var(--surface-border);color:var(--text-primary)}.contacts-menu-btn:focus-visible{outline:3px solid rgba(255,255,255,.14);outline-offset:2px}.contacts-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.contacts-actions .btn{padding:9px 12px}.contacts-eblid__inputs{display:flex;gap:10px;justify-content:center;padding:2px 0}.contacts-eblid__digit{width:54px;height:58px;font-size:22px;font-weight:750;text-align:center;border-radius:12px;border:1px solid var(--surface-border);background:var(--surface-100);color:var(--text-primary);box-shadow:0 2px 10px #00000024;transition:border-color .15s ease,box-shadow .15s ease,transform .08s ease}.contacts-eblid__digit:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px #e38b0a2e,0 10px 22px #00000038;transform:translateY(-1px)}.contacts-my-eblid{display:flex;align-items:center;gap:10px;padding-top:2px}.contacts-my-eblid__label{font-size:12px;color:var(--text-muted)}.contacts-my-eblid__value{font-weight:900;letter-spacing:.28em;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.contacts-friends__list{max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.contacts-empty{color:var(--text-muted);font-size:13px;padding:10px 10px 4px}.contacts-menu-overlay{position:fixed;inset:0;z-index:80;background:transparent}.ctx-menu{z-index:81;background:var(--surface-200);border:1px solid var(--surface-border);border-radius:12px;box-shadow:var(--shadow-sharp);padding:6px;display:flex;flex-direction:column;min-width:220px;color:var(--text-primary)}.ctx-menu button{background:transparent;border:0;text-align:left;padding:10px;border-radius:10px;cursor:pointer;color:var(--text-primary);font-weight:550}.ctx-menu button:hover{background:var(--surface-100)}.ctx-menu button:focus-visible{outline:3px solid rgba(255,255,255,.14);outline-offset:2px}.ctx-menu__danger{color:#f87171!important}.ctx-menu__danger:hover{background:#f871711a!important}.profile-overlay{position:fixed;inset:0;z-index:110;background:#0a0c109e;-webkit-backdrop-filter:blur(6px) saturate(115%);backdrop-filter:blur(6px) saturate(115%);display:flex;align-items:stretch;justify-content:flex-end;padding:0;opacity:0;transition:opacity .16s ease}.profile-overlay.is-open{opacity:1}.profile-surface{height:100%;background:var(--surface-200);border-left:1px solid var(--surface-border);box-shadow:var(--shadow-sharp);overflow:hidden;display:flex;flex-direction:column;transform:translate(100%);transition:transform .16s ease;width:min(420px,96vw)}.profile-overlay.is-open .profile-surface--panel{transform:translate(0)}.profile-overlay--sheet{justify-content:center;align-items:flex-end;padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.profile-surface--sheet{width:min(520px,100vw);max-height:calc(var(--vh, 1vh) * 96);border-radius:18px;border:1px solid var(--surface-border);transform:translateY(18px)}.profile-overlay.is-open .profile-surface--sheet{transform:translateY(0)}@media(max-width:768px){.profile-overlay--sheet{padding:0}.profile-surface--sheet{width:100vw;height:calc(var(--vh, 1vh) * 100);max-height:calc(var(--vh, 1vh) * 100);border-radius:0;border-left:none;border-right:none;border-bottom:none}}.profile-sticky{position:sticky;top:0;z-index:2;background:var(--surface-200)}.profile-header{padding:18px 18px 12px;border-bottom:1px solid var(--surface-border);background:linear-gradient(to bottom,#ffffff08,#fff0)}.profile-header__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-header__avatar{flex:0 0 auto}.profile-close{margin-left:auto}.profile-header__main{margin-top:10px}.profile-header__name{font-size:20px;font-weight:800;letter-spacing:.2px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-header__status{margin-top:4px;font-size:13px;color:var(--text-muted)}.profile-header__idrow{margin-top:12px;display:flex;gap:10px;align-items:center;justify-content:space-between}.profile-header__idtext{min-width:0;display:flex;gap:8px;align-items:baseline}.profile-header__idlabel{font-size:12px;color:var(--text-muted)}.profile-header__idvalue{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:.12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-actions{padding:12px 18px 14px;display:grid;gap:10px;border-bottom:1px solid var(--surface-border)}.profile-actions .btn{min-height:46px}.profile-actions__secret{border:1px solid var(--surface-border);border-radius:14px;padding:10px;background:#ffffff05;display:grid;gap:10px}.profile-actions__secret-state{font-size:13px;color:var(--text-muted)}.profile-actions__request{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-actions__request .btn{min-height:46px}.profile-body{padding:14px 18px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:0}.profile-section{border:1px solid var(--surface-border);border-radius:14px;overflow:hidden;background:#ffffff05}.profile-section__toggle{width:100%;background:transparent;border:0;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;padding:12px;cursor:pointer}.profile-section__toggle:hover{background:#ffffff08}.profile-section__title{font-weight:750;font-size:13px}.profile-section__chev{color:var(--text-muted);transition:transform .16s ease}.profile-section__chev.is-open{transform:rotate(180deg)}.profile-section__content{display:none;padding:12px;border-top:1px solid var(--surface-border)}.profile-section__content.is-open{display:block}.profile-kv{display:flex;flex-direction:column;gap:10px}.profile-kv__row{display:grid;grid-template-columns:140px 1fr;gap:10px}.profile-kv__k{font-size:12px;color:var(--text-muted)}.profile-kv__v{font-size:13px;color:var(--text-primary);min-width:0}.profile-kv__v--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums}.profile-kv__v--multiline{white-space:pre-wrap;line-height:1.35}.profile-empty{color:var(--text-muted);font-size:13px;padding:2px 0}.profile-muted{color:var(--text-muted);font-size:12px;padding-top:8px}.profile-list{display:flex;flex-direction:column;gap:8px}.profile-list__item{padding:10px;border-radius:12px;border:1px solid var(--surface-border);background:var(--surface-100)}.profile-list__title{font-weight:650;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-danger{margin-top:6px;border-top:1px solid var(--surface-border);padding-top:14px}.profile-danger__title{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-weight:700;font-size:12px;margin-bottom:10px}.profile-danger__actions{display:grid;gap:10px}.profile-danger__btn{min-height:46px;justify-content:flex-start}.profile-danger__btn--muted{color:var(--text-primary)}.profile-danger__btn--danger{color:#f87171;border-color:#f8717159;background:#f871710f}.profile-danger__btn--danger:hover{background:#f871711a}.profile-confirm{position:fixed;inset:0;z-index:130;background:#0a0c1099;-webkit-backdrop-filter:blur(4px) saturate(110%);backdrop-filter:blur(4px) saturate(110%);display:flex;align-items:center;justify-content:center;padding:16px}.profile-confirm__surface{width:min(520px,96vw);background:var(--surface-200);border:1px solid var(--surface-border);border-radius:16px;box-shadow:var(--shadow-medium);padding:16px;color:var(--text-primary)}.profile-confirm__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.profile-confirm__title{font-weight:800;font-size:16px}.profile-confirm__text{color:var(--text-muted);font-size:13px;line-height:1.45;margin-bottom:14px}.profile-confirm__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.profile-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);transform:translate(-50%);z-index:140;padding:10px 12px;border-radius:12px;border:1px solid var(--surface-border);background:#1b1f27eb;color:var(--text-primary);box-shadow:var(--shadow-sharp);font-size:13px}.profile-skeleton{padding:18px;display:grid;gap:12px}.profile-skeleton__header,.profile-skeleton__actions,.profile-skeleton__block{border-radius:14px;border:1px solid var(--surface-border);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 37%,#ffffff0a 63%);background-size:400% 100%;animation:eb-shimmer 1.2s ease-in-out infinite}.profile-skeleton__header{height:180px}.profile-skeleton__actions{height:170px}.profile-skeleton__block{height:120px}.profile-error{padding:18px;display:flex;flex-direction:column;gap:10px;height:100%}.profile-error__title{font-weight:850;font-size:16px}.profile-error__text{color:var(--text-muted);font-size:13px;line-height:1.45}.profile-error__actions{margin-top:6px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:480px){.contacts-overlay{padding:10px}.contacts-modal{width:94vw;border-radius:16px}.contacts-modal__body{padding:12px}.contacts-eblid__inputs{gap:8px}.contacts-eblid__digit{width:46px;height:52px;border-radius:12px;font-size:20px}.contacts-friends__list{max-height:42vh}}.settings-page form{display:flex;flex-direction:column;gap:16px;max-width:420px}.conversations-list{background:var(--surface-200);border-radius:16px;box-shadow:var(--shadow-medium);padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--surface-border);position:relative}.messages-pane{background:var(--surface-200);border-radius:16px;box-shadow:var(--shadow-medium);display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--surface-border);position:relative}.jump-bottom{position:absolute;right:var(--jump-button-spacing);bottom:calc(68px + var(--jump-button-spacing));width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;border:none;font-size:20px;font-weight:600;cursor:pointer;box-shadow:0 8px 24px #d9770666;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease,box-shadow .2s ease,background .2s ease;z-index:10}.jump-bottom--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.jump-bottom:hover{background:var(--brand-600);transform:translateY(-2px);box-shadow:0 12px 32px #e38b0a80}.jump-bottom:active{transform:translateY(0);box-shadow:0 6px 16px #b4530973}@media(max-width:768px){.conversations-list,.messages-pane{border:none;box-shadow:none}}.conversations-list{display:flex;flex-direction:column}.conversations-list .conv-footer{margin-top:auto;padding-bottom:4px}.messages-pane{display:flex;flex-direction:column}.msg-input-bar{position:sticky;bottom:0;background:var(--surface-200);z-index:5;padding:12px 16px;border-top:1px solid var(--surface-border)}.logo{font-family:Golos Text,Manrope,Inter,system-ui,sans-serif;font-weight:800;font-size:35pt;line-height:1;color:#f4e8c9;display:inline-flex;align-items:baseline;gap:0}.logo .b{color:#e25c2a;display:inline-block;transform-origin:50% 50%;animation:flipY 5s infinite ease-in-out;will-change:transform}@keyframes flipY{0%,85%{transform:rotateY(0)}90%{transform:rotateY(180deg)}95%,to{transform:rotateY(360deg)}}.subtitle{font:400 10pt/1.2 Golos Text,Manrope,Inter,system-ui,sans-serif;color:#9aa3a8;text-align:center;margin-top:5px}@media(prefers-reduced-motion:reduce){.logo .b{animation:none}}@media(max-width:768px){.messages-pane header{flex-wrap:wrap;gap:8px}.msg-bubble{max-width:calc(100vw - 72px)}.content{padding:0}}.msg-bubble img{max-width:100%;height:auto}@media(min-width:769px){.msg-bubble img{max-width:480px}}.msg-media-grid{margin-top:8px;border-radius:10px;overflow:hidden;display:flex;gap:4px;background:var(--surface-100);border:1px solid var(--surface-border);position:relative}.msg-media-col{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 0}.msg-media-tile{position:relative;width:100%;height:100%;padding:0;border:0;background:transparent;line-height:0;cursor:zoom-in;overflow:hidden}.msg-media-tile[disabled]{cursor:default;opacity:.9}.msg-media-tile img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;display:block;background:var(--surface-100)}.msg-media-overlay{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:var(--surface-100);display:flex;align-items:center;justify-content:center;z-index:2}.msg-media-overlay-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.1) 37%,transparent 63%);background-size:400% 100%;animation:eb-shimmer 1.2s ease-in-out infinite}.msg-media-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-size:28px;font-weight:700;z-index:3}.msg-media-meta{position:absolute;right:10px;bottom:8px;z-index:5;font-size:12px;font-weight:600;color:#fffffff5;text-shadow:0 2px 10px rgba(0,0,0,.8);pointer-events:none;display:inline-flex;gap:6px;align-items:center;padding:3px 6px;border-radius:10px;background:#00000047;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes eb-shimmer{0%{background-position:-400% 0}to{background-position:400% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(min-width:769px){.messages-pane header{margin:12px;padding:12px 16px;background:var(--surface-200);border:1px solid var(--surface-border);border-radius:12px;box-shadow:0 12px 30px #05060959;border-bottom:none}}.call-container{background:var(--surface-200);border:1px solid var(--surface-border);box-shadow:var(--shadow-sharp);border-radius:16px}@media(max-width:768px){.call-overlay{position:fixed;inset:0}.call-container{width:100vw!important;height:80svh!important;height:calc(var(--vh, 1vh) * 80)!important;border-radius:0!important;max-width:none!important}.call-container>*{width:100%!important;height:100%!important}.call-container .lk-room-container,.call-container .lk-video-conference{width:100%!important;height:100%!important}.call-container video{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#000}.call-container .lk-room-container,.call-container .lk-video-conference,.call-container .lk-layout{background:var(--surface-200)!important}}@media(max-width:768px){.auth-layout{display:block;max-width:560px;padding:16px;margin:16px auto}.auth-brand{display:none}.auth-content{padding:24px;border-radius:16px;box-shadow:var(--shadow-medium);align-items:center;background:var(--surface-200)}.auth-mobile-logo{display:flex;justify-content:center;margin-bottom:12px;align-items:center}.auth-nav{justify-content:center}.auth-content h2,.auth-form{width:100%;max-width:360px}.auth-form{align-items:stretch}}.auth-form h2,.auth-content h2{margin:0 0 8px}@media(max-width:768px){.auth-content h2{width:100%;text-align:center}}.auth-mobile-logo{display:none}@media(max-width:768px){.auth-mobile-logo{display:flex;justify-content:center;margin-bottom:12px;align-items:center}}*{scrollbar-width:thin;scrollbar-color:var(--surface-border) var(--surface-100)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--surface-100);border-radius:4px}*::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:4px;border:1px solid var(--surface-100)}*::-webkit-scrollbar-thumb:hover{background:var(--surface-border-strong)}input[type=text][placeholder="Напишите сообщение..."],textarea[placeholder="Напишите сообщение..."]{background:var(--surface-100)!important;color:var(--text-primary)!important;border:1px solid var(--surface-border)!important}input[type=text][placeholder="Напишите сообщение..."]:focus,textarea[placeholder="Напишите сообщение..."]:focus{outline:none!important;border-color:var(--brand-600)!important;box-shadow:0 0 0 3px #d9770626!important}input[type=text][placeholder="Напишите сообщение..."]::placeholder,textarea[placeholder="Напишите сообщение..."]::placeholder{color:var(--text-muted)!important;opacity:.7}@keyframes reactionPop{0%{transform:scale(0) rotate(-10deg);opacity:0}50%{transform:scale(1.3) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes reactionBounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-4px) scale(1.1)}50%{transform:translateY(-2px) scale(1.05)}75%{transform:translateY(-1px) scale(1.02)}}@keyframes reactionPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.reaction-emoji{animation:reactionBounce .6s ease;transition:transform .2s ease}.reaction-emoji:hover{animation:reactionPulse .6s ease infinite;transform:scale(1.1)}.page-loading{display:flex;justify-content:center;align-items:center;width:100%;height:100vh;height:calc(var(--vh, 1vh) * 100);position:fixed;inset:0;z-index:9999;background:var(--paper)}.call-container .lk-control-bar button[data-lk-source=microphone]>svg,.call-container .lk-control-bar button[data-lk-source=camera]>svg,.call-container .lk-control-bar button[data-lk-source=screen_share]>svg,.call-container .lk-control-bar button.lk-settings-toggle>svg,.call-container .lk-control-bar button.lk-disconnect-button>svg{display:none!important}.call-container .lk-control-bar button[data-lk-source=microphone],.call-container .lk-control-bar button[data-lk-source=camera],.call-container .lk-control-bar button[data-lk-source=screen_share],.call-container .lk-control-bar button.lk-settings-toggle,.call-container .lk-control-bar button.lk-disconnect-button{--eb-call-icon: none}.call-container .lk-control-bar button[data-lk-source=microphone]:before,.call-container .lk-control-bar button[data-lk-source=camera]:before,.call-container .lk-control-bar button[data-lk-source=screen_share]:before,.call-container .lk-control-bar button.lk-settings-toggle:before,.call-container .lk-control-bar button.lk-disconnect-button:before{content:"";width:18px;height:18px;flex:0 0 auto;background-image:var(--eb-call-icon);background-repeat:no-repeat;background-position:center;background-size:contain}.call-container .lk-control-bar button[data-lk-source=microphone][data-lk-enabled=true]{--eb-call-icon: url(/call-icons/mic-on.svg)}.call-container .lk-control-bar button[data-lk-source=microphone][data-lk-enabled=false]{--eb-call-icon: url(/call-icons/mic-off.svg)}.call-container .lk-control-bar button[data-lk-source=camera][data-lk-enabled=true]{--eb-call-icon: url(/call-icons/cam-on.svg)}.call-container .lk-control-bar button[data-lk-source=camera][data-lk-enabled=false]{--eb-call-icon: url(/call-icons/cam-off.svg)}.call-container .lk-control-bar button[data-lk-source=screen_share][data-lk-enabled=true]{--eb-call-icon: url(/call-icons/screen-off.svg)}.call-container .lk-control-bar button[data-lk-source=screen_share][data-lk-enabled=false]{--eb-call-icon: url(/call-icons/screen-on.svg)}.call-container .lk-control-bar button.lk-settings-toggle{--eb-call-icon: url(/call-icons/settings.svg)}.call-container .lk-control-bar button.lk-disconnect-button{--eb-call-icon: url(/call-icons/leave.svg)}.eb-loader{width:160px;height:160px;display:flex;justify-content:center;align-items:center;perspective:900px}.eb-coin{width:130px;height:130px;border-radius:50%;background:#1c1f26;border:3px solid var(--brand);display:flex;justify-content:center;align-items:center;font-size:60px;font-weight:900;color:#e4e6eb;transform-style:preserve-3d;animation:eb-spin 2.4s linear infinite}.eb-b{color:var(--brand)}@keyframes eb-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}
